"use client"; import React, { useState } from "react"; import { useStaff } from "@/hooks/useStaff"; import { Card, CardContent, CardHeader, CardTitle, CardDescription } from "@/components/ui/card"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Users, UserPlus, Trash2, Mail, Phone, Briefcase, Search, Plus } from "lucide-react"; export default function EquipaPage() { const { staff, loading, addStaff, deleteStaff } = useStaff(); const [searchTerm, setSearchTerm] = useState(""); const [isAdding, setIsAdding] = useState(false); const [newMember, setNewMember] = useState({ name: "", role: "", email: "", phoneNumber: "" }); const filteredStaff = staff.filter(s => s.name.toLowerCase().includes(searchTerm.toLowerCase()) || s.role.toLowerCase().includes(searchTerm.toLowerCase()) ); const handleAdd = async (e: React.FormEvent) => { e.preventDefault(); const res = await addStaff(newMember); if (res.success) { setIsAdding(false); setNewMember({ name: "", role: "", email: "", phoneNumber: "" }); } }; return (

Gestão de Equipa

{isAdding && ( Novo Funcionário
setNewMember({...newMember, name: e.target.value})} required />
setNewMember({...newMember, role: e.target.value})} required />
setNewMember({...newMember, email: e.target.value})} required />
setNewMember({...newMember, phoneNumber: e.target.value})} />
)}
setSearchTerm(e.target.value)} />
{loading ? (
) : filteredStaff.length > 0 ? ( filteredStaff.map((member) => (
{member.name.charAt(0)}
{member.name} {member.role}
{member.email}
{member.phoneNumber && (
{member.phoneNumber}
)}
)) ) : (

Nenhum funcionário encontrado

Adicione membros à sua equipa para começar.

)}
); }