import { useState } from 'react' import { IconMailPlus, IconUserPlus } from '@tabler/icons-react' import useDialogState from '@/hooks/use-dialog-state' import { Button } from '@/components/button' import { Header } from '@/components/layout/header' import { Main } from '@/components/layout/main' import { ProfileDropdown } from '@/components/profile-dropdown' import { Search } from '@/components/search' import { ThemeSwitch } from '@/components/theme-switch' import { UsersActionDialog } from './components/users-action-dialog' import { columns } from './components/users-columns' import { UsersDeleteDialog } from './components/users-delete-dialog' import { UsersInviteDialog } from './components/users-invite-dialog' import { UsersTable } from './components/users-table' import UsersContextProvider, { type UsersDialogType, } from './context/users-context' import { User, userListSchema } from './data/schema' import { users } from './data/users' export default function Users() { // Dialog states const [currentRow, setCurrentRow] = useState(null) const [open, setOpen] = useDialogState(null) // Parse user list const userList = userListSchema.parse(users) return ( {/* ===== Top Heading ===== */}

User List

Manage your users and their roles here.

setOpen('add')} /> setOpen('invite')} /> {currentRow && ( <> { setCurrentRow(null) setOpen('edit') }} currentRow={currentRow} /> { setCurrentRow(null) setOpen('delete') }} currentRow={currentRow} /> )}
) }