From 4fee1c9e811dee9eba37acaa6754af0842482d8d Mon Sep 17 00:00:00 2001 From: Ryan Breen Date: Mon, 16 Jan 2023 20:21:35 -0500 Subject: [PATCH] added delete profile button --- Shared (Extension)/Resources/background.js | 11 +++++++++++ Shared (Extension)/Resources/popup.css | 8 ++++++++ Shared (Extension)/Resources/popup.html | 16 ++++++++++------ Shared (Extension)/Resources/popup.js | 7 +++++++ 4 files changed, 36 insertions(+), 6 deletions(-) diff --git a/Shared (Extension)/Resources/background.js b/Shared (Extension)/Resources/background.js index 5af13d6..fbb660b 100644 --- a/Shared (Extension)/Resources/background.js +++ b/Shared (Extension)/Resources/background.js @@ -46,6 +46,9 @@ browser.runtime.onMessage.addListener(async (message, _sender, sendResponse) => case 'clearData': await browser.storage.local.clear(); break; + case 'deleteProfile': + await deleteProfile(); + break; default: break; } @@ -122,4 +125,12 @@ async function saveProfile(profile) { let profiles = await get('profiles'); profiles[index] = profile; await storage.set({profiles}); +} + +async function deleteProfile() { + let index = await getProfileIndex(); + let profiles = await get('profiles'); + profiles.splice(index, 1); + let profileIndex = Math.max(index - 1, 0); + await storage.set({profiles, profileIndex}); } \ No newline at end of file diff --git a/Shared (Extension)/Resources/popup.css b/Shared (Extension)/Resources/popup.css index 8fb32aa..63c16bd 100644 --- a/Shared (Extension)/Resources/popup.css +++ b/Shared (Extension)/Resources/popup.css @@ -19,6 +19,10 @@ input { width: 100%; } +.profile-buttons { + width: 100%; +} + #priv-key, #pub-key { font-family: monospace; } @@ -32,6 +36,10 @@ input { margin-bottom: 15px; } +.profile-name { + margin-bottom: 15px; +} + .key { margin-bottom: 15px; } diff --git a/Shared (Extension)/Resources/popup.html b/Shared (Extension)/Resources/popup.html index bef7ec3..869ea75 100644 --- a/Shared (Extension)/Resources/popup.html +++ b/Shared (Extension)/Resources/popup.html @@ -9,12 +9,16 @@
- - +
+ + + + +
diff --git a/Shared (Extension)/Resources/popup.js b/Shared (Extension)/Resources/popup.js index 6edfef3..7707bd0 100644 --- a/Shared (Extension)/Resources/popup.js +++ b/Shared (Extension)/Resources/popup.js @@ -10,6 +10,7 @@ Alpine.data('popup', () => ({ profileIndex: 0, visibleKey: false, confirmClear: false, + confirmDelete: false, async init() { console.log("Initializing backend."); @@ -88,6 +89,12 @@ Alpine.data('popup', () => ({ this.confirmClear = false; }, + async deleteProfile() { + await browser.runtime.sendMessage({kind: 'deleteProfile'}); + await this.init(); + this.confirmDelete = false; + }, + // Properties get hasValidPubKey() {