# Bill Tracker — Scarlett's Active Notes **Last updated:** 2026-05-11 ## Task 2: RoadmapPage UI — Kanban Priority Lanes ### What Changed | File | Action | Description | |------|--------|-------------| | `client/pages/RoadmapPage.jsx` | **NEW** | Standalone kanban-style roadmap page with 2 tabs (Roadmap + Activity Log) | | `client/App.jsx` | **MODIFIED** | Added lazy import for RoadmapPage; `/admin/roadmap` route now renders ``; `/admin/about` route uses `` without admin prop | | `client/pages/AboutPage.jsx` | **MODIFIED** | Removed `admin` prop, removed `AdminDashboard` import, removed conditional render block — AboutPage is now public-only | | `client/components/AdminDashboard.jsx` | **DELETED** | Replaced entirely by RoadmapPage | | `client/components/ui/collapsible.jsx` | **NEW** | shadcn Collapsible component (Radix-based) | | `tailwind.config.js` | **MODIFIED** | Added `collapsible-down`/`collapsible-up` keyframes and animations | | `package.json` | **MODIFIED** | Added `@radix-ui/react-collapsible` dependency | ### Architecture - **RoadmapPage** is a standalone page rendered at `/admin/roadmap` (behind `` + ``) - Uses **shadcn Tabs** for Roadmap / Activity Log tab switching - **Roadmap tab**: 5-column kanban grid on desktop (`lg+`), 2-column on tablet (`sm–lg`), single column on mobile (`` elements (via shadcn Collapsible) - `aria-expanded` on all collapsible triggers (Radix handles this) - `aria-label` on priority badges (e.g., "Critical priority") - `role="region"` + `aria-label` on each priority lane section - Keyboard-focusable throughout ### Responsive - Desktop (`lg+`): 5-column grid - Tablet (`sm–lg`): 2-column grid (CRITICAL+HIGH | MEDIUM+LOW+NICE TO HAVE) - Mobile (`