X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fshared%2Fshared-main%2Faccount%2Faccount.model.ts;h=e34f6ef642ff7e2cd720abd9179409d2f903a613;hb=04c2dcfc6b78c7e8714597f9d5370b6b2c87dece;hp=65e6798d44decf2badb892bb3d7e3aa6f14fef35;hpb=126a6352ec2b088bb1d7f882991045a3ad0d7aea;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/shared/shared-main/account/account.model.ts b/client/src/app/shared/shared-main/account/account.model.ts index 65e6798d4..e34f6ef64 100644 --- a/client/src/app/shared/shared-main/account/account.model.ts +++ b/client/src/app/shared/shared-main/account/account.model.ts @@ -1,11 +1,15 @@ -import { Account as ServerAccount, Actor as ServerActor, ActorImage } from '@shared/models' +import { Account as ServerAccount, ActorImage, BlockStatus } from '@shared/models' import { Actor } from './actor.model' export class Account extends Actor implements ServerAccount { displayName: string description: string + + updatedAt: Date | string + nameWithHost: string nameWithHostForced: string + mutedByUser: boolean mutedByInstance: boolean mutedServerByUser: boolean @@ -13,43 +17,47 @@ export class Account extends Actor implements ServerAccount { userId?: number - static GET_ACTOR_AVATAR_URL (actor: { avatar?: { url?: string, path: string } }) { - return Actor.GET_ACTOR_AVATAR_URL(actor) || this.GET_DEFAULT_AVATAR_URL() + static GET_ACTOR_AVATAR_URL (actor: { avatars: { width: number, url?: string, path: string }[] }, size?: number) { + return Actor.GET_ACTOR_AVATAR_URL(actor, size) } - static GET_DEFAULT_AVATAR_URL () { + static GET_DEFAULT_AVATAR_URL (size?: number) { + if (size && size <= 48) { + return `${window.location.origin}/client/assets/images/default-avatar-account-48x48.png` + } + return `${window.location.origin}/client/assets/images/default-avatar-account.png` } constructor (hash: ServerAccount) { super(hash) - this.updateComputedAttributes() - this.displayName = hash.displayName this.description = hash.description this.userId = hash.userId this.nameWithHost = Actor.CREATE_BY_STRING(this.name, this.host) this.nameWithHostForced = Actor.CREATE_BY_STRING(this.name, this.host, true) + if (hash.updatedAt) this.updatedAt = new Date(hash.updatedAt.toString()) + this.mutedByUser = false this.mutedByInstance = false this.mutedServerByUser = false this.mutedServerByInstance = false } - updateAvatar (newAvatar: ActorImage) { - this.avatar = newAvatar - - this.updateComputedAttributes() + updateAvatar (newAvatars: ActorImage[]) { + this.avatars = newAvatars } resetAvatar () { - this.avatar = null - this.avatarUrl = Account.GET_DEFAULT_AVATAR_URL() + this.avatars = [] } - private updateComputedAttributes () { - this.avatarUrl = Account.GET_ACTOR_AVATAR_URL(this) + updateBlockStatus (blockStatus: BlockStatus) { + this.mutedByInstance = blockStatus.accounts[this.nameWithHostForced].blockedByServer + this.mutedByUser = blockStatus.accounts[this.nameWithHostForced].blockedByUser + this.mutedServerByUser = blockStatus.hosts[this.host].blockedByUser + this.mutedServerByInstance = blockStatus.hosts[this.host].blockedByServer } }