From 09c019f60525c7e3632b5e07ce4720df4fcad46f Mon Sep 17 00:00:00 2001
From: Claude
Date: Sun, 18 Jan 2026 22:18:41 +0000
Subject: [PATCH] refactor: improve privacy UX with stars and clearer send flow
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Three UX improvements to the wallet privacy feature:
1. Don't hide amounts in send confirmation dialog
- Users need to verify invoice amounts before sending
- Privacy mode now only affects viewing, not sending
2. Replace bullet placeholders (••••) with stars (✦✦✦✦)
- More visually distinct and recognizable as privacy indicator
- Unicode BLACK FOUR POINTED STAR (U+2726)
- Better matches common "redacted" aesthetic
3. Reduce eye icon sizes for subtler presence
- Main balance: size-6 → size-5
- Wallet info dialog: size-3.5 → size-3
- Smaller icons feel less intrusive
Result: Clearer privacy state, safer payment flow, better aesthetics.
---
src/components/WalletViewer.tsx | 21 +++++++++------------
src/components/nostr/user-menu.tsx | 8 ++++----
2 files changed, 13 insertions(+), 16 deletions(-)
diff --git a/src/components/WalletViewer.tsx b/src/components/WalletViewer.tsx
index 66325d5..23e7e8e 100644
--- a/src/components/WalletViewer.tsx
+++ b/src/components/WalletViewer.tsx
@@ -1065,12 +1065,12 @@ export default function WalletViewer() {
title="Click to toggle privacy blur"
>
- {state.walletBalancesBlurred ? "••••••" : formatSats(balance)}
+ {state.walletBalancesBlurred ? "✦✦✦✦✦✦" : formatSats(balance)}
{state.walletBalancesBlurred ? (
-
+
) : (
-
+
)}
@@ -1163,7 +1163,7 @@ export default function WalletViewer() {
{state.walletBalancesBlurred
- ? "••••"
+ ? "✦✦✦✦"
: formatSats(tx.amount)}
@@ -1253,7 +1253,7 @@ export default function WalletViewer() {
{state.walletBalancesBlurred
- ? "•••••• sats"
+ ? "✦✦✦✦✦✦ sats"
: `${formatSats(selectedTransaction.amount)} sats`}
@@ -1289,7 +1289,7 @@ export default function WalletViewer() {
{state.walletBalancesBlurred
- ? "•••• sats"
+ ? "✦✦✦✦ sats"
: `${formatSats(selectedTransaction.fees_paid)} sats`}
@@ -1447,9 +1447,8 @@ export default function WalletViewer() {
Amount:
- {state.walletBalancesBlurred
- ? "•••••• sats"
- : `${Math.floor(invoiceDetails.amount).toLocaleString()} sats`}
+ {Math.floor(invoiceDetails.amount).toLocaleString()}{" "}
+ sats
)}
@@ -1457,9 +1456,7 @@ export default function WalletViewer() {
Amount:
- {state.walletBalancesBlurred
- ? "•••••• sats"
- : `${parseInt(sendAmount).toLocaleString()} sats`}
+ {parseInt(sendAmount).toLocaleString()} sats
)}
diff --git a/src/components/nostr/user-menu.tsx b/src/components/nostr/user-menu.tsx
index bf113ff..7274dd6 100644
--- a/src/components/nostr/user-menu.tsx
+++ b/src/components/nostr/user-menu.tsx
@@ -199,13 +199,13 @@ export default function UserMenu() {
>
{state.walletBalancesBlurred
- ? "••••••"
+ ? "✦✦✦✦✦✦"
: formatBalance(balance ?? nwcConnection.balance)}
{state.walletBalancesBlurred ? (
-
+
) : (
-
+
)}