fix(rack): prevent dragged module unmounting to fix dnd-kit drop
This commit is contained in:
@@ -12,13 +12,11 @@ import { useRackStore } from '../../store/useRackStore';
|
|||||||
|
|
||||||
interface RackColumnProps {
|
interface RackColumnProps {
|
||||||
rack: Rack;
|
rack: Rack;
|
||||||
/** ID of the module currently being dragged — render its slots as droppable ghosts. */
|
|
||||||
draggingModuleId?: string | null;
|
|
||||||
/** Slot currently hovered by a drag — passed down to RackSlot for blue highlight. */
|
/** Slot currently hovered by a drag — passed down to RackSlot for blue highlight. */
|
||||||
hoverSlot?: { rackId: string; uPosition: number } | null;
|
hoverSlot?: { rackId: string; uPosition: number } | null;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function RackColumn({ rack, draggingModuleId, hoverSlot }: RackColumnProps) {
|
export function RackColumn({ rack, hoverSlot }: RackColumnProps) {
|
||||||
const { deleteRack } = useRackStore();
|
const { deleteRack } = useRackStore();
|
||||||
const [confirmDeleteOpen, setConfirmDeleteOpen] = useState(false);
|
const [confirmDeleteOpen, setConfirmDeleteOpen] = useState(false);
|
||||||
const [deleting, setDeleting] = useState(false);
|
const [deleting, setDeleting] = useState(false);
|
||||||
@@ -98,9 +96,7 @@ export function RackColumn({ rack, draggingModuleId, hoverSlot }: RackColumnProp
|
|||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{rack.modules
|
{rack.modules.map((module) => (
|
||||||
.filter((module) => module.id !== draggingModuleId)
|
|
||||||
.map((module) => (
|
|
||||||
<div
|
<div
|
||||||
key={module.id}
|
key={module.id}
|
||||||
className="absolute left-0 right-0 z-10"
|
className="absolute left-0 right-0 z-10"
|
||||||
|
|||||||
@@ -259,7 +259,6 @@ export function RackPlanner() {
|
|||||||
<RackColumn
|
<RackColumn
|
||||||
key={rack.id}
|
key={rack.id}
|
||||||
rack={rack}
|
rack={rack}
|
||||||
draggingModuleId={draggingModuleId}
|
|
||||||
hoverSlot={hoverSlot}
|
hoverSlot={hoverSlot}
|
||||||
/>
|
/>
|
||||||
))}
|
))}
|
||||||
|
|||||||
Reference in New Issue
Block a user