From 6a065125aa0772be3b7e63533a4d74e16c03798f Mon Sep 17 00:00:00 2001 From: Mark Shaw Date: Mon, 9 Mar 2026 13:35:12 +0800 Subject: [PATCH 1/3] fix(ui): improve toggle and form control colors in dark mode - Use green-500 for toggle on-state in dark mode (primary is neutral gray) - Add ring outline for toggle off-state visibility in dark mode - Unify radio/checkbox selected color to green-500 in dark mode Co-Authored-By: Claude Opus 4.6 --- src/index.css | 8 ++++---- src/pages/SettingsPage.tsx | 12 ++++++------ 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/index.css b/src/index.css index f59e2d8..8349a59 100644 --- a/src/index.css +++ b/src/index.css @@ -108,14 +108,14 @@ input[type="range"]::-moz-range-thumb { /* Radio Input */ input[type="radio"] { - @apply w-4 h-4 text-slate-600 border-slate-300 dark:border-slate-600; - @apply focus:ring-slate-500 focus:ring-2; + @apply w-4 h-4 text-slate-600 dark:text-green-500 border-slate-300 dark:border-slate-600; + @apply focus:ring-slate-500 dark:focus:ring-green-500 focus:ring-2; } /* Checkbox Input */ input[type="checkbox"] { - @apply w-4 h-4 text-slate-600 border-slate-300 dark:border-slate-600 rounded; - @apply focus:ring-slate-500 focus:ring-2; + @apply w-4 h-4 text-slate-600 dark:text-green-500 border-slate-300 dark:border-slate-600 rounded; + @apply focus:ring-slate-500 dark:focus:ring-green-500 focus:ring-2; } /* Text Input */ diff --git a/src/pages/SettingsPage.tsx b/src/pages/SettingsPage.tsx index 8a77758..4202504 100644 --- a/src/pages/SettingsPage.tsx +++ b/src/pages/SettingsPage.tsx @@ -277,8 +277,8 @@ export function SettingsPage() { className={cn( "relative w-11 h-6 rounded-full transition-colors", autostartEnabled - ? "bg-primary-500" - : "bg-slate-200 dark:bg-slate-700" + ? "bg-primary-500 dark:bg-green-500" + : "bg-slate-300 dark:bg-slate-600 dark:ring-1 dark:ring-slate-400" )} >
Date: Mon, 9 Mar 2026 13:52:19 +0800 Subject: [PATCH 2/3] fix(ui): custom radio component and make run optimization - Replace native radio with custom component (unaffected by window focus) - Unify selected colors: slate-600 (light) / green-500 (dark) - Use accent-color for remaining native form controls - Optimize make run: use --no-bundle to skip DMG packaging Co-Authored-By: Claude Opus 4.6 --- Makefile | 8 ++++---- src/index.css | 15 ++++++++++---- src/pages/SettingsPage.tsx | 41 +++++++++++++++++++++++--------------- 3 files changed, 40 insertions(+), 24 deletions(-) diff --git a/Makefile b/Makefile index e74cb0d..e9693fc 100644 --- a/Makefile +++ b/Makefile @@ -19,10 +19,10 @@ build: ## Build the application for production build-debug: ## Build in debug mode pnpm tauri build --debug -run: ## Build, kill old instance, and launch the app for quick testing - pnpm tauri build - -pkill -x Timlyzer 2>/dev/null; sleep 1 - open src-tauri/target/release/bundle/macos/Timlyzer.app +run: ## Build release binary (no bundle), kill old instance, and launch + pnpm tauri build --no-bundle + -pkill -x Timlyzer 2>/dev/null; pkill -x timlyzer 2>/dev/null; sleep 1 + ./src-tauri/target/release/timlyzer # Quality Checks check: ## Check Rust code for errors diff --git a/src/index.css b/src/index.css index 8349a59..f96e103 100644 --- a/src/index.css +++ b/src/index.css @@ -108,14 +108,21 @@ input[type="range"]::-moz-range-thumb { /* Radio Input */ input[type="radio"] { - @apply w-4 h-4 text-slate-600 dark:text-green-500 border-slate-300 dark:border-slate-600; - @apply focus:ring-slate-500 dark:focus:ring-green-500 focus:ring-2; + @apply w-4 h-4 border-slate-300 dark:border-slate-500; + @apply focus:ring-2; + accent-color: theme('colors.slate.600'); } /* Checkbox Input */ input[type="checkbox"] { - @apply w-4 h-4 text-slate-600 dark:text-green-500 border-slate-300 dark:border-slate-600 rounded; - @apply focus:ring-slate-500 dark:focus:ring-green-500 focus:ring-2; + @apply w-4 h-4 border-slate-300 dark:border-slate-500 rounded; + @apply focus:ring-2; + accent-color: theme('colors.slate.600'); +} + +.dark input[type="radio"], +.dark input[type="checkbox"] { + accent-color: theme('colors.green.500'); } /* Text Input */ diff --git a/src/pages/SettingsPage.tsx b/src/pages/SettingsPage.tsx index 4202504..381fe9f 100644 --- a/src/pages/SettingsPage.tsx +++ b/src/pages/SettingsPage.tsx @@ -335,26 +335,35 @@ export function SettingsPage() { { value: "minimize", label: t("appearance.minimize") }, { value: "ask", label: t("appearance.ask") }, { value: "quit", label: t("appearance.quit") }, - ].map((option) => ( -
From 59cceec6604918334353ece2a05fb5413d821bb9 Mon Sep 17 00:00:00 2001 From: Mark Shaw Date: Mon, 9 Mar 2026 13:57:05 +0800 Subject: [PATCH 3/3] fix(dx): run app in background to prevent make exit code error Co-Authored-By: Claude Opus 4.6 --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index e9693fc..4350ed0 100644 --- a/Makefile +++ b/Makefile @@ -22,7 +22,7 @@ build-debug: ## Build in debug mode run: ## Build release binary (no bundle), kill old instance, and launch pnpm tauri build --no-bundle -pkill -x Timlyzer 2>/dev/null; pkill -x timlyzer 2>/dev/null; sleep 1 - ./src-tauri/target/release/timlyzer + ./src-tauri/target/release/timlyzer & # Quality Checks check: ## Check Rust code for errors