feat(mobile): sign-in, tabs, search, collection and background player (M5)
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m39s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m2s
ci / ts / ts (packages + web) (push) Successful in 1m5s
ci / docker / docker (образы собираются — их сервер собирает сам при обновлении) (push) Successful in 39s

- expo-router app in src/app: connect (server check, recent servers),
  login, mandatory credential / password change, tabs Home / Search /
  Collection / Profile, album and artist pages, full-screen player
- AuthSession per server with the refresh token in expo-secure-store
  (Android Keystore); language from the profile
- player on react-native-track-player: ExoPlayer queue with a
  notification and lock-screen controls via a playback service, 500 MB
  stream cache, quality by network (Wi-Fi high, cellular medium),
  play events with played time, reactions, playback state restore and
  the endless My Wave with feedback
- home: pulsing wave circle driven by BPM / energy in the cover
  palette, activity and mood chips that switch the wave on the fly
- New Architecture is off until react-native-track-player supports it;
  the release build runs codegen only when it is on; query-string is a
  direct dependency because expo-router 5.1 imports it undeclared

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
mrleo1nidandClaude Opus 5.5 committed 2026-10-20 12:48:55 +03:00
1 parent eaedd1fc62
commit 9fd616da57
28 files changed
+2590 -197

No files matched your search

+18
View File
@@ -184,5 +184,23 @@
"calm": "Calm",
"sad": "Sad"
}
},
"mobile": {
"connect": "Connect",
"servers": "Recent servers",
"change_server": "Another server",
"server": "Server",
"open_admin": "Admin — opens in the browser",
"version": "App version {{version}}",
"offline": "No connection to the server",
"profile": "Profile",
"search": "Search",
"recent_searches": "Recent searches",
"clear_recent": "Clear",
"now_playing": "Now playing",
"open_player": "Open the player",
"close_player": "Collapse the player",
"queue": "Queue",
"forget_server": "Forget server"
}
}
+18
View File
@@ -184,5 +184,23 @@
"calm": "Спокойное",
"sad": "Грустное"
}
},
"mobile": {
"connect": "Подключиться",
"servers": "Недавние серверы",
"change_server": "Другой сервер",
"server": "Сервер",
"open_admin": "Админка — откроется в браузере",
"version": "Версия приложения {{version}}",
"offline": "Нет связи с сервером",
"profile": "Профиль",
"search": "Поиск",
"recent_searches": "Недавние запросы",
"clear_recent": "Очистить",
"now_playing": "Сейчас играет",
"open_player": "Открыть плеер",
"close_player": "Свернуть плеер",
"queue": "Очередь",
"forget_server": "Забыть сервер"
}
}