From d26140e92a7adb6ca2e8a461f11b33b665961f08 Mon Sep 17 00:00:00 2001 From: JimmyLv Date: Mon, 6 Mar 2023 14:48:16 +0800 Subject: [PATCH] fix: timestamp at zero --- components/Sentence.tsx | 5 +++-- pages/[...slug].tsx | 3 ++- utils/extractSentence.tsx | 5 +++++ 3 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 utils/extractSentence.tsx diff --git a/components/Sentence.tsx b/components/Sentence.tsx index 7b3e8eb1..ad61ca3b 100644 --- a/components/Sentence.tsx +++ b/components/Sentence.tsx @@ -1,4 +1,5 @@ -import { extractTimestamp } from "../utils/extractTimestamp"; +import { extractSentence } from "~/utils/extractSentence"; +import { extractTimestamp } from "~/utils/extractTimestamp"; export default function Sentence({ bvId, @@ -9,7 +10,7 @@ export default function Sentence({ }) { const baseUrl = `https://www.bilibili.com/video/${bvId}`; - const matchResult = sentence.match(/\s*(\d+[\.:]\d+)(.*)/); + const matchResult = extractSentence(sentence); if (matchResult) { const seconds = matchResult[1]; const { formattedContent, timestamp } = extractTimestamp(matchResult); diff --git a/pages/[...slug].tsx b/pages/[...slug].tsx index 9c8b76e3..21ea2d3b 100644 --- a/pages/[...slug].tsx +++ b/pages/[...slug].tsx @@ -8,6 +8,7 @@ import { useLocalStorage } from "react-use"; import { useToast } from "~/hooks/use-toast"; import { useSummarize } from "~/hooks/useSummarize"; import { CHECKOUT_URL, RATE_LIMIT_COUNT } from "~/utils/constants"; +import { extractSentence } from "~/utils/extractSentence"; import { extractTimestamp } from "~/utils/extractTimestamp"; import Sentence from "../components/Sentence"; import SquigglyLines from "../components/SquigglyLines"; @@ -99,7 +100,7 @@ export const Home: NextPage = () => { const summaryArray = summary.split("- "); const formattedSummary = summaryArray .map((s) => { - const matchResult = s.match(/\s*(\d+[\.:]\d+)(.*)/); + const matchResult = extractSentence(s); if (matchResult) { const { formattedContent, timestamp } = extractTimestamp(matchResult); return timestamp + formattedContent; diff --git a/utils/extractSentence.tsx b/utils/extractSentence.tsx new file mode 100644 index 00000000..a481e61d --- /dev/null +++ b/utils/extractSentence.tsx @@ -0,0 +1,5 @@ +export function extractSentence(sentence: string) { + return sentence + .replace("0:", "0.0") // 修复第0秒 + .match(/\s*(\d+[\.:]\d+)(.*)/); +}