Skip to content

The six full-screen flows wear the design's floating bar; About opens on the app - #554

Merged
maximsan merged 5 commits into
mainfrom
feat/immersive-bars-and-about
Sep 9, 2026
Merged

The six full-screen flows wear the design's floating bar; About opens on the app#554
maximsan merged 5 commits into
mainfrom
feat/immersive-bars-and-about

Conversation

@maximsan

@maximsan maximsan commented Sep 8, 2026

Copy link
Copy Markdown
Owner

Closes #525 and #527.

The six full-screen flows drop Material's bar for FloatTopbar, now on the design's 32px 1fr 32px grid with a centre and a trailing slot, held over the page by one FloatBarScaffold. A lesson, a mini-game and both drills seal from the first frame — the page's own colour through the status-bar band, hairline under, content passing beneath. The mini-game intro and Term of the Day show nothing until their content moves, then take the header fill and blur that Settings and the Atlas already wear. The intro's body opens on MINI-GAME, which is where the design keeps a screen's name and where the word went when the bar's title came out. About opens on Roasty, BrewPath and the tagline, centred; the other three screens behind Settings share the frame unchanged.

#525's body was wrong, and is rewritten. It said the design floats all six, transparent at rest. The running prototype draws four of them solid and two permanently transparent, so building to the ticket would have moved four screens away from the design. The owner confirmed an uncommitted design update — the two formerly-transparent screens now share the scroll-aware bar, and all six seal the band, four always and two on scroll — and that is what this builds.

One thing left undone, filed as #561 (backlog). vocab_game_screen.dart is 314 lines, and the length is a symptom: flashcards keeps its progression in a value it can unit-test, and Guess the term keeps its in the State. That asymmetry predates this branch, which touched 22 lines of the file to swap its bar.

Checks: dart format, flutter analyze, the metrics gate, the comment check, the changelog check and the full suite (2815) pass. All four screens were driven on a simulator and read against the design, which caught three defects no test could see: About's blurb left-aligned where the design centres it, every run opening a gutter low because the bar's room was added to each scroll's own padding, and — with the review — the mini-game results view given no room at all and sitting under the bar.

Five conflicts, four of them the same comments shortened two ways by the
comment cap — main's wording is kept in each. The fifth is the changelog,
where both sides added bullets under Changed; both are kept.

The lesson screen's card call took main's new `seed: cardSeed(...)` shape
through the auto-merge, which is why the bar work and the recall payoff sit
together cleanly.
…very bar

The word *Mini-game* left the bar with the title and landed nowhere. The design
opens that body on it and files the module the game drills on the catalog row
that reached it, so the kicker says what kind of thing this is.

`FloatBarScaffold` replaces the `Stack` and `Positioned` each of the six
screens had copied, so a flow now reads as its bar over its page.
@maximsan
maximsan merged commit 7e4f677 into main Sep 9, 2026
7 checks passed
@maximsan
maximsan deleted the feat/immersive-bars-and-about branch September 9, 2026 09:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

The bar over a lesson or mini-game is a solid strip, where the design lets the page show through

1 participant