- {/* Header Section */}
+
+ {/* Banner */}
+
+
+ {/* ¿Qué es WitCode? */}
+
+
+ {/* Decorative elements */}
+
+
+
+
+
+ ¿Qué es WitCode?
+
+
+ Nuestro programa de servicio social enfocado en disminuir la brecha de género en tecnología
+ mediante educación accesible e inclusiva
+
+
+
+ {/* Foto grupal */}
+
+
+
+
+
+
+
+
+ {/* ¿Cómo funciona? */}
+
+ {/* Decorative pattern */}
+
+
+
+
+
+ ¿Cómo funciona?
+
+
+ Tu experiencia como tutor/a en WitCode
+
+
+
+ {/* Carrusel de fotos */}
+
+
+
+
+
+
+
+ {/* Roles Disponibles */}
-
-
+
+
+
+ Roles disponibles
+
+
+ Encuentra tu forma de contribuir
+
+
+
- {/* Carousel Section */}
-
+ {/* Nuestro Impacto */}
+
- {/* TwoColumns Section */}
+ {/* Beneficios */}
-
+
+ {/* Decorative gradient blobs */}
+
+
+
+
+
+ Beneficios
+
+
+ ¿Por qué unirte a WitCode?
+
+
+
+
- {/* Footer Section */}
-
+ {/* CTA Final */}
+
+
+ {/* Footer */}
+
);
};
-export default Page;
+export default Page;
\ No newline at end of file
diff --git a/app/components/AnimatedPhotoGrid.tsx b/app/components/AnimatedPhotoGrid.tsx
new file mode 100644
index 0000000..59350c0
--- /dev/null
+++ b/app/components/AnimatedPhotoGrid.tsx
@@ -0,0 +1,171 @@
+"use client";
+
+import { useState, useEffect } from 'react';
+
+export default function AnimatedPhotoGrid() {
+ const allPhotos: string[] = [
+ '/images/home/home_1.JPG',
+ '/images/home/home_2.JPG',
+ '/images/home/home_3.JPG',
+ '/images/home/home_4.JPG',
+ '/images/home/home_5.JPG',
+ '/images/home/home_6.JPG',
+ '/images/home/home_7.JPG',
+ '/images/home/home_8.JPG',
+ '/images/home/home_9.JPG',
+ '/images/home/home_10.JPG',
+ '/images/home/home_11.JPG',
+ '/images/home/home_12.JPG',
+ '/images/home/home_13.JPG',
+ '/images/home/home_14.JPG',
+ '/images/home/home_15.JPG',
+ '/images/home/home_16.JPG',
+ '/images/home/home_17.JPG',
+ '/images/home/home_18.JPG',
+ '/images/home/home_19.JPG',
+ '/images/home/home_20.JPG',
+ '/images/home/home_21.JPG',
+ '/images/home/home_22.JPG',
+ '/images/home/home_23.JPG',
+ '/images/home/home_24.JPG',
+ '/images/home/home_25.JPG',
+ '/images/home/home_26.JPG',
+ '/images/home/home_27.JPG',
+ ];
+
+ const [photos, setPhotos] = useState([]);
+
+ useEffect(() => {
+ const shuffled: string[] = [...allPhotos].sort(() => Math.random() - 0.5);
+ const selected: string[] = [];
+
+ while (selected.length < 50) {
+ selected.push(...shuffled);
+ }
+
+ setPhotos(selected.slice(0, 50));
+ }, []);
+
+ const positions = [
+ // Fila 1 - arriba
+ { top: '3%', left: '0%', rotate: -5, size: 'w-56 h-44', zIndex: 12 },
+ { top: '6%', left: '10%', rotate: 3, size: 'w-60 h-48', zIndex: 15 },
+ { top: '2%', left: '20%', rotate: -2, size: 'w-56 h-44', zIndex: 10 },
+ { top: '5%', left: '30%', rotate: 4, size: 'w-64 h-52', zIndex: 14 },
+ { top: '3%', left: '41%', rotate: -3, size: 'w-56 h-44', zIndex: 11 },
+ { top: '6%', left: '51%', rotate: 5, size: 'w-60 h-48', zIndex: 13 },
+ { top: '4%', left: '61%', rotate: -4, size: 'w-56 h-44', zIndex: 16 },
+ { top: '2%', left: '71%', rotate: 3, size: 'w-60 h-48', zIndex: 9 },
+ { top: '5%', left: '81%', rotate: -5, size: 'w-56 h-44', zIndex: 14 },
+ { top: '3%', left: '91%', rotate: 4, size: 'w-60 h-48', zIndex: 12 },
+
+ // Fila 2
+ { top: '22%', left: '1%', rotate: 4, size: 'w-60 h-48', zIndex: 14 },
+ { top: '19%', left: '11%', rotate: -3, size: 'w-56 h-44', zIndex: 12 },
+ { top: '24%', left: '21%', rotate: 5, size: 'w-64 h-52', zIndex: 15 },
+ { top: '20%', left: '32%', rotate: -2, size: 'w-56 h-44', zIndex: 10 },
+ { top: '23%', left: '42%', rotate: 3, size: 'w-60 h-48', zIndex: 13 },
+ { top: '21%', left: '52%', rotate: -4, size: 'w-56 h-44', zIndex: 16 },
+ { top: '25%', left: '62%', rotate: 4, size: 'w-64 h-48', zIndex: 11 },
+ { top: '22%', left: '73%', rotate: -5, size: 'w-56 h-44', zIndex: 14 },
+ { top: '19%', left: '83%', rotate: 3, size: 'w-60 h-48', zIndex: 12 },
+ { top: '23%', left: '93%', rotate: -3, size: 'w-56 h-44', zIndex: 15 },
+
+ // Fila 3 - medio
+ { top: '43%', left: '0%', rotate: -3, size: 'w-56 h-44', zIndex: 15 },
+ { top: '40%', left: '10%', rotate: 5, size: 'w-60 h-48', zIndex: 12 },
+ { top: '45%', left: '20%', rotate: -4, size: 'w-64 h-52', zIndex: 10 },
+ { top: '41%', left: '31%', rotate: 3, size: 'w-56 h-44', zIndex: 14 },
+ { top: '44%', left: '41%', rotate: -2, size: 'w-60 h-48', zIndex: 13 },
+ { top: '42%', left: '51%', rotate: 4, size: 'w-56 h-44', zIndex: 16 },
+ { top: '46%', left: '61%', rotate: -5, size: 'w-64 h-48', zIndex: 11 },
+ { top: '43%', left: '72%', rotate: 3, size: 'w-56 h-44', zIndex: 15 },
+ { top: '40%', left: '82%', rotate: -4, size: 'w-60 h-48', zIndex: 13 },
+ { top: '44%', left: '92%', rotate: 5, size: 'w-56 h-44', zIndex: 10 },
+
+ // Fila 4
+ { top: '64%', left: '1%', rotate: 4, size: 'w-60 h-48', zIndex: 12 },
+ { top: '61%', left: '11%', rotate: -3, size: 'w-56 h-44', zIndex: 14 },
+ { top: '66%', left: '21%', rotate: 5, size: 'w-64 h-52', zIndex: 11 },
+ { top: '62%', left: '32%', rotate: -2, size: 'w-56 h-44', zIndex: 15 },
+ { top: '65%', left: '42%', rotate: 3, size: 'w-60 h-48', zIndex: 13 },
+ { top: '63%', left: '52%', rotate: -4, size: 'w-56 h-44', zIndex: 16 },
+ { top: '67%', left: '62%', rotate: 5, size: 'w-64 h-48', zIndex: 10 },
+ { top: '64%', left: '73%', rotate: -3, size: 'w-56 h-44', zIndex: 14 },
+ { top: '61%', left: '83%', rotate: 4, size: 'w-60 h-48', zIndex: 12 },
+ { top: '65%', left: '93%', rotate: -5, size: 'w-56 h-44', zIndex: 15 },
+
+ // Fila 5
+ { top: '83%', left: '2%', rotate: -4, size: 'w-56 h-44', zIndex: 13 },
+ { top: '80%', left: '12%', rotate: 3, size: 'w-60 h-48', zIndex: 11 },
+ { top: '85%', left: '22%', rotate: -2, size: 'w-56 h-44', zIndex: 14 },
+ { top: '81%', left: '32%', rotate: 5, size: 'w-64 h-52', zIndex: 16 },
+ { top: '84%', left: '43%', rotate: -3, size: 'w-56 h-44', zIndex: 10 },
+ { top: '82%', left: '53%', rotate: 4, size: 'w-60 h-48', zIndex: 15 },
+ { top: '86%', left: '63%', rotate: -5, size: 'w-56 h-44', zIndex: 12 },
+ { top: '83%', left: '73%', rotate: 3, size: 'w-64 h-48', zIndex: 14 },
+ { top: '80%', left: '84%', rotate: -4, size: 'w-56 h-44', zIndex: 11 },
+ { top: '84%', left: '94%', rotate: 5, size: 'w-60 h-48', zIndex: 13 },
+ ];
+
+ return (
+
+ {photos.map((photo, index) => {
+ const position = positions[index];
+ if (!position) return null;
+
+ return (
+
+
+
+
+
+ );
+ })}
+
+
+
+ );
+}
\ No newline at end of file
diff --git a/app/components/SponsorsCarousel.tsx b/app/components/SponsorsCarousel.tsx
new file mode 100644
index 0000000..c9a0d58
--- /dev/null
+++ b/app/components/SponsorsCarousel.tsx
@@ -0,0 +1,120 @@
+'use client'
+
+import React, { useRef, useEffect, useState } from 'react';
+
+export default function SponsorsCarousel() {
+ const scrollRef = useRef(null);
+ const [isPaused, setIsPaused] = useState(false);
+ const [scrollTimeout, setScrollTimeout] = useState(null);
+
+ useEffect(() => {
+ const scrollContainer = scrollRef.current;
+ if (!scrollContainer) return;
+
+ const handleScroll = () => {
+
+ setIsPaused(true);
+
+ if (scrollTimeout) {
+ clearTimeout(scrollTimeout);
+ }
+
+ const timeout = setTimeout(() => {
+ setIsPaused(false);
+ }, 1000);
+
+ setScrollTimeout(timeout);
+
+ // Resetear scroll cuando llega al final
+ const maxScroll = scrollContainer.scrollWidth / 3;
+ if (scrollContainer.scrollLeft >= maxScroll) {
+ scrollContainer.scrollLeft = 0;
+ }
+ };
+
+ scrollContainer.addEventListener('scroll', handleScroll);
+
+ return () => {
+ scrollContainer.removeEventListener('scroll', handleScroll);
+ if (scrollTimeout) clearTimeout(scrollTimeout);
+ };
+ }, [scrollTimeout]);
+
+ const logos: { src: string; alt: string }[] = [
+ { src: "/images/LOGO_ARCA.png", alt: "Arca Continental" },
+ { src: "/images/aliados/muchored_logo-removebg-preview.png", alt: "Mucho Red" },
+ { src: "/images/aliados/LEGO.png", alt: "LEGO" },
+ { src: "/images/aliados/Apex-systems.png", alt: "Apex Systems" },
+ { src: "/images/aliados/Steelcase.png", alt: "Steelcase" },
+ { src: "/images/aliados/interius_logo_azul.png", alt: "Interius" },
+ { src: "/images/aliados/Carrier_logo.png", alt: "Carrier" },
+ { src: "/images/aliados/Microplus_fondo-removebg-preview.png", alt: "Microplus" },
+ { src: "/images/aliados/csoftmty_logo.png", alt: "CsoftMty" },
+ { src: "/images/aliados/upnow_logo2.png", alt: "Upnow" },
+ { src: "/images/aliados/clarios-logo2.png", alt: "Clarios" },
+ ];
+
+ return (
+
+
+ Nuestros Aliados
+
+ {/* Contenedor del carrusel infinito */}
+
+
+
+
+
+
+ {/* Repetimos los logos 3 veces para el efecto infinito */}
+ {[1, 2, 3].map((group) => (
+
+ {logos.map((logo, idx) => (
+
+
+
+ ))}
+
+ ))}
+
+
+
+
+
+
+ );
+}
\ No newline at end of file
diff --git a/app/components/carousel.tsx b/app/components/carousel.tsx
index f822713..3a3bf06 100644
--- a/app/components/carousel.tsx
+++ b/app/components/carousel.tsx
@@ -1,3 +1,4 @@
+//carousel.tsx
'use client'
import React, { useState, useEffect } from 'react';
import { SlArrowLeft, SlArrowRight } from "react-icons/sl";
diff --git a/app/components/general/Logo.tsx b/app/components/general/Logo.tsx
index 15a1861..eb26392 100644
--- a/app/components/general/Logo.tsx
+++ b/app/components/general/Logo.tsx
@@ -3,7 +3,7 @@ import Link from "next/link";
const Logo = () => {
return (
-
+
);
};
diff --git a/app/components/general/Section.tsx b/app/components/general/Section.tsx
index 8ed6526..993742e 100644
--- a/app/components/general/Section.tsx
+++ b/app/components/general/Section.tsx
@@ -1,3 +1,4 @@
+//Section.tsx
import { ReactNode } from "react"
const Section = ({children}: {children:ReactNode}) => {
diff --git a/app/components/general/colors.css b/app/components/general/colors.css
new file mode 100644
index 0000000..05dba4e
--- /dev/null
+++ b/app/components/general/colors.css
@@ -0,0 +1,48 @@
+
+/* paleta de colores WIT */
+
+:root {
+ /* colores principales*/
+ --principal-morado: #6411AD;
+ --principal-morado-10: #6411AD1A;
+ --principal-morado-20: #6411AD33;
+ --principal-morado-30: #6411AD4D;
+
+ --principal-morado-claro: #B49CFF;
+ --principal-morado-claro-10: #B49CFF1A;
+ --principal-morado-claro-20: #B49CFF33;
+ --principal-morado-claro-30: #B49CFF4D;
+
+ /* colores secundarios */
+ --secundario-morado: #47126b;
+ --secundario-morado-10: #47126b1A;
+ --secundario-morado-20: #47126b33;
+ --secundario-morado-30: #47126b4D;
+
+ --secundario-morado-claro: #c6c8ee;
+ --secundario-morado-claro-10: #c6c8ee1A;
+ --secundario-morado-claro-20: #c6c8ee33;
+ --secundario-morado-claro-30: #c6c8ee4D;
+
+ --secundario-rosa: #ff5795;
+ --secundario-rosa-10: #ff57951A;
+ --secundario-rosa-20: #ff579533;
+ --secundario-rosa-30: #ff57954D;
+
+ /*colores neutros */
+ --neutro-negro: #000000;
+ --neutro-negro-10: #0000001A;
+ --neutro-negro-20: #00000033;
+ --neutro-negro-30: #0000004D;
+
+ --neutro-gris: #2e2d2d;
+ --neutro-gris-10: #2e2d2d1A;
+ --neutro-gris-20: #2e2d2d33;
+ --neutro-gris-30: #2e2d2d4D;
+
+ --neutro-blanco: #FFFFFF;
+ --neutro-blanco-10: #FFFFFF1A;
+ --neutro-blanco-20: #FFFFFF33;
+ --neutro-blanco-30: #FFFFFF4D;
+
+}
\ No newline at end of file
diff --git a/app/components/hack4her/challenges.tsx b/app/components/hack4her/challenges.tsx
index b96e8cf..068daac 100644
--- a/app/components/hack4her/challenges.tsx
+++ b/app/components/hack4her/challenges.tsx
@@ -7,10 +7,10 @@ interface Challenge {
}
const challengesData: Challenge[] = [
- { title: 'DIME AI aplicado a la Operación', imageUrl: '/images/reto1.jpeg' },
- { title: 'Reinventando el acceso, simple, seguro y amigable.', imageUrl: '/images/reto2.jpeg' },
- { title: 'Predicción de fallas de Smart Coolers', imageUrl: '/images/reto3.jpeg' },
- { title: 'Live Loyalty Hack - Reembolso de Puntos en Tiempo Real', imageUrl: '/images/reto4.jpeg' }
+ { title: 'DIME AI aplicado a la Operación', imageUrl: '/images/hack4her/reto1.jpeg' },
+ { title: 'Reinventando el acceso, simple, seguro y amigable.', imageUrl: '/images/hack4her/reto2.jpeg' },
+ { title: 'Predicción de fallas de Smart Coolers', imageUrl: '/images/hack4her/reto3.jpeg' },
+ { title: 'Live Loyalty Hack - Reembolso de Puntos en Tiempo Real', imageUrl: '/images/hack4her/reto4.jpeg' }
]
const ChallengesSection: React.FC = () => (
diff --git a/app/components/header2sub.tsx b/app/components/header2sub.tsx
index 1f2e806..07839dc 100644
--- a/app/components/header2sub.tsx
+++ b/app/components/header2sub.tsx
@@ -1,3 +1,4 @@
+//header2sub.tsx
'use client'
import clsx from 'clsx'
import React from 'react'
@@ -29,16 +30,14 @@ const Header2sub: React.FC = ({ titulo, subtitulo, texto }) => {
-
+
{titulo}
-
+
-
+
{subtitulo}
-
-
-
-
+
+
{texto}
diff --git a/app/components/proyectos_com/NextProjectCard.css b/app/components/proyectos_com/NextProjectCard.css
new file mode 100644
index 0000000..dbc8ab1
--- /dev/null
+++ b/app/components/proyectos_com/NextProjectCard.css
@@ -0,0 +1,166 @@
+
+.next-project-card {
+ display: flex;
+ flex-direction: column;
+ background-color: var(--neutro-blanco);
+ border-radius: 0;
+ overflow: hidden;
+ margin-bottom: 2rem;
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
+ transition: all 0.3s ease;
+ height: 450px;
+ width: 200;
+ border-radius: 2rem;
+}
+
+.next-project-card:hover {
+ box-shadow: 0 8px 24px rgba(100, 17, 173, 0.15);
+ transform: translateY(-4px);
+}
+
+
+.next-project-image-container {
+ position: relative;
+ width: 100%;
+ height: 200px;
+ flex-shrink: 0;
+ overflow: hidden;
+}
+
+.next-project-image {
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+ transition: transform 0.5s ease;
+}
+
+.next-project-card:hover .next-project-image {
+ transform: scale(1.05);
+}
+
+.date-overlay {
+ position: absolute;
+ top: 10px;
+ left: 20px;
+ background-color: var(--principal-morado);
+ color: var(--neutro-blanco);
+ padding: 1rem 1.5rem;
+ border-radius: 0;
+ text-align: center;
+ min-width: 80px;
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
+ z-index: 10;
+}
+
+.date-content {
+ display: flex;
+ flex-direction: column;
+ gap: 0.1rem;
+}
+
+.date-day {
+ font-size: 2rem;
+ font-weight: 700;
+ line-height: 1;
+}
+
+.date-month {
+ font-size: 1rem;
+ font-weight: 500;
+ text-transform: uppercase;
+ letter-spacing: 1px;
+ opacity: 0.9;
+}
+
+.next-project-content {
+ padding: 1.5rem;
+ display: flex;
+ flex-direction: column;
+ gap: 0.75rem;
+ flex: 1;
+}
+
+.project-title {
+ font-size: 1.2rem;
+ font-weight: 700;
+ color: var(--principal-morado);
+ margin: 0;
+ line-height: 1.3;
+}
+
+.separator {
+ width: 60px;
+ height: 3px;
+ background: linear-gradient(90deg, var(--principal-morado), var(--principal-morado-claro));
+ border-radius: 2px;
+}
+
+
+.project-link-container {
+ margin-top: auto;
+ padding-top: 0.5rem;
+}
+
+
+.project-link {
+ display: inline-flex;
+ align-items: center;
+ gap: 0.5rem;
+ color: var(--principal-morado);
+ font-weight: 600;
+ font-size: 1rem;
+ text-decoration: none;
+ padding: 0.75rem 1.5rem;
+ border: 2px solid var(--principal-morado);
+ border-radius: 50px;
+ transition: all 0.3s ease;
+ background-color: transparent;
+ cursor: pointer;
+}
+
+.project-link:hover {
+ background: var(--principal-morado);
+ color: var(--neutro-blanco);
+ transform: translateY(-2px);
+ box-shadow: 0 4px 12px rgba(100, 17, 173, 0.3);
+}
+
+
+
+
+
+@media (min-width: 768px) {
+ .next-project-card {
+ min-height: 450px;
+ }
+
+ .next-project-image-container {
+ height: 250px;
+ }
+
+ .next-project-content {
+ padding: 2rem;
+ }
+
+ .project-title {
+ font-size: 1.75rem;
+ }
+
+ .project-description {
+ font-size: 1.125rem;
+ }
+
+ .date-overlay {
+ top: 25px;
+ left: 25px;
+ padding: 1.25rem 1.75rem;
+ }
+
+ .date-day {
+ font-size: 2.5rem;
+ }
+
+ .date-month {
+ font-size: 1.125rem;
+ }
+}
\ No newline at end of file
diff --git a/app/components/proyectos_com/NextProjectCard.tsx b/app/components/proyectos_com/NextProjectCard.tsx
new file mode 100644
index 0000000..7b39ea5
--- /dev/null
+++ b/app/components/proyectos_com/NextProjectCard.tsx
@@ -0,0 +1,78 @@
+"use client";
+import React from "react";
+import Image from "next/image";
+import "./NextProjectCard.css";
+import Link from "next/link";
+
+interface NextProject {
+ day: string;
+ month: string;
+ title: string;
+ image: string;
+ link?: string;
+
+}
+
+interface NextProjectCardProps {
+ project: NextProject;
+}
+
+const NextProject: React.FC
= ({ project }) => {
+
+ const isExternalLink = project.link?.startsWith('http');
+ const defaultLinkText = "Saber más";
+
+ return (
+
+
+
+
+
+
+ {project.day}
+ {project.month}
+
+
+
+
+
+
+
{project.title}
+ {project.link && (
+
+ )}
+
+
+
+ );
+};
+
+export default NextProject;
\ No newline at end of file
diff --git a/app/components/proyectos_com/ProjectCard.css b/app/components/proyectos_com/ProjectCard.css
new file mode 100644
index 0000000..34a3d3e
--- /dev/null
+++ b/app/components/proyectos_com/ProjectCard.css
@@ -0,0 +1,216 @@
+.project-card-wrapper {
+ margin-bottom: clamp(2rem, 4vw, 5rem);
+ border-radius: clamp(1rem, 2vw, 2rem);
+ overflow: hidden;
+ background: var(--principal-morado-claro-15);
+ box-shadow: 0 8px 32px rgba(50, 17, 173, 0.17);
+ border: 3px solid var(--principal-morado-10);
+ max-width: 100%;
+}
+
+.project-card-wrapper:hover {
+ margin-bottom: clamp(2rem, 4vw, 5rem);
+ border-radius: clamp(1rem, 2vw, 2rem);
+ overflow: hidden;
+ background: var(--principal-morado-claro-20);
+ box-shadow: 0 8px 32px rgba(100, 17, 180, 0.30);
+ border: 3px solid var(--principal-morado);
+ max-width: 100%;
+ scale: 1.01;
+}
+
+.project-card {
+ display: flex;
+ align-items: stretch;
+ flex-direction: column;
+ min-height: 0;
+ width: 100%;
+}
+
+.slider-container {
+ height: clamp(200px, 35vh, 300px);
+ position: relative;
+ flex-shrink: 0;
+ overflow: hidden;
+}
+
+.slider-container,
+.slick-slider,
+.slick-list,
+.slick-track,
+.slick-slide,
+.slick-slide > div {
+ height: 100%;
+}
+
+.slider-image {
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+ display: block;
+}
+
+.slider-image:hover {
+ scale: 1.01;
+}
+
+.slide-item {
+ width: 100%;
+ height: 100%;
+}
+
+.text-container {
+ width: 100%;
+ text-align: center;
+ padding: clamp(1.25rem, 2.5vw, 2rem);
+ display: flex;
+ flex-direction: column;
+ box-sizing: border-box;
+ flex: 1;
+ min-height: 0;
+}
+
+.project-title {
+ font-size: clamp(1.1rem, 3.5vw, 1.8rem);
+ font-weight: 500;
+ margin-bottom: 0.75rem;
+ line-height: 1.3;
+ background: linear-gradient(50deg, var(--principal-morado), var(--secundario-rosa));
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
+ background-clip: text;
+ word-wrap: break-word;
+ overflow-wrap: break-word;
+}
+
+.project-description {
+ color: var(--neutro-gris);
+ opacity: 0.85;
+ font-size: clamp(0.8rem, 2vw, 0.95rem);
+ line-height: 1.5;
+ margin: 0 0 1.25rem 0;
+ word-wrap: break-word;
+ overflow-wrap: break-word;
+ flex: 1;
+}
+
+.project-title::after {
+ content: '';
+ display: block;
+ width: 80px;
+ height: 3px;
+ background: linear-gradient(90deg, var(--principal-morado), var(--secundario-rosa));
+ margin: 0.75rem auto;
+ border-radius: 2px;
+ opacity: 0.8;
+}
+
+.stats-grid {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
+ gap: 0.75rem;
+ width: 100%;
+}
+
+.stat-box {
+ background: linear-gradient(150deg, var(--principal-morado), var(--secundario-rosa));
+ color: var(--neutro-blanco);
+ border-radius: 10px;
+ padding: 0.75rem 0.5rem;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ text-align: center;
+ min-height: 70px;
+ box-shadow: 0 4px 12px rgba(100, 17, 173, 0.08);
+ box-sizing: border-box;
+}
+
+.stat-box:hover {
+ transform: translateY(-4px);
+ box-shadow: 0 8px 20px rgba(100, 17, 173, 0.20);
+}
+
+.number-stat .stat-value {
+ font-size: clamp(1.1rem, 3vw, 1.6rem);
+ font-weight: 700;
+ color: var(--neutro-blanco);
+ line-height: 1;
+ margin-bottom: 0.25rem;
+}
+
+.number-stat .stat-label {
+ font-size: clamp(0.75rem, 1.8vw, 0.9rem);
+ color: var(--neutro-blanco);
+ line-height: 1.2;
+ font-weight: 500;
+ overflow-wrap: break-word;
+ word-wrap: break-word;
+ text-align: center;
+}
+
+/*responsividad*/
+
+@media (min-width: 768px) {
+ .project-card {
+ display: grid;
+ grid-template-columns: 45% 55%;
+ align-items: stretch;
+ }
+
+ .slider-container {
+ width: 100%;
+ height: 100%;
+ }
+
+ .slider-image {
+ height: 100%;
+ }
+
+ .text-container {
+ text-align: left;
+ padding: 2rem;
+ max-width: 800px;
+ justify-self: start;
+ }
+
+ .project-title::after {
+ margin: 0.75rem 0;
+ width: 100px;
+ }
+
+ .project-description {
+ margin-bottom: 1.5rem;
+ }
+}
+
+@media (max-width: 480px) {
+ .slider-container {
+ height: 180px;
+ }
+
+ .text-container {
+ padding: 1.25rem;
+ }
+
+ .stats-grid {
+ grid-template-columns: 1fr;
+ gap: 0.5rem;
+ }
+
+ .stat-box {
+ min-height: 65px;
+ padding: 0.5rem;
+ }
+}
+
+@media (min-width: 481px) and (max-width: 767px) {
+ .slider-container {
+ height: 220px;
+ }
+
+ .stats-grid {
+ grid-template-columns: repeat(1, 1fr);
+ }
+}
diff --git a/app/components/proyectos_com/ProjectCard.tsx b/app/components/proyectos_com/ProjectCard.tsx
new file mode 100644
index 0000000..bc054dc
--- /dev/null
+++ b/app/components/proyectos_com/ProjectCard.tsx
@@ -0,0 +1,87 @@
+"use client";
+import React from "react";
+import Slider, { Settings } from "react-slick";
+import { useState } from "react";
+import "slick-carousel/slick/slick.css";
+import "slick-carousel/slick/slick-theme.css";
+import "./ProjectCard.css";
+
+interface StatItem {
+ value: string;
+ label: string;
+ isNumber?: boolean;
+}
+
+interface Project {
+ title: string;
+ description: string;
+ images: string[];
+ stats?: StatItem[];
+}
+
+interface ProjectCardProps {
+ project: Project;
+}
+
+
+const ProjectCard: React.FC = ({ project }) => {
+ const settings: Settings = {
+ dots: false,
+ infinite: true,
+ speed: 500,
+ slidesToShow: 1,
+ slidesToScroll: 1,
+ arrows: false,
+ autoplay: true,
+ autoplaySpeed: 4000,
+ };
+
+ const shouldShowStats = project.stats;
+
+ return (
+
+
+
+
+ {/* Slider a la izquierda */}
+
+
+ {project.images.map((img, i) => (
+
+
+
+ ))}
+
+
+
+ {/* Texto a la derecha */}
+
+
{project.title}
+
{project.description}
+
+ {project.stats && project.stats.length > 0 && (
+
+ {project.stats.map((stat, index) => (
+
+
{stat.value}
+
{stat.label}
+
+ ))}
+
+ )}
+
+
+
+
+
+
+
+
+ );
+};
+
+export default ProjectCard;
\ No newline at end of file
diff --git a/app/components/serviciosocial/Banner.tsx b/app/components/serviciosocial/Banner.tsx
new file mode 100644
index 0000000..3bf042a
--- /dev/null
+++ b/app/components/serviciosocial/Banner.tsx
@@ -0,0 +1,170 @@
+'use client'
+import React, { useEffect, useRef } from 'react';
+
+interface BannerData {
+ title: string;
+ highlightTitle: string;
+ description: string;
+ image: string;
+}
+
+interface BannerProps {
+ bannerComp: BannerData;
+}
+
+const Banner: React.FC = ({bannerComp}) => {
+ const particlesRef = useRef(null);
+
+ useEffect(() => {
+
+ if (particlesRef.current) {
+ const particleCount = 30;
+ for (let i = 0; i < particleCount; i++) {
+ const particle = document.createElement('div');
+ particle.className = 'absolute w-1 h-1 bg-white/30 rounded-full';
+ particle.style.left = Math.random() * 100 + '%';
+ particle.style.animationDelay = Math.random() * 15 + 's';
+ particle.style.animationDuration = (Math.random() * 10 + 10) + 's';
+ particle.style.animation = 'floatParticle 15s infinite ease-in-out';
+ particlesRef.current.appendChild(particle);
+ }
+ }
+ }, []);
+
+ const scrollToAbout = () => {
+ const aboutSection = document.getElementById('about-section');
+ aboutSection?.scrollIntoView({ behavior: 'smooth' });
+ };
+
+ return (
+
+ {/* Img de fondo */}
+
+
+ {/* Overlay oscuro*/}
+
+
+ {/* Otro overlay */}
+
+
+ {/* Gradiente radial anim */}
+
+
+ {/* Figs decorativas */}
+
+
+
+ {/* Particulas */}
+
+
+ {/* Contenido */}
+
+
+ {bannerComp.title} {bannerComp.highlightTitle}
+
+
+ {bannerComp.description}
+
+
+
+ {/* Indicador de scroll */}
+
+
+
+
+ );
+};
+
+export default Banner;
diff --git a/app/components/serviciosocial/BenefitsList.tsx b/app/components/serviciosocial/BenefitsList.tsx
new file mode 100644
index 0000000..807e484
--- /dev/null
+++ b/app/components/serviciosocial/BenefitsList.tsx
@@ -0,0 +1,63 @@
+'use client'
+import React from 'react';
+
+const BenefitsList = () => {
+ const benefits = [
+ {
+ title: "Horas oficiales de servicio social",
+ description: "Cumple con tu servicio mientras generas impacto real"
+ },
+ {
+ title: "Desarrollo de habilidades",
+ description: "Liderazgo, comunicación, enseñanza y trabajo en equipo"
+ },
+ {
+ title: "Impacto en la comunidad",
+ description: "Contribuye a cerrar la brecha de género en tech"
+ },
+ {
+ title: "Networking",
+ description: "Conecta con mujeres apasionadas por la tecnología"
+ },
+ {
+ title: "Refuerza tus conocimientos",
+ description: "Repasa y profundiza temas técnicos al enseñarlos"
+ }
+ ];
+
+ return (
+
+ {benefits.map((benefit, index) => (
+
+ {/* Animated border effect */}
+
+
+ {/* Background accent */}
+
+
+ {/* Check Icon */}
+
+
+ {/* Content */}
+
+
+ {benefit.title}
+
+
+ {benefit.description}
+
+
+
+ ))}
+
+ );
+};
+
+export default BenefitsList;
\ No newline at end of file
diff --git a/app/components/serviciosocial/CTASection.tsx b/app/components/serviciosocial/CTASection.tsx
new file mode 100644
index 0000000..9dc16af
--- /dev/null
+++ b/app/components/serviciosocial/CTASection.tsx
@@ -0,0 +1,81 @@
+'use client'
+import React from 'react';
+
+const CTASection = () => {
+ return (
+
+ {/* Animated Background blobs */}
+
+
+
+ {/* Decorative grid pattern */}
+
+
+
+
+ ¡Únete a la comunidad WitCode !
+
+
+ Ayúdanos a disminuir la brecha de género. Apoya e impulsa a las futuras mujeres de México en tech.
+
+
+
+
+
+ ¿Tienes dudas? Escríbenos a @witcode.mty
+
+
+
+
+
+ );
+};
+
+export default CTASection;
\ No newline at end of file
diff --git a/app/components/serviciosocial/CarouselServicioSocial.tsx b/app/components/serviciosocial/CarouselServicioSocial.tsx
new file mode 100644
index 0000000..cac4f96
--- /dev/null
+++ b/app/components/serviciosocial/CarouselServicioSocial.tsx
@@ -0,0 +1,185 @@
+'use client'
+import React, { useState, useEffect, useRef } from 'react';
+
+const CarouselServicioSocial = () => {
+ const slides = [
+ {
+ url: 'images/serviciosocial/servicio_social_carousel1.JPG'
+ },
+ {
+ url: 'images/serviciosocial/servicio_social_carousel2.JPG'
+ },
+ {
+ url: 'images/serviciosocial/servicio_social_carousel3.JPG'
+ },
+ {
+ url: 'images/serviciosocial/servicio_social_carousel4.JPG'
+ },
+ ];
+
+ const [currentSlide, setCurrentSlide] = useState(0);
+ const [isAutoPlay, setIsAutoPlay] = useState(true);
+ const [direction, setDirection] = useState<'left' | 'right'>('right');
+ const autoPlayRef = useRef(null);
+
+ const nextSlide = () => {
+ setDirection('right');
+ setCurrentSlide((prev) => (prev + 1) % slides.length);
+ };
+
+ const prevSlide = () => {
+ setDirection('left');
+ setCurrentSlide((prev) => (prev - 1 + slides.length) % slides.length);
+ };
+
+ const goToSlide = (index: number) => {
+ setDirection(index > currentSlide ? 'right' : 'left');
+ setCurrentSlide(index);
+ };
+
+ useEffect(() => {
+ if (isAutoPlay) {
+ autoPlayRef.current = setInterval(() => {
+ nextSlide();
+ }, 5000);
+ }
+
+ return () => {
+ if (autoPlayRef.current) {
+ clearInterval(autoPlayRef.current);
+ }
+ };
+ }, [currentSlide, isAutoPlay]);
+
+ // Keyboard navigation
+ useEffect(() => {
+ const handleKeyDown = (e: KeyboardEvent) => {
+ if (e.key === 'ArrowLeft') {
+ handlePrev();
+ } else if (e.key === 'ArrowRight') {
+ handleNext();
+ }
+ };
+
+ window.addEventListener('keydown', handleKeyDown);
+ return () => window.removeEventListener('keydown', handleKeyDown);
+ }, []);
+
+ const handleMouseEnter = () => setIsAutoPlay(false);
+ const handleMouseLeave = () => setIsAutoPlay(true);
+
+ const handlePrev = () => {
+ prevSlide();
+ setIsAutoPlay(false);
+ setTimeout(() => setIsAutoPlay(true), 1000);
+ };
+
+ const handleNext = () => {
+ nextSlide();
+ setIsAutoPlay(false);
+ setTimeout(() => setIsAutoPlay(true), 1000);
+ };
+
+ return (
+
+ {/* Main Carousel Container with Gradient Border */}
+
+
+ {/* Slides Container */}
+
+ {slides.map((slide, index) => {
+ const isActive = index === currentSlide;
+ const isPrev = index === (currentSlide - 1 + slides.length) % slides.length;
+ const isNext = index === (currentSlide + 1) % slides.length;
+
+ return (
+
+
+
+ {/* Subtle Purple Tint Overlay */}
+
+
+ );
+ })}
+
+
+ {/* Navigation Buttons - Enhanced */}
+
+
+
+
+
+
+
+
+
+
+
+
+ {/* Slide Counter */}
+
+ {currentSlide + 1} / {slides.length}
+
+
+
+
+ {/* Enhanced Progress Bar Navigation */}
+
+ {slides.map((_, index) => (
+
{
+ goToSlide(index);
+ setIsAutoPlay(false);
+ setTimeout(() => setIsAutoPlay(true), 1000);
+ }}
+ className={`relative transition-all duration-400 rounded-full overflow-hidden ${
+ index === currentSlide ? 'w-12 h-3' : 'w-3 h-3 hover:w-4'
+ }`}
+ aria-label={`Go to slide ${index + 1}`}
+ >
+
+ {index === currentSlide && (
+
+ )}
+
+ ))}
+
+
+ );
+};
+
+export default CarouselServicioSocial;
\ No newline at end of file
diff --git a/app/components/serviciosocial/ObjectiveMission.tsx b/app/components/serviciosocial/ObjectiveMission.tsx
new file mode 100644
index 0000000..c7b754d
--- /dev/null
+++ b/app/components/serviciosocial/ObjectiveMission.tsx
@@ -0,0 +1,68 @@
+'use client'
+import React from 'react';
+
+const ObjectiveMission = () => {
+ return (
+
+ {/* Objetivo Card */}
+
+ {/* Background gradient effect */}
+
+
+ {/* Decorative corner */}
+
+
+ {/* Icon Container */}
+
+
+ {/* Title */}
+
+ Objetivo
+
+
+ {/* Description */}
+
+ Atender la brecha de género en la tecnología brindando herramientas educativas que nivelen
+ las oportunidades de manera igualitaria en este ámbito.
+
+
+
+ {/* Misión Card */}
+
+ {/* Background gradient effect */}
+
+
+ {/* Decorative corner */}
+
+
+ {/* Icon Container */}
+
+
+ {/* Title */}
+
+ Misión
+
+
+ {/* Description */}
+
+ Promover e inspirar el uso de la tecnología mediante talleres prácticos y dinámicos
+ dirigidos a alumnas de 1° a 3° de secundaria de la escuela Ciudad de los Niños.
+
+
+
+ );
+};
+
+export default ObjectiveMission;
\ No newline at end of file
diff --git a/app/components/serviciosocial/RolesGrid.tsx b/app/components/serviciosocial/RolesGrid.tsx
new file mode 100644
index 0000000..1e4ea90
--- /dev/null
+++ b/app/components/serviciosocial/RolesGrid.tsx
@@ -0,0 +1,69 @@
+'use client'
+import React from 'react';
+
+const RolesGrid = () => {
+ const roles = [
+ {
+ icon: (
+
+ {/* Grupo de personas/equipo para Coordinadores */}
+
+
+
+
+
+ ),
+ title: "Coordinadores",
+ description: "Organizan las sesiones, gestionan equipos y aseguran el correcto funcionamiento del programa."
+ },
+ {
+ icon: (
+
+ {/* Persona presentando/enseñando para Instructores */}
+
+
+
+
+
+ ),
+ title: "Instructores",
+ description: "Preparan y presentan el módulo asignado, guían a las alumnas durante los retos prácticos."
+ }
+ ];
+
+ return (
+
+ {roles.map((role, index) => (
+
+ {/* Background gradient effect */}
+
+
+ {/* Decorative corner */}
+
+
+ {/* Icon Container */}
+
+
+ {/* Title */}
+
+ {role.title}
+
+
+ {/* Description */}
+
+ {role.description}
+
+
+ ))}
+
+ );
+};
+
+export default RolesGrid;
\ No newline at end of file
diff --git a/app/components/serviciosocial/StatsSection.tsx b/app/components/serviciosocial/StatsSection.tsx
new file mode 100644
index 0000000..59bb5fa
--- /dev/null
+++ b/app/components/serviciosocial/StatsSection.tsx
@@ -0,0 +1,118 @@
+'use client'
+import React, { useState, useEffect, useRef } from 'react';
+
+const StatsSection = () => {
+ const [isVisible, setIsVisible] = useState(false);
+ const [counts, setCounts] = useState({ alumnas: 0, tutores: 0, permanencia: 0 });
+ const sectionRef = useRef(null);
+
+ const stats = [
+ { key: 'alumnas', target: 94, label: 'Alumnas participantes', suffix: '' },
+ { key: 'tutores', target: 76, label: 'Tutores en servicio social', suffix: '' },
+ { key: 'permanencia', target: 90, label: 'Tasa de permanencia', suffix: '%' }
+ ];
+
+ useEffect(() => {
+ const observer = new IntersectionObserver(
+ ([entry]) => {
+ if (entry.isIntersecting && !isVisible) {
+ setIsVisible(true);
+ }
+ },
+ { threshold: 0.3 }
+ );
+
+ if (sectionRef.current) {
+ observer.observe(sectionRef.current);
+ }
+
+ return () => observer.disconnect();
+ }, [isVisible]);
+
+ useEffect(() => {
+ if (!isVisible) return;
+
+ const duration = 2000; // 2 seconds
+ const steps = 60;
+ const interval = duration / steps;
+
+ const timers = stats.map((stat) => {
+ let currentCount = 0;
+ const increment = stat.target / steps;
+
+ return setInterval(() => {
+ currentCount += increment;
+ if (currentCount >= stat.target) {
+ setCounts((prev) => ({ ...prev, [stat.key]: stat.target }));
+ clearInterval(timers[stats.indexOf(stat)]);
+ } else {
+ setCounts((prev) => ({ ...prev, [stat.key]: Math.floor(currentCount) }));
+ }
+ }, interval);
+ });
+
+ return () => timers.forEach(clearInterval);
+ }, [isVisible]);
+
+ return (
+
+ {/* Background decorative elements */}
+
+
+
+
+
+ Nuestro Impacto
+
+
+ En cifras totales del 2024
+
+
+
+ {stats.map((stat, index) => (
+
+ {/* Shimmer effect */}
+
+
+ {/* Decorative corner */}
+
+
+
+
+ {counts[stat.key as keyof typeof counts]}{stat.suffix}
+
+
+ {stat.label}
+
+
+
+ ))}
+
+
+
+
+
+ );
+};
+
+export default StatsSection;
\ No newline at end of file
diff --git a/app/components/serviciosocial/Timeline.tsx b/app/components/serviciosocial/Timeline.tsx
new file mode 100644
index 0000000..8a8f527
--- /dev/null
+++ b/app/components/serviciosocial/Timeline.tsx
@@ -0,0 +1,115 @@
+'use client'
+import React from 'react';
+
+const Timeline = () => {
+ const timelineItems = [
+ {
+ icon: (
+
+
+
+
+
+
+
+ ),
+ title: "Sesiones Semanales",
+ items: [
+ "Sábados a las 10:00 AM",
+ "Duración aproximada: 2.5 horas",
+ "Formato híbrido: tutores presenciales, alumnas pueden estar en línea"
+ ]
+ },
+ {
+ icon: (
+
+
+
+
+ ),
+ title: "Estructura de Sesión",
+ items: [
+ "10:00 AM - Inicio conjunto y presentación del módulo",
+ "12:00 PM - Equipos pequeños para retos prácticos",
+ "12:30 PM - Presentación de proyectos por equipos",
+ "Sistema de gamificación: equipos acumulan puntos"
+ ]
+ },
+ {
+ icon: (
+
+
+
+
+
+
+ ),
+ title: "Dos Niveles",
+ content: (
+ <>
+
+ Principiantes: Para alumnas nuevas. Algoritmos y diagramas de flujo, Scratch, Java y Python básico.
+
+
+ Avanzadas: Para alumnas con experiencia. Programación Orientada a Objetos en Python, Ciencia de Datos, HTML y CSS, Javascript, Introducción a APIs.
+
+ >
+ )
+ }
+ ];
+
+ return (
+
+ {timelineItems.map((item, index) => (
+
+ {/* Vertical Line */}
+ {index !== timelineItems.length - 1 && (
+
+ )}
+
+ {/* Icon Circle */}
+
+
+ {/* Content Card */}
+
+
+ {item.title}
+
+ {item.items ? (
+
+ {item.items.map((listItem, idx) => (
+
+ ▸
+ {listItem}
+
+ ))}
+
+ ) : (
+
+ {item.content}
+
+ )}
+
+
+ ))}
+
+
+
+ );
+};
+
+export default Timeline;
\ No newline at end of file
diff --git a/app/components/showcase.tsx b/app/components/showcase.tsx
new file mode 100644
index 0000000..ce76c17
--- /dev/null
+++ b/app/components/showcase.tsx
@@ -0,0 +1,88 @@
+import React, { useState } from "react";
+import Slider, { Settings } from "react-slick";
+import "slick-carousel/slick/slick.css";
+import "slick-carousel/slick/slick-theme.css";
+
+interface Project {
+ title: string;
+ description: string;
+ images: string[];
+}
+
+const projects: Project[] = [
+ {
+ title: "Conferencias motivacionales",
+ description:
+ "El grupo invita al alumnado a una serie de conferencias y talleres de diferentes temas motivacionales y sobre experiencias de mujeres dentro y fuera del área de ingeniería.",
+ images: ["/images/proyectos/proy6.jpg", "/images/proyectos/proy6_2.jpg"],
+ },
+ {
+ title: "Journey to Internship",
+ description:
+ "Serie de conferencias y talleres impartidos por empresas reconocidas para preparar a estudiantes para internships.",
+ images: ["/images/proyectos/JTI24_5.JPG", "/images/proyectos/JTI24_2.JPG"],
+ },
+ {
+ title: "Desayuno del día de la mujer",
+ description:
+ "Desayuno conmemorativo donde alumnas, docentes y profesionales dialogan sobre experiencias y liderazgo femenino.",
+ images: ["/images/proyectos/desayuno.JPG"],
+ },
+];
+
+// Componente para una sola tarjeta de proyecto
+const ProjectCard: React.FC<{ project: Project }> = ({ project }) => {
+ const [activeIndex, setActiveIndex] = useState(0);
+
+ const settings: Settings = {
+ dots: true,
+ infinite: true,
+ speed: 500,
+ slidesToShow: 1,
+ slidesToScroll: 1,
+ arrows: true,
+ autoplay: true,
+ autoplaySpeed: 4000,
+ beforeChange: (_current, next) => setActiveIndex(next),
+ };
+
+ return (
+
+ {/* Slider de imágenes */}
+
+
+ {project.images.map((img, i) => (
+
+
+
+ ))}
+
+
+
+ {/* Texto */}
+
+
+ {project.title}
+
+
{project.description}
+
+
+ );
+};
+
+// Componente que renderiza todas las tarjetas
+const ProjectShowcase: React.FC = () => {
+ return (
+
+ {projects.map((project, i) => (
+
+ ))}
+
+ );
+};
+
+export default ProjectShowcase;
diff --git a/app/components/twoColumns.tsx b/app/components/twoColumns.tsx
index 4239066..beaf4b5 100644
--- a/app/components/twoColumns.tsx
+++ b/app/components/twoColumns.tsx
@@ -1,3 +1,4 @@
+//twoColumns.tsx
import React from "react";
interface Column {
diff --git a/app/layout.tsx b/app/layout.tsx
index fa54786..5e3b806 100644
--- a/app/layout.tsx
+++ b/app/layout.tsx
@@ -1,6 +1,7 @@
import type { Metadata } from 'next'
import { Inter } from 'next/font/google'
import './globals.css'
+import '@/app/components/general/colors.css'
import Nav from './components/Nav/Nav'
const inter = Inter({ subsets: ['latin'] })
@@ -16,8 +17,8 @@ export default function RootLayout({
children: React.ReactNode
}) {
return (
-
-
+
+
{children}
@@ -26,4 +27,4 @@ export default function RootLayout({
)
-}
+}
\ No newline at end of file
diff --git a/app/page.tsx b/app/page.tsx
index 38e6f9e..9d20b5c 100644
--- a/app/page.tsx
+++ b/app/page.tsx
@@ -2,37 +2,213 @@ import Footer from "./components/general/Footer";
import Info from "./components/general/Info";
import Image from "next/image";
import Section from "./components/general/Section";
+import AnimatedPhotoGrid from "./components/AnimatedPhotoGrid";
+import SponsorsCarousel from "./components/SponsorsCarousel";
export default function Home() {
return (
-
-
-
-
-
-
+
+ {/* Hero Section con fotos animadas - EMPIEZA DESDE ARRIBA */}
+
+
+
+ {/* Overlay con z-index bajo para que el navbar quede encima */}
+
+
+
+ {/* Logo y texto */}
+
+
+
+
+
+
-
+
+ /* Estilos para botón con efecto ripple */
+ .btn-interactive-primary {
+ position: relative;
+ overflow: hidden;
+ background: linear-gradient(135deg, #6411AD 0%, #8B5CF6 100%);
+ color: white;
+ padding: 14px 40px;
+ border-radius: 50px;
+ font-weight: 600;
+ border: none;
+ cursor: pointer;
+ transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
+ box-shadow: 0 4px 15px rgba(100, 17, 173, 0.3);
+ }
-
+ .btn-interactive-primary::before {
+ content: '';
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ width: 0;
+ height: 0;
+ border-radius: 50%;
+ background: rgba(255, 255, 255, 0.3);
+ transform: translate(-50%, -50%);
+ transition: width 0.6s, height 0.6s;
+ }
-
+ .btn-interactive-primary:hover::before {
+ width: 300px;
+ height: 300px;
+ }
-
+ .btn-interactive-primary:hover {
+ transform: scale(1.08) translateY(-2px);
+ box-shadow: 0 8px 25px rgba(100, 17, 173, 0.5);
+ }
-
-
+ .btn-interactive-primary:active {
+ transform: scale(0.98) translateY(0);
+ }
+
+ .btn-interactive-primary span {
+ position: relative;
+ z-index: 1;
+ }
+
+ /* Estilos para botón con flecha deslizante */
+ .btn-interactive-secondary {
+ position: relative;
+ overflow: hidden;
+ background: #6411AD;
+ color: white;
+ padding: 12px 30px;
+ border-radius: 50px;
+ font-weight: 600;
+ border: 2px solid #6411AD;
+ cursor: pointer;
+ transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
+ }
+
+ .btn-interactive-secondary::after {
+ content: '→';
+ position: absolute;
+ right: 20px;
+ opacity: 0;
+ transition: all 0.3s ease;
+ }
+
+ .btn-interactive-secondary:hover {
+ background: transparent;
+ color: #6411AD;
+ transform: scale(1.05);
+ padding-right: 45px;
+ box-shadow: 0 5px 20px rgba(100, 17, 173, 0.3);
+ }
+
+ .btn-interactive-secondary:hover::after {
+ opacity: 1;
+ right: 15px;
+ }
+
+ .btn-interactive-secondary:active {
+ transform: scale(0.98);
+ }
+
+ .btn-interactive-secondary span {
+ position: relative;
+ z-index: 1;
+ }
+ `}} />
+
+ {/* Sección de Patrocinadores */}
+
+
+
+
+ {/* Imagen */}
+
+
+
+ {/* Texto */}
+
+
+ Sobre{" "}
+
+ Nosotras
+
+
+
+ Women in Technology es un grupo estudiantil del Tecnológico de Monterrey, Campus Monterrey.
+ Somos una comunidad de mujeres que busca reducir la brecha de género en el ámbito de la tecnología.
+
+
+
+ Conócenos
+
+
+
+
+
+
+
+
+
+
+ {/* Imagen */}
+
+
+
+ {/* Texto */}
+
+
+
+ Proyectos
+
+
+
+ El grupo estudiantil realiza diversas actividades y eventos durante el semestre:
+ conferencias, Journey to Internship, talleres, Día de la Mujer, entre otros.
+
+ ¡Conoce los proyectos!
+
+
+
+ Ir a proyectos
+
+
+
+
+
+
)
-}
+}
\ No newline at end of file
diff --git a/app/utils/hooks/useIntegrantes.tsx b/app/utils/hooks/useIntegrantes.tsx
index 95ba007..3539f0c 100644
--- a/app/utils/hooks/useIntegrantes.tsx
+++ b/app/utils/hooks/useIntegrantes.tsx
@@ -1,6 +1,69 @@
-
export const useIntegrantes = () => {
const integrantes = [
+ {
+ subtitulo: "AGOSTO 2025 - JUNIO 2026",
+ integrantes: [
+ {
+ nombre: "Nicole Arámbula",
+ puesto: "Presidenta",
+ image: "/images/integrantes/25-26/nicole.png",
+ row: 1,
+ position: "left",
+ },
+ {
+ nombre: "Mariel García",
+ puesto: "Vicepresidenta",
+ image: "/images/integrantes/25-26/mariel.png",
+ row: 1,
+ position: "right",
+ },
+
+ {
+ nombre: "Karen Estrada",
+ puesto: "Directora de Marketing",
+ image: "/images/integrantes/25-26/karen.png",
+ row: 2,
+ position: "left",
+ },
+ {
+ nombre: "Andrea de la Peña",
+ puesto: "Directora de Finanzas",
+ image: "/images/integrantes/25-26/andrea.png",
+ row: 2,
+ position: "center",
+ },
+ {
+ nombre: "Carolina Cruz",
+ puesto: "Directora de Proyectos",
+ image: "/images/integrantes/25-26/carolina.png",
+ row: 2,
+ position: "right",
+ },
+
+ {
+ nombre: "María Fernanda Cuevas",
+ puesto: "Directora de Responsabilidad Social",
+ image: "/images/integrantes/25-26/mafer.png",
+ row: 3,
+ position: "left",
+ },
+ {
+ nombre: "Azereth Gutiérrez",
+ puesto: "Directora de Vinculación",
+ image: "/images/integrantes/25-26/azereth.png",
+ row: 3,
+ position: "center",
+ },
+ {
+ nombre: "Fátima Castillo",
+ puesto: "Directora de Software",
+ image: "/images/integrantes/25-26/fatima.png",
+ row: 3,
+ position: "right",
+ },
+ ],
+ },
+
{
subtitulo: "AGOSTO 2024 - JUNIO 2025",
integrantes: [
@@ -41,10 +104,11 @@ export const useIntegrantes = () => {
puesto: "Directora de Finanzas",
image: "/images/integrantes/24-25/eunice.png",
row: 2,
- position: "right"
- }
- ]
+ position: "right",
+ },
+ ],
},
+
{
subtitulo: "AGOSTO 2023 - JUNIO 2024",
integrantes: [
@@ -92,8 +156,8 @@ export const useIntegrantes = () => {
{
nombre: "Darianna Téllez",
puesto: "Directora de Finanzas",
- image: "/images/integrantes/23-24/Dari.png",
fecha: "(febrero-junio 2024)",
+ image: "/images/integrantes/23-24/Dari.png",
row: 2,
position: "right",
linkedin: "https://www.linkedin.com/in/darianna-t%C3%A9llez-777849257/"
@@ -113,10 +177,11 @@ export const useIntegrantes = () => {
fecha: "(agosto-diciembre 2023)",
image: "/images/integrantes/23-24/Ari.png",
row: 3,
- position: "right"
- }
- ]
- }
- ]
+ position: "right",
+ },
+ ],
+ },
+ ];
+
return integrantes;
-}
\ No newline at end of file
+};
diff --git a/app/utils/hooks/useRoutes.tsx b/app/utils/hooks/useRoutes.tsx
index ad9e958..6115c7d 100644
--- a/app/utils/hooks/useRoutes.tsx
+++ b/app/utils/hooks/useRoutes.tsx
@@ -14,10 +14,6 @@ export const useRoutes = () => {
label: "SERVICIO SOCIAL",
href: "/serviciosocial"
},
- {
- label: "ALIADOS",
- href: "/aliados"
- },
{
label: "INTEGRANTES",
href: "/integrantes"
diff --git a/package-lock.json b/package-lock.json
index 989171c..757ca9b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -41,19 +41,29 @@
}
},
"node_modules/@emnapi/runtime": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.3.1.tgz",
- "integrity": "sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.5.0.tgz",
+ "integrity": "sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==",
"license": "MIT",
"optional": true,
"dependencies": {
"tslib": "^2.4.0"
}
},
+ "node_modules/@img/colour": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz",
+ "integrity": "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==",
+ "license": "MIT",
+ "optional": true,
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/@img/sharp-darwin-arm64": {
- "version": "0.33.5",
- "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz",
- "integrity": "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==",
+ "version": "0.34.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.4.tgz",
+ "integrity": "sha512-sitdlPzDVyvmINUdJle3TNHl+AG9QcwiAMsXmccqsCOMZNIdW2/7S26w0LyU8euiLVzFBL3dXPwVCq/ODnf2vA==",
"cpu": [
"arm64"
],
@@ -69,13 +79,13 @@
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
- "@img/sharp-libvips-darwin-arm64": "1.0.4"
+ "@img/sharp-libvips-darwin-arm64": "1.2.3"
}
},
"node_modules/@img/sharp-darwin-x64": {
- "version": "0.33.5",
- "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz",
- "integrity": "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==",
+ "version": "0.34.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.4.tgz",
+ "integrity": "sha512-rZheupWIoa3+SOdF/IcUe1ah4ZDpKBGWcsPX6MT0lYniH9micvIU7HQkYTfrx5Xi8u+YqwLtxC/3vl8TQN6rMg==",
"cpu": [
"x64"
],
@@ -91,13 +101,13 @@
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
- "@img/sharp-libvips-darwin-x64": "1.0.4"
+ "@img/sharp-libvips-darwin-x64": "1.2.3"
}
},
"node_modules/@img/sharp-libvips-darwin-arm64": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz",
- "integrity": "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.3.tgz",
+ "integrity": "sha512-QzWAKo7kpHxbuHqUC28DZ9pIKpSi2ts2OJnoIGI26+HMgq92ZZ4vk8iJd4XsxN+tYfNJxzH6W62X5eTcsBymHw==",
"cpu": [
"arm64"
],
@@ -111,9 +121,9 @@
}
},
"node_modules/@img/sharp-libvips-darwin-x64": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz",
- "integrity": "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.3.tgz",
+ "integrity": "sha512-Ju+g2xn1E2AKO6YBhxjj+ACcsPQRHT0bhpglxcEf+3uyPY+/gL8veniKoo96335ZaPo03bdDXMv0t+BBFAbmRA==",
"cpu": [
"x64"
],
@@ -127,9 +137,9 @@
}
},
"node_modules/@img/sharp-libvips-linux-arm": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz",
- "integrity": "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.3.tgz",
+ "integrity": "sha512-x1uE93lyP6wEwGvgAIV0gP6zmaL/a0tGzJs/BIDDG0zeBhMnuUPm7ptxGhUbcGs4okDJrk4nxgrmxpib9g6HpA==",
"cpu": [
"arm"
],
@@ -143,9 +153,9 @@
}
},
"node_modules/@img/sharp-libvips-linux-arm64": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz",
- "integrity": "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.3.tgz",
+ "integrity": "sha512-I4RxkXU90cpufazhGPyVujYwfIm9Nk1QDEmiIsaPwdnm013F7RIceaCc87kAH+oUB1ezqEvC6ga4m7MSlqsJvQ==",
"cpu": [
"arm64"
],
@@ -158,10 +168,26 @@
"url": "https://opencollective.com/libvips"
}
},
+ "node_modules/@img/sharp-libvips-linux-ppc64": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.3.tgz",
+ "integrity": "sha512-Y2T7IsQvJLMCBM+pmPbM3bKT/yYJvVtLJGfCs4Sp95SjvnFIjynbjzsa7dY1fRJX45FTSfDksbTp6AGWudiyCg==",
+ "cpu": [
+ "ppc64"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
"node_modules/@img/sharp-libvips-linux-s390x": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz",
- "integrity": "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.3.tgz",
+ "integrity": "sha512-RgWrs/gVU7f+K7P+KeHFaBAJlNkD1nIZuVXdQv6S+fNA6syCcoboNjsV2Pou7zNlVdNQoQUpQTk8SWDHUA3y/w==",
"cpu": [
"s390x"
],
@@ -175,9 +201,9 @@
}
},
"node_modules/@img/sharp-libvips-linux-x64": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz",
- "integrity": "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.3.tgz",
+ "integrity": "sha512-3JU7LmR85K6bBiRzSUc/Ff9JBVIFVvq6bomKE0e63UXGeRw2HPVEjoJke1Yx+iU4rL7/7kUjES4dZ/81Qjhyxg==",
"cpu": [
"x64"
],
@@ -191,9 +217,9 @@
}
},
"node_modules/@img/sharp-libvips-linuxmusl-arm64": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz",
- "integrity": "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.3.tgz",
+ "integrity": "sha512-F9q83RZ8yaCwENw1GieztSfj5msz7GGykG/BA+MOUefvER69K/ubgFHNeSyUu64amHIYKGDs4sRCMzXVj8sEyw==",
"cpu": [
"arm64"
],
@@ -207,9 +233,9 @@
}
},
"node_modules/@img/sharp-libvips-linuxmusl-x64": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz",
- "integrity": "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.3.tgz",
+ "integrity": "sha512-U5PUY5jbc45ANM6tSJpsgqmBF/VsL6LnxJmIf11kB7J5DctHgqm0SkuXzVWtIY90GnJxKnC/JT251TDnk1fu/g==",
"cpu": [
"x64"
],
@@ -223,9 +249,9 @@
}
},
"node_modules/@img/sharp-linux-arm": {
- "version": "0.33.5",
- "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz",
- "integrity": "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==",
+ "version": "0.34.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.4.tgz",
+ "integrity": "sha512-Xyam4mlqM0KkTHYVSuc6wXRmM7LGN0P12li03jAnZ3EJWZqj83+hi8Y9UxZUbxsgsK1qOEwg7O0Bc0LjqQVtxA==",
"cpu": [
"arm"
],
@@ -241,13 +267,13 @@
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
- "@img/sharp-libvips-linux-arm": "1.0.5"
+ "@img/sharp-libvips-linux-arm": "1.2.3"
}
},
"node_modules/@img/sharp-linux-arm64": {
- "version": "0.33.5",
- "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz",
- "integrity": "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==",
+ "version": "0.34.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.4.tgz",
+ "integrity": "sha512-YXU1F/mN/Wu786tl72CyJjP/Ngl8mGHN1hST4BGl+hiW5jhCnV2uRVTNOcaYPs73NeT/H8Upm3y9582JVuZHrQ==",
"cpu": [
"arm64"
],
@@ -263,13 +289,35 @@
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
- "@img/sharp-libvips-linux-arm64": "1.0.4"
+ "@img/sharp-libvips-linux-arm64": "1.2.3"
+ }
+ },
+ "node_modules/@img/sharp-linux-ppc64": {
+ "version": "0.34.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.4.tgz",
+ "integrity": "sha512-F4PDtF4Cy8L8hXA2p3TO6s4aDt93v+LKmpcYFLAVdkkD3hSxZzee0rh6/+94FpAynsuMpLX5h+LRsSG3rIciUQ==",
+ "cpu": [
+ "ppc64"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-ppc64": "1.2.3"
}
},
"node_modules/@img/sharp-linux-s390x": {
- "version": "0.33.5",
- "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz",
- "integrity": "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==",
+ "version": "0.34.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.4.tgz",
+ "integrity": "sha512-qVrZKE9Bsnzy+myf7lFKvng6bQzhNUAYcVORq2P7bDlvmF6u2sCmK2KyEQEBdYk+u3T01pVsPrkj943T1aJAsw==",
"cpu": [
"s390x"
],
@@ -285,13 +333,13 @@
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
- "@img/sharp-libvips-linux-s390x": "1.0.4"
+ "@img/sharp-libvips-linux-s390x": "1.2.3"
}
},
"node_modules/@img/sharp-linux-x64": {
- "version": "0.33.5",
- "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz",
- "integrity": "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==",
+ "version": "0.34.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.4.tgz",
+ "integrity": "sha512-ZfGtcp2xS51iG79c6Vhw9CWqQC8l2Ot8dygxoDoIQPTat/Ov3qAa8qpxSrtAEAJW+UjTXc4yxCjNfxm4h6Xm2A==",
"cpu": [
"x64"
],
@@ -307,13 +355,13 @@
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
- "@img/sharp-libvips-linux-x64": "1.0.4"
+ "@img/sharp-libvips-linux-x64": "1.2.3"
}
},
"node_modules/@img/sharp-linuxmusl-arm64": {
- "version": "0.33.5",
- "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz",
- "integrity": "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==",
+ "version": "0.34.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.4.tgz",
+ "integrity": "sha512-8hDVvW9eu4yHWnjaOOR8kHVrew1iIX+MUgwxSuH2XyYeNRtLUe4VNioSqbNkB7ZYQJj9rUTT4PyRscyk2PXFKA==",
"cpu": [
"arm64"
],
@@ -329,13 +377,13 @@
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
- "@img/sharp-libvips-linuxmusl-arm64": "1.0.4"
+ "@img/sharp-libvips-linuxmusl-arm64": "1.2.3"
}
},
"node_modules/@img/sharp-linuxmusl-x64": {
- "version": "0.33.5",
- "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz",
- "integrity": "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==",
+ "version": "0.34.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.4.tgz",
+ "integrity": "sha512-lU0aA5L8QTlfKjpDCEFOZsTYGn3AEiO6db8W5aQDxj0nQkVrZWmN3ZP9sYKWJdtq3PWPhUNlqehWyXpYDcI9Sg==",
"cpu": [
"x64"
],
@@ -351,20 +399,20 @@
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
- "@img/sharp-libvips-linuxmusl-x64": "1.0.4"
+ "@img/sharp-libvips-linuxmusl-x64": "1.2.3"
}
},
"node_modules/@img/sharp-wasm32": {
- "version": "0.33.5",
- "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz",
- "integrity": "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==",
+ "version": "0.34.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.4.tgz",
+ "integrity": "sha512-33QL6ZO/qpRyG7woB/HUALz28WnTMI2W1jgX3Nu2bypqLIKx/QKMILLJzJjI+SIbvXdG9fUnmrxR7vbi1sTBeA==",
"cpu": [
"wasm32"
],
"license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT",
"optional": true,
"dependencies": {
- "@emnapi/runtime": "^1.2.0"
+ "@emnapi/runtime": "^1.5.0"
},
"engines": {
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
@@ -373,10 +421,29 @@
"url": "https://opencollective.com/libvips"
}
},
+ "node_modules/@img/sharp-win32-arm64": {
+ "version": "0.34.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.4.tgz",
+ "integrity": "sha512-2Q250do/5WXTwxW3zjsEuMSv5sUU4Tq9VThWKlU2EYLm4MB7ZeMwF+SFJutldYODXF6jzc6YEOC+VfX0SZQPqA==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "Apache-2.0 AND LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
"node_modules/@img/sharp-win32-ia32": {
- "version": "0.33.5",
- "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz",
- "integrity": "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==",
+ "version": "0.34.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.4.tgz",
+ "integrity": "sha512-3ZeLue5V82dT92CNL6rsal6I2weKw1cYu+rGKm8fOCCtJTR2gYeUfY3FqUnIJsMUPIH68oS5jmZ0NiJ508YpEw==",
"cpu": [
"ia32"
],
@@ -393,9 +460,9 @@
}
},
"node_modules/@img/sharp-win32-x64": {
- "version": "0.33.5",
- "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz",
- "integrity": "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==",
+ "version": "0.34.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.4.tgz",
+ "integrity": "sha512-xIyj4wpYs8J18sVN3mSQjwrw7fKUqRw+Z5rnHNCy5fYTxigBz81u5mOMPmFumwjcn8+ld1ppptMBCLic1nz6ig==",
"cpu": [
"x64"
],
@@ -483,15 +550,15 @@
}
},
"node_modules/@next/env": {
- "version": "15.0.3",
- "resolved": "https://registry.npmjs.org/@next/env/-/env-15.0.3.tgz",
- "integrity": "sha512-t9Xy32pjNOvVn2AS+Utt6VmyrshbpfUMhIjFO60gI58deSo/KgLOp31XZ4O+kY/Is8WAGYwA5gR7kOb1eORDBA==",
+ "version": "15.5.9",
+ "resolved": "https://registry.npmjs.org/@next/env/-/env-15.5.9.tgz",
+ "integrity": "sha512-4GlTZ+EJM7WaW2HEZcyU317tIQDjkQIyENDLxYJfSWlfqguN+dHkZgyQTV/7ykvobU7yEH5gKvreNrH4B6QgIg==",
"license": "MIT"
},
"node_modules/@next/swc-darwin-arm64": {
- "version": "15.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.0.3.tgz",
- "integrity": "sha512-s3Q/NOorCsLYdCKvQlWU+a+GeAd3C8Rb3L1YnetsgwXzhc3UTWrtQpB/3eCjFOdGUj5QmXfRak12uocd1ZiiQw==",
+ "version": "15.5.7",
+ "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.5.7.tgz",
+ "integrity": "sha512-IZwtxCEpI91HVU/rAUOOobWSZv4P2DeTtNaCdHqLcTJU4wdNXgAySvKa/qJCgR5m6KI8UsKDXtO2B31jcaw1Yw==",
"cpu": [
"arm64"
],
@@ -505,9 +572,9 @@
}
},
"node_modules/@next/swc-darwin-x64": {
- "version": "15.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.0.3.tgz",
- "integrity": "sha512-Zxl/TwyXVZPCFSf0u2BNj5sE0F2uR6iSKxWpq4Wlk/Sv9Ob6YCKByQTkV2y6BCic+fkabp9190hyrDdPA/dNrw==",
+ "version": "15.5.7",
+ "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.5.7.tgz",
+ "integrity": "sha512-UP6CaDBcqaCBuiq/gfCEJw7sPEoX1aIjZHnBWN9v9qYHQdMKvCKcAVs4OX1vIjeE+tC5EIuwDTVIoXpUes29lg==",
"cpu": [
"x64"
],
@@ -521,9 +588,9 @@
}
},
"node_modules/@next/swc-linux-arm64-gnu": {
- "version": "15.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.0.3.tgz",
- "integrity": "sha512-T5+gg2EwpsY3OoaLxUIofmMb7ohAUlcNZW0fPQ6YAutaWJaxt1Z1h+8zdl4FRIOr5ABAAhXtBcpkZNwUcKI2fw==",
+ "version": "15.5.7",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.5.7.tgz",
+ "integrity": "sha512-NCslw3GrNIw7OgmRBxHtdWFQYhexoUCq+0oS2ccjyYLtcn1SzGzeM54jpTFonIMUjNbHmpKpziXnpxhSWLcmBA==",
"cpu": [
"arm64"
],
@@ -537,9 +604,9 @@
}
},
"node_modules/@next/swc-linux-arm64-musl": {
- "version": "15.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.0.3.tgz",
- "integrity": "sha512-WkAk6R60mwDjH4lG/JBpb2xHl2/0Vj0ZRu1TIzWuOYfQ9tt9NFsIinI1Epma77JVgy81F32X/AeD+B2cBu/YQA==",
+ "version": "15.5.7",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.5.7.tgz",
+ "integrity": "sha512-nfymt+SE5cvtTrG9u1wdoxBr9bVB7mtKTcj0ltRn6gkP/2Nu1zM5ei8rwP9qKQP0Y//umK+TtkKgNtfboBxRrw==",
"cpu": [
"arm64"
],
@@ -553,9 +620,9 @@
}
},
"node_modules/@next/swc-linux-x64-gnu": {
- "version": "15.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.0.3.tgz",
- "integrity": "sha512-gWL/Cta1aPVqIGgDb6nxkqy06DkwJ9gAnKORdHWX1QBbSZZB+biFYPFti8aKIQL7otCE1pjyPaXpFzGeG2OS2w==",
+ "version": "15.5.7",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.5.7.tgz",
+ "integrity": "sha512-hvXcZvCaaEbCZcVzcY7E1uXN9xWZfFvkNHwbe/n4OkRhFWrs1J1QV+4U1BN06tXLdaS4DazEGXwgqnu/VMcmqw==",
"cpu": [
"x64"
],
@@ -569,9 +636,9 @@
}
},
"node_modules/@next/swc-linux-x64-musl": {
- "version": "15.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.0.3.tgz",
- "integrity": "sha512-QQEMwFd8r7C0GxQS62Zcdy6GKx999I/rTO2ubdXEe+MlZk9ZiinsrjwoiBL5/57tfyjikgh6GOU2WRQVUej3UA==",
+ "version": "15.5.7",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.5.7.tgz",
+ "integrity": "sha512-4IUO539b8FmF0odY6/SqANJdgwn1xs1GkPO5doZugwZ3ETF6JUdckk7RGmsfSf7ws8Qb2YB5It33mvNL/0acqA==",
"cpu": [
"x64"
],
@@ -585,9 +652,9 @@
}
},
"node_modules/@next/swc-win32-arm64-msvc": {
- "version": "15.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.0.3.tgz",
- "integrity": "sha512-9TEp47AAd/ms9fPNgtgnT7F3M1Hf7koIYYWCMQ9neOwjbVWJsHZxrFbI3iEDJ8rf1TDGpmHbKxXf2IFpAvheIQ==",
+ "version": "15.5.7",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.5.7.tgz",
+ "integrity": "sha512-CpJVTkYI3ZajQkC5vajM7/ApKJUOlm6uP4BknM3XKvJ7VXAvCqSjSLmM0LKdYzn6nBJVSjdclx8nYJSa3xlTgQ==",
"cpu": [
"arm64"
],
@@ -601,9 +668,9 @@
}
},
"node_modules/@next/swc-win32-x64-msvc": {
- "version": "15.0.3",
- "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.0.3.tgz",
- "integrity": "sha512-VNAz+HN4OGgvZs6MOoVfnn41kBzT+M+tB+OK4cww6DNyWS6wKaDpaAm/qLeOUbnMh0oVx1+mg0uoYARF69dJyA==",
+ "version": "15.5.7",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.5.7.tgz",
+ "integrity": "sha512-gMzgBX164I6DN+9/PGA+9dQiwmTkE4TloBNx8Kv9UiGARsr9Nba7IpcBRA1iTV9vwlYnrE3Uy6I7Aj6qLjQuqw==",
"cpu": [
"x64"
],
@@ -665,19 +732,13 @@
"node": ">=14"
}
},
- "node_modules/@swc/counter": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz",
- "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==",
- "license": "Apache-2.0"
- },
"node_modules/@swc/helpers": {
- "version": "0.5.13",
- "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.13.tgz",
- "integrity": "sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==",
+ "version": "0.5.15",
+ "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz",
+ "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==",
"license": "Apache-2.0",
"dependencies": {
- "tslib": "^2.4.0"
+ "tslib": "^2.8.0"
}
},
"node_modules/@types/node": {
@@ -841,9 +902,9 @@
}
},
"node_modules/brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+ "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -883,6 +944,7 @@
}
],
"license": "MIT",
+ "peer": true,
"dependencies": {
"caniuse-lite": "^1.0.30001669",
"electron-to-chromium": "^1.5.41",
@@ -896,17 +958,6 @@
"node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
}
},
- "node_modules/busboy": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
- "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==",
- "dependencies": {
- "streamsearch": "^1.1.0"
- },
- "engines": {
- "node": ">=10.16.0"
- }
- },
"node_modules/camelcase-css": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
@@ -996,25 +1047,11 @@
"node": ">=6"
}
},
- "node_modules/color": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz",
- "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==",
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "color-convert": "^2.0.1",
- "color-string": "^1.9.0"
- },
- "engines": {
- "node": ">=12.5.0"
- }
- },
"node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "devOptional": true,
+ "dev": true,
"license": "MIT",
"dependencies": {
"color-name": "~1.1.4"
@@ -1027,20 +1064,9 @@
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "devOptional": true,
+ "dev": true,
"license": "MIT"
},
- "node_modules/color-string": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz",
- "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==",
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "color-name": "^1.0.0",
- "simple-swizzle": "^0.2.2"
- }
- },
"node_modules/commander": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
@@ -1087,9 +1113,9 @@
"license": "MIT"
},
"node_modules/detect-libc": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz",
- "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
+ "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
"license": "Apache-2.0",
"optional": true,
"engines": {
@@ -1257,9 +1283,9 @@
}
},
"node_modules/glob": {
- "version": "10.4.5",
- "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
- "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
+ "version": "10.5.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz",
+ "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -1303,13 +1329,6 @@
"node": ">= 0.4"
}
},
- "node_modules/is-arrayish": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
- "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
- "license": "MIT",
- "optional": true
- },
"node_modules/is-binary-path": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
@@ -1563,15 +1582,13 @@
}
},
"node_modules/next": {
- "version": "15.0.3",
- "resolved": "https://registry.npmjs.org/next/-/next-15.0.3.tgz",
- "integrity": "sha512-ontCbCRKJUIoivAdGB34yCaOcPgYXr9AAkV/IwqFfWWTXEPUgLYkSkqBhIk9KK7gGmgjc64B+RdoeIDM13Irnw==",
+ "version": "15.5.9",
+ "resolved": "https://registry.npmjs.org/next/-/next-15.5.9.tgz",
+ "integrity": "sha512-agNLK89seZEtC5zUHwtut0+tNrc0Xw4FT/Dg+B/VLEo9pAcS9rtTKpek3V6kVcVwsB2YlqMaHdfZL4eLEVYuCg==",
"license": "MIT",
"dependencies": {
- "@next/env": "15.0.3",
- "@swc/counter": "0.1.3",
- "@swc/helpers": "0.5.13",
- "busboy": "1.6.0",
+ "@next/env": "15.5.9",
+ "@swc/helpers": "0.5.15",
"caniuse-lite": "^1.0.30001579",
"postcss": "8.4.31",
"styled-jsx": "5.1.6"
@@ -1583,22 +1600,22 @@
"node": "^18.18.0 || ^19.8.0 || >= 20.0.0"
},
"optionalDependencies": {
- "@next/swc-darwin-arm64": "15.0.3",
- "@next/swc-darwin-x64": "15.0.3",
- "@next/swc-linux-arm64-gnu": "15.0.3",
- "@next/swc-linux-arm64-musl": "15.0.3",
- "@next/swc-linux-x64-gnu": "15.0.3",
- "@next/swc-linux-x64-musl": "15.0.3",
- "@next/swc-win32-arm64-msvc": "15.0.3",
- "@next/swc-win32-x64-msvc": "15.0.3",
- "sharp": "^0.33.5"
+ "@next/swc-darwin-arm64": "15.5.7",
+ "@next/swc-darwin-x64": "15.5.7",
+ "@next/swc-linux-arm64-gnu": "15.5.7",
+ "@next/swc-linux-arm64-musl": "15.5.7",
+ "@next/swc-linux-x64-gnu": "15.5.7",
+ "@next/swc-linux-x64-musl": "15.5.7",
+ "@next/swc-win32-arm64-msvc": "15.5.7",
+ "@next/swc-win32-x64-msvc": "15.5.7",
+ "sharp": "^0.34.3"
},
"peerDependencies": {
"@opentelemetry/api": "^1.1.0",
- "@playwright/test": "^1.41.2",
+ "@playwright/test": "^1.51.1",
"babel-plugin-react-compiler": "*",
- "react": "^18.2.0 || 19.0.0-rc-66855b96-20241106",
- "react-dom": "^18.2.0 || 19.0.0-rc-66855b96-20241106",
+ "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0",
+ "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0",
"sass": "^1.3.0"
},
"peerDependenciesMeta": {
@@ -1791,6 +1808,7 @@
}
],
"license": "MIT",
+ "peer": true,
"dependencies": {
"nanoid": "^3.3.7",
"picocolors": "^1.1.1",
@@ -1947,6 +1965,7 @@
"resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz",
"integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
"license": "MIT",
+ "peer": true,
"dependencies": {
"loose-envify": "^1.1.0"
},
@@ -1959,6 +1978,7 @@
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz",
"integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
"license": "MIT",
+ "peer": true,
"dependencies": {
"loose-envify": "^1.1.0",
"scheduler": "^0.23.2"
@@ -2085,9 +2105,9 @@
}
},
"node_modules/semver": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
- "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+ "version": "7.7.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+ "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
"license": "ISC",
"optional": true,
"bin": {
@@ -2098,16 +2118,16 @@
}
},
"node_modules/sharp": {
- "version": "0.33.5",
- "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz",
- "integrity": "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==",
+ "version": "0.34.4",
+ "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.4.tgz",
+ "integrity": "sha512-FUH39xp3SBPnxWvd5iib1X8XY7J0K0X7d93sie9CJg2PO8/7gmg89Nve6OjItK53/MlAushNNxteBYfM6DEuoA==",
"hasInstallScript": true,
"license": "Apache-2.0",
"optional": true,
"dependencies": {
- "color": "^4.2.3",
- "detect-libc": "^2.0.3",
- "semver": "^7.6.3"
+ "@img/colour": "^1.0.0",
+ "detect-libc": "^2.1.0",
+ "semver": "^7.7.2"
},
"engines": {
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
@@ -2116,25 +2136,28 @@
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
- "@img/sharp-darwin-arm64": "0.33.5",
- "@img/sharp-darwin-x64": "0.33.5",
- "@img/sharp-libvips-darwin-arm64": "1.0.4",
- "@img/sharp-libvips-darwin-x64": "1.0.4",
- "@img/sharp-libvips-linux-arm": "1.0.5",
- "@img/sharp-libvips-linux-arm64": "1.0.4",
- "@img/sharp-libvips-linux-s390x": "1.0.4",
- "@img/sharp-libvips-linux-x64": "1.0.4",
- "@img/sharp-libvips-linuxmusl-arm64": "1.0.4",
- "@img/sharp-libvips-linuxmusl-x64": "1.0.4",
- "@img/sharp-linux-arm": "0.33.5",
- "@img/sharp-linux-arm64": "0.33.5",
- "@img/sharp-linux-s390x": "0.33.5",
- "@img/sharp-linux-x64": "0.33.5",
- "@img/sharp-linuxmusl-arm64": "0.33.5",
- "@img/sharp-linuxmusl-x64": "0.33.5",
- "@img/sharp-wasm32": "0.33.5",
- "@img/sharp-win32-ia32": "0.33.5",
- "@img/sharp-win32-x64": "0.33.5"
+ "@img/sharp-darwin-arm64": "0.34.4",
+ "@img/sharp-darwin-x64": "0.34.4",
+ "@img/sharp-libvips-darwin-arm64": "1.2.3",
+ "@img/sharp-libvips-darwin-x64": "1.2.3",
+ "@img/sharp-libvips-linux-arm": "1.2.3",
+ "@img/sharp-libvips-linux-arm64": "1.2.3",
+ "@img/sharp-libvips-linux-ppc64": "1.2.3",
+ "@img/sharp-libvips-linux-s390x": "1.2.3",
+ "@img/sharp-libvips-linux-x64": "1.2.3",
+ "@img/sharp-libvips-linuxmusl-arm64": "1.2.3",
+ "@img/sharp-libvips-linuxmusl-x64": "1.2.3",
+ "@img/sharp-linux-arm": "0.34.4",
+ "@img/sharp-linux-arm64": "0.34.4",
+ "@img/sharp-linux-ppc64": "0.34.4",
+ "@img/sharp-linux-s390x": "0.34.4",
+ "@img/sharp-linux-x64": "0.34.4",
+ "@img/sharp-linuxmusl-arm64": "0.34.4",
+ "@img/sharp-linuxmusl-x64": "0.34.4",
+ "@img/sharp-wasm32": "0.34.4",
+ "@img/sharp-win32-arm64": "0.34.4",
+ "@img/sharp-win32-ia32": "0.34.4",
+ "@img/sharp-win32-x64": "0.34.4"
}
},
"node_modules/shebang-command": {
@@ -2173,16 +2196,6 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/simple-swizzle": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
- "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==",
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "is-arrayish": "^0.3.1"
- }
- },
"node_modules/slick-carousel": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/slick-carousel/-/slick-carousel-1.8.1.tgz",
@@ -2201,14 +2214,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/streamsearch": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
- "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==",
- "engines": {
- "node": ">=10.0.0"
- }
- },
"node_modules/string-convert": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz",
diff --git a/public/images/Copy of _DSC0329.JPG b/public/images/Copy of _DSC0329.JPG
new file mode 100644
index 0000000..a3eb309
Binary files /dev/null and b/public/images/Copy of _DSC0329.JPG differ
diff --git a/public/images/IMG_0820.JPG b/public/images/IMG_0820.JPG
new file mode 100644
index 0000000..5f9324f
Binary files /dev/null and b/public/images/IMG_0820.JPG differ
diff --git a/public/images/IMG_0856.JPG b/public/images/IMG_0856.JPG
new file mode 100644
index 0000000..885171b
Binary files /dev/null and b/public/images/IMG_0856.JPG differ
diff --git a/public/images/IMG_3020.JPG b/public/images/IMG_3020.JPG
new file mode 100644
index 0000000..c145b69
Binary files /dev/null and b/public/images/IMG_3020.JPG differ
diff --git a/public/images/IMG_3041.JPG b/public/images/IMG_3041.JPG
new file mode 100644
index 0000000..3f780d0
Binary files /dev/null and b/public/images/IMG_3041.JPG differ
diff --git a/public/images/IMG_6028.HEIC b/public/images/IMG_6028.HEIC
new file mode 100644
index 0000000..8c14473
Binary files /dev/null and b/public/images/IMG_6028.HEIC differ
diff --git a/public/images/IMG_6053.JPG b/public/images/IMG_6053.JPG
new file mode 100644
index 0000000..e42727c
Binary files /dev/null and b/public/images/IMG_6053.JPG differ
diff --git a/public/images/Logo.png b/public/images/Logo.png
deleted file mode 100644
index a6d8f39..0000000
Binary files a/public/images/Logo.png and /dev/null differ
diff --git a/public/images/_DSC0043.JPG b/public/images/_DSC0043.JPG
new file mode 100644
index 0000000..e5aaa9b
Binary files /dev/null and b/public/images/_DSC0043.JPG differ
diff --git a/public/images/aliados/Carrier_logo.png b/public/images/aliados/Carrier_logo.png
new file mode 100644
index 0000000..dc901b0
Binary files /dev/null and b/public/images/aliados/Carrier_logo.png differ
diff --git a/public/images/aliados/Microplus_fondo-removebg-preview.png b/public/images/aliados/Microplus_fondo-removebg-preview.png
new file mode 100644
index 0000000..1ac0c0e
Binary files /dev/null and b/public/images/aliados/Microplus_fondo-removebg-preview.png differ
diff --git a/public/images/aliados/Trophe_logo.png b/public/images/aliados/Trophe_logo.png
new file mode 100644
index 0000000..f676ed7
Binary files /dev/null and b/public/images/aliados/Trophe_logo.png differ
diff --git a/public/images/aliados/clarios-logo2.png b/public/images/aliados/clarios-logo2.png
new file mode 100644
index 0000000..48886ab
Binary files /dev/null and b/public/images/aliados/clarios-logo2.png differ
diff --git a/public/images/aliados/clarios_logo.png b/public/images/aliados/clarios_logo.png
new file mode 100644
index 0000000..1edc11e
Binary files /dev/null and b/public/images/aliados/clarios_logo.png differ
diff --git a/public/images/aliados/csoftmty_logo.png b/public/images/aliados/csoftmty_logo.png
new file mode 100644
index 0000000..b25ee96
Binary files /dev/null and b/public/images/aliados/csoftmty_logo.png differ
diff --git a/public/images/aliados/interius_logo_azul.png b/public/images/aliados/interius_logo_azul.png
new file mode 100644
index 0000000..7d26bfe
Binary files /dev/null and b/public/images/aliados/interius_logo_azul.png differ
diff --git a/public/images/aliados/logo-upnow.webp b/public/images/aliados/logo-upnow.webp
new file mode 100644
index 0000000..b70b4a6
Binary files /dev/null and b/public/images/aliados/logo-upnow.webp differ
diff --git a/public/images/aliados/muchored_logo-removebg-preview.png b/public/images/aliados/muchored_logo-removebg-preview.png
new file mode 100644
index 0000000..6735f89
Binary files /dev/null and b/public/images/aliados/muchored_logo-removebg-preview.png differ
diff --git a/public/images/aliados/upnow_logo2.png b/public/images/aliados/upnow_logo2.png
new file mode 100644
index 0000000..b022d82
Binary files /dev/null and b/public/images/aliados/upnow_logo2.png differ
diff --git a/public/images/reto1.jpeg b/public/images/hack4her/reto1.jpeg
similarity index 100%
rename from public/images/reto1.jpeg
rename to public/images/hack4her/reto1.jpeg
diff --git a/public/images/reto2.jpeg b/public/images/hack4her/reto2.jpeg
similarity index 100%
rename from public/images/reto2.jpeg
rename to public/images/hack4her/reto2.jpeg
diff --git a/public/images/reto3.jpeg b/public/images/hack4her/reto3.jpeg
similarity index 100%
rename from public/images/reto3.jpeg
rename to public/images/hack4her/reto3.jpeg
diff --git a/public/images/reto4.jpeg b/public/images/hack4her/reto4.jpeg
similarity index 100%
rename from public/images/reto4.jpeg
rename to public/images/hack4her/reto4.jpeg
diff --git a/public/images/home/home_1.JPG b/public/images/home/home_1.JPG
new file mode 100644
index 0000000..816f41f
Binary files /dev/null and b/public/images/home/home_1.JPG differ
diff --git a/public/images/proyectos/desayuno.JPG b/public/images/home/home_10.JPG
similarity index 100%
rename from public/images/proyectos/desayuno.JPG
rename to public/images/home/home_10.JPG
diff --git a/public/images/proyectos/Desayuno8_1.JPG b/public/images/home/home_11.JPG
similarity index 100%
rename from public/images/proyectos/Desayuno8_1.JPG
rename to public/images/home/home_11.JPG
diff --git a/public/images/home/home_12.JPG b/public/images/home/home_12.JPG
new file mode 100644
index 0000000..2338f5e
Binary files /dev/null and b/public/images/home/home_12.JPG differ
diff --git a/public/images/home/home_13.JPG b/public/images/home/home_13.JPG
new file mode 100644
index 0000000..6b15121
Binary files /dev/null and b/public/images/home/home_13.JPG differ
diff --git a/public/images/home/home_14.JPG b/public/images/home/home_14.JPG
new file mode 100644
index 0000000..7490560
Binary files /dev/null and b/public/images/home/home_14.JPG differ
diff --git a/public/images/home/home_15.JPG b/public/images/home/home_15.JPG
new file mode 100644
index 0000000..213e9b0
Binary files /dev/null and b/public/images/home/home_15.JPG differ
diff --git a/public/images/home/home_16.JPG b/public/images/home/home_16.JPG
new file mode 100644
index 0000000..c3b8ade
Binary files /dev/null and b/public/images/home/home_16.JPG differ
diff --git a/public/images/home/home_17.JPG b/public/images/home/home_17.JPG
new file mode 100644
index 0000000..c23fb40
Binary files /dev/null and b/public/images/home/home_17.JPG differ
diff --git a/public/images/home/home_18.JPG b/public/images/home/home_18.JPG
new file mode 100644
index 0000000..5000b7a
Binary files /dev/null and b/public/images/home/home_18.JPG differ
diff --git a/public/images/home/home_19.JPG b/public/images/home/home_19.JPG
new file mode 100644
index 0000000..3dd7d45
Binary files /dev/null and b/public/images/home/home_19.JPG differ
diff --git a/public/images/witcode1.JPG b/public/images/home/home_2.JPG
similarity index 100%
rename from public/images/witcode1.JPG
rename to public/images/home/home_2.JPG
diff --git a/public/images/home/home_20.JPG b/public/images/home/home_20.JPG
new file mode 100644
index 0000000..5443cc2
Binary files /dev/null and b/public/images/home/home_20.JPG differ
diff --git a/public/images/home/home_21.JPG b/public/images/home/home_21.JPG
new file mode 100644
index 0000000..0b49915
Binary files /dev/null and b/public/images/home/home_21.JPG differ
diff --git a/public/images/home/home_22.JPG b/public/images/home/home_22.JPG
new file mode 100644
index 0000000..2338f5e
Binary files /dev/null and b/public/images/home/home_22.JPG differ
diff --git a/public/images/home/home_23.JPG b/public/images/home/home_23.JPG
new file mode 100644
index 0000000..04964e4
Binary files /dev/null and b/public/images/home/home_23.JPG differ
diff --git a/public/images/home/home_24.JPG b/public/images/home/home_24.JPG
new file mode 100644
index 0000000..90ce117
Binary files /dev/null and b/public/images/home/home_24.JPG differ
diff --git a/public/images/home/home_25.JPG b/public/images/home/home_25.JPG
new file mode 100644
index 0000000..d7beb17
Binary files /dev/null and b/public/images/home/home_25.JPG differ
diff --git a/public/images/home/home_26.JPG b/public/images/home/home_26.JPG
new file mode 100644
index 0000000..2ab68c9
Binary files /dev/null and b/public/images/home/home_26.JPG differ
diff --git a/public/images/home/home_27.JPG b/public/images/home/home_27.JPG
new file mode 100644
index 0000000..8707ff7
Binary files /dev/null and b/public/images/home/home_27.JPG differ
diff --git a/public/images/witcode2.JPG b/public/images/home/home_3.JPG
similarity index 100%
rename from public/images/witcode2.JPG
rename to public/images/home/home_3.JPG
diff --git a/public/images/home/home_4.JPG b/public/images/home/home_4.JPG
new file mode 100644
index 0000000..b226483
Binary files /dev/null and b/public/images/home/home_4.JPG differ
diff --git a/public/images/home/home_5.JPG b/public/images/home/home_5.JPG
new file mode 100644
index 0000000..3151f44
Binary files /dev/null and b/public/images/home/home_5.JPG differ
diff --git a/public/images/home/home_6.JPG b/public/images/home/home_6.JPG
new file mode 100644
index 0000000..fee182b
Binary files /dev/null and b/public/images/home/home_6.JPG differ
diff --git a/public/images/home/home_7.JPG b/public/images/home/home_7.JPG
new file mode 100644
index 0000000..4d60983
Binary files /dev/null and b/public/images/home/home_7.JPG differ
diff --git a/public/images/home/home_8.JPG b/public/images/home/home_8.JPG
new file mode 100644
index 0000000..c34a13e
Binary files /dev/null and b/public/images/home/home_8.JPG differ
diff --git a/public/images/home/home_9.JPG b/public/images/home/home_9.JPG
new file mode 100644
index 0000000..f80954d
Binary files /dev/null and b/public/images/home/home_9.JPG differ
diff --git a/public/images/integrantes/25-26/andrea.png b/public/images/integrantes/25-26/andrea.png
new file mode 100644
index 0000000..fa43d44
Binary files /dev/null and b/public/images/integrantes/25-26/andrea.png differ
diff --git a/public/images/integrantes/25-26/azereth.png b/public/images/integrantes/25-26/azereth.png
new file mode 100644
index 0000000..11b86c1
Binary files /dev/null and b/public/images/integrantes/25-26/azereth.png differ
diff --git a/public/images/integrantes/25-26/carolina.png b/public/images/integrantes/25-26/carolina.png
new file mode 100644
index 0000000..ee07040
Binary files /dev/null and b/public/images/integrantes/25-26/carolina.png differ
diff --git a/public/images/integrantes/25-26/karen.png b/public/images/integrantes/25-26/karen.png
new file mode 100644
index 0000000..85db39c
Binary files /dev/null and b/public/images/integrantes/25-26/karen.png differ
diff --git a/public/images/integrantes/25-26/mafer.png b/public/images/integrantes/25-26/mafer.png
new file mode 100644
index 0000000..1f75a96
Binary files /dev/null and b/public/images/integrantes/25-26/mafer.png differ
diff --git a/public/images/integrantes/25-26/mariel.png b/public/images/integrantes/25-26/mariel.png
new file mode 100644
index 0000000..af15cf5
Binary files /dev/null and b/public/images/integrantes/25-26/mariel.png differ
diff --git a/public/images/integrantes/25-26/nicole.png b/public/images/integrantes/25-26/nicole.png
new file mode 100644
index 0000000..cb3eb8c
Binary files /dev/null and b/public/images/integrantes/25-26/nicole.png differ
diff --git a/public/images/logo-white.png b/public/images/logo-white.png
deleted file mode 100644
index a8a5066..0000000
Binary files a/public/images/logo-white.png and /dev/null differ
diff --git a/public/images/logo_wit/logo_nuevo.png b/public/images/logo_wit/logo_nuevo.png
new file mode 100644
index 0000000..f0ac2d2
Binary files /dev/null and b/public/images/logo_wit/logo_nuevo.png differ
diff --git a/public/images/logo_wit/logo_nuevo_blanco.png b/public/images/logo_wit/logo_nuevo_blanco.png
new file mode 100644
index 0000000..acefb12
Binary files /dev/null and b/public/images/logo_wit/logo_nuevo_blanco.png differ
diff --git a/public/images/proyectos/JTI24_2.JPG b/public/images/proyectos/JTI_1.JPG
similarity index 100%
rename from public/images/proyectos/JTI24_2.JPG
rename to public/images/proyectos/JTI_1.JPG
diff --git a/public/images/proyectos/JTI24_3.JPG b/public/images/proyectos/JTI_2.JPG
similarity index 100%
rename from public/images/proyectos/JTI24_3.JPG
rename to public/images/proyectos/JTI_2.JPG
diff --git a/public/images/proyectos/JTI24_5.JPG b/public/images/proyectos/JTI_3.JPG
similarity index 100%
rename from public/images/proyectos/JTI24_5.JPG
rename to public/images/proyectos/JTI_3.JPG
diff --git a/public/images/proyectos/JTI_4.JPG b/public/images/proyectos/JTI_4.JPG
new file mode 100644
index 0000000..da32d22
Binary files /dev/null and b/public/images/proyectos/JTI_4.JPG differ
diff --git a/public/images/proyectos/JTI_5.JPG b/public/images/proyectos/JTI_5.JPG
new file mode 100644
index 0000000..32405eb
Binary files /dev/null and b/public/images/proyectos/JTI_5.JPG differ
diff --git a/public/images/proyectos/JTI_6.JPG b/public/images/proyectos/JTI_6.JPG
new file mode 100644
index 0000000..0939af2
Binary files /dev/null and b/public/images/proyectos/JTI_6.JPG differ
diff --git a/public/images/proyectos/JTI_7.JPG b/public/images/proyectos/JTI_7.JPG
new file mode 100644
index 0000000..45f66f6
Binary files /dev/null and b/public/images/proyectos/JTI_7.JPG differ
diff --git a/public/images/proyectos/JTI_8.JPG b/public/images/proyectos/JTI_8.JPG
new file mode 100644
index 0000000..a812980
Binary files /dev/null and b/public/images/proyectos/JTI_8.JPG differ
diff --git a/public/images/proyectos/JTI_9.JPG b/public/images/proyectos/JTI_9.JPG
new file mode 100644
index 0000000..adfe63e
Binary files /dev/null and b/public/images/proyectos/JTI_9.JPG differ
diff --git a/public/images/proyectos/banner_proyectos.JPG b/public/images/proyectos/banner_proyectos.JPG
new file mode 100644
index 0000000..d3e18f4
Binary files /dev/null and b/public/images/proyectos/banner_proyectos.JPG differ
diff --git a/public/images/proyectos/desayuno_1.JPG b/public/images/proyectos/desayuno_1.JPG
new file mode 100644
index 0000000..b6d9868
Binary files /dev/null and b/public/images/proyectos/desayuno_1.JPG differ
diff --git a/public/images/proyectos/desayuno_10.JPG b/public/images/proyectos/desayuno_10.JPG
new file mode 100644
index 0000000..fc24a11
Binary files /dev/null and b/public/images/proyectos/desayuno_10.JPG differ
diff --git a/public/images/proyectos/desayuno_2.JPG b/public/images/proyectos/desayuno_2.JPG
new file mode 100644
index 0000000..e73bddb
Binary files /dev/null and b/public/images/proyectos/desayuno_2.JPG differ
diff --git a/public/images/proyectos/Desayuno8_2.JPG b/public/images/proyectos/desayuno_3.JPG
similarity index 100%
rename from public/images/proyectos/Desayuno8_2.JPG
rename to public/images/proyectos/desayuno_3.JPG
diff --git a/public/images/proyectos/desayuno_4.JPG b/public/images/proyectos/desayuno_4.JPG
new file mode 100644
index 0000000..90c7e03
Binary files /dev/null and b/public/images/proyectos/desayuno_4.JPG differ
diff --git a/public/images/proyectos/desayuno_5.JPG b/public/images/proyectos/desayuno_5.JPG
new file mode 100644
index 0000000..2c97985
Binary files /dev/null and b/public/images/proyectos/desayuno_5.JPG differ
diff --git a/public/images/proyectos/desayuno_6.JPG b/public/images/proyectos/desayuno_6.JPG
new file mode 100644
index 0000000..a2dd0ce
Binary files /dev/null and b/public/images/proyectos/desayuno_6.JPG differ
diff --git a/public/images/proyectos/desayuno_7.JPG b/public/images/proyectos/desayuno_7.JPG
new file mode 100644
index 0000000..cdc72b2
Binary files /dev/null and b/public/images/proyectos/desayuno_7.JPG differ
diff --git a/public/images/proyectos/desayuno_8.JPG b/public/images/proyectos/desayuno_8.JPG
new file mode 100644
index 0000000..2338f5e
Binary files /dev/null and b/public/images/proyectos/desayuno_8.JPG differ
diff --git a/public/images/proyectos/desayuno_9.JPG b/public/images/proyectos/desayuno_9.JPG
new file mode 100644
index 0000000..fe579a7
Binary files /dev/null and b/public/images/proyectos/desayuno_9.JPG differ
diff --git a/public/images/proyectos/em_ha1.JPG b/public/images/proyectos/em_ha1.JPG
new file mode 100644
index 0000000..ef0b02d
Binary files /dev/null and b/public/images/proyectos/em_ha1.JPG differ
diff --git a/public/images/proyectos/em_ha2.JPG b/public/images/proyectos/em_ha2.JPG
new file mode 100644
index 0000000..fee182b
Binary files /dev/null and b/public/images/proyectos/em_ha2.JPG differ
diff --git a/public/images/proyectos/em_ha3.JPG b/public/images/proyectos/em_ha3.JPG
new file mode 100644
index 0000000..a5c4aa0
Binary files /dev/null and b/public/images/proyectos/em_ha3.JPG differ
diff --git a/public/images/proyectos/em_ha4.JPG b/public/images/proyectos/em_ha4.JPG
new file mode 100644
index 0000000..7fa4f17
Binary files /dev/null and b/public/images/proyectos/em_ha4.JPG differ
diff --git a/public/images/proyectos/em_ha5.JPG b/public/images/proyectos/em_ha5.JPG
new file mode 100644
index 0000000..b226483
Binary files /dev/null and b/public/images/proyectos/em_ha5.JPG differ
diff --git a/public/images/proyectos/em_ha6.JPG b/public/images/proyectos/em_ha6.JPG
new file mode 100644
index 0000000..bfb4988
Binary files /dev/null and b/public/images/proyectos/em_ha6.JPG differ
diff --git a/public/images/proyectos/empower_hack.jpeg b/public/images/proyectos/empower_hack.jpeg
deleted file mode 100644
index 060cd55..0000000
Binary files a/public/images/proyectos/empower_hack.jpeg and /dev/null differ
diff --git a/public/images/proyectos/empowerhack_flyer.png b/public/images/proyectos/empowerhack_flyer.png
deleted file mode 100644
index 8a76890..0000000
Binary files a/public/images/proyectos/empowerhack_flyer.png and /dev/null differ
diff --git a/public/images/proyectos/feria_1.JPG b/public/images/proyectos/feria_1.JPG
new file mode 100644
index 0000000..de576f8
Binary files /dev/null and b/public/images/proyectos/feria_1.JPG differ
diff --git a/public/images/proyectos/feria_2.JPG b/public/images/proyectos/feria_2.JPG
new file mode 100644
index 0000000..881e097
Binary files /dev/null and b/public/images/proyectos/feria_2.JPG differ
diff --git a/public/images/proyectos/feria_3.JPG b/public/images/proyectos/feria_3.JPG
new file mode 100644
index 0000000..1c46fc3
Binary files /dev/null and b/public/images/proyectos/feria_3.JPG differ
diff --git a/public/images/proyectos/feria_4.JPG b/public/images/proyectos/feria_4.JPG
new file mode 100644
index 0000000..78c766c
Binary files /dev/null and b/public/images/proyectos/feria_4.JPG differ
diff --git a/public/images/proyectos/feria_5.JPG b/public/images/proyectos/feria_5.JPG
new file mode 100644
index 0000000..b9d5b91
Binary files /dev/null and b/public/images/proyectos/feria_5.JPG differ
diff --git a/public/images/proyectos/feria_6.JPG b/public/images/proyectos/feria_6.JPG
new file mode 100644
index 0000000..885171b
Binary files /dev/null and b/public/images/proyectos/feria_6.JPG differ
diff --git a/public/images/proyectos/h4h_1.JPG b/public/images/proyectos/h4h_1.JPG
new file mode 100644
index 0000000..c23fb40
Binary files /dev/null and b/public/images/proyectos/h4h_1.JPG differ
diff --git a/public/images/proyectos/h4h_10.JPG b/public/images/proyectos/h4h_10.JPG
new file mode 100644
index 0000000..854c3c8
Binary files /dev/null and b/public/images/proyectos/h4h_10.JPG differ
diff --git a/public/images/proyectos/h4h_2.JPG b/public/images/proyectos/h4h_2.JPG
new file mode 100644
index 0000000..cdc7c68
Binary files /dev/null and b/public/images/proyectos/h4h_2.JPG differ
diff --git a/public/images/proyectos/h4h_3.JPG b/public/images/proyectos/h4h_3.JPG
new file mode 100644
index 0000000..a4b9ee3
Binary files /dev/null and b/public/images/proyectos/h4h_3.JPG differ
diff --git a/public/images/proyectos/h4h_5.png b/public/images/proyectos/h4h_5.png
new file mode 100644
index 0000000..4ea5147
Binary files /dev/null and b/public/images/proyectos/h4h_5.png differ
diff --git a/public/images/proyectos/h4h_6.JPG b/public/images/proyectos/h4h_6.JPG
new file mode 100644
index 0000000..66515e9
Binary files /dev/null and b/public/images/proyectos/h4h_6.JPG differ
diff --git a/public/images/proyectos/h4h_7.JPG b/public/images/proyectos/h4h_7.JPG
new file mode 100644
index 0000000..98428c6
Binary files /dev/null and b/public/images/proyectos/h4h_7.JPG differ
diff --git a/public/images/proyectos/h4h_8.JPG b/public/images/proyectos/h4h_8.JPG
new file mode 100644
index 0000000..74eb008
Binary files /dev/null and b/public/images/proyectos/h4h_8.JPG differ
diff --git a/public/images/proyectos/h4h_9.JPG b/public/images/proyectos/h4h_9.JPG
new file mode 100644
index 0000000..173943d
Binary files /dev/null and b/public/images/proyectos/h4h_9.JPG differ
diff --git a/public/images/proyectos/reunion_1.JPG b/public/images/proyectos/reunion_1.JPG
new file mode 100644
index 0000000..5590fb5
Binary files /dev/null and b/public/images/proyectos/reunion_1.JPG differ
diff --git a/public/images/proyectos/reunion_2.JPG b/public/images/proyectos/reunion_2.JPG
new file mode 100644
index 0000000..5aa9de4
Binary files /dev/null and b/public/images/proyectos/reunion_2.JPG differ
diff --git a/public/images/proyectos/reunion_3.JPG b/public/images/proyectos/reunion_3.JPG
new file mode 100644
index 0000000..82b5b68
Binary files /dev/null and b/public/images/proyectos/reunion_3.JPG differ
diff --git a/public/images/proyectos/reunion_4.JPG b/public/images/proyectos/reunion_4.JPG
new file mode 100644
index 0000000..9af8cf3
Binary files /dev/null and b/public/images/proyectos/reunion_4.JPG differ
diff --git a/public/images/proyectos/reunion_5.JPG b/public/images/proyectos/reunion_5.JPG
new file mode 100644
index 0000000..f4f8268
Binary files /dev/null and b/public/images/proyectos/reunion_5.JPG differ
diff --git a/public/images/proyectos/reunion_6.JPG b/public/images/proyectos/reunion_6.JPG
new file mode 100644
index 0000000..7bfdaec
Binary files /dev/null and b/public/images/proyectos/reunion_6.JPG differ
diff --git a/public/images/proyectos/run4wit_ex.png b/public/images/proyectos/run4wit_ex.png
new file mode 100644
index 0000000..981383c
Binary files /dev/null and b/public/images/proyectos/run4wit_ex.png differ
diff --git a/public/images/serviciosocial/abajo_de_que_es_witcode.JPG b/public/images/serviciosocial/abajo_de_que_es_witcode.JPG
new file mode 100644
index 0000000..21d690c
Binary files /dev/null and b/public/images/serviciosocial/abajo_de_que_es_witcode.JPG differ
diff --git a/public/images/serviciosocial/servicio_social_carousel1.JPG b/public/images/serviciosocial/servicio_social_carousel1.JPG
new file mode 100644
index 0000000..7e014fa
Binary files /dev/null and b/public/images/serviciosocial/servicio_social_carousel1.JPG differ
diff --git a/public/images/serviciosocial/servicio_social_carousel2.JPG b/public/images/serviciosocial/servicio_social_carousel2.JPG
new file mode 100644
index 0000000..d8da265
Binary files /dev/null and b/public/images/serviciosocial/servicio_social_carousel2.JPG differ
diff --git a/public/images/serviciosocial/servicio_social_carousel3.JPG b/public/images/serviciosocial/servicio_social_carousel3.JPG
new file mode 100644
index 0000000..ad6fceb
Binary files /dev/null and b/public/images/serviciosocial/servicio_social_carousel3.JPG differ
diff --git a/public/images/serviciosocial/servicio_social_carousel4.JPG b/public/images/serviciosocial/servicio_social_carousel4.JPG
new file mode 100644
index 0000000..b3d4332
Binary files /dev/null and b/public/images/serviciosocial/servicio_social_carousel4.JPG differ
diff --git a/tsconfig.json b/tsconfig.json
index c714696..3bc973f 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -22,6 +22,6 @@
"@/*": ["./*"]
}
},
- "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
+ "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts", "app/components/AnimatedPhotoGrid"],
"exclude": ["node_modules"]
}