From 4cbde97f41a689ec23324e0a7bfd9a2d54e51ec5 Mon Sep 17 00:00:00 2001 From: goddonebianu Date: Mon, 24 Nov 2025 16:01:53 +0800 Subject: [PATCH] =?UTF-8?q?=E8=83=8C=E5=8D=95=E8=AF=8D=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E7=B4=A2=E5=BC=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- messages/en-US.json | 1 - messages/zh-CN.json | 1 - src/app/(features)/memorize/Memorize.tsx | 22 +++++++++++++++++----- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/messages/en-US.json b/messages/en-US.json index 2e63b84..f1b629d 100644 --- a/messages/en-US.json +++ b/messages/en-US.json @@ -94,7 +94,6 @@ "reverse": "Reverse", "dictation": "Dictation", "noTextPairs": "No text pairs available", - "progress": "{current}/{total}", "disorder": "Disorder", "previous": "Previous" }, diff --git a/messages/zh-CN.json b/messages/zh-CN.json index b5cd9c7..bdaa5fb 100644 --- a/messages/zh-CN.json +++ b/messages/zh-CN.json @@ -98,7 +98,6 @@ "reverse": "反向", "dictation": "听写", "noTextPairs": "没有可用的文本对", - "progress": "{current}/{total}", "disorder": "乱序", "previous": "上一个" }, diff --git a/src/app/(features)/memorize/Memorize.tsx b/src/app/(features)/memorize/Memorize.tsx index 3c095db..c100718 100644 --- a/src/app/(features)/memorize/Memorize.tsx +++ b/src/app/(features)/memorize/Memorize.tsx @@ -10,6 +10,7 @@ import { getTTSAudioUrl } from "@/lib/browser/tts"; import { VOICES } from "@/config/locales"; import { useTranslations } from "next-intl"; import localFont from "next/font/local"; +import { isNonNegativeInteger } from "@/lib/utils"; const myFont = localFont({ src: "../../../../public/fonts/NotoNaskhArabic-VariableFont_wght.ttf", @@ -51,11 +52,22 @@ const Memorize: React.FC = ({ textPairs }) => {
-
- {t("progress", { - current: index + 1, - total: getTextPairs().length, - })} +
{ + const newIndex = prompt("Input a index number.")?.trim(); + if ( + newIndex && + isNonNegativeInteger(newIndex) && + parseInt(newIndex) <= textPairs.length && + parseInt(newIndex) > 0 + ) { + setIndex(parseInt(newIndex) - 1); + } + }} + > + {index + 1} + {"/" + getTextPairs().length}
{dictation ? ( show === "question" ? (