import { Form, Head, Link, usePage } from '@inertiajs/react'; import { Plus } from 'lucide-react'; import { TenantAdminNav } from '@/components/tenant-admin-nav'; import { Badge } from '@/components/ui/badge'; import { Button } from '@/components/ui/button'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; type Tenant = { id: number; name: string }; type Role = { id: number; name: string }; type User = { id: number; uuid: string; name: string; email: string; is_active: boolean; roles: Role[]; created_at: string; }; type Props = { tenant: Tenant; users: { data: User[]; total: number } }; export default function UserIndex({ tenant, users }: Props) { const { auth, flash } = usePage().props as unknown as { auth: { user: { is_platform_admin: boolean }; permissions: string[] }; flash: { success?: string }; }; const can = (permission: string) => auth.user.is_platform_admin || auth.permissions.includes(permission); const base = `/administration/tenants/${tenant.id}/users`; return ( <>

Users

{tenant.name}

{can('user.create') && ( )}
{flash.success && (
{flash.success}
)} {users.total} User {users.data.map((user) => ( ))}
User Role Status Aksi
{user.name}
{user.email}
{user.roles.map((role) => ( {role.name} ))} {user.is_active ? 'Aktif' : 'Nonaktif'}
{can('user.update') && ( )} {can('user.update') && (
)} {can('user.delete') && (
)}
); } UserIndex.layout = { breadcrumbs: [ { title: 'Tenants', href: '/administration/tenants' }, { title: 'Users', href: '#' }, ], };