Skip to content

Commit cc61f3b

Browse files
committed
fix The components LanguageProvider.tsx, LanguageSelector.tsx, and LatestHighlights.tsx have been removed. Instead, LatestHighlights.tsx is used, which combines the three removed components into a single one.
1 parent 671d831 commit cc61f3b

6 files changed

Lines changed: 366 additions & 329 deletions

File tree

src/App.tsx

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@ import { Header } from "./components/Header";
22
import { Hero } from "./components/Hero";
33
import { Values } from "./components/Values";
44
import { FeaturedProjects } from "./components/FeaturedProjects";
5-
import { LatestCourse } from "./components/LatestCourse";
6-
import { LatestEvent } from "./components/LatestEvent";
7-
import { LatestBlogPost } from "./components/LatestBlogPost";
5+
import { LatestHighlights } from "./components/LatestHighlights";
86
import { Community } from "./components/Community";
97
import { Footer } from "./components/Footer";
108
import { Blog } from "./components/Blog";
@@ -290,9 +288,14 @@ export default function App() {
290288
<Hero />
291289
<Values />
292290
<FeaturedProjects />
293-
<LatestEvent onViewEvent={handleEventClick} onViewAllEvents={handleViewAllEvents} />
294-
<LatestCourse onViewCourse={handleCourseClick} onViewAllCourses={handleViewAllCourses} />
295-
<LatestBlogPost onViewPost={handlePostClick} />
291+
<LatestHighlights
292+
onViewPost={handlePostClick}
293+
onViewAllPosts={() => { window.location.hash = "#blog"; }}
294+
onViewCourse={handleCourseClick}
295+
onViewAllCourses={handleViewAllCourses}
296+
onViewEvent={handleEventClick}
297+
onViewAllEvents={handleViewAllEvents}
298+
/>
296299
<Community />
297300
</>
298301
)}

src/components/Blog.tsx

Lines changed: 46 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import { ImageWithFallback } from "./figma/ImageWithFallback";
99
import { blogPosts } from "../data/blogPosts";
1010
import { useLanguage } from "./LanguageProvider";
1111
import { useState } from "react";
12-
import { LatestBlogPost } from "./LatestBlogPost";
1312

1413
interface 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">

src/components/LatestBlogPost.tsx

Lines changed: 0 additions & 109 deletions
This file was deleted.

src/components/LatestCourse.tsx

Lines changed: 0 additions & 113 deletions
This file was deleted.

0 commit comments

Comments
 (0)