Raised surfaces, quieter toolbar, and the menus rebuilt, on main - #166
Conversation
Flutter has no inner shadow, so InsetShadowDecoration paints them the way Chromium does: clip to the box, fill the plane minus the offset-and-shrunk box, blur the ring. It also takes a gradient fill, outer drop shadows, and a border, and it tweens from a plain rounded BoxDecoration so animated containers can fade a selection in. Settings.raised(color, radius) builds the lit surface every selected or primary state now shares: a fill lighter at the top, a 1px light inside the top edge, a 1px shade inside the bottom, a 1px shadow beneath, bare sides. Two lightness numbers set the lift for every base color. DESIGN.md records the rule under Tonal First. Pixel tests cover the edges, the gradient, the drop shadow, and the tween. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Toolbar glyphs drop from the 300 to the 200 Lucide weight and rest on zinc-300 instead of full white, coming up to foreground on hover. The sync popover pins its text to the start (the editor's centered alignment leaked in), loses its bold title, and puts its actions in one right-aligned row. The map card was 262pt wide with 260pt of contents, so the slack landed on the right of the side toggle. Its width is derived from the tile, gap, and toggle now, so both sides get the same 4pt. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…, and delete area Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… system Selected and primary states are raised surfaces now instead of flat violet or zinc fills: the library tab, checked sidebar tools, the thickness and agent-filter pills, the active page row and its transition sweep, the strategy card's hover ring, primary buttons through the Shad theme, the placement banner, and toasts. The page row is rebuilt as fixed layers so switching states no longer shifts its content by the resting border's width. Active items keep their siblings' weight; the surface marks them. The strategy quick switcher becomes a proper menu: popover grey, hairline border, 12px radius, the floating-menu shadow, flat ghost rows with a thumbnail. Its bar clips both segments so hover fills stop spilling past the border. The cloud-exit dialog lays its actions out in one wrapping row with sentence-case labels. The cloud outbox banner stops pushing the library grid down and floats in the corner as a status card instead. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The folder dialog on main had no shared submit path, so Enter and Done now both go through one guarded _submit. Two imports the Lucide sweep had already added on main are deduplicated, and the analyzer's mechanical infos are cleared. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
Warning Review limit reachedNext included review available in 45 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (23)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
The rest of the cloud branch's UI pass (#163), brought to main on top of #164. Cloud-only pieces (the sync button, the outbox status card, the cloud-exit dialog) are left out; everything else is the same look.
Raised surfaces
Selected and primary states are no longer flat fills.
InsetShadowDecoration(lib/widgets/inset_shadow_decoration.dart) paints inner shadows the way Chromium does, plus a gradient fill, drop shadows, and a border, and it tweens from a plainBoxDecoration.Settings.raised(color, radius)builds the lit surface from any base color: a fill lighter at the top, a 1px light inside the top edge, a 1px shade inside the bottom, a 1px shadow beneath, bare sides. Two lightness numbers set the lift everywhere.Applied to: the library tab, checked sidebar tools, the thickness and agent-filter pills, the active page row and its transition sweep, the strategy card's hover ring, primary buttons through the Shad theme, the placement banner, and toasts. The page row is rebuilt as fixed layers so switching states no longer shifts its content by the resting border's width. Active items keep their siblings' weight; the surface marks them.
Toolbar and map card
Toolbar glyphs drop to the 200 Lucide weight and rest on zinc-300, coming up to foreground on hover. The map card's width is derived from its contents so both inner gaps are 4pt.
Menus
The strategy quick switcher is a proper menu now: popover grey, hairline border, 12px radius, the floating-menu shadow, flat ghost rows with a thumbnail. Its bar clips both segments so hover fills stop spilling past the border. The Save changes dialog drops its extra padding and uses a ghost Cancel. The folder dialog focuses its field and submits on Enter through one guarded path.
Also
Remaining Lucide sweep in the color picker, expansion tile, demo tag, and delete area; DESIGN.md gains the Icons section and the raised-surface rule; analyzer infos cleared.
Tests: full suite passes apart from
update_checker_testandwindows_desktop_update_controller_test, which fail on a clean main too.🤖 Generated with Claude Code