"use client" import { useMemo, useState } from "react" import { PageHeader } from "@/components/page-header" import { DataTable } from "@/components/data-table" import { FileImportDialog } from "@/components/file-import-dialog" import { asns as mockAsns } from "@/lib/data" import { Button } from "@/components/ui/button" import { UploadIcon, DownloadIcon, PlusIcon, FilterIcon, LoaderCircleIcon } from "lucide-react" import { useDataSource } from "@/lib/data-source" import { useEvoBGP } from "@/lib/evobgp-context" import { cn } from "@/lib/utils" import { toast } from "sonner" export default function AsnsPage() { const { mode } = useDataSource() const { enabled, snapshot, loading, error } = useEvoBGP() const [importOpen, setImportOpen] = useState(false) const useEvoCatalog = mode === "live" && enabled const rows = useMemo(() => { if (!useEvoCatalog) return mockAsns if (loading && !snapshot) return [] return snapshot?.asns ?? [] }, [useEvoCatalog, loading, snapshot]) return (
Автономные системы — источники маршрутов для BGP-фильтров
{useEvoCatalog && (
{loading &&