From 655fd7ff2c44a5c43d308185e8552e5ac7774831 Mon Sep 17 00:00:00 2001 From: javad Date: Wed, 21 Feb 2024 10:49:30 +0330 Subject: [PATCH] Stable-1 --- .env.production | 1 + .eslintrc.json | 6 +- liara.json | 4 + next.config.js | 18 + package-lock.json | 887 +++++++++++++++--- package.json | 8 +- src/ClientSideScrollRestorer.tsx | 7 + src/app/(api).rar | Bin 0 -> 3518 bytes 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 - src/app/(index)/orders/page.tsx | 6 +- src/app/(index)/shop/page.tsx | 16 +- src/app/(index)/shop/product/[id]/page.tsx | 15 +- src/app/(index)/tickets/[id]/page.tsx | 6 +- src/app/(index)/tickets/new/page.tsx | 2 +- src/app/(index)/tickets/page.tsx | 2 +- src/app/(login_register)/login/page.tsx | 2 +- .../(login_register)/login/verify/page.tsx | 6 +- .../components/layout/main-layout-util.tsx | 2 +- .../components/layout/shop/orders-list.tsx | 8 +- .../components/layout/shop/products-cat.tsx | 16 +- src/axios/axiosInstance.ts | 4 +- 26 files changed, 839 insertions(+), 513 deletions(-) create mode 100644 .env.production create mode 100644 liara.json create mode 100644 src/ClientSideScrollRestorer.tsx create mode 100644 src/app/(api).rar delete mode 100644 src/app/(api)/api/[...slug]/route.ts delete mode 100644 src/app/(api)/api/auth/login/mobile/route.ts delete mode 100644 src/app/(api)/api/auth/login/mobile/verify/route.ts delete mode 100644 src/app/(api)/api/auth/token/refresh/route.ts delete mode 100644 src/app/(api)/api/auth/token/route.ts delete mode 100644 src/app/(api)/api/setcookie/route.ts diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..148c78e --- /dev/null +++ b/.env.production @@ -0,0 +1 @@ +NEXT_PUBLIC_API_URL=https://loolegostar-api.liara.run \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json index bffb357..d9499ee 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,3 +1,7 @@ { - "extends": "next/core-web-vitals" + "extends": "next", + "rules": { + "react/no-unescaped-entities": "off", + "@next/next/no-page-custom-font": "off" + } } diff --git a/liara.json b/liara.json new file mode 100644 index 0000000..ba330c1 --- /dev/null +++ b/liara.json @@ -0,0 +1,4 @@ +{ + "platform": "next", + "app": "loolegostar" +} \ No newline at end of file diff --git a/next.config.js b/next.config.js index 270e7c5..06048a1 100644 --- a/next.config.js +++ b/next.config.js @@ -1,8 +1,26 @@ /** @type {import('next').NextConfig} */ const nextConfig = { + typescript: { + // !! WARN !! + // Dangerously allow production builds to successfully complete even if + // your project has type errors. + // !! WARN !! + ignoreBuildErrors: true, + }, + eslint: { + // Warning: This allows production builds to successfully complete even if + // your project has ESLint errors. + ignoreDuringBuilds: true, + }, images: { remotePatterns: [ { + protocol: 'https', + hostname: 'loolegostar-api.liara.run', + port: '' + }, + { + protocol: 'http', hostname: '127.0.0.1', port: '8000' }, diff --git a/package-lock.json b/package-lock.json index ed7d906..e49778e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,10 +23,11 @@ "class-variance-authority": "^0.7.0", "clsx": "^2.0.0", "eslint": "8.47.0", - "eslint-config-next": "^13.5.4", + "eslint-config-next": "^14.1.0", "lucide-react": "^0.298.0", "moment-jalaali": "^0.10.0", - "next": "^13.5.4", + "next": "^14.1.0", + "next-scroll-restorer": "^0.9.7", "postcss": "8.4.28", "react": "^18.2.0", "react-dom": "^18.2.0", @@ -36,6 +37,9 @@ "tailwindcss": "3.3.3", "tailwindcss-animate": "^1.0.7", "typescript": "5.1.6" + }, + "devDependencies": { + "@types/moment-jalaali": "^0.7.9" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -68,6 +72,14 @@ "node": ">=6.9.0" } }, + "node_modules/@bladl/react-hooks": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@bladl/react-hooks/-/react-hooks-1.5.2.tgz", + "integrity": "sha512-7hAybxLDsOCMQ2nKyQ7mNch0JrtCMarujkIBRxnOHII74R2WprMtyF09yGb1OSvXEBnMRkWwjH/ruGwYaj2ldA==", + "dependencies": { + "react": "^18.0" + } + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -150,6 +162,47 @@ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", @@ -194,22 +247,65 @@ } }, "node_modules/@next/env": { - "version": "13.5.4", - "resolved": "https://registry.npmjs.org/@next/env/-/env-13.5.4.tgz", - "integrity": "sha512-LGegJkMvRNw90WWphGJ3RMHMVplYcOfRWf2Be3td3sUa+1AaxmsYyANsA+znrGCBjXJNi4XAQlSoEfUxs/4kIQ==" + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.1.0.tgz", + "integrity": "sha512-Py8zIo+02ht82brwwhTg36iogzFqGLPXlRGKQw5s+qP/kMNc4MAyDeEwBKDijk6zTIbegEgu8Qy7C1LboslQAw==" }, "node_modules/@next/eslint-plugin-next": { - "version": "13.5.4", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.5.4.tgz", - "integrity": "sha512-vI94U+D7RNgX6XypSyjeFrOzxGlZyxOplU0dVE5norIfZGn/LDjJYPHdvdsR5vN1eRtl6PDAsOHmycFEOljK5A==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.1.0.tgz", + "integrity": "sha512-x4FavbNEeXx/baD/zC/SdrvkjSby8nBn8KcCREqk6UuwvwoAPZmaV8TFCAuo/cpovBRTIY67mHhe86MQQm/68Q==", "dependencies": { - "glob": "7.1.7" + "glob": "10.3.10" + } + }, + "node_modules/@next/eslint-plugin-next/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@next/eslint-plugin-next/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@next/eslint-plugin-next/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/@next/swc-darwin-arm64": { - "version": "13.5.4", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.5.4.tgz", - "integrity": "sha512-Df8SHuXgF1p+aonBMcDPEsaahNo2TCwuie7VXED4FVyECvdXfRT9unapm54NssV9tF3OQFKBFOdlje4T43VO0w==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.1.0.tgz", + "integrity": "sha512-nUDn7TOGcIeyQni6lZHfzNoo9S0euXnu0jhsbMOmMJUBfgsnESdjN97kM7cBqQxZa8L/bM9om/S5/1dzCrW6wQ==", "cpu": [ "arm64" ], @@ -222,9 +318,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "13.5.4", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.5.4.tgz", - "integrity": "sha512-siPuUwO45PnNRMeZnSa8n/Lye5ZX93IJom9wQRB5DEOdFrw0JjOMu1GINB8jAEdwa7Vdyn1oJ2xGNaQpdQQ9Pw==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.1.0.tgz", + "integrity": "sha512-1jgudN5haWxiAl3O1ljUS2GfupPmcftu2RYJqZiMJmmbBT5M1XDffjUtRUzP4W3cBHsrvkfOFdQ71hAreNQP6g==", "cpu": [ "x64" ], @@ -237,9 +333,9 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "13.5.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.5.4.tgz", - "integrity": "sha512-l/k/fvRP/zmB2jkFMfefmFkyZbDkYW0mRM/LB+tH5u9pB98WsHXC0WvDHlGCYp3CH/jlkJPL7gN8nkTQVrQ/2w==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.1.0.tgz", + "integrity": "sha512-RHo7Tcj+jllXUbK7xk2NyIDod3YcCPDZxj1WLIYxd709BQ7WuRYl3OWUNG+WUfqeQBds6kvZYlc42NJJTNi4tQ==", "cpu": [ "arm64" ], @@ -252,9 +348,9 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "13.5.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.5.4.tgz", - "integrity": "sha512-YYGb7SlLkI+XqfQa8VPErljb7k9nUnhhRrVaOdfJNCaQnHBcvbT7cx/UjDQLdleJcfyg1Hkn5YSSIeVfjgmkTg==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.1.0.tgz", + "integrity": "sha512-v6kP8sHYxjO8RwHmWMJSq7VZP2nYCkRVQ0qolh2l6xroe9QjbgV8siTbduED4u0hlk0+tjS6/Tuy4n5XCp+l6g==", "cpu": [ "arm64" ], @@ -267,9 +363,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "13.5.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.5.4.tgz", - "integrity": "sha512-uE61vyUSClnCH18YHjA8tE1prr/PBFlBFhxBZis4XBRJoR+txAky5d7gGNUIbQ8sZZ7LVkSVgm/5Fc7mwXmRAg==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.1.0.tgz", + "integrity": "sha512-zJ2pnoFYB1F4vmEVlb/eSe+VH679zT1VdXlZKX+pE66grOgjmKJHKacf82g/sWE4MQ4Rk2FMBCRnX+l6/TVYzQ==", "cpu": [ "x64" ], @@ -282,9 +378,9 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "13.5.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.5.4.tgz", - "integrity": "sha512-qVEKFYML/GvJSy9CfYqAdUexA6M5AklYcQCW+8JECmkQHGoPxCf04iMh7CPR7wkHyWWK+XLt4Ja7hhsPJtSnhg==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.1.0.tgz", + "integrity": "sha512-rbaIYFt2X9YZBSbH/CwGAjbBG2/MrACCVu2X0+kSykHzHnYH5FjHxwXLkcoJ10cX0aWCEynpu+rP76x0914atg==", "cpu": [ "x64" ], @@ -297,9 +393,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "13.5.4", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.5.4.tgz", - "integrity": "sha512-mDSQfqxAlfpeZOLPxLymZkX0hYF3juN57W6vFHTvwKlnHfmh12Pt7hPIRLYIShk8uYRsKPtMTth/EzpwRI+u8w==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.1.0.tgz", + "integrity": "sha512-o1N5TsYc8f/HpGt39OUQpQ9AKIGApd3QLueu7hXk//2xq5Z9OxmV6sQfNp8C7qYmiOlHYODOGqNNa0e9jvchGQ==", "cpu": [ "arm64" ], @@ -312,9 +408,9 @@ } }, "node_modules/@next/swc-win32-ia32-msvc": { - "version": "13.5.4", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.5.4.tgz", - "integrity": "sha512-aoqAT2XIekIWoriwzOmGFAvTtVY5O7JjV21giozBTP5c6uZhpvTWRbmHXbmsjZqY4HnEZQRXWkSAppsIBweKqw==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.1.0.tgz", + "integrity": "sha512-XXIuB1DBRCFwNO6EEzCTMHT5pauwaSj4SWs7CYnME57eaReAKBXCnkUE80p/pAZcewm7hs+vGvNqDPacEXHVkw==", "cpu": [ "ia32" ], @@ -327,9 +423,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "13.5.4", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.5.4.tgz", - "integrity": "sha512-cyRvlAxwlddlqeB9xtPSfNSCRy8BOa4wtMo0IuI9P7Y0XT2qpDrpFKRyZ7kUngZis59mPVla5k8X1oOJ8RxDYg==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.1.0.tgz", + "integrity": "sha512-9WEbVRRAqJ3YFVqEZIxUqkiO8l1nool1LmNxygr5HWF8AcSYsEpneUDhmjUVJEzO2A04+oPtZdombzzPPkTtgg==", "cpu": [ "x64" ], @@ -373,6 +469,15 @@ "node": ">= 8" } }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "optional": true, + "engines": { + "node": ">=14" + } + }, "node_modules/@radix-ui/primitive": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz", @@ -879,6 +984,15 @@ "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" }, + "node_modules/@types/moment-jalaali": { + "version": "0.7.9", + "resolved": "https://registry.npmjs.org/@types/moment-jalaali/-/moment-jalaali-0.7.9.tgz", + "integrity": "sha512-gsDOoAzRnCfQTbfdlUrCvX6R0wIto6CvwfvV2C3j4qJLK+DEiTK8Rl/xlOCBO9C6qeUfX8oyZ2UfjnXJTOvHSA==", + "dev": true, + "dependencies": { + "moment": ">=2.14.0" + } + }, "node_modules/@types/node": { "version": "20.5.1", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.1.tgz", @@ -1421,9 +1535,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001522", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001522.tgz", - "integrity": "sha512-TKiyTVZxJGhsTszLuzb+6vUZSjVOAhClszBr2Ta2k9IwtNBT/4dzmL6aywt0HCgEZlmwJzXJd8yNiob6HgwTRg==", + "version": "1.0.30001587", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001587.tgz", + "integrity": "sha512-HMFNotUmLXn71BQxg8cijvqxnIAofforZOwGsxyXJ0qugTdspUF4sPSJ2vhgprHCB996tIDzEq1ubumPDV8ULA==", "funding": [ { "type": "opencollective", @@ -1673,6 +1787,11 @@ "node": ">=6.0.0" } }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, "node_modules/electron-to-chromium": { "version": "1.4.496", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.496.tgz", @@ -1878,11 +1997,11 @@ } }, "node_modules/eslint-config-next": { - "version": "13.5.4", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.5.4.tgz", - "integrity": "sha512-FzQGIj4UEszRX7fcRSJK6L1LrDiVZvDFW320VVntVKh3BSU8Fb9kpaoxQx0cdFgf3MQXdeSbrCXJ/5Z/NndDkQ==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.1.0.tgz", + "integrity": "sha512-SBX2ed7DoRFXC6CQSLc/SbLY9Ut6HxNB2wPTcoIWjUMd7aF7O/SIE7111L8FdZ9TXsNV4pulUDnfthpyPtbFUg==", "dependencies": { - "@next/eslint-plugin-next": "13.5.4", + "@next/eslint-plugin-next": "14.1.0", "@rushstack/eslint-patch": "^1.3.3", "@typescript-eslint/parser": "^5.4.2 || ^6.0.0", "eslint-import-resolver-node": "^0.3.6", @@ -2347,6 +2466,21 @@ "is-callable": "^1.1.3" } }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/form-data": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", @@ -2490,11 +2624,6 @@ "node": ">=10.13.0" } }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - }, "node_modules/globals": { "version": "13.21.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", @@ -2831,6 +2960,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, "node_modules/is-generator-function": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", @@ -3034,6 +3171,23 @@ "reflect.getprototypeof": "^1.0.3" } }, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/jalaali-js": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/jalaali-js/-/jalaali-js-1.2.6.tgz", @@ -3243,6 +3397,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/moment": { "version": "2.29.4", "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", @@ -3311,34 +3473,34 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" }, "node_modules/next": { - "version": "13.5.4", - "resolved": "https://registry.npmjs.org/next/-/next-13.5.4.tgz", - "integrity": "sha512-+93un5S779gho8y9ASQhb/bTkQF17FNQOtXLKAj3lsNgltEcF0C5PMLLncDmH+8X1EnJH1kbqAERa29nRXqhjA==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/next/-/next-14.1.0.tgz", + "integrity": "sha512-wlzrsbfeSU48YQBjZhDzOwhWhGsy+uQycR8bHAOt1LY1bn3zZEcDyHQOEoN3aWzQ8LHCAJ1nqrWCc9XF2+O45Q==", "dependencies": { - "@next/env": "13.5.4", + "@next/env": "14.1.0", "@swc/helpers": "0.5.2", "busboy": "1.6.0", - "caniuse-lite": "^1.0.30001406", + "caniuse-lite": "^1.0.30001579", + "graceful-fs": "^4.2.11", "postcss": "8.4.31", - "styled-jsx": "5.1.1", - "watchpack": "2.4.0" + "styled-jsx": "5.1.1" }, "bin": { "next": "dist/bin/next" }, "engines": { - "node": ">=16.14.0" + "node": ">=18.17.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "13.5.4", - "@next/swc-darwin-x64": "13.5.4", - "@next/swc-linux-arm64-gnu": "13.5.4", - "@next/swc-linux-arm64-musl": "13.5.4", - "@next/swc-linux-x64-gnu": "13.5.4", - "@next/swc-linux-x64-musl": "13.5.4", - "@next/swc-win32-arm64-msvc": "13.5.4", - "@next/swc-win32-ia32-msvc": "13.5.4", - "@next/swc-win32-x64-msvc": "13.5.4" + "@next/swc-darwin-arm64": "14.1.0", + "@next/swc-darwin-x64": "14.1.0", + "@next/swc-linux-arm64-gnu": "14.1.0", + "@next/swc-linux-arm64-musl": "14.1.0", + "@next/swc-linux-x64-gnu": "14.1.0", + "@next/swc-linux-x64-musl": "14.1.0", + "@next/swc-win32-arm64-msvc": "14.1.0", + "@next/swc-win32-ia32-msvc": "14.1.0", + "@next/swc-win32-x64-msvc": "14.1.0" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", @@ -3355,6 +3517,18 @@ } } }, + "node_modules/next-scroll-restorer": { + "version": "0.9.7", + "resolved": "https://registry.npmjs.org/next-scroll-restorer/-/next-scroll-restorer-0.9.7.tgz", + "integrity": "sha512-mPGn5EnxB+Y3XcdUxewdQl3IXShb5cZpJ3N6njYuJcExR6/uHL5wbBva+oUB/JZBHTnZlzx2Z56wx71kBFbhHw==", + "dependencies": { + "@bladl/react-hooks": "^1.5.2" + }, + "peerDependencies": { + "next": "^13.0 || ^14.0", + "react": "^17.0 || ^18.0" + } + }, "node_modules/next/node_modules/postcss": { "version": "8.4.31", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", @@ -3612,6 +3786,29 @@ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "engines": { + "node": "14 || >=16.14" + } + }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -4146,6 +4343,17 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -4170,6 +4378,66 @@ "node": ">=10.0.0" } }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/string.prototype.matchall": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", @@ -4241,6 +4509,18 @@ "node": ">=8" } }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", @@ -4634,18 +4914,6 @@ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, - "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -4732,6 +5000,93 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -4781,6 +5136,14 @@ "regenerator-runtime": "^0.14.0" } }, + "@bladl/react-hooks": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@bladl/react-hooks/-/react-hooks-1.5.2.tgz", + "integrity": "sha512-7hAybxLDsOCMQ2nKyQ7mNch0JrtCMarujkIBRxnOHII74R2WprMtyF09yGb1OSvXEBnMRkWwjH/ruGwYaj2ldA==", + "requires": { + "react": "^18.0" + } + }, "@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -4835,6 +5198,34 @@ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" }, + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "requires": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, "@jridgewell/gen-mapping": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", @@ -4870,70 +5261,100 @@ } }, "@next/env": { - "version": "13.5.4", - "resolved": "https://registry.npmjs.org/@next/env/-/env-13.5.4.tgz", - "integrity": "sha512-LGegJkMvRNw90WWphGJ3RMHMVplYcOfRWf2Be3td3sUa+1AaxmsYyANsA+znrGCBjXJNi4XAQlSoEfUxs/4kIQ==" + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.1.0.tgz", + "integrity": "sha512-Py8zIo+02ht82brwwhTg36iogzFqGLPXlRGKQw5s+qP/kMNc4MAyDeEwBKDijk6zTIbegEgu8Qy7C1LboslQAw==" }, "@next/eslint-plugin-next": { - "version": "13.5.4", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.5.4.tgz", - "integrity": "sha512-vI94U+D7RNgX6XypSyjeFrOzxGlZyxOplU0dVE5norIfZGn/LDjJYPHdvdsR5vN1eRtl6PDAsOHmycFEOljK5A==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-14.1.0.tgz", + "integrity": "sha512-x4FavbNEeXx/baD/zC/SdrvkjSby8nBn8KcCREqk6UuwvwoAPZmaV8TFCAuo/cpovBRTIY67mHhe86MQQm/68Q==", "requires": { - "glob": "7.1.7" + "glob": "10.3.10" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + } + }, + "minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "requires": { + "brace-expansion": "^2.0.1" + } + } } }, "@next/swc-darwin-arm64": { - "version": "13.5.4", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.5.4.tgz", - "integrity": "sha512-Df8SHuXgF1p+aonBMcDPEsaahNo2TCwuie7VXED4FVyECvdXfRT9unapm54NssV9tF3OQFKBFOdlje4T43VO0w==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.1.0.tgz", + "integrity": "sha512-nUDn7TOGcIeyQni6lZHfzNoo9S0euXnu0jhsbMOmMJUBfgsnESdjN97kM7cBqQxZa8L/bM9om/S5/1dzCrW6wQ==", "optional": true }, "@next/swc-darwin-x64": { - "version": "13.5.4", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.5.4.tgz", - "integrity": "sha512-siPuUwO45PnNRMeZnSa8n/Lye5ZX93IJom9wQRB5DEOdFrw0JjOMu1GINB8jAEdwa7Vdyn1oJ2xGNaQpdQQ9Pw==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.1.0.tgz", + "integrity": "sha512-1jgudN5haWxiAl3O1ljUS2GfupPmcftu2RYJqZiMJmmbBT5M1XDffjUtRUzP4W3cBHsrvkfOFdQ71hAreNQP6g==", "optional": true }, "@next/swc-linux-arm64-gnu": { - "version": "13.5.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.5.4.tgz", - "integrity": "sha512-l/k/fvRP/zmB2jkFMfefmFkyZbDkYW0mRM/LB+tH5u9pB98WsHXC0WvDHlGCYp3CH/jlkJPL7gN8nkTQVrQ/2w==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.1.0.tgz", + "integrity": "sha512-RHo7Tcj+jllXUbK7xk2NyIDod3YcCPDZxj1WLIYxd709BQ7WuRYl3OWUNG+WUfqeQBds6kvZYlc42NJJTNi4tQ==", "optional": true }, "@next/swc-linux-arm64-musl": { - "version": "13.5.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.5.4.tgz", - "integrity": "sha512-YYGb7SlLkI+XqfQa8VPErljb7k9nUnhhRrVaOdfJNCaQnHBcvbT7cx/UjDQLdleJcfyg1Hkn5YSSIeVfjgmkTg==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.1.0.tgz", + "integrity": "sha512-v6kP8sHYxjO8RwHmWMJSq7VZP2nYCkRVQ0qolh2l6xroe9QjbgV8siTbduED4u0hlk0+tjS6/Tuy4n5XCp+l6g==", "optional": true }, "@next/swc-linux-x64-gnu": { - "version": "13.5.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.5.4.tgz", - "integrity": "sha512-uE61vyUSClnCH18YHjA8tE1prr/PBFlBFhxBZis4XBRJoR+txAky5d7gGNUIbQ8sZZ7LVkSVgm/5Fc7mwXmRAg==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.1.0.tgz", + "integrity": "sha512-zJ2pnoFYB1F4vmEVlb/eSe+VH679zT1VdXlZKX+pE66grOgjmKJHKacf82g/sWE4MQ4Rk2FMBCRnX+l6/TVYzQ==", "optional": true }, "@next/swc-linux-x64-musl": { - "version": "13.5.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.5.4.tgz", - "integrity": "sha512-qVEKFYML/GvJSy9CfYqAdUexA6M5AklYcQCW+8JECmkQHGoPxCf04iMh7CPR7wkHyWWK+XLt4Ja7hhsPJtSnhg==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.1.0.tgz", + "integrity": "sha512-rbaIYFt2X9YZBSbH/CwGAjbBG2/MrACCVu2X0+kSykHzHnYH5FjHxwXLkcoJ10cX0aWCEynpu+rP76x0914atg==", "optional": true }, "@next/swc-win32-arm64-msvc": { - "version": "13.5.4", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.5.4.tgz", - "integrity": "sha512-mDSQfqxAlfpeZOLPxLymZkX0hYF3juN57W6vFHTvwKlnHfmh12Pt7hPIRLYIShk8uYRsKPtMTth/EzpwRI+u8w==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.1.0.tgz", + "integrity": "sha512-o1N5TsYc8f/HpGt39OUQpQ9AKIGApd3QLueu7hXk//2xq5Z9OxmV6sQfNp8C7qYmiOlHYODOGqNNa0e9jvchGQ==", "optional": true }, "@next/swc-win32-ia32-msvc": { - "version": "13.5.4", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.5.4.tgz", - "integrity": "sha512-aoqAT2XIekIWoriwzOmGFAvTtVY5O7JjV21giozBTP5c6uZhpvTWRbmHXbmsjZqY4HnEZQRXWkSAppsIBweKqw==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.1.0.tgz", + "integrity": "sha512-XXIuB1DBRCFwNO6EEzCTMHT5pauwaSj4SWs7CYnME57eaReAKBXCnkUE80p/pAZcewm7hs+vGvNqDPacEXHVkw==", "optional": true }, "@next/swc-win32-x64-msvc": { - "version": "13.5.4", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.5.4.tgz", - "integrity": "sha512-cyRvlAxwlddlqeB9xtPSfNSCRy8BOa4wtMo0IuI9P7Y0XT2qpDrpFKRyZ7kUngZis59mPVla5k8X1oOJ8RxDYg==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.1.0.tgz", + "integrity": "sha512-9WEbVRRAqJ3YFVqEZIxUqkiO8l1nool1LmNxygr5HWF8AcSYsEpneUDhmjUVJEzO2A04+oPtZdombzzPPkTtgg==", "optional": true }, "@nodelib/fs.scandir": { @@ -4959,6 +5380,12 @@ "fastq": "^1.6.0" } }, + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "optional": true + }, "@radix-ui/primitive": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz", @@ -5211,6 +5638,15 @@ "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" }, + "@types/moment-jalaali": { + "version": "0.7.9", + "resolved": "https://registry.npmjs.org/@types/moment-jalaali/-/moment-jalaali-0.7.9.tgz", + "integrity": "sha512-gsDOoAzRnCfQTbfdlUrCvX6R0wIto6CvwfvV2C3j4qJLK+DEiTK8Rl/xlOCBO9C6qeUfX8oyZ2UfjnXJTOvHSA==", + "dev": true, + "requires": { + "moment": ">=2.14.0" + } + }, "@types/node": { "version": "20.5.1", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.1.tgz", @@ -5575,9 +6011,9 @@ "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" }, "caniuse-lite": { - "version": "1.0.30001522", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001522.tgz", - "integrity": "sha512-TKiyTVZxJGhsTszLuzb+6vUZSjVOAhClszBr2Ta2k9IwtNBT/4dzmL6aywt0HCgEZlmwJzXJd8yNiob6HgwTRg==" + "version": "1.0.30001587", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001587.tgz", + "integrity": "sha512-HMFNotUmLXn71BQxg8cijvqxnIAofforZOwGsxyXJ0qugTdspUF4sPSJ2vhgprHCB996tIDzEq1ubumPDV8ULA==" }, "chalk": { "version": "4.1.2", @@ -5745,6 +6181,11 @@ "esutils": "^2.0.2" } }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, "electron-to-chromium": { "version": "1.4.496", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.496.tgz", @@ -5914,11 +6355,11 @@ } }, "eslint-config-next": { - "version": "13.5.4", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.5.4.tgz", - "integrity": "sha512-FzQGIj4UEszRX7fcRSJK6L1LrDiVZvDFW320VVntVKh3BSU8Fb9kpaoxQx0cdFgf3MQXdeSbrCXJ/5Z/NndDkQ==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-14.1.0.tgz", + "integrity": "sha512-SBX2ed7DoRFXC6CQSLc/SbLY9Ut6HxNB2wPTcoIWjUMd7aF7O/SIE7111L8FdZ9TXsNV4pulUDnfthpyPtbFUg==", "requires": { - "@next/eslint-plugin-next": "13.5.4", + "@next/eslint-plugin-next": "14.1.0", "@rushstack/eslint-patch": "^1.3.3", "@typescript-eslint/parser": "^5.4.2 || ^6.0.0", "eslint-import-resolver-node": "^0.3.6", @@ -6259,6 +6700,15 @@ "is-callable": "^1.1.3" } }, + "foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + } + }, "form-data": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", @@ -6355,11 +6805,6 @@ "is-glob": "^4.0.3" } }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - }, "globals": { "version": "13.21.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", @@ -6584,6 +7029,11 @@ "call-bind": "^1.0.2" } }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, "is-generator-function": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", @@ -6718,6 +7168,15 @@ "reflect.getprototypeof": "^1.0.3" } }, + "jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, "jalaali-js": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/jalaali-js/-/jalaali-js-1.2.6.tgz", @@ -6877,6 +7336,11 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" }, + "minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==" + }, "moment": { "version": "2.29.4", "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", @@ -6927,26 +7391,26 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" }, "next": { - "version": "13.5.4", - "resolved": "https://registry.npmjs.org/next/-/next-13.5.4.tgz", - "integrity": "sha512-+93un5S779gho8y9ASQhb/bTkQF17FNQOtXLKAj3lsNgltEcF0C5PMLLncDmH+8X1EnJH1kbqAERa29nRXqhjA==", + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/next/-/next-14.1.0.tgz", + "integrity": "sha512-wlzrsbfeSU48YQBjZhDzOwhWhGsy+uQycR8bHAOt1LY1bn3zZEcDyHQOEoN3aWzQ8LHCAJ1nqrWCc9XF2+O45Q==", "requires": { - "@next/env": "13.5.4", - "@next/swc-darwin-arm64": "13.5.4", - "@next/swc-darwin-x64": "13.5.4", - "@next/swc-linux-arm64-gnu": "13.5.4", - "@next/swc-linux-arm64-musl": "13.5.4", - "@next/swc-linux-x64-gnu": "13.5.4", - "@next/swc-linux-x64-musl": "13.5.4", - "@next/swc-win32-arm64-msvc": "13.5.4", - "@next/swc-win32-ia32-msvc": "13.5.4", - "@next/swc-win32-x64-msvc": "13.5.4", + "@next/env": "14.1.0", + "@next/swc-darwin-arm64": "14.1.0", + "@next/swc-darwin-x64": "14.1.0", + "@next/swc-linux-arm64-gnu": "14.1.0", + "@next/swc-linux-arm64-musl": "14.1.0", + "@next/swc-linux-x64-gnu": "14.1.0", + "@next/swc-linux-x64-musl": "14.1.0", + "@next/swc-win32-arm64-msvc": "14.1.0", + "@next/swc-win32-ia32-msvc": "14.1.0", + "@next/swc-win32-x64-msvc": "14.1.0", "@swc/helpers": "0.5.2", "busboy": "1.6.0", - "caniuse-lite": "^1.0.30001406", + "caniuse-lite": "^1.0.30001579", + "graceful-fs": "^4.2.11", "postcss": "8.4.31", - "styled-jsx": "5.1.1", - "watchpack": "2.4.0" + "styled-jsx": "5.1.1" }, "dependencies": { "postcss": { @@ -6961,6 +7425,14 @@ } } }, + "next-scroll-restorer": { + "version": "0.9.7", + "resolved": "https://registry.npmjs.org/next-scroll-restorer/-/next-scroll-restorer-0.9.7.tgz", + "integrity": "sha512-mPGn5EnxB+Y3XcdUxewdQl3IXShb5cZpJ3N6njYuJcExR6/uHL5wbBva+oUB/JZBHTnZlzx2Z56wx71kBFbhHw==", + "requires": { + "@bladl/react-hooks": "^1.5.2" + } + }, "node-releases": { "version": "2.0.13", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", @@ -7122,6 +7594,22 @@ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, + "path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "requires": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==" + } + } + }, "path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -7448,6 +7936,11 @@ "object-inspect": "^1.9.0" } }, + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" + }, "slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -7463,6 +7956,48 @@ "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==" }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + } + } + }, "string.prototype.matchall": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", @@ -7516,6 +8051,14 @@ "ansi-regex": "^5.0.1" } }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, "strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", @@ -7780,15 +8323,6 @@ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, - "watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -7851,6 +8385,63 @@ "has-tostringtag": "^1.0.0" } }, + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" + }, + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + } + } + }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", diff --git a/package.json b/package.json index b5716df..5bcca79 100644 --- a/package.json +++ b/package.json @@ -24,10 +24,11 @@ "class-variance-authority": "^0.7.0", "clsx": "^2.0.0", "eslint": "8.47.0", - "eslint-config-next": "^13.5.4", + "eslint-config-next": "^14.1.0", "lucide-react": "^0.298.0", "moment-jalaali": "^0.10.0", - "next": "^13.5.4", + "next": "^14.1.0", + "next-scroll-restorer": "^0.9.7", "postcss": "8.4.28", "react": "^18.2.0", "react-dom": "^18.2.0", @@ -37,5 +38,8 @@ "tailwindcss": "3.3.3", "tailwindcss-animate": "^1.0.7", "typescript": "5.1.6" + }, + "devDependencies": { + "@types/moment-jalaali": "^0.7.9" } } diff --git a/src/ClientSideScrollRestorer.tsx b/src/ClientSideScrollRestorer.tsx new file mode 100644 index 0000000..730c50c --- /dev/null +++ b/src/ClientSideScrollRestorer.tsx @@ -0,0 +1,7 @@ +"use client" +import {useScrollRestorer} from 'next-scroll-restorer'; +const ClientSideScrollRestorer = () => { + useScrollRestorer() + return <> +} +export default ClientSideScrollRestorer \ No newline at end of file diff --git a/src/app/(api).rar b/src/app/(api).rar new file mode 100644 index 0000000000000000000000000000000000000000..17c48d1771e4384d44904c19eda979d7106a2363 GIT binary patch literal 3518 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 PnyM=hW^{ - - 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 deleted file mode 100644 index d2079a4..0000000 --- a/src/app/(api)/api/auth/login/mobile/route.ts +++ /dev/null @@ -1,20 +0,0 @@ -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 deleted file mode 100644 index 86ad5d4..0000000 --- a/src/app/(api)/api/auth/login/mobile/verify/route.ts +++ /dev/null @@ -1,28 +0,0 @@ -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 deleted file mode 100644 index cabe3e7..0000000 --- a/src/app/(api)/api/auth/token/refresh/route.ts +++ /dev/null @@ -1,70 +0,0 @@ -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 deleted file mode 100644 index 309157d..0000000 --- a/src/app/(api)/api/auth/token/route.ts +++ /dev/null @@ -1,48 +0,0 @@ -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 deleted file mode 100644 index 1c8f039..0000000 --- a/src/app/(api)/api/setcookie/route.ts +++ /dev/null @@ -1,10 +0,0 @@ -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)/orders/page.tsx b/src/app/(index)/orders/page.tsx index 3dd4bcf..18695e5 100644 --- a/src/app/(index)/orders/page.tsx +++ b/src/app/(index)/orders/page.tsx @@ -34,10 +34,10 @@ const Page = ()=>{
سوابق سفارشات
- {orders ? orders.map((iteam, key)=>{ + {orders ? orders.map((iteam:any, key)=>{ return ( - -
+ +
تاریخ diff --git a/src/app/(index)/shop/page.tsx b/src/app/(index)/shop/page.tsx index 98b99b9..ba32237 100644 --- a/src/app/(index)/shop/page.tsx +++ b/src/app/(index)/shop/page.tsx @@ -12,10 +12,25 @@ const Page = ()=>{ const queryClient = useQueryClient() + useEffect(()=>{ + + },[]) + const query = useQuery({ queryKey: ['categoryProducts'], queryFn: async ()=>{ + return await axiosInstance.get("shop/v2/product-category/list/") },refetchOnWindowFocus:false, onSuccess(result:any) { + setCategory(result.data) + + setTimeout(async ()=>{ + const scrollpos = localStorage.getItem('scrollY') + if (scrollpos){ + await window.scrollTo(0, parseInt(scrollpos)); + } + + },150) + }, }) if(query.isLoading){ @@ -35,7 +50,6 @@ 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 305fd53..b8b5507 100644 --- a/src/app/(index)/shop/product/[id]/page.tsx +++ b/src/app/(index)/shop/product/[id]/page.tsx @@ -39,13 +39,13 @@ const Page = ({ params }: { params: { id: string } })=>{ {products?.category_name} - { router.back() }} className='cursor-pointer bg-cyan-700 pr-1 pl-1 text-white text-[0.9rem] rounded'>بازگشت + { router.push('/shop', { scroll: false }) }} className='cursor-pointer bg-cyan-700 pr-1 pl-1 text-white text-[0.9rem] rounded'>بازگشت
- sdf +
@@ -57,8 +57,17 @@ const Page = ({ params }: { params: { id: string } })=>{
+ +
+ +

محصول زیر فقط بر مبنای سفارش قابل تولید است

+ + + -
{ router.back() }} className='w-full text-center bg-gray-800 text-white rounded mt-2 p-2'> +
+ +
{ router.push('/shop', { scroll: false }) }} className='w-full text-center bg-gray-800 text-white rounded mt-2 p-2'> بازگشت به صفحه قبل
diff --git a/src/app/(index)/tickets/[id]/page.tsx b/src/app/(index)/tickets/[id]/page.tsx index 01c3ee2..39496cc 100644 --- a/src/app/(index)/tickets/[id]/page.tsx +++ b/src/app/(index)/tickets/[id]/page.tsx @@ -114,8 +114,8 @@ const TicketIDPage = ({params}:{params: {id: number} })=>{

عکس و فایل ها:

- {item.comment_files.map((file:any, key:any)=>{ - return {`${ decodeURIComponent(file.file.split('/').slice(-1)) }`} + {item.comment_files.map((file:any, key2:any)=>{ + return {`${ decodeURIComponent(file.file.split('/').slice(-1)) }`} })}
@@ -144,7 +144,7 @@ const TicketIDPage = ({params}:{params: {id: number} })=>{ {uploadCounter.map((value:any, key:any)=>{ return ( -
+
{fileHandeler(e)}} type="file" />
) diff --git a/src/app/(index)/tickets/new/page.tsx b/src/app/(index)/tickets/new/page.tsx index 435effc..5212272 100644 --- a/src/app/(index)/tickets/new/page.tsx +++ b/src/app/(index)/tickets/new/page.tsx @@ -86,7 +86,7 @@ const NewTicketPage = ()=>{ {uploadCounter.map((value:any, key:any)=>{ return ( -
+
{fileHandeler(e)}} type="file" />
) diff --git a/src/app/(index)/tickets/page.tsx b/src/app/(index)/tickets/page.tsx index 62059fa..19ba15c 100644 --- a/src/app/(index)/tickets/page.tsx +++ b/src/app/(index)/tickets/page.tsx @@ -80,7 +80,7 @@ const TicketPage = ()=>{ {tickets ? tickets.map((iteam, key)=>{ return ( - + {key+1} diff --git a/src/app/(login_register)/login/page.tsx b/src/app/(login_register)/login/page.tsx index 7c97554..a2972c0 100644 --- a/src/app/(login_register)/login/page.tsx +++ b/src/app/(login_register)/login/page.tsx @@ -19,7 +19,7 @@ const Page = ()=>{ const login = async ()=>{ - const res = await fetch('http://127.0.0.1:8000/auth/login/mobile/', { + const res = await fetch(`${process.env.NEXT_PUBLIC_API_URL}/auth/login/mobile/`, { method: "POST", cache: 'no-store', headers: { diff --git a/src/app/(login_register)/login/verify/page.tsx b/src/app/(login_register)/login/verify/page.tsx index d8f2605..f46dc55 100644 --- a/src/app/(login_register)/login/verify/page.tsx +++ b/src/app/(login_register)/login/verify/page.tsx @@ -26,7 +26,7 @@ const Page = ()=>{ } const veifyLogin = async (optcode: string)=>{ - const res = await fetch('http://127.0.0.1:8000/auth/login/mobile/verify/', { + const res = await fetch(`${process.env.NEXT_PUBLIC_API_URL}/auth/login/mobile/verify/`, { cache: 'no-store', method: "POST", headers: { @@ -52,7 +52,7 @@ const Page = ()=>{ if (roles.length==1) { const uuidOpt = await roles[0].uuid - const getTokenRes = await fetch('http://127.0.0.1:8000/auth/token/', { + const getTokenRes = await fetch(`${process.env.NEXT_PUBLIC_API_URL}/auth/token/`, { cache: 'no-store', method: "POST", headers: { @@ -65,8 +65,6 @@ const Page = ()=>{ const tokenData = await getTokenRes.json(); - console.log(tokenData) - if('refresh' in tokenData){ setCookieFn('isAuth', 'true', 365) diff --git a/src/app/components/layout/main-layout-util.tsx b/src/app/components/layout/main-layout-util.tsx index 6d051a9..eebd874 100644 --- a/src/app/components/layout/main-layout-util.tsx +++ b/src/app/components/layout/main-layout-util.tsx @@ -11,7 +11,7 @@ const MainLayoutUtil = ({children,}: {children: React.ReactNode})=>{ const pathname = usePathname() return ( -
+
diff --git a/src/app/components/layout/shop/orders-list.tsx b/src/app/components/layout/shop/orders-list.tsx index 82d9991..e282725 100644 --- a/src/app/components/layout/shop/orders-list.tsx +++ b/src/app/components/layout/shop/orders-list.tsx @@ -49,7 +49,7 @@ const OrdersList = ()=>{ return ( <> -
+
سبد خرید شما { setCartIsOpen(false) }} className="md:hidden bg-slate-900 rounded-lg pr-2 pl-2 pt-1 pb-1">بستن @@ -66,7 +66,7 @@ const OrdersList = ()=>{

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

-
+
ثبت نهایی
@@ -75,9 +75,9 @@ const OrdersList = ()=>{ {cartData.length > 0 ? (
-
{ setCartIsOpen(true) }} className='bg-cyan-800 text-white rounded-lg pt-2 pb-2 pr-4 pl-4'> +
{ setCartIsOpen(true) }} className='bg-cyan-800 cursor-pointer text-white rounded-lg pt-2 pb-2 pr-4 pl-4'> مشاهده سبد خرید - {cartData ? cartData.length : null} + {cartData ? cartData.length : null}
) : null} diff --git a/src/app/components/layout/shop/products-cat.tsx b/src/app/components/layout/shop/products-cat.tsx index 26ba156..b00cec5 100644 --- a/src/app/components/layout/shop/products-cat.tsx +++ b/src/app/components/layout/shop/products-cat.tsx @@ -1,13 +1,25 @@ import Image from "next/image" import Link from "next/link" +const imageLoader = ({ src, } : {src:string}) => { + return `${src}` +} const ProductCategoryBox: any = (props:any)=>{ + const getScrollPostion = ()=>{ + + const scrollPy = window.scrollY + setTimeout(()=>{ + localStorage.setItem("scrollY", scrollPy) + }, 10) + + + } return (

{props.iteam.name}

- a + a
@@ -15,7 +27,7 @@ const ProductCategoryBox: any = (props:any)=>{ {`${props.iteam.product_count} نوع`} - + مشاهده
diff --git a/src/axios/axiosInstance.ts b/src/axios/axiosInstance.ts index 3333030..5912d78 100644 --- a/src/axios/axiosInstance.ts +++ b/src/axios/axiosInstance.ts @@ -12,7 +12,7 @@ function setCookieFn(name:string, value:string, daysToExpire:number) { } const axiosInstance = axios.create({ - baseURL: 'http://127.0.0.1:8000/', + baseURL: `${process.env.NEXT_PUBLIC_API_URL}/`, timeout: 2000, headers: { 'Content-Type': 'application/json', @@ -39,7 +39,7 @@ axiosInstance.interceptors.response.use((response)=> { try { - const res = await fetch("http://127.0.0.1:8000/auth/token/refresh/", { + const res = await fetch(`${process.env.NEXT_PUBLIC_API_URL}/auth/token/refresh/`, { method: "POST", headers: { 'Content-Type': 'application/json; charset=UTF-8',