Radio ROKS и Kiss FM (TavR Media, хосты radioroks.ua / kissfm.ua) недоступны
с российских IP без VPN. Теперь для пользователей из РФ они полностью скрыты
— и сами станции (везде, где используется список), и их чипы-категории.
Страна определяется по IP (api.country.is → ipapi.co; при VPN вернёт страну
выходного узла, тогда станции доступны и НЕ скрываются), с фолбэком на страну
SIM/сети/локали устройства, если IP-сервис недоступен (в РФ часто заблокирован).
Код страны кэшируется (DataStore). Фильтр в GetStationsUseCase (combine со
страной) + чипы в StationsViewModel. id 741 «Радио РОКС» (stream.roks.com) —
российская, под правило не попадает.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1) Горизонтальный свайп по области списка переключает фильтры-чипы в их
порядке ([Все]+жанры), выбранный чип автоскроллится в зону видимости.
Вертикальная прокрутка грида сохраняется.
2) У играющей станции в списке — мягкое радиальное свечение позади обложки,
которое «гуляет» (двигается центр) и вылезает из-под краёв, + эквалайзер-
бейдж в углу. Источник активной станции — PlayerController.currentStationId.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Станции с одинаковым именем в разных сетях (напр. «Deep» у Record и DFM)
показывали один и тот же трек — матч был по lowercase-имени. Каталожный id
(== station.id) уникален и совпадает со stationId в /now-playing, поэтому
матчим по id. Убран весь by-name путь (репозиторий, плеер, карточки).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Для станций без своей обложки (и для Radio Record — единый стиль) карточка
показывает обложку играющего трека с тёмным градиентом и подписью трек/исполнитель.
Источник — /now-playing (теперь с name станции), матч по имени, обновление 20с.
Приоритет: трек -> логотип станции -> фирменная плитка.