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:
@@ -19,10 +19,16 @@
|
||||
<div class="flex flex-col gap-4 sm:flex-row sm:items-start">
|
||||
<div class="relative -mt-2 shrink-0 sm:-mt-10">
|
||||
<img
|
||||
[src]="channel.avatarUrl || 'https://placehold.co/160x160/png'"
|
||||
*ngIf="channel.avatarUrl; else headerInitials"
|
||||
[src]="channel.avatarUrl"
|
||||
[alt]="channel.title || channel.handle || 'Avatar'"
|
||||
class="h-24 w-24 rounded-full border-4 border-zinc-950 bg-zinc-800 object-cover sm:h-28 sm:w-28"
|
||||
/>
|
||||
<ng-template #headerInitials>
|
||||
<div class="flex h-24 w-24 items-center justify-center rounded-full border-4 border-zinc-950 bg-zinc-800 text-3xl font-bold text-zinc-200 sm:h-28 sm:w-28">
|
||||
{{ (channel.title || channel.handle || '?').charAt(0).toUpperCase() }}
|
||||
</div>
|
||||
</ng-template>
|
||||
</div>
|
||||
<div class="min-w-0 flex-1">
|
||||
<h1 class="truncate text-2xl font-bold text-white sm:text-3xl">
|
||||
|
||||
Reference in New Issue
Block a user