ffb7ef0d21
- Add proposal for unified session list components - Add design doc with component architecture - Add specs for SessionCard and SessionList requirements - Add implementation tasks Refs: session-list-overhaul
3.7 KiB
3.7 KiB
ADDED Requirements
Requirement: Session card displays session information
The system SHALL display each session in a card format showing:
- Tool type name and icon
- Session display name or generated name
- Project and repository name
- Current status with visual indicator
- Clone mode indicator (if clone mode)
- Port number (if applicable)
- Created time
Scenario: View active session card
- WHEN user views the sessions list
- THEN each running session card shows a green status indicator
- AND the card displays the tool type name
- AND the card displays the project and repository names
- AND the card displays the port number
Scenario: View stopped session card
- WHEN user views the sessions list
- THEN each stopped session card shows a gray status indicator
- AND the card does not display a port number
- AND the card shows when it was last active
Scenario: View clone mode session card
- WHEN user views a clone-mode session
- THEN the card displays a clone indicator
- AND the card shows the branch name (if applicable)
Requirement: Session card provides control actions
The system SHALL provide action buttons on each session card:
- Running sessions: Open (primary), Stop, Delete
- Stopped sessions: Start (primary), Delete
- Building/Starting sessions: Show progress indicator, no actions
- Error sessions: Show error state, Delete
Scenario: Open running session
- WHEN user clicks the "Open" button on a running session card
- THEN the session opens in the appropriate interface (web, terminal, IDE)
Scenario: Stop running session
- WHEN user clicks the "Stop" button on a running session card
- THEN a confirmation dialog appears
- AND upon confirmation, the session stops
Scenario: Start stopped session
- WHEN user clicks the "Start" button on a stopped session card
- THEN the session starts
- AND the card updates to show building/starting status
Scenario: Delete session
- WHEN user clicks the "Delete" button on any session card
- THEN a confirmation dialog appears
- AND upon confirmation, the session is deleted
- AND the card is removed from the list immediately
Requirement: Session list supports grouping and filtering
The system SHALL group sessions by status category:
- Active: running, building, starting, probing
- Recent: stopped, error (limited to last 5)
- The list SHALL support filtering by status
Scenario: View grouped sessions
- WHEN user views the sessions page
- THEN active sessions appear in an "Active" section
- AND recent stopped sessions appear in a "Recent" section
- AND each section has a clear heading with count
Requirement: Unified components across pages
The system SHALL use the same SessionCard and SessionList components on both the dashboard and sessions pages.
Scenario: Dashboard uses unified components
- WHEN user views the dashboard home page
- THEN the session grid uses SessionCard components
- AND the visual style matches the sessions page
Scenario: Sessions page uses unified components
- WHEN user views the sessions page
- THEN the session list uses SessionList and SessionCard components
- AND the visual style matches the dashboard
MODIFIED Requirements
Requirement: Sessions page layout
FROM: Sessions page renders sessions with page-specific layout and styling TO: Sessions page uses SessionList component with consistent layout and styling
Scenario: Sessions page renders unified list
- WHEN user navigates to the sessions page
- THEN the page uses the SessionList component
- AND sessions are displayed in a card grid
- AND each card has consistent control actions