feat: add export private key from address detail view #31

Merged
sneak merged 12 commits from feat/export-private-key into main 2026-02-28 21:10:17 +01:00
2 changed files with 35 additions and 7 deletions
Showing only changes of commit 91c3b4e394 - Show all commits

View File

@@ -305,6 +305,26 @@
> >
+ Token + Token
</button> </button>
<div class="relative">
<button
id="btn-more-menu"
class="border border-border px-2 py-1 hover:bg-fg hover:text-bg cursor-pointer"
aria-label="More actions"
>
&middot;&middot;&middot;
</button>
<div
id="more-menu-dropdown"
class="hidden absolute right-0 top-full mt-1 border border-border bg-bg z-50 min-w-[10rem]"
>
<button
id="btn-export-privkey"
class="block w-full text-left px-3 py-2 text-sm hover:bg-fg hover:text-bg cursor-pointer"
>
Export Private Key
</button>
</div>
</div>
</div> </div>
<!-- transactions --> <!-- transactions -->
@@ -316,13 +336,6 @@
<div class="text-muted text-xs py-1">Loading...</div> <div class="text-muted text-xs py-1">Loading...</div>
</div> </div>
</div> </div>
<div class="mt-3 text-center">
<span
id="btn-export-privkey"
class="text-xs text-muted underline decoration-dashed cursor-pointer hover:text-fg"
>Export private key</span
>
</div>
</div> </div>
<!-- ============ EXPORT PRIVATE KEY VIEW ============ --> <!-- ============ EXPORT PRIVATE KEY VIEW ============ -->

View File

@@ -264,7 +264,22 @@ function init(_ctx) {
$("btn-add-token").addEventListener("click", ctx.showAddTokenView); $("btn-add-token").addEventListener("click", ctx.showAddTokenView);
// More menu dropdown
const moreBtn = $("btn-more-menu");
const moreDropdown = $("more-menu-dropdown");
moreBtn.addEventListener("click", (e) => {
e.stopPropagation();
moreDropdown.classList.toggle("hidden");
});
document.addEventListener("click", () => {
moreDropdown.classList.add("hidden");
});
moreDropdown.addEventListener("click", (e) => {
e.stopPropagation();
});
$("btn-export-privkey").addEventListener("click", () => { $("btn-export-privkey").addEventListener("click", () => {
moreDropdown.classList.add("hidden");
const wallet = state.wallets[state.selectedWallet]; const wallet = state.wallets[state.selectedWallet];
const addr = wallet.addresses[state.selectedAddress]; const addr = wallet.addresses[state.selectedAddress];
const title = addressTitle(addr.address, state.wallets); const title = addressTitle(addr.address, state.wallets);