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

@ -59,7 +59,8 @@ export default function SignUpForm() {
<Link href="login" className="underline">
login
</Link>
</div>-
</div>
-
</>
);
}
@ -72,9 +73,17 @@ export default function SignUpForm() {
{/* Logo */}
<div className="mb-8">
<div className="w-20 h-20 bg-transparent backdrop-blur-sm rounded-2xl flex items-center justify-center mx-auto mb-4">
<Image src="/logo.png" alt="Company Logo" height={1080} width={1080} className="w-12 h-12 text-white" />
<Image
src="/logo.png"
alt="Company Logo"
height={1080}
width={1080}
className="w-12 h-12 text-white"
/>
</div>
<h3 className="text-xl font-semibold dark:text-orange-100">SAR Link Portal</h3>
<h3 className="text-xl font-semibold dark:text-orange-100">
SAR Link Portal
</h3>
</div>
<h1 className="text-4xl font-bold mb-6">Welcome to Our Platform</h1>
@ -92,7 +101,10 @@ export default function SignUpForm() {
<div className="max-w-sm shadow-2xl shadow-sarLinkOrange/20 h-fit my-auto mt-2 w-full bg-white dark:bg-transparent rounded-lg m-auto backdrop-blur-lg self-center border-2 border-sarLinkOrange/10 dark:border-sarLinkOrange/50">
<div className="py-2 px-4 my-2 space-y-2">
<div className="space-y-2">
<label htmlFor="name" className="text-sm font-medium text-slate-700 dark:text-slate-300">
<label
htmlFor="name"
className="text-sm font-medium text-slate-700 dark:text-slate-300"
>
Full Name
</label>
@ -100,12 +112,14 @@ export default function SignUpForm() {
className={cn(
"text-base",
actionState?.errors?.fieldErrors.name &&
"border-2 border-red-500",
"border-2 border-red-500",
)}
name="name"
type="text"
disabled={isPending}
defaultValue={(actionState?.payload?.get("name") || "") as string}
defaultValue={
(actionState?.payload?.get("name") || "") as string
}
placeholder="Full Name"
/>
{actionState?.errors?.fieldErrors.name && (
@ -115,7 +129,10 @@ export default function SignUpForm() {
)}
</div>
<div className="space-y-2">
<label htmlFor="id_card" className="text-sm font-medium text-slate-700 dark:text-slate-300">
<label
htmlFor="id_card"
className="text-sm font-medium text-slate-700 dark:text-slate-300"
>
ID Card
</label>
<Input
@ -129,7 +146,7 @@ export default function SignUpForm() {
className={cn(
"text-base",
actionState?.errors?.fieldErrors?.id_card &&
"border-2 border-red-500",
"border-2 border-red-500",
)}
placeholder="ID Card"
/>
@ -146,7 +163,10 @@ export default function SignUpForm() {
</div>
<div>
<div className="space-y-2">
<label htmlFor="atoll" className="text-sm font-medium text-slate-700 dark:text-slate-300">
<label
htmlFor="atoll"
className="text-sm font-medium text-slate-700 dark:text-slate-300"
>
Atoll
</label>
<Select
@ -154,7 +174,9 @@ export default function SignUpForm() {
onValueChange={(v) => {
console.log({ v });
setAtoll(
atolls?.data.find((atoll) => atoll.id === Number.parseInt(v)),
atolls?.data.find(
(atoll) => atoll.id === Number.parseInt(v),
),
);
}}
name="atoll_id"
@ -181,7 +203,10 @@ export default function SignUpForm() {
</Select>
</div>
<div className="space-y-2">
<label htmlFor="island" className="text-sm font-medium text-slate-700 dark:text-slate-300">
<label
htmlFor="island"
className="text-sm font-medium text-slate-700 dark:text-slate-300"
>
Island
</label>
<Select disabled={isPending} name="island_id">
@ -192,7 +217,10 @@ export default function SignUpForm() {
<SelectGroup>
<SelectLabel>Islands</SelectLabel>
{atoll?.islands?.map((island) => (
<SelectItem key={island.id} value={island.id.toString()}>
<SelectItem
key={island.id}
value={island.id.toString()}
>
{island.name}
</SelectItem>
))}
@ -208,14 +236,17 @@ export default function SignUpForm() {
</div>
<div className="space-y-2">
<label htmlFor="address" className="text-sm font-medium text-slate-700 dark:text-slate-300">
<label
htmlFor="address"
className="text-sm font-medium text-slate-700 dark:text-slate-300"
>
Address
</label>
<Input
className={cn(
"text-base",
actionState?.errors?.fieldErrors?.address &&
"border-2 border-red-500",
"border-2 border-red-500",
)}
disabled={isPending}
name="address"
@ -233,18 +264,23 @@ export default function SignUpForm() {
</div>
<div className="space-y-2">
<label htmlFor="dob" className="text-sm font-medium text-slate-700 dark:text-slate-300">
<label
htmlFor="dob"
className="text-sm font-medium text-slate-700 dark:text-slate-300"
>
Date of Birth
</label>
<Input
className={cn(
"text-base",
actionState?.errors?.fieldErrors?.dob &&
"border-2 border-red-500",
"border-2 border-red-500",
)}
name="dob"
disabled={isPending}
defaultValue={(actionState?.payload?.get("dob") || "") as string}
defaultValue={
(actionState?.payload?.get("dob") || "") as string
}
type="date"
placeholder="Date of birth"
/>
@ -260,7 +296,10 @@ export default function SignUpForm() {
)}
</div>
<div className="space-y-2">
<label htmlFor="accNo" className="text-sm font-medium text-slate-700 dark:text-slate-300">
<label
htmlFor="accNo"
className="text-sm font-medium text-slate-700 dark:text-slate-300"
>
Account Number
</label>
@ -268,12 +307,14 @@ export default function SignUpForm() {
className={cn(
"text-base",
actionState?.errors?.fieldErrors.accNo &&
"border-2 border-red-500",
"border-2 border-red-500",
)}
name="accNo"
type="number"
disabled={isPending}
defaultValue={(actionState?.payload?.get("accNo") || "") as string}
defaultValue={
(actionState?.payload?.get("accNo") || "") as string
}
placeholder="Account no"
/>
{actionState?.errors?.fieldErrors.accNo && (
@ -283,7 +324,10 @@ export default function SignUpForm() {
)}
</div>
<div className="space-y-2">
<label htmlFor="phone_number" className="text-sm font-medium text-slate-700 dark:text-slate-300">
<label
htmlFor="phone_number"
className="text-sm font-medium text-slate-700 dark:text-slate-300"
>
Phone Number
</label>
<Input
@ -293,8 +337,8 @@ export default function SignUpForm() {
disabled={isPending}
className={cn(
!phoneNumberFromUrl &&
actionState?.errors?.fieldErrors?.phone_number &&
"border-2 border-red-500 rounded-md",
actionState?.errors?.fieldErrors?.phone_number &&
"border-2 border-red-500 rounded-md",
)}
defaultValue={NUMBER_WITHOUT_DASH ?? ""}
readOnly={Boolean(phoneNumberFromUrl)}
@ -316,7 +360,8 @@ export default function SignUpForm() {
<input
type="checkbox"
defaultChecked={
((actionState?.payload?.get("terms") || "") as string) === "on"
((actionState?.payload?.get("terms") || "") as string) ===
"on"
}
name="terms"
id="terms"
@ -340,7 +385,8 @@ export default function SignUpForm() {
<input
type="checkbox"
defaultChecked={
((actionState?.payload?.get("policy") || "") as string) === "on"
((actionState?.payload?.get("policy") || "") as string) ===
"on"
}
name="policy"
id="terms"
@ -372,9 +418,7 @@ export default function SignUpForm() {
</Link>
</div>
</div>
</form>
</div>
);
}