b08x commited on
Commit
a53b955
·
verified ·
1 Parent(s): 23fe9a7

Upload components/PodcastCard.js with huggingface_hub

Browse files
Files changed (1) hide show
  1. components/PodcastCard.js +57 -0
components/PodcastCard.js ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { Play, Clock, Calendar } from 'lucide-react';
2
+
3
+ export default function PodcastCard({ podcast }) {
4
+ return (
5
+ <div className="brutal-card group cursor-pointer">
6
+ {/* Thumbnail */}
7
+ <div className="relative aspect-video bg-brutal-black mb-4 overflow-hidden">
8
+ <img
9
+ src={podcast.image}
10
+ alt={podcast.title}
11
+ className="w-full h-full object-cover opacity-80 group-hover:opacity-100 transition-opacity"
12
+ />
13
+ <div className="absolute inset-0 flex items-center justify-center">
14
+ <div className="w-16 h-16 bg-brutal-white border-2 border-brutal-black flex items-center justify-center shadow-brutal group-hover:shadow-brutal-hover group-hover:scale-110 transition-all">
15
+ <Play size={24} className="ml-1" />
16
+ </div>
17
+ </div>
18
+ </div>
19
+
20
+ {/* Content */}
21
+ <div className="space-y-3">
22
+ <div className="flex items-center gap-3">
23
+ <span className="font-mono text-xs bg-brutal-black text-brutal-white px-2 py-1">
24
+ {podcast.category}
25
+ </span>
26
+ <span className="font-mono text-xs text-brutal-gray flex items-center gap-1">
27
+ <Clock size={12} />
28
+ {podcast.duration}
29
+ </span>
30
+ </div>
31
+
32
+ <h3 className="font-bold text-lg leading-tight group-hover:text-brutal-accent transition-colors">
33
+ {podcast.title}
34
+ </h3>
35
+
36
+ <p className="text-sm text-brutal-gray line-clamp-2">
37
+ {podcast.description}
38
+ </p>
39
+
40
+ <div className="flex items-center gap-2 pt-2 border-t-2 border-brutal-black/10">
41
+ <img
42
+ src={podcast.hostAvatar}
43
+ alt={podcast.host}
44
+ className="w-8 h-8 border-2 border-brutal-black"
45
+ />
46
+ <div>
47
+ <p className="font-mono text-xs font-semibold">{podcast.host}</p>
48
+ <p className="font-mono text-xs text-brutal-gray flex items-center gap-1">
49
+ <Calendar size={10} />
50
+ {podcast.date}
51
+ </p>
52
+ </div>
53
+ </div>
54
+ </div>
55
+ </div>
56
+ );
57
+ }