mirror of
https://github.com/i701/sarlink-portal.git
synced 2025-08-02 14:30:22 +00:00
fix(signup-form): update header and welcome message for clarity
All checks were successful
Build and Push Docker Images / Build and Push Docker Images (push) Successful in 8m55s
All checks were successful
Build and Push Docker Images / Build and Push Docker Images (push) Successful in 8m55s
This commit is contained in:
@ -21,10 +21,12 @@ This is a web portal for SAR Link customers.
|
||||
- [x] Add all the filters for parental control table (mobile responsive)
|
||||
- [x] Disable blocking if payment is pending or omit from the table if device payment is pending
|
||||
|
||||
### Topups
|
||||
- [ ] add textarea in topup dialog for admin. if no detail given generate on backend otherwise take the text from text area
|
||||
|
||||
### Agreements
|
||||
- [x] Implement file upload for admin side
|
||||
- [ ] Add customer relavant documents in a grid view
|
||||
- [ ] Add filtering by date for agreements
|
||||
|
||||
## Admin Controls
|
||||
### Users
|
||||
|
@ -1,14 +1,13 @@
|
||||
"use client";
|
||||
import { Button } from "@/components/ui/button";
|
||||
import { Input } from "@/components/ui/input";
|
||||
import Link from "next/link";
|
||||
|
||||
import { signup } from "@/actions/auth-actions";
|
||||
import { cn } from "@/lib/utils";
|
||||
import { keepPreviousData, useQuery } from "@tanstack/react-query";
|
||||
import { Loader2 } from "lucide-react";
|
||||
import Image from "next/image";
|
||||
import Link from "next/link";
|
||||
import { useSearchParams } from "next/navigation";
|
||||
import * as React from "react";
|
||||
|
||||
import { signup } from "@/actions/auth-actions";
|
||||
import { Button } from "@/components/ui/button";
|
||||
import { Input } from "@/components/ui/input";
|
||||
import {
|
||||
Select,
|
||||
SelectContent,
|
||||
@ -19,9 +18,8 @@ import {
|
||||
SelectValue,
|
||||
} from "@/components/ui/select";
|
||||
import type { ApiResponse, Atoll } from "@/lib/backend-types";
|
||||
import { cn } from "@/lib/utils";
|
||||
import { getAtolls } from "@/queries/islands";
|
||||
import { keepPreviousData, useQuery } from "@tanstack/react-query";
|
||||
import Image from "next/image";
|
||||
|
||||
export default function SignUpForm() {
|
||||
const { data: atolls } = useQuery<ApiResponse<Atoll>>({
|
||||
@ -82,11 +80,11 @@ export default function SignUpForm() {
|
||||
/>
|
||||
</div>
|
||||
<h3 className="text-xl font-semibold dark:text-orange-100">
|
||||
SAR Link Portal
|
||||
SAR Link by OmegaTech Solutions
|
||||
</h3>
|
||||
</div>
|
||||
|
||||
<h1 className="text-4xl font-bold mb-6">Welcome to Our Platform</h1>
|
||||
<h1 className="text-4xl font-bold mb-6">Register your account</h1>
|
||||
<p className="text-xl mb-8 dark:text-orange-100">
|
||||
Pay for your devices and track your bills.
|
||||
</p>
|
||||
@ -112,7 +110,7 @@ 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"
|
||||
@ -146,7 +144,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"
|
||||
/>
|
||||
@ -246,7 +244,7 @@ export default function SignUpForm() {
|
||||
className={cn(
|
||||
"text-base",
|
||||
actionState?.errors?.fieldErrors?.address &&
|
||||
"border-2 border-red-500",
|
||||
"border-2 border-red-500",
|
||||
)}
|
||||
disabled={isPending}
|
||||
name="address"
|
||||
@ -274,7 +272,7 @@ export default function SignUpForm() {
|
||||
className={cn(
|
||||
"text-base",
|
||||
actionState?.errors?.fieldErrors?.dob &&
|
||||
"border-2 border-red-500",
|
||||
"border-2 border-red-500",
|
||||
)}
|
||||
name="dob"
|
||||
disabled={isPending}
|
||||
@ -307,7 +305,7 @@ 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"
|
||||
@ -337,8 +335,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)}
|
||||
|
@ -187,7 +187,7 @@ export async function blockDeviceAction(
|
||||
blocked: isBlocking,
|
||||
reason_for_blocking: session?.user?.is_superuser
|
||||
? reason_for_blocking ||
|
||||
(action === "simple-block" ? "Blocked by admin" : "")
|
||||
(action === "simple-block" ? "Blocked by admin" : "")
|
||||
: isBlocking
|
||||
? "Blocked by parent"
|
||||
: "",
|
||||
|
Reference in New Issue
Block a user