admin/hooks/useDisclosure.ts
alisaza e1eaf5eff5 feat: initial ghabilee-admin backoffice app
Extract admin dashboard from ghabilee-frontend2 into a dedicated Next.js
app for backoffice.ghabilee.ir (no SEO indexing / Clarity).
2026-09-05 13:12:59 +03:30

19 lines
459 B
TypeScript

'use client'
import { useCallback, useState } from 'react'
export default function useDisclosure(initiallyOpen = false) {
const [isOpen, setIsOpen] = useState(initiallyOpen)
const onOpen = useCallback(() => {
setIsOpen(true)
}, [])
const onClose = useCallback(() => {
setIsOpen(false)
}, [])
const onOpenChange = useCallback((nextOpen: boolean) => {
setIsOpen(nextOpen)
}, [])
return { isOpen, onOpen, onClose, onOpenChange }
}