Linthra UI Lab / editable design structure for Now Playing#218
Closed
TheZupZup wants to merge 1 commit into
Closed
Linthra UI Lab / editable design structure for Now Playing#218TheZupZup wants to merge 1 commit into
TheZupZup wants to merge 1 commit into
Conversation
…linthra surface
Move the Now Playing screen's tunable look — spacing, artwork size, blur
strength, corner radius, button/icon/text sizes, the bottom-button order,
icons, and labels — into a new, heavily-commented lib/ui_linthra/ folder so
the maintainer can retune the design on Windows without reading the playback,
provider, or networking code.
The current design is the reference and is preserved: the config files were
filled in with the exact values the screen already used, and the player
widgets now read from them instead of hard-coding numbers. No playback,
provider, token, or security behaviour changes; all existing player tests
(labels, tooltips, icons, source badges, transport) still pass.
New surface:
- design_tokens.dart sizes, blur, radius, shadows, weights, opacities
- now_playing_layout_config spacing/gaps, on-screen words, text styles
- now_playing_actions_config bottom action-row order + per-button icon/label
- now_playing_preview_data fake states for the preview
- preview/ dev-only preview app (real screen, fake data,
offline — no Plex/Jellyfin/Navidrome needed)
- README.md folder overview
Docs: add docs/ui-editing-guide.md (how to open on Windows, what to edit for
each change, how to preview/test, and which files not to touch) and a pointer
from the codebase tour.
https://claude.ai/code/session_01Bv1N4G2akQmaLGzSNAWgqb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Goal
Make the current Now Playing design easy for the maintainer to edit by hand (on Windows) without digging through playback/provider logic.
What changed
A new, heavily-commented design surface at
lib/ui_linthra/:design_tokens.dartnow_playing_layout_config.dartnow_playing_actions_config.dartnow_playing_preview_data.dartpreview/README.mdThe player widgets (
lib/features/player/…) now read their values from these files instead of hard-coding numbers. Playback logic, provider logic, and the "Playing from …" safe labelling are untouched.Easy button editing
nowPlayingActionOrderis the one obvious knob for the bottom row:favorite,addToPlaylist,queue,lyrics,sleepTimer,shuffle,repeatare all supported and wired. No playback code to touch.Dev-only preview (no server needed)
Renders the real
PlayerScreenwith fake data and a dropdown to flip between samples (Plex / Jellyfin / Navidrome / local / cache, paused / buffering / error, long titles, no-artwork). Works fully offline — the preview paints its own cover so the blurred-artwork hero shows without Plex/Jellyfin/Navidrome. Hot-reload to see edits instantly.Docs
docs/ui-editing-guide.md— how to open the project on Windows, exactly which file/line to edit for button order, spacing, colours, artwork size, labels, text size; how to preview/test; and which files not to edit unless changing playback logic.Preserved behaviour ✅
Out of scope (as requested)
No redesign, no new provider, no lyrics implementation, no cache/offline changes, no Plex.tv OAuth, no version bump, no user-facing theme editor / runtime customization UI.
Verification
flutter analyze— cleandart format --set-exit-if-changed .— cleanflutter test— full suite passes, including the existing Now Playing widget tests (labels, tooltips, icons, source badges, transport) and new tests for the preview controller + screen.https://claude.ai/code/session_01Bv1N4G2akQmaLGzSNAWgqb
Generated by Claude Code