diff --git a/app/page.tsx b/app/page.tsx index a2f1f9c..c2d295a 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -1,5 +1,6 @@ import Grid from "@/components/Grid"; import Hero from "@/components/Hero"; +import RecentProjects from "@/components/RecentProjects"; import { FloatingNav } from "@/components/ui/FloatingNav"; import { FaHome } from "react-icons/fa"; @@ -12,6 +13,7 @@ export default function Home() { /> + ); diff --git a/components/RecentProjects.tsx b/components/RecentProjects.tsx new file mode 100644 index 0000000..b77352b --- /dev/null +++ b/components/RecentProjects.tsx @@ -0,0 +1,83 @@ +"use client"; + +import { FaLocationArrow } from "react-icons/fa6"; + +import { projects } from "@/data"; +import { PinContainer } from "@/components/ui/3d-pin"; + +const RecentProjects = () => { + return ( +
+

+ A small selection of{" "} + recent projects +

+
+ {projects.map((item) => ( +
+ +
+
+ bgimg +
+ cover +
+ +

+ {item.title} +

+ +

+ {item.des} +

+ +
+
+ {item.iconLists.map((icon, index) => ( +
+ icon5 +
+ ))} +
+ +
+

+ Check Live Site +

+ +
+
+
+
+ ))} +
+
+ ); +}; + +export default RecentProjects; diff --git a/components/ui/3d-pin.tsx b/components/ui/3d-pin.tsx new file mode 100644 index 0000000..19144c2 --- /dev/null +++ b/components/ui/3d-pin.tsx @@ -0,0 +1,166 @@ +"use client"; +import React, { useState } from "react"; +import { motion } from "framer-motion"; +import { cn } from "@/utils/cn"; +import Link from "next/link"; + +export const PinContainer = ({ + children, + title, + href, + className, + containerClassName, +}: { + children: React.ReactNode; + title?: string; + href?: string; + className?: string; + containerClassName?: string; +}) => { + const [transform, setTransform] = useState( + "translate(-50%,-50%) rotateX(0deg)" + ); + + const onMouseEnter = () => { + setTransform("translate(-50%,-50%) rotateX(40deg) scale(0.8)"); + }; + const onMouseLeave = () => { + setTransform("translate(-50%,-50%) rotateX(0deg) scale(1)"); + }; + + return ( + +
+
+
{children}
+
+
+ + + ); +}; + +export const PinPerspective = ({ + title, + href, +}: { + title?: string; + href?: string; +}) => { + return ( + +
+ + +
+ <> + + + + +
+ + <> + + + + + +
+
+ ); +}; diff --git a/components/ui/PinContainer.tsx b/components/ui/PinContainer.tsx new file mode 100644 index 0000000..086eacf --- /dev/null +++ b/components/ui/PinContainer.tsx @@ -0,0 +1,26 @@ +"use client"; +import React from "react"; +import { PinContainer } from "@/components/ui/3d-pin"; + +export function AnimatedPinDemo() { + return ( +
+ +
+

+ Aceternity UI +

+
+ + Customizable Tailwind CSS and Framer Motion Components. + +
+
+
+ +
+ ); +} diff --git a/data/index.ts b/data/index.ts index d62c401..351bfbf 100644 --- a/data/index.ts +++ b/data/index.ts @@ -72,7 +72,7 @@ export const gridItems = [ export const projects = [ { id: 1, - title: "3D Solar System Planets to Explore", + title: "Google - Gemini Clone", 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"], @@ -80,24 +80,24 @@ export const projects = [ }, { id: 2, - title: "Yoom - Video Conferencing App", - des: "Simplify your video conferencing experience with Yoom. Seamlessly connect with colleagues and friends.", + title: "Zoom Clone - Video Conferencing App", + des: "Simplify your video conferencing experience with Zoom. Seamlessly connect with colleagues and friends.", img: "/p2.svg", iconLists: ["/next.svg", "/tail.svg", "/ts.svg", "/stream.svg", "/c.svg"], - link: "/ui.yoom.com", + link: "https://zoom-clone-iota-six.vercel.app/", }, { 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.", + title: "React Chat-App using Firebase", + des: "Developed real-time chat application with user auth. with firebase using the latest tech stack.", img: "/p3.svg", iconLists: ["/re.svg", "/tail.svg", "/ts.svg", "/three.svg", "/c.svg"], link: "/ui.aiimg.com", }, { id: 4, - title: "Animated Apple Iphone 3D Website", - des: "Recreated the Apple iPhone 15 Pro website, combining GSAP animations and Three.js 3D effects..", + title: "LearNovice - Learning Management System", + des: "Developed LMS for user exprience using PHP, MySQL, JavaScript, jQuery and HTML/CSS", img: "/p4.svg", iconLists: ["/next.svg", "/tail.svg", "/ts.svg", "/three.svg", "/gsap.svg"], link: "/ui.apple.com",