"use client"; import Link from "next/link"; import { useState } from "react"; import { Building2, Pause, Play, Plus, RefreshCw, Trash2 } from "lucide-react"; import { CompanyStatusBadge } from "@/components/ui/badge"; import { useCompanies, useDeleteCompany, useSetCompanyPaused } from "@/hooks/use-companies"; import { useRunAnyCompanyNow } from "@/hooks/use-monitoring-runs"; import { FREQUENCY_LABELS } from "@/lib/types"; import { formatDateTime } from "@/lib/format"; export default function CompaniesPage() { const { data: companies, isLoading } = useCompanies(); const setPaused = useSetCompanyPaused(); const deleteCompany = useDeleteCompany(); const runNow = useRunAnyCompanyNow(); const [pendingDeleteId, setPendingDeleteId] = useState(null); const companyList = companies ?? []; return (

Companies

Everything you're currently monitoring.

Add company
{isLoading ? (

Loading…

) : companyList.length === 0 ? (

No companies yet.

Add your first company
) : (
{companyList.map((company) => ( ))}
Company Status Frequency Last checked Next check Alerts Actions
{company.name} {company.official_website && (
{company.official_website}
)}
{company.monitor_configuration ? FREQUENCY_LABELS[company.monitor_configuration.frequency_type] : "—"} {formatDateTime(company.monitor_configuration?.last_run)} {formatDateTime(company.monitor_configuration?.next_run)} {company.unresolved_alert_count}
{pendingDeleteId === company.id ? (
Delete?
) : ( )}
)}
); }