From 8af25343ccd8a0675c7d353fa3d17d735440c1ed Mon Sep 17 00:00:00 2001 From: t8y2 <1156263951@qq.com> Date: Mon, 15 Jun 2026 02:34:19 +0800 Subject: [PATCH] feat(ui): add password visibility toggle to all password inputs --- .../components/admin/DatabaseUserAdmin.vue | 5 ++-- .../desktop/src/components/auth/LoginPage.vue | 5 ++-- .../config/ConfigPassphraseDialog.vue | 5 ++-- .../connection/ConnectionDialog.vue | 23 ++++++++-------- .../editor/EditorSettingsDialog.vue | 19 +++++++------- .../src/components/ui/PasswordInput.vue | 26 +++++++++++++++++++ 6 files changed, 57 insertions(+), 26 deletions(-) create mode 100644 apps/desktop/src/components/ui/PasswordInput.vue diff --git a/apps/desktop/src/components/admin/DatabaseUserAdmin.vue b/apps/desktop/src/components/admin/DatabaseUserAdmin.vue index e4dc18515d..ceb223898f 100644 --- a/apps/desktop/src/components/admin/DatabaseUserAdmin.vue +++ b/apps/desktop/src/components/admin/DatabaseUserAdmin.vue @@ -6,6 +6,7 @@ import { Button } from "@/components/ui/button"; import { Badge } from "@/components/ui/badge"; import { Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle } from "@/components/ui/dialog"; import { Input } from "@/components/ui/input"; +import PasswordInput from "@/components/ui/PasswordInput.vue"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; import { useConnectionStore } from "@/stores/connectionStore"; import { useToast } from "@/composables/useToast"; @@ -502,7 +503,7 @@ onMounted(loadUsers); {{ t("userAdmin.allowLogin") }} - + @@ -518,7 +519,7 @@ onMounted(loadUsers); {{ t("userAdmin.changePassword") }} - + diff --git a/apps/desktop/src/components/auth/LoginPage.vue b/apps/desktop/src/components/auth/LoginPage.vue index 74778c9cb1..1d07b182e9 100644 --- a/apps/desktop/src/components/auth/LoginPage.vue +++ b/apps/desktop/src/components/auth/LoginPage.vue @@ -3,6 +3,7 @@ import { ref } from "vue"; import { useI18n } from "vue-i18n"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; +import PasswordInput from "@/components/ui/PasswordInput.vue"; import { Lock, Loader2, ShieldCheck } from "@lucide/vue"; import AppLogo from "@/components/icons/AppLogo.vue"; @@ -70,11 +71,11 @@ async function submit() {
- +
- +

{{ error }}