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>
This commit is contained in:
@@ -4,6 +4,7 @@ import com.radiola.data.remote.dto.AuthResponseDto
|
||||
import com.radiola.data.remote.dto.BackendNowPlayingDto
|
||||
import com.radiola.data.remote.dto.BackendStationDto
|
||||
import com.radiola.data.remote.dto.ChartsResponseDto
|
||||
import com.radiola.data.remote.dto.GenresResponseDto
|
||||
import com.radiola.data.remote.dto.HistoryResponseDto
|
||||
import com.radiola.data.remote.dto.MagicLinkRequestDto
|
||||
import com.radiola.data.remote.dto.MagicLinkVerifyDto
|
||||
@@ -58,9 +59,13 @@ interface RadiolaApi {
|
||||
@GET("charts/tracks")
|
||||
suspend fun getCharts(
|
||||
@Query("period") period: String,
|
||||
@Query("limit") limit: Int = 100
|
||||
@Query("limit") limit: Int = 100,
|
||||
@Query("genre") genre: String? = null
|
||||
): ChartsResponseDto
|
||||
|
||||
@GET("charts/genres")
|
||||
suspend fun getGenres(): GenresResponseDto
|
||||
|
||||
@GET("charts/tracks/{trackId}")
|
||||
suspend fun getTrackStats(@Path("trackId") trackId: String): TrackStatsDto
|
||||
|
||||
|
||||
Reference in New Issue
Block a user