mirror of
https://github.com/i701/sarlink-portal.git
synced 2025-02-23 17:22:00 +00:00
- Updated `package.json` to include a new script for launching Prisma Studio. - Modified `signup` function in `auth-actions.ts` to include account number in user data. - Refactored `createPayment` function in `payment.ts` to improve error handling and return structured responses. - Updated UI components in the dashboard to improve layout and responsiveness, including changes to `UserDevices` and `UserPayments` pages. - Introduced new `AdminDevicesTable` and `UsersPaymentsTable` components for better admin functionalities. - Enhanced `DeviceCartDrawer` to provide user feedback during payment processing. - Added account number input to the signup form and updated validation schema accordingly. - Updated Prisma schema to include a new `ninja_user_id` field for user management. These changes improve the overall functionality, maintainability, and user experience of the application, particularly in user management and payment processing.
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="dark:bg-black w-full flex items-center justify-center font-sans">
|
|
<div className="flex flex-col items-center justify-center w-full h-full py-4">
|
|
<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>
|
|
);
|
|
}
|