2024-11-24 23:30:44 +05:00
|
|
|
import SignUpForm from "@/components/auth/signup-form";
|
2024-11-27 14:18:17 +05:00
|
|
|
import { auth } from "@/lib/auth";
|
2024-11-27 07:48:16 +05:00
|
|
|
import prisma from "@/lib/db";
|
2024-11-27 14:18:17 +05:00
|
|
|
import { headers } from "next/headers";
|
2024-11-24 23:30:44 +05:00
|
|
|
import Image from "next/image";
|
2024-11-27 14:18:17 +05:00
|
|
|
import { redirect } from "next/navigation";
|
2024-11-24 23:30:44 +05:00
|
|
|
import React from "react";
|
|
|
|
|
2024-11-27 14:18:17 +05:00
|
|
|
export default async function SignupPage({
|
|
|
|
searchParams,
|
|
|
|
}: {
|
|
|
|
searchParams: Promise<{ phone_number: string }>;
|
|
|
|
}) {
|
|
|
|
const session = await auth.api.getSession({
|
|
|
|
headers: await headers(),
|
|
|
|
});
|
|
|
|
if (session) {
|
|
|
|
return redirect("/devices");
|
|
|
|
}
|
2024-11-24 23:30:44 +05:00
|
|
|
|
2024-11-27 14:18:17 +05:00
|
|
|
const phone_number = (await searchParams).phone_number;
|
|
|
|
if (!phone_number) {
|
|
|
|
return redirect("/login");
|
|
|
|
}
|
|
|
|
const atolls = await prisma.atoll.findMany({
|
|
|
|
include: {
|
|
|
|
islands: true,
|
|
|
|
},
|
|
|
|
});
|
2024-11-24 23:30:44 +05:00
|
|
|
|
2024-11-27 14:18:17 +05:00
|
|
|
return (
|
|
|
|
<div className="bg-gray-100 dark:bg-black w-full h-screen flex items-center justify-center font-sans">
|
|
|
|
<div className="flex flex-col items-center justify-center w-full h-full ">
|
|
|
|
<Image
|
|
|
|
priority
|
|
|
|
alt="Sar Link Logo"
|
|
|
|
src="/logo.png"
|
|
|
|
width={100}
|
|
|
|
height={100}
|
|
|
|
/>
|
|
|
|
<div className="mt-4 flex flex-col items-center justify-center">
|
|
|
|
<h4 className="font-bold text-xl text-gray-600">SAR Link Portal</h4>
|
|
|
|
<p className="text-gray-500">
|
|
|
|
Pay for your devices and track your bills.
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
<SignUpForm atolls={atolls} />
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
);
|
|
|
|
}
|