Skip to content

feat(ui): redesign sidebar UX with grouped sections and refined controls - #23

Merged
suradet-ps merged 3 commits into
mainfrom
feat/sidebar-redesign
Aug 15, 2026
Merged

feat(ui): redesign sidebar UX with grouped sections and refined controls#23
suradet-ps merged 3 commits into
mainfrom
feat/sidebar-redesign

Conversation

@suradet-ps

Copy link
Copy Markdown
Owner

What

Redesigns the controls sidebar (.controls) from a flat list of 14+ controls into five labeled groups — Code, Appearance, Canvas, Frame, Export — with refined interactions throughout.

Before

  • Flat, uniformly-spaced list; no hierarchy; hard to scan
  • Split-screen toggle buried at the bottom while its textareas appear at the top
  • Borderless bottom-hairline fields, raw checkboxes, tab-strip segmented control
  • No visible keyboard focus on sliders

After

  • Section headers: lucide icon + uppercase title, groups separated by hairlines
  • Split-screen toggle moved next to the code textarea it controls
  • Boxed hairline fields with hover (stone) and focus (ink + background lift) states
  • Joined segmented control with a filled active cell
  • Rectangular switch toggles (role="switch", 0.15s thumb slide)
  • Canvas sliders in a 2-column grid; thin custom sidebar scrollbar
  • Active swatch uses an inset ring (no 2px border-width shift)
  • Sliders, switches, and swatches gain visible focus-visible rings

Design system preserved: monochrome tokens only, no new hex colors, no rounded corners on controls, prefers-reduced-motion unaffected.

Commits

  1. refactor(app): group sidebar controls into labeled sectionscontrols.rs: section structure, split-toggle relocation, reusable Toggle switch component
  2. feat(ui): redesign sidebar styling with grouped sections and refined controlsstyle.css
  3. docs: document redesigned sidebar component patternsdocs/DESIGN.md

Verification

  • cargo check -p codeframe-app --target wasm32-unknown-unknown passes
  • cargo fmt --all --check passes
  • cargo clippy --workspace --all-targets -- -D warnings passes
  • cargo test --workspace passes (34 tests)
  • No raw hex added outside CSS token definitions (hex-audit CI rule)

Restructure the controls sidebar into five labeled groups (Code,
Appearance, Canvas, Frame, Export) with a section-header component.
Move the split-screen toggle next to the code textarea it controls,
and introduce a reusable Toggle switch component.
…controls

- Group sections are separated by hairlines with icon + uppercase title headers
- Fields switch from bottom-hairline to boxed hairline inputs with hover/focus states
- Scale selector becomes a joined segmented control with a filled active cell
- Raw checkboxes become rectangular switch toggles with a smooth 0.15s slide
- Canvas sliders arrange in a 2-column grid; thin custom scrollbar for the sidebar
- Active swatch uses an inset ring instead of a shifting 2px border
Update DESIGN.md to match the new grouped sidebar: section headers,
boxed hairline fields, joined segmented control, switch toggles, and
the inset-ring swatch active state.
@vercel

vercel Bot commented Aug 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
codeshot Ready Ready Preview Aug 15, 2026 2:43am

@suradet-ps
suradet-ps merged commit 3afa9be into main Aug 15, 2026
13 checks passed
@suradet-ps
suradet-ps deleted the feat/sidebar-redesign branch August 15, 2026 02:44
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