mirror of
https://github.com/i701/sarlink-portal.git
synced 2025-06-29 14:56:46 +00:00
Add payment processing and device management features
- Introduced createPayment action for handling payment creation. - Added PaymentsTable component for displaying payment records with pagination. - Implemented new PaymentPage for viewing individual payment details and associated devices. - Refactored DeviceCartDrawer to integrate payment creation and device selection. - Enhanced DevicesToPay component to display devices based on payment status. - Updated PriceCalculator component for better user input handling. - Introduced NumberInput component for consistent number input across forms. - Modified Prisma schema to include new fields for payments and devices. - Improved overall user experience with responsive design adjustments and new UI elements.
This commit is contained in:
@ -9,6 +9,7 @@ export const initialPriceAtom = atom(100);
|
||||
export const discountPercentageAtom = atom(75);
|
||||
export const numberOfDevicesAtom = atom(1);
|
||||
export const numberOfDaysAtom = atom(30);
|
||||
export const numberOfMonths = atom(1);
|
||||
export const formulaResultAtom = atom("");
|
||||
export const deviceCartAtom = atom<Device[]>([]);
|
||||
export const cartDrawerOpenAtom = atom(false);
|
||||
@ -18,6 +19,7 @@ export const atoms = {
|
||||
discountPercentageAtom,
|
||||
numberOfDevicesAtom,
|
||||
numberOfDaysAtom,
|
||||
numberOfMonths,
|
||||
formulaResultAtom,
|
||||
deviceCartAtom,
|
||||
cartDrawerOpenAtom,
|
||||
|
@ -12,3 +12,13 @@ export async function AdminAuthGuard() {
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
export async function hasSession() {
|
||||
const session = await auth.api.getSession({
|
||||
headers: await headers(),
|
||||
});
|
||||
if (!session) {
|
||||
return redirect("/login");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -6,6 +6,7 @@ import { phoneNumber } from "better-auth/plugins";
|
||||
|
||||
const prisma = new PrismaClient();
|
||||
export const auth = betterAuth({
|
||||
trustedOrigins: ["http://localhost:3000", "http://192.168.18.194:3000"],
|
||||
user: {
|
||||
additionalFields: {
|
||||
role: {
|
||||
|
7
lib/types.ts
Normal file
7
lib/types.ts
Normal file
@ -0,0 +1,7 @@
|
||||
export type PaymentType = {
|
||||
numberOfMonths: number;
|
||||
userId: string;
|
||||
deviceIds: string[];
|
||||
amount: number;
|
||||
paid: boolean;
|
||||
};
|
Reference in New Issue
Block a user