diff --git a/client/.prettierrc.json b/client/.prettierrc.json index 03f6b229..24c09652 100644 --- a/client/.prettierrc.json +++ b/client/.prettierrc.json @@ -1,6 +1,6 @@ { "trailingComma": "es5", - "tabWidth": 3, + "tabWidth": 2, "semi": true, "printWidth": 80, "arrowParens": "avoid" diff --git a/client/app/contact/page.tsx b/client/app/(landing-pages)/contact/page.tsx similarity index 100% rename from client/app/contact/page.tsx rename to client/app/(landing-pages)/contact/page.tsx diff --git a/client/app/doctors/page.tsx b/client/app/(landing-pages)/doctors/page.tsx similarity index 100% rename from client/app/doctors/page.tsx rename to client/app/(landing-pages)/doctors/page.tsx diff --git a/client/app/products/page.tsx b/client/app/(landing-pages)/products/page.tsx similarity index 100% rename from client/app/products/page.tsx rename to client/app/(landing-pages)/products/page.tsx diff --git a/client/app/staff/@signin/(.)otp-verification/page.tsx b/client/app/staff/@signin/(.)otp-verification/page.tsx new file mode 100644 index 00000000..a31ae8f5 --- /dev/null +++ b/client/app/staff/@signin/(.)otp-verification/page.tsx @@ -0,0 +1,7 @@ +import React from 'react' +import OtpVerificationModel from '@/components/OtpVerificationModel' + +const OptInterceptor = () => + + +export default OptInterceptor \ No newline at end of file diff --git a/client/app/staff/@signin/default.tsx b/client/app/staff/@signin/default.tsx new file mode 100644 index 00000000..21088585 --- /dev/null +++ b/client/app/staff/@signin/default.tsx @@ -0,0 +1,13 @@ + +import React from 'react' +import SignIn from './page' + +const DefaultSigninPage = () => { + return ( +
+ +
+ ) +} + +export default DefaultSigninPage \ No newline at end of file diff --git a/client/app/staff/@signin/otp-verification/page.tsx b/client/app/staff/@signin/otp-verification/page.tsx new file mode 100644 index 00000000..05fff084 --- /dev/null +++ b/client/app/staff/@signin/otp-verification/page.tsx @@ -0,0 +1,53 @@ +'use client' +import OtpForm from "@/components/forms/OtpForms"; +import Image from "next/image"; +import Link from "next/link"; +import { FormEvent } from "react"; + +const OtpVerificationPage = () => { + const handleVerify =(e:FormEvent)=>{ + e.preventDefault(); + console.log(''); + + } + const handleResend = ()=>{ + console.log(''); + } + return ( +
+
+
+
+ patient + +
+

+ © 2024 AVM Ayurveda's +

+ + Go Back + +
+
+
+ + patient +
+
+ ) +} + + +export default OtpVerificationPage \ No newline at end of file diff --git a/client/app/staff/signin/page.tsx b/client/app/staff/@signin/page.tsx similarity index 91% rename from client/app/staff/signin/page.tsx rename to client/app/staff/@signin/page.tsx index 21b2c989..77d2153d 100644 --- a/client/app/staff/signin/page.tsx +++ b/client/app/staff/@signin/page.tsx @@ -19,8 +19,8 @@ const SignIn = () => {

© 2024 AVM Ayurveda's

- - Patient + + opt diff --git a/client/app/staff/default.tsx b/client/app/staff/default.tsx new file mode 100644 index 00000000..26f53e05 --- /dev/null +++ b/client/app/staff/default.tsx @@ -0,0 +1,8 @@ +import React from 'react' +import Dashboard from './page' + +const DashboardDefaultPage = () => { + return +} + +export default DashboardDefaultPage \ No newline at end of file diff --git a/client/app/staff/layout.tsx b/client/app/staff/layout.tsx index 2c29d1ff..439d8773 100644 --- a/client/app/staff/layout.tsx +++ b/client/app/staff/layout.tsx @@ -1,19 +1,22 @@ -import React from "react"; +import { ReactNode, FC } from "react"; import SideBar from "@/components/SideBar"; import { Metadata } from "next"; interface AdminLayoutWrapperProps { - children: React.ReactNode; + children: ReactNode; + signin: ReactNode; } export const metadata: Metadata = { title: "Dashboard", }; -const AdminLayoutWrapper: React.FC = ({ +const AdminLayoutWrapper: FC = ({ + signin, children, }) => { - return ( + const isLoggedIn = false; + return isLoggedIn ? (
@@ -22,6 +25,8 @@ const AdminLayoutWrapper: React.FC = ({
+ ) : ( + signin ); }; diff --git a/client/app/staff/page.tsx b/client/app/staff/page.tsx index e6af69ff..d182ca00 100644 --- a/client/app/staff/page.tsx +++ b/client/app/staff/page.tsx @@ -15,21 +15,3 @@ const Dashboard = () => { export default Dashboard; -// import React from "react"; - -// const Dashboard = () => { -// return ( -//
-//
-//

Dashboard

-//
-//
-//
- -//
-//
-//
-// ); -// }; - -// export default Dashboard; diff --git a/client/app/staff/products/page.tsx b/client/app/staff/products/page.tsx new file mode 100644 index 00000000..5d892769 --- /dev/null +++ b/client/app/staff/products/page.tsx @@ -0,0 +1,9 @@ +import React from 'react' + +const ProductsPage = () => { + return ( +
ProductsPage
+ ) +} + +export default ProductsPage \ No newline at end of file diff --git a/client/components/Footer.tsx b/client/components/Footer.tsx index 29ab83de..6109219c 100644 --- a/client/components/Footer.tsx +++ b/client/components/Footer.tsx @@ -26,7 +26,7 @@ const Footer = () => { />
- © {new Date().getFullYear()} AVM Ayurvedic. All rights reserved. + © {new Date().getFullYear()} AVM Ayurvedic.
diff --git a/client/components/otp-verfication.tsx b/client/components/OtpVerificationModel.tsx similarity index 95% rename from client/components/otp-verfication.tsx rename to client/components/OtpVerificationModel.tsx index 29ccb8a5..57303375 100644 --- a/client/components/otp-verfication.tsx +++ b/client/components/OtpVerificationModel.tsx @@ -1,9 +1,7 @@ "use client"; - import { useState } from "react"; import Image from "next/image"; import { useRouter } from "next/navigation"; - import { AlertDialog, AlertDialogAction, @@ -19,8 +17,9 @@ import { InputOTPSlot, } from "@/components/ui/input-otp"; import { Otptimer } from "otp-timer-ts"; +import { OptModelProps } from "@/types"; -const OtpVerificationModel = () => { +const OtpVerificationModel = ({ returnRoute }: OptModelProps) => { const router = useRouter(); const [open, setOpen] = useState(true); const [otp, setOtp] = useState(""); @@ -28,7 +27,7 @@ const OtpVerificationModel = () => { const closeModal = () => { setOpen(false); - router.push(`/`); + router.push(returnRoute); }; const handleResend = () => { diff --git a/client/components/forms/OtpForms.tsx b/client/components/forms/OtpForms.tsx new file mode 100644 index 00000000..ef2fcc99 --- /dev/null +++ b/client/components/forms/OtpForms.tsx @@ -0,0 +1,52 @@ +"use client"; + +import { useState} from "react"; +import { + InputOTP, + InputOTPGroup, + InputOTPSlot, +} from "@/components/ui/input-otp"; +import { Button } from "@/components/ui/button"; +import { Otptimer } from "otp-timer-ts"; +import { OtpFromProps } from "@/types/fromTypes"; + +export default function OtpVerificationSection({handleVerify,handleResend,timer}:OtpFromProps) { + const [otp, setOtp] = useState(""); + + return ( +
+
+

OTP Verification

+

+ Please enter the OTP sent to your registered mobile number. +

+
+ setOtp(value)} + className="mb-6" + > + + + + + + + + + +
+ +
+ +
+ ); +} diff --git a/client/components/forms/staff/SigninForm.tsx b/client/components/forms/staff/SigninForm.tsx index 5770e498..d886e719 100644 --- a/client/components/forms/staff/SigninForm.tsx +++ b/client/components/forms/staff/SigninForm.tsx @@ -33,7 +33,7 @@ const SigninForm = () => { className="space-y-6 flex-1" >
-

Doctor Signin

+

Staffs Signin

Please signin to go to dashboard

diff --git a/client/types/fromTypes.ts b/client/types/fromTypes.ts index 8f9cf83e..4decd8e5 100644 --- a/client/types/fromTypes.ts +++ b/client/types/fromTypes.ts @@ -1,4 +1,4 @@ -import { FC } from "react"; +import { FC, FormEvent } from "react"; import { Control } from "react-hook-form"; export enum FormFieldType { @@ -30,3 +30,10 @@ export interface CustomProps { Icon?: FC<{ className?: string }>; doctor?: string; } + + +export interface OtpFromProps { + handleVerify:(e:FormEvent)=>void; + handleResend:()=>void; + timer:number; +} \ No newline at end of file diff --git a/client/types/index.ts b/client/types/index.ts index 39a59aaa..e638a947 100644 --- a/client/types/index.ts +++ b/client/types/index.ts @@ -28,3 +28,7 @@ export type AnimatedCardProps = { imageClassName?: string; children?: ReactNode; }; + +export type OptModelProps = { + returnRoute:string; +} \ No newline at end of file