frontPanel/src/utils/useDisclosure.ts

13 lines
340 B
TypeScript
Raw Normal View History

2023-12-02 09:35:35 +00:00
import { useState, useCallback } from "react";
export function useDisclosure(initialState = false) {
2023-12-31 02:53:25 +00:00
const [opened, setOpened] = useState(initialState);
2023-12-02 09:35:35 +00:00
2023-12-31 02:53:25 +00:00
return [
opened,
useCallback(() => setOpened(true), []),
useCallback(() => setOpened(false), []),
useCallback(() => setOpened((prev) => !prev), []),
] as const;
2023-12-02 09:35:35 +00:00
}