Phase 2: Spotify/SoundCloud-style theme, nav shell, and component library
Redirects Deepwave from a vanilla Subsonic client toward the Spotify/ SoundCloud-style product the user wants, per the Phase 2+ roadmap. - Dark-first Material3 theme with a fixed aqua accent (no Material You dynamic color), full type scale, rounded-corner shape system - Typed (@Serializable) navigation routes; new bottom-tab shell (Home/Search/Library) with a settings entry point and mini-player placeholder bar, replacing the single placeholder Home screen - Logout moved out of Home into a dedicated Settings screen - Reusable component library (TrackRow, AlbumCard, ArtistCard, ArtworkPlaceholder, BottomNavBar, MiniPlayerBar) for Phase 3 to wire real data into - Strings externalized to strings.xml - Security fix: exclude the Tink keyset and encrypted credentials DataStore from Android auto-backup (backup_rules.xml / data_extraction_rules.xml), previously unexcluded despite allowBackup=true - Fix: Home screen's content column was missing verticalScroll, making it unscrollable once content exceeds the viewport; also added breathing room between each row's header and its cards - Split Login/Settings into stateless content composables + thin ViewModel-wired wrappers, and added @Preview coverage (including interactive previews for MainScreen and BottomNavBar) across every screen and component so the UI can be reviewed in Android Studio's preview pane without running on a device Added material-icons-extended as a pragmatic deviation from the Phase 2 plan (no new deps) since later phases all need icons outside Compose's small default set (play/pause/skip/download/playlist). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
1971d02e2b
commit
a07868b688
@@ -1,3 +1,30 @@
|
||||
<resources>
|
||||
<string name="app_name">Deepwave</string>
|
||||
</resources>
|
||||
|
||||
<string name="login_title">Deepwave</string>
|
||||
<string name="login_subtitle">Connect to your Navidrome server</string>
|
||||
<string name="login_server_url_label">Server URL</string>
|
||||
<string name="login_server_url_placeholder">https://navidrome.example.com</string>
|
||||
<string name="login_username_label">Username</string>
|
||||
<string name="login_password_label">Password</string>
|
||||
<string name="login_button">Log in</string>
|
||||
|
||||
<string name="nav_home">Home</string>
|
||||
<string name="nav_search">Search</string>
|
||||
<string name="nav_library">Library</string>
|
||||
<string name="action_settings">Settings</string>
|
||||
<string name="action_back">Back</string>
|
||||
|
||||
<string name="settings_title">Settings</string>
|
||||
<string name="settings_log_out">Log out</string>
|
||||
|
||||
<string name="search_placeholder">Search coming soon</string>
|
||||
<string name="library_placeholder">Your library coming soon</string>
|
||||
|
||||
<string name="player_nothing_playing">Nothing playing</string>
|
||||
<string name="player_play">Play</string>
|
||||
|
||||
<string name="home_row_recently_added">Recently Added</string>
|
||||
<string name="home_row_recently_played">Recently Played</string>
|
||||
<string name="home_row_made_for_you">Made For You</string>
|
||||
</resources>
|
||||
|
||||
@@ -6,8 +6,6 @@
|
||||
See https://developer.android.com/about/versions/12/backup-restore
|
||||
-->
|
||||
<full-backup-content>
|
||||
<!--
|
||||
<include domain="sharedpref" path="."/>
|
||||
<exclude domain="sharedpref" path="device.xml"/>
|
||||
-->
|
||||
<exclude domain="sharedpref" path="deepwave_master_keyset_prefs.xml"/>
|
||||
<exclude domain="file" path="datastore/deepwave_credentials.preferences_pb"/>
|
||||
</full-backup-content>
|
||||
@@ -5,15 +5,11 @@
|
||||
-->
|
||||
<data-extraction-rules>
|
||||
<cloud-backup>
|
||||
<!-- TODO: Use <include> and <exclude> to control what is backed up.
|
||||
<include .../>
|
||||
<exclude .../>
|
||||
-->
|
||||
<exclude domain="sharedpref" path="deepwave_master_keyset_prefs.xml"/>
|
||||
<exclude domain="file" path="datastore/deepwave_credentials.preferences_pb"/>
|
||||
</cloud-backup>
|
||||
<!--
|
||||
<device-transfer>
|
||||
<include .../>
|
||||
<exclude .../>
|
||||
<exclude domain="sharedpref" path="deepwave_master_keyset_prefs.xml"/>
|
||||
<exclude domain="file" path="datastore/deepwave_credentials.preferences_pb"/>
|
||||
</device-transfer>
|
||||
-->
|
||||
</data-extraction-rules>
|
||||
Reference in New Issue
Block a user