X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2F%2Bmy-account%2Fmy-account-settings%2Fmy-account-notification-preferences%2Fmy-account-notification-preferences.component.ts;h=bcbea7fad1e608bacdf49089d7156d3373cca8d5;hb=66357162f8e1227495f09bd4f68446aad7071c6d;hp=8d4f2c83719912cd1f9c03a732762a73cad216dd;hpb=1e17071bacc8a78c9145ba602113b1b52dd8fe7b;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts b/client/src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts index 8d4f2c837..bcbea7fad 100644 --- a/client/src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts +++ b/client/src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts @@ -1,11 +1,9 @@ -import { Component, Input, OnInit } from '@angular/core' -import { User } from '@app/shared' -import { I18n } from '@ngx-translate/i18n-polyfill' -import { Subject } from 'rxjs' -import { UserNotificationSetting, UserNotificationSettingValue, UserRight } from '../../../../../../shared' -import { Notifier, ServerService } from '@app/core' import { debounce } from 'lodash-es' -import { UserNotificationService } from '@app/shared/users/user-notification.service' +import { Subject } from 'rxjs' +import { Component, Input, OnInit } from '@angular/core' +import { Notifier, ServerService, User } from '@app/core' +import { UserNotificationService } from '@app/shared/shared-main' +import { UserNotificationSetting, UserNotificationSettingValue, UserRight } from '@shared/models' @Component({ selector: 'my-account-notification-preferences', @@ -21,38 +19,48 @@ export class MyAccountNotificationPreferencesComponent implements OnInit { webNotifications: { [ id in keyof UserNotificationSetting ]: boolean } = {} as any labelNotifications: { [ id in keyof UserNotificationSetting ]: string } = {} as any rightNotifications: { [ id in keyof Partial ]: UserRight } = {} as any - emailEnabled: boolean + emailEnabled = false private savePreferences = debounce(this.savePreferencesImpl.bind(this), 500) constructor ( - private i18n: I18n, private userNotificationService: UserNotificationService, private serverService: ServerService, private notifier: Notifier ) { this.labelNotifications = { - newVideoFromSubscription: this.i18n('New video from your subscriptions'), - newCommentOnMyVideo: this.i18n('New comment on your video'), - videoAbuseAsModerator: this.i18n('New video abuse'), - blacklistOnMyVideo: this.i18n('One of your video is blacklisted/unblacklisted'), - myVideoPublished: this.i18n('Video published (after transcoding/scheduled update)'), - myVideoImportFinished: this.i18n('Video import finished'), - newUserRegistration: this.i18n('A new user registered on your instance'), - newFollow: this.i18n('You or your channel(s) has a new follower'), - commentMention: this.i18n('Someone mentioned you in video comments') + newVideoFromSubscription: $localize`New video from your subscriptions`, + newCommentOnMyVideo: $localize`New comment on your video`, + abuseAsModerator: $localize`New abuse`, + videoAutoBlacklistAsModerator: $localize`Video blocked automatically waiting review`, + blacklistOnMyVideo: $localize`One of your video is blocked/unblocked`, + myVideoPublished: $localize`Video published (after transcoding/scheduled update)`, + myVideoImportFinished: $localize`Video import finished`, + newUserRegistration: $localize`A new user registered on your instance`, + newFollow: $localize`You or your channel(s) has a new follower`, + commentMention: $localize`Someone mentioned you in video comments`, + newInstanceFollower: $localize`Your instance has a new follower`, + autoInstanceFollowing: $localize`Your instance automatically followed another instance`, + abuseNewMessage: $localize`An abuse report received a new message`, + abuseStateChange: $localize`One of your abuse reports has been accepted or rejected by moderators` } this.notificationSettingKeys = Object.keys(this.labelNotifications) as (keyof UserNotificationSetting)[] this.rightNotifications = { - videoAbuseAsModerator: UserRight.MANAGE_VIDEO_ABUSES, - newUserRegistration: UserRight.MANAGE_USERS + abuseAsModerator: UserRight.MANAGE_ABUSES, + videoAutoBlacklistAsModerator: UserRight.MANAGE_VIDEO_BLACKLIST, + newUserRegistration: UserRight.MANAGE_USERS, + newInstanceFollower: UserRight.MANAGE_SERVER_FOLLOW, + autoInstanceFollowing: UserRight.MANAGE_CONFIGURATION } - - this.emailEnabled = this.serverService.getConfig().email.enabled } ngOnInit () { + this.serverService.getConfig() + .subscribe(config => { + this.emailEnabled = config.email.enabled + }) + this.userInformationLoaded.subscribe(() => this.loadNotificationSettings()) } @@ -81,7 +89,7 @@ export class MyAccountNotificationPreferencesComponent implements OnInit { this.userNotificationService.updateNotificationSettings(this.user, this.user.notificationSettings) .subscribe( () => { - this.notifier.success(this.i18n('Preferences saved'), undefined, 2000) + this.notifier.success($localize`Preferences saved`, undefined, 2000) }, err => this.notifier.error(err.message)