Add multi-matchup carousel view to sideboard guide detail page
complete
a
arkouh
Users want to see all matchup guides simultaneously on a sideboard guide detail page, instead of selecting one at a time. This was a feature in V1.
Feature:
A toggleable "multi-matchup view" mode on desktop. When activated, DeckV2ListView is frozen/sticky on the left, and all matchup guides are displayed as GuideV2Listview instances in a horizontally scrollable carousel to the right. SideboardMatchupSelector is hidden since all matchups are visible.Editing:
Owners can edit in multi-matchup mode. Clicking a guide sets it as selectedMatchupGuideId, enabling editing for that guide only. Non-owner viewers can see all guides but cannot edit.MatchupPrimer:
Accessed via a new button in each GuideV2Listview that opens a Shadcn Dialog/modal. Not rendered inline in multi-matchup mode.Below carousel:
SideboardPrimer, DeckAnalysisSection, DeckSampleHandSection, TokensSection, SideboardFAQ, DeckKeepOrMullSection, YouTubeEmbed.---
FILES TO MODIFY:
- sideboard-view.tsx — conditional multi-matchup layout (lines 885-1033)
- multi-matchup-carousel.tsx — NEW: DeckV2ListView (sticky left) + N GuideV2ListViews in ScrollArea
- guide-v2-listview.tsx — add MatchupPrimer dialog button
- deck-ui-store.ts — add isMultiMatchupView persisted toggle
---
ACCEPTANCE CRITERIA:
- Toggle button on desktop (hidden below xl), always visible even with 0 matchups
- View preference persisted across sessions
- DeckV2Listview sticky on left, all guides in horizontal ScrollArea
- Uniform guide widths (min-w-[280px] max-w-[350px] w-[300px])
- Clicking a guide enables editing for owners (visual ring indicator)
- "Add Matchup" button at end of carousel for owners
- MatchupPrimer button on each guide opens Shadcn Dialog
- Supplementary sections below carousel
- No regressions in single-matchup flow
- Mobile view unchanged
- Type-check passes
Complexity: Medium — no backend changes, all core components exist.
Related: "matchups side-by-side" post
George Jabbour
marked this post as
complete
George Jabbour
marked this post as
in progress