diff --git a/public/placeholder.png b/public/placeholder.png new file mode 100644 index 0000000..ed6df8c Binary files /dev/null and b/public/placeholder.png differ diff --git a/src/app/portfolio/bruh/page.tsx b/src/app/portfolio/bruh/page.tsx new file mode 100644 index 0000000..08056e8 --- /dev/null +++ b/src/app/portfolio/bruh/page.tsx @@ -0,0 +1,14 @@ +import Link from "next/link" + +export default function Sonion() { + return (<> + +
+
+

Where are you trying to go 🥀

+

click anywhere to return to the portfolio

+
+
+ + ) +} \ No newline at end of file diff --git a/src/app/portfolio/layout.tsx b/src/app/portfolio/layout.tsx new file mode 100644 index 0000000..5233a95 --- /dev/null +++ b/src/app/portfolio/layout.tsx @@ -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} +
+ + +
+ + ); +} diff --git a/src/app/portfolio/ongoingmaintenance/page.tsx b/src/app/portfolio/ongoingmaintenance/page.tsx new file mode 100644 index 0000000..d46bdff --- /dev/null +++ b/src/app/portfolio/ongoingmaintenance/page.tsx @@ -0,0 +1,14 @@ +import Link from "next/link" + +export default function Sonion() { + return (<> + +
+
+

The page or project you are trying to reach is currently under maintenance

+

click anywhere to return to the portfolio

+
+
+ + ) +} \ No newline at end of file diff --git a/src/app/portfolio/page.tsx b/src/app/portfolio/page.tsx index 3a09d9a..6b1eed0 100644 --- a/src/app/portfolio/page.tsx +++ b/src/app/portfolio/page.tsx @@ -1,7 +1,3 @@ export default function Portfolio() { - return ( - <> - - - ) -} \ No newline at end of file + return <>; +} diff --git a/src/app/portfolio/underconstruction/page.tsx b/src/app/portfolio/underconstruction/page.tsx new file mode 100644 index 0000000..5642af8 --- /dev/null +++ b/src/app/portfolio/underconstruction/page.tsx @@ -0,0 +1,14 @@ +import Link from "next/link" + +export default function Sonion() { + return (<> + +
+
+

The page or project you are trying to reach is currently under construction

+

click anywhere to return to the portfolio

+
+
+ + ) +} \ No newline at end of file diff --git a/src/components/project_card.tsx b/src/components/project_card.tsx new file mode 100644 index 0000000..c730a45 --- /dev/null +++ b/src/components/project_card.tsx @@ -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 ( + <> + +
+ project image +
+

{title}

+

{desc}

+
+
+ {tags.map((tag, index) => ( + + ))} +
+
+ + + ); +}