MCPcopy Index your code
hub / github.com/Linen-dev/linen.dev / useMode

Function useMode

apps/web/hooks/mode.tsx:8–37  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

6}
7
8export default function useMode() {
9 const [mode, setMode] = useState<Mode>(Mode.Default);
10
11 useEffect(() => {
12 const onDragStart = () => {
13 setMode(Mode.Drag);
14 };
15 const onDragEnd = () => {
16 setMode(Mode.Default);
17 };
18 const onDrop = () => {
19 setMode(Mode.Default);
20 };
21 const onDragOver = (event: Event) => event.preventDefault();
22
23 document.addEventListener('dragstart', onDragStart);
24 document.addEventListener('dragend', onDragEnd);
25 document.addEventListener('drop', onDrop);
26 document.addEventListener('dragover', onDragOver);
27
28 return () => {
29 document.removeEventListener('dragstart', onDragStart);
30 document.removeEventListener('dragend', onDragEnd);
31 document.removeEventListener('drop', onDrop);
32 document.removeEventListener('dragover', onDragOver);
33 };
34 }, []);
35
36 return { mode };
37}

Callers 4

PageLayoutFunction · 0.85
ChannelFunction · 0.85
ChannelFunction · 0.85
ChannelFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected