From db10146ecd68c5431e406784d2010e037a443a55 Mon Sep 17 00:00:00 2001 From: javad Date: Wed, 7 Feb 2024 14:37:21 +0330 Subject: [PATCH] first commit --- components.json | 16 + next.config.js | 11 +- package-lock.json | 1005 ++++++++++++++++- package.json | 14 + src/app/(api)/api/[...slug]/route.ts | 160 +++ src/app/(api)/api/auth/login/mobile/route.ts | 20 + .../api/auth/login/mobile/verify/route.ts | 28 + src/app/(api)/api/auth/token/refresh/route.ts | 70 ++ src/app/(api)/api/auth/token/route.ts | 48 + src/app/(api)/api/setcookie/route.ts | 10 + .../(index)/fonts/woff/IRANSansX-Bold.woff | Bin 0 -> 43464 bytes .../(index)/fonts/woff/IRANSansX-Regular.woff | Bin 0 -> 39840 bytes .../(index)/fonts/woff2/IRANSansX-Bold.woff2 | Bin 0 -> 33716 bytes .../fonts/woff2/IRANSansX-Regular.woff2 | Bin 0 -> 30388 bytes src/app/(index)/layout.tsx | 108 +- src/app/(index)/orders/[id]/page.tsx | 86 ++ src/app/(index)/orders/page.tsx | 57 + src/app/(index)/shop/layout.tsx | 18 +- src/app/(index)/shop/page.tsx | 68 +- src/app/(index)/shop/product/[id]/page.tsx | 94 +- src/app/(index)/tickets/[id]/page.tsx | 175 +++ src/app/(index)/tickets/new/page.tsx | 122 ++ src/app/(index)/tickets/page.tsx | 119 ++ .../fonts/woff/IRANSansX-Bold.woff | Bin 0 -> 43464 bytes .../fonts/woff/IRANSansX-Regular.woff | Bin 0 -> 39840 bytes .../fonts/woff2/IRANSansX-Bold.woff2 | Bin 0 -> 33716 bytes .../fonts/woff2/IRANSansX-Regular.woff2 | Bin 0 -> 30388 bytes src/app/(login_register)/layout.tsx | 13 +- src/app/(login_register)/login/page.tsx | 47 +- .../(login_register)/login/verify/page.tsx | 126 +++ src/app/components/layout/customer-info.tsx | 35 + .../components/layout/main-layout-util.tsx | 38 + src/app/components/layout/order-item.tsx | 78 +- src/app/components/layout/shop/fetch-cart.tsx | 30 + .../components/layout/shop/orders-list.tsx | 90 +- .../components/layout/shop/products-cat.tsx | 14 +- src/app/components/layout/shop/products.tsx | 94 +- src/app/globals.css | 73 ++ src/app/react_query/provider.tsx | 29 + src/app/redux/features/cartSlice.ts | 39 + src/app/redux/features/mobileoptSlice.ts | 31 + src/app/redux/store.ts | 7 +- src/axios/axiosInstance - HttpOnlyC.ts | 41 + src/axios/axiosInstance.ts | 72 ++ src/components/ui/button.tsx | 56 + src/components/ui/checkbox.tsx | 30 + src/components/ui/input.tsx | 25 + src/components/ui/label.tsx | 26 + src/components/ui/separator.tsx | 31 + src/components/ui/skeleton.tsx | 15 + src/components/ui/table.tsx | 117 ++ src/components/ui/textarea.tsx | 24 + src/components/ui/toast.tsx | 127 +++ src/components/ui/toaster.tsx | 35 + src/components/ui/use-toast.ts | 192 ++++ src/lib/utils.ts | 6 + src/middleware.ts | 32 + tailwind.config.ts | 84 +- 58 files changed, 3684 insertions(+), 202 deletions(-) create mode 100644 components.json create mode 100644 src/app/(api)/api/[...slug]/route.ts create mode 100644 src/app/(api)/api/auth/login/mobile/route.ts create mode 100644 src/app/(api)/api/auth/login/mobile/verify/route.ts create mode 100644 src/app/(api)/api/auth/token/refresh/route.ts create mode 100644 src/app/(api)/api/auth/token/route.ts create mode 100644 src/app/(api)/api/setcookie/route.ts create mode 100644 src/app/(index)/fonts/woff/IRANSansX-Bold.woff create mode 100644 src/app/(index)/fonts/woff/IRANSansX-Regular.woff create mode 100644 src/app/(index)/fonts/woff2/IRANSansX-Bold.woff2 create mode 100644 src/app/(index)/fonts/woff2/IRANSansX-Regular.woff2 create mode 100644 src/app/(index)/orders/[id]/page.tsx create mode 100644 src/app/(index)/orders/page.tsx create mode 100644 src/app/(index)/tickets/[id]/page.tsx create mode 100644 src/app/(index)/tickets/new/page.tsx create mode 100644 src/app/(index)/tickets/page.tsx create mode 100644 src/app/(login_register)/fonts/woff/IRANSansX-Bold.woff create mode 100644 src/app/(login_register)/fonts/woff/IRANSansX-Regular.woff create mode 100644 src/app/(login_register)/fonts/woff2/IRANSansX-Bold.woff2 create mode 100644 src/app/(login_register)/fonts/woff2/IRANSansX-Regular.woff2 create mode 100644 src/app/(login_register)/login/verify/page.tsx create mode 100644 src/app/components/layout/customer-info.tsx create mode 100644 src/app/components/layout/main-layout-util.tsx create mode 100644 src/app/components/layout/shop/fetch-cart.tsx create mode 100644 src/app/react_query/provider.tsx create mode 100644 src/app/redux/features/cartSlice.ts create mode 100644 src/app/redux/features/mobileoptSlice.ts create mode 100644 src/axios/axiosInstance - HttpOnlyC.ts create mode 100644 src/axios/axiosInstance.ts create mode 100644 src/components/ui/button.tsx create mode 100644 src/components/ui/checkbox.tsx create mode 100644 src/components/ui/input.tsx create mode 100644 src/components/ui/label.tsx create mode 100644 src/components/ui/separator.tsx create mode 100644 src/components/ui/skeleton.tsx create mode 100644 src/components/ui/table.tsx create mode 100644 src/components/ui/textarea.tsx create mode 100644 src/components/ui/toast.tsx create mode 100644 src/components/ui/toaster.tsx create mode 100644 src/components/ui/use-toast.ts create mode 100644 src/lib/utils.ts create mode 100644 src/middleware.ts diff --git a/components.json b/components.json new file mode 100644 index 0000000..a94867e --- /dev/null +++ b/components.json @@ -0,0 +1,16 @@ +{ + "$schema": "https://ui.shadcn.com/schema.json", + "style": "default", + "rsc": true, + "tsx": true, + "tailwind": { + "config": "tailwind.config.ts", + "css": "src/app/globals.css", + "baseColor": "slate", + "cssVariables": true + }, + "aliases": { + "components": "@/components", + "utils": "@/lib/utils" + } +} \ No newline at end of file diff --git a/next.config.js b/next.config.js index 767719f..270e7c5 100644 --- a/next.config.js +++ b/next.config.js @@ -1,4 +1,13 @@ /** @type {import('next').NextConfig} */ -const nextConfig = {} +const nextConfig = { + images: { + remotePatterns: [ + { + hostname: '127.0.0.1', + port: '8000' + }, + ], + }, +} module.exports = nextConfig diff --git a/package-lock.json b/package-lock.json index d936fad..ed7d906 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,19 +8,33 @@ "name": "crm-customer-ui", "version": "0.1.0", "dependencies": { + "@radix-ui/react-checkbox": "^1.0.4", + "@radix-ui/react-label": "^2.0.2", + "@radix-ui/react-separator": "^1.0.3", + "@radix-ui/react-slot": "^1.0.2", + "@radix-ui/react-toast": "^1.1.5", "@reduxjs/toolkit": "^1.9.7", + "@tanstack/react-query": "^4.36.1", "@types/node": "20.5.1", "@types/react": "18.2.20", "@types/react-dom": "18.2.7", "autoprefixer": "10.4.15", + "axios": "^1.5.1", + "class-variance-authority": "^0.7.0", + "clsx": "^2.0.0", "eslint": "8.47.0", "eslint-config-next": "^13.5.4", + "lucide-react": "^0.298.0", + "moment-jalaali": "^0.10.0", "next": "^13.5.4", "postcss": "8.4.28", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-icons": "^4.12.0", "react-redux": "^8.1.3", + "tailwind-merge": "^2.1.0", "tailwindcss": "3.3.3", + "tailwindcss-animate": "^1.0.7", "typescript": "5.1.6" } }, @@ -44,9 +58,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.10.tgz", - "integrity": "sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.6.tgz", + "integrity": "sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -359,6 +373,427 @@ "node": ">= 8" } }, + "node_modules/@radix-ui/primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz", + "integrity": "sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==", + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@radix-ui/react-checkbox": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-checkbox/-/react-checkbox-1.0.4.tgz", + "integrity": "sha512-CBuGQa52aAYnADZVt/KBQzXrwx6TqnlwtcIPGtVt5JkkzQwMOLJjPukimhfKEr4GQNd43C+djUh5Ikopj8pSLg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-previous": "1.0.1", + "@radix-ui/react-use-size": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collection": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.0.3.tgz", + "integrity": "sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz", + "integrity": "sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-context": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.1.tgz", + "integrity": "sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dismissable-layer": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.5.tgz", + "integrity": "sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-escape-keydown": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-label": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.0.2.tgz", + "integrity": "sha512-N5ehvlM7qoTLx7nWPodsPYPgMzA5WM8zZChQg8nyFJKnDO5WHdba1vv5/H6IO5LtJMfD2Q3wh1qHFGNtK0w3bQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-portal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.4.tgz", + "integrity": "sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-presence": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.1.tgz", + "integrity": "sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz", + "integrity": "sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-slot": "1.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-separator": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.0.3.tgz", + "integrity": "sha512-itYmTy/kokS21aiV5+Z56MZB54KrhPgn6eHDKkFeOLR34HMN2s8PaN47qZZAGnvupcjxHaFZnW4pQEh0BvvVuw==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", + "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-toast": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toast/-/react-toast-1.1.5.tgz", + "integrity": "sha512-fRLn227WHIBRSzuRzGJ8W+5YALxofH23y0MlPLddaIpLpCDqdE0NZlS2NRQDRiptfxDeeCjgFIpexB1/zkxDlw==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.5", + "@radix-ui/react-portal": "1.0.4", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1", + "@radix-ui/react-visually-hidden": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz", + "integrity": "sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz", + "integrity": "sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-escape-keydown": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz", + "integrity": "sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz", + "integrity": "sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-previous": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.0.1.tgz", + "integrity": "sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-size": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.1.tgz", + "integrity": "sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-visually-hidden": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.3.tgz", + "integrity": "sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, "node_modules/@reduxjs/toolkit": { "version": "1.9.7", "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.7.tgz", @@ -395,6 +830,41 @@ "tslib": "^2.4.0" } }, + "node_modules/@tanstack/query-core": { + "version": "4.36.1", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.36.1.tgz", + "integrity": "sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tanstack/react-query": { + "version": "4.36.1", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.36.1.tgz", + "integrity": "sha512-y7ySVHFyyQblPl3J3eQBWpXZkliroki3ARnBKsdJchlgt7yJLRDUcf4B8soufgiYt3pEQIkBWBx1N9/ZPIeUWw==", + "dependencies": { + "@tanstack/query-core": "4.36.1", + "use-sync-external-store": "^1.2.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-native": "*" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, "node_modules/@types/hoist-non-react-statics": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.3.tgz", @@ -769,6 +1239,11 @@ "has-symbols": "^1.0.3" } }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, "node_modules/autoprefixer": { "version": "10.4.15", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.15.tgz", @@ -824,6 +1299,16 @@ "node": ">=4" } }, + "node_modules/axios": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz", + "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==", + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, "node_modules/axobject-query": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", @@ -1006,11 +1491,30 @@ "node": ">= 6" } }, + "node_modules/class-variance-authority": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.0.tgz", + "integrity": "sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==", + "dependencies": { + "clsx": "2.0.0" + }, + "funding": { + "url": "https://joebell.co.uk" + } + }, "node_modules/client-only": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" }, + "node_modules/clsx": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz", + "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==", + "engines": { + "node": ">=6" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -1027,6 +1531,17 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/commander": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", @@ -1110,6 +1625,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/dequal": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", @@ -1797,6 +2320,25 @@ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" }, + "node_modules/follow-redirects": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, "node_modules/for-each": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", @@ -1805,6 +2347,19 @@ "is-callable": "^1.1.3" } }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/fraction.js": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.1.tgz", @@ -2479,6 +3034,11 @@ "reflect.getprototypeof": "^1.0.3" } }, + "node_modules/jalaali-js": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/jalaali-js/-/jalaali-js-1.2.6.tgz", + "integrity": "sha512-io974va+Qyu+UfuVX3UIAgJlxLhAMx9Y8VMfh+IG00Js7hXQo1qNQuwSiSa0xxco0SVgx5HWNkaiCcV+aZ8WPw==" + }, "node_modules/jiti": { "version": "1.19.3", "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.19.3.tgz", @@ -2617,6 +3177,14 @@ "node": ">=10" } }, + "node_modules/lucide-react": { + "version": "0.298.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.298.0.tgz", + "integrity": "sha512-tWoxZ663Zf/n8VxXTHnTJsU/w1ysWT1LORnIL1pzqElFdSqBhWbZeJ3sLdCZ5FpzpbkpkYEtluhuTyG2BTDYNQ==", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -2637,6 +3205,25 @@ "node": ">=8.6" } }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -2656,6 +3243,36 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/moment": { + "version": "2.29.4", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", + "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==", + "engines": { + "node": "*" + } + }, + "node_modules/moment-jalaali": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/moment-jalaali/-/moment-jalaali-0.10.0.tgz", + "integrity": "sha512-XICH1+UHd3zyaE1bXWQBlhoXBqbzEyFfT0TrifNobHxLALRuTSwXn376bX8FmkYg9mZimevwwdd6EB57s5wuFA==", + "dependencies": { + "jalaali-js": "^1.1.0", + "moment": "^2.22.2", + "moment-timezone": "^0.5.21", + "rimraf": "^3.0.2" + } + }, + "node_modules/moment-timezone": { + "version": "0.5.43", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.43.tgz", + "integrity": "sha512-72j3aNyuIsDxdF1i7CEgV2FfxM1r6aaqJyLB2vwb33mXYyoyLly+F1zbWqhA3/bVIoJ4szlUoMbUnVdid32NUQ==", + "dependencies": { + "moment": "^2.29.4" + }, + "engines": { + "node": "*" + } + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -3177,6 +3794,11 @@ "react-is": "^16.13.1" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "node_modules/punycode": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", @@ -3227,6 +3849,14 @@ "react": "^18.2.0" } }, + "node_modules/react-icons": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.12.0.tgz", + "integrity": "sha512-IBaDuHiShdZqmfc/TwHu6+d6k2ltNCf3AszxNmjJc1KUfXdEeRJOKyNvLmAHaarhzGmTSVygNdyu8/opXv2gaw==", + "peerDependencies": { + "react": "*" + } + }, "node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", @@ -3714,6 +4344,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/tailwind-merge": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.1.0.tgz", + "integrity": "sha512-l11VvI4nSwW7MtLSLYT4ldidDEUwQAMWuSHk7l4zcXZDgnCRa0V3OdCwFfM7DCzakVXMNRwAeje9maFFXT71dQ==", + "dependencies": { + "@babel/runtime": "^7.23.5" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, "node_modules/tailwindcss": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz", @@ -3750,6 +4392,14 @@ "node": ">=14.0.0" } }, + "node_modules/tailwindcss-animate": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/tailwindcss-animate/-/tailwindcss-animate-1.0.7.tgz", + "integrity": "sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==", + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders" + } + }, "node_modules/tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", @@ -4124,9 +4774,9 @@ "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==" }, "@babel/runtime": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.10.tgz", - "integrity": "sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.6.tgz", + "integrity": "sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==", "requires": { "regenerator-runtime": "^0.14.0" } @@ -4309,6 +4959,206 @@ "fastq": "^1.6.0" } }, + "@radix-ui/primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz", + "integrity": "sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==", + "requires": { + "@babel/runtime": "^7.13.10" + } + }, + "@radix-ui/react-checkbox": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-checkbox/-/react-checkbox-1.0.4.tgz", + "integrity": "sha512-CBuGQa52aAYnADZVt/KBQzXrwx6TqnlwtcIPGtVt5JkkzQwMOLJjPukimhfKEr4GQNd43C+djUh5Ikopj8pSLg==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-previous": "1.0.1", + "@radix-ui/react-use-size": "1.0.1" + } + }, + "@radix-ui/react-collection": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.0.3.tgz", + "integrity": "sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2" + } + }, + "@radix-ui/react-compose-refs": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz", + "integrity": "sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==", + "requires": { + "@babel/runtime": "^7.13.10" + } + }, + "@radix-ui/react-context": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.1.tgz", + "integrity": "sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==", + "requires": { + "@babel/runtime": "^7.13.10" + } + }, + "@radix-ui/react-dismissable-layer": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.5.tgz", + "integrity": "sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-escape-keydown": "1.0.3" + } + }, + "@radix-ui/react-label": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.0.2.tgz", + "integrity": "sha512-N5ehvlM7qoTLx7nWPodsPYPgMzA5WM8zZChQg8nyFJKnDO5WHdba1vv5/H6IO5LtJMfD2Q3wh1qHFGNtK0w3bQ==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + } + }, + "@radix-ui/react-portal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.4.tgz", + "integrity": "sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + } + }, + "@radix-ui/react-presence": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.1.tgz", + "integrity": "sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1" + } + }, + "@radix-ui/react-primitive": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz", + "integrity": "sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-slot": "1.0.2" + } + }, + "@radix-ui/react-separator": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.0.3.tgz", + "integrity": "sha512-itYmTy/kokS21aiV5+Z56MZB54KrhPgn6eHDKkFeOLR34HMN2s8PaN47qZZAGnvupcjxHaFZnW4pQEh0BvvVuw==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + } + }, + "@radix-ui/react-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", + "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1" + } + }, + "@radix-ui/react-toast": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toast/-/react-toast-1.1.5.tgz", + "integrity": "sha512-fRLn227WHIBRSzuRzGJ8W+5YALxofH23y0MlPLddaIpLpCDqdE0NZlS2NRQDRiptfxDeeCjgFIpexB1/zkxDlw==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.5", + "@radix-ui/react-portal": "1.0.4", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1", + "@radix-ui/react-visually-hidden": "1.0.3" + } + }, + "@radix-ui/react-use-callback-ref": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz", + "integrity": "sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==", + "requires": { + "@babel/runtime": "^7.13.10" + } + }, + "@radix-ui/react-use-controllable-state": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz", + "integrity": "sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "1.0.1" + } + }, + "@radix-ui/react-use-escape-keydown": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz", + "integrity": "sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "1.0.1" + } + }, + "@radix-ui/react-use-layout-effect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz", + "integrity": "sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==", + "requires": { + "@babel/runtime": "^7.13.10" + } + }, + "@radix-ui/react-use-previous": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.0.1.tgz", + "integrity": "sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==", + "requires": { + "@babel/runtime": "^7.13.10" + } + }, + "@radix-ui/react-use-size": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.1.tgz", + "integrity": "sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-layout-effect": "1.0.1" + } + }, + "@radix-ui/react-visually-hidden": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.3.tgz", + "integrity": "sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + } + }, "@reduxjs/toolkit": { "version": "1.9.7", "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.9.7.tgz", @@ -4333,6 +5183,20 @@ "tslib": "^2.4.0" } }, + "@tanstack/query-core": { + "version": "4.36.1", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.36.1.tgz", + "integrity": "sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA==" + }, + "@tanstack/react-query": { + "version": "4.36.1", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.36.1.tgz", + "integrity": "sha512-y7ySVHFyyQblPl3J3eQBWpXZkliroki3ARnBKsdJchlgt7yJLRDUcf4B8soufgiYt3pEQIkBWBx1N9/ZPIeUWw==", + "requires": { + "@tanstack/query-core": "4.36.1", + "use-sync-external-store": "^1.2.0" + } + }, "@types/hoist-non-react-statics": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.3.tgz", @@ -4599,6 +5463,11 @@ "has-symbols": "^1.0.3" } }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, "autoprefixer": { "version": "10.4.15", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.15.tgz", @@ -4622,6 +5491,16 @@ "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz", "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==" }, + "axios": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz", + "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==", + "requires": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, "axobject-query": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", @@ -4734,11 +5613,24 @@ } } }, + "class-variance-authority": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.0.tgz", + "integrity": "sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==", + "requires": { + "clsx": "2.0.0" + } + }, "client-only": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" }, + "clsx": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz", + "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==" + }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -4752,6 +5644,14 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, "commander": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", @@ -4809,6 +5709,11 @@ "object-keys": "^1.1.1" } }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, "dequal": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", @@ -5341,6 +6246,11 @@ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" }, + "follow-redirects": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + }, "for-each": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", @@ -5349,6 +6259,16 @@ "is-callable": "^1.1.3" } }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, "fraction.js": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.1.tgz", @@ -5798,6 +6718,11 @@ "reflect.getprototypeof": "^1.0.3" } }, + "jalaali-js": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/jalaali-js/-/jalaali-js-1.2.6.tgz", + "integrity": "sha512-io974va+Qyu+UfuVX3UIAgJlxLhAMx9Y8VMfh+IG00Js7hXQo1qNQuwSiSa0xxco0SVgx5HWNkaiCcV+aZ8WPw==" + }, "jiti": { "version": "1.19.3", "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.19.3.tgz", @@ -5906,6 +6831,12 @@ "yallist": "^4.0.0" } }, + "lucide-react": { + "version": "0.298.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.298.0.tgz", + "integrity": "sha512-tWoxZ663Zf/n8VxXTHnTJsU/w1ysWT1LORnIL1pzqElFdSqBhWbZeJ3sLdCZ5FpzpbkpkYEtluhuTyG2BTDYNQ==", + "requires": {} + }, "merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -5920,6 +6851,19 @@ "picomatch": "^2.3.1" } }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, "minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -5933,6 +6877,30 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" }, + "moment": { + "version": "2.29.4", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", + "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==" + }, + "moment-jalaali": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/moment-jalaali/-/moment-jalaali-0.10.0.tgz", + "integrity": "sha512-XICH1+UHd3zyaE1bXWQBlhoXBqbzEyFfT0TrifNobHxLALRuTSwXn376bX8FmkYg9mZimevwwdd6EB57s5wuFA==", + "requires": { + "jalaali-js": "^1.1.0", + "moment": "^2.22.2", + "moment-timezone": "^0.5.21", + "rimraf": "^3.0.2" + } + }, + "moment-timezone": { + "version": "0.5.43", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.43.tgz", + "integrity": "sha512-72j3aNyuIsDxdF1i7CEgV2FfxM1r6aaqJyLB2vwb33mXYyoyLly+F1zbWqhA3/bVIoJ4szlUoMbUnVdid32NUQ==", + "requires": { + "moment": "^2.29.4" + } + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -6253,6 +7221,11 @@ "react-is": "^16.13.1" } }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "punycode": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", @@ -6280,6 +7253,12 @@ "scheduler": "^0.23.0" } }, + "react-icons": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.12.0.tgz", + "integrity": "sha512-IBaDuHiShdZqmfc/TwHu6+d6k2ltNCf3AszxNmjJc1KUfXdEeRJOKyNvLmAHaarhzGmTSVygNdyu8/opXv2gaw==", + "requires": {} + }, "react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", @@ -6597,6 +7576,14 @@ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" }, + "tailwind-merge": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.1.0.tgz", + "integrity": "sha512-l11VvI4nSwW7MtLSLYT4ldidDEUwQAMWuSHk7l4zcXZDgnCRa0V3OdCwFfM7DCzakVXMNRwAeje9maFFXT71dQ==", + "requires": { + "@babel/runtime": "^7.23.5" + } + }, "tailwindcss": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz", @@ -6626,6 +7613,12 @@ "sucrase": "^3.32.0" } }, + "tailwindcss-animate": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/tailwindcss-animate/-/tailwindcss-animate-1.0.7.tgz", + "integrity": "sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==", + "requires": {} + }, "tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", diff --git a/package.json b/package.json index cf83c44..b5716df 100644 --- a/package.json +++ b/package.json @@ -9,19 +9,33 @@ "lint": "next lint" }, "dependencies": { + "@radix-ui/react-checkbox": "^1.0.4", + "@radix-ui/react-label": "^2.0.2", + "@radix-ui/react-separator": "^1.0.3", + "@radix-ui/react-slot": "^1.0.2", + "@radix-ui/react-toast": "^1.1.5", "@reduxjs/toolkit": "^1.9.7", + "@tanstack/react-query": "^4.36.1", "@types/node": "20.5.1", "@types/react": "18.2.20", "@types/react-dom": "18.2.7", "autoprefixer": "10.4.15", + "axios": "^1.5.1", + "class-variance-authority": "^0.7.0", + "clsx": "^2.0.0", "eslint": "8.47.0", "eslint-config-next": "^13.5.4", + "lucide-react": "^0.298.0", + "moment-jalaali": "^0.10.0", "next": "^13.5.4", "postcss": "8.4.28", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-icons": "^4.12.0", "react-redux": "^8.1.3", + "tailwind-merge": "^2.1.0", "tailwindcss": "3.3.3", + "tailwindcss-animate": "^1.0.7", "typescript": "5.1.6" } } diff --git a/src/app/(api)/api/[...slug]/route.ts b/src/app/(api)/api/[...slug]/route.ts new file mode 100644 index 0000000..c7584c6 --- /dev/null +++ b/src/app/(api)/api/[...slug]/route.ts @@ -0,0 +1,160 @@ + +import { cookies, headers } from 'next/headers' + +const api_url = 'http://127.0.0.1:8000/'; + +const rewrite_url = async (context:any, request:any)=>{ + + const { slug } = await context.params + const { searchParams } = await new URL(request.url) + + const path = await slug.join("/") + + const url_params = await searchParams.toString() + + const full_url = url_params ? api_url+path+"?"+url_params : api_url+path+"/" + + return full_url +} + +export async function GET(request: Request, context: { params: any }) { + + const new_api_url = await rewrite_url(context, request) + + const cookiesList = cookies() + const refreshToken = cookiesList.get('refreshToken') + const accsessToken = cookiesList.get('accsessToken') + + + if (!accsessToken || !refreshToken ){ return Response.json('nextjs token not found'); } + + const res = await fetch( new_api_url, { + cache: 'no-store', + method: request.method, + headers: { + 'Content-Type': 'application/json', + 'Authorization': "Bearer "+accsessToken.value.toString() + }, + }) + + const data = await res.json() + + return new Response(JSON.stringify(data),{ + status: res.status, + }) + +} + +export async function POST(request: Request, context: { params: any }) { + + const cookiesList = await cookies() + const refreshToken = await cookiesList.get('refreshToken') + const accsessToken = await cookiesList.get('accsessToken') + + if (!accsessToken || !refreshToken ){ return Response.json('token not found'); } + + const new_api_url = await rewrite_url(context, request) + + + const payload = await request.json() + + const res = await fetch( new_api_url, { + method: "POST", + cache: "no-store", + headers: { + 'Content-Type': 'application/json', + 'Authorization': "Bearer "+accsessToken.value.toString() + }, + body: JSON.stringify(payload) + }) + + const data = await res.json() + + return new Response(JSON.stringify(data),{ + status: res.status, + headers: res.headers + }) +} + +export async function PUT(request: Request, context: { params: any }) { + + const new_api_url = await rewrite_url(context, request) + + const cookiesList = await cookies() + const refreshToken = await cookiesList.get('refreshToken') + const accsessToken = await cookiesList.get('accsessToken') + + if (!accsessToken || !refreshToken ){ return Response.json('token not found'); } + + const payload = await request.json() + + const res = await fetch( new_api_url, { + method: request.method, + headers: { + 'Content-Type': 'application/json', + 'Authorization': accsessToken.toString() + }, + body: JSON.stringify(payload) + }) + + return new Response(res.body,{ + status: res.status, + headers: res.headers + }) +} + +export async function DELETE(request: Request, context: { params: any }) { + + + console.log("DELETE METHODDDD!!!!!!!!!!") + + const new_api_url = await rewrite_url(context, request) + + const cookiesList = await cookies() + const refreshToken = await cookiesList.get('refreshToken') + const accsessToken = await cookiesList.get('accsessToken') + + if (!accsessToken || !refreshToken ){ return Response.json('token not found'); } + + const res = await fetch( new_api_url, { + cache: 'no-store', + method: request.method, + headers: { + 'Content-Type': 'application/json', + 'Authorization': "Bearer "+accsessToken.value.toString() + } + }) + + return new Response(res.body,{ + status: res.status, + headers: res.headers + }) + +} + +export async function PATCH(request: Request, context: { params: any }) { + + const cookiesList = await cookies() + const refreshToken = await cookiesList.get('refreshToken') + const accsessToken = await cookiesList.get('accsessToken') + + if (!accsessToken || !refreshToken ){ return Response.json('token not found'); } + + const new_api_url = await rewrite_url(context, request) + + const payload = await request.json() + + const res = await fetch( new_api_url, { + method: request.method, + headers: { + 'Content-Type': 'application/json', + 'Authorization': accsessToken.toString() + }, + body: JSON.stringify(payload) + }) + + return new Response(res.body,{ + status: res.status, + headers: res.headers + }) +} \ No newline at end of file diff --git a/src/app/(api)/api/auth/login/mobile/route.ts b/src/app/(api)/api/auth/login/mobile/route.ts new file mode 100644 index 0000000..d2079a4 --- /dev/null +++ b/src/app/(api)/api/auth/login/mobile/route.ts @@ -0,0 +1,20 @@ +export async function POST(request: Request, context: { params: any }) { + + const payload = await request.json() + + const res = await fetch( "http://127.0.0.1:8000/auth/login/mobile/", { + method: "POST", + cache: "no-store", + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(payload) + }) + + const data = await res.json() + + return new Response(JSON.stringify(data),{ + status: res.status, + headers: res.headers + }) +} \ No newline at end of file diff --git a/src/app/(api)/api/auth/login/mobile/verify/route.ts b/src/app/(api)/api/auth/login/mobile/verify/route.ts new file mode 100644 index 0000000..86ad5d4 --- /dev/null +++ b/src/app/(api)/api/auth/login/mobile/verify/route.ts @@ -0,0 +1,28 @@ +export async function POST(request: Request, context: { params: any }) { + + const payload = await request.json() + + console.log("verifyyyyy 11") + + const res = await fetch( "http://127.0.0.1:8000/auth/login/mobile/verify/", { + method: "POST", + cache: "no-store", + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(payload) + }) + + console.log("verifyyyyy 22") + + const data = await res.json() + + console.log(res) + + console.log(data) + + return new Response(JSON.stringify(data),{ + status: res.status, + headers: res.headers + }) +} \ No newline at end of file diff --git a/src/app/(api)/api/auth/token/refresh/route.ts b/src/app/(api)/api/auth/token/refresh/route.ts new file mode 100644 index 0000000..cabe3e7 --- /dev/null +++ b/src/app/(api)/api/auth/token/refresh/route.ts @@ -0,0 +1,70 @@ +import { cookies } from 'next/headers' + + +export async function GET(request: Request, context: { params: any }) { + + + //return Response.json("aaaa") + + const cookiesList = await cookies() + const refreshToken = await cookiesList.get('refreshToken') + + + const res = await fetch( "http://localhost:8000/auth/token/refresh/", { + method: "POST", + cache: "no-store", + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + refresh: refreshToken?.value + }) + }) + + + const data = await res.json() + + if ('access' in data && 'refresh' in data){ + + await cookies().set({ + name: 'accsessToken', + value:data.access, + httpOnly: true, + path: '/', + }) + + cookies().set({ + name: 'refreshToken', + value:data.refresh, + httpOnly: true, + path: '/', + }) + + cookies().set({ + name: 'isAuth', + value:'true', + path: '/', + }) + + return new Response(JSON.stringify(data),{ + status: res.status, + headers: res.headers + }); + } else { + + /*cookies().set({ + name: 'isAuth', + value:'false', + path: '/', + })*/ + + return new Response(JSON.stringify(data),{ + status: res.status, + headers: res.headers + }); + + + } + + +} \ No newline at end of file diff --git a/src/app/(api)/api/auth/token/route.ts b/src/app/(api)/api/auth/token/route.ts new file mode 100644 index 0000000..309157d --- /dev/null +++ b/src/app/(api)/api/auth/token/route.ts @@ -0,0 +1,48 @@ +import { cookies } from 'next/headers' + + +export async function POST(request: Request, context: { params: any }) { + + const payload = await request.json() + + const res = await fetch( "http://127.0.0.1:8000/auth/token/", { + method: "POST", + cache: "no-store", + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(payload) + }) + + const data = await res.json() + + if ('access' in data && 'refresh' in data){ + + cookies().set({ + name: 'accsessToken', + value:data.access, + httpOnly: true, + path: '/', + }) + + cookies().set({ + name: 'refreshToken', + value:data.refresh, + httpOnly: true, + path: '/', + }) + + cookies().set({ + name: 'isAuth', + value:'true', + path: '/', + }) + + } + + return new Response(JSON.stringify(data),{ + status: res.status, + headers: res.headers + }) + +} \ No newline at end of file diff --git a/src/app/(api)/api/setcookie/route.ts b/src/app/(api)/api/setcookie/route.ts new file mode 100644 index 0000000..1c8f039 --- /dev/null +++ b/src/app/(api)/api/setcookie/route.ts @@ -0,0 +1,10 @@ +import { cookies } from 'next/headers' + + +export async function GET(request: Request, context: { params: any }) { + + cookies().set('accsessToken', '78541514545') + cookies().set('refreshToken', '545647565') + return Response.json("set shod") + +} \ No newline at end of file diff --git a/src/app/(index)/fonts/woff/IRANSansX-Bold.woff b/src/app/(index)/fonts/woff/IRANSansX-Bold.woff new file mode 100644 index 0000000000000000000000000000000000000000..6dacc612da7ed00341a3268b305be54e5e8ce8c0 GIT binary patch literal 43464 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 literal 0 HcmV?d00001 diff --git a/src/app/(index)/fonts/woff/IRANSansX-Regular.woff b/src/app/(index)/fonts/woff/IRANSansX-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..51780b3c3bfbf43cca7ecaad1364969ad32b2dc8 GIT binary patch literal 39840 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%0AGLN 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 literal 0 HcmV?d00001 diff --git a/src/app/(index)/layout.tsx b/src/app/(index)/layout.tsx index c8a5205..d4cf38f 100644 --- a/src/app/(index)/layout.tsx +++ b/src/app/(index)/layout.tsx @@ -3,63 +3,115 @@ import type { Metadata } from 'next' import { Inter } from 'next/font/google' import HamberMenu from '../components/layout/hamber-menu' import { headers } from 'next/headers'; -import OrderContextProvider from '@/context/OrderContextProvider'; import ReduxProvider from '../redux/provider'; +import ReactQueryProvider from '../react_query/provider'; +import FetchCart from '../components/layout/shop/fetch-cart'; +import FetchCartProvider from '../components/layout/shop/fetch-cart'; +import Link from 'next/link' +import MainLayoutUtil from '../components/layout/main-layout-util'; +import localFont from 'next/font/local' +import { Toaster } from "@/components/ui/toaster" +import { FaBasketShopping, FaClipboardList } from "react-icons/fa6"; +import { SiGooglemessages } from "react-icons/si"; -const inter = Inter({ subsets: ['latin'] }) - export const metadata: Metadata = { title: 'Fesahat CRM', description: 'Perfect CRM software', } +const myFont = localFont({ + src: './fonts/woff2/IRANSansX-Regular.woff2', + display: 'swap', +}) + export default function RootLayout({ children, }: { children: React.ReactNode }) { - - const headersList = headers(); - const activePath = headersList.get('x-invoke-path'); //const navigation = use return ( - - + +
    -
  • صفحه اصلی
  • -
  • سفارشات
  • -
  • تیکت ها
  • + +
  • + + +
    + +
    + +
    + +
    + ثبت سفارش +
    + +
    + + +
  • + +
  • + + + +
    + +
    + +
    + +
    + سفارشات +
    + +
    + + + + +
  • + +
  • + + +
    + +
    + +
    + +
    + تیکت ها +
    + +
    + + +
  • + {/*}
  • چک ها
  • واریزی ها
  • صورت حساب
  • + */}
-
-
- - - -
- محمد جواد فصاحت -
- - -
- - - {children} - - -
+ + {children} +
+ + diff --git a/src/app/(index)/orders/[id]/page.tsx b/src/app/(index)/orders/[id]/page.tsx new file mode 100644 index 0000000..5269038 --- /dev/null +++ b/src/app/(index)/orders/[id]/page.tsx @@ -0,0 +1,86 @@ +'use client' + +import axiosInstance from '@/axios/axiosInstance' +import { useQuery } from '@tanstack/react-query' +import { useState } from 'react' + +interface OrderItemsInterface { + id: number, + created_at: string, + updated_at: string, + product_name: string, + price: string, + amount: number, + order: number, + product: number, + category_name: string +} + + +const Page = ({params}:{params: { id: number }})=>{ + + const [orderItems, setOrderItems] = useState<[OrderItemsInterface] | [] >([]) + + const getOrderIteams = useQuery({ queryKey:['order-'+params.id.toString()], queryFn:()=>{ + return axiosInstance.get(`shop/order/iteams/list/${params.id.toString()}/`) + + },onSuccess:(result)=>{ + setOrderItems(result.data) + },}) + + if (getOrderIteams.isLoading){ + return ( +

در حال دریافت اطلاعات

+ ) + } + + if (getOrderIteams.isError){ + return ( +

+ خطا در دریافت اطلاعات +

+ ) + } + + return ( + <> +
+
+
شماره سفارش {params.id}
+ +
+ + + + + + + + + + + {getOrderIteams.isSuccess ? orderItems.map((item, key)=>{ + return ( + + + + + + + + ) + }): null} + + +
نام محصولسایزتعداد
{item.category_name}{item.product_name}{item.amount}
+
+ +
+ + +
+ + ) +} + +export default Page \ No newline at end of file diff --git a/src/app/(index)/orders/page.tsx b/src/app/(index)/orders/page.tsx new file mode 100644 index 0000000..3dd4bcf --- /dev/null +++ b/src/app/(index)/orders/page.tsx @@ -0,0 +1,57 @@ +'use client' + +import axiosInstance from "@/axios/axiosInstance" +import { useQuery } from "@tanstack/react-query" +import { useState } from 'react' +import moment from "moment-jalaali"; +import Link from 'next/link' + +const Page = ()=>{ + + const [orders, setOrders] = useState<[] | null>(null) + + const ordersFetch = useQuery({queryKey:['ordersData',], queryFn: ()=>{ + return axiosInstance.get('shop/order/list/') + }, onSuccess:(result)=>{ + if(result.status == 200){ + console.log(result) + setOrders(result.data); + } + }}) + + if(ordersFetch.isLoading) { + return ( +

درحال دریافت اطلاعات

+ ) + } + + if(ordersFetch.isError) { +

خطا در دریافت اطلاعات

+ } + + return ( +
+
+
سوابق سفارشات
+ + {orders ? orders.map((iteam, key)=>{ + return ( + +
+ + تاریخ + + { moment(iteam.created_at).format('jYYYY/jM/jD') } + +
+ + + ) + }) : null} + +
+
+ ) +} + +export default Page \ No newline at end of file diff --git a/src/app/(index)/shop/layout.tsx b/src/app/(index)/shop/layout.tsx index 45aa63a..4275f4c 100644 --- a/src/app/(index)/shop/layout.tsx +++ b/src/app/(index)/shop/layout.tsx @@ -13,28 +13,14 @@ export default function ShopLayout({ children: React.ReactNode }) { return ( +
{children}
-
-

سبد خرید شما

-
- -
+ - - -
- -

مشاهده کامل سبد خرید

-
- ثبت نهایی -
-
- -
) } diff --git a/src/app/(index)/shop/page.tsx b/src/app/(index)/shop/page.tsx index 4799304..98b99b9 100644 --- a/src/app/(index)/shop/page.tsx +++ b/src/app/(index)/shop/page.tsx @@ -1,43 +1,45 @@ +'use client' + import ProductCategoryBox from '@/app/components/layout/shop/products-cat' import Image from 'next/image' +import axiosInstance from '@/axios/axiosInstance' +import { useEffect, useState } from 'react' +import { useQuery,useQueryClient } from '@tanstack/react-query' + +const Page = ()=>{ + + const [category, setCategory] = useState([]) + + const queryClient = useQueryClient() + + const query = useQuery({ queryKey: ['categoryProducts'], queryFn: async ()=>{ + return await axiosInstance.get("shop/v2/product-category/list/") + },refetchOnWindowFocus:false, onSuccess(result:any) { + setCategory(result.data) + }, }) + + if(query.isLoading){ + return ( +

درحال دریافت اطلاعات

+ ) + } + + if(query.isError){ + return ( +

+ خطا در دریافت اطلاعات +

+ ) + } -const Page = ()=>{ return ( <>
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + {query.isSuccess?category.map((iteam:any)=>{ + return + }):null} +
) diff --git a/src/app/(index)/shop/product/[id]/page.tsx b/src/app/(index)/shop/product/[id]/page.tsx index 584a181..305fd53 100644 --- a/src/app/(index)/shop/product/[id]/page.tsx +++ b/src/app/(index)/shop/product/[id]/page.tsx @@ -3,46 +3,72 @@ import Products from '@/app/components/layout/shop/products' import Image from 'next/image' import Link from 'next/link' import { useRouter } from 'next/navigation' +import { useQuery, useQueryClient } from '@tanstack/react-query' +import axiosInstance from '@/axios/axiosInstance' +import { useState } from 'react' -const Page = ()=>{ - const router = useRouter() - return ( - <> -
-
- - - سیفون پایه دار سیفون پایه دار - +const Page = ({ params }: { params: { id: string } })=>{ - { router.back() }} className='cursor-pointer bg-cyan-700 pr-1 pl-1 text-white text-[0.9rem] rounded'>بازگشت + const router = useRouter(); + const [products, setProducts] = useState<{category_name: string, category_img: string, products:[{id:number, name:string, price: number}]}>() + + const query = useQuery({ queryKey: ['productListByCat'], queryFn: async ()=>{ + return await axiosInstance.get(`shop/product/list/${params.id}/`) + }, onSuccess(data:any) { + setProducts(data.data) + }, }); + + if(query.isLoading){ + return ( +

درحال دریافت اطلاعات

+ ) + } + if(query.isError){ + return(

خطا در دریافت اطلاعات

) + } + + if(query.isSuccess){ + return ( + <> +
+
+ + + {products?.category_name} + + + { router.back() }} className='cursor-pointer bg-cyan-700 pr-1 pl-1 text-white text-[0.9rem] rounded'>بازگشت + +
+ + +
+ sdf +
+ +
+ + {products?.products.map((iteam)=>{ + return () + })} + + + +
+ +
{ router.back() }} className='w-full text-center bg-gray-800 text-white rounded mt-2 p-2'> + بازگشت به صفحه قبل +
+ + +
+ + ) + } - -
- sdf -
- -
- - - - - - -
- -
{ router.back() }} className='w-full text-center bg-gray-800 text-white rounded mt-2 p-2'> - بازگشت به صفحه قبل -
- - - -
- - ) } export default Page \ No newline at end of file diff --git a/src/app/(index)/tickets/[id]/page.tsx b/src/app/(index)/tickets/[id]/page.tsx new file mode 100644 index 0000000..01c3ee2 --- /dev/null +++ b/src/app/(index)/tickets/[id]/page.tsx @@ -0,0 +1,175 @@ +'use client' + +import { Input, } from "@/components/ui/input" +import { Label } from "@/components/ui/label" +import { Textarea } from "@/components/ui/textarea" +import { Button } from "@/components/ui/button" +import axiosInstance from '@/axios/axiosInstance' +import { useQuery, useQueryClient } from '@tanstack/react-query' +import { useState, useRef } from 'react' +import { useRouter } from 'next/navigation' +import Link from 'next/link' +import { IoMdAddCircle } from "react-icons/io"; +import moment from "moment-jalaali"; + + +const TicketIDPage = ({params}:{params: {id: number} })=>{ + + const queryClient = useQueryClient() + + const desc = useRef() + + const router = useRouter() + + const [ticketComments, setTicketComments] = useState<[]>([]) + + const [ufiles, setUFiles] = useState([]) + const [uploadCounter, setUploadCounter] = useState(['1', '1', '1']) + + + const fileHandeler = async (e:any)=>{ + const file = await e.target.files[0]; + setUFiles((old:any)=>[...old, file]) + } + + const addUpload = ()=>{ + setUploadCounter((old:any)=>[...old, '1']) + } + + const result = useQuery({ queryKey:['ticket-'+params.id.toString()], queryFn:()=>{ + return axiosInstance.get(`ticket/${params.id.toString()}/`) + + },onSuccess:(result)=>{ + setTicketComments(result.data) + },}) + + + const addComment = async ()=>{ + + const data = new FormData() + data.append('desc', desc.current ? desc.current.value : null) + + await ufiles.map( async (val:any, key:any)=>{ + await data.append('files', val ? val : null) + }) + + const result = await axiosInstance.post(`ticket/${params.id.toString()}/new/`, data , { + headers: { + "Content-Type": "multipart/form-data", + }, + }) + + if(result.status == 201){ + queryClient.invalidateQueries({ queryKey: ['ticket-'+params.id.toString()] }) + } + + } + + + const goBack = ()=>{ + router.push(`/tickets/`); + } + + if (result.isLoading){ + return ( +

در حال دریافت اطلاعات

+ ) + } + + if (result.isError){ + return ( +

+ خطا در دریافت اطلاعات +

+ ) + } + + + + return ( + +
+ +
+ +
+ + {ticketComments[0] ? ticketComments[0].ticket.title : null} +
+ + + {ticketComments.map((item, key)=>{ + return ( +
+ +
+
+ {item.desc} +
+ + {item.comment_files.length >= 1 ? ( + +
+

عکس و فایل ها:

+
+ {item.comment_files.map((file:any, key:any)=>{ + return {`${ decodeURIComponent(file.file.split('/').slice(-1)) }`} + })} +
+ +
+ + ): null} + +
+ +
+ {moment(item.created_at).format('jYYYY/jM/jD H:m')} +
+ +
+ ) + })} + + + +
+ + +