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=89a04c07893525ee5fc0627ba98336499507736d;hb=d573926e9b94fb19c8f51c53f71fc853182e1761;hp=519bdfab4fb8055c567de22012b8d22c401bc6a9;hpb=88108880bbdba473cfe36ecbebc1c3c4f972e102;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 519bdfab4..89a04c078 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,10 @@ +import { debounce } from 'lodash-es' +import { Subject } from 'rxjs' import { Component, Input, OnInit } from '@angular/core' -import { User } from '@app/shared' +import { Notifier, ServerService, User } from '@app/core' +import { UserNotificationService } from '@app/shared/shared-main' 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 { UserNotificationSetting, UserNotificationSettingValue, UserRight } from '@shared/models' @Component({ selector: 'my-account-notification-preferences', @@ -21,7 +20,7 @@ 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) @@ -34,25 +33,36 @@ export class MyAccountNotificationPreferencesComponent implements OnInit { this.labelNotifications = { newVideoFromSubscription: this.i18n('New video from your subscriptions'), newCommentOnMyVideo: this.i18n('New comment on your video'), - videoAbuseAsModerator: this.i18n('New video abuse on local video'), - blacklistOnMyVideo: this.i18n('One of your video is blacklisted/unblacklisted'), + abuseAsModerator: this.i18n('New abuse'), + videoAutoBlacklistAsModerator: this.i18n('Video blocked automatically waiting review'), + blacklistOnMyVideo: this.i18n('One of your video is blocked/unblocked'), 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') + commentMention: this.i18n('Someone mentioned you in video comments'), + newInstanceFollower: this.i18n('Your instance has a new follower'), + autoInstanceFollowing: this.i18n('Your instance auto followed another instance'), + abuseNewMessage: this.i18n('An abuse received a new message'), + abuseStateChange: this.i18n('One of your abuse 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()) }