+ {t("title")} +
++ {t("subtitle")} +
+From c1f1dfb749207c5a967e0cf8c706974dadc1672d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 19 Apr 2026 11:48:57 +0000 Subject: [PATCH 1/4] feat(community): M5+M6+M10 /feed page + Hero entry + i18n --- app/components/Hero.tsx | 10 ++ app/feed/components/CategoryTabs.tsx | 66 ++++++++ app/feed/components/FeedAuthWrapper.tsx | 45 ++++++ app/feed/components/LinkCard.tsx | 116 ++++++++++++++ app/feed/components/ReportButton.tsx | 128 +++++++++++++++ app/feed/page.tsx | 161 +++++++++++++++++++ app/feed/submit/page.tsx | 202 ++++++++++++++++++++++++ app/feed/types.ts | 59 +++++++ messages/en.json | 44 ++++++ messages/zh.json | 44 ++++++ next.config.mjs | 10 ++ 11 files changed, 885 insertions(+) create mode 100644 app/feed/components/CategoryTabs.tsx create mode 100644 app/feed/components/FeedAuthWrapper.tsx create mode 100644 app/feed/components/LinkCard.tsx create mode 100644 app/feed/components/ReportButton.tsx create mode 100644 app/feed/page.tsx create mode 100644 app/feed/submit/page.tsx create mode 100644 app/feed/types.ts diff --git a/app/components/Hero.tsx b/app/components/Hero.tsx index c03b596..e5f639f 100644 --- a/app/components/Hero.tsx +++ b/app/components/Hero.tsx @@ -66,6 +66,16 @@ export async function Hero() {
+ {/* 用户推荐语优先展示,没有则展示 OG description */} + {link.recommendation ?? link.ogDescription} +
+ )} + + {/* 分类 badge + 失效标记 */} ++ {t("subtitle")} +
++ 这里列出所有 PENDING_MANUAL(非白名单域名)和 FLAGGED(AI 判定风险) + 的链接。审核频率预期很低(每周一次),按需处理即可。 +
+加载中...
} + + {error && ( ++ {link.ogDescription} +
+ )} + {link.recommendation && ( ++ 推荐:{link.recommendation} +
+ )} ++ 提交人 #{link.submitterId} ·{" "} + {new Date(link.createdAt).toLocaleString()} +
++ {isOwner + ? "所有已提交的链接及审核状态。PENDING 表示 AI 正在审核,通常 10 秒 ~ 数分钟。" + : "仅本人可见。"} +
+这是 {username} 的私有分享列表,只有本人登录后可见。
+ + 浏览公共分享墙 → + +加载中...
+ )} + + {isOwner && links !== null && links.length === 0 && ( +{tFeed("empty")}
+ + 去提交第一条 → + +