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=5fc7989dd6c833f8eaa0fc3091bf484fc976078e;hpb=67ed6552b831df66713bac9e672738796128d33f;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 5fc7989dd..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,7 +14,9 @@ export abstract class Actor implements ActorServer { avatarUrl: string - static GET_ACTOR_AVATAR_URL (actor: { avatar?: Avatar }) { + isLocal: boolean + + static GET_ACTOR_AVATAR_URL (actor: { avatar?: { url?: string, path: string } }) { if (actor?.avatar?.url) return actor.avatar.url if (actor && actor.avatar) { @@ -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 @@ -46,20 +49,11 @@ export abstract class Actor implements ActorServer { this.host = hash.host this.followingCount = hash.followingCount this.followersCount = hash.followersCount - this.createdAt = new Date(hash.createdAt.toString()) - this.updatedAt = new Date(hash.updatedAt.toString()) - this.avatar = hash.avatar - - this.updateComputedAttributes() - } - updateAvatar (newAvatar: Avatar) { - this.avatar = newAvatar + if (hash.createdAt) this.createdAt = new Date(hash.createdAt.toString()) + if (hash.updatedAt) this.updatedAt = new Date(hash.updatedAt.toString()) - this.updateComputedAttributes() - } - - private updateComputedAttributes () { - this.avatarUrl = Actor.GET_ACTOR_AVATAR_URL(this) + this.avatar = hash.avatar + this.isLocal = Actor.IS_LOCAL(this.host) } }