add admin checks for admin pages and run biome formating 🔨
All checks were successful
Build and Push Docker Images / Build and Push Docker Images (push) Successful in 11m8s

This commit is contained in:
2025-07-25 13:31:12 +05:00
parent aedf7cdf7d
commit 9b2f2c1528
127 changed files with 6577 additions and 6334 deletions

View File

@ -1,12 +1,11 @@
"use client";
import {
BadgeDollarSign,
Loader2,
Wallet
} from "lucide-react";
import { BadgeDollarSign, Loader2, Wallet } from "lucide-react";
import { useActionState, useEffect } from "react";
import { toast } from "sonner";
import { type VerifyDevicePaymentState, verifyDevicePayment } from "@/actions/payment";
import {
type VerifyDevicePaymentState,
verifyDevicePayment,
} from "@/actions/payment";
import {
Table,
TableBody,
@ -29,9 +28,16 @@ const initialState: VerifyDevicePaymentState = {
export default function DevicesToPay({
payment,
user,
disabled
}: { payment?: Payment; user?: User, disabled?: boolean }) {
const [state, formAction, isPending] = useActionState(verifyDevicePayment, initialState);
disabled,
}: {
payment?: Payment;
user?: User;
disabled?: boolean;
}) {
const [state, formAction, isPending] = useActionState(
verifyDevicePayment,
initialState,
);
// Handle toast notifications based on state changes
useEffect(() => {
@ -40,7 +46,11 @@ export default function DevicesToPay({
closeButton: true,
description: state.message,
});
} else if (!state.success && state.message && state.message !== initialState.message) {
} else if (
!state.success &&
state.message &&
state.message !== initialState.message
) {
toast.error("Payment Verification Failed", {
closeButton: true,
description: state.message,
@ -101,7 +111,11 @@ export default function DevicesToPay({
<div className="flex flex-col gap-2">
{isWalletPayVisible && (
<form action={formAction}>
<input type="hidden" name="paymentId" value={payment?.id ?? ""} />
<input
type="hidden"
name="paymentId"
value={payment?.id ?? ""}
/>
<input type="hidden" name="method" value="WALLET" />
<Button
disabled={isPending}
@ -109,13 +123,19 @@ export default function DevicesToPay({
variant={"secondary"}
size={"lg"}
>
{isPending ? "Processing payment..." : "Pay with wallet"}
{isPending
? "Processing payment..."
: "Pay with wallet"}
<Wallet />
</Button>
</form>
)}
<form action={formAction}>
<input type="hidden" name="paymentId" value={payment?.id ?? ""} />
<input
type="hidden"
name="paymentId"
value={payment?.id ?? ""}
/>
<input type="hidden" name="method" value="TRANSFER" />
<Button
disabled={isPending || disabled}
@ -139,14 +159,17 @@ export default function DevicesToPay({
<TableRow>
<TableCell>Payment created</TableCell>
<TableCell className="text-right">
{new Date(payment?.created_at ?? "").toLocaleDateString("en-US", {
month: "short",
day: "2-digit",
year: "numeric",
minute: "2-digit",
hour: "2-digit",
second: "2-digit",
})}
{new Date(payment?.created_at ?? "").toLocaleDateString(
"en-US",
{
month: "short",
day: "2-digit",
year: "numeric",
minute: "2-digit",
hour: "2-digit",
second: "2-digit",
},
)}
</TableCell>
</TableRow>
<TableRow>
@ -160,7 +183,6 @@ export default function DevicesToPay({
<TableCell className="text-right text-xl">
{payment?.number_of_months} Months
</TableCell>
</TableRow>
</TableBody>
<TableFooter>
@ -176,5 +198,3 @@ export default function DevicesToPay({
</div>
);
}