diff --git a/frontend/src/App.vue b/frontend/src/App.vue
index 993963b..b73bf33 100644
--- a/frontend/src/App.vue
+++ b/frontend/src/App.vue
@@ -7,6 +7,7 @@
GnButton,
GnCheckbox,
GnDescriptionList,
+ GnDropdown,
GnEmptyState,
GnFileUpload,
GnIconButton,
@@ -138,6 +139,21 @@
raw: field
}))
);
+const secretActionItems = computed(() => {
+ if (!selected.value) return [];
+ return [
+ { label: "Reveal", icon: "ph ph-eye", onSelect: () => reveal(selected.value) },
+ { label: "Versions", icon: "ph ph-clock-counter-clockwise", onSelect: () => loadVersions(selected.value) },
+ { label: "Edit fields", icon: "ph ph-list-plus", onSelect: () => toggleEditFields() },
+ {
+ label: `Mark ${selected.value.status === "actual" ? "outdated" : "actual"}`,
+ icon: "ph ph-arrows-clockwise",
+ onSelect: () => setStatus(selected.value.status === "actual" ? "outdated" : "actual")
+ },
+ { label: "Archive", icon: "ph ph-archive", onSelect: () => archiveSelected() },
+ { label: "Delete", icon: "ph ph-trash", danger: true, onSelect: () => confirmDeleteSecret(selected.value) }
+ ];
+});
const versionItems = computed(() =>
versions.value.map((version) => ({
title: `Version ${version.version_number}`,
@@ -296,6 +312,10 @@
editing.value = false;
}
+function toggleEditFields() {
+ editFields.value = !editFields.value;
+}
+
async function loadSecrets() {
loading.value = true;
error.value = "";
@@ -626,28 +646,20 @@
{{ selected.status }}
- Edit
+
-
+
- Reveal
- Versions
- Edit fields
-
- Mark {{ selected.status === "actual" ? "outdated" : "actual" }}
-
- Archive
-
- Delete
-
+
+
+
+
+