'use client' import { useCallback, useState } from 'react' export function useModalState() { const [isOpen, setIsOpen] = useState(false) const [data, setData] = useState(null) const open = useCallback((payload?: T) => { setData((payload ?? null) as T | null) setIsOpen(true) }, []) const close = useCallback(() => { setIsOpen(false) setData(null) }, []) return { isOpen, data, open, close, setData, } } export type UseModalStateReturn = ReturnType>