diff --git a/src/app/about/page.tsx b/src/app/about/page.tsx index 44acc0c..f8156bb 100644 --- a/src/app/about/page.tsx +++ b/src/app/about/page.tsx @@ -1,161 +1,167 @@ "use client"; -import React from "react"; -import { translations } from "../../i18n/translations"; -import { useLanguage } from "../../i18n/LanguageProvider"; -import UnifiedNavigation from "../../components/UnifiedNavigation"; -import Footer from "../../components/Footer"; +import { AlertTriangle, ArrowUpRight, Heart, Sparkles } from "lucide-react"; + +import { + PublicPageIntro, + PublicPageShell, +} from "@/components/public/PublicPageShell"; +import { useLanguage } from "@/i18n/LanguageProvider"; +import { translations } from "@/i18n/translations"; +import { cn } from "@/lib/utils"; export default function AboutPage() { const { language } = useLanguage(); + const isChinese = language === "zh"; const t = translations[language].about; return ( -
-
+ +
+
+ -
- - -
-
- {/* Header */} -
-

- {t.title} -

-

{t.subtitle}

-
- - {/* Disclaimer Section */} -
-
-
- - - - - -
-
-

- Disclaimer -

-

- {t.disclaimer} -

-
-
-
- - {/* Acknowledgments */} -
-
-

- {t.acknowledgmentsTitle} -

-

- {t.acknowledgments} -

- -
- {t.sections.map((section, sIndex) => ( -
-

- {section.title} -

- - {section.content && ( -

- {section.content} -

- )} - - {section.items && ( -
- {section.items.map((item, iIndex) => ( -
-
- - {item.label} - - -

- {item.description} -

-
-
- ))} -
- )} - - {section.links && ( - - )} -
- ))} -
-
- -
-
-
- - - -

{t.opensource}

-
+
+

+ {isChinese ? "维护方式" : "Maintenance"} +

+
+
+
+

+ {isChinese + ? "独立开发者维护,围绕 AI 服务、可观测性与云原生控制面持续演进。" + : "Maintained independently, evolving around AI services, observability, and cloud-native control planes."} +

-
+
+
-
-
+
+
+
+ +
+
+

+ {isChinese ? "免责声明" : "Disclaimer"} +

+

+ {t.disclaimer} +

+
+
+
+ +
+
+
+

+ {isChinese ? "致谢与驱动力" : "Acknowledgements"} +

+

+ {t.acknowledgmentsTitle} +

+

+ {t.acknowledgments} +

+
+ +
+ {t.sections.map((section, index) => ( +
+
+
+ {isChinese ? "章节" : "Section"} {index + 1} +
+

+ {section.title} +

+
+ + {section.content ? ( +

+ {section.content} +

+ ) : null} + + {section.items ? ( +
+ {section.items.map((item) => ( + +
+
+

+ {item.label} +

+

+ {item.description} +

+
+ +
+
+ ))} +
+ ) : null} + + {section.links ? ( +
+ {section.links.map((link) => ( + + + {link.label} + + ))} +
+ ) : null} +
+ ))} +
+
+
+ +
+
+
+ +
+
+

+ {isChinese ? "开源协作" : "Open source"} +

+

+ {t.opensource} +

+
+
+
+ ); } diff --git a/src/app/docs/Feedback.tsx b/src/app/docs/Feedback.tsx index 61b2514..bab4f0d 100644 --- a/src/app/docs/Feedback.tsx +++ b/src/app/docs/Feedback.tsx @@ -1,36 +1,44 @@ -'use client' +"use client"; -import { useState } from 'react' -import { ThumbsUp, ThumbsDown } from 'lucide-react' +import { useState } from "react"; +import { ThumbsDown, ThumbsUp } from "lucide-react"; export default function Feedback() { - const [voted, setVoted] = useState<'yes' | 'no' | null>(null) + const [voted, setVoted] = useState<"yes" | "no" | null>(null); - return ( -
-
-

Is this page helpful?

- {voted === null ? ( -
- - -
- ) : ( -

Thanks for your feedback!

- )} -
+ return ( +
+
+
+

+ Feedback +

+

+ Is this page helpful? +

- ) + + {voted === null ? ( +
+ + +
+ ) : ( +

Thanks for your feedback.

+ )} +
+
+ ); } diff --git a/src/app/docs/[collection]/[...slug]/page.tsx b/src/app/docs/[collection]/[...slug]/page.tsx index 0b2ecbd..8c50355 100644 --- a/src/app/docs/[collection]/[...slug]/page.tsx +++ b/src/app/docs/[collection]/[...slug]/page.tsx @@ -1,104 +1,128 @@ -export const dynamic = 'error' -export const revalidate = false +export const dynamic = "error"; +export const revalidate = false; -import { notFound } from 'next/navigation' -import type { Metadata } from 'next' +import type { Metadata } from "next"; +import Link from "next/link"; +import { notFound } from "next/navigation"; +import { ChevronRight } from "lucide-react"; -import DocArticle from '@/components/doc/DocArticle' -import DocMetaPanel from '@/components/doc/DocMetaPanel' -import Feedback from '../../Feedback' -import { getDocVersionParams, getDocVersion } from '../../resources.server' -import { isFeatureEnabled } from '@lib/featureToggles' -import Link from 'next/link' -import { ChevronRight } from 'lucide-react' +import DocArticle from "@/components/doc/DocArticle"; +import DocMetaPanel from "@/components/doc/DocMetaPanel"; +import { PublicPageIntro } from "@/components/public/PublicPageShell"; +import { isFeatureEnabled } from "@lib/featureToggles"; -// Simple Breadcrumbs Component inline (or could be separate) -function DocsBreadcrumbs({ items }: { items: { label: string; href: string }[] }) { +import Feedback from "../../Feedback"; +import { getDocVersion, getDocVersionParams } from "../../resources.server"; + +function DocsBreadcrumbs({ + items, +}: { + items: { label: string; href: string }[]; +}) { return ( -