feat(ui): every app's frame around its tabs, Learn's moved into halkyon_ui
NavigationFrame is Learn's AppShell without its router and its tabs: a navigation rail from medium windows on with the app's icon on top, leading to the first tab, a bar floating above the foot below, the background of the screen in view around it, and a tick on every choice. TabsStack is Learn's container of the tabs' navigators, every tab kept alive and told whether it shows. Learn's shell is built on both, its tests unchanged; Train's is next. The rail's icon is drawn from 120 px at most in memory, as Learn's was. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
57262ebf73
commit
b45db6ea7c
1 changed files with 444 additions and 171 deletions
|
|
@ -27,12 +27,14 @@ LeanCode's lints.
|
|||
`readableContentMaxWidth`.
|
||||
- **Widgets** (`lib/src/widget/`): `showAdaptiveSheet` with `SheetScaffold`;
|
||||
`TopGradient`, `ScreenTint`, `ScreenColor`, `TintFrame`, `FramedScreen`
|
||||
and `TabVisibility`; `FloatingNavigationBar`; `AppLoadingIndicator`,
|
||||
`ButtonLoadingIndicator`, `AppRefreshIndicator`; `SectionCard`,
|
||||
`SliverCentered`, `EmptyListMessage`, `CountBadge`, `TitleWithKicker`,
|
||||
`CollapsingRow`, `ScrollHidingFab`, `liftWhileDragged`, `ReorderToggle`,
|
||||
`ReorderGrip`; `ChevronField`, `requiredDecoration`, `FieldInfoButton`,
|
||||
`CountStepper`, `PaletteColorPicker`, `TextLimits` with
|
||||
and `TabVisibility`; `FloatingNavigationBar`, and `NavigationFrame`, every
|
||||
app's frame around its tabs (the rail with the app's icon, the floating
|
||||
bar, a tick on every choice), whichever router drives it;
|
||||
`AppLoadingIndicator`, `ButtonLoadingIndicator`, `AppRefreshIndicator`;
|
||||
`SectionCard`, `SliverCentered`, `EmptyListMessage`, `CountBadge`,
|
||||
`TitleWithKicker`, `CollapsingRow`, `ScrollHidingFab`, `liftWhileDragged`,
|
||||
`ReorderToggle`, `ReorderGrip`; `ChevronField`, `requiredDecoration`,
|
||||
`FieldInfoButton`, `CountStepper`, `PaletteColorPicker`, `TextLimits` with
|
||||
`nearLimitCounter`; `confirmDestructiveAction`, `showUndoSnackBar`,
|
||||
`showMoreInfoSheet`; `FoundById`; `KeyboardBackOnResume`; `BrandWordmark`
|
||||
and `LaunchScreen`, which take the app's word and icon.
|
||||
|
|
|
|||
Loading…
Reference in a new issue