diff --git a/src/app/components/like-button.tsx b/src/app/components/like-button.tsx index 1f541c8..09ae5a4 100644 --- a/src/app/components/like-button.tsx +++ b/src/app/components/like-button.tsx @@ -7,9 +7,10 @@ import { Icon } from "@iconify/react"; interface Props { likes: number; isLoggedIn: boolean; + big?: boolean; } -export default function LikeButton({ likes, isLoggedIn }: Props) { +export default function LikeButton({ likes, isLoggedIn, big }: Props) { const [isLiked, setIsLiked] = useState(false); const [likesState, setLikesState] = useState(likes); @@ -23,7 +24,7 @@ export default function LikeButton({ likes, isLoggedIn }: Props) { }; return ( - diff --git a/src/app/components/mii-list.tsx b/src/app/components/mii-list.tsx index 546b292..5f3d8dc 100644 --- a/src/app/components/mii-list.tsx +++ b/src/app/components/mii-list.tsx @@ -104,11 +104,13 @@ export default async function MiiList({ searchParams, userId }: Props) { key={mii.id} className="flex flex-col bg-zinc-50 rounded-3xl border-2 border-zinc-300 shadow-lg p-3 transition hover:scale-105 hover:bg-cyan-100 hover:border-cyan-600" > - mii + + mii +
-

+ {mii.name} -

+
{mii.tags.map((tag) => ( diff --git a/src/app/mii/[slug]/page.tsx b/src/app/mii/[slug]/page.tsx new file mode 100644 index 0000000..5030a9a --- /dev/null +++ b/src/app/mii/[slug]/page.tsx @@ -0,0 +1,58 @@ +import Link from "next/link"; + +import { auth } from "@/lib/auth"; +import { prisma } from "@/lib/prisma"; + +import LikeButton from "@/app/components/like-button"; + +interface Props { + params: Promise<{ slug: string }>; +} + +export default async function ProfilePage({ params }: Props) { + const { slug } = await params; + const session = await auth(); + + const mii = await prisma.mii.findFirst({ + where: { + id: Number(slug), + }, + include: { + user: { + select: { + id: true, + username: true, + }, + }, + }, + }); + + return ( +
+ mii +
+

{mii?.name}

+
+ {mii?.tags.map((tag) => ( + + {tag} + + ))} +
+ +
+ + By: @{mii?.user.username} + +

+ Created: {mii?.createdAt.toLocaleDateString("en-GB", { month: "long", day: "2-digit", year: "numeric" })} +

+
+ +
+ +
+
+
+ ); +} diff --git a/src/app/profile/[slug]/page.tsx b/src/app/profile/[slug]/page.tsx index 5e6fc42..f7051fb 100644 --- a/src/app/profile/[slug]/page.tsx +++ b/src/app/profile/[slug]/page.tsx @@ -1,5 +1,6 @@ import Image from "next/image"; import { prisma } from "@/lib/prisma"; + import MiiList from "@/app/components/mii-list"; interface Props {