diff --git a/package-lock.json b/package-lock.json index f468b3d..059e360 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,12 +18,14 @@ "formik": "^2.4.6", "i18next": "^25.4.2", "iconsax-react": "^0.0.8", + "leaflet": "^1.9.4", "moment-jalaali": "^0.10.4", "rc-rate": "^2.13.1", "react": "^19.1.1", "react-dom": "^19.1.1", "react-dropzone": "^14.3.8", "react-i18next": "^15.7.2", + "react-leaflet": "^5.0.0-rc.2", "react-loading-skeleton": "^3.5.0", "react-multi-date-picker": "^4.5.2", "react-otp-input": "^3.1.1", @@ -37,6 +39,7 @@ }, "devDependencies": { "@eslint/js": "^9.33.0", + "@types/leaflet": "^1.9.21", "@types/moment-jalaali": "^0.7.9", "@types/node": "^24.10.1", "@types/react": "^19.1.10", @@ -1456,6 +1459,17 @@ "react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" } }, + "node_modules/@react-leaflet/core": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@react-leaflet/core/-/core-3.0.0.tgz", + "integrity": "sha512-3EWmekh4Nz+pGcr+xjf0KNyYfC3U2JjnkWsh0zcqaexYqmmB5ZhH37kz41JXGmKzpaMZCnPofBBm64i+YrEvGQ==", + "license": "Hippocratic-2.1", + "peerDependencies": { + "leaflet": "^1.9.0", + "react": "^19.0.0", + "react-dom": "^19.0.0" + } + }, "node_modules/@react-stately/flags": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/@react-stately/flags/-/flags-3.1.2.tgz", @@ -2128,6 +2142,13 @@ "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "license": "MIT" }, + "node_modules/@types/geojson": { + "version": "7946.0.16", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz", + "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/hoist-non-react-statics": { "version": "3.3.7", "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.7.tgz", @@ -2147,6 +2168,16 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/leaflet": { + "version": "1.9.21", + "resolved": "https://registry.npmjs.org/@types/leaflet/-/leaflet-1.9.21.tgz", + "integrity": "sha512-TbAd9DaPGSnzp6QvtYngntMZgcRk+igFELwR2N99XZn7RXUdKgsXMR+28bUO0rPsWp8MIu/f47luLIQuSLYv/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/geojson": "*" + } + }, "node_modules/@types/moment-jalaali": { "version": "0.7.9", "resolved": "https://registry.npmjs.org/@types/moment-jalaali/-/moment-jalaali-0.7.9.tgz", @@ -3759,9 +3790,9 @@ "license": "MIT" }, "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "dev": true, "license": "MIT", "dependencies": { @@ -3828,6 +3859,13 @@ "json-buffer": "3.0.1" } }, + "node_modules/leaflet": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.9.4.tgz", + "integrity": "sha512-nxS1ynzJOmOlHp+iL3FyWqK89GtNL8U8rvlMOsQdTTssxZwCXh8N2NB3GDQOL+YR3XnWyZAxwQixURb+FA74PA==", + "license": "BSD-2-Clause", + "peer": true + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -4663,6 +4701,20 @@ "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", "license": "MIT" }, + "node_modules/react-leaflet": { + "version": "5.0.0-rc.2", + "resolved": "https://registry.npmjs.org/react-leaflet/-/react-leaflet-5.0.0-rc.2.tgz", + "integrity": "sha512-1xQGYG9mEIW+nfkQhqgHImwUuB1UDlnzYFSzv6PrBFDBeYrFmv0BbpwpNAFdJg/UQ2yz5UZSL7ZwlUxjwb8MZw==", + "license": "Hippocratic-2.1", + "dependencies": { + "@react-leaflet/core": "^3.0.0-rc.2" + }, + "peerDependencies": { + "leaflet": "^1.9.0", + "react": "^19.0.0", + "react-dom": "^19.0.0" + } + }, "node_modules/react-loading-skeleton": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/react-loading-skeleton/-/react-loading-skeleton-3.5.0.tgz", diff --git a/package.json b/package.json index ab6925a..8319312 100644 --- a/package.json +++ b/package.json @@ -20,12 +20,14 @@ "formik": "^2.4.6", "i18next": "^25.4.2", "iconsax-react": "^0.0.8", + "leaflet": "^1.9.4", "moment-jalaali": "^0.10.4", "rc-rate": "^2.13.1", "react": "^19.1.1", "react-dom": "^19.1.1", "react-dropzone": "^14.3.8", "react-i18next": "^15.7.2", + "react-leaflet": "^5.0.0-rc.2", "react-loading-skeleton": "^3.5.0", "react-multi-date-picker": "^4.5.2", "react-otp-input": "^3.1.1", @@ -39,6 +41,7 @@ }, "devDependencies": { "@eslint/js": "^9.33.0", + "@types/leaflet": "^1.9.21", "@types/moment-jalaali": "^0.7.9", "@types/node": "^24.10.1", "@types/react": "^19.1.10", diff --git a/src/App.tsx b/src/App.tsx index 23dc078..57f432b 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -3,6 +3,7 @@ import { BrowserRouter } from 'react-router-dom' import 'swiper/swiper-bundle.css'; // import 'rc-rate/assets/index.css'; // import "react-multi-date-picker/styles/layouts/mobile.css" +import 'leaflet/dist/leaflet.css'; import './assets/fonts/irancell/style.css' import i18next from 'i18next' import { I18nextProvider } from 'react-i18next' diff --git a/src/components/Button.tsx b/src/components/Button.tsx index db81bce..c2f9bd9 100644 --- a/src/components/Button.tsx +++ b/src/components/Button.tsx @@ -5,7 +5,7 @@ import { clx } from '../helpers/utils' type Props = { className?: string; - isLoading?: boolean, + isloading?: boolean, } & ButtonHTMLAttributes & XOR<{ children: ReactNode }, { label: string }>; @@ -18,9 +18,9 @@ const Button: FC = memo((props: Props) => { ); return ( -