From 7bf21ed85f345de085cfd40efbb63463689ded30 Mon Sep 17 00:00:00 2001 From: Anmol Arora Date: Sat, 6 Jul 2024 13:57:12 +0530 Subject: [PATCH] Create Skillspage.jsx --- src/pages/Skillspage.jsx | 109 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 src/pages/Skillspage.jsx diff --git a/src/pages/Skillspage.jsx b/src/pages/Skillspage.jsx new file mode 100644 index 0000000..1c7afc9 --- /dev/null +++ b/src/pages/Skillspage.jsx @@ -0,0 +1,109 @@ +import React, { useEffect, useRef } from "react"; +import { gsap } from "gsap"; +import Navbar from "../components/Navbar"; + +const sentence = "Uhm, skillset? Yes I hold some. Just dive in.."; + +const Skillspage = () => { + const textRef = useRef(null); + const cardsRef = useRef([]); + + useEffect(() => { + const chars = textRef.current.querySelectorAll("span"); + const timeline = gsap.timeline(); + + timeline.fromTo( + chars, + { opacity: 0, y: 20 }, + { + opacity: 1, + y: 0, + duration: 1, + ease: "power1.inOut", + stagger: 0.025, + } + ); + + timeline.fromTo( + cardsRef.current, + { opacity: 0, y: 20 }, + { + opacity: 1, + y: 0, + duration: 0.5, + ease: "power1.inOut", + stagger: 0.2, + }, + "+=0.15" + ); + }, []); + + return ( + <> + +
+

+ {sentence.split("").map((char, index) => ( + {char === " " ? "\u00A0" : char} + ))} +

+
+
+
+ {[ + { + icon: "fab fa-python", + title: "Python", + subtitle: "PROGRAMMING LANGUAGE", + description: "Experienced in Python for data analysis, machine learning, and automation tasks.", + colorClass: "text-transparent bg-clip-text bg-gradient-to-r to-pink-500 from-blue-600", + }, + { + icon: "fab fa-node-js", + title: "Node.js", + subtitle: "BACKEND DEVELOPMENT", + description: "Learning up more in Node.js for building scalable backend systems and RESTful APIs.", + colorClass: "text-transparent bg-clip-text bg-gradient-to-r to-green-600 from-green-900 via-green-800", + }, + { + icon: "fas fa-database", + title: "Database", + subtitle: "DATABASE MANAGEMENT", + description: "Proficient in SQL and NoSQL databases for managing and analyzing large datasets.", + colorClass: "text-transparent bg-clip-text bg-gradient-to-r to-yellow-600 from-red-400", + }, + { + icon: "fab fa-react", + title: "React", + subtitle: "FRONTEND FRAMEWORK", + description: "Intermediate in React for building dynamic and responsive user interfaces.", + colorClass: "text-transparent bg-clip-text bg-gradient-to-r to-cyan-600 from-blue-300", + }, + ].map((skill, index) => ( +
(cardsRef.current[index] = el)} + > +
+ +

+ {skill.subtitle} +

+

{skill.title}

+

{skill.description}

+
+
+ ))} +
+
+
+
+ + ); +}; + +export default Skillspage;