import { redirect } from "next/navigation";

import prismadb from "@/lib/prisma";
import { SettingsForm } from "./components/settings-form";

import { getServerSession } from "next-auth";

interface SettingsPageProps {
  params: {
    storeId: string;
  }
};

const SettingsPage: React.FC<SettingsPageProps> = async ({
  params
}) => {
  const session = await getServerSession();
  const userId = session?.user?.email;

  if (!userId) {
    redirect("/login");
  }

  const store = await prismadb.store.findFirst({
    where: {
      id: params.storeId,
    },
    include: {
      userToStore: {
        where: {
          userId: userId
        }
      }
    }
  });

  if (!store) {
    redirect("/");
  }

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

export default SettingsPage;