import { notFound } from "next/navigation";
import { getSessionUser } from "@/lib/auth";
import { getPlaylistWithItems } from "@/lib/data";
import { PlaylistView } from "@/components/playlist-view";

export const dynamic = "force-dynamic";

export default async function PlaylistPage({ params }: { params: Promise<{ id: string }> }) {
  const { id } = await params;
  const session = await getSessionUser();
  const data = await getPlaylistWithItems(id);
  if (!data) notFound();
  if (data.playlist.visibility === "private" && data.playlist.ownerUserId !== session?.user.id) notFound();
  return <PlaylistView playlist={data.playlist} items={data.items} isOwner={data.playlist.ownerUserId === session?.user.id} />;
}
