Files
NewTube/src/app/shared/components/channel-identity/channel-identity.component.html
T
bruno 579354cdb3
CI / build-and-test (push) Successful in 13m25s
feat(channel): identite chaine partagee cliquable partout + logos fiabilises
- 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
2026-09-25 10:37:36 -04:00

34 lines
2.0 KiB
HTML

<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>