import type { Metadata } from "next" import { getTranslations, getMessages, setRequestLocale } from "next-intl/server" import { Link } from "@/i18n/navigation" import { DocHeader } from "@/components/ui/doc-header" import { Callout } from "@/components/ui/callout" export async function generateMetadata({ params, }: { params: Promise<{ locale: string }> }): Promise { const { locale } = await params const t = await getTranslations({ locale, namespace: "docs.network.diagnostics.meta" }) return { title: t("title"), description: t("description"), openGraph: { title: t("ogTitle"), description: t("ogDescription"), type: "article", url: "https://macrimi.github.io/ProxMenux/docs/network/diagnostics", }, } } type ConnRow = { test: string; target: string; confirms: string } type RelatedItem = { label: string; href: string; tail: string } export default async function NetworkDiagnosticsPage({ params, }: { params: Promise<{ locale: string }> }) { const { locale } = await params setRequestLocale(locale) const t = await getTranslations({ locale, namespace: "docs.network.diagnostics" }) const messages = (await getMessages({ locale })) as unknown as { docs: { network: { diagnostics: { connectivity: { rows: ConnRow[] } advanced: { items: string[] } related: { items: RelatedItem[] } } } } } const connRows = messages.docs.network.diagnostics.connectivity.rows const advancedItems = messages.docs.network.diagnostics.advanced.items const relatedItems = messages.docs.network.diagnostics.related.items const code = (chunks: React.ReactNode) => {chunks} const strong = (chunks: React.ReactNode) => {chunks} const em = (chunks: React.ReactNode) => {chunks} const monitoringLink = (chunks: React.ReactNode) => ( {chunks} ) const backupLink = (chunks: React.ReactNode) => ( {chunks} ) return (
{t.rich("intro.body", { strong, monitoringLink, backupLink })}

{t("routing.heading")}

{t.rich("routing.body", { code })}

{`Total routes: 4

➡  default via 192.168.1.1 dev vmbr0 onlink
   • 10.10.10.0/24 dev vmbr1 proto kernel scope link src 10.10.10.1
   • 169.254.0.0/16 dev vmbr0 scope link metric 1000
   • 192.168.1.0/24 dev vmbr0 proto kernel scope link src 192.168.1.10

🌍 Default Gateway: 192.168.1.1`}

{t("connectivity.heading")}

{t.rich("connectivity.intro", { code })}

{connRows.map((row, idx) => ( ))}
{t("connectivity.headerTest")} {t("connectivity.headerTarget")} {t("connectivity.headerConfirms")}
{row.test} {row.target} {row.confirms}
{t.rich("connectivity.readingBody", { code })}

{t("advanced.heading")}

{t("advanced.intro")}

    {advancedItems.map((_, idx) => (
  • {t.rich(`advanced.items.${idx}`, { strong, code, em })}
  • ))}
{t.rich("advanced.nmBody", { code })}

{t("troubleshoot.heading")}

{t.rich("troubleshoot.gwBody", { code })} {t.rich("troubleshoot.dupBody", { code })}

{t("related.heading")}

    {relatedItems.map((item) => (
  • {item.label} {item.tail}
  • ))}
) }