diff --git a/frontend/src/components/AlertModal.tsx b/frontend/src/components/AlertModal.tsx index 8184f15..9849965 100644 --- a/frontend/src/components/AlertModal.tsx +++ b/frontend/src/components/AlertModal.tsx @@ -1,4 +1,5 @@ import { X, AlertCircle, Info, CheckCircle2, AlertTriangle } from 'lucide-react'; +import { createPortal } from 'react-dom'; export type AlertType = 'error' | 'info' | 'success' | 'warning'; @@ -52,8 +53,8 @@ export default function AlertModal({ const { icon: StatusIcon, color, bg, border, glow } = config[type]; - return ( -
+ return createPortal( +
{/* Backdrop */}
-
+ , + document.body ); } diff --git a/frontend/src/components/AudioPlayer.tsx b/frontend/src/components/AudioPlayer.tsx index 947eb39..6daa544 100644 --- a/frontend/src/components/AudioPlayer.tsx +++ b/frontend/src/components/AudioPlayer.tsx @@ -159,7 +159,7 @@ export default function AudioPlayer({ episode, onClose, userId }: AudioPlayerPro isExpanded ? 'inset-0 rounded-none' : 'bottom-6 left-1/2 -translate-x-1/2 w-[96%] max-w-5xl rounded-[2rem] h-[88px]' - } premium-glass border-[var(--border-color)] shadow-2xl overflow-hidden flex flex-col`}> + } ${theme === 'light' ? 'bg-gradient-to-r from-slate-800/95 to-slate-900/95 backdrop-blur-xl' : 'premium-glass'} border-[var(--border-color)] shadow-2xl overflow-hidden flex flex-col`}>