diff --git a/package.json b/package.json index 38e66d8..30b9c7c 100644 --- a/package.json +++ b/package.json @@ -22,13 +22,13 @@ "lucide-react": "^0.468.0", "moment-timezone": "^0.5.46", "mongoose": "^8.7.2", - "next": "^15.1.0", + "next": "^15.1.4", "next-pwa": "^5.6.0", "nodemailer": "^6.9.16", "otplib": "^12.0.1", + "react": "^19.0.0", + "react-dom": "^19.0.0", "react-icons": "^5.4.0", - "react": "^18", - "react-dom": "^18", "react-toastify": "^11.0.2", "sass": "^1.71.1", "typescript": "^5.6.3", @@ -43,7 +43,6 @@ "eslint-config-prettier": "^9.1.0", "husky": "^9.0.11", "lint-staged": "^15.2.2", - "next": "14.1.0", "postcss": "^8", "prettier": "3.2.5", "tailwindcss": "^3.3.0", @@ -51,5 +50,6 @@ }, "lint-staged": { "**/*": "prettier --write --ignore-unknown" - } + }, + "packageManager": "pnpm@9.4.0+sha512.f549b8a52c9d2b8536762f99c0722205efc5af913e77835dbccc3b0b0b2ca9e7dc8022b78062c17291c48e88749c70ce88eb5a74f1fa8c4bf5e18bb46c8bd83a" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8bb869f..ab05c67 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,7 +9,7 @@ importers: dependencies: "@iconify/react": specifier: ^5.1.0 - version: 5.1.0(react@18.2.0) + version: 5.1.0(react@19.0.0) bcryptjs: specifier: ^2.4.3 version: 2.4.3 @@ -21,7 +21,7 @@ importers: version: 8.5.1(embla-carousel@8.5.1) embla-carousel-react: specifier: ^8.5.1 - version: 8.5.1(react@18.2.0) + version: 8.5.1(react@19.0.0) eslint-config-airbnb: specifier: ^19.0.4 version: 19.0.4(eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.29.1(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1))(eslint-plugin-jsx-a11y@6.10.2(eslint@8.57.1))(eslint-plugin-react-hooks@5.0.0-canary-7118f5dd7-20230705(eslint@8.57.1))(eslint-plugin-react@7.37.2(eslint@8.57.1))(eslint@8.57.1) @@ -33,7 +33,7 @@ importers: version: 9.0.2 lucide-react: specifier: ^0.468.0 - version: 0.468.0(react@18.2.0) + version: 0.468.0(react@19.0.0) moment-timezone: specifier: ^0.5.46 version: 0.5.46 @@ -41,11 +41,11 @@ importers: specifier: ^8.7.2 version: 8.9.1 next: - specifier: ^15.1.0 - version: 15.1.0(@babel/core@7.26.0)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)(sass@1.83.0) + specifier: ^15.1.4 + version: 15.1.4(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) next-pwa: specifier: ^5.6.0 - version: 5.6.0(@babel/core@7.26.0)(next@15.1.0(@babel/core@7.26.0)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)(sass@1.83.0))(webpack@5.97.1) + version: 5.6.0(@babel/core@7.26.0)(next@15.1.4(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(webpack@5.97.1) nodemailer: specifier: ^6.9.16 version: 6.9.16 @@ -53,17 +53,17 @@ importers: specifier: ^12.0.1 version: 12.0.1 react: - specifier: ^18 - version: 18.2.0 + specifier: ^19.0.0 + version: 19.0.0 react-dom: - specifier: ^18 - version: 18.3.1(react@18.2.0) + specifier: ^19.0.0 + version: 19.0.0(react@19.0.0) react-icons: specifier: ^5.4.0 - version: 5.4.0(react@18.2.0) + version: 5.4.0(react@19.0.0) react-toastify: specifier: ^11.0.2 - version: 11.0.2(react-dom@18.3.1(react@18.2.0))(react@18.2.0) + version: 11.0.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) sass: specifier: ^1.71.1 version: 1.83.0 @@ -1167,10 +1167,10 @@ packages: integrity: sha512-tVkljjeEaAhCqTzajSdgbQ6gE6f3oneVwa3iXR6csiEwXXOFsiC6Uh9iAjAhXPtqa/XMDHWjjeNH/77m/Yq2dw==, } - "@next/env@15.1.0": + "@next/env@15.1.4": resolution: { - integrity: sha512-UcCO481cROsqJuszPPXJnb7GGuLq617ve4xuAyyNG4VSSocJNtMU5Fsx+Lp6mlN8c7W58aZLc5y6D/2xNmaK+w==, + integrity: sha512-2fZ5YZjedi5AGaeoaC0B20zGntEHRhi2SdWcu61i48BllODcAmmtj8n7YarSPt4DaTsJaBFdxQAVEVzgmx2Zpw==, } "@next/eslint-plugin-next@14.1.0": @@ -1179,73 +1179,73 @@ packages: integrity: sha512-x4FavbNEeXx/baD/zC/SdrvkjSby8nBn8KcCREqk6UuwvwoAPZmaV8TFCAuo/cpovBRTIY67mHhe86MQQm/68Q==, } - "@next/swc-darwin-arm64@15.1.0": + "@next/swc-darwin-arm64@15.1.4": resolution: { - integrity: sha512-ZU8d7xxpX14uIaFC3nsr4L++5ZS/AkWDm1PzPO6gD9xWhFkOj2hzSbSIxoncsnlJXB1CbLOfGVN4Zk9tg83PUw==, + integrity: sha512-wBEMBs+np+R5ozN1F8Y8d/Dycns2COhRnkxRc+rvnbXke5uZBHkUGFgWxfTXn5rx7OLijuUhyfB+gC/ap58dDw==, } engines: { node: ">= 10" } cpu: [arm64] os: [darwin] - "@next/swc-darwin-x64@15.1.0": + "@next/swc-darwin-x64@15.1.4": resolution: { - integrity: sha512-DQ3RiUoW2XC9FcSM4ffpfndq1EsLV0fj0/UY33i7eklW5akPUCo6OX2qkcLXZ3jyPdo4sf2flwAED3AAq3Om2Q==, + integrity: sha512-7sgf5rM7Z81V9w48F02Zz6DgEJulavC0jadab4ZsJ+K2sxMNK0/BtF8J8J3CxnsJN3DGcIdC260wEKssKTukUw==, } engines: { node: ">= 10" } cpu: [x64] os: [darwin] - "@next/swc-linux-arm64-gnu@15.1.0": + "@next/swc-linux-arm64-gnu@15.1.4": resolution: { - integrity: sha512-M+vhTovRS2F//LMx9KtxbkWk627l5Q7AqXWWWrfIzNIaUFiz2/NkOFkxCFyNyGACi5YbA8aekzCLtbDyfF/v5Q==, + integrity: sha512-JaZlIMNaJenfd55kjaLWMfok+vWBlcRxqnRoZrhFQrhM1uAehP3R0+Aoe+bZOogqlZvAz53nY/k3ZyuKDtT2zQ==, } engines: { node: ">= 10" } cpu: [arm64] os: [linux] - "@next/swc-linux-arm64-musl@15.1.0": + "@next/swc-linux-arm64-musl@15.1.4": resolution: { - integrity: sha512-Qn6vOuwaTCx3pNwygpSGtdIu0TfS1KiaYLYXLH5zq1scoTXdwYfdZtwvJTpB1WrLgiQE2Ne2kt8MZok3HlFqmg==, + integrity: sha512-7EBBjNoyTO2ipMDgCiORpwwOf5tIueFntKjcN3NK+GAQD7OzFJe84p7a2eQUeWdpzZvhVXuAtIen8QcH71ZCOQ==, } engines: { node: ">= 10" } cpu: [arm64] os: [linux] - "@next/swc-linux-x64-gnu@15.1.0": + "@next/swc-linux-x64-gnu@15.1.4": resolution: { - integrity: sha512-yeNh9ofMqzOZ5yTOk+2rwncBzucc6a1lyqtg8xZv0rH5znyjxHOWsoUtSq4cUTeeBIiXXX51QOOe+VoCjdXJRw==, + integrity: sha512-9TGEgOycqZFuADyFqwmK/9g6S0FYZ3tphR4ebcmCwhL8Y12FW8pIBKJvSwV+UBjMkokstGNH+9F8F031JZKpHw==, } engines: { node: ">= 10" } cpu: [x64] os: [linux] - "@next/swc-linux-x64-musl@15.1.0": + "@next/swc-linux-x64-musl@15.1.4": resolution: { - integrity: sha512-t9IfNkHQs/uKgPoyEtU912MG6a1j7Had37cSUyLTKx9MnUpjj+ZDKw9OyqTI9OwIIv0wmkr1pkZy+3T5pxhJPg==, + integrity: sha512-0578bLRVDJOh+LdIoKvgNDz77+Bd85c5JrFgnlbI1SM3WmEQvsjxTA8ATu9Z9FCiIS/AliVAW2DV/BDwpXbtiQ==, } engines: { node: ">= 10" } cpu: [x64] os: [linux] - "@next/swc-win32-arm64-msvc@15.1.0": + "@next/swc-win32-arm64-msvc@15.1.4": resolution: { - integrity: sha512-WEAoHyG14t5sTavZa1c6BnOIEukll9iqFRTavqRVPfYmfegOAd5MaZfXgOGG6kGo1RduyGdTHD4+YZQSdsNZXg==, + integrity: sha512-JgFCiV4libQavwII+kncMCl30st0JVxpPOtzWcAI2jtum4HjYaclobKhj+JsRu5tFqMtA5CJIa0MvYyuu9xjjQ==, } engines: { node: ">= 10" } cpu: [arm64] os: [win32] - "@next/swc-win32-x64-msvc@15.1.0": + "@next/swc-win32-x64-msvc@15.1.4": resolution: { - integrity: sha512-J1YdKuJv9xcixzXR24Dv+4SaDKc2jj31IVUEMdO5xJivMTXuE6MAdIi4qPjSymHuFG8O5wbfWKnhJUcHHpj5CA==, + integrity: sha512-xxsJy9wzq7FR5SqPCUqdgSXiNXrMuidgckBa8nH9HtjjxsilgcN6VgXF6tZ3uEWuVEadotQJI8/9EQ6guTC4Yw==, } engines: { node: ">= 10" } cpu: [x64] @@ -4180,10 +4180,10 @@ packages: peerDependencies: next: ">=9.0.0" - next@15.1.0: + next@15.1.4: resolution: { - integrity: sha512-QKhzt6Y8rgLNlj30izdMbxAwjHMFANnLwDwZ+WQh5sMhyt4lEBqDK9QpvWHtIM4rINKPoJ8aiRZKg5ULSybVHw==, + integrity: sha512-mTaq9dwaSuwwOrcu3ebjDYObekkxRnXpuVL21zotM8qE2W0HBOdVIdg2Li9QjMEZrj73LN96LcWcz62V19FjAg==, } engines: { node: ^18.18.0 || ^19.8.0 || >= 20.0.0 } hasBin: true @@ -4635,13 +4635,13 @@ packages: integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==, } - react-dom@18.3.1: + react-dom@19.0.0: resolution: { - integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==, + integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==, } peerDependencies: - react: ^18.3.1 + react: ^19.0.0 react-icons@5.4.0: resolution: @@ -4666,10 +4666,10 @@ packages: react: ^18 || ^19 react-dom: ^18 || ^19 - react@18.2.0: + react@19.0.0: resolution: { - integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==, + integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==, } engines: { node: ">=0.10.0" } @@ -4873,10 +4873,10 @@ packages: engines: { node: ">=14.0.0" } hasBin: true - scheduler@0.23.2: + scheduler@0.25.0: resolution: { - integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==, + integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==, } schema-utils@2.7.1: @@ -6486,10 +6486,10 @@ snapshots: "@humanwhocodes/object-schema@2.0.3": {} - "@iconify/react@5.1.0(react@18.2.0)": + "@iconify/react@5.1.0(react@19.0.0)": dependencies: "@iconify/types": 2.0.0 - react: 18.2.0 + react: 19.0.0 "@iconify/types@2.0.0": {} @@ -6603,34 +6603,34 @@ snapshots: dependencies: sparse-bitfield: 3.0.3 - "@next/env@15.1.0": {} + "@next/env@15.1.4": {} "@next/eslint-plugin-next@14.1.0": dependencies: glob: 10.3.10 - "@next/swc-darwin-arm64@15.1.0": + "@next/swc-darwin-arm64@15.1.4": optional: true - "@next/swc-darwin-x64@15.1.0": + "@next/swc-darwin-x64@15.1.4": optional: true - "@next/swc-linux-arm64-gnu@15.1.0": + "@next/swc-linux-arm64-gnu@15.1.4": optional: true - "@next/swc-linux-arm64-musl@15.1.0": + "@next/swc-linux-arm64-musl@15.1.4": optional: true - "@next/swc-linux-x64-gnu@15.1.0": + "@next/swc-linux-x64-gnu@15.1.4": optional: true - "@next/swc-linux-x64-musl@15.1.0": + "@next/swc-linux-x64-musl@15.1.4": optional: true - "@next/swc-win32-arm64-msvc@15.1.0": + "@next/swc-win32-arm64-msvc@15.1.4": optional: true - "@next/swc-win32-x64-msvc@15.1.0": + "@next/swc-win32-x64-msvc@15.1.4": optional: true "@nodelib/fs.scandir@2.1.5": @@ -7398,11 +7398,11 @@ snapshots: dependencies: embla-carousel: 8.5.1 - embla-carousel-react@8.5.1(react@18.2.0): + embla-carousel-react@8.5.1(react@19.0.0): dependencies: embla-carousel: 8.5.1 embla-carousel-reactive-utils: 8.5.1(embla-carousel@8.5.1) - react: 18.2.0 + react: 19.0.0 embla-carousel-reactive-utils@8.5.1(embla-carousel@8.5.1): dependencies: @@ -8370,9 +8370,9 @@ snapshots: dependencies: yallist: 3.1.1 - lucide-react@0.468.0(react@18.2.0): + lucide-react@0.468.0(react@19.0.0): dependencies: - react: 18.2.0 + react: 19.0.0 magic-string@0.25.9: dependencies: @@ -8483,12 +8483,12 @@ snapshots: neo-async@2.6.2: {} - next-pwa@5.6.0(@babel/core@7.26.0)(next@15.1.0(@babel/core@7.26.0)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)(sass@1.83.0))(webpack@5.97.1): + next-pwa@5.6.0(@babel/core@7.26.0)(next@15.1.4(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(webpack@5.97.1): dependencies: babel-loader: 8.4.1(@babel/core@7.26.0)(webpack@5.97.1) clean-webpack-plugin: 4.0.0(webpack@5.97.1) globby: 11.1.0 - next: 15.1.0(@babel/core@7.26.0)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)(sass@1.83.0) + next: 15.1.4(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) terser-webpack-plugin: 5.3.11(webpack@5.97.1) workbox-webpack-plugin: 6.6.0(webpack@5.97.1) workbox-window: 6.6.0 @@ -8501,26 +8501,26 @@ snapshots: - uglify-js - webpack - next@15.1.0(@babel/core@7.26.0)(react-dom@18.3.1(react@18.2.0))(react@18.2.0)(sass@1.83.0): + next@15.1.4(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0): dependencies: - "@next/env": 15.1.0 + "@next/env": 15.1.4 "@swc/counter": 0.1.3 "@swc/helpers": 0.5.15 busboy: 1.6.0 caniuse-lite: 1.0.30001689 postcss: 8.4.31 - react: 18.2.0 - react-dom: 18.3.1(react@18.2.0) - styled-jsx: 5.1.6(@babel/core@7.26.0)(react@18.2.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + styled-jsx: 5.1.6(@babel/core@7.26.0)(react@19.0.0) optionalDependencies: - "@next/swc-darwin-arm64": 15.1.0 - "@next/swc-darwin-x64": 15.1.0 - "@next/swc-linux-arm64-gnu": 15.1.0 - "@next/swc-linux-arm64-musl": 15.1.0 - "@next/swc-linux-x64-gnu": 15.1.0 - "@next/swc-linux-x64-musl": 15.1.0 - "@next/swc-win32-arm64-msvc": 15.1.0 - "@next/swc-win32-x64-msvc": 15.1.0 + "@next/swc-darwin-arm64": 15.1.4 + "@next/swc-darwin-x64": 15.1.4 + "@next/swc-linux-arm64-gnu": 15.1.4 + "@next/swc-linux-arm64-musl": 15.1.4 + "@next/swc-linux-x64-gnu": 15.1.4 + "@next/swc-linux-x64-musl": 15.1.4 + "@next/swc-win32-arm64-msvc": 15.1.4 + "@next/swc-win32-x64-msvc": 15.1.4 sass: 1.83.0 sharp: 0.33.5 transitivePeerDependencies: @@ -8741,27 +8741,24 @@ snapshots: dependencies: safe-buffer: 5.2.1 - react-dom@18.3.1(react@18.2.0): + react-dom@19.0.0(react@19.0.0): dependencies: - loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.2 + react: 19.0.0 + scheduler: 0.25.0 - react-icons@5.4.0(react@18.2.0): + react-icons@5.4.0(react@19.0.0): dependencies: - react: 18.2.0 + react: 19.0.0 react-is@16.13.1: {} - react-toastify@11.0.2(react-dom@18.3.1(react@18.2.0))(react@18.2.0): + react-toastify@11.0.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: clsx: 2.1.1 - react: 18.2.0 - react-dom: 18.3.1(react@18.2.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) - react@18.2.0: - dependencies: - loose-envify: 1.4.0 + react@19.0.0: {} read-cache@1.0.0: dependencies: @@ -8893,9 +8890,7 @@ snapshots: optionalDependencies: "@parcel/watcher": 2.5.0 - scheduler@0.23.2: - dependencies: - loose-envify: 1.4.0 + scheduler@0.25.0: {} schema-utils@2.7.1: dependencies: @@ -9142,10 +9137,10 @@ snapshots: strip-json-comments@3.1.1: {} - styled-jsx@5.1.6(@babel/core@7.26.0)(react@18.2.0): + styled-jsx@5.1.6(@babel/core@7.26.0)(react@19.0.0): dependencies: client-only: 0.0.1 - react: 18.2.0 + react: 19.0.0 optionalDependencies: "@babel/core": 7.26.0 diff --git a/public/images/404.png b/public/images/404.png new file mode 100644 index 0000000..13f3588 Binary files /dev/null and b/public/images/404.png differ diff --git a/src/app/not-found.js b/src/app/not-found.js new file mode 100644 index 0000000..046246b --- /dev/null +++ b/src/app/not-found.js @@ -0,0 +1,19 @@ +import Image from "next/image"; + +export default function PageNotFound() { + return ( +