From 9e76bd9e6180853a5466c9a79a6db637c32edcc3 Mon Sep 17 00:00:00 2001 From: liangxu Date: Mon, 27 Apr 2026 20:07:18 +0800 Subject: [PATCH] fix(login): keep remember-password toggle interactive in draggable header MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The login shell sets -webkit-app-region: drag on its frameless header, which captured clicks on the "记住密码" checkbox before v-model could update. Mark .options-row and its descendants as no-drag, and bind the checkbox via :checked + @change so the click reliably reaches the toggle handler. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../src/renderer/views/LoginView.vue | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/apps/desktop-client/src/renderer/views/LoginView.vue b/apps/desktop-client/src/renderer/views/LoginView.vue index a4307fd..5435096 100644 --- a/apps/desktop-client/src/renderer/views/LoginView.vue +++ b/apps/desktop-client/src/renderer/views/LoginView.vue @@ -20,6 +20,10 @@ function toggleMenu() { menuOpen.value = !menuOpen.value; } +function onRememberChange(event: Event) { + rememberPassword.value = (event.target as HTMLInputElement).checked; +} + function handleOutsideClick(event: MouseEvent) { if (!menuOpen.value) return; const root = menuRef.value; @@ -125,7 +129,11 @@ onBeforeUnmount(() => {
@@ -198,7 +206,9 @@ onBeforeUnmount(() => { .login-shell input, .login-shell button, .login-shell a, -.login-shell label { +.login-shell label, +.login-shell .options-row, +.login-shell .options-row * { -webkit-app-region: no-drag; }