From 476fe5e0779f9ab02a84424501e6f2510333a4da Mon Sep 17 00:00:00 2001 From: Jack Date: Sun, 19 Jul 2026 16:54:49 +0200 Subject: [PATCH 1/2] refactor: solid live stats (@miodec) (#8248) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- frontend/__tests__/test/events/stats.spec.ts | 4 +- frontend/src/html/pages/test.html | 21 +- frontend/src/index.html | 6 +- frontend/src/styles/media-queries-blue.scss | 4 - frontend/src/styles/media-queries-green.scss | 4 - frontend/src/styles/media-queries-purple.scss | 4 - frontend/src/styles/media-queries-yellow.scss | 6 - frontend/src/styles/test.scss | 170 ------------ frontend/src/ts/commandline/lists/bail-out.ts | 4 +- frontend/src/ts/components/mount.tsx | 8 + .../test/live-stats/BarTimerProgress.tsx | 40 +++ .../pages/test/live-stats/LiveStatsMini.tsx | 58 ++++ .../test/live-stats/LiveStatsTextBottom.tsx | 41 +++ .../test/live-stats/LiveStatsTextTop.tsx | 40 +++ .../pages/test/live-stats/styles.tsx | 24 ++ frontend/src/ts/constants/themes.ts | 2 - .../src/ts/controllers/route-controller.ts | 10 +- .../src/ts/input/handlers/before-delete.ts | 8 +- .../ts/input/handlers/before-insert-text.ts | 8 +- frontend/src/ts/input/handlers/keydown.ts | 5 +- .../src/ts/input/listeners/composition.ts | 7 +- frontend/src/ts/input/listeners/input.ts | 4 +- frontend/src/ts/states/live-stats.ts | 131 +++++++++ frontend/src/ts/states/test.ts | 20 +- frontend/src/ts/test/events/data.ts | 13 +- frontend/src/ts/test/focus.ts | 12 - frontend/src/ts/test/live-acc.ts | 87 ------ frontend/src/ts/test/live-burst.ts | 85 ------ frontend/src/ts/test/live-speed.ts | 87 ------ frontend/src/ts/test/result.ts | 8 +- frontend/src/ts/test/test-logic.ts | 20 +- frontend/src/ts/test/test-state.ts | 10 - frontend/src/ts/test/test-timer.ts | 12 +- frontend/src/ts/test/test-ui.ts | 115 ++------ frontend/src/ts/test/timer-progress.ts | 260 ------------------ frontend/static/themes/husqy.css | 4 - frontend/static/themes/matrix.css | 4 - frontend/static/themes/rainbow_trail.css | 6 - frontend/static/themes/shadow.css | 5 - frontend/static/themes/stealth.css | 3 - 40 files changed, 440 insertions(+), 920 deletions(-) create mode 100644 frontend/src/ts/components/pages/test/live-stats/BarTimerProgress.tsx create mode 100644 frontend/src/ts/components/pages/test/live-stats/LiveStatsMini.tsx create mode 100644 frontend/src/ts/components/pages/test/live-stats/LiveStatsTextBottom.tsx create mode 100644 frontend/src/ts/components/pages/test/live-stats/LiveStatsTextTop.tsx create mode 100644 frontend/src/ts/components/pages/test/live-stats/styles.tsx create mode 100644 frontend/src/ts/states/live-stats.ts delete mode 100644 frontend/src/ts/test/live-acc.ts delete mode 100644 frontend/src/ts/test/live-burst.ts delete mode 100644 frontend/src/ts/test/live-speed.ts delete mode 100644 frontend/src/ts/test/timer-progress.ts delete mode 100644 frontend/static/themes/husqy.css delete mode 100644 frontend/static/themes/matrix.css diff --git a/frontend/__tests__/test/events/stats.spec.ts b/frontend/__tests__/test/events/stats.spec.ts index 9d32d300d484..b09bd8053068 100644 --- a/frontend/__tests__/test/events/stats.spec.ts +++ b/frontend/__tests__/test/events/stats.spec.ts @@ -5,8 +5,6 @@ vi.mock("../../../src/ts/test/test-stats", () => ({ })); vi.mock("../../../src/ts/test/test-state", () => ({ - bailedOut: false, - resultCalculating: false, koreanStatus: false, })); @@ -53,6 +51,8 @@ vi.mock("../../../src/ts/test/custom-text", () => ({ vi.mock("../../../src/ts/states/test", () => ({ getCurrentQuote: () => null, getActiveWordIndex: () => mockState.activeWordIndex, + isResultCalculating: () => false, + getBailedOut: () => false, })); import { diff --git a/frontend/src/html/pages/test.html b/frontend/src/html/pages/test.html index b2b1e1606fb0..69f5e412ebcc 100644 --- a/frontend/src/html/pages/test.html +++ b/frontend/src/html/pages/test.html @@ -20,17 +20,8 @@
Time left to memorise all words: 0s
-
-
- -
-
-
- - - - -
+ +