added portfolio page

This commit is contained in:
Le fishe au chocolat 2026-06-30 16:11:14 +02:00
parent 62105edce8
commit 2ec4b80c52
7 changed files with 122 additions and 6 deletions

BIN
public/placeholder.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

View file

@ -0,0 +1,14 @@
import Link from "next/link"
export default function Sonion() {
return (<>
<Link href="/portfolio">
<div className="fixed w-screen h-screen left-0 top-0 z-10000 items-center flex justify-center backdrop-brightness-50">
<div className="space-y-2 max-w-3/5 p-5 bg-blue-950 border-2 border-solid border-gray-600 rounded-4xl z-10001 font-[Bitcount] text-gray-50 flex flex-col text-center justify-center items-center">
<h1 className="text-5xl">Where are you trying to go 🥀</h1>
<p className="text-xl">click anywhere to return to the portfolio</p>
</div>
</div>
</Link>
</>)
}

View file

@ -0,0 +1,30 @@
import Project from "@/components/project_card";
import { nextjs_tag, typescript_tag } from "@/types/tags";
export default function Portfolio({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<>
{children}
<div className="flex flex-col space-y-10">
<Project
tags={[nextjs_tag, typescript_tag]}
title="Periodicbrake.fr (this website)"
desc="Yeah i think it deserves to be here, so what?"
imgsrc="/scrot.png"
link="/portfolio/bruh"
/>
<Project
tags={[nextjs_tag, typescript_tag]}
title="Hollowdex"
desc="Sum hollow knight enemy collection shi"
imgsrc="/placeholder.png"
link="/portfolio/ongoingmaintenance/"
/>
</div>
</>
);
}

View file

@ -0,0 +1,14 @@
import Link from "next/link"
export default function Sonion() {
return (<>
<Link href="/portfolio">
<div className="fixed w-screen h-screen left-0 top-0 z-10000 items-center flex justify-center backdrop-brightness-50">
<div className="space-y-2 max-w-3/5 p-5 bg-blue-950 border-2 border-solid border-gray-600 rounded-4xl z-10001 font-[Bitcount] text-gray-50 flex flex-col text-center justify-center items-center">
<h1 className="text-5xl">The page or project you are trying to reach is currently under maintenance</h1>
<p className="text-xl">click anywhere to return to the portfolio</p>
</div>
</div>
</Link>
</>)
}

View file

@ -1,7 +1,3 @@
export default function Portfolio() { export default function Portfolio() {
return ( return <></>;
<> }
</>
)
}

View file

@ -0,0 +1,14 @@
import Link from "next/link"
export default function Sonion() {
return (<>
<Link href="/portfolio">
<div className="fixed w-screen h-screen left-0 top-0 z-10000 items-center flex justify-center backdrop-brightness-50">
<div className="space-y-2 max-w-3/5 p-5 bg-blue-950 border-2 border-solid border-gray-600 rounded-4xl z-10001 font-[Bitcount] text-gray-50 flex flex-col text-center justify-center items-center">
<h1 className="text-5xl">The page or project you are trying to reach is currently under construction</h1>
<p className="text-xl">click anywhere to return to the portfolio</p>
</div>
</div>
</Link>
</>)
}

View file

@ -0,0 +1,48 @@
import TagType from "@/types/tags";
import Tag from "@/components/tags";
import Image from "next/image";
import Link from "next/link";
interface ProjectInt {
tags: TagType[];
title: string;
desc: string;
imgsrc: string;
link: string;
}
export default function Project({
tags,
title,
desc,
imgsrc,
link,
}: ProjectInt) {
return (
<>
<Link href={link} className="rounded-4xl">
<div
id="card_container"
className="bg-blue-950 flex flex-col space-y-4 w-200 border-solid border-2 border-gray-600 px-5 py-5 rounded-4xl hover:border-blue-900 transition-all duration-500 hover:shadow-[0_0_20px_rgba(30,58,138,0.5)]"
>
<Image
src={imgsrc}
alt="project image"
width={1920}
height={1080}
className="w-full rounded-3xl"
/>
<div className="ml-3">
<h1 className="font-[Bitcount] text-gray-50 text-4xl">{title}</h1>
<p className="font-[Bitcount] text-gray-50 text-xl">{desc}</p>
</div>
<div className="flex flex-row space-x-5">
{tags.map((tag, index) => (
<Tag key={index} tag={tag} />
))}
</div>
</div>
</Link>
</>
);
}