diff --git a/app/[locale]/about/AboutContent.tsx b/app/[locale]/about/AboutContent.tsx new file mode 100644 index 0000000..3812a76 --- /dev/null +++ b/app/[locale]/about/AboutContent.tsx @@ -0,0 +1,120 @@ +"use client"; + +import { useTranslation } from "@/i18n/navigation"; +import { getThemeConfig } from "@/config"; +import SocialPlatformIcon from "../../components/SocialPlatformIcon"; + +export default function AboutContent() { + const { t } = useTranslation("about"); + const config = getThemeConfig(); + const linktreeUrl = config.linktreeUrl; + const socialLinks = config.socialLinks ?? []; + const teamMembers = config.teamMembers ?? []; + + return ( +
+
+
+
+

+ {t("title")} +

+

+ {t("subtitle")} +

+
+ + {/* 团队成员 */} + {teamMembers.length > 0 && ( +
+

+ {t("teamTitle")} +

+

+ {t("teamDesc")} +

+
+ {teamMembers.map((member) => { + const content = ( +
+
+ {member.avatar ?? "👤"} +
+

+ {member.name} +

+

+ {member.role} +

+
+ ); + if (member.link) { + return ( + + {content} + + ); + } + return
{content}
; + })} +
+
+ )} + + {/* 社交平台 Linktree */} + {(linktreeUrl || socialLinks.length > 0) && ( +
+

+ {t("linktreeTitle")} +

+

+ {t("linktreeDesc")} +

+ {(["domestic", "overseas"] as const).map((group) => { + const items = socialLinks.filter((l) => l.group === group); + if (items.length === 0) return null; + return ( +
+

+ {group === "domestic" ? t("groupDomestic") : t("groupOverseas")} +

+ +
+ ); + })} +
+ )} +
+
+
+ ); +} diff --git a/app/[locale]/about/page.tsx b/app/[locale]/about/page.tsx new file mode 100644 index 0000000..d9f41f9 --- /dev/null +++ b/app/[locale]/about/page.tsx @@ -0,0 +1,20 @@ +import type { Metadata } from "next"; +import Header from "../../components/Header"; +import Footer from "../../components/Footer"; +import AboutContent from "./AboutContent"; +export const metadata: Metadata = { + title: "关于我们 | About Us", + description: "认识数字游民指南背后的团队,关注我们的社交平台。", +}; + +export default function AboutPage() { + return ( + <> +
+
+ +
+