Skip to content

refactor: align core views to a shared visual system#39

Open
rowline wants to merge 1 commit into
signerlabs:mainfrom
rowline:main
Open

refactor: align core views to a shared visual system#39
rowline wants to merge 1 commit into
signerlabs:mainfrom
rowline:main

Conversation

@rowline

@rowline rowline commented May 12, 2026

Copy link
Copy Markdown

Summary

  • Introduce SWSpacing / SWRadius enums and a Font extension (.swSectionTitle / .swCardTitle / .swBody / .swMeta) as a single source of truth for the showcase app's visual language
  • Migrate HomeView, ChatView, ListItem, and SettingView to the shared swCardStyle / swAccentCardStyle surface system; replace inline secondarySystemGroupedBackground + hand-rolled strokes
  • Tighten settings polish: legal links use arrow.up.right (external-link affordance), Delete Account stops double-emphasizing red, API key row aligned to body monospaced with middle truncation, recommended apps become a curated name + tagline list
  • Naming sweep: ComponentComponents tab, SettingSettings row
  • CLAUDE.md now has a "Visual System" section so future contributions can reach for the tokens instead of inventing local conventions

Test plan

  • iOS Simulator: HomeView hero / install card / module grid render at the new spacing and radii
  • iOS Simulator: ChatView AI bubble + ComponentPreview bubble + thinking indicator all use the unified card surface
  • iOS Simulator: SettingView recommended apps row shows app name + tagline cleanly; Delete Account no longer reads as double-red
  • Build green on iOS Simulator (verified locally: `** BUILD SUCCEEDED **`)
  • Visual diff against `main` shows no regressions in light/dark mode

🤖 Generated with Claude Code

Introduce SWSpacing / SWRadius enums and a Font extension for typography
roles (.swSectionTitle / .swCardTitle / .swBody / .swMeta) so cards,
buttons, and rows can stop reinventing local conventions.

- SWViewExtension: design tokens, .swCardStyle / .swAccentCardStyle, swPrimary / swSecondary buttons now reference tokens by default
- HomeView: skillsCard and ModuleCard adopt swCardStyle; linksRow softened; hero copy compressed; 4th module renamed Component → Toolkit
- ChatView: AI bubble + ComponentPreview + thinking indicator unified via swCardStyle / SWRadius.large
- ListItem: rewritten as tinted-icon row primitive with optional color, used unchanged across ComponentView callsites
- SettingView: legal links use arrow.up.right; Delete Account drops double-emphasis; API key row aligned to body monospaced + middle truncation; recommended apps split into name + tagline curated rows
- RootTabView: tab label Component → Components; ComponentView: row title Setting → Settings
- CLAUDE.md: new Visual System section documenting the tokens and the surface/button/typography rules

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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