feat: enhance UI with custom sort dropdown, resizable layouts, StackView DnD, and optimize slider/resize performance with layout fixes.

This commit is contained in:
2025-12-18 02:06:57 +01:00
parent ebfdfef5ae
commit db601048d9
13 changed files with 589 additions and 101 deletions

View File

@@ -0,0 +1,28 @@
# Work Plan - Deck Builder & Draft UI Enhancements
## Request
1. **Deck Builder Stack DnD**: Enable card drag and drop for the stacked view in Deck Builder.
2. **Custom Sort Dropdown**: Use a custom graphic dropdown list instead of browser default for sorting.
3. **Resizable Layouts**: Make library/preview resizeable in Deck Builder, and selected pool/preview resizeable in Draft UI.
## Changes
- **StackView.tsx**: Added `renderWrapper` prop to allow parent components to wrap card items (e.g. with `DraggableCardWrapper`).
- **DeckBuilderView.tsx**:
- Implemented `sortDropdownOpen` state and custom UI for the "Sort" dropdown.
- Added resizing state (`sidebarWidth`, `poolHeightPercent`) and mouse event handlers.
- Applied dynamic styles to Sidebar and Pool/Deck zones.
- Passed `DraggableCardWrapper` to `StackView` via the new `renderWrapper` prop.
- **DraftView.tsx**:
- Added resizing state (`sidebarWidth`, `poolHeight`) and mouse event handlers.
- Applied dynamic styles to Sidebar and Pool Droppable area.
- Fixed syntax error introduced during refactoring.
## Verification
- **Deck Builder**:
- Verify cards in Stack View can be dragged.
- Verify "Sort" dropdown is custom styled.
- Verify Sidebar width can be adjusted.
- Verify Pool/Library split can be adjusted (in horizontal mode especially).
- **Draft UI**:
- Verify Sidebar width can be adjusted.
- Verify Selected Pool height can be adjusted.