import React, { useState } from 'react' import useDialogState from '@/hooks/use-dialog-state' import { User } from '../data/schema' type UsersDialogType = 'invite' | 'add' | 'edit' | 'delete' interface UsersContextType { open: UsersDialogType | null setOpen: (str: UsersDialogType | null) => void currentRow: User | null setCurrentRow: React.Dispatch> } const UsersContext = React.createContext(null) interface Props { children: React.ReactNode } export default function UsersProvider({ children }: Props) { const [open, setOpen] = useDialogState(null) const [currentRow, setCurrentRow] = useState(null) return ( {children} ) } // eslint-disable-next-line react-refresh/only-export-components export const useUsers = () => { const usersContext = React.useContext(UsersContext) if (!usersContext) { throw new Error('useUsers has to be used within ') } return usersContext }