From 1801749c8fdcf70bbcae3b74423410fd28f944f2 Mon Sep 17 00:00:00 2001 From: Naomi Carrigan Date: Sat, 12 Oct 2024 17:17:36 +0000 Subject: [PATCH] feat: add art component (#26) Reviewed-on: https://codeberg.org/nhcarrigan/portfolio/pulls/26 Co-authored-by: Naomi Carrigan Co-committed-by: Naomi Carrigan --- src/app/art/page.tsx | 24 ++++++++++++++++++++++++ src/components/art.tsx | 31 +++++++++++++++++++++++++++++++ src/config/Art.ts | 37 +++++++++++++++++++++++++++++++++++++ src/config/NavItems.ts | 1 + 4 files changed, 93 insertions(+) create mode 100644 src/app/art/page.tsx create mode 100644 src/components/art.tsx create mode 100644 src/config/Art.ts diff --git a/src/app/art/page.tsx b/src/app/art/page.tsx new file mode 100644 index 0000000..5692173 --- /dev/null +++ b/src/app/art/page.tsx @@ -0,0 +1,24 @@ +import { ArtComponent } from "@/components/art"; +import { Rule } from "@/components/rule"; +import { Art } from "@/config/Art"; + +const Arts = (): JSX.Element => { + return ( + <> +
+

Art

+
+

See various art depicting Naomi.

+ +
+ {Art.sort((a, b) => a.name.localeCompare(b.name)).map((art) => ( + + ))} +
+
+
+ + ); +}; + +export default Arts; diff --git a/src/components/art.tsx b/src/components/art.tsx new file mode 100644 index 0000000..5a7a590 --- /dev/null +++ b/src/components/art.tsx @@ -0,0 +1,31 @@ +import Image from "next/image"; + +interface ArtProps { + name: string; + img: string; + artist: string; + url: string; +} + +export const ArtComponent = (props: ArtProps): JSX.Element => { + const { name, img, artist, url } = props; + + return ( +
+

{name} by {artist}

+ + {name} + +
+ ); +}; diff --git a/src/config/Art.ts b/src/config/Art.ts new file mode 100644 index 0000000..ef1312e --- /dev/null +++ b/src/config/Art.ts @@ -0,0 +1,37 @@ +export const Art: { + name: string; + img: string; + artist: string; + url: string; + }[] = [ + { + name: "Avatar", + img: "profile.png", + artist: "Jazzybee", + url: "https://jazzybee.itch.io/sdvcharactercreator" + }, + { + name: "AI Bot", + img: "ai-bot.png", + artist: "Picrew", + url: "https://picrew.me/en/image_maker/1382748" + }, + { + name: "Mod Bot", + img: "mod-bot.png", + artist: "Picrew", + url: "https://picrew.me/en/image_maker/27700" + }, + { + name: "Translation Bot", + img: "translation-bot.png", + artist: "Picrew", + url: "https://picrew.me/en/image_maker/3595" + }, + { + name: "Task Bot", + img: "task-bot.png", + artist: "Picrew", + url: "https://picrew.me/en/image_maker/700620" + } + ] \ No newline at end of file diff --git a/src/config/NavItems.ts b/src/config/NavItems.ts index 19d8cc8..e221e9d 100644 --- a/src/config/NavItems.ts +++ b/src/config/NavItems.ts @@ -9,5 +9,6 @@ export const NavItems = [ { href: "/team", text: "Our Team" }, { href: "/polycule", text: "Polycule"}, { href: "/activity", text: "Activity"}, + { href: "/art", text: "Art"}, { href: "https://nhcarrigan.creator-spring.com/", text: "Merch"} ].sort((a, b) => a.text.localeCompare(b.text));