feat: implement enhanced tactile drag and drop arena with dnd-kit

- Added @dnd-kit/core, @dnd-kit/sortable, @dnd-kit/utilities, @react-spring/web
- Created EnhancedChampionArena with smooth physics-based animations
- Implemented custom collision detection and enhanced sensors
- Added react-spring animations for card scaling, rotation, and glow effects
- Enhanced drop zones with animated feedback and state transitions
- Smooth entry/exit animations for roster and arena players
- Drag overlay with enhanced visual feedback and rotation
- Physical drag feel with wobbly spring animations
- Updated arcade page to use enhanced component

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Thomas Hallock
2025-09-27 16:52:46 -05:00
parent afec22ac3f
commit 4b840e9c04

56
pnpm-lock.yaml generated
View File

@@ -25,6 +25,15 @@ importers:
apps/web:
dependencies:
'@dnd-kit/core':
specifier: ^6.3.1
version: 6.3.1(react-dom@18.0.0)(react@18.0.0)
'@dnd-kit/sortable':
specifier: ^10.0.0
version: 10.0.0(@dnd-kit/core@6.3.1)(react@18.0.0)
'@dnd-kit/utilities':
specifier: ^3.2.2
version: 3.2.2(react@18.0.0)
'@myriaddreamin/typst-all-in-one.ts':
specifier: 0.6.1-rc3
version: 0.6.1-rc3
@@ -313,7 +322,7 @@ importers:
version: 5.0.2
vitest:
specifier: ^1.0.0
version: 1.0.0(@types/node@20.0.0)(happy-dom@18.0.1)(jsdom@27.0.0)
version: 1.0.0(@types/node@20.0.0)(@vitest/ui@3.2.4)(jsdom@27.0.0)
packages/core/client/typescript:
devDependencies:
@@ -328,7 +337,7 @@ importers:
version: 5.0.2
vitest:
specifier: ^1.0.0
version: 1.0.0(@types/node@20.0.0)(happy-dom@18.0.1)(jsdom@27.0.0)
version: 1.0.0(@types/node@20.0.0)(@vitest/ui@3.2.4)(jsdom@27.0.0)
packages/templates:
dependencies:
@@ -1778,6 +1787,49 @@ packages:
engines: {node: '>=10.0.0'}
dev: true
/@dnd-kit/accessibility@3.1.1(react@18.0.0):
resolution: {integrity: sha512-2P+YgaXF+gRsIihwwY1gCsQSYnu9Zyj2py8kY5fFvUM1qm2WA2u639R6YNVfU4GWr+ZM5mqEsfHZZLoRONbemw==}
peerDependencies:
react: '>=16.8.0'
dependencies:
react: 18.0.0
tslib: 2.8.1
dev: false
/@dnd-kit/core@6.3.1(react-dom@18.0.0)(react@18.0.0):
resolution: {integrity: sha512-xkGBRQQab4RLwgXxoqETICr6S5JlogafbhNsidmrkVv2YRs5MLwpjoF2qpiGjQt8S9AoxtIV603s0GIUpY5eYQ==}
peerDependencies:
react: '>=16.8.0'
react-dom: '>=16.8.0'
dependencies:
'@dnd-kit/accessibility': 3.1.1(react@18.0.0)
'@dnd-kit/utilities': 3.2.2(react@18.0.0)
react: 18.0.0
react-dom: 18.0.0(react@18.0.0)
tslib: 2.8.1
dev: false
/@dnd-kit/sortable@10.0.0(@dnd-kit/core@6.3.1)(react@18.0.0):
resolution: {integrity: sha512-+xqhmIIzvAYMGfBYYnbKuNicfSsk4RksY2XdmJhT+HAC01nix6fHCztU68jooFiMUB01Ky3F0FyOvhG/BZrWkg==}
peerDependencies:
'@dnd-kit/core': ^6.3.0
react: '>=16.8.0'
dependencies:
'@dnd-kit/core': 6.3.1(react-dom@18.0.0)(react@18.0.0)
'@dnd-kit/utilities': 3.2.2(react@18.0.0)
react: 18.0.0
tslib: 2.8.1
dev: false
/@dnd-kit/utilities@3.2.2(react@18.0.0):
resolution: {integrity: sha512-+MKAJEOfaBe5SmV6t34p80MMKhjvUz0vRrvVJbPT0WElzaOJ/1xs+D+KDv+tD/NE5ujfrChEcshd4fLn0wpiqg==}
peerDependencies:
react: '>=16.8.0'
dependencies:
react: 18.0.0
tslib: 2.8.1
dev: false
/@emnapi/core@1.5.0:
resolution: {integrity: sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==}
requiresBuild: true