mirror of
https://github.com/khairul169/code-share.git
synced 2025-06-17 17:19:34 +07:00
23 lines
505 B
TypeScript
23 lines
505 B
TypeScript
|
import { useCallback, useState } from "react";
|
||
|
|
||
|
export const useDisclose = () => {
|
||
|
const [isOpen, setOpen] = useState(false);
|
||
|
const [data, setData] = useState<any>(null);
|
||
|
|
||
|
const onOpen = useCallback(
|
||
|
(_data?: any) => {
|
||
|
setOpen(true);
|
||
|
setData(data);
|
||
|
},
|
||
|
[setOpen]
|
||
|
);
|
||
|
|
||
|
const onClose = useCallback(() => {
|
||
|
setOpen(false);
|
||
|
}, [setOpen]);
|
||
|
|
||
|
return { isOpen, onOpen, onClose, onChange: setOpen, data };
|
||
|
};
|
||
|
|
||
|
export type UseDiscloseReturn = ReturnType<typeof useDisclose>;
|