import { useState } from "react"; import { ChevronDown, Download, Gauge, MoreHorizontal, Sheet, } from "lucide-react"; import type { CsvValue } from "@/client/lib/csv"; import { exportTableToSheets } from "@/client/lib/exportToSheets"; import type { BacklinksOverviewData, BacklinksSearchState, } from "./backlinksPageTypes"; import { exportBacklinksTabCsv } from "./export"; export function BacklinksExportMenu({ activeTab, exportTarget, filteredData, headers, rows, }: { activeTab: BacklinksSearchState["tab"]; exportTarget: string; filteredData: { backlinks: BacklinksOverviewData["backlinks"]; referringDomains: BacklinksOverviewData["referringDomains"]; topPages: BacklinksOverviewData["topPages"]; }; headers: string[]; rows: CsvValue[][]; }) { const [isExportingSheets, setIsExportingSheets] = useState(false); const canExport = rows.length > 0 && !isExportingSheets; const handleExportToSheets = async () => { if (!canExport) return; setIsExportingSheets(true); try { await exportTableToSheets({ headers, rows, feature: `backlinks_${activeTab}`, }); } finally { setIsExportingSheets(false); } }; return (