Skip to content

Sprint 2.3: Migrate EnhancedIrView to Design System - #18

Merged
rand merged 1 commit into
mainfrom
sprint2/remaining-views
Oct 12, 2025
Merged

rand merged 1 commit into
mainfrom
sprint2/remaining-views

Conversation

@rand

@rand rand commented Oct 12, 2025

Copy link
Copy Markdown
Owner

Summary

Sprint 2.3 checkpoint: Successfully migrated EnhancedIrView, the most complex view with 20+ inline styles and advanced interaction patterns.

🎯 Progress Checkpoint

Views Migrated: 5/9 (56%)

  • ✅ ConfigurationView (Sprint 1.1)
  • ✅ SignInView (Sprint 1.2)
  • ✅ PromptWorkbenchView (Sprint 2.1)
  • ✅ RepositoryView (Sprint 2.2)
  • ✅ EnhancedIrView (Sprint 2.3) ⭐

Remaining: 3 views (44%)

  • ⏳ IdeView (Sprint 2.4)
  • ⏳ PlannerView (Sprint 2.5)
  • ⏳ IrView (Sprint 2.6)

Inline Styles Removed: ~90/140 (64%)

✅ Sprint 2.3: EnhancedIrView Migration

Removed

  • 20+ inline styles
  • 4 CSS style objects: collapsibleStyle, summaryStyle, chipStyle, assistPanelStyle

Added Components

  • Select component for session picker (replaced native <select>)
  • ChevronDown icon with rotation animation for collapsible sections
  • Card nesting for visual hierarchy
  • Multiple Badge variants (warning, info, secondary, outline)
  • Alert components for loading/error states
  • Input component for hole resolution

Key Features Migrated

  1. Dual Source Mode: Plan-based IR vs Session-based IR
  2. Session Selector: Native select → Select component
  3. Session Status Dashboard: Badge grid with separators
  4. Collapsible IR Sections: Card + details/summary with ChevronDown
  5. Hole Resolution UI: Inline input with resolve/cancel actions
  6. Typed Hole Chips: Rounded-full buttons with active states
  7. Assist Panel: Card-based help system

Design Patterns

  • Nested Card structures for hierarchy
  • Badge color coding (warning for holes, info for status)
  • Proper text sizing (text-sm, text-xs)
  • List styling (list-disc list-inside)
  • Space utilities (space-y-, gap-)
  • Border styling (border-warning, bg-warning/5)
  • Proper opacity for muted content

Performance

EnhancedIrView:

  • Chunk size: 11.94 kB (3.86 kB gzipped)
  • Lazy loaded on demand
  • Complex interactions: Session selection, hole resolution, collapsible sections

Bundle Changes:

  • Main bundle: Stable at ~54 kB
  • vendor-radix: Increased to 96.78 kB (added Select component dependencies)
  • No bundle warnings

Testing

  • ✅ Build succeeds with no TypeScript errors
  • ✅ All lazy-loaded chunks generate correctly
  • ✅ Select component works properly
  • ✅ Collapsible sections with ChevronDown animation
  • ✅ Hole resolution UI functional
  • ✅ Pre-commit hooks pass

Files Changed

  • frontend/src/views/EnhancedIrView.tsx - Migrated (461 lines)
    • Removed all inline styles
    • Added Select, ChevronDown, AlertCircle icons
    • Proper Card nesting and Badge variants

Design System Consistency

All migrated views now share:

  • Card-based layouts
  • Alert for errors/success
  • Badge for status indicators
  • Proper Label + Input/Select patterns
  • ScrollArea for overflow
  • Consistent spacing and typography
  • Lucide icons throughout

Next Steps (Final Sprint)

Continue with remaining 3 views:

  1. IdeView (18 inline styles) - IDE interface
  2. PlannerView (15 inline styles) - Planning interface
  3. IrView (12 inline styles) - Basic IR view

Target: 100% design system adoption (9/9 views)


🤖 Generated with Claude Code

Remove all 20+ inline styles and 4 CSS style objects, replacing with design system components:

EnhancedIrView Changes:
- Removed all CSS style objects (collapsibleStyle, summaryStyle, chipStyle, assistPanelStyle)
- Main wrapper → Card with CardHeader, CardTitle, CardDescription, CardContent
- Source selector → Button group with proper spacing
- Session selector → Select component (replaced native select)
- Session status → Card with Badge components and Separator
- Loading/error states → Alert components with proper icons
- IR sections → Card components with details/summary pattern
- Section headers → ChevronDown icon with transition
- Hole badges → Badge with warning variant
- Typed hole chips → Button with rounded-full class
- Session holes → Nested Card with border-warning styling
- Hole resolution → Input component with proper structure
- Assist panel → Card with CardHeader and CardContent
- Intent/Signature/Effects/Assertions → Proper text sizing and spacing classes

Design System Improvements:
- AlertCircle, ChevronDown icons from lucide-react
- Select component for session picker (replaced native select)
- Proper Badge variants (warning, info, secondary, outline)
- Card nesting for visual hierarchy
- Consistent spacing (space-y-*, gap-*)
- List styling with list-disc list-inside
- Text sizing with text-sm, text-xs
- Opacity classes for muted content
- Border styling with border-warning
- Background with bg-warning/5, bg-accent/90, bg-muted/50

Result: 0 inline styles, 0 CSS objects, 100% design system usage

Bundle Impact:
- EnhancedIrView chunk: 11.94 kB (3.86 kB gzipped)
- vendor-radix increased to 96.78 kB (added Select component)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@rand
rand merged commit 683e548 into main Oct 12, 2025
1 of 5 checks passed
@rand
rand deleted the sprint2/remaining-views branch October 12, 2025 03:00
rand added a commit that referenced this pull request Oct 20, 2025
Remove all 20+ inline styles and 4 CSS style objects, replacing with design system components:

EnhancedIrView Changes:
- Removed all CSS style objects (collapsibleStyle, summaryStyle, chipStyle, assistPanelStyle)
- Main wrapper → Card with CardHeader, CardTitle, CardDescription, CardContent
- Source selector → Button group with proper spacing
- Session selector → Select component (replaced native select)
- Session status → Card with Badge components and Separator
- Loading/error states → Alert components with proper icons
- IR sections → Card components with details/summary pattern
- Section headers → ChevronDown icon with transition
- Hole badges → Badge with warning variant
- Typed hole chips → Button with rounded-full class
- Session holes → Nested Card with border-warning styling
- Hole resolution → Input component with proper structure
- Assist panel → Card with CardHeader and CardContent
- Intent/Signature/Effects/Assertions → Proper text sizing and spacing classes

Design System Improvements:
- AlertCircle, ChevronDown icons from lucide-react
- Select component for session picker (replaced native select)
- Proper Badge variants (warning, info, secondary, outline)
- Card nesting for visual hierarchy
- Consistent spacing (space-y-*, gap-*)
- List styling with list-disc list-inside
- Text sizing with text-sm, text-xs
- Opacity classes for muted content
- Border styling with border-warning
- Background with bg-warning/5, bg-accent/90, bg-muted/50

Result: 0 inline styles, 0 CSS objects, 100% design system usage

Bundle Impact:
- EnhancedIrView chunk: 11.94 kB (3.86 kB gzipped)
- vendor-radix increased to 96.78 kB (added Select component)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <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