From d0800f7661f13fabe7bb6f4aa0ea50764f106405 Mon Sep 17 00:00:00 2001 From: kontrollanten <6680299+kontrollanten@users.noreply.github.com> Date: Mon, 28 Feb 2022 08:34:43 +0100 Subject: Implement avatar miniatures (#4639) * client: remove unused file * refactor(client/my-actor-avatar): size from input Read size from component input instead of scss, to make it possible to use smaller avatar images when implemented. * implement avatar miniatures close #4560 * fix(test): max file size * fix(search-index): normalize res acc to avatarMini * refactor avatars to an array * client/search: resize channel avatar to 120 * refactor(client/videos): remove unused function * client(actor-avatar): set default size * fix tests and avatars full result When findOne is used only an array containting one avatar is returned. * update migration version and version notations * server/search: harmonize normalizing * Cleanup avatar miniature PR Co-authored-by: Chocobozzz --- .../shared-actor-image/actor-avatar.component.scss | 29 ++++++---------------- .../shared-actor-image/actor-avatar.component.ts | 15 ++++++----- 2 files changed, 14 insertions(+), 30 deletions(-) (limited to 'client/src/app/shared/shared-actor-image') diff --git a/client/src/app/shared/shared-actor-image/actor-avatar.component.scss b/client/src/app/shared/shared-actor-image/actor-avatar.component.scss index a2424b593..68bf74553 100644 --- a/client/src/app/shared/shared-actor-image/actor-avatar.component.scss +++ b/client/src/app/shared/shared-actor-image/actor-avatar.component.scss @@ -20,38 +20,23 @@ } } -.avatar-18 { - --avatarSize: 18px; - --initialFontSize: 13px; -} +$sizes: '18', '25', '28', '32', '34', '35', '36', '40', '48', '75', '80', '100', '120'; -.avatar-25 { - --avatarSize: 25px; +@each $size in $sizes { + .avatar-#{$size} { + --avatarSize: #{$size}px; + } } -.avatar-32 { - --avatarSize: 32px; -} - -.avatar-34 { - --avatarSize: 34px; -} - -.avatar-36 { - --avatarSize: 36px; -} - -.avatar-40 { - --avatarSize: 40px; +.avatar-18 { + --initialFontSize: 13px; } .avatar-100 { - --avatarSize: 100px; --initialFontSize: 40px; } .avatar-120 { - --avatarSize: 120px; --initialFontSize: 46px; } diff --git a/client/src/app/shared/shared-actor-image/actor-avatar.component.ts b/client/src/app/shared/shared-actor-image/actor-avatar.component.ts index c323dc724..bc7e8a096 100644 --- a/client/src/app/shared/shared-actor-image/actor-avatar.component.ts +++ b/client/src/app/shared/shared-actor-image/actor-avatar.component.ts @@ -4,11 +4,11 @@ import { Account } from '../shared-main/account/account.model' type ActorInput = { name: string - avatar?: { url?: string, path: string } + avatars: { width: number, url?: string, path: string }[] url: string } -export type ActorAvatarSize = '18' | '25' | '32' | '34' | '36' | '40' | '100' | '120' +export type ActorAvatarSize = '18' | '25' | '28' | '32' | '34' | '35' | '36' | '40' | '48' | '75' | '80' | '100' | '120' @Component({ selector: 'my-actor-avatar', @@ -23,7 +23,7 @@ export class ActorAvatarComponent { @Input() previewImage: string - @Input() size: ActorAvatarSize + @Input() size: ActorAvatarSize = '32' // Use an external link @Input() href: string @@ -50,14 +50,13 @@ export class ActorAvatarComponent { } get defaultAvatarUrl () { - if (this.channel) return VideoChannel.GET_DEFAULT_AVATAR_URL() - - return Account.GET_DEFAULT_AVATAR_URL() + if (this.account) return Account.GET_DEFAULT_AVATAR_URL(+this.size) + if (this.channel) return VideoChannel.GET_DEFAULT_AVATAR_URL(+this.size) } get avatarUrl () { - if (this.account) return Account.GET_ACTOR_AVATAR_URL(this.account) - if (this.channel) return VideoChannel.GET_ACTOR_AVATAR_URL(this.channel) + if (this.account) return Account.GET_ACTOR_AVATAR_URL(this.account, +this.size) + if (this.channel) return VideoChannel.GET_ACTOR_AVATAR_URL(this.channel, +this.size) return '' } -- cgit v1.2.3