Spaces:
Sleeping
Sleeping
File size: 1,831 Bytes
9e2df12 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | import { Card } from '@/components/ui/card'
import {
Table, TableHeader, TableBody, TableRow, TableHead, TableCell,
} from '@/components/ui/table'
import UserRow from './UserRow'
import UsersPagination from './UsersPagination'
const TABLE_HEADERS = ['Name', 'Email', 'Role', 'Status', 'Joined', 'Actions']
export default function DesktopUsersTable({
users,
updating,
changeRole,
toggleStatus,
createResetLink,
pageIndex,
showingFrom,
showingTo,
totalUsers,
hasPagination,
hasMore,
goToPreviousPage,
goToNextPage,
}) {
return (
<Card className="overflow-hidden hidden md:block">
<Table>
<TableHeader>
<TableRow className="border-b theme-border hover:bg-transparent">
{TABLE_HEADERS.map(h => (
<TableHead key={h} className="px-5 py-3.5 text-xs uppercase tracking-wider font-medium text-muted-foreground">{h}</TableHead>
))}
</TableRow>
</TableHeader>
<TableBody>
{users.map(u => (
<UserRow
key={u.id}
user={u}
updating={updating}
onChangeRole={changeRole}
onToggleStatus={toggleStatus}
onCreateResetLink={createResetLink}
/>
))}
{users.length === 0 && (
<TableRow>
<TableCell colSpan={6} className="text-center py-12 text-muted-foreground">No users found</TableCell>
</TableRow>
)}
</TableBody>
</Table>
<UsersPagination
pageIndex={pageIndex}
showingFrom={showingFrom}
showingTo={showingTo}
totalUsers={totalUsers}
hasPagination={hasPagination}
hasMore={hasMore}
onPrev={goToPreviousPage}
onNext={goToNextPage}
/>
</Card>
)
}
|