Files
towercontrol/hooks/useDragAndDrop.ts
2025-09-17 08:30:36 +02:00

29 lines
642 B
TypeScript

import { useState, useEffect } from 'react';
import { useSensors, useSensor, PointerSensor } from '@dnd-kit/core';
/**
* Hook pour gérer le drag & drop de manière safe avec SSR
* Désactive le DnD jusqu'à l'hydratation pour éviter les erreurs d'hydratation
*/
export function useDragAndDrop() {
const [isMounted, setIsMounted] = useState(false);
useEffect(() => {
// Activer le drag & drop après l'hydratation
setIsMounted(true);
}, []);
const sensors = useSensors(
useSensor(PointerSensor, {
activationConstraint: {
distance: 8,
},
})
);
return {
isMounted,
sensors
};
}