From f343bae9faddb04c394ef4849ce0cd8d6a4370d1 Mon Sep 17 00:00:00 2001 From: byseif21 Date: Fri, 10 Apr 2026 18:09:00 +0200 Subject: [PATCH 1/3] fix: highlight search quote button when active --- frontend/src/ts/components/modals/MobileTestConfigModal.tsx | 3 ++- frontend/src/ts/components/pages/test/TestConfig.tsx | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/frontend/src/ts/components/modals/MobileTestConfigModal.tsx b/frontend/src/ts/components/modals/MobileTestConfigModal.tsx index 69719e717f31..bf42e3b5643d 100644 --- a/frontend/src/ts/components/modals/MobileTestConfigModal.tsx +++ b/frontend/src/ts/components/modals/MobileTestConfigModal.tsx @@ -106,7 +106,8 @@ export function MobileTestConfigModal(): JSXElement { if (value === "all") { return areUnsortedArraysEqual(getConfig.quoteLength, [0, 1, 2, 3]); } - if (value === "-2") return false; + if (value === "-2") + return areUnsortedArraysEqual(getConfig.quoteLength, [-2]); if (value === "-3") { return areUnsortedArraysEqual(getConfig.quoteLength, [-3]); } diff --git a/frontend/src/ts/components/pages/test/TestConfig.tsx b/frontend/src/ts/components/pages/test/TestConfig.tsx index 58b557093845..9d81d747b59c 100644 --- a/frontend/src/ts/components/pages/test/TestConfig.tsx +++ b/frontend/src/ts/components/pages/test/TestConfig.tsx @@ -348,6 +348,7 @@ function Mode2Quote(props: ComponentProps<"div">): JSXElement { fa={{ icon: "fa-search", }} + active={areUnsortedArraysEqual(getConfig.quoteLength, [-2])} onClick={() => { showModal("QuoteSearch"); }} From b949e6bbe21464e66b13f0d43dcfc681e12b4e92 Mon Sep 17 00:00:00 2001 From: byseif21 Date: Fri, 10 Apr 2026 18:25:51 +0200 Subject: [PATCH 2/3] ook --- frontend/src/ts/components/modals/MobileTestConfigModal.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frontend/src/ts/components/modals/MobileTestConfigModal.tsx b/frontend/src/ts/components/modals/MobileTestConfigModal.tsx index bf42e3b5643d..dd16f99e979c 100644 --- a/frontend/src/ts/components/modals/MobileTestConfigModal.tsx +++ b/frontend/src/ts/components/modals/MobileTestConfigModal.tsx @@ -106,8 +106,9 @@ export function MobileTestConfigModal(): JSXElement { if (value === "all") { return areUnsortedArraysEqual(getConfig.quoteLength, [0, 1, 2, 3]); } - if (value === "-2") + if (value === "-2") { return areUnsortedArraysEqual(getConfig.quoteLength, [-2]); + } if (value === "-3") { return areUnsortedArraysEqual(getConfig.quoteLength, [-3]); } From 80d83a15cff4bbe198ab23620044e737eee9c79f Mon Sep 17 00:00:00 2001 From: byseif21 Date: Fri, 10 Apr 2026 18:56:41 +0200 Subject: [PATCH 3/3] persist selected quote across reloads? --- frontend/src/ts/test/test-state.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/frontend/src/ts/test/test-state.ts b/frontend/src/ts/test/test-state.ts index 436b10780496..c0976ab8b075 100644 --- a/frontend/src/ts/test/test-state.ts +++ b/frontend/src/ts/test/test-state.ts @@ -4,7 +4,8 @@ export let isRepeated = false; export let isPaceRepeat = false; export let isActive = false; export let bailedOut = false; -export let selectedQuoteId = 1; +export let selectedQuoteId = + parseInt(localStorage.getItem("selectedQuoteId") ?? "1", 10) || 1; export let activeWordIndex = 0; export let testInitSuccess = true; export let isLanguageRightToLeft = false; @@ -30,6 +31,7 @@ export function setBailedOut(tf: boolean): void { export function setSelectedQuoteId(id: number): void { selectedQuoteId = id; + localStorage.setItem("selectedQuoteId", id.toString()); } export function setActiveWordIndex(index: number): void {