diff --git a/src/App.jsx b/src/App.jsx index 550ba2e..ba25c6c 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -26,8 +26,10 @@ export default function App() { return { ringProgress: progress, waterLevel: progress, + waterVariant: "countdown", title: "倒數", subtitle: `總長 ${formatHMS(cd.totalMs)}`, + flashKey: null, }; } @@ -36,9 +38,14 @@ export default function App() { const phase = (sw.elapsedMs % loop) / loop; return { ringProgress: phase, - waterLevel: 0.15 + phase * 0.7, // keep some padding (never fully empty/full) - title: "碼表", - subtitle: sw.isRunning ? "流動中…" : "休息一下也很好", + waterLevel: 0.5, + waterVariant: "stopwatch", + title: "碼錶", + subtitle: sw.isRunning ? "流動中…" : "跑跑跑~向前跑~", + flashKey: + sw.isRunning && sw.elapsedMs >= 10000 + ? Math.floor(sw.elapsedMs / 10000) + : null, }; }, [mode, sw.elapsedMs, sw.isRunning, cd.remainingMs, cd.totalMs]); @@ -70,7 +77,7 @@ export default function App() {
Tide Timer
-
療癒型碼表 / 倒數
+
療癒型碼錶 / 倒數
{ // stop running when switching modes (keeps mental model simple) @@ -84,7 +91,10 @@ export default function App() {
- + {mode === "stopwatch" && viz.flashKey !== null ? ( +
+ ) : null} +
{viz.title}
@@ -108,7 +118,7 @@ export default function App() { extraLeft={ mode === "stopwatch" ? ( ) : null } diff --git a/src/components/LapList.jsx b/src/components/LapList.jsx index b824470..582691a 100644 --- a/src/components/LapList.jsx +++ b/src/components/LapList.jsx @@ -5,7 +5,7 @@ export default function LapList({ laps }) { if (!laps.length) return null; return (
-
Laps
+
記錄
    {laps.map((ms, idx) => (
  1. diff --git a/src/components/ModeSwitch.jsx b/src/components/ModeSwitch.jsx index 4e42c75..261ec8e 100644 --- a/src/components/ModeSwitch.jsx +++ b/src/components/ModeSwitch.jsx @@ -9,7 +9,7 @@ export default function ModeSwitch({ mode, setMode }) { role="tab" aria-selected={mode === "stopwatch"} > - 碼表 + 碼錶