diff options
Diffstat (limited to 'client/src/app/shared')
-rw-r--r-- | client/src/app/shared/channel/avatar.component.html | 8 | ||||
-rw-r--r-- | client/src/app/shared/channel/avatar.component.scss | 32 | ||||
-rw-r--r-- | client/src/app/shared/channel/avatar.component.ts | 11 | ||||
-rw-r--r-- | client/src/app/shared/shared.module.ts | 3 |
4 files changed, 54 insertions, 0 deletions
diff --git a/client/src/app/shared/channel/avatar.component.html b/client/src/app/shared/channel/avatar.component.html new file mode 100644 index 000000000..362feacd7 --- /dev/null +++ b/client/src/app/shared/channel/avatar.component.html | |||
@@ -0,0 +1,8 @@ | |||
1 | <div class="wrapper"> | ||
2 | <a [routerLink]="[ '/video-channels', video.byVideoChannel ]" i18n-title title="Go the channel page"> | ||
3 | <img [src]="video.videoChannelAvatarUrl" alt="Channel avatar" /> | ||
4 | </a> | ||
5 | <a [routerLink]="[ '/accounts', video.byAccount ]" i18n-title title="Go to the account page"> | ||
6 | <img [src]="video.accountAvatarUrl" alt="Account avatar" /> | ||
7 | </a> | ||
8 | </div> | ||
diff --git a/client/src/app/shared/channel/avatar.component.scss b/client/src/app/shared/channel/avatar.component.scss new file mode 100644 index 000000000..b778c9eb0 --- /dev/null +++ b/client/src/app/shared/channel/avatar.component.scss | |||
@@ -0,0 +1,32 @@ | |||
1 | @import '_mixins'; | ||
2 | |||
3 | .wrapper { | ||
4 | width: 35px; | ||
5 | height: 35px; | ||
6 | min-width: 35px; | ||
7 | min-height: 35px; | ||
8 | position: relative; | ||
9 | margin-right: 5px; | ||
10 | |||
11 | a { | ||
12 | @include disable-outline; | ||
13 | } | ||
14 | |||
15 | a img { | ||
16 | height: 100%; | ||
17 | object-fit: cover; | ||
18 | position: absolute; | ||
19 | top:50%; | ||
20 | left:50%; | ||
21 | border-radius: 50%; | ||
22 | transform: translate(-50%,-50%) | ||
23 | } | ||
24 | |||
25 | a:nth-of-type(2) img { | ||
26 | height: 60%; | ||
27 | width: 60%; | ||
28 | border: 2px solid var(--mainBackgroundColor); | ||
29 | transform: translateX(15%); | ||
30 | position: relative; | ||
31 | } | ||
32 | } | ||
diff --git a/client/src/app/shared/channel/avatar.component.ts b/client/src/app/shared/channel/avatar.component.ts new file mode 100644 index 000000000..2201c04ca --- /dev/null +++ b/client/src/app/shared/channel/avatar.component.ts | |||
@@ -0,0 +1,11 @@ | |||
1 | import { Component, Input } from '@angular/core' | ||
2 | import { VideoDetails } from '../video/video-details.model' | ||
3 | |||
4 | @Component({ | ||
5 | selector: 'avatar-channel', | ||
6 | templateUrl: './avatar.component.html', | ||
7 | styleUrls: [ './avatar.component.scss' ] | ||
8 | }) | ||
9 | export class AvatarComponent { | ||
10 | @Input() video: VideoDetails | ||
11 | } | ||
diff --git a/client/src/app/shared/shared.module.ts b/client/src/app/shared/shared.module.ts index 29ddf7b81..a32520820 100644 --- a/client/src/app/shared/shared.module.ts +++ b/client/src/app/shared/shared.module.ts | |||
@@ -66,6 +66,7 @@ import { OverviewService } from '@app/shared/overview' | |||
66 | import { UserBanModalComponent } from '@app/shared/moderation' | 66 | import { UserBanModalComponent } from '@app/shared/moderation' |
67 | import { UserModerationDropdownComponent } from '@app/shared/moderation/user-moderation-dropdown.component' | 67 | import { UserModerationDropdownComponent } from '@app/shared/moderation/user-moderation-dropdown.component' |
68 | import { BlocklistService } from '@app/shared/blocklist' | 68 | import { BlocklistService } from '@app/shared/blocklist' |
69 | import { AvatarComponent } from '@app/shared/channel/avatar.component' | ||
69 | import { TopMenuDropdownComponent } from '@app/shared/menu/top-menu-dropdown.component' | 70 | import { TopMenuDropdownComponent } from '@app/shared/menu/top-menu-dropdown.component' |
70 | import { UserHistoryService } from '@app/shared/users/user-history.service' | 71 | import { UserHistoryService } from '@app/shared/users/user-history.service' |
71 | import { UserNotificationService } from '@app/shared/users/user-notification.service' | 72 | import { UserNotificationService } from '@app/shared/users/user-notification.service' |
@@ -158,6 +159,7 @@ import { InputReadonlyCopyComponent } from '@app/shared/forms/input-readonly-cop | |||
158 | TimestampInputComponent, | 159 | TimestampInputComponent, |
159 | InputReadonlyCopyComponent, | 160 | InputReadonlyCopyComponent, |
160 | 161 | ||
162 | AvatarComponent, | ||
161 | SubscribeButtonComponent, | 163 | SubscribeButtonComponent, |
162 | RemoteSubscribeComponent, | 164 | RemoteSubscribeComponent, |
163 | InstanceFeaturesTableComponent, | 165 | InstanceFeaturesTableComponent, |
@@ -228,6 +230,7 @@ import { InputReadonlyCopyComponent } from '@app/shared/forms/input-readonly-cop | |||
228 | PeertubeCheckboxComponent, | 230 | PeertubeCheckboxComponent, |
229 | TimestampInputComponent, | 231 | TimestampInputComponent, |
230 | 232 | ||
233 | AvatarComponent, | ||
231 | SubscribeButtonComponent, | 234 | SubscribeButtonComponent, |
232 | RemoteSubscribeComponent, | 235 | RemoteSubscribeComponent, |
233 | InstanceFeaturesTableComponent, | 236 | InstanceFeaturesTableComponent, |