feat: implement unified session list components
- Add SessionCard component with status indicators, actions, and confirmation dialogs - Add SessionList component with grouping (active/recent) and filtering - Refactor dashboard.tsx to use unified components - Refactor sessions.tsx to use unified components - Remove duplicated session rendering logic from both pages Refs: session-list-overhaul tasks 1-4
This commit is contained in:
@@ -1,37 +1,37 @@
|
||||
## 1. Create SessionCard Component
|
||||
|
||||
- [ ] 1.1 Create `apps/web/src/components/session-card.tsx` with session display and actions
|
||||
- [ ] 1.2 Implement status indicator with color coding (running=green, building=yellow, stopped=gray, error=red)
|
||||
- [ ] 1.3 Display tool type name, session name, project/repo context
|
||||
- [ ] 1.4 Add clone mode indicator and branch name when applicable
|
||||
- [ ] 1.5 Implement action buttons: Open (running), Start (stopped), Stop (running), Delete (all)
|
||||
- [ ] 1.6 Add confirmation dialogs for Stop and Delete actions
|
||||
- [ ] 1.7 Handle loading states during actions
|
||||
- [x] 1.1 Create `apps/web/src/components/session-card.tsx` with session display and actions
|
||||
- [x] 1.2 Implement status indicator with color coding (running=green, building=yellow, stopped=gray, error=red)
|
||||
- [x] 1.3 Display tool type name, session name, project/repo context
|
||||
- [x] 1.4 Add clone mode indicator and branch name when applicable
|
||||
- [x] 1.5 Implement action buttons: Open (running), Start (stopped), Stop (running), Delete (all)
|
||||
- [x] 1.6 Add confirmation dialogs for Stop and Delete actions
|
||||
- [x] 1.7 Handle loading states during actions
|
||||
|
||||
## 2. Create SessionList Component
|
||||
|
||||
- [ ] 2.1 Create `apps/web/src/components/session-list.tsx` with grouping logic
|
||||
- [ ] 2.2 Implement active sessions grouping (running, building, starting, probing)
|
||||
- [ ] 2.3 Implement recent sessions grouping (stopped, error, limited to last 5)
|
||||
- [ ] 2.4 Add section headers with counts
|
||||
- [ ] 2.5 Handle empty states for each section
|
||||
- [ ] 2.6 Support filtering by status
|
||||
- [x] 2.1 Create `apps/web/src/components/session-list.tsx` with grouping logic
|
||||
- [x] 2.2 Implement active sessions grouping (running, building, starting, probing)
|
||||
- [x] 2.3 Implement recent sessions grouping (stopped, error, limited to last 5)
|
||||
- [x] 2.4 Add section headers with counts
|
||||
- [x] 2.5 Handle empty states for each section
|
||||
- [x] 2.6 Support filtering by status
|
||||
|
||||
## 3. Update Dashboard Page
|
||||
|
||||
- [ ] 3.1 Import SessionCard and SessionList in dashboard.tsx
|
||||
- [ ] 3.2 Replace existing session grid rendering with SessionList
|
||||
- [ ] 3.3 Remove duplicated session rendering code
|
||||
- [ ] 3.4 Ensure "Open sessions" section uses unified components
|
||||
- [ ] 3.5 Ensure "Recent sessions" section uses unified components
|
||||
- [x] 3.1 Import SessionCard and SessionList in dashboard.tsx
|
||||
- [x] 3.2 Replace existing session grid rendering with SessionList
|
||||
- [x] 3.3 Remove duplicated session rendering code
|
||||
- [x] 3.4 Ensure "Open sessions" section uses unified components
|
||||
- [x] 3.5 Ensure "Recent sessions" section uses unified components
|
||||
|
||||
## 4. Update Sessions Page
|
||||
|
||||
- [ ] 4.1 Import SessionCard and SessionList in sessions.tsx
|
||||
- [ ] 4.2 Replace existing session list rendering with SessionList
|
||||
- [ ] 4.3 Remove duplicated session rendering code
|
||||
- [ ] 4.4 Keep page-level controls (create session button, filters)
|
||||
- [ ] 4.5 Ensure "Last Session" section uses SessionCard
|
||||
- [x] 4.1 Import SessionCard and SessionList in sessions.tsx
|
||||
- [x] 4.2 Replace existing session list rendering with SessionList
|
||||
- [x] 4.3 Remove duplicated session rendering code
|
||||
- [x] 4.4 Keep page-level controls (create session button, filters)
|
||||
- [x] 4.5 Ensure "Last Session" section uses SessionCard
|
||||
|
||||
## 5. Styles and Polish
|
||||
|
||||
|
||||
Reference in New Issue
Block a user