aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/app/shared/shared-main/account/actor.model.ts
diff options
context:
space:
mode:
Diffstat (limited to 'client/src/app/shared/shared-main/account/actor.model.ts')
-rw-r--r--client/src/app/shared/shared-main/account/actor.model.ts20
1 files changed, 11 insertions, 9 deletions
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 082f44fb9..a54f51aa4 100644
--- a/client/src/app/shared/shared-main/account/actor.model.ts
+++ b/client/src/app/shared/shared-main/account/actor.model.ts
@@ -13,20 +13,22 @@ export abstract class Actor implements ServerActor {
13 13
14 createdAt: Date | string 14 createdAt: Date | string
15 15
16 avatar: ActorImage 16 // TODO: remove, deprecated in 4.2
17 avatar: never
18
19 avatars: ActorImage[]
17 20
18 isLocal: boolean 21 isLocal: boolean
19 22
20 static GET_ACTOR_AVATAR_URL (actor: { avatar?: { url?: string, path: string } }) { 23 static GET_ACTOR_AVATAR_URL (actor: { avatars: { width: number, url?: string, path: string }[] }, size: number) {
21 if (actor?.avatar?.url) return actor.avatar.url 24 const avatar = actor.avatars.sort((a, b) => a.width - b.width).find(a => a.width >= size)
22 25
23 if (actor?.avatar) { 26 if (!avatar) return ''
24 const absoluteAPIUrl = getAbsoluteAPIUrl() 27 if (avatar.url) return avatar.url
25 28
26 return absoluteAPIUrl + actor.avatar.path 29 const absoluteAPIUrl = getAbsoluteAPIUrl()
27 }
28 30
29 return '' 31 return absoluteAPIUrl + avatar.path
30 } 32 }
31 33
32 static CREATE_BY_STRING (accountName: string, host: string, forceHostname = false) { 34 static CREATE_BY_STRING (accountName: string, host: string, forceHostname = false) {
@@ -55,7 +57,7 @@ export abstract class Actor implements ServerActor {
55 57
56 if (hash.createdAt) this.createdAt = new Date(hash.createdAt.toString()) 58 if (hash.createdAt) this.createdAt = new Date(hash.createdAt.toString())
57 59
58 this.avatar = hash.avatar 60 this.avatars = hash.avatars
59 this.isLocal = Actor.IS_LOCAL(this.host) 61 this.isLocal = Actor.IS_LOCAL(this.host)
60 } 62 }
61} 63}