import { redirect } from "next/navigation";

type MailSetupPageProps = {
  searchParams?: Promise<Record<string, string | string[] | undefined>>;
};

function pickParam(value: string | string[] | undefined) {
  return Array.isArray(value) ? value[0] : value;
}

export default async function MailSetupPage({ searchParams }: MailSetupPageProps) {
  const params = searchParams ? await searchParams : {};
  const redirectParams = new URLSearchParams();

  redirectParams.set("panel", "setup");
  redirectParams.set("section", "domain");

  for (const key of ["error", "success", "details"]) {
    const value = pickParam(params[key]);

    if (value) {
      redirectParams.set(key, value);
    }
  }

  redirect(`/mail?${redirectParams.toString()}`);
}
