"use client"; import React, { useState, useEffect } from "react"; import { db } from "@/lib/firebase"; import { collection, onSnapshot, addDoc, deleteDoc, doc } from "firebase/firestore"; import Link from "next/link"; interface Client { id: string; name: string; email: string; phone: string; } export default function ClientsPage() { const [clients, setClients] = useState([]); const [isModalOpen, setIsModalOpen] = useState(false); const [newClient, setNewClient] = useState({ name: "", email: "", phone: "" }); useEffect(() => { const unsub = onSnapshot(collection(db, "clients"), (snap) => { const data = snap.docs.map(doc => ({ id: doc.id, ...doc.data() } as Client)); setClients(data); }); return () => unsub(); }, []); const handleAdd = async (e: React.FormEvent) => { e.preventDefault(); await addDoc(collection(db, "clients"), newClient); setIsModalOpen(false); setNewClient({ name: "", email: "", phone: "" }); }; return (
← Dashboard

Directorio de Clientes

{clients.map((c) => (
👤

{c.name}

{c.email}

📞 {c.phone}
))}
{isModalOpen && (

Registrar Cliente

setNewClient({...newClient, name: e.target.value})} className="w-full bg-white/5 border border-white/10 rounded-2xl px-6 py-4 outline-none focus:border-purple-500/50" /> setNewClient({...newClient, email: e.target.value})} className="w-full bg-white/5 border border-white/10 rounded-2xl px-6 py-4 outline-none focus:border-purple-500/50" /> setNewClient({...newClient, phone: e.target.value})} className="w-full bg-white/5 border border-white/10 rounded-2xl px-6 py-4 outline-none focus:border-purple-500/50" />
)}
); }