Skip to content

feat(settings,home): rework the settings and the rail from the design - #1519

Draft
lollipopkit wants to merge 4 commits into
mainfrom
feat/settings-from-design
Draft

lollipopkit wants to merge 4 commits into
mainfrom
feat/settings-from-design

Conversation

@lollipopkit

Copy link
Copy Markdown
Owner

Settings become a surface beside the rail rather than a route over it; the rail is laid out here at 55pt an item; the form is named groups in two columns, and the search looks through the rows themselves.

fl_lib: lollipopkit/fl_lib@eeca4e8

The settings are shown where a tab is shown rather than pushed over the
whole window, which used to take away the rail they were reached from. The
rail itself is laid out here rather than by `NavigationRail`, at 55pt an item
against 88: its vertical spacing is private to the M3 implementation, and the
connection count now hangs off the indicator's corner instead of the glyph.

The form is named groups — one card each, with the rows that were folded
behind tiles called "More" under a heading that says what they are — laid out
in two columns. Every row carries the label the search reads, so the search
looks through the settings themselves and draws what it finds as the row it
is: a switch found by searching is a switch.
@coderabbitai

coderabbitai Bot commented Sep 19, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Comment @coderabbitai help to get the list of available commands.

Shut it is an icon in a pill and nothing else — 39pt an item against 55,
with the name as its tooltip — and it opens over the tab beside it rather
than widening the column, so a tab is never laid out to two widths.

The pill's geometry is read off the animation and only its fill is implicit:
an `AnimatedContainer` easing the width towards this frame's number while the
row inside was already laid out for it is a `RenderFlex` overflow, reported
with a whole widget tree on every frame of the opening. Nothing fades through
an `Opacity` either — two `saveLayer`s an item, sixty times a second, is what
made opening it stutter.
Four things about an item differed between the two shapes by a point or
three — the pill's height, its padding, the glyph's size and the gap under
it — so every frame re-rasterised the icon a fraction smaller and a fraction
further along. A filled glyph on a filled pill shows that as crawling rather
than as sliding, which is why only the selected one looked wrong.

The pill's width is the only measurement the opening changes now. The badge
hangs off the glyph rather than off the pill's far edge, which travels 124
points and used to take the badge with it, across the name arriving under it.
Which item is lit crosses over on its own animation — the fill, both colours
and the weight together — rather than the fill easing under a label that
snapped.
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.

1 participant