3.7 KiB
Tasks: AI Console Collapsible Cards
Input: Design documents from /specs/200-fullstacks/240-ai-console-collapsible-cards/
Prerequisites: plan.md (required), spec.md (required for user stories)
Tests: Tests are NOT included in this feature - this is a UI-only refactor with manual testing verification.
Organization: Tasks are grouped by user story to enable independent implementation and testing of each story.
Format: [ID] [P?] [Story] Description
- [P]: Can run in parallel (different files, no dependencies)
- [Story]: Which user story this task belongs to (e.g., US1, US2, US3)
- Include exact file paths in descriptions
Path Conventions
- Web app:
frontend/app/,frontend/components/
Phase 1: Setup (Shared Infrastructure)
Purpose: Project initialization and basic structure
- T001 Import
ChevronUpicon fromlucide-reactinfrontend/app/(admin)/admin/ai/page.tsx - T002 Implement state variables
isSectionCollapsedandcollapsedCardsinfrontend/app/(admin)/admin/ai/page.tsx - T003 Implement
useEffectfor loading collapse states fromlocalStorageinfrontend/app/(admin)/admin/ai/page.tsx - T004 Implement toggle handlers
toggleSectionandtoggleCardthat update states and write tolocalStorageinfrontend/app/(admin)/admin/ai/page.tsx
Phase 2: Foundational (Blocking Prerequisites)
Purpose: None required for this simple UI-only task.
Phase 3: User Story 1 - Master Collapse for Monitoring Section (Priority: P1) 🎯 MVP
Goal: Implement the master monitoring section toggle header and container collapse animations.
Independent Test: Click the master collapse chevron in the monitoring section header and verify that the cards grid collapses/expands smoothly.
Implementation for User Story 1
- T005 [US1] Add the Master Section Toggle Header ("AI Engine Infrastructure Monitoring") with ChevronUp toggle button in
frontend/app/(admin)/admin/ai/page.tsx - T006 [US1] Wrap the health cards grid in a collapsible wrapper with Tailwind transition classes (
transition-all duration-300 ease-in-out,max-h-0,max-h-[2000px],opacity-0,opacity-100) infrontend/app/(admin)/admin/ai/page.tsx
Checkpoint: At this point, User Story 1 is fully functional and testable independently. The entire section collapses/expands.
Phase 4: User Story 2 - Individual Card Collapse (Priority: P2)
Goal: Implement collapse buttons and container animations for each of the 5 monitoring cards.
Independent Test: Click the chevron inside Ollama card and verify that only the Ollama card content collapses, leaving the header visible.
Implementation for User Story 2
- T007 [US2] Add individual collapse chevron buttons to each of the 5 monitoring cards (Ollama, Qdrant, OCR Sidecar, BullMQ, VRAM) in
frontend/app/(admin)/admin/ai/page.tsx - T008 [US2] Wrap each card's body in a collapsible wrapper with Tailwind transition and height restriction classes in
frontend/app/(admin)/admin/ai/page.tsx
Checkpoint: At this point, User Story 2 is fully functional and testable. Cards can be collapsed/expanded individually.
Phase 5: Polish & Cross-Cutting Concerns
Purpose: Final verification, linting, and formatting.
- T009 Run typecheck using
pnpm --filter lcbp3-frontend exec tsc --noEmitand fix any type errors - T010 Run lint using
pnpm --filter lcbp3-frontend exec eslint .and fix any lint issues - T011 Verify collapsed states are correctly preserved in
localStorageacross page reloads and tab switches - T012 Verify responsive layout (mobile, tablet, desktop) behaves correctly when collapsed/expanded