From eca5e755834047551633c616601286b84df234ff Mon Sep 17 00:00:00 2001 From: marlon-erler Date: Tue, 9 Jul 2024 19:50:43 +0200 Subject: [PATCH] add checkbox to show/hide key --- dist/index.js | 13 +++++++++++-- src/Views/chatOptionModal.tsx | 11 +++++++++++ src/translations.ts | 3 +++ 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/dist/index.js b/dist/index.js index 77c1bca8..ecc80cd6 100644 --- a/dist/index.js +++ b/dist/index.js @@ -754,6 +754,7 @@ removeSecondaryChannel: "Remove secondary channel", encryptionKey: "Encryption key", encryptionKeyPlaceholder: "n10d2482dg283hg", + showKey: "Show key", removeChat: "Remove chat", clearChatMessages: "Clear chat messages", noChatSelected: "No chat selected", @@ -799,6 +800,7 @@ removeSecondaryChannel: "Eliminar canal segundario", encryptionKey: "Clave de cifrado", encryptionKeyPlaceholder: "n10d2482dg283hg", + showKey: "Mostrar clave", removeChat: "Eliminar chat", clearChatMessages: "Eliminar todos mensajes", noChatSelected: "Selecciona un chat", @@ -842,6 +844,7 @@ removeSecondaryChannel: "Zweitkanal entfernen", encryptionKey: "Schl\xFCssel", encryptionKeyPlaceholder: "n10d2482dg283hg", + showKey: "Schl\xFCssel anzeigen", removeChat: "Chat l\xF6schen", clearChatMessages: "Nachrichtenverlauf leeren", noChatSelected: "Kein Chat ausgew\xE4hlt", @@ -864,6 +867,11 @@ chat.deleteSelf(); closeModal(); } + const shouldShowKey = new State(false); + const inputType = createProxyState( + [shouldShowKey], + () => shouldShowKey.value == true ? "text" : "password" + ); const secondaryChannelConverter = (secondaryChannel) => { function remove() { chat.removeSecondaryChannel(secondaryChannel); @@ -933,9 +941,10 @@ "input", { placeholder: translation.encryptionKeyPlaceholder, - "bind:value": chat.encryptionKey + "bind:value": chat.encryptionKey, + "set:type": inputType } - )))), /* @__PURE__ */ createElement("hr", null), /* @__PURE__ */ createElement("div", { class: "flex-column gap" }, /* @__PURE__ */ createElement("button", { class: "danger", "on:click": chat.clearMessages }, translation.clearChatMessages, /* @__PURE__ */ createElement("span", { class: "icon" }, "delete_sweep")), /* @__PURE__ */ createElement("button", { class: "danger", "on:click": deleteChat }, translation.removeChat, /* @__PURE__ */ createElement("span", { class: "icon" }, "delete")))), /* @__PURE__ */ createElement("button", { "on:click": closeModal }, translation.close, /* @__PURE__ */ createElement("span", { class: "icon" }, "close")))); + ))), /* @__PURE__ */ createElement("label", { class: "inline margin-0" }, /* @__PURE__ */ createElement("input", { type: "checkbox", "bind:checked": shouldShowKey }), translation.showKey)), /* @__PURE__ */ createElement("hr", null), /* @__PURE__ */ createElement("div", { class: "flex-column gap" }, /* @__PURE__ */ createElement("button", { class: "danger", "on:click": chat.clearMessages }, translation.clearChatMessages, /* @__PURE__ */ createElement("span", { class: "icon" }, "delete_sweep")), /* @__PURE__ */ createElement("button", { class: "danger", "on:click": deleteChat }, translation.removeChat, /* @__PURE__ */ createElement("span", { class: "icon" }, "delete")))), /* @__PURE__ */ createElement("button", { "on:click": closeModal }, translation.close, /* @__PURE__ */ createElement("span", { class: "icon" }, "close")))); } // src/Views/messageComposer.tsx diff --git a/src/Views/chatOptionModal.tsx b/src/Views/chatOptionModal.tsx index b7e9a44a..629790f2 100644 --- a/src/Views/chatOptionModal.tsx +++ b/src/Views/chatOptionModal.tsx @@ -13,6 +13,11 @@ export function ChatOptionModal(chat: Chat, isPresented: React.State) { closeModal(); } + const shouldShowKey = new React.State(false); + const inputType = React.createProxyState([shouldShowKey], () => + shouldShowKey.value == true ? "text" : "password" + ); + const secondaryChannelConverter: React.ListItemConverter = ( secondaryChannel ) => { @@ -111,9 +116,15 @@ export function ChatOptionModal(chat: Chat, isPresented: React.State) { + +
diff --git a/src/translations.ts b/src/translations.ts index 6436ffca..1c884a7c 100644 --- a/src/translations.ts +++ b/src/translations.ts @@ -45,6 +45,7 @@ const englishTranslations = { encryptionKey: "Encryption key", encryptionKeyPlaceholder: "n10d2482dg283hg", + showKey: "Show key", removeChat: "Remove chat", clearChatMessages: "Clear chat messages", @@ -108,6 +109,7 @@ const allTranslations: { [key: string]: typeof englishTranslations } = { encryptionKey: "Clave de cifrado", encryptionKeyPlaceholder: "n10d2482dg283hg", + showKey: "Mostrar clave", removeChat: "Eliminar chat", clearChatMessages: "Eliminar todos mensajes", @@ -168,6 +170,7 @@ const allTranslations: { [key: string]: typeof englishTranslations } = { encryptionKey: "Schlüssel", encryptionKeyPlaceholder: "n10d2482dg283hg", + showKey: "Schlüssel anzeigen", removeChat: "Chat löschen", clearChatMessages: "Nachrichtenverlauf leeren",