import prismadb from "@/lib/prisma";

import { BillboardClient } from "./components/client";
import { BillboardColumn } from "./components/columns";
import { dateFormatter } from '@/lib/utils';
import { HomePageClient } from "./components/home-page";

const BillboardsPage = async ({
  params
}: {
  params: { storeId: string }
}) => {
  const billboards = await prismadb.billboard.findMany({
    where: {
      storeId: params.storeId
    },
    orderBy: {
      createdAt: 'desc'
    }
  });

  const formattedBillboards: BillboardColumn[] = billboards.map((item) => ({
    id: item.id,
    name: item.name,
    title: item.title,
    description: item.description,
    image: item.imageUrl,
    createdAt: dateFormatter.format(item.createdAt)
  }));

  const homepage = await prismadb.homePage.findUnique({
    where: {
      storeId: params.storeId
    }
  });

  return (
    <div className="flex-col">
      <div className="flex-1 space-y-4 p-8 pt-6">
        <HomePageClient initialData={homepage} billboards={billboards} />
        <BillboardClient data={formattedBillboards} />
      </div>
    </div>
  );
}

export default BillboardsPage;