feat(channel): identite chaine partagee cliquable partout + logos fiabilises
CI / build-and-test (push) Successful in 13m25s
CI / build-and-test (push) Successful in 13m25s
- Nouveau app-channel-identity (avatar+nom -> /channel, fallback resolve /api/channels, initiales sinon) - ProviderBadge: accepte les ids courts yt/dm/tw/pt/od/ru - Search adapters yt/dm/pt/od: conservent channelExternalId/channelAvatarUrl (pt derive instance|channel) - video-card/themes/watch/related/suggestions/subscriptions/channel-header uniformises sur l'identite partagee
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
<a *ngIf="hasDestination; else plainBlock"
|
||||
[routerLink]="['/channel', shortProvider, externalId]"
|
||||
class="flex min-w-0 flex-1 items-center gap-2"
|
||||
title="Ouvrir la page de la chaîne">
|
||||
<span class="flex shrink-0 items-center justify-center overflow-hidden rounded-full border border-zinc-700 bg-zinc-800"
|
||||
[class.h-6]="size === 'sm'" [class.w-6]="size === 'sm'"
|
||||
[class.h-8]="size === 'md'" [class.w-8]="size === 'md'">
|
||||
<img *ngIf="resolvedAvatar; else linkedInitials"
|
||||
[src]="resolvedAvatar" [alt]="resolvedName" loading="lazy"
|
||||
class="h-full w-full object-cover" referrerpolicy="no-referrer" />
|
||||
<ng-template #linkedInitials>
|
||||
<span class="font-semibold text-zinc-200" [class.text-xs]="size === 'sm'" [class.text-sm]="size === 'md'">{{ initial }}</span>
|
||||
</ng-template>
|
||||
</span>
|
||||
<span *ngIf="showName" class="min-w-0 truncate font-medium text-zinc-200 hover:text-red-300">{{ resolvedName }}</span>
|
||||
<span *ngIf="showName && resolvedVerified" class="shrink-0 text-xs text-emerald-300" title="Chaîne vérifiée">✓</span>
|
||||
</a>
|
||||
<ng-template #plainBlock>
|
||||
<span class="flex min-w-0 flex-1 items-center gap-2">
|
||||
<span class="flex shrink-0 items-center justify-center overflow-hidden rounded-full border border-zinc-700 bg-zinc-800"
|
||||
[class.h-6]="size === 'sm'" [class.w-6]="size === 'sm'"
|
||||
[class.h-8]="size === 'md'" [class.w-8]="size === 'md'">
|
||||
<img *ngIf="resolvedAvatar; else plainInitials"
|
||||
[src]="resolvedAvatar" [alt]="resolvedName" loading="lazy"
|
||||
class="h-full w-full object-cover" referrerpolicy="no-referrer" />
|
||||
<ng-template #plainInitials>
|
||||
<span class="font-semibold text-zinc-200" [class.text-xs]="size === 'sm'" [class.text-sm]="size === 'md'">{{ initial }}</span>
|
||||
</ng-template>
|
||||
</span>
|
||||
<span *ngIf="showName" class="min-w-0 truncate font-medium text-zinc-200">{{ resolvedName }}</span>
|
||||
<span *ngIf="showName && resolvedVerified" class="shrink-0 text-xs text-emerald-300">✓</span>
|
||||
</span>
|
||||
</ng-template>
|
||||
Reference in New Issue
Block a user