'use client'; import { useState, useEffect } from 'react'; import Link from 'next/link'; import { AppHeader } from '@/components/layout/AppHeader'; import { Sidebar } from '@/components/layout/Sidebar'; import { Breadcrumb } from '@/components/layout/Breadcrumb'; import { CardSkeleton } from '@/components/ui/Skeleton'; export default function Domains() { const [domains, setDomains] = useState([]); const [error, setError] = useState(null); const [loading, setLoading] = useState(true); useEffect(() => { const auth = localStorage.getItem('auth'); if (!auth) { setError('Not authenticated'); setLoading(false); return; } fetch('/api/domains', { headers: { Authorization: `Basic ${auth}` } }) .then(res => { if (!res.ok) throw new Error('Failed to fetch domains'); return res.json(); }) .then(setDomains) .catch(err => setError(err.message)) .finally(() => setLoading(false)); }, []); if (loading) { return ( <>

All Domains

); } if (error) { return ( <>

{error}

); } return ( <>

All Domains

    {domains.length === 0 ? (
  • No domains found

  • ) : ( domains.map((d: any) => (
  • {d.domain}
  • )) )}
{domains.length} domains loaded
); }