diff --git a/src/pages/admin/AdminContact.tsx b/src/pages/admin/AdminContact.tsx index c8c5d2f5..3755787b 100644 --- a/src/pages/admin/AdminContact.tsx +++ b/src/pages/admin/AdminContact.tsx @@ -87,7 +87,7 @@ interface EmailThread { export default function AdminContact() { const queryClient = useQueryClient(); const { theme } = useTheme(); - const { isAdmin } = useUserRole(); + const { isAdmin, loading: rolesLoading } = useUserRole(); const [statusFilter, setStatusFilter] = useState('all'); const [categoryFilter, setCategoryFilter] = useState('all'); const [searchQuery, setSearchQuery] = useState(''); @@ -259,7 +259,16 @@ export default function AdminContact() { return cat?.label || category; }; - // Admin-only access check (after all hooks) + // Show loading state while roles are being fetched + if (rolesLoading) { + return ( +
+

Loading...

+
+ ); + } + + // Admin-only access check (after loading complete) if (!isAdmin()) { return (