diff --git a/frontend/app/(main)/websites/[zoneId]/components/zone-overview.tsx b/frontend/app/(main)/websites/[zoneId]/components/zone-overview.tsx index 84a83e98..14f4e61a 100644 --- a/frontend/app/(main)/websites/[zoneId]/components/zone-overview.tsx +++ b/frontend/app/(main)/websites/[zoneId]/components/zone-overview.tsx @@ -2,11 +2,11 @@ import {useMemo, useState} from 'react'; import {useQuery} from '@tanstack/react-query'; -import {Activity, HardDrive, Link2, ShieldCheck, Users} from 'lucide-react'; +import {Activity, HardDrive, Users} from 'lucide-react'; import {Area, AreaChart, CartesianGrid, XAxis, YAxis} from 'recharts'; import {Button} from '@/components/ui/button'; -import {Card, CardContent, CardDescription, CardHeader, CardTitle} from '@/components/ui/card'; +import {Card, CardContent, CardHeader, CardTitle} from '@/components/ui/card'; import { ChartContainer, ChartTooltip, @@ -84,14 +84,6 @@ export function ZoneOverviewPanel({ zoneId: number; }) { const [range, setRange] = useState('24h'); - const boundRoutes = new Set( - overview.domains.flatMap((domain) => - domain.proxy_route_id ? [domain.proxy_route_id] : [], - ), - ).size; - const certificates = overview.domains.filter( - (domain) => domain.cert_id !== null, - ).length; const statsQuery = useQuery({ queryKey: [...zoneQueryKey, zoneId, 'stats', range], diff --git a/frontend/app/(main)/websites/[zoneId]/page.tsx b/frontend/app/(main)/websites/[zoneId]/page.tsx index df6646f0..167ab625 100644 --- a/frontend/app/(main)/websites/[zoneId]/page.tsx +++ b/frontend/app/(main)/websites/[zoneId]/page.tsx @@ -1,6 +1,21 @@ +import {Suspense} from 'react' +import {Globe} from 'lucide-react' +import {LoadingStateWithBorder} from '@/components/layout/loading' import {ZonePageClient} from './page-client' +export async function generateStaticParams() { + return [{zoneId: '1'}]; +} + export default async function ZonePage({params}: PageProps<'/websites/[zoneId]'>) { const {zoneId} = await params - return + return ( + + + + }> + + + ) } diff --git a/frontend/app/globals.css b/frontend/app/globals.css index 34d754c0..9c922a17 100644 --- a/frontend/app/globals.css +++ b/frontend/app/globals.css @@ -7,7 +7,7 @@ @theme inline { --color-background: var(--background); --color-foreground: var(--foreground); - --font-sans: var(--font-inter), 'PingFang SC', 'Microsoft YaHei', sans-serif; + --font-sans: 'Inter', 'PingFang SC', 'Microsoft YaHei', sans-serif; --font-mono: var(--font-geist-mono), 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', 'PingFang SC', 'Microsoft YaHei', monospace; --color-sidebar-ring: var(--sidebar-ring); --color-sidebar-border: var(--sidebar-border); diff --git a/frontend/app/layout.tsx b/frontend/app/layout.tsx index 82e6347c..e5eea564 100644 --- a/frontend/app/layout.tsx +++ b/frontend/app/layout.tsx @@ -1,5 +1,4 @@ import type {Metadata} from "next"; -import {Inter} from "next/font/google"; import {Toaster} from "@/components/ui/sonner"; import {ThemeProvider} from "@/components/layout/theme-provider"; import {CustomThemeProvider} from "@/lib/theme"; @@ -11,12 +10,6 @@ import {SiteTitleUpdater} from "@/components/providers/title-updater"; import {RobotsMeta} from "@/components/layout/robots-meta"; import "./globals.css"; -const inter = Inter({ - subsets: ["latin"], - variable: "--font-inter", - display: "swap", -}); - export const metadata: Metadata = { title: "OpenFlare", description: "OpenFlare 边缘节点与反向代理管理平台", @@ -30,7 +23,7 @@ export default function RootLayout({ return (