diff --git a/002_source/cms/src/hooks/use-helloworld.ts b/002_source/cms/src/hooks/use-helloworld.ts new file mode 100644 index 0000000..f453736 --- /dev/null +++ b/002_source/cms/src/hooks/use-helloworld.ts @@ -0,0 +1,26 @@ +import * as React from 'react'; + +interface DialogController { + data?: T; + handleClose: () => void; + handleOpen: (data?: T) => void; + open: boolean; +} + +export function useHelloworld(): DialogController { + const [state, setState] = React.useState<{ open: boolean; data?: T }>({ open: false, data: undefined }); + + const handleOpen = React.useCallback((data?: T) => { + setState({ open: true, data }); + }, []); + + const handleClose = React.useCallback(() => { + setState({ open: false }); + }, []); + + React.useEffect(() => { + console.log('helloworld from useHelloworld'); + }, []); + + return { data: state.data, handleClose, handleOpen, open: state.open }; +}