import { useState, useEffect } from 'react' import { dnsAPI } from '../services/api' function DomainList() { const [domains, setDomains] = useState([]) const [loading, setLoading] = useState(true) const [error, setError] = useState(null) useEffect(() => { fetchDomains() }, []) const fetchDomains = async () => { setLoading(true) setError(null) try { const response = await dnsAPI.getDomains() setDomains(response.data) } catch (err) { setError(err.response?.data?.error || 'Failed to fetch domains') } finally { setLoading(false) } } const getStatusBadge = (status) => { const colors = { active: 'bg-green-100 text-green-800', pending: 'bg-yellow-100 text-yellow-800', error: 'bg-red-100 text-red-800', } return colors[status] || 'bg-gray-100 text-gray-800' } if (loading) { return (

Loading domains...

) } if (error) { return (
Error: {error}
) } if (domains.length === 0) { return (

No Domains Yet

You haven't added any domains yet. Click "Add Domain" to get started.

) } return (

My Domains

{domains.map((domain) => (

{domain.domain_name}

{domain.status}
Load Balancer IP:

{domain.lb_ip || 'N/A'}

DNS Configured:

{domain.dns_configured ? '✓ Yes' : '✗ No'}

SSL Configured:

{domain.ssl_configured ? '✓ Yes' : '✗ No'}

Cloudflare Proxy:

{domain.cf_proxy_enabled ? '✓ Enabled' : '✗ Disabled'}

Added: {new Date(domain.created_at).toLocaleDateString()}
Visit Site →
))}
) } export default DomainList