fix(stations): жанровые чипы Record (Лето и др.) больше не пустые
Record API кладёт категории станции в поле "genre" (массив {id,name}), а
StationDto/ApiMapper читали только "tags" (у станции отсутствует) → у всех
станций Рекорда жанровые теги были пустыми, и чипы вроде «Лето» при клике
показывали пустоту. Добавлено поле genres (@SerialName genre), маплю genre+tags
в Station.tags. Раздел «Лето» теперь наполняется летними станциями Record
(Chill House, Beach Party, Tropical, Summer Lounge, Mashup и др.).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -17,7 +17,9 @@ object ApiMapper {
|
|||||||
streamUrl = stream,
|
streamUrl = stream,
|
||||||
coverUrl = cover,
|
coverUrl = cover,
|
||||||
genre = tooltip ?: "",
|
genre = tooltip ?: "",
|
||||||
tags = tags.map { it.name },
|
// Жанры-категории станции лежат в "genre"; "tags" обычно пуст. Берём
|
||||||
|
// оба, чтобы работали жанровые чипы Record (Лето и пр.).
|
||||||
|
tags = (genres + tags).map { it.name }.distinct(),
|
||||||
sortOrder = sort
|
sortOrder = sort
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,10 @@ data class StationDto(
|
|||||||
@SerialName("stream_128") val stream128: String? = null,
|
@SerialName("stream_128") val stream128: String? = null,
|
||||||
@SerialName("stream_320") val stream320: String? = null,
|
@SerialName("stream_320") val stream320: String? = null,
|
||||||
@SerialName("stream_hls") val streamHls: String? = null,
|
@SerialName("stream_hls") val streamHls: String? = null,
|
||||||
|
// Record API кладёт жанры-категории станции в поле "genre" (массив {id,name}),
|
||||||
|
// а не в "tags". Раньше читали только "tags" (его у станции нет) — поэтому
|
||||||
|
// жанровые чипы Record (Лето, House, …) были пустыми. Берём оба.
|
||||||
|
@SerialName("genre") val genres: List<TagDto> = emptyList(),
|
||||||
@SerialName("tags") val tags: List<TagDto> = emptyList()
|
@SerialName("tags") val tags: List<TagDto> = emptyList()
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user