From 69524f6ed170c74fab8d5833920c389fde992f3e Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 25 Nov 2020 11:44:31 +0100 Subject: Fix circular dep issue --- .../shared-main/account/avatar.component.html | 26 -------------- .../shared-main/account/avatar.component.scss | 40 ---------------------- .../shared/shared-main/account/avatar.component.ts | 25 -------------- client/src/app/shared/shared-main/account/index.ts | 2 +- .../account/video-avatar-channel.component.html | 26 ++++++++++++++ .../account/video-avatar-channel.component.scss | 40 ++++++++++++++++++++++ .../account/video-avatar-channel.component.ts | 27 +++++++++++++++ .../app/shared/shared-main/shared-main.module.ts | 6 ++-- .../shared-main/users/user-notification.model.ts | 10 +++--- .../app/shared/shared-main/video/video.model.ts | 4 ++- 10 files changed, 106 insertions(+), 100 deletions(-) delete mode 100644 client/src/app/shared/shared-main/account/avatar.component.html delete mode 100644 client/src/app/shared/shared-main/account/avatar.component.scss delete mode 100644 client/src/app/shared/shared-main/account/avatar.component.ts create mode 100644 client/src/app/shared/shared-main/account/video-avatar-channel.component.html create mode 100644 client/src/app/shared/shared-main/account/video-avatar-channel.component.scss create mode 100644 client/src/app/shared/shared-main/account/video-avatar-channel.component.ts (limited to 'client/src/app/shared/shared-main') diff --git a/client/src/app/shared/shared-main/account/avatar.component.html b/client/src/app/shared/shared-main/account/avatar.component.html deleted file mode 100644 index 310cc926f..000000000 --- a/client/src/app/shared/shared-main/account/avatar.component.html +++ /dev/null @@ -1,26 +0,0 @@ -
- - - Channel avatar - - - Account avatar - - - - - - Account avatar - - - - Channel avatar - - - - - - Account avatar - - -
diff --git a/client/src/app/shared/shared-main/account/avatar.component.scss b/client/src/app/shared/shared-main/account/avatar.component.scss deleted file mode 100644 index 37709fce6..000000000 --- a/client/src/app/shared/shared-main/account/avatar.component.scss +++ /dev/null @@ -1,40 +0,0 @@ -@import '_mixins'; - -.wrapper { - $avatar-size: 35px; - - width: $avatar-size; - height: $avatar-size; - position: relative; - margin-right: 5px; - margin-bottom: 5px; - - &.avatar-sm { - width: 28px; - height: 28px; - margin-bottom: 3px; - } - - a { - @include disable-outline; - } - - a img { - height: 100%; - object-fit: cover; - position: absolute; - top:50%; - left:50%; - border-radius: 50%; - transform: translate(-50%,-50%) - } - - a:nth-of-type(2) img { - height: 60%; - width: 60%; - border: 2px solid pvar(--mainBackgroundColor); - transform: translateX(15%); - position: relative; - background-color: pvar(--mainBackgroundColor); - } -} diff --git a/client/src/app/shared/shared-main/account/avatar.component.ts b/client/src/app/shared/shared-main/account/avatar.component.ts deleted file mode 100644 index 2967828a0..000000000 --- a/client/src/app/shared/shared-main/account/avatar.component.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Component, Input, OnInit } from '@angular/core' -import { Video } from '../video/video.model' - -@Component({ - selector: 'avatar-channel', - templateUrl: './avatar.component.html', - styleUrls: [ './avatar.component.scss' ] -}) -export class AvatarComponent implements OnInit { - @Input() video: Video - @Input() size: 'md' | 'sm' = 'md' - @Input() genericChannel: boolean - - channelLinkTitle = '' - accountLinkTitle = '' - - ngOnInit () { - this.channelLinkTitle = $localize`${this.video.account.name} (channel page)` - this.accountLinkTitle = $localize`${this.video.byAccount} (account page)` - } - - isChannelAvatarNull () { - return this.video.channel.avatar === null - } -} diff --git a/client/src/app/shared/shared-main/account/index.ts b/client/src/app/shared/shared-main/account/index.ts index f5b9f3634..61c800e56 100644 --- a/client/src/app/shared/shared-main/account/index.ts +++ b/client/src/app/shared/shared-main/account/index.ts @@ -2,4 +2,4 @@ export * from './account.model' export * from './account.service' export * from './actor-avatar-info.component' export * from './actor.model' -export * from './avatar.component' +export * from './video-avatar-channel.component' diff --git a/client/src/app/shared/shared-main/account/video-avatar-channel.component.html b/client/src/app/shared/shared-main/account/video-avatar-channel.component.html new file mode 100644 index 000000000..310cc926f --- /dev/null +++ b/client/src/app/shared/shared-main/account/video-avatar-channel.component.html @@ -0,0 +1,26 @@ +
+ + + Channel avatar + + + Account avatar + + + + + + Account avatar + + + + Channel avatar + + + + + + Account avatar + + +
diff --git a/client/src/app/shared/shared-main/account/video-avatar-channel.component.scss b/client/src/app/shared/shared-main/account/video-avatar-channel.component.scss new file mode 100644 index 000000000..37709fce6 --- /dev/null +++ b/client/src/app/shared/shared-main/account/video-avatar-channel.component.scss @@ -0,0 +1,40 @@ +@import '_mixins'; + +.wrapper { + $avatar-size: 35px; + + width: $avatar-size; + height: $avatar-size; + position: relative; + margin-right: 5px; + margin-bottom: 5px; + + &.avatar-sm { + width: 28px; + height: 28px; + margin-bottom: 3px; + } + + a { + @include disable-outline; + } + + a img { + height: 100%; + object-fit: cover; + position: absolute; + top:50%; + left:50%; + border-radius: 50%; + transform: translate(-50%,-50%) + } + + a:nth-of-type(2) img { + height: 60%; + width: 60%; + border: 2px solid pvar(--mainBackgroundColor); + transform: translateX(15%); + position: relative; + background-color: pvar(--mainBackgroundColor); + } +} diff --git a/client/src/app/shared/shared-main/account/video-avatar-channel.component.ts b/client/src/app/shared/shared-main/account/video-avatar-channel.component.ts new file mode 100644 index 000000000..440e2b522 --- /dev/null +++ b/client/src/app/shared/shared-main/account/video-avatar-channel.component.ts @@ -0,0 +1,27 @@ +import { Component, Input, OnInit } from '@angular/core' +import { Video } from '../video/video.model' + +@Component({ + selector: 'my-video-avatar-channel', + templateUrl: './video-avatar-channel.component.html', + styleUrls: [ './video-avatar-channel.component.scss' ] +}) +export class VideoAvatarChannelComponent implements OnInit { + @Input() video: Video + @Input() byAccount: string + + @Input() size: 'md' | 'sm' = 'md' + @Input() genericChannel: boolean + + channelLinkTitle = '' + accountLinkTitle = '' + + ngOnInit () { + this.channelLinkTitle = $localize`${this.video.account.name} (channel page)` + this.accountLinkTitle = $localize`${this.video.byAccount} (account page)` + } + + isChannelAvatarNull () { + return this.video.channel.avatar === null + } +} diff --git a/client/src/app/shared/shared-main/shared-main.module.ts b/client/src/app/shared/shared-main/shared-main.module.ts index be0630395..74bb4559a 100644 --- a/client/src/app/shared/shared-main/shared-main.module.ts +++ b/client/src/app/shared/shared-main/shared-main.module.ts @@ -14,7 +14,7 @@ import { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap' import { SharedGlobalIconModule } from '../shared-icons' -import { AccountService, ActorAvatarInfoComponent, AvatarComponent } from './account' +import { AccountService, ActorAvatarInfoComponent, VideoAvatarChannelComponent } from './account' import { BytesPipe, DurationFormatterPipe, @@ -57,7 +57,7 @@ import { VideoChannelService } from './video-channel' ], declarations: [ - AvatarComponent, + VideoAvatarChannelComponent, ActorAvatarInfoComponent, FromNowPipe, @@ -106,7 +106,7 @@ import { VideoChannelService } from './video-channel' PrimeSharedModule, - AvatarComponent, + VideoAvatarChannelComponent, ActorAvatarInfoComponent, FromNowPipe, diff --git a/client/src/app/shared/shared-main/users/user-notification.model.ts b/client/src/app/shared/shared-main/users/user-notification.model.ts index b1df4a584..1211995fd 100644 --- a/client/src/app/shared/shared-main/users/user-notification.model.ts +++ b/client/src/app/shared/shared-main/users/user-notification.model.ts @@ -1,14 +1,16 @@ +import { AuthUser } from '@app/core' +import { Account } from '@app/shared/shared-main/account/account.model' +import { Actor } from '@app/shared/shared-main/account/actor.model' +import { VideoChannel } from '@app/shared/shared-main/video-channel/video-channel.model' import { AbuseState, ActorInfo, FollowState, UserNotification as UserNotificationServer, UserNotificationType, - VideoInfo, - UserRight + UserRight, + VideoInfo } from '@shared/models' -import { Account, Actor, VideoChannel } from '@app/shared/shared-main' -import { AuthUser } from '@app/core' export class UserNotification implements UserNotificationServer { id: number diff --git a/client/src/app/shared/shared-main/video/video.model.ts b/client/src/app/shared/shared-main/video/video.model.ts index 8e0e68020..04e7bd717 100644 --- a/client/src/app/shared/shared-main/video/video.model.ts +++ b/client/src/app/shared/shared-main/video/video.model.ts @@ -1,6 +1,9 @@ import { AuthUser } from '@app/core' import { User } from '@app/core/users/user.model' import { durationToString, getAbsoluteAPIUrl, getAbsoluteEmbedUrl } from '@app/helpers' +import { Account } from '@app/shared/shared-main/account/account.model' +import { Actor } from '@app/shared/shared-main/account/actor.model' +import { VideoChannel } from '@app/shared/shared-main/video-channel/video-channel.model' import { peertubeTranslate } from '@shared/core-utils/i18n' import { Avatar, @@ -12,7 +15,6 @@ import { VideoScheduleUpdate, VideoState } from '@shared/models' -import { Account, Actor, VideoChannel } from '@app/shared/shared-main' export class Video implements VideoServerModel { byVideoChannel: string -- cgit v1.2.3