Skip to content

UI Migration: Component Refactor + Theme Separation + Skills Page#20

Merged
gaoyangz77 merged 2 commits intogaoyangz77:mainfrom
chinayin:ui-migration
Mar 19, 2026
Merged

UI Migration: Component Refactor + Theme Separation + Skills Page#20
gaoyangz77 merged 2 commits intogaoyangz77:mainfrom
chinayin:ui-migration

Conversation

@chinayin
Copy link
Copy Markdown
Contributor

UI Migration: Component Refactor + Theme Separation + Skills Page

1. BottomActions + icons.tsx

  • Extract sidebar bottom buttons into <BottomActions> component (ThemeToggle, LangToggle, HelpLink, UserAvatarButton)
  • Consolidate all inline SVGs into icons.tsx with Icon base class (default size/strokeWidth inheritance)
  • Add HelpLink component and external-links.ts config
  • ThemeToggle menu icons: emoji → SVG
  • Sidebar width: 240 → 200px

2. Theme Separation

  • Extract 70+ hardcoded brand colors from styles.css into CSS variables
  • New files: theme-default.css (blue)
  • Switch theme by changing one import in main.tsx
  • Variable categories: --brand-tint-*, --accent-secondary-*, --btn-primary-*, --color-sidebar-*, shadows, focus rings

3. Tab Unification

  • Merge 3 tab implementations (.tab-bar, .skills-tab-*, .auth-tab-*) into single .tab-bar / .tab-btn system
  • Add .tab-bar--spread modifier for equal-width auth tabs
  • Remove all legacy tab CSS

4. Settings Hint Styling

  • Remove duplicate auto-launch hint text
  • Unify .form-hint / .form-help / .form-help-sm to 13px, line-height 1.5
  • Data directory label aligned with toggle section style

5. Skills Page Overhaul

  • New SkillCard.tsx component (name, slug, version badge, description, labels, meta stats, actions)
  • Install button: filled gradient → outline style with brand color border
  • Installed state: disabled button → green badge
  • Slug moved to separate line below name (fixes long name overlap)
  • Description clamped to 3 lines
  • Featured/Essential tab hidden, default to Market tab
  • All colors use CSS variables for theme support
  • Dark mode support for all skill card elements
  • New i18n keys: tabEssential, emptyEssential, dblClickCopy, copied

6. Bug Fixes

  • Global box-sizing: border-box applied to all elements (fixes input overflow)
  • OnboardingPage bottom/skip buttons: absolutefixed (fixes z-index occlusion)

- AuthPage.tsx: accept deletion from main (file removed in f3277af)
- SkillsPage.tsx: keep both SkillCard import (PR) and DEFAULTS import (main)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@gaoyangz77 gaoyangz77 merged commit 3b323e4 into gaoyangz77:main Mar 19, 2026
gaoyangz77 added a commit that referenced this pull request Mar 19, 2026
- Restore page-jump pagination with numbered buttons and ellipsis
- Remove dead essential tab code (no button to activate it)
- Restore 3-column grid layout with responsive breakpoints

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@chinayin chinayin deleted the ui-migration branch March 24, 2026 08:33
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.

2 participants