X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fshared%2Fshared-main%2Faccount%2Factor.model.ts;h=8222c9769ff0088743ad144c26f69d63fb92916f;hb=1ea7da819e5bfae7b443ed722c18c4165d101439;hp=9ec6dbab1bcb0d96771e86ec3f8eac019b9d8674;hpb=8ca56654a176ee8f350d31282c6cac4a59f58499;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/shared/shared-main/account/actor.model.ts b/client/src/app/shared/shared-main/account/actor.model.ts index 9ec6dbab1..8222c9769 100644 --- a/client/src/app/shared/shared-main/account/actor.model.ts +++ b/client/src/app/shared/shared-main/account/actor.model.ts @@ -14,6 +14,8 @@ export abstract class Actor implements ActorServer { avatarUrl: string + isLocal: boolean + static GET_ACTOR_AVATAR_URL (actor: { avatar?: { url?: string, path: string } }) { if (actor?.avatar?.url) return actor.avatar.url @@ -22,12 +24,6 @@ export abstract class Actor implements ActorServer { return absoluteAPIUrl + actor.avatar.path } - - return this.GET_DEFAULT_AVATAR_URL() - } - - static GET_DEFAULT_AVATAR_URL () { - return window.location.origin + '/client/assets/images/default-avatar.png' } static CREATE_BY_STRING (accountName: string, host: string, forceHostname = false) { @@ -39,6 +35,13 @@ export abstract class Actor implements ActorServer { return accountName + '@' + host } + static IS_LOCAL (host: string) { + const absoluteAPIUrl = getAbsoluteAPIUrl() + const thisHost = new URL(absoluteAPIUrl).host + + return host.trim() === thisHost + } + protected constructor (hash: ActorServer) { this.id = hash.id this.url = hash.url @@ -51,17 +54,6 @@ export abstract class Actor implements ActorServer { if (hash.updatedAt) this.updatedAt = new Date(hash.updatedAt.toString()) this.avatar = hash.avatar - - this.updateComputedAttributes() - } - - updateAvatar (newAvatar: Avatar) { - this.avatar = newAvatar - - this.updateComputedAttributes() - } - - private updateComputedAttributes () { - this.avatarUrl = Actor.GET_ACTOR_AVATAR_URL(this) + this.isLocal = Actor.IS_LOCAL(this.host) } }