X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fshared%2Fshared-main%2Fvideo-channel%2Fvideo-channel.model.ts;h=4f1f5b65de8358b68176a1a7d4e881b45abd0ac7;hb=c418d483004dfbae9ea38d54aa1577db46d34a8a;hp=123389afbc3bd02aefd7b0431d278a1cb4d5d96e;hpb=18490b07650d77d7fe376970b749af5a8c672fd6;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/shared/shared-main/video-channel/video-channel.model.ts b/client/src/app/shared/shared-main/video-channel/video-channel.model.ts index 123389afb..4f1f5b65d 100644 --- a/client/src/app/shared/shared-main/video-channel/video-channel.model.ts +++ b/client/src/app/shared/shared-main/video-channel/video-channel.model.ts @@ -1,4 +1,4 @@ -import { VideoChannel as ServerVideoChannel, ViewsPerDate, Account } from '@shared/models' +import { VideoChannel as ServerVideoChannel, ViewsPerDate, Account, Avatar } from '@shared/models' import { Actor } from '../account/actor.model' export class VideoChannel extends Actor implements ServerVideoChannel { @@ -17,9 +17,19 @@ export class VideoChannel extends Actor implements ServerVideoChannel { viewsPerDay?: ViewsPerDate[] + static GET_ACTOR_AVATAR_URL (actor: object) { + return Actor.GET_ACTOR_AVATAR_URL(actor) || this.GET_DEFAULT_AVATAR_URL() + } + + static GET_DEFAULT_AVATAR_URL () { + return `${window.location.origin}/client/assets/images/default-avatar-videochannel.png` + } + constructor (hash: ServerVideoChannel) { super(hash) + this.updateComputedAttributes() + this.displayName = hash.displayName this.description = hash.description this.support = hash.support @@ -39,4 +49,14 @@ export class VideoChannel extends Actor implements ServerVideoChannel { this.ownerAvatarUrl = Actor.GET_ACTOR_AVATAR_URL(this.ownerAccount) } } + + updateAvatar (newAvatar: Avatar) { + this.avatar = newAvatar + + this.updateComputedAttributes() + } + + private updateComputedAttributes () { + this.avatarUrl = VideoChannel.GET_ACTOR_AVATAR_URL(this) + } }