From 1d485a85db9d3c2872f0ab0cdf9a3ecf998941a6 Mon Sep 17 00:00:00 2001 From: Chhakuli Date: Sun, 7 Jul 2024 08:37:51 +0530 Subject: [PATCH 1/2] style: refactor some style --- src/app/layout.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 1bd67e3..5d255d9 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -25,7 +25,9 @@ type RootLayoutProps = Readonly<{ export default function RootLayout({ children }: RootLayoutProps) { return ( - + {children} From c7345455787b857819f301ac02732e355ef39a5a Mon Sep 17 00:00:00 2001 From: Chhakuli Date: Sun, 7 Jul 2024 08:41:08 +0530 Subject: [PATCH 2/2] feat: add explore projects section --- src/components/home/Homepage.tsx | 2 + .../home/section/ExploreProjectsSection.tsx | 51 ++++++++++++++++ src/components/home/section/ProjectCart.tsx | 59 +++++++++++++++++++ .../home/section/helper/projects.ts | 29 +++++++++ types/index.ts | 1 + types/interface/projectCard.ts | 9 +++ 6 files changed, 151 insertions(+) create mode 100644 src/components/home/section/ExploreProjectsSection.tsx create mode 100644 src/components/home/section/ProjectCart.tsx create mode 100644 src/components/home/section/helper/projects.ts create mode 100644 types/index.ts create mode 100644 types/interface/projectCard.ts diff --git a/src/components/home/Homepage.tsx b/src/components/home/Homepage.tsx index 8c83ff8..5492545 100644 --- a/src/components/home/Homepage.tsx +++ b/src/components/home/Homepage.tsx @@ -1,6 +1,7 @@ import Footer from '@/layout/footer/Footer'; import Navbar from '@/layout/navbar/Navbar'; +import ExploreProjectsSection from './section/ExploreProjectsSection'; import FeaturesSection from './section/FeaturesSection'; import HeroSection from './section/HeroSection'; @@ -9,6 +10,7 @@ const Homepage = () => {
+
diff --git a/src/components/home/section/ExploreProjectsSection.tsx b/src/components/home/section/ExploreProjectsSection.tsx new file mode 100644 index 0000000..b6fd816 --- /dev/null +++ b/src/components/home/section/ExploreProjectsSection.tsx @@ -0,0 +1,51 @@ +'use client'; + +import React from 'react'; +import { motion } from 'framer-motion'; + +import { projects } from './helper/projects'; +import ProjectCard from './ProjectCart'; + +const ExploreProjectsSection = () => { + return ( +
+
+ + Explore Projects{' '} + + + Dive into our showcase projects and experience the power of + CodeCompass in action. + + +
+ {/* Vertical Timeline */} +
+ + {projects.map((project, index) => ( + + + {/* Timeline Node */} +
+
+ ))} +
+
+
+ ); +}; + +export default ExploreProjectsSection; diff --git a/src/components/home/section/ProjectCart.tsx b/src/components/home/section/ProjectCart.tsx new file mode 100644 index 0000000..ce69b10 --- /dev/null +++ b/src/components/home/section/ProjectCart.tsx @@ -0,0 +1,59 @@ +import { motion } from 'framer-motion'; +import { LuChevronRight, LuCode, LuStar, LuUsers } from 'react-icons/lu'; + +import { ProjectCardProps } from 'types'; + +const ProjectCard: React.FC = ({ + title, + description, + language, + lastUpdated, + stars, + contributors, + isRight, +}) => ( + +
+
+
+
+ +

{title}

+
+ + {language} + +
+

{description}

+
+
+ + {stars} + + + {contributors} + +
+ Updated {lastUpdated} +
+
+ +
+
+
+
+); + +export default ProjectCard; diff --git a/src/components/home/section/helper/projects.ts b/src/components/home/section/helper/projects.ts new file mode 100644 index 0000000..6ac1498 --- /dev/null +++ b/src/components/home/section/helper/projects.ts @@ -0,0 +1,29 @@ +export const projects = [ + { + title: 'E-commerce Platform', + description: + 'AttireX is a fashion e-commerce website that aims to provide a seamless and enjoyable shopping experience for customers looking to explore and purchase the latest fashion trends..', + language: 'React', + lastUpdated: 'last year', + stars: 8, + contributors: 1, + }, + { + title: 'CodeCompass.AI', + description: + ' Save time, boost productivity, and ensure seamless knowledge transfer across your organization. Transform how your team navigates project information.', + language: 'NextJS', + lastUpdated: 'a day ago', + stars: 2, + contributors: 2, + }, + { + title: 'Git Repo Parser', + description: + 'A tool to scrape all files from a GitHub repository and turn it into a JSON or TXT file, Useful for AI and LLM Projects.', + language: 'Typescript', + lastUpdated: '3 days ago', + stars: 2, + contributors: 1, + }, +]; diff --git a/types/index.ts b/types/index.ts new file mode 100644 index 0000000..70fe245 --- /dev/null +++ b/types/index.ts @@ -0,0 +1 @@ +export type { ProjectCardProps } from './interface/projectCard'; diff --git a/types/interface/projectCard.ts b/types/interface/projectCard.ts new file mode 100644 index 0000000..35dd413 --- /dev/null +++ b/types/interface/projectCard.ts @@ -0,0 +1,9 @@ +export interface ProjectCardProps { + title: string; + description: string; + language: string; + lastUpdated: string; + stars: number; + contributors: number; + isRight: boolean; +}