diff --git a/frontend/app/library/[slug]/read/page.tsx b/frontend/app/library/[slug]/read/page.tsx index f5c266e..13554be 100644 --- a/frontend/app/library/[slug]/read/page.tsx +++ b/frontend/app/library/[slug]/read/page.tsx @@ -16,7 +16,7 @@ import { groupSections, type ChapterNav, } from "@/lib/librarySections"; -import { extractToc, estimateReadingMinutes, markdownHeadingToc, buildTocFromSegments } from "@/lib/toc"; +import { extractToc, estimateReadingMinutes, formatReadingDuration, markdownHeadingToc, buildTocFromSegments } from "@/lib/toc"; import { splitContentSegments } from "@/lib/directiveBlocks"; import { wrapImplicitEntries } from "@/lib/entryBlocks"; import PostToc, { type TocItem } from "@/components/PostToc"; @@ -223,7 +223,7 @@ export default async function LibraryReadPage({ params, searchParams }: PageProp {current.title}
- 第 {nav.index + 1} / {nav.total} 章 · 约 {chapterMinutes} 分钟 + 第 {nav.index + 1} / {nav.total} 章 · 约 {formatReadingDuration(chapterMinutes)} 读完
> } @@ -265,7 +265,7 @@ export default async function LibraryReadPage({ params, searchParams }: PageProp- 第 {nav.index + 1} / {nav.total} 章 · 约 {chapterMinutes} 分钟 + 第 {nav.index + 1} / {nav.total} 章 · 约 {formatReadingDuration(chapterMinutes)} 读完
约 {readingMinutes} 分钟读完
+约 {formatReadingDuration(readingMinutes)} 读完
> } left={leftRailNode ? { label: "导航", content: leftRailNode } : undefined} @@ -599,8 +599,8 @@ export default async function PostDetailPage({ params, searchParams }: PageProps
diff --git a/frontend/components/site-doc/SiteDocMasthead.tsx b/frontend/components/site-doc/SiteDocMasthead.tsx
index 17fc342..f8ad77e 100644
--- a/frontend/components/site-doc/SiteDocMasthead.tsx
+++ b/frontend/components/site-doc/SiteDocMasthead.tsx
@@ -1,6 +1,7 @@
import type { ReactNode } from "react";
import { Clock } from "lucide-react";
import { formatDate } from "@/lib/format";
+import { formatReadingDuration } from "@/lib/toc";
function formatDateTime(dateStr: string) {
return new Date(dateStr).toLocaleString("zh-CN", {
@@ -83,9 +84,9 @@ export default function SiteDocMasthead({
{readingMinutes != null ? (
-