## Summary This PR implements a global privacy mode feature that allows users to hide all monetary amounts throughout the application. ## Changes - **Created PrivacyModeContext**: New context provider with localStorage persistence for privacy mode state - **Created AmountDisplay component**: Centralized component for displaying monetary amounts with blur effect when privacy mode is enabled - **Updated app logo logic**: Logo now shows birdhouse icon when privacy mode is enabled or encryption key is not set - **Added privacy mode toggle**: New toggle in user menu to enable/disable privacy mode - **Replaced inline amount formatting**: All monetary amounts now use the AmountDisplay component - **Updated trend indicators**: AmountTrendIndicator and PercentageTrendIndicator now use AmountDisplay - **Added animated transitions**: Smooth transitions when toggling privacy mode ## Features - Privacy mode state persists across sessions (localStorage) - Amounts display as `$•••.••` with blur effect when privacy mode is enabled - Animated transitions (300ms) when toggling privacy mode - App logo changes to birdhouse when privacy mode is on - Toggle accessible from user menu at the top ## Testing - Tested privacy mode toggle functionality - Verified amounts are hidden/shown correctly across all pages - Confirmed logo animation works properly - Verified localStorage persistence ## Screenshots Privacy mode can be toggled from the user menu, and all amounts throughout the application will be hidden with a blur effect. |
||
|---|---|---|
| .. | ||
| encryption-key-context.tsx | ||
| privacy-mode-context.tsx | ||
| sync-context.tsx | ||