Remove scrollbar thumb and restructure Settings profile card
- Revert the scrollbar-thumb feature entirely (per-view Scrollbar wrappers and the ScrollbarThemeData override) - back to plain scrollables with no visible thumb - Settings: move the logout button into the profile card (next to the name/email), and move the ONLINE/OFFLINE badge + "Connected to..." text out of the top row into a combined line at the bottom of the card, instead of split between the AppBar and the top of the screen - Update architecture.md/styling.md to drop the stale scrollbar-theme documentation Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -101,8 +101,8 @@ owns the app's share-intent listener (`receive_sharing_intent`): both
|
||||
Five of the six tabs (all but Files) plus each tab's own controls share
|
||||
[`SyncedHeaderScaffold`](../../lib/widgets/synced_header_scaffold.dart) — a
|
||||
`CustomScrollView` with a pull-down "sync status" header (Google
|
||||
Photos-style), a `Scrollbar`, and a classic Material refresh spinner shown
|
||||
during a pull-triggered sync. `SearchView`, `AccountView` (Settings), the
|
||||
Photos-style) and a classic Material refresh spinner shown during a
|
||||
pull-triggered sync. `SearchView`, `AccountView` (Settings), the
|
||||
file-details sheet, the share sheet, and `ShareUploadView` (the
|
||||
share-to-upload destination picker) are pushed on top via
|
||||
`Navigator`/`showModalBottomSheet`/`showGradualBottomSheet` rather than
|
||||
|
||||
@@ -29,13 +29,10 @@ widgets. Key points:
|
||||
- Dark theme supports an `amoled` flag that flattens every surface tone to
|
||||
pure black — extend `colorScheme.copyWith(...)` there if a new surface
|
||||
role needs the same treatment, don't hardcode `Colors.black` at call sites.
|
||||
- **Scrollbars**: a project-wide `scrollbarTheme` (`AppTheme._scrollbarTheme`)
|
||||
gives every `Scrollbar` in the app a thick, rounded, always-visible,
|
||||
draggable thumb (Android fast-scroll style) derived from
|
||||
`colorScheme.onSurfaceVariant` — don't pass per-instance `thickness`/
|
||||
`radius`/`thumbVisibility`/`interactive`, just wrap scrollable content in a
|
||||
plain `Scrollbar(child: ...)` (pass `controller:` matching the scrollable's
|
||||
own when one exists) and it picks up the theme automatically.
|
||||
- **Scrollbars are deliberately not shown** — every scrollable list in the
|
||||
app is a plain `ListView`/`CustomScrollView` with no `Scrollbar` wrapper
|
||||
and no `scrollbarTheme` override (tried once, explicitly reverted). Don't
|
||||
reintroduce one without being asked.
|
||||
|
||||
## Reusable chrome
|
||||
|
||||
|
||||
Reference in New Issue
Block a user