diff --git a/src/components/biography/biography.tsx b/src/components/biography/biography.tsx index dd3b1ba..74f6370 100644 --- a/src/components/biography/biography.tsx +++ b/src/components/biography/biography.tsx @@ -20,7 +20,7 @@ const Biography = () => { > burbuja puntocom {" "} - Hoy vive entre Bogotá y cualquier parte del mundo como nómada digital. + Hoy vive en Bogotá, Colombia, como nómada digital.{" "}

@@ -99,20 +99,23 @@ const Biography = () => {
-

- Le interesaba mucho el tema de desarrollo móvil (apps) y - modelos 3D tanto que en 2 meses aprendio utilizar blender - completo un curso de - - Modelado 3D usando Blender{" "} - - {" "} - Con ese mismo conocimiento, fundó 3 proyectos: +

+

+ Le interesaba mucho el tema de desarrollo móvil (apps) y + modelos 3D tanto que en 2 meses aprendio utilizar blender + completo un curso de + + Modelado 3D usando Blender{" "} + + {" "} + Con ese mismo conocimiento, fundó 3 proyectos: +

+
  • Giraffes 3D: Fue un proyecto NFT creado con Blender @@ -149,22 +152,8 @@ const Biography = () => { realidad aumentada y realidad virtual. Innovamos y mejoramos la experiencia del usuario con una entrega en minutos, cambiando la forma de hacer pedidos. (Foodko - fracasó a los 4 meses) Vendimos muchas hamburguesas; - alcanzo a recordar que fueron más de 150 hamburguesas en - esos 4 meses. Teníamos buena retención de usuarios (40% - nos volvían a comprar)
    - Aunque decidimos cerrar operaciones dado que competir - contra los grandes fue muy difícil para nosotros. Tenían - buena parte del mercado acaparado + la competencia que era - brutal. Créeme, no sabes lo jodido que es operar una - cocina oculta, sin duda felicito a todas las cadenas de - restaurantes (en especial cuando reciben 10 órdenes - simultáneamente)
    - Aprendí que armar un cohete espacial sin antes validar la - idea me costó dinero y tiempo, aunque no me arrepiento - dado que este error me motivó a leerme el libro "El - método LEAN STARTUP" de Eric Ries. Quién sabe, tal - vez en el futuro ejecute un pivote y vuelva + fracasó a los 4 meses) Aprendí que armar un cohete + espacial sin antes validar la idea {
-

+
diff --git a/src/components/experience/experience.tsx b/src/components/experience/experience.tsx index cb617ec..4d184f5 100644 --- a/src/components/experience/experience.tsx +++ b/src/components/experience/experience.tsx @@ -9,9 +9,9 @@ const Experience = () => {
-

Experience

+

Experiencia

- {""} + {""}
diff --git a/src/components/hero/hero.tsx b/src/components/hero/hero.tsx index 3efa1b3..5d00ad1 100644 --- a/src/components/hero/hero.tsx +++ b/src/components/hero/hero.tsx @@ -27,9 +27,28 @@ const Hero = () => { - Learn more about Willy + Ver más sobre Willy + + + + + + Ver proyectos diff --git a/src/components/projects/projects.tsx b/src/components/projects/projects.tsx index 51aa05f..478f8ab 100644 --- a/src/components/projects/projects.tsx +++ b/src/components/projects/projects.tsx @@ -1,20 +1,19 @@ -import React, { useEffect, useState } from "react"; +import React, { RefObject, useRef } from "react"; import Image from "next/image"; import { useSpring, animated } from "@react-spring/web"; -import { HiOutlineArrowNarrowRight } from "react-icons/hi"; +import { + HiOutlineArrowNarrowLeft, + HiOutlineArrowNarrowRight, + HiOutlineExternalLink, +} from "react-icons/hi"; import { useScroll } from "react-use-gesture"; import clsx from "clsx"; import { Animation } from "../animations/animation"; -import { useInView } from "react-intersection-observer"; const Projects = () => { - const { ref, inView } = useInView({ - triggerOnce: true, - }); - const [itemSelected, setItemSelected] = useState({ - item: null, - index: -1, - }); + const refLastItem = useRef(); + const refFirstItem = useRef(); + const [style, set] = useSpring(() => ({ transform: "perspective(500px) rotateY(0deg)", })); @@ -35,78 +34,107 @@ const Projects = () => { }); }); - const handleSelectItem = (data: any) => { - setItemSelected(data); - }; - - useEffect(() => { - if (inView) { - setTimeout(() => { - handleSelectItem({ item: items[0], index: 0 }); - }, 3000); + const getRefItem = ( + index: number, + length: number + ): RefObject | undefined => { + if (index === 0) { + return refFirstItem; } - }, [inView]); + if (index === length - 1) { + return refLastItem; + } + return undefined; + }; return ( -
+

Proyectos

-
- {items.map((item, i) => { - const isActive = itemSelected.index === i; - return ( - handleSelectItem({ item, index: i })} - > -
- {`icon +
+
+ {items.map((item, i) => { + return ( + +
+ {`icon -

- {item.title} - {!isActive && ( - - )} -

-
- {isActive && ( +

+ {item.title} +

+

{item.description}

-

- {item.label} -

+ + Ver Sitio +
- )} - - ); - })} + + ); + })} +
+ +