mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-10-13 18:36:37 +08:00
fc569d1758
- Dynamically import `ZonePageClient` with `ssr: false` in `websites/[zoneId]/page.tsx`. - Remove `generateStaticParams` to prevent dynamic paths from building with inconsistent SSG/ISR outputs. - Remove redundant `mounted` check from `page-client.tsx` since dashboard is client-only. - Add `bytes_sent` to `NodeAccessLog` on both Agent and Master Server. - Create ClickHouse migration `202607120001_add_bytes_sent_to_node_access_logs.sql`. - Refactor duplicate stats structs by centralizing them into `analyticsmodel` package with type aliases. - Simplify access log store delegations and remove redundant mapping loops. - Support full console menu display management in settings other-tab. - Regenerate Swagger documentation. - Update changelog index.md.
30 lines
821 B
TypeScript
30 lines
821 B
TypeScript
import {Suspense} from 'react'
|
|
import {Globe} from 'lucide-react'
|
|
import dynamic from 'next/dynamic'
|
|
import {LoadingStateWithBorder} from '@/components/layout/loading'
|
|
|
|
const ZonePageClient = dynamic(
|
|
() => import('./page-client').then((mod) => mod.ZonePageClient),
|
|
{
|
|
ssr: false,
|
|
loading: () => (
|
|
<div className="py-6 px-1">
|
|
<LoadingStateWithBorder icon={Globe} description="加载 Zone 详情中..." />
|
|
</div>
|
|
),
|
|
}
|
|
)
|
|
|
|
export default async function ZonePage({params}: PageProps<'/websites/[zoneId]'>) {
|
|
const {zoneId} = await params
|
|
return (
|
|
<Suspense fallback={
|
|
<div className="py-6 px-1">
|
|
<LoadingStateWithBorder icon={Globe} description="加载 Zone 详情中..." />
|
|
</div>
|
|
}>
|
|
<ZonePageClient zoneId={Number(zoneId)} />
|
|
</Suspense>
|
|
)
|
|
}
|