diff --git a/package-lock.json b/package-lock.json index bccb22c..16a1b7a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,9 +19,12 @@ "@types/react-dom": "^18.3.0", "clsx": "^2.1.1", "iconsax-react": "^0.0.8", + "jalaali-js": "^1.2.7", "react": "^18.3.1", "react-dom": "^18.3.1", "react-hook-form": "^7.52.2", + "react-modern-calendar-datepicker": "^3.1.6", + "react-multi-date-picker": "^4.5.2", "react-otp-input": "^3.1.1", "react-router-dom": "^6.26.0", "react-scripts": "5.0.1", @@ -11020,6 +11023,12 @@ "node": ">=8" } }, + "node_modules/jalaali-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/jalaali-js/-/jalaali-js-1.2.7.tgz", + "integrity": "sha512-gE+YHWSbygYAoJa+Xg8LWxGILqFOxZSBQQw39ghel01fVFUxV7bjL0x1JFsHcLQ3uPjvn81HQMa+kxwyPWnxGQ==", + "license": "MIT" + }, "node_modules/jest": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", @@ -15972,6 +15981,12 @@ "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", "license": "MIT" }, + "node_modules/react-date-object": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/react-date-object/-/react-date-object-2.1.9.tgz", + "integrity": "sha512-BHxD/quWOTo9fLKV/cfL/M31ePoj4a1JaJ/CnOf8Ndg3mrkh4x9wEMMkCfTrzduxDOgU8ZgR8uarhqI5G71sTg==", + "license": "MIT" + }, "node_modules/react-dev-utils": { "version": "12.0.1", "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", @@ -16172,6 +16187,16 @@ "react": "^18.3.1" } }, + "node_modules/react-element-popper": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/react-element-popper/-/react-element-popper-2.1.7.tgz", + "integrity": "sha512-tuM2OxKlW32h+6uFSK6EENHPeZ2OGgOipHfOAl+VLWEv9/j3QkSGbD+ADX3A9uJlmq24i37n28RjJmAbGTfpEg==", + "license": "MIT", + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, "node_modules/react-error-overlay": { "version": "6.0.11", "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", @@ -16200,6 +16225,33 @@ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "license": "MIT" }, + "node_modules/react-modern-calendar-datepicker": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/react-modern-calendar-datepicker/-/react-modern-calendar-datepicker-3.1.6.tgz", + "integrity": "sha512-lnMqEMj9Wn32/sm119tjCl5lOkq4u9vJE7wggi7hdXV4s8rPdKlH56FVVehlBi0dfYeWQVZ9npY384Zprjn4WA==", + "license": "MIT", + "dependencies": { + "jalaali-js": "^1.1.0" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/react-multi-date-picker": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/react-multi-date-picker/-/react-multi-date-picker-4.5.2.tgz", + "integrity": "sha512-FgWjZB3Z6IA6XpcWiLPk85PwcRUhOiYhKK42o5k672gD/n2I6rzPfQ8bUrldOIiF/Z7FfOCdH7a6FeubzqteLg==", + "license": "MIT", + "dependencies": { + "react-date-object": "^2.1.8", + "react-element-popper": "^2.1.6" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, "node_modules/react-otp-input": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/react-otp-input/-/react-otp-input-3.1.1.tgz", diff --git a/package.json b/package.json index 0b91c64..a7bcc85 100644 --- a/package.json +++ b/package.json @@ -14,9 +14,12 @@ "@types/react-dom": "^18.3.0", "clsx": "^2.1.1", "iconsax-react": "^0.0.8", + "jalaali-js": "^1.2.7", "react": "^18.3.1", "react-dom": "^18.3.1", "react-hook-form": "^7.52.2", + "react-modern-calendar-datepicker": "^3.1.6", + "react-multi-date-picker": "^4.5.2", "react-otp-input": "^3.1.1", "react-router-dom": "^6.26.0", "react-scripts": "5.0.1", diff --git a/public/fonts/Vazir.woff b/public/fonts/Vazir.woff index c1eb059..39a33da 100644 Binary files a/public/fonts/Vazir.woff and b/public/fonts/Vazir.woff differ diff --git a/public/fonts/VazirEn.woff b/public/fonts/VazirEn.woff new file mode 100644 index 0000000..c1eb059 Binary files /dev/null and b/public/fonts/VazirEn.woff differ diff --git a/src/components/common/combo-box.tsx b/src/components/common/combo-box.tsx index 5ee2711..46104b8 100644 --- a/src/components/common/combo-box.tsx +++ b/src/components/common/combo-box.tsx @@ -16,7 +16,6 @@ type Props = { export const ComboBox: FC = ({ field }) => { const [query, setQuery] = useState('') - // const [selected, setSelected] = useState(value[1]) const filteredValue = query === '' diff --git a/src/components/common/datepicker.tsx b/src/components/common/datepicker.tsx new file mode 100644 index 0000000..7aac5bf --- /dev/null +++ b/src/components/common/datepicker.tsx @@ -0,0 +1,31 @@ +import { FC } from 'react'; +import { Calendar2 } from 'iconsax-react'; +import DatePicker from 'react-multi-date-picker'; +import persian from "react-date-object/calendars/persian" +import persian_fa from "react-date-object/locales/persian_fa" +import { getJalaaliDate } from '../../utility/getDate'; + +type Props = { + field: any +} + +export const DatepickerComponent: FC = ({ field }) => { + return ( +
+
+ +
+ +
+ ) +} \ No newline at end of file diff --git a/src/components/common/input.tsx b/src/components/common/input.tsx index dcf6aba..7a7ce86 100644 --- a/src/components/common/input.tsx +++ b/src/components/common/input.tsx @@ -7,9 +7,10 @@ type Props = { placeholder: string, icon?: React.ReactNode, field?: any + ref?: any } -export const Input: FC = ({ placeholder, type = "text", icon, field }) => { +export const Input: FC = ({ placeholder, type = "text", icon, field, ref }) => { const [hidden, setHidden] = useState(false) const handleHidden = () => setHidden(prev => !prev) return ( @@ -19,7 +20,7 @@ export const Input: FC = ({ placeholder, type = "text", icon, field }) => !hidden ? : : icon} -