Commit Graph

34 Commits

Author SHA1 Message Date
nk
8a951dd4c5 fix(player): отображение трека и обложки — объединение REST и socket now-playing
REST-поллинг (refreshNowPlaying -> api.getNowPlaying, 200 OK) писал данные в
_nowPlaying, который нигде не читался; getNowPlaying() брал только сокет (пустой).
Теперь getNowPlaying/getAllNowPlaying объединяют оба источника (socket ?: REST),
поэтому название трека, обложка и deep-link сервисов работают.
2026-06-02 22:23:37 +03:00
nk
58f735823e fix(ui): отступы под системную навигацию + подписи сервисов + краш навбара
- навбар и мини-плеер: navigationBarsPadding — не налезают на системные кнопки
- плеер: navigationBarsPadding снизу, ряд сервисов не уходит под системную панель
- подписи сервисов без обрезки слов (Яндекс / ВК Музыка / YT Music и т.д.)
- фикс NPE при холодном старте: навбар обращается к NavDestinations напрямую,
  не к companion-списку (порядок инициализации Kotlin)
2026-06-02 22:13:10 +03:00
nk
9e9f4c8009 fix(ui): единый скролл на экране станций + всегда видимый навбар
- StationsScreen: закреплённые заголовок/поиск/жанры, одна прокручиваемая
  сетка станций; поиск и фильтры больше не исчезают при пустом результате
  (+ кнопка «Сбросить фильтры»)
- таб-бар показывается без обязательного входа (скрыт только на экране входа)
- старт сразу со «Станций» — авторизация необязательна, вход из Настроек
2026-06-02 21:58:11 +03:00
nk
44ea21042f feat(ui): мягкие переходы между экранами (fade + лёгкий slide) 2026-06-02 21:32:28 +03:00
nk
bdace2d5b9 feat(ui): рестайл всех экранов + плеер + официальные mono-логотипы сервисов
- экраны (Станции/Избранное/История/Записи/Настройки/Вход): двухцветные
  заголовки, токены темы, EmptyState, анимации появления и перестановки
- AuthScreen: брендовый локап (AppMark + RadiolaWordmark)
- PlayerBottomSheet: живой эфир — LiveEqualizer вместо перемотки,
  Crossfade трека и play/pause, pressScale, анимация избранного/записи
- кнопки музыкальных сервисов: монохромные официальные логотипы
  (vector drawable из Simple Icons CC0 + Yandex), маппинг serviceLogoRes
- DeeplinkBottomSheet: сетка сервисов с логотипами
2026-06-02 21:31:16 +03:00
nk
f81dc52e92 feat(ui): рестайл общих компонентов под дизайн-систему
- StationCard: обложка/иконка-заглушка, анимированное сердечко, pressScale
- MiniPlayer: elevated-бар, метка «СЕЙЧАС ИГРАЕТ», Crossfade play/pause
- SearchBar: surface-поле, акцентный курсор, скругление 14
- FilterChips: акцентный активный чип с анимацией цвета
- EmptyState: иконка-плашка + текст
- TrackListItem: thumb-заглушка, pressScale
2026-06-02 21:17:28 +03:00
nk
a614ac3764 feat(ui): дизайн-система radiOLA — палитра, тема, типографика, бренд, motion, pill таб-бар
- цветовые токены тёмно-зелёной темы + RadiolaColors (CompositionLocal)
- darkColorScheme + всегда тёмная тема, фирменные shapes
- типографика с весами/размерами под макет
- Brand: AppMark (градиентный R), RadiolaWordmark, MonoMark
- Motion: спеки движения, pressScale, живой эквалайзер
- pill-таб-бар с анимированной активной вкладкой
2026-06-02 21:13:27 +03:00
nk
bcb999ace9 feat: WebSocket now-playing via Socket.IO from backend 2026-06-02 19:52:15 +03:00
nk
a83672b455 feat: auth screen with auto-redirect, sync favorites/history with backend 2026-06-02 19:12:07 +03:00
nk
d4adb1e7be fix: add launcher icons and update manifest references 2026-06-01 13:35:28 +03:00
nk
59f62a22b2 test: add unit tests for use cases and ViewModel, add Compose UI test 2026-06-01 13:23:11 +03:00
nk
af8fb333d9 feat(widget): add 4x1 AppWidgetProvider with play/pause and track info 2026-06-01 13:21:37 +03:00
nk
9ce9758361 feat(player): wire StationsScreen and FavoritesScreen to actual playback 2026-06-01 13:19:23 +03:00
nk
ada422053f feat(deeplink): add DeeplinkNavigator, DeeplinkBottomSheet and integrate into History and Player 2026-06-01 13:15:31 +03:00
nk
aa287f7588 feat(ui): integrate MiniPlayer into Scaffold with real player state 2026-06-01 13:12:51 +03:00
nk
9e3ce0f1e4 feat(ui): wire all screens into NavHost with BottomSheet player 2026-06-01 13:07:11 +03:00
nk
15e15c6664 feat(ui): add SettingsScreen and SettingsViewModel 2026-06-01 13:06:08 +03:00
nk
d3cec3bba2 feat(ui): add HistoryScreen and HistoryViewModel 2026-06-01 13:04:35 +03:00
nk
b2af81c070 feat(ui): add FavoritesScreen and FavoritesViewModel 2026-06-01 13:03:24 +03:00
nk
ee91837910 feat(ui): add PlayerBottomSheet and PlayerViewModel 2026-06-01 13:02:16 +03:00
nk
1c902b5607 feat(ui): add StationsScreen and StationsViewModel 2026-06-01 13:00:12 +03:00
nk
116ab95abd feat(ui): add shared components (StationCard, TrackListItem, SearchBar, FilterChips, MiniPlayer, EmptyState) 2026-06-01 12:58:25 +03:00
nk
28309c201e chore: add Lucide icons dependency and replace Material Icons in navigation 2026-06-01 12:54:36 +03:00
nk
c46a865742 feat(ui): add bottom navigation with 4 tabs 2026-06-01 12:23:27 +03:00
nk
cf79af5273 feat(service): add ExoPlayer controller and MediaSessionService 2026-06-01 12:21:22 +03:00
nk
9d68459df6 feat(di): add Hilt AppModule with Retrofit, Room and repository bindings 2026-06-01 12:19:33 +03:00
nk
e255b0458d feat(data): add repository implementations 2026-06-01 12:18:10 +03:00
nk
110fe0795e feat(data): add Room entities, DAOs and AppDatabase 2026-06-01 12:12:55 +03:00
nk
62674fcc3f feat(data): add Retrofit API, DTOs and mappers 2026-06-01 12:11:15 +03:00
nk
828cdf9a50 feat(domain): add core use cases 2026-06-01 12:08:49 +03:00
nk
aad1361043 feat(domain): add repository interfaces 2026-06-01 12:07:29 +03:00
nk
d345cd40b8 feat(domain): add Station, Track, PlayerState, DeeplinkService models 2026-06-01 12:05:13 +03:00
nk
7b1aa0c073 feat: add Application, MainActivity and Material3 theme 2026-06-01 12:02:35 +03:00
nk
8f26bf16d3 chore: add app module build config and manifest 2026-06-01 11:57:59 +03:00