import React, { useState } from 'react' import useDialogState from '@/hooks/use-dialog-state' import { type User } from '../data/schema' type UsersDialogType = 'invite' | 'add' | 'edit' | 'delete' type UsersContextType = { open: UsersDialogType | null setOpen: (str: UsersDialogType | null) => void currentRow: User | null setCurrentRow: React.Dispatch> } const UsersContext = React.createContext(null) export function UsersProvider({ children }: { children: React.ReactNode }) { 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 }