fix: Phase 7c - fix Touch/drag-drop types (32 -> 28 errors)
Fixed TypeScript errors where custom drag data was being stored on the native Touch type, which doesn't allow extension. The issue: `currentTouch` was typed as `Touch | null` but the code was trying to store custom properties (item, source, type) on it for pending drag operations initiated by mouse pointer events. The fix: Created a new `PendingDragData` interface to properly type the custom drag data being stored for mouse events. Changes: - src/lib/composables/drag-drop.svelte.ts: - Added PendingDragData interface with item, source, type - Changed TouchState.currentTouch from `Touch | null` to `PendingDragData | null` - This allows storing pending drag data without conflicting with native Touch type Result: 32 → 28 errors (-4) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
c2329c2f7f
commit
9fb2e2485d
1 changed files with 7 additions and 1 deletions
|
|
@ -42,13 +42,19 @@ export interface DragOperation {
|
||||||
retryCount: number
|
retryCount: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface PendingDragData {
|
||||||
|
item: GridItem
|
||||||
|
source: Position
|
||||||
|
type: GridItemType
|
||||||
|
}
|
||||||
|
|
||||||
export interface TouchState {
|
export interface TouchState {
|
||||||
touchStartPos: { x: number; y: number } | null
|
touchStartPos: { x: number; y: number } | null
|
||||||
touchStartTime: number
|
touchStartTime: number
|
||||||
longPressTimer: number | null
|
longPressTimer: number | null
|
||||||
touchThreshold: number
|
touchThreshold: number
|
||||||
longPressDuration: number
|
longPressDuration: number
|
||||||
currentTouch: Touch | null
|
currentTouch: PendingDragData | null
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface DragDropState {
|
export interface DragDropState {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue