diff --git a/frontend/src/app/(auth)/forgot-password/page.tsx b/frontend/src/app/(auth)/forgot-password/page.tsx new file mode 100644 index 00000000..b80845ce --- /dev/null +++ b/frontend/src/app/(auth)/forgot-password/page.tsx @@ -0,0 +1 @@ +export { ForgotPasswordContainer as default } from '@containers'; diff --git a/frontend/src/app/(auth)/reset-password/page.tsx b/frontend/src/app/(auth)/reset-password/page.tsx new file mode 100644 index 00000000..8d8d5720 --- /dev/null +++ b/frontend/src/app/(auth)/reset-password/page.tsx @@ -0,0 +1 @@ +export { ResetPasswordContainer as default } from '@containers'; diff --git a/frontend/src/app/(core)/privacy-policy/page.tsx b/frontend/src/app/(core)/privacy-policy/page.tsx index 53c41150..4a98705d 100644 --- a/frontend/src/app/(core)/privacy-policy/page.tsx +++ b/frontend/src/app/(core)/privacy-policy/page.tsx @@ -1,49 +1,60 @@ -"use client"; +'use client'; import React from 'react'; + import Link from 'next/link'; const PrivacyPolicy = () => { return ( -
+
Last Updated: 2 March, 2025
- Welcome to Django India! Your privacy is important to us. This Privacy Policy explains how we collect, use, and protect your information when you visit our website (www.djangoindia.org/home) and interact with our community. +
+ Welcome to Django India! Your privacy is important to us. This + Privacy Policy explains how we collect, use, and protect your + information when you visit our website ( + + www.djangoindia.org/home + + ) and interact with our community.
- Our website may contain links to external sites. We are not responsible for their privacy policies or content. +
+ Our website may contain links to external sites. We are not + responsible for their privacy policies or content.
- We may update this Privacy Policy from time to time. Any changes will be posted on this page with an updated effective date. +
+ We may update this Privacy Policy from time to time. Any changes + will be posted on this page with an updated effective date.
- If you have any questions about this Privacy Policy, please contact us at: {" "} - +
+ If you have any questions about this Privacy Policy, please contact + us at:{' '} + admin@djangoindia.org
@@ -106,4 +129,4 @@ const PrivacyPolicy = () => { ); }; -export default PrivacyPolicy; \ No newline at end of file +export default PrivacyPolicy; diff --git a/frontend/src/components/Modal/modal.tsx b/frontend/src/components/Modal/modal.tsx index 6af0b307..95d0f26c 100644 --- a/frontend/src/components/Modal/modal.tsx +++ b/frontend/src/components/Modal/modal.tsx @@ -64,36 +64,38 @@ const Modal: React.FC{errors.name.message}
+{errors.name.message}
)}{errors.email.message}
++ {errors.email.message} +
)}- {errors.firstName?.message ?? ' '} -
+ + ++ {errors.firstName?.message ?? ' '} +
- {errors.lastName?.message ?? ' '} -
+ + ++ {errors.lastName?.message ?? ' '} +
{errors.newPassword?.message ?? ' '}
@@ -218,21 +219,21 @@ const SignupForm = () => { Confirm Password{errors.confirmPassword?.message ?? ' '}
diff --git a/frontend/src/containers/Users/ChangePasswordForm.config.ts b/frontend/src/containers/Users/ChangePasswordForm.config.ts index 7733387a..54bc1b0f 100644 --- a/frontend/src/containers/Users/ChangePasswordForm.config.ts +++ b/frontend/src/containers/Users/ChangePasswordForm.config.ts @@ -1,6 +1,16 @@ -import { FieldType } from "./ChangePasswordForm.types"; +import type { FieldType } from './ChangePasswordForm.types'; -export const CHANGE_PASSWORD_FORM_FIELDS: (FieldType)[] = [ - { name: 'newPassword', label: 'New Password', placeholder: 'Enter new password', type: 'password' }, - { name: 'confirmPassword', label: 'Confirm Password', placeholder: 'Confirm new password', type: 'password' }, -]; \ No newline at end of file +export const CHANGE_PASSWORD_FORM_FIELDS: FieldType[] = [ + { + name: 'newPassword', + label: 'New Password', + placeholder: 'Enter new password', + type: 'password', + }, + { + name: 'confirmPassword', + label: 'Confirm Password', + placeholder: 'Confirm new password', + type: 'password', + }, +]; diff --git a/frontend/src/containers/Users/ChangePasswordForm.tsx b/frontend/src/containers/Users/ChangePasswordForm.tsx index 75ed6f11..701448bf 100644 --- a/frontend/src/containers/Users/ChangePasswordForm.tsx +++ b/frontend/src/containers/Users/ChangePasswordForm.tsx @@ -1,127 +1,185 @@ 'use client'; +import { useEffect, useState } from 'react'; + +import { yupResolver } from '@hookform/resolvers/yup'; +import { Eye, EyeIcon, EyeOff } from 'lucide-react'; +import { enqueueSnackbar } from 'notistack'; import { type SubmitHandler, useForm } from 'react-hook-form'; -import { - Input, - Form, - FormControl, - FormField, - FormItem, - FormLabel, - FormMessage, - Button -} from "@/components"; -import { Card, CardHeader, CardTitle, CardContent, CardFooter } from "@/components/Card"; -import { yupResolver } from "@hookform/resolvers/yup"; -import { fetchData } from "@/utils"; -import { API_ENDPOINTS } from "@/constants"; -import { CHANGE_PASSWORD_FORM_SCHEMA } from "@/constants/schema"; +import { + Button, + Form, + FormControl, + FormField, + FormItem, + FormLabel, + FormMessage, + Input, +} from '@/components'; +import { + Card, + CardContent, + CardFooter, + CardHeader, + CardTitle, +} from '@/components/Card'; +import { API_ENDPOINTS } from '@/constants'; +import { CHANGE_PASSWORD_FORM_SCHEMA } from '@/constants/schema'; +import { fetchData } from '@/utils'; import { getAccessToken } from '@/utils/getAccesstoken'; -import { enqueueSnackbar } from 'notistack'; -import { useState, useEffect } from 'react'; -import { ChangePasswordFormType } from './ChangePasswordForm.types'; + import { CHANGE_PASSWORD_FORM_FIELDS } from './ChangePasswordForm.config'; +import type { ChangePasswordFormType } from './ChangePasswordForm.types'; + const ChangePasswordForm = () => { - const [accessToken, setAccessToken] = useState