@@ -9,7 +9,6 @@ import { ImageWithFallback } from "./figma/ImageWithFallback";
99import { blogPosts } from "../data/blogPosts" ;
1010import { useLanguage } from "./LanguageProvider" ;
1111import { useState } from "react" ;
12- import { LatestBlogPost } from "./LatestBlogPost" ;
1312
1413interface BlogProps {
1514 onPostClick : ( postId : number ) => void ;
@@ -75,11 +74,52 @@ export function Blog({ onPostClick }: BlogProps) {
7574 </ div >
7675
7776 { /* Featured Post */ }
78- < LatestBlogPost
79- onViewPost = { handleViewPost }
80- showHeader = { false }
81- showViewAll = { false }
82- />
77+ < Card
78+ className = "overflow-hidden hover:shadow-xl transition-all duration-300 border-border/60 max-w-5xl mx-auto mb-12"
79+ onClick = { ( ) => handleViewPost ( featuredPost . id ) }
80+ >
81+ < div className = "grid md:grid-cols-2 gap-0" >
82+ < div className = "aspect-video md:aspect-auto relative overflow-hidden cursor-pointer" >
83+ < ImageWithFallback
84+ src = { featuredPost . image }
85+ alt = { getLocalizedPost ( featuredPost ) . title }
86+ className = "w-full h-full object-cover hover:scale-105 transition-transform duration-300"
87+ />
88+ < Badge className = "absolute top-4 left-4 shadow-lg bg-primary" >
89+ { language === 'en' ? 'Featured' : 'Destacado' }
90+ </ Badge >
91+ </ div >
92+ < div className = "p-8 flex flex-col justify-between" >
93+ < div >
94+ < h3 className = "text-3xl mb-4" > { getLocalizedPost ( featuredPost ) . title } </ h3 >
95+ < p className = "text-muted-foreground mb-6 line-clamp-3" >
96+ { getLocalizedPost ( featuredPost ) . excerpt }
97+ </ p >
98+ < div className = "flex items-center gap-6 text-sm text-muted-foreground mb-4" >
99+ < div className = "flex items-center gap-2" >
100+ < User className = "h-4 w-4" />
101+ < span > { getLocalizedPost ( featuredPost ) . authors [ 0 ] } </ span >
102+ </ div >
103+ < div className = "flex items-center gap-2" >
104+ < Calendar className = "h-4 w-4" />
105+ < span > { getLocalizedPost ( featuredPost ) . date } </ span >
106+ </ div >
107+ < div >
108+ { getLocalizedPost ( featuredPost ) . readTime } { language === 'en' ? 'min read' : 'min de lectura' }
109+ </ div >
110+ </ div >
111+ < div className = "flex flex-wrap gap-2 mb-6" >
112+ { getLocalizedPost ( featuredPost ) . tags . slice ( 0 , 3 ) . map ( ( tag ) => (
113+ < Badge key = { tag } variant = "outline" > { tag } </ Badge >
114+ ) ) }
115+ </ div >
116+ </ div >
117+ < Button className = "gap-2 w-fit" >
118+ { language === 'en' ? 'Read Article' : 'Leer Artículo' } < ArrowRight className = "h-4 w-4" />
119+ </ Button >
120+ </ div >
121+ </ div >
122+ </ Card >
83123
84124 { /* Blog Posts Grid - Next 2 posts after featured */ }
85125 < div className = "grid md:grid-cols-2 gap-8 mb-12 mt-8" >
0 commit comments