diff --git a/package-lock.json b/package-lock.json index 7859a7f..f468b3d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -38,6 +38,7 @@ "devDependencies": { "@eslint/js": "^9.33.0", "@types/moment-jalaali": "^0.7.9", + "@types/node": "^24.10.1", "@types/react": "^19.1.10", "@types/react-dom": "^19.1.7", "@vitejs/plugin-react": "^5.0.0", @@ -2156,6 +2157,17 @@ "moment": ">=2.14.0" } }, + "node_modules/@types/node": { + "version": "24.10.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz", + "integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==", + "devOptional": true, + "license": "MIT", + "peer": true, + "dependencies": { + "undici-types": "~7.16.0" + } + }, "node_modules/@types/react": { "version": "19.1.11", "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.11.tgz", @@ -5159,6 +5171,13 @@ "typescript": ">=4.8.4 <6.0.0" } }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "devOptional": true, + "license": "MIT" + }, "node_modules/update-browserslist-db": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", diff --git a/package.json b/package.json index ac54be2..ab6925a 100644 --- a/package.json +++ b/package.json @@ -40,6 +40,7 @@ "devDependencies": { "@eslint/js": "^9.33.0", "@types/moment-jalaali": "^0.7.9", + "@types/node": "^24.10.1", "@types/react": "^19.1.10", "@types/react-dom": "^19.1.7", "@vitejs/plugin-react": "^5.0.0", diff --git a/src/components/Filters.tsx b/src/components/Filters.tsx index eaaef37..3da47d4 100644 --- a/src/components/Filters.tsx +++ b/src/components/Filters.tsx @@ -90,7 +90,7 @@ const Filters: FC = ({ }, [fields, initialValues, onChange]); useEffect(() => { - const timeouts: Record = {}; + const timeouts: Record> = {}; Object.keys(inputValues).forEach(fieldName => { timeouts[fieldName] = setTimeout(() => { diff --git a/src/pages/auth/Register.tsx b/src/pages/auth/Register.tsx deleted file mode 100644 index 2da12a7..0000000 --- a/src/pages/auth/Register.tsx +++ /dev/null @@ -1,60 +0,0 @@ -import { type FC } from 'react' -import LogoImage from '../../assets/images/logo.svg' -import LogoSmallImage from '../../assets/images/logo-small.svg' -import { useTranslation } from 'react-i18next' -import { Link } from 'react-router-dom' -import { Pages } from '../../config/Pages' -import RegisterStep1 from './components/RegisterStep1' -import { useAuthStore } from './store/AuthStore' -import RegisterStep2 from './components/RegisterStep2' - - -const Register: FC = () => { - - const { stepLogin } = useAuthStore() - const { t } = useTranslation('global') - - - return ( -
-
-
-
- -
-

- {t('auth.welcome')} -

-

- {t('auth.enter_information')} -

-
- - { - stepLogin === 1 ? - - : - - } - -
-

- {t('auth.before_registered')} -

- -
{t('auth.login')}
- -
- -
-
- -
- -
-
-
- ) -} - -export default Register \ No newline at end of file diff --git a/src/pages/auth/components/RegisterStep2.tsx b/src/pages/auth/components/RegisterStep2.tsx deleted file mode 100644 index 4cf4c09..0000000 --- a/src/pages/auth/components/RegisterStep2.tsx +++ /dev/null @@ -1,136 +0,0 @@ -import { FC, Fragment } from 'react' -import { useFormik } from 'formik' -import { RegisterType } from '../types/AuthTypes' -import * as Yup from 'yup' -import { useAuthStore } from '../store/AuthStore' -import { useTranslation } from 'react-i18next' -import Input from '../../../components/Input' -import DatePickerComponent from '../../../components/DatePicker' -import Button from '../../../components/Button' -import { useRegister } from '../hooks/useAuthData' -import { ErrorType } from '../../../helpers/types' -import { toast } from 'react-toastify' -import { Pages } from '../../../config/Pages' - -const RegisterStep2: FC = () => { - - const { t } = useTranslation('global') - const { phone } = useAuthStore() - const register = useRegister() - - const formik = useFormik({ - initialValues: { - firstName: '', - lastName: '', - birthDate: '', - code: 0, - nationalCode: '', - password: '', - phone: phone, - }, - validationSchema: Yup.object({ - firstName: Yup.string() - .required(t('errors.required')), - lastName: Yup.string() - .required(t('errors.required')), - birthDate: Yup.string() - .required(t('errors.required')), - code: Yup.number() - .required(t('errors.required')), - nationalCode: Yup.string() - .required(t('errors.required')), - password: Yup.string() - .required(t('errors.required')), - phone: Yup.string() - .required(t('errors.required')), - }), - onSubmit(values) { - register.mutate(values, { - onSuccess(data) { - localStorage.setItem(import.meta.env.VITE_TOKEN_NAME, data?.data?.accessToken?.token) - localStorage.setItem(import.meta.env.VITE_REFRESH_TOKEN_NAME, data?.data?.refreshToken?.token) - window.location.href = Pages.dashboard - }, - onError(error: ErrorType) { - toast.error(error?.response?.data?.error?.message[0]) - }, - }) - }, - }) - - return ( - -
- - - - -
-
- formik.setFieldValue('birthDate', date)} - placeholder={t('auth.select_date')} - error_text={formik.touched.birthDate && formik.errors.birthDate ? formik.errors.birthDate : ''} - /> - - -
- -
- - -
- -
- -
- -