feat(theme): выбор цветовой темы (8 палитр) в настройках

8 тёмных палитр (Лес/Океан/Закат/Аметист/Неон/Янтарь/Лёд/Роза) в Palettes.kt.
RadiolaColors теперь несёт все токены + градиент; RadiolaTheme(palette) строит из
неё и RadiolaColors, и Material ColorScheme — всё приложение берёт цвета через
RadiolaTheme.colors, поэтому смена палитры перекрашивает мгновенно. Бренд-марка
(AppMark/Wordmark) тоже следует теме. Выбор в DataStore (theme_palette, дефолт
forest), читается в MainActivity и подаётся в тему. Секция «ТЕМА ОФОРМЛЕНИЯ» в
настройках — горизонтальный ряд свотчей с превью (фон+акцент+градиент).
This commit is contained in:
nk
2026-06-06 19:11:33 +03:00
parent d9acc0efb4
commit ed926e0a9d
8 changed files with 261 additions and 36 deletions

View File

@@ -23,4 +23,7 @@ interface SettingsRepository {
// Стиль визуализатора звука в плеере (ключ VisualizerStyle).
fun getVisualizerStyle(): Flow<String>
suspend fun setVisualizerStyle(style: String)
// Цветовая тема приложения (id ThemePalette, напр. "forest"). По умолчанию "forest".
fun getThemePalette(): Flow<String>
suspend fun setThemePalette(id: String)
}