From acd9a1a2c5b62a77e81c1ccbed57a7ae266efa41 Mon Sep 17 00:00:00 2001 From: R0m1k3 Date: Thu, 16 Apr 2026 15:39:32 +0200 Subject: [PATCH] feat: initialize global styles with theme variables, Tailwind configuration, and custom UI components --- frontend/src/components/AudioPlayer.tsx | 6 ++++- frontend/src/components/EpisodeCard.tsx | 2 +- frontend/src/pages/AddPodcast.tsx | 2 +- frontend/src/pages/Library.tsx | 6 ++--- frontend/src/pages/Trending.tsx | 2 +- frontend/src/styles/globals.css | 31 ++++++++++++++++++++++--- 6 files changed, 39 insertions(+), 10 deletions(-) diff --git a/frontend/src/components/AudioPlayer.tsx b/frontend/src/components/AudioPlayer.tsx index 07668fa..99a372c 100644 --- a/frontend/src/components/AudioPlayer.tsx +++ b/frontend/src/components/AudioPlayer.tsx @@ -15,6 +15,7 @@ import { AlertCircle } from 'lucide-react'; import AlertModal from './AlertModal'; +import { useTheme } from '../context/ThemeContext'; interface AudioPlayerProps { episode: Episode | null; @@ -24,6 +25,7 @@ interface AudioPlayerProps { export default function AudioPlayer({ episode, onClose, userId }: AudioPlayerProps) { const { isPlaying, setIsPlaying, togglePlay } = useAudio(); + const { theme } = useTheme(); const audioRef = useRef(null); const [currentTime, setCurrentTime] = useState(0); const [duration, setDuration] = useState(0); @@ -120,8 +122,10 @@ export default function AudioPlayer({ episode, onClose, userId }: AudioPlayerPro const progress = duration > 0 ? (currentTime / duration) * 100 : 0; + const inverseTheme = theme === 'light' ? 'dark-theme' : 'light-theme'; + return ( -
{/* Visual Header */} diff --git a/frontend/src/pages/AddPodcast.tsx b/frontend/src/pages/AddPodcast.tsx index a4c9a08..75c3471 100644 --- a/frontend/src/pages/AddPodcast.tsx +++ b/frontend/src/pages/AddPodcast.tsx @@ -257,7 +257,7 @@ export default function AddPodcast() { ) : searchType === 'podcasts' && (searchQuery.length > 0 ? searchResults?.podcasts : trendingResults?.podcasts) ? (
{(searchQuery.length > 0 ? searchResults?.podcasts : trendingResults?.podcasts).map((podcast: any) => ( -
+
{podcast.imageUrl ? ( {podcast.title} diff --git a/frontend/src/pages/Library.tsx b/frontend/src/pages/Library.tsx index ca9a1b3..3e24c86 100644 --- a/frontend/src/pages/Library.tsx +++ b/frontend/src/pages/Library.tsx @@ -111,7 +111,7 @@ export default function Library() { {/* Stats */}
-
+
@@ -120,7 +120,7 @@ export default function Library() {

{podcasts.length}

- +
@@ -149,7 +149,7 @@ export default function Library() { ) : (
{podcasts.map((podcast) => ( -
+
diff --git a/frontend/src/pages/Trending.tsx b/frontend/src/pages/Trending.tsx index 2d38078..22288e4 100644 --- a/frontend/src/pages/Trending.tsx +++ b/frontend/src/pages/Trending.tsx @@ -191,7 +191,7 @@ export default function Trending() { <>
{podcasts.map((podcast, index) => ( -
+
{podcast.imageUrl ? (