Files
grimoire/src
Claude eef82e7871 feat: compact inbox UI with batch decrypt and improved UX
Auto-Decrypt OFF by Default:
- Changed autoDecrypt default from true to false (logic.ts, InboxViewer.tsx)
- Users must explicitly enable auto-decrypt in settings
- Reduces unexpected signer prompts and background activity

Batch Decrypt Feature:
- Added batchDecryptPending() method to GiftWrapManager
- Processes all pending gift wraps in one operation
- Shows in settings dropdown when auto-decrypt is off and pending > 0
- "Decrypt N Pending" button with loading spinner

Compact Header (Like req viewer):
- Single-line header with font-mono text-xs
- Left: Status indicator (SYNC/OFF with shield icon, muted colors)
- Right: Compact stats (just numbers with tooltips), relay dropdown, settings dropdown
- No verbose labels, no large text
- Muted icon colors (/70 opacity for stats)

Relay Dropdown Improvements:
- No chevron (cleaner look)
- Shows relay count with Radio icon
- Opens to full RelayLink components with icons and hover cards
- Future: Can add auth/connected status here

Settings Dropdown:
- No chevron (cleaner look)
- Compact checkboxes for sync and auto-decrypt
- "Load Older" action item
- Conditional "Decrypt N Pending" when auto-decrypt is off

Conversation List Improvements:
- Removed avatar placeholder (no longer needed)
- Ultra-compact: font-mono text-xs, py-1.5 padding
- Layout: Name (fixed width) | Message preview (flex) | Timestamp
- Muted colors for clean, minimal look
- Border-bottom separators
- Clicking opens "chat npub..." with NIP-17 adapter

NIP-17 Adapter:
- Already implemented and fully functional
- Read-only support for decrypted messages
- Observable pattern for real-time updates
- Supports threading via e-tag replies
- Works with ChatViewer component

User Experience:
- Clean, compact UI focused on conversations
- All controls accessible but not intrusive
- Tooltips explain everything
- Batch operations available when needed
- Gift wrap stats accurate and real-time
2026-01-20 10:42:12 +00:00
..
2026-01-14 19:24:37 +01:00
2026-01-16 18:47:16 +01:00