diff --git a/frontend/src/pages/Dashboard.jsx b/frontend/src/pages/Dashboard.jsx
index 23a7a8b..1a13c4f 100644
--- a/frontend/src/pages/Dashboard.jsx
+++ b/frontend/src/pages/Dashboard.jsx
@@ -1,7 +1,7 @@
/**
* Customer Dashboard - Main dashboard with sidebar navigation
*/
-import { useState } from 'react';
+import { useState, useEffect } from 'react';
import { useNavigate } from 'react-router-dom';
import { useAuth } from '../context/AuthContext';
import {
@@ -12,7 +12,143 @@ import {
ShieldCheckIcon,
Cog6ToothIcon,
ArrowRightOnRectangleIcon,
+ PlusIcon,
+ CheckCircleIcon,
+ XCircleIcon,
+ ClockIcon,
} from '@heroicons/react/24/outline';
+import api from '../services/api';
+
+// Domains Content Component
+const DomainsContent = ({ customer }) => {
+ const [domains, setDomains] = useState([]);
+ const [loading, setLoading] = useState(true);
+ const [showAddModal, setShowAddModal] = useState(false);
+
+ useEffect(() => {
+ fetchDomains();
+ }, []);
+
+ const fetchDomains = async () => {
+ try {
+ const response = await api.get('/api/customer/domains');
+ setDomains(response.data.domains || []);
+ } catch (error) {
+ console.error('Failed to fetch domains:', error);
+ } finally {
+ setLoading(false);
+ }
+ };
+
+ const getStatusBadge = (status) => {
+ const badges = {
+ active: { color: 'bg-green-100 text-green-800', icon: CheckCircleIcon, text: 'Active' },
+ pending: { color: 'bg-yellow-100 text-yellow-800', icon: ClockIcon, text: 'Pending' },
+ failed: { color: 'bg-red-100 text-red-800', icon: XCircleIcon, text: 'Failed' },
+ };
+ const badge = badges[status] || badges.pending;
+ const Icon = badge.icon;
+
+ return (
+
+
Loading domains...
++ {domains.length} of {customer?.max_domains} domains used +
++ Get started by adding your first domain +
+ +Domain wizard coming soon...
+ +DNS Management module coming soon...
-