mirror of
https://github.com/i701/sarlink-portal.git
synced 2025-02-23 08:42:01 +00:00
- Updated login and signup pages to include session checks and redirection based on user authentication status. - Introduced QueryProvider for managing server state in the application. - Enhanced user experience by integrating session management in the devices and payments dashboard. - Added new user management features with role-based access control in the sidebar. - Created new components for user devices and payments, improving the overall structure and maintainability of the dashboard. - Implemented a table component for better data presentation in user-related views.
52 lines
1.3 KiB
TypeScript
52 lines
1.3 KiB
TypeScript
import SignUpForm from "@/components/auth/signup-form";
|
|
import { auth } from "@/lib/auth";
|
|
import prisma from "@/lib/db";
|
|
import { headers } from "next/headers";
|
|
import Image from "next/image";
|
|
import { redirect } from "next/navigation";
|
|
import React from "react";
|
|
|
|
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");
|
|
}
|
|
|
|
const phone_number = (await searchParams).phone_number;
|
|
if (!phone_number) {
|
|
return redirect("/login");
|
|
}
|
|
const atolls = await prisma.atoll.findMany({
|
|
include: {
|
|
islands: true,
|
|
},
|
|
});
|
|
|
|
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>
|
|
);
|
|
}
|