From 5305f3e5f600bc5ca581bd63d02d87cb63d96572 Mon Sep 17 00:00:00 2001 From: R0m1k3 Date: Thu, 16 Apr 2026 16:18:47 +0200 Subject: [PATCH] feat: add Trending page to display and subscribe to popular podcasts by genre --- frontend/src/components/AlertModal.tsx | 8 +++++--- frontend/src/components/AudioPlayer.tsx | 2 +- frontend/src/components/EpisodeDetails.tsx | 6 ++++-- frontend/src/components/SuccessModal.tsx | 8 +++++--- frontend/src/pages/Trending.tsx | 16 +++++++++++----- 5 files changed, 26 insertions(+), 14 deletions(-) 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`}>