diff --git a/components/Grid.tsx b/components/Grid.tsx index 54cee28..560e5bc 100644 --- a/components/Grid.tsx +++ b/components/Grid.tsx @@ -1,18 +1,33 @@ import React from "react"; import { BentoGrid, BentoGridItem } from "./ui/BentoGrid"; +import { gridItems } from "@/data"; const Grid = () => { return ( <>
- {[{ title: "Title1", description: "Desc1", id: "1" }].map( - (item, i) => ( + {gridItems.map( + ({ + id, + title, + description, + className, + img, + imgClassName, + titleClassName, + spareImg, + }) => ( ) )} diff --git a/components/Hero.tsx b/components/Hero.tsx index 4178bd0..b5d723d 100644 --- a/components/Hero.tsx +++ b/components/Hero.tsx @@ -2,6 +2,7 @@ import React from "react"; import { Spotlight } from "./ui/Spotlight"; import { TextGenerateEffect } from "./ui/TextGenerate"; import MagicButton from "./ui/MagicButton"; +import MagicButton2 from "./ui/MagicButton2"; const Hero = () => { return ( @@ -36,6 +37,9 @@ const Hero = () => { + + + diff --git a/components/ui/BentoGrid.tsx b/components/ui/BentoGrid.tsx index 4440011..da18d12 100644 --- a/components/ui/BentoGrid.tsx +++ b/components/ui/BentoGrid.tsx @@ -23,25 +23,32 @@ export const BentoGridItem = ({ className, title, description, - header, - icon, + id, + img, + imgClassName, + titleClassName, + spareImg, }: { className?: string; title?: string | React.ReactNode; description?: string | React.ReactNode; header?: React.ReactNode; icon?: React.ReactNode; + id?: number; + img?: string; + imgClassName?: string; + titleClassName?: string; + spareImg?: string; }) => { return (
- {header}
- {icon}
{title}
diff --git a/components/ui/MagicButton2.tsx b/components/ui/MagicButton2.tsx new file mode 100644 index 0000000..e9ab82d --- /dev/null +++ b/components/ui/MagicButton2.tsx @@ -0,0 +1,12 @@ +import React from "react"; +import { FaDownload } from "react-icons/fa6"; + +const MagicButton2 = () => { + return ( + + ); +}; + +export default MagicButton2; diff --git a/data/index.ts b/data/index.ts new file mode 100644 index 0000000..2c3c0fb --- /dev/null +++ b/data/index.ts @@ -0,0 +1,217 @@ +export const navItems = [ + { name: "About", link: "#about" }, + { name: "Projects", link: "#projects" }, + { name: "Testimonials", link: "#testimonials" }, + { name: "Contact", link: "#contact" }, +]; + +export const gridItems = [ + { + id: 1, + title: "I prioritize client collaboration, fostering open communication ", + description: "", + className: "lg:col-span-1 md:col-span-6 md:row-span-2", + imgClassName: "w-full h-full", + titleClassName: "justify-end", + img: "/b1.svg", + spareImg: "", + }, + { + id: 2, + title: "I'm very flexible with time zone communications", + description: "", + className: "lg:col-span-2 md:col-span-3 md:row-span-1", + imgClassName: "", + titleClassName: "justify-start", + img: "", + spareImg: "", + }, + { + id: 3, + title: "My tech stack", + description: "I constantly try to improve", + className: "lg:col-span-1 md:col-span-3 md:row-span-1", + imgClassName: "", + titleClassName: "justify-center", + img: "", + spareImg: "", + }, + { + id: 4, + title: "Tech enthusiast with a passion for development.", + description: "", + className: "lg:col-span-1 md:col-span-3 md:row-span-2", + imgClassName: "", + titleClassName: "justify-start", + img: "/grid.svg", + spareImg: "/b4.svg", + }, + + { + id: 5, + title: "Currently building a JS Animation library", + description: "The Inside Scoop", + className: "md:col-span-2 md:row-span-1", + imgClassName: "absolute right-0 bottom-0 md:w-96 w-60", + titleClassName: "justify-center md:justify-start lg:justify-center", + img: "/b5.svg", + spareImg: "/grid.svg", + }, + { + id: 6, + title: "Do you want to start a project together?", + description: "", + className: "lg:col-span-3 md:col-span-3 md:row-span-1", + imgClassName: "", + titleClassName: "justify-center md:max-w-full max-w-60 text-center", + img: "", + spareImg: "", + }, +]; + +export const projects = [ + { + id: 1, + title: "3D Solar System Planets to Explore", + des: "Explore the wonders of our solar system with this captivating 3D simulation of the planets using Three.js.", + img: "/p1.svg", + iconLists: ["/re.svg", "/tail.svg", "/ts.svg", "/three.svg", "/fm.svg"], + link: "https://github.com/adrianhajdin?tab=repositories", + }, + { + id: 2, + title: "Yoom - Video Conferencing App", + des: "Simplify your video conferencing experience with Yoom. Seamlessly connect with colleagues and friends.", + img: "/p2.svg", + iconLists: ["/next.svg", "/tail.svg", "/ts.svg", "/stream.svg", "/c.svg"], + link: "https://github.com/adrianhajdin/zoom-clone", + }, + { + id: 3, + title: "AI Image SaaS - Canva Application", + des: "A REAL Software-as-a-Service app with AI features and a payments and credits system using the latest tech stack.", + img: "/p3.svg", + iconLists: ["/re.svg", "/tail.svg", "/ts.svg", "/three.svg", "/c.svg"], + link: "https://github.com/adrianhajdin/ai_saas_app", + }, + { + id: 4, + title: "Animated Apple Iphone 3D Website", + des: "Recreated the Apple iPhone 15 Pro website, combining GSAP animations and Three.js 3D effects..", + img: "/p4.svg", + iconLists: ["/next.svg", "/tail.svg", "/ts.svg", "/three.svg", "/gsap.svg"], + link: "https://github.com/adrianhajdin/iphone", + }, +]; + +export const testimonials = [ + { + quote: + "Collaborating with Adrian was an absolute pleasure. His professionalism, promptness, and dedication to delivering exceptional results were evident throughout our project. Adrian's enthusiasm for every facet of development truly stands out. If you're seeking to elevate your website and elevate your brand, Adrian is the ideal partner.", + name: "Michael Johnson", + title: "Director of AlphaStream Technologies", + }, + { + quote: + "Collaborating with Adrian was an absolute pleasure. His professionalism, promptness, and dedication to delivering exceptional results were evident throughout our project. Adrian's enthusiasm for every facet of development truly stands out. If you're seeking to elevate your website and elevate your brand, Adrian is the ideal partner.", + name: "Michael Johnson", + title: "Director of AlphaStream Technologies", + }, + { + quote: + "Collaborating with Adrian was an absolute pleasure. His professionalism, promptness, and dedication to delivering exceptional results were evident throughout our project. Adrian's enthusiasm for every facet of development truly stands out. If you're seeking to elevate your website and elevate your brand, Adrian is the ideal partner.", + name: "Michael Johnson", + title: "Director of AlphaStream Technologies", + }, + { + quote: + "Collaborating with Adrian was an absolute pleasure. His professionalism, promptness, and dedication to delivering exceptional results were evident throughout our project. Adrian's enthusiasm for every facet of development truly stands out. If you're seeking to elevate your website and elevate your brand, Adrian is the ideal partner.", + name: "Michael Johnson", + title: "Director of AlphaStream Technologies", + }, + { + quote: + "Collaborating with Adrian was an absolute pleasure. His professionalism, promptness, and dedication to delivering exceptional results were evident throughout our project. Adrian's enthusiasm for every facet of development truly stands out. If you're seeking to elevate your website and elevate your brand, Adrian is the ideal partner.", + name: "Michael Johnson", + title: "Director of AlphaStream Technologies", + }, +]; + +export const companies = [ + { + id: 1, + name: "cloudinary", + img: "/cloud.svg", + nameImg: "/cloudName.svg", + }, + { + id: 2, + name: "appwrite", + img: "/app.svg", + nameImg: "/appName.svg", + }, + { + id: 3, + name: "HOSTINGER", + img: "/host.svg", + nameImg: "/hostName.svg", + }, + { + id: 4, + name: "stream", + img: "/s.svg", + nameImg: "/streamName.svg", + }, + { + id: 5, + name: "docker.", + img: "/dock.svg", + nameImg: "/dockerName.svg", + }, +]; + +export const workExperience = [ + { + id: 1, + title: "Frontend Engineer Intern", + desc: "Assisted in the development of a web-based platform using React.js, enhancing interactivity.", + className: "md:col-span-2", + thumbnail: "/exp1.svg", + }, + { + id: 2, + title: "Mobile App Dev - JSM Tech", + desc: "Designed and developed mobile app for both iOS & Android platforms using React Native.", + className: "md:col-span-2", // change to md:col-span-2 + thumbnail: "/exp2.svg", + }, + { + id: 3, + title: "Freelance App Dev Project", + desc: "Led the dev of a mobile app for a client, from initial concept to deployment on app stores.", + className: "md:col-span-2", // change to md:col-span-2 + thumbnail: "/exp3.svg", + }, + { + id: 4, + title: "Lead Frontend Developer", + desc: "Developed and maintained user-facing features using modern frontend technologies.", + className: "md:col-span-2", + thumbnail: "/exp4.svg", + }, +]; + +export const socialMedia = [ + { + id: 1, + img: "/git.svg", + }, + { + id: 2, + img: "/twit.svg", + }, + { + id: 3, + img: "/link.svg", + }, +]; \ No newline at end of file diff --git a/public/app.svg b/public/app.svg new file mode 100644 index 0000000..129c8bd --- /dev/null +++ b/public/app.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/appName.svg b/public/appName.svg new file mode 100644 index 0000000..dc3f2a5 --- /dev/null +++ b/public/appName.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/public/arrow.svg b/public/arrow.svg new file mode 100644 index 0000000..7ce5094 --- /dev/null +++ b/public/arrow.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/b1.svg b/public/b1.svg new file mode 100644 index 0000000..5aed98a --- /dev/null +++ b/public/b1.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/b4.svg b/public/b4.svg new file mode 100644 index 0000000..13cc77c --- /dev/null +++ b/public/b4.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/public/b5.svg b/public/b5.svg new file mode 100644 index 0000000..aa70ab8 --- /dev/null +++ b/public/b5.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/bg.png b/public/bg.png new file mode 100644 index 0000000..f97f3ea Binary files /dev/null and b/public/bg.png differ diff --git a/public/c.svg b/public/c.svg new file mode 100644 index 0000000..6fe03ae --- /dev/null +++ b/public/c.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/public/cloud.svg b/public/cloud.svg new file mode 100644 index 0000000..bea465e --- /dev/null +++ b/public/cloud.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/public/cloudName.svg b/public/cloudName.svg new file mode 100644 index 0000000..0cbdecd --- /dev/null +++ b/public/cloudName.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/public/confetti.gif b/public/confetti.gif new file mode 100644 index 0000000..b0c9692 Binary files /dev/null and b/public/confetti.gif differ diff --git a/public/dock.svg b/public/dock.svg new file mode 100644 index 0000000..6583ea7 --- /dev/null +++ b/public/dock.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/dockerName.svg b/public/dockerName.svg new file mode 100644 index 0000000..447d699 --- /dev/null +++ b/public/dockerName.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/exp1.svg b/public/exp1.svg new file mode 100644 index 0000000..a723403 --- /dev/null +++ b/public/exp1.svg @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/exp2.svg b/public/exp2.svg new file mode 100644 index 0000000..de08f4f --- /dev/null +++ b/public/exp2.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/exp3.svg b/public/exp3.svg new file mode 100644 index 0000000..ca79871 --- /dev/null +++ b/public/exp3.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/exp4.svg b/public/exp4.svg new file mode 100644 index 0000000..ed32159 --- /dev/null +++ b/public/exp4.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/fm.svg b/public/fm.svg new file mode 100644 index 0000000..53c049b --- /dev/null +++ b/public/fm.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/footer-grid.svg b/public/footer-grid.svg new file mode 100644 index 0000000..0948698 --- /dev/null +++ b/public/footer-grid.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/git.svg b/public/git.svg new file mode 100644 index 0000000..41b30ff --- /dev/null +++ b/public/git.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/grid.svg b/public/grid.svg new file mode 100644 index 0000000..527cc2f --- /dev/null +++ b/public/grid.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/gsap.svg b/public/gsap.svg new file mode 100644 index 0000000..2cce6f9 --- /dev/null +++ b/public/gsap.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/host.svg b/public/host.svg new file mode 100644 index 0000000..f5b0989 --- /dev/null +++ b/public/host.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/hostName.svg b/public/hostName.svg new file mode 100644 index 0000000..9eb86f3 --- /dev/null +++ b/public/hostName.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/public/insta.svg b/public/insta.svg new file mode 100644 index 0000000..3d7f45b --- /dev/null +++ b/public/insta.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/jsm-logo.png b/public/jsm-logo.png new file mode 100644 index 0000000..6907f8f Binary files /dev/null and b/public/jsm-logo.png differ diff --git a/public/link.svg b/public/link.svg new file mode 100644 index 0000000..2591e46 --- /dev/null +++ b/public/link.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/next.svg b/public/next.svg index 5174b28..853c5f5 100644 --- a/public/next.svg +++ b/public/next.svg @@ -1 +1,10 @@ - \ No newline at end of file + + + + + + + + + + diff --git a/public/p1.svg b/public/p1.svg new file mode 100644 index 0000000..a6fc0a6 --- /dev/null +++ b/public/p1.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/p2.svg b/public/p2.svg new file mode 100644 index 0000000..c4ca5af --- /dev/null +++ b/public/p2.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/p3.svg b/public/p3.svg new file mode 100644 index 0000000..7da0552 --- /dev/null +++ b/public/p3.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/p4.svg b/public/p4.svg new file mode 100644 index 0000000..768d443 --- /dev/null +++ b/public/p4.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/profile.svg b/public/profile.svg new file mode 100644 index 0000000..85e0957 --- /dev/null +++ b/public/profile.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/public/re.svg b/public/re.svg new file mode 100644 index 0000000..e228447 --- /dev/null +++ b/public/re.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/public/resume.pdf b/public/resume.pdf new file mode 100644 index 0000000..c92b003 Binary files /dev/null and b/public/resume.pdf differ diff --git a/public/s.svg b/public/s.svg new file mode 100644 index 0000000..3ff03eb --- /dev/null +++ b/public/s.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/stream.svg b/public/stream.svg new file mode 100644 index 0000000..a2270da --- /dev/null +++ b/public/stream.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/public/streamName.svg b/public/streamName.svg new file mode 100644 index 0000000..8d13301 --- /dev/null +++ b/public/streamName.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/tail.svg b/public/tail.svg new file mode 100644 index 0000000..eadb11c --- /dev/null +++ b/public/tail.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/three.svg b/public/three.svg new file mode 100644 index 0000000..f974e37 --- /dev/null +++ b/public/three.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/ts.svg b/public/ts.svg new file mode 100644 index 0000000..018bc1a --- /dev/null +++ b/public/ts.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/public/twit.svg b/public/twit.svg new file mode 100644 index 0000000..5e2b774 --- /dev/null +++ b/public/twit.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/wha.svg b/public/wha.svg new file mode 100644 index 0000000..77f5c3b --- /dev/null +++ b/public/wha.svg @@ -0,0 +1,3 @@ + + +