feat: proper in-page reveal mode + privacy note

Reveal mode (eye icon) now works as intended:
- Toggle ON: all existing responses on the page get fake→real
  substitution applied immediately (paths, names, emails, etc.)
- Streaming responses are revealed in real-time as they arrive
- Toggle OFF: original text is restored from saved state
- Covers code blocks, artifacts, pre tags, and all response
  containers across all supported services
- Blue floating badge shows "Reveal Mode — showing real data"
  when active so user knows what they're seeing

The workflow is now: type /home/jsmith/... → Claude sees
/home/ademo/... → Claude responds with /home/ademo/... →
reveal mode shows /home/jsmith/... → user copies real path.

Also adds privacy note in popup footer: data stays in local
browser storage, no servers, no tracking, no analytics.

https://claude.ai/code/session_01Dvgwe7XMoSxnWXkih8p1Cw
This commit is contained in:
Claude
2026-03-26 00:51:04 +00:00
parent 7176cf6509
commit 045ee4848b
4 changed files with 248 additions and 37 deletions
+25
View File
@@ -20,3 +20,28 @@
border-radius: 2px;
padding: 0 1px;
}
/* Floating reveal mode indicator */
.ss-reveal-badge {
position: fixed;
bottom: 16px;
right: 16px;
background: #1d4ed8;
color: #fff;
padding: 6px 14px;
border-radius: 20px;
font-size: 12px;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
font-weight: 500;
z-index: 999999;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
pointer-events: none;
opacity: 0;
transform: translateY(10px);
transition: opacity 0.2s, transform 0.2s;
}
.ss-reveal-badge.visible {
opacity: 1;
transform: translateY(0);
}