diff --git a/src/components/ErrorBoundary.tsx b/src/components/ErrorBoundary.tsx index ba0e15f..707f88d 100644 --- a/src/components/ErrorBoundary.tsx +++ b/src/components/ErrorBoundary.tsx @@ -40,7 +40,7 @@ export class ErrorBoundary extends Component { if (this.props.fallback) return this.props.fallback; return ( -
+
💥

diff --git a/src/components/SessionIcon.tsx b/src/components/SessionIcon.tsx index 30880cb..c63f537 100644 --- a/src/components/SessionIcon.tsx +++ b/src/components/SessionIcon.tsx @@ -4,7 +4,7 @@ import type { Session } from '../types'; // SVG brand icons (not available in lucide) function DiscordIcon({ size = 15, className = '' }: { size?: number; className?: string }) { return ( - + ); @@ -12,7 +12,7 @@ function DiscordIcon({ size = 15, className = '' }: { size?: number; className?: function TelegramIcon({ size = 15, className = '' }: { size?: number; className?: string }) { return ( - + ); @@ -20,7 +20,7 @@ function TelegramIcon({ size = 15, className = '' }: { size?: number; className? function SignalIcon({ size = 15, className = '' }: { size?: number; className?: string }) { return ( - + ); @@ -28,7 +28,7 @@ function SignalIcon({ size = 15, className = '' }: { size?: number; className?: function WhatsAppIcon({ size = 15, className = '' }: { size?: number; className?: string }) { return ( - + ); @@ -36,7 +36,7 @@ function WhatsAppIcon({ size = 15, className = '' }: { size?: number; className? function SlackIcon({ size = 15, className = '' }: { size?: number; className?: string }) { return ( - + ); diff --git a/src/components/ThemeSwitcher.tsx b/src/components/ThemeSwitcher.tsx index 092e3ef..b5d3533 100644 --- a/src/components/ThemeSwitcher.tsx +++ b/src/components/ThemeSwitcher.tsx @@ -51,10 +51,15 @@ export function ThemeSwitcher() { ) return; setOpen(false); }; + const handleKeyDown = (e: KeyboardEvent) => { + if (e.key === 'Escape') setOpen(false); + }; document.addEventListener('mousedown', handleClickOutside); + document.addEventListener('keydown', handleKeyDown); window.addEventListener('resize', updatePos); return () => { document.removeEventListener('mousedown', handleClickOutside); + document.removeEventListener('keydown', handleKeyDown); window.removeEventListener('resize', updatePos); }; }, [open, updatePos]); @@ -64,6 +69,8 @@ export function ThemeSwitcher() {
@@ -86,6 +95,7 @@ export function ThemeSwitcher() { {open && ( -
+
{text}
)} diff --git a/src/components/ThinkingIndicator.tsx b/src/components/ThinkingIndicator.tsx index cf13f74..c549caf 100644 --- a/src/components/ThinkingIndicator.tsx +++ b/src/components/ThinkingIndicator.tsx @@ -27,13 +27,13 @@ export function ThinkingIndicator() { }; return ( -
+
- +