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 ( -