]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/app/shared/shared-main/users/user-notification.model.ts
Increase theme compatibility
[github/Chocobozzz/PeerTube.git] / client / src / app / shared / shared-main / users / user-notification.model.ts
index c80bc13b0d92ffb5a8e40c1f69359fcf101a31bc..96e7b4dd04430a5dbac9ab4d505c9185dbb5b24e 100644 (file)
@@ -2,6 +2,7 @@ import { AuthUser } from '@app/core'
 import { Account } from '@app/shared/shared-main/account/account.model'
 import { Actor } from '@app/shared/shared-main/account/actor.model'
 import { VideoChannel } from '@app/shared/shared-main/video-channel/video-channel.model'
+import { logger } from '@root-helpers/logger'
 import {
   AbuseState,
   ActorInfo,
@@ -12,6 +13,7 @@ import {
   UserRight,
   VideoInfo
 } from '@shared/models'
+import { Video } from '../video'
 
 export class UserNotification implements UserNotificationServer {
   id: number
@@ -46,11 +48,7 @@ export class UserNotification implements UserNotificationServer {
     comment?: {
       threadId: number
 
-      video: {
-        id: number
-        uuid: string
-        name: string
-      }
+      video: VideoInfo
     }
 
     account?: ActorInfo
@@ -85,6 +83,11 @@ export class UserNotification implements UserNotificationServer {
     latestVersion: string
   }
 
+  registration?: {
+    id: number
+    username: string
+  }
+
   createdAt: string
   updatedAt: string
 
@@ -99,6 +102,8 @@ export class UserNotification implements UserNotificationServer {
 
   accountUrl?: string
 
+  registrationsUrl?: string
+
   videoImportIdentifier?: string
   videoImportUrl?: string
 
@@ -137,6 +142,7 @@ export class UserNotification implements UserNotificationServer {
 
       this.plugin = hash.plugin
       this.peertube = hash.peertube
+      this.registration = hash.registration
 
       this.createdAt = hash.createdAt
       this.updatedAt = hash.updatedAt
@@ -210,6 +216,10 @@ export class UserNotification implements UserNotificationServer {
           this.accountUrl = this.buildAccountUrl(this.account)
           break
 
+        case UserNotificationType.NEW_USER_REGISTRATION_REQUEST:
+          this.registrationsUrl = '/admin/moderation/registrations/list'
+          break
+
         case UserNotificationType.NEW_FOLLOW:
           this.accountUrl = this.buildAccountUrl(this.actorFollow.follower)
           break
@@ -230,15 +240,19 @@ export class UserNotification implements UserNotificationServer {
           this.pluginUrl = `/admin/plugins/list-installed`
           this.pluginQueryParams.pluginType = this.plugin.type + ''
           break
+
+        case UserNotificationType.MY_VIDEO_STUDIO_EDITION_FINISHED:
+          this.videoUrl = this.buildVideoUrl(this.video)
+          break
       }
     } catch (err) {
       this.type = null
-      console.error(err)
+      logger.error(err)
     }
   }
 
   private buildVideoUrl (video: { uuid: string }) {
-    return '/w/' + video.uuid
+    return Video.buildWatchUrl(video)
   }
 
   private buildAccountUrl (account: { name: string, host: string }) {
@@ -257,11 +271,11 @@ export class UserNotification implements UserNotificationServer {
     return [ this.buildVideoUrl(comment.video), { threadId: comment.threadId } ]
   }
 
-  private setAccountAvatarUrl (actor: { avatarUrl?: string, avatar?: { url?: string, path: string } }) {
-    actor.avatarUrl = Account.GET_ACTOR_AVATAR_URL(actor) || Account.GET_DEFAULT_AVATAR_URL()
+  private setAccountAvatarUrl (actor: { avatarUrl?: string, avatars: { width: number, url?: string, path: string }[] }) {
+    actor.avatarUrl = VideoChannel.GET_ACTOR_AVATAR_URL(actor, 48) || Account.GET_DEFAULT_AVATAR_URL(48)
   }
 
-  private setVideoChannelAvatarUrl (actor: { avatarUrl?: string, avatar?: { url?: string, path: string } }) {
-    actor.avatarUrl = VideoChannel.GET_ACTOR_AVATAR_URL(actor) || VideoChannel.GET_DEFAULT_AVATAR_URL()
+  private setVideoChannelAvatarUrl (actor: { avatarUrl?: string, avatars: { width: number, url?: string, path: string }[] }) {
+    actor.avatarUrl = VideoChannel.GET_ACTOR_AVATAR_URL(actor, 48) || VideoChannel.GET_DEFAULT_AVATAR_URL(48)
   }
 }