From d4255fc1c8fde79330f223f471002f74701b6867 Mon Sep 17 00:00:00 2001 From: hzm <934585316@qq.com> Date: Mon, 9 Mar 2026 20:00:18 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=AE=BE=E7=BD=AE=E5=BC=B9=E6=A1=86?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E6=A0=B7=E5=BC=8F=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/components/SettingsModal.jsx | 228 +++++++++++++++++-------------- app/page.jsx | 6 +- 2 files changed, 128 insertions(+), 106 deletions(-) diff --git a/app/components/SettingsModal.jsx b/app/components/SettingsModal.jsx index 061a8f4..be54bc9 100644 --- a/app/components/SettingsModal.jsx +++ b/app/components/SettingsModal.jsx @@ -1,6 +1,7 @@ 'use client'; import { useEffect, useState } from 'react'; +import { Dialog, DialogContent, DialogTitle } from '@/components/ui/dialog'; import ConfirmModal from './ConfirmModal'; import { ResetIcon, SettingsIcon } from './Icons'; @@ -20,6 +21,7 @@ export default function SettingsModal({ }) { const [sliderDragging, setSliderDragging] = useState(false); const [resetWidthConfirmOpen, setResetWidthConfirmOpen] = useState(false); + const [localSeconds, setLocalSeconds] = useState(tempSeconds); useEffect(() => { if (!sliderDragging) return; @@ -32,125 +34,143 @@ export default function SettingsModal({ }; }, [sliderDragging]); + // 外部的 tempSeconds 变更时,同步到本地显示,但不立即生效 + useEffect(() => { + setLocalSeconds(tempSeconds); + }, [tempSeconds]); + return ( -