/ client / src / pages / locations / dnd.ts
dnd.ts
 1  import { create } from "zustand";
 2  import { ISpool } from "../spools/model";
 3  
 4  export const ItemTypes = {
 5    SPOOL: "spool",
 6    CONTAINER: "spool-container",
 7  };
 8  
 9  export interface DragItem {
10    index: number;
11  }
12  
13  export interface SpoolDragItem extends DragItem {
14    spool: ISpool;
15  }
16  
17  export interface ContainerDragItem extends DragItem {
18    title: string;
19  }
20  
21  interface CurrentDraggedSpool {
22    draggedSpoolId: number;
23    setDraggedSpoolId: (spoolid: number) => void;
24  }
25  
26  export const useCurrentDraggedSpool = create<CurrentDraggedSpool>((set) => ({
27    draggedSpoolId: -1,
28    setDraggedSpoolId: (spoolid: number) => set({ draggedSpoolId: spoolid }),
29  }));