+ { loadError &&
+
{ LocalizeText('radio.error') }
}
+ { !loadError && !stations.length &&
+
{ LocalizeText('radio.empty') }
}
+ { /* ~3 rows tall, scrolls when there are more */ }
+
+ { stations.map(station =>
+ {
+ const isActive = station.id === selectedId;
+ const playingThis = (currentId === station.id) && isPlaying;
+ return (
+
onPick(station) }
+ className={ `flex cursor-pointer items-center gap-2.5 rounded-lg px-2 py-1.5 transition-colors ${ isActive ? 'bg-sky-500/15 ring-1 ring-sky-400/40' : 'hover:bg-white/8' }` }>
+ { station.logo
+ ?
+ :
+ { playingThis ? : }
+
}
+
+
{ station.name }
+ { station.genre &&
+
{ station.genre }
}
+
+ { playingThis &&
+
+
+
}
+
+ );
+ }) }
+
+