fix(live): expose row logos for projected channels
Derive live channel row logos from the selected or preferred stream variant so the frontend can render logos without falling back to placeholders. Refs #45 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@ -486,6 +486,16 @@ function pageMetadata(total, bounds) {
|
||||
|
||||
function listChannel(channel) {
|
||||
const preferredVariant = channel.preferredVariant || channel.variants[0] || null;
|
||||
const variantLogo = variant => variant?.tvgLogo || variant?.streamIcon || variant?.stream_icon || null;
|
||||
const selectedVariant = channel.variants.find(variant =>
|
||||
`${variant.sourceId}:${variant.id}` === String(channel.selectedVariantId)
|
||||
);
|
||||
const logoVariant = (selectedVariant && variantLogo(selectedVariant) && selectedVariant)
|
||||
|| (preferredVariant && variantLogo(preferredVariant) && preferredVariant)
|
||||
|| channel.variants.find(variant => !variant.isHidden && variantLogo(variant))
|
||||
|| channel.variants.find(variant => variant.isHidden && variantLogo(variant))
|
||||
|| null;
|
||||
const logo = variantLogo(logoVariant);
|
||||
const variants = [];
|
||||
const addPreview = variant => {
|
||||
if (variant && variants.length < 3 && !variants.some(candidate =>
|
||||
@ -498,6 +508,8 @@ function listChannel(channel) {
|
||||
return {
|
||||
...channel,
|
||||
preferredVariant,
|
||||
tvgLogo: logo,
|
||||
streamIcon: logo,
|
||||
variantCount: channel.variants.length,
|
||||
variants
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user