import { useState, useEffect } from 'react'; import PageMeta from '../../components/common/PageMeta'; import { useToast } from '../../components/ui/toast/ToastContainer'; import { usePageLoading } from '../../context/PageLoadingContext'; import { fetchAPI } from '../../services/api'; import { Card } from '../../components/ui/card'; import Badge from '../../components/ui/badge/Badge'; interface User { id: number; email: string; username: string; role: string; is_active: boolean; } export default function Users() { const toast = useToast(); const { startLoading, stopLoading } = usePageLoading(); const [users, setUsers] = useState([]); useEffect(() => { loadUsers(); }, []); const loadUsers = async () => { try { startLoading('Loading users...'); const response = await fetchAPI('/v1/auth/users/'); setUsers(response.results || []); } catch (error: any) { toast.error(`Failed to load users: ${error.message}`); } finally { stopLoading(); } }; return ( <>

Users

Manage account users and permissions

{users.map((user) => ( ))}
Email Username Role Status
{user.email} {user.username} {user.role} {user.is_active ? 'Active' : 'Inactive'}
); }