Repository navigation
Practice: one-line grouped toolbar, auto-hiding nav, legible note names - #4
Merged
Merged
Conversation
Mode, hands, tempo and view become compact button groups on one line. With a piece open the top nav slides away and returns at the top edge, on a swipe down, from a menu button on touch screens, or on keyboard focus. Sheet note names are drawn as hand-coloured pills in a row under each staff. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CPiXAjmdTe5JaFZJg4GKtW
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CPiXAjmdTe5JaFZJg4GKtW
This branch was successfully deployed
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.
Requested by Paul · project thread
Before: with a song open, the practice toolbar was two rows of full-size separate pills (Start, five modes, Left/Right/Both, tempo, Metronome, the loop hint, then Sheet/Both/Notes on a second row), the top nav took another 56px, and the note names under the sheet were 10px blue (light) or grey (dark) text squeezed against stems, hard to tell apart from the notes. Chord names were dropped after the first note.
After: the toolbar is a single 48px line of compact button groups: Start · Mode (Listen / Wait / Play along / Follow me / Loop drill) · Hands (Left / Right / Both) · Tempo (slider, %, metronome toggle, beat dot) · shortcuts · View (Sheet / Both / Notes). The nav slides up out of the way and comes back when the mouse reaches the top edge. Note names are hand-coloured pills (blue right hand, soft purple left hand) in a row under each staff, with chords stacked in pitch order.
Built on
main; the design system restyle (#2) and mic noise gate (#3) are both already merged.How
PracticeScreen.tsx/styles.css: each group is a soft-cloud pill track with the selected option inverted to ink, per the design system ("selected = full inversion", one ink pill = Start). The Metronome button is now atimericon toggle inside the tempo group. "Drag across bars to loop" moved to the idle hint line at the bottom. One line down to 1000px wide (checked at 1440, 1280, 1180 and 1024); narrower, the toolbar wraps to two short lines rather than hiding controls off-screen.App.tsx/store.ts:immersive(practice screen with a score) makes the navposition: fixedand translated up. It is revealed by the mouse at the top edge (or leaving the window upwards), by a swipe down from the top 32px on touch, by a roundmenubutton at the start of the toolbar that only shows on touch screens (hover: none/ coarse pointer), and by keyboard focus (:has(:focus-visible)). It hides again when the mouse moves below it, on a tap outside it, or on Escape. It overlays the toolbar without shadow, using the existing inset hairline.SheetView.tsx: names are keyed by graphical note (fixes chords showing one name), placed under the lower of the staff or the note's stem, and drawn as pills with ink/white text. When names are on, OSMD'sMinSkyBottomDistBetweenStaves/Systemsgrow so the row fits between staves without covering the bass notes. The sheet overlay isn't inverted in dark mode, so the pills look the same in both themes.docs/DECISIONS.md.Checks:
npm run typecheck,npm test(106 passed),npm run build,npm run e2e(9 passed). The course e2e now reveals the nav from the top edge before clicking it, and a new practice e2e checks hide/reveal and that the toolbar fits on one line without overflow.🤖 Generated with Claude Code
https://claude.ai/code/session_01CPiXAjmdTe5JaFZJg4GKtW
Generated by Claude Code