Expandable Workflow Cards With Subflow Support#32
Conversation
Update Rhea-MVP.md and README.md to reflect completion of Milestone 2d (System-Wide Consistency & Modularity Audit) conducted on 2025-12-15. Changes: - Mark Milestone 2d as completed with findings and outcomes - Convert 2d sub-tasks from pending to completed with checkmarks - Document key finding: architecture fundamentally sound with proper code reuse - Note one identified issue: validation duplication (remediation in Milestone 2f) - Add audit completion to recent achievements and Next Up sections - Update cross-references to new milestone numbering (2d → 4a4) - Increment audit documentation line count (375 → 451 lines)
Implement toggle-based workflow cards that expand to show available subflows. All cards now use click-to-expand pattern instead of direct navigation. Breaking changes: - WorkflowCard component API changed: removed `actionText` prop, added optional `subflows` array - Cards are now always `<div>` with click handlers, never `<a>` links - Homepage cards require `subflows` prop for multiple destinations Changes: - Add `Subflow` interface with title, description, and href - Implement toggle state with Svelte 5 `$state` rune - Add keyboard navigation support (Enter/Space to toggle) - Create expandable/collapsible UI states: - Inactive: shows description and features list - Active: shows subflow buttons with "Collapse ↑" action - Add subflow button styling with workflow-specific hover states - Update Metis card with dual subflows (Updater, Generator) - Smart subflow handling: auto-creates subflow from `href` if no explicit subflows provided - Remove "Choose a workflow:" label from expanded state Addresses Rhea MVP Milestone 2e (Refactor Workflow Cards to Support Multiple Subflows).
SummaryThis PR successfully implements expandable workflow cards with strong component extraction and accessibility support. The implementation is clean with good Svelte 5 patterns, though there are minor UX considerations around the breaking change to click behaviour and some accessibility improvements needed for the "Collapse" action. 🎯 Code Quality & Best PracticesExcellent Component Extraction
Svelte 5 Patterns
Code Reusability
Minor Style Concerns
🐛 Potential IssuesBreaking UX ChangeThe PR description notes: "Cards no longer link directly; all cards expand on click." Concern: For workflows with single destinations (Theia, Tethys, Themis), users now need two clicks instead of one:
Impact: This adds friction for 75% of workflows. Consider:
Event Propagation
Empty State Handling
TypeScript Type Safety
⚡ Performance ConsiderationsMinimal Performance Impact
Potential Optimizations
CSS Efficiency
🔒 Security ConcernsNo Security Issues Identified
Good Practices
✅ Test CoverageMissing TestsNo test files included in this PR. Recommended test coverage: Unit Tests (
Integration Tests (
Accessibility Tests:
Manual Testing ChecklistPer PR description, verify:
RecommendationsHigh Priority
Medium Priority
Low Priority
Overall Assessment: Strong refactoring with good component design. Address the UX concern around double-clicks and empty state handling before merging. The architecture supports future expansion well (milestone 2e objective achieved). |
Expandable Workflow Cards With Subflow Support
Overview
Implements expandable workflow cards on the homepage that reveal multiple entry points per workflow. Cards now use a click-to-expand pattern instead of direct navigation, enabling each workflow to present multiple subflows (e.g., Metis now shows "Updater" and "Generator" options).
Also includes documentation updates marking the completion of Milestone 2d (System-Wide Consistency & Modularity Audit).
Tip
No additional steps required after merging. The homepage cards now toggle between summary and subflow views on click.
Changes
Component Architecture
Extracted workflow cards into reusable
WorkflowCard.sveltecomponent with expansion logic.src/lib/components/ui/WorkflowCard.svelte(295 lines)href) and multi-destination (subflows) patterns$statefor toggle behaviourhrefif no explicit subflows providedUI Behaviour Changes
Breaking Change: Cards no longer link directly; all cards expand on click.
Homepage Updates
Refactored homepage to use new WorkflowCard component.
actionTextprop from all card instancesDocumentation
Updated roadmaps to reflect audit completion.
Summary
Like transforming a row of storefronts from single doors into those fancy revolving doors at department stores — you now have to spin through the door to see the directory of what's inside, but at least you look sophisticated doing it. The Metis storefront even has two revolving doors side-by-side because apparently one entrance wasn't confusing enough.