feat: create Chip component for displaying technology tags feat: implement ExperienceCard component to showcase job experiences feat: add Experience component to list multiple job experiences feat: create Footer component with social links and copyright information feat: implement Hero component for the landing section with social links feat: add ImageCarousel component for displaying project images feat: create Navbar component with scroll effect and navigation links feat: implement ProjectItem component to display individual project details feat: add Skills component to showcase technical skills feat: create data module with skills, jobs, and projects information feat: define types for Skill, Job, and Project in types module chore: update package.json with new dependencies for Tailwind CSS and Lucide icons chore: add CV PDF file to public directory chore: remove unused SVG files from public directory chore: add new images for background and hero sections feat: implement formatDate utility function for date formatting
30 lines
886 B
TypeScript
30 lines
886 B
TypeScript
import ProjectItem from "@/components/project-item";
|
|
import { projects } from "@/lib/data";
|
|
import { Metadata } from "next";
|
|
|
|
export const metadata: Metadata = {
|
|
title: "My Projects | Gabriel Kaszewski",
|
|
description: "A showcase of projects by Gabriel Kaszewski.",
|
|
};
|
|
|
|
const ProjectsPage = () => {
|
|
return (
|
|
<div className="flex w-full h-full min-h-screen flex-col items-center gap-4 pt-24">
|
|
<h1 className="text-5xl font-bold text-center text-white">My Projects</h1>
|
|
|
|
<div className="w-full flex flex-col items-center gap-16 mt-8">
|
|
{projects.map((project) => (
|
|
<ProjectItem key={project.id} project={project} />
|
|
))}
|
|
{projects.length === 0 && (
|
|
<p className="text-white text-center">
|
|
No projects available. Working on it!
|
|
</p>
|
|
)}
|
|
</div>
|
|
</div>
|
|
);
|
|
};
|
|
|
|
export default ProjectsPage;
|