import { useState } from "react"; import { Button } from "@/components/ui/button"; import { Plus } from "lucide-react"; import { Service } from "@/services/serviceService"; import { StatusCards } from "./StatusCards"; import { ServiceFilters } from "./ServiceFilters"; import { ServicesTable } from "./ServicesTable"; import { AddServiceDialog } from "@/components/services/AddServiceDialog"; interface DashboardContentProps { services: Service[]; isLoading: boolean; error: Error | null; } export const DashboardContent = ({ services, isLoading, error }: DashboardContentProps) => { const [filter, setFilter] = useState("all"); const [searchTerm, setSearchTerm] = useState(""); const [isAddDialogOpen, setIsAddDialogOpen] = useState(false); // Filter services based on search term and type filter const filteredServices = services.filter(service => { const matchesSearch = service.name.toLowerCase().includes(searchTerm.toLowerCase()) || (service.url && service.url.toLowerCase().includes(searchTerm.toLowerCase())); const matchesFilter = filter === 'all' || service.type.toLowerCase() === filter.toLowerCase(); return matchesSearch && matchesFilter; }); if (error) { return (

Error loading service data.

); } return (

Overview

); };