feat: refactor StackView for dynamic grouping and add sorting controls to Deck Builder while reducing card size slider ranges.

This commit is contained in:
2025-12-18 01:30:48 +01:00
parent 0ca29622ef
commit 851e2aa81d
6 changed files with 159 additions and 55 deletions

View File

@@ -97,3 +97,4 @@
- [Mobile Touch Preview](./devlog/2025-12-18-012500_mobile_touch_preview.md): Completed. Updated card preview logic to disable hover and enable long-press on touch devices, improving usability on tablets and mobile.
- [Minimize Slider Defaults](./devlog/2025-12-18-013000_minimize_slider_defaults.md): Completed. Set default card size settings to their minimum values across Cube Manager, Draft View, and Deck Builder.
- [Deck Builder Touch Interaction](./devlog/2025-12-18-014500_deck_builder_touch.md): Completed. Renamed "Deck" to "Library" and implemented tap-to-preview logic on touch devices, disabling tap-to-move.
- [Stack View Sorting & Sliders](./devlog/2025-12-18-020000_stack_sorting_sliders.md): Completed. Refactored StackView to group by Color by default, added sorting controls to Deck Builder, and reduced slider scales globally to allow smaller sizes.

View File

@@ -0,0 +1,34 @@
# Work Plan - Stack View Sorting & Slider Updates
## Request
1. **Slider Adjustment**: Decrease the scale of sliders globally.
* New Min (0%) should be smaller (~50% of previous min?).
* New Max (100%) should be equivalent to old 50%.
2. **Stack View Default Sort**: "Order for Color and Mana Cost" by default everywhere.
3. **Deck Builder Sorting**: Add UI to change sort order manually in Deck Builder.
## Changes
- **StackView.tsx**:
- Refactored to support dynamic `groupBy` logic (Type, Color, CMC, Rarity).
- Implemented categorization logic for Color, CMC, and Rarity.
- Set default `groupBy` to `'color'` (sorts by Color groups, then CMC within groups).
- Fixed syntax errors from previous edit.
- **DeckBuilderView.tsx**:
- Added `groupBy` state (default `'color'`).
- Added "Sort:" dropdown to toolbar when in Stack View.
- Updated `CardsDisplay` to pass sorting preferences.
- Updated Slider range to `min="60" max="200"` (Default `60`).
- **CubeManager.tsx**:
- Updated Slider range to `min="60" max="200"`.
- Updated default `cardWidth` to `60`.
- **DraftView.tsx**:
- Updated Slider range to `min="0.35" max="1.0"`.
- Updated default `cardScale` to `0.35`.
## Verification
- Verified `StackView` defaults to Color grouping in `CubeManager` (implicitly via default prop).
- Verified Deck Builder has sorting controls.
- Verified all sliders allow for much smaller card sizes.