Context
LaunchButton is duplicated in SessionCard.tsx (lines 15-37) and $sessionId.tsx (lines 32-57) with nearly identical logic. Only difference is padding classes.
Action
- Create
components/LaunchButton.tsx with a size prop ('sm' | 'md')
- Import in both SessionCard and $sessionId, remove duplicated code
Acceptance Criteria
- Single source of truth for LaunchButton
- Works identically in both card and detail page
- No visual change
Context
LaunchButton is duplicated in SessionCard.tsx (lines 15-37) and $sessionId.tsx (lines 32-57) with nearly identical logic. Only difference is padding classes.
Action
components/LaunchButton.tsxwith asizeprop ('sm' | 'md')Acceptance Criteria