Files
radiola-android/app/src/main/java/com/radiola/domain/model/ChartEntry.kt
nk 99503fc77a feat(charts): фильтр по жанру + жанр/стиль/лейбл/год на детальной трека
Подтягиваем обогащённые данные с бэкенда (Discogs): genre/styles/label/year
в чартах и детальной странице.

- ChartEntry/TrackStats + DTO: добавлены genre/styles/label/year
- RadiolaApi: getCharts(?genre=), новый getGenres()
- ChartsViewModel: состояние выбранного жанра + список жанров, перезагрузка
- ChartsScreen: ряд чипов-фильтров по жанру (Все + жанры),
  жанр/стили чипами и «Лейбл · Год» на детальной
- убран демо-fallback (SAMPLE_CHARTS) — бэкенд живой

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 13:55:35 +03:00

31 lines
844 B
Kotlin

package com.radiola.domain.model
/** Период чарта, выбираемый пользователем. */
enum class ChartPeriod(val apiValue: String, val label: String) {
DAY("day", "День"),
WEEK("week", "Неделя"),
MONTH("month", "Месяц"),
ALL("all", "Всё время")
}
/** Направление движения позиции в чарте. */
enum class ChartTrend { UP, DOWN, NEW, SAME }
/** Одна позиция в чарте. */
data class ChartEntry(
val rank: Int,
val trackId: String,
val artist: String,
val song: String,
val coverUrl: String?,
val genre: String?,
val styles: List<String>,
val label: String?,
val year: Int?,
val plays: Int,
val stationsCount: Int,
val likes: Int,
val prevRank: Int?,
val trend: ChartTrend
)