import prismadb from "@/lib/prisma";

import { FeatureClient } from "./components/client";
import { FeatureColumn } from "./components/columns";
import { dateFormatter } from '@/lib/utils';

const CategoriesPage = async ({
  params
}: {
  params: { storeId: string }
}) => {
  const features = await prismadb.feature.findMany({
    where: {
      storeId: params.storeId
    },
    include: {
      values: {
        orderBy: {
          value: 'asc'
        }
      }
    },
    orderBy: {
      name: 'asc'
    }
  })

  const formattedFeatures: FeatureColumn[] = features.map((feature) => ({
    idFeature: feature.id,
    id: feature.id,
    name: feature.name,
    values: feature.values.map((value) => ({
      id: value.id,
      idFeature: feature.id,
      value: value.value,
      createdAt: dateFormatter.format(value.createdAt)
    }))
  }));

  return (
    <div className="flex-col">
      <div className="flex-1 space-y-4 p-8 pt-6">
        <FeatureClient data={formattedFeatures} />
      </div>
    </div>
  );
}

export default CategoriesPage;