diff --git a/src/App.jsx b/src/App.jsx index 2e38945..eaf741d 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -3,6 +3,7 @@ import Navbar from './sections/Navbar' import Hero from './sections/Hero' import About from './sections/About' import Projects from './sections/Projects' +import Experiences from './sections/Experiences' const App = () => { return ( @@ -12,6 +13,7 @@ const App = () => { +
diff --git a/src/components/Timeline.jsx b/src/components/Timeline.jsx new file mode 100644 index 0000000..af54449 --- /dev/null +++ b/src/components/Timeline.jsx @@ -0,0 +1,75 @@ +"use client"; +import { useScroll, useTransform, motion } from "framer-motion"; +import React, { useEffect, useRef, useState } from "react"; + +export const Timeline = ({ data }) => { + const ref = useRef(null); + const containerRef = useRef(null); + const [height, setHeight] = useState(0); + + useEffect(() => { + if (ref.current) { + const rect = ref.current.getBoundingClientRect(); + setHeight(rect.height); + } + }, [ref]); + + const { scrollYProgress } = useScroll({ + target: containerRef, + offset: ["start 10%", "end 50%"], + }); + + const heightTransform = useTransform(scrollYProgress, [0, 1], [0, height]); + const opacityTransform = useTransform(scrollYProgress, [0, 0.1], [0, 1]); + + return ( +
+

My Work Experience

+
+ {data.map((item, index) => ( +
+
+
+
+
+
+

{item.date}

+

{item.title}

+

{item.job}

+
+
+ +
+
+

{item.date}

+

{item.job}

+
+ {item.contents.map((content, index) => ( +

+ {content} +

+ ))} +
+
+ ))} +
+ +
+
+
+ ); +}; \ No newline at end of file diff --git a/src/constants/index.js b/src/constants/index.js index 7f0e324..ae2027a 100644 --- a/src/constants/index.js +++ b/src/constants/index.js @@ -196,6 +196,17 @@ export const experiences = [ "Continuously upskilled on emerging tech and best practices to deliver efficient, scalable solutions and faster turnaround.", ], }, + { + title: "Content Writer & Web Developer", + job: "FINNOEXPERT, Pune, Maharashtra", + date: "Dec 2022 – Mar 2023", + contents: [ + "Wrote and optimized finance and investment-related content, improving audience engagement and helping increase organic traffic by 25%.", + "Designed and developed web pages for FinnoExpert, ensuring mobile responsiveness, SEO optimization, and improved user experience.", + "Collaborated with the core team to align content strategy and website updates with business goals, contributing to stronger brand presence.", + "Balanced dual responsibilities of content creation and development, showcasing adaptability and effective time management.", + ], + }, ]; export const reviews = [ diff --git a/src/sections/Experiences.jsx b/src/sections/Experiences.jsx new file mode 100644 index 0000000..cec1eaa --- /dev/null +++ b/src/sections/Experiences.jsx @@ -0,0 +1,11 @@ +import { Timeline } from "../components/Timeline"; +import { experiences } from "../constants"; +const Experiences = () => { + return ( +
+ +
+ ); +}; + +export default Experiences; \ No newline at end of file