Skip to content

Commit cc6ccd0

Browse files
ramen-rootksobrenat32
authored andcommitted
fix: Se modificaron los textos e íconos de la sección Community del Home. Se cambió el estilo de los botones. Se cambió el estilo de los botes de esta sección y se les añadió funcionalidad. Se añadió animación wiggle al botón de 'Ver calendario'. Mejoras en la responsividad de las secciones 'Latest'.
1 parent 9f5efa7 commit cc6ccd0

8 files changed

Lines changed: 90 additions & 66 deletions

File tree

project.org

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
*** DONE Repositorio de GitHub y Versionado
77
*** DONE Contenedor
88
*** IN-PROGRESS Código
9-
**** IN-PROGRESS Home
9+
**** DONE Home
1010
DEADLINE: <2026-03-13 Fri>
1111
***** DONE Hero [100%]
1212
- [X] Cambiar el color de fondo por algo gris pero con degradados
@@ -236,20 +236,19 @@ export function Hero() {
236236
- 1 columna en small con tres tarjetas
237237
- 2 columnas en md con dos tarjetas por columna
238238
- 3 columnas en lg con 3 tarjetas
239-
***** NEXT LatestEvent [0%]
240-
- [ ] Mejorar la responsividad
241-
- [ ] Mejorar aspecto de los botones y tarjetas
242-
***** NEXT LatestBlogPost [0%]
243-
- [ ] Mejorar la responsividad
244-
- [ ] Mejorar aspecto de los botones y tarjetas
245-
***** NEXT LatestCourse [0%]
246-
- [ ] Mejorar la responsividad
247-
- [ ] Mejorar aspecto de los botones y tarjetas
248-
***** NEXT Community [%]
249-
- [ ] Cambiar es estilo de los botones.
250-
- [ ] Darte funcionalidad a los botones.
251-
- [ ] Textos que invite a unirse al laboratorio.
252-
- [ ] Cambiar imágen
239+
***** DONE LatestEvent [100%]
240+
- [X] Mejorar la responsividad
241+
- [X] Mejorar aspecto de los botones y tarjetas
242+
***** DONE LatestBlogPost [100%]
243+
- [X] Mejorar la responsividad
244+
- [X] Mejorar aspecto de los botones y tarjetas
245+
***** DONE LatestCourse [100%]
246+
- [X] Mejorar la responsividad
247+
- [X] Mejorar aspecto de los botones y tarjetas
248+
***** DONE Community [100%]
249+
- [X] Textos que invite a unirse al laboratorio.
250+
- [X] Cambiar es estilo de los botones.
251+
- [X] Darte funcionalidad a los botones.
253252
**** TODO Header [0%]
254253
DEADLINE: <2026-03-13 Fri>
255254
- [ ] Hacer un indicador para saber en que sección se está, que sea estilo "pestañas libadwaita"
@@ -444,16 +443,17 @@ DEADLINE: <2026-03-03 Tue>
444443
DEADLINE: <2026-03-17 Tue>
445444
*** TODO Optimización/Bugs/Testing/Corrección de vulnerabilidades
446445
DEADLINE: <2026-03-21 Sat>
446+
**** Tal vez sería bueno cambiar el texto de "Proyectos en desarrollo" del Home, pues hay algunas investigaciones que ya no están en curso.
447447
**** Añadir una "pantalla de carga" al inicio.
448448
**** Tema oscuro automático
449449
**** Hacer que los íconos sean tomados de un svg local
450-
en blog.tsx hay import { User, ArrowRight, Calendar, Clock } from "lucide-react";
450+
en blog.tsx hay import { User, ArrowRight, Calendar, Clock } from "lucide-react", etc
451451
**** Cuando regreso a una página anterior, que no me regrese hasta el inicio, si no que se quede en el mismo sitio antes de dar click.
452452
**** Mejora el script del blog.
453453
**** Colocar la información correcta en la fecha de inicio de los miembros.
454454
**** DONE CursorEffect
455455
Al estar en dispositivos móviles, el efecto de brillo que sigue al cursos se queda pillado.
456-
**** Responsibidad
456+
**** DONE Responsibidad
457457
Hay un problema con las tarjetas de "Último curso, Último post de blog" en dispositivos móviels el contenido no se ve completo.
458458
**** Auditoría de ciberseguridad
459459
** Deploy
190 KB
Loading
254 KB
Loading

src/App.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,8 +291,8 @@ export default function App() {
291291
<Values />
292292
<FeaturedProjects />
293293
<LatestEvent onViewEvent={handleEventClick} onViewAllEvents={handleViewAllEvents} />
294-
<LatestBlogPost onViewPost={handlePostClick} />
295294
<LatestCourse onViewCourse={handleCourseClick} onViewAllCourses={handleViewAllCourses} />
295+
<LatestBlogPost onViewPost={handlePostClick} />
296296
<Community />
297297
</>
298298
)}

src/components/Community.tsx

Lines changed: 46 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,45 @@
11
import { Button } from "./ui/button";
22
import { ImageWithFallback } from "./figma/ImageWithFallback";
3-
import { MessageSquare, Calendar, BookOpen } from "lucide-react";
3+
import { Pickaxe, BookCheck, Users, ArrowRight } from "lucide-react";
44
import { useLanguage } from "./LanguageProvider";
5+
import { useTheme } from "./ThemeProvider";
56

67
export function Community() {
78
const { language } = useLanguage();
9+
const { theme } = useTheme();
10+
11+
const glowDark = {
12+
default: "0 0 15px rgba(28,113,216,0.15), 0 0 30px rgba(28,113,216,0.1), 0 0 50px rgba(28,113,216,0.08), 0 0 75px rgba(28,113,216,0.05)",
13+
hover: "0 0 20px rgba(28,113,216,0.25), 0 0 40px rgba(28,113,216,0.2), 0 0 60px rgba(28,113,216,0.15), 0 0 90px rgba(28,113,216,0.1)"
14+
};
15+
16+
const glowLight = {
17+
default: "0 0 20px rgba(28,113,216,0.4), 0 0 40px rgba(28,113,216,0.3), 0 0 70px rgba(28,113,216,0.2), 0 0 100px rgba(28,113,216,0.15)",
18+
hover: "0 0 30px rgba(28,113,216,0.5), 0 0 60px rgba(28,113,216,0.4), 0 0 90px rgba(28,113,216,0.3), 0 0 120px rgba(28,113,216,0.2)"
19+
};
20+
21+
const currentGlow = theme === "dark" ? glowDark : glowLight;
822

923
const t = {
1024
title: { en: "Join the Community", es: "Únete a la comunidad" },
1125
description: {
12-
en: "Connect with developers, designers, and free software enthusiasts from around the world. Whether you're a beginner or an expert, there's a place for you here.",
26+
en: "Connect with freesoftware enthusiasts.",
1327
es: "Conéctate con entusiastas del software libre."
1428
},
15-
ongoingProjects: { en: "Ongoing Projects", es: "Proyectos en curso" },
16-
ongoingProjectsDesc: {
17-
en: "You can contribute to ongoing projects",
18-
es: "Puedes contribuir a los proyectos en curso"
29+
servicioSocial: { en: "Do your social service here", es: "Libera tu servicio social aquí" },
30+
servicioSocialDesc: {
31+
en: "If you are a student of Computer Engineering at the FI UNAM, you can complete your social service with us, starting from the third semester.",
32+
es: "Si eres estudiante de Ingeniería en Computación de la FI UNAM puedes liberar tu servicio social con nosotros, a partir del tercer semestre."
1933
},
20-
eventsHackathons: { en: "Events", es: "Eventos y Reuniones" },
21-
eventsHackathonsDesc: {
22-
en: "Participate in events",
23-
es: "Participa en eventos"
34+
events: { en: "Join events and courses", es: "Participa en eventos y cursos" },
35+
eventsDesc: {
36+
en: "We seek to promote and drive research and development of technologies through projects, courses, conferences, and installation events.",
37+
es: "Buscamos promover e impulsar la investigación y desarrollo de tecnologías a través de cursos, conferencias y eventos de instalación."
2438
},
25-
learningResources: { en: "Learning Resources", es: "Libera tu servicio social" },
39+
learningResources: { en: "Collaborate on Projects", es: "Colabora en proyectos" },
2640
learningResourcesDesc: {
27-
en: "Access tutorials, guides, and mentorship programs",
28-
es: " Si eres estudiante de Ingeniería en Computación de la FI UNAM puedes liberar tu servicio social con nosotros, a partir de tercer semestre"
41+
en: "Join active initiatives to strengthen your skills and apply your knowledge. You can become part of frontend, backend, and infrastructure teams, contributing to the development of real, high‑impact solutions.",
42+
es: "Únete a los proyectos en marcha para desarrollar tus habilidades y aplicar tus conocimientos. Podrás integrarte en equipos de frontend, backend e infraestructura, contribuyendo al desarrollo de soluciones reales y de alto impacto."
2943
},
3044
telegram: { en: "Telegram", es: "Telegram" },
3145
viewCalendar: { en: "View Calendar", es: "Ver calendario" },
@@ -39,7 +53,7 @@ export function Community() {
3953
<div className="order-2 lg:order-1">
4054
<div className="rounded-3xl overflow-hidden shadow-lg border border-primary-foreground/10">
4155
<ImageWithFallback
42-
src="/home/julio-lopez-hqJJPke16kQ-unsplash.jpg"
56+
src="/home/gabo-romay-j7Xs-riThbU-unsplash.jpg"
4357
alt="Collaboration workspace"
4458
className="w-full h-full object-cover"
4559
/>
@@ -57,27 +71,27 @@ export function Community() {
5771
<div className="space-y-4">
5872
<div className="flex items-start gap-4">
5973
<div className="w-12 h-12 bg-primary-foreground/10 rounded-2xl flex items-center justify-center flex-shrink-0 border border-primary-foreground/20">
60-
<MessageSquare className="h-6 w-6" />
74+
<BookCheck className="h-6 w-6" />
6175
</div>
6276
<div>
63-
<h3 className="text-xl mb-1">{t.ongoingProjects[language]}</h3>
64-
<p className="text-primary-foreground/80">{t.ongoingProjectsDesc[language]}</p>
77+
<h3 className="text-xl mb-1">{t.servicioSocial[language]}</h3>
78+
<p className="text-primary-foreground/80">{t.servicioSocialDesc[language]}</p>
6579
</div>
6680
</div>
6781

6882
<div className="flex items-start gap-4">
6983
<div className="w-12 h-12 bg-primary-foreground/10 rounded-2xl flex items-center justify-center flex-shrink-0 border border-primary-foreground/20">
70-
<Calendar className="h-6 w-6" />
84+
<Users className="h-6 w-6" />
7185
</div>
7286
<div>
73-
<h3 className="text-xl mb-1">{t.eventsHackathons[language]}</h3>
74-
<p className="text-primary-foreground/80">{t.eventsHackathonsDesc[language]}</p>
87+
<h3 className="text-xl mb-1">{t.events[language]}</h3>
88+
<p className="text-primary-foreground/80">{t.eventsDesc[language]}</p>
7589
</div>
7690
</div>
7791

7892
<div className="flex items-start gap-4">
7993
<div className="w-12 h-12 bg-primary-foreground/10 rounded-2xl flex items-center justify-center flex-shrink-0 border border-primary-foreground/20">
80-
<BookOpen className="h-6 w-6" />
94+
<Pickaxe className="h-6 w-6" />
8195
</div>
8296
<div>
8397
<h3 className="text-xl mb-1">{t.learningResources[language]}</h3>
@@ -87,11 +101,18 @@ export function Community() {
87101
</div>
88102

89103
<div className="flex flex-wrap gap-4 pt-4">
90-
<Button size="lg" variant="secondary">
91-
{t.telegram[language]}
104+
<Button size="lg" variant="secondary" className="gap-2 border-2 transition-all duration-300"
105+
style={{ animation: "wiggle 1s ease-in-out infinite", boxShadow: currentGlow.default }}
106+
onMouseEnter={(e) => { e.currentTarget.style.boxShadow = currentGlow.hover; }}
107+
onMouseLeave={(e) => { e.currentTarget.style.boxShadow = currentGlow.default; }}
108+
onClick={() => window.location.hash = "#events"}
109+
>
110+
{t.viewCalendar[language]} <ArrowRight className="h-4 w-4" />
92111
</Button>
93-
<Button size="lg" variant="outline" className="border-2">
94-
{t.viewCalendar[language]}
112+
<Button size="lg" variant="outline" asChild>
113+
<a href="https://t.me/lidsol" target="_blank" rel="noopener noreferrer">
114+
{t.telegram[language]}
115+
</a>
95116
</Button>
96117
</div>
97118
</div>

src/components/LatestBlogPost.tsx

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ export function LatestBlogPost({ onViewPost, showHeader = true, showViewAll = tr
2323
viewPost: { en: "Read Full Article", es: "Leer Artículo Completo" },
2424
viewAll: { en: "View All Posts", es: "Ver Todos los Posts" },
2525
readTime: { en: "min read", es: "min de lectura" },
26-
new: { en: "New", es: "Nuevo" },
26+
new: { en: "Last", es: "Último" },
2727
};
2828

2929
const title = latestPost.title[language] || latestPost.title.es || '';
@@ -83,23 +83,26 @@ export function LatestBlogPost({ onViewPost, showHeader = true, showViewAll = tr
8383
))}
8484
</div>
8585
</div>
86-
<Button
87-
className="gap-2"
88-
onClick={() => onViewPost(latestPost.id)}
89-
>
90-
{t.viewPost[language]} <ArrowRight className="h-4 w-4" />
91-
</Button>
86+
<div className="flex flex-col md:flex-row gap-3">
87+
<Button
88+
className="gap-2 flex-1"
89+
onClick={() => onViewPost(latestPost.id)}
90+
>
91+
{t.viewPost[language]} <ArrowRight className="h-4 w-4" />
92+
</Button>
93+
{showViewAll && (
94+
<Button
95+
variant="outline"
96+
className="gap-2"
97+
onClick={() => window.location.hash = "#blog"}
98+
>
99+
{t.viewAll[language]}
100+
</Button>
101+
)}
102+
</div>
92103
</div>
93104
</div>
94105
</Card>
95-
96-
{showViewAll && (
97-
<div className="text-center mt-16">
98-
<Button size="lg" variant="outline" className="gap-2" onClick={() => window.location.hash = "#blog"}>
99-
{t.viewAll[language]} <ArrowRight className="h-4 w-4" />
100-
</Button>
101-
</div>
102-
)}
103106
</div>
104107
</section>
105108
);

src/components/LatestCourse.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ export function LatestCourse({ onViewCourse, onViewAllCourses }: LatestCoursePro
8989
</div>
9090
</div>
9191
</div>
92-
<div className="flex gap-3">
92+
<div className="flex flex-col md:flex-row gap-3">
9393
<Button
9494
className="gap-2 flex-1"
9595
onClick={() => onViewCourse(latestCourse.id)}

src/components/LatestEvent.tsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ interface LatestEventProps {
1313

1414
export function LatestEvent({ onViewEvent, onViewAllEvents }: LatestEventProps) {
1515
const { language } = useLanguage();
16-
16+
1717
// Get the first upcoming event
1818
const latestEvent = events.find(e => e.status === "upcoming") || events[0];
1919

@@ -32,8 +32,8 @@ export function LatestEvent({ onViewEvent, onViewAllEvents }: LatestEventProps)
3232

3333
<Card className="overflow-hidden hover:shadow-xl transition-all duration-300 border-border/60 max-w-5xl mx-auto">
3434
<div className="grid md:grid-cols-2 gap-0">
35-
<div
36-
className="aspect-video md:aspect-auto relative overflow-hidden cursor-pointer"
35+
<div
36+
className="aspect-video md:aspect-auto relative overflow-hidden cursor-pointer"
3737
onClick={() => onViewEvent(latestEvent.id)}
3838
>
3939
<ImageWithFallback
@@ -71,15 +71,15 @@ export function LatestEvent({ onViewEvent, onViewAllEvents }: LatestEventProps)
7171
</div>
7272
</div>
7373
</div>
74-
<div className="flex gap-3">
75-
<Button
74+
<div className="flex flex-col md:flex-row gap-3">
75+
<Button
7676
className="gap-2 flex-1"
7777
onClick={() => onViewEvent(latestEvent.id)}
7878
>
7979
{t.viewMore[language]} <ArrowRight className="h-4 w-4" />
8080
</Button>
81-
<Button
82-
variant="outline"
81+
<Button
82+
variant="outline"
8383
className="gap-2"
8484
onClick={onViewAllEvents}
8585
>

0 commit comments

Comments
 (0)