feat(train): Home, Maps, Record, Groups and Profile in Learn's frame, washed in carrot (ADR 0030, D60)

Train's tabs are Strava's five where one screen with four tabs at its
top had held workouts, days, plans and routes: Home the workouts, Maps
the routes, Record recording and the interval plans, Groups a screen
saying they come later, Profile the days and the way to the account.
A device that doesn't record has no Record tab, its plans beside the
days in Profile.

The frame is halkyon_ui's NavigationFrame, driven by go_router as
Learn's: a workout's page opens in Home and a day's in Profile with the
tabs beside them; the route and plan editors and the recording cover
them, their content handed over as it is. Every tab washes down from the
top in carrot, the warm end of Train's icon, as Learn's in cobalt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-10-30 23:52:48 +01:00
commit d4d749eb9f
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -1469,6 +1469,24 @@ Strava. What was found, 27 Oct:
nearest where it was held, each waypoint's place on the line found from the one
before's on, so a way out and back the same streets keeps its stretches in order
(`insertionIndex`, `route_legs.dart`).
- **D60 Train's tabs, as Strava's and in Learn's frame** (the developer's; 30 Oct):
Home (the workouts), Maps (the routes), Record (recording, and the interval plans),
Groups (to come; for now a screen that says so) and Profile (the days, and the way to
the account), as Strava's five, where one screen with four tabs at its top had held
workouts, days, plans and routes, and a floating button recorded. Record is left out
where the device doesn't record (the desktop), which keeps the plans beside the days
in Profile. The frame is Learn's, moved into halkyon_ui for every app
(`NavigationFrame`, `TabsStack`): a rail with the app's icon on top from medium
windows on, a bar floating above the foot below, a tick on every choice. Driven by
go_router as Learn's (a `StatefulShellRoute`, each tab keeping its own stack): a
workout's page opens in Home and a day's in Profile with the tabs beside them, the
route and plan editors and the recording over them; over keeping `Navigator.push`
under hand-made nested navigators (a second pattern beside Learn's, Android's back
handled by hand) and over tabs whose every screen covers the bar (as before, unlike
Learn and Strava). Every screen washes down from the top in carrot, the warm end of
Train's icon, as Learn's in cobalt (`TopGradient` under the app's `ScreenColor`);
buttons and links stay cobalt. Over cobalt (Learn's, so the two apps would look
alike), strawberry and the icon's whole sweep.
## Consequences