From 719409580a2f771d42c109a647ee13be32d68afa Mon Sep 17 00:00:00 2001
From: Richard van Leeuwen
Date: Mon, 14 Jul 2025 22:12:35 +0200
Subject: [PATCH] Added copy icons to first-login message Also inputs the
email/password when clicked.
---
frontend/lib/icons/icons.ts | 3 ++-
frontend/pages/login.vue | 23 +++++++++++++++++++++++
2 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/frontend/lib/icons/icons.ts b/frontend/lib/icons/icons.ts
index 0e11d71cb..0ab1d2f99 100644
--- a/frontend/lib/icons/icons.ts
+++ b/frontend/lib/icons/icons.ts
@@ -86,6 +86,7 @@ import {
mdiLogout,
mdiContentCopy,
mdiClipboardCheck,
+ mdiClipboard,
mdiCloudUpload,
mdiDatabase,
mdiGithub,
@@ -191,6 +192,7 @@ export const icons = {
checkboxMarkedCircle: mdiCheckboxMarkedCircle,
chefHat: mdiChefHat,
clipboardCheck: mdiClipboardCheck,
+ clipboard: mdiClipboard,
clockOutline: mdiClockTimeFourOutline,
codeBraces: mdiCodeJson,
codeJson: mdiCodeJson,
@@ -322,5 +324,4 @@ export const icons = {
preserveLines: mdiText,
preserveBlocks: mdiTextBoxOutline,
flatten: mdiMinus,
-
};
diff --git a/frontend/pages/login.vue b/frontend/pages/login.vue
index 1e70ea2ac..f683d7fb8 100644
--- a/frontend/pages/login.vue
+++ b/frontend/pages/login.vue
@@ -19,9 +19,15 @@
{{ $t('user.username') }}: changeme@example.com
+
+ {{ $globals.icons.clipboard }}
+
{{ $t('user.password') }}: MyPassword
+
+ {{ $globals.icons.clipboard }}
+
{{ $t('user.dont-want-to-see-this-anymore-be-sure-to-change-your-email') }}
@@ -325,6 +331,22 @@ export default defineNuxtComponent({
}
}
+ async function copy(thingToCopy: "email" | "password") {
+ try {
+ if (thingToCopy === "email") {
+ await navigator.clipboard.writeText("changeme@example.com");
+ form.email = "changeme@example.com";
+ }
+ else {
+ await navigator.clipboard.writeText("MyPassword");
+ form.password = "MyPassword";
+ }
+ }
+ catch (err) {
+ console.log(err);
+ }
+ };
+
async function authenticate() {
if (form.email.length === 0 || form.password.length === 0) {
alert.error(i18n.t("user.please-enter-your-email-and-password"));
@@ -376,6 +398,7 @@ export default defineNuxtComponent({
oidcProviderName,
oidcLoggingIn,
passwordIcon,
+ copy,
inputType,
togglePasswordShow,
isFirstLogin,