diff --git a/next.config.js b/next.config.js index 8627817..c61436b 100644 --- a/next.config.js +++ b/next.config.js @@ -1,7 +1,7 @@ /** @type {import('next').NextConfig} */ const nextConfig = { experimental: { - appDir: true, + // appDir: true, // runtime: 'nodejs', }, } diff --git a/package-lock.json b/package-lock.json index ce72945..f3761ef 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,42 +13,42 @@ "@next-auth/mongodb-adapter": "^1.1.3", "@sendgrid/mail": "^7.7.0", "@types/mailchimp__mailchimp_transactional": "^1.0.5", - "@types/node": "18.11.18", - "@types/react": "^18.0.27", - "@types/react-dom": "^18.0.10", + "@types/node": "^20.6.3", + "@types/react": "^18.2.22", + "@types/react-dom": "^18.2.7", "@types/react-qr-reader": "^2.1.4", - "@typescript-eslint/eslint-plugin": "^5.52.0", - "@typescript-eslint/parser": "^5.52.0", + "@typescript-eslint/eslint-plugin": "^6.7.2", + "@typescript-eslint/parser": "^6.7.2", "classnames": "^2.3.2", "client-only": "^0.0.1", "date-fns": "^2.30.0", "dot": "^1.1.3", - "eslint": "8.33.0", - "eslint-config-next": "^13.4.7", - "framer-motion": "^9.1.7", + "eslint": "^8.49.0", + "eslint-config-next": "^13.5.2", + "framer-motion": "^10.16.4", "iconoir-react": "^6.2.0", - "jsdom": "^21.1.1", + "jsdom": "^22.1.0", "jszip": "^3.10.1", - "mongodb": "^5.5.0", - "next": "^13.4.7", + "mongodb": "^6.1.0", + "next": "^13.5.2", "next-auth": "^4.22.0", "node-fetch": "^3.3.1", - "nodemailer": "^6.9.1", - "pino": "^8.10.0", + "nodemailer": "^6.9.5", + "pino": "^8.15.1", "primereact": "^9.6.2", "react": "^18.2.0", "react-dom": "^18.2.0", "react-html-props": "^2.0.2", "react-qr-reader": "^3.0.0-beta-1", "react-remark": "^2.1.0", - "react-select": "^5.7.2", + "react-select": "^5.7.5", "rehype-raw": "^5.1.0", "rehype-sanitize": "^4.0.0", "remark-gfm": "^1.0.0", - "styled-components": "^6.0.7", - "swr": "2.1.3", + "styled-components": "^6.0.8", + "swr": "^2.2.2", "tailwind-merge": "^1.14.0", - "typescript": "4.9.5", + "typescript": "^5.2.2", "validator": "^13.9.0", "zod": "^3.21.4", "zod-validation-error": "^1.2.1" @@ -56,15 +56,15 @@ "devDependencies": { "@svgr/webpack": "^8.1.0", "@types/dot": "^1.1.5", - "@types/jsdom": "^21.1.1", - "@types/nodemailer": "^6.4.7", + "@types/jsdom": "^21.1.3", + "@types/nodemailer": "^6.4.10", "@types/validator": "^13.7.14", - "autoprefixer": "^10.4.15", - "eslint-config-prettier": "^8.8.0", + "autoprefixer": "^10.4.16", + "eslint-config-prettier": "^9.0.0", "eslint-plugin-simple-import-sort": "^10.0.0", - "pino-pretty": "^9.2.0", - "postcss": "^8.4.28", - "prettier": "2.8.4", + "pino-pretty": "^10.2.0", + "postcss": "^8.4.30", + "prettier": "^3.0.3", "tailwindcss": "^3.3.3" } }, @@ -2072,13 +2072,13 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", - "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.4.0", + "espree": "^9.6.0", "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", @@ -2094,9 +2094,9 @@ } }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "version": "13.22.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.22.0.tgz", + "integrity": "sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==", "dependencies": { "type-fest": "^0.20.2" }, @@ -2107,6 +2107,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@eslint/js": { + "version": "8.49.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.49.0.tgz", + "integrity": "sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, "node_modules/@floating-ui/core": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.4.1.tgz", @@ -2130,9 +2138,9 @@ "integrity": "sha512-m0G6wlnhm/AX0H12IOWtK8gASEMffnX08RtKkCgTdHb9JpHKGloI7icFfLg9ZmQeavcvR0PKmzxClyuFPSjKWw==" }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", + "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", @@ -2261,7 +2269,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.0.tgz", "integrity": "sha512-Xfijy7HvfzzqiOAhAepF4SGN5e9leLkMvg/OPOF97XemjfVCYN/oWa75wnkc6mltMSTwY+XlbhWgUOJmkFspSw==", - "optional": true, "dependencies": { "sparse-bitfield": "^3.0.3" } @@ -2276,22 +2283,22 @@ } }, "node_modules/@next/env": { - "version": "13.4.19", - "resolved": "https://registry.npmjs.org/@next/env/-/env-13.4.19.tgz", - "integrity": "sha512-FsAT5x0jF2kkhNkKkukhsyYOrRqtSxrEhfliniIq0bwWbuXLgyt3Gv0Ml+b91XwjwArmuP7NxCiGd++GGKdNMQ==" + "version": "13.5.2", + "resolved": "https://registry.npmjs.org/@next/env/-/env-13.5.2.tgz", + "integrity": "sha512-dUseBIQVax+XtdJPzhwww4GetTjlkRSsXeQnisIJWBaHsnxYcN2RGzsPHi58D6qnkATjnhuAtQTJmR1hKYQQPg==" }, "node_modules/@next/eslint-plugin-next": { - "version": "13.4.19", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.4.19.tgz", - "integrity": "sha512-N/O+zGb6wZQdwu6atMZHbR7T9Np5SUFUjZqCbj0sXm+MwQO35M8TazVB4otm87GkXYs2l6OPwARd3/PUWhZBVQ==", + "version": "13.5.2", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.5.2.tgz", + "integrity": "sha512-Ew8DOUerJYGRo8pI84SVwn9wxxx8sH92AanCXSkkLJM2W0RJEWy+BqWSCfrlA/3ZIczEl4l4o4lOeTGBPYfBJg==", "dependencies": { "glob": "7.1.7" } }, "node_modules/@next/swc-darwin-arm64": { - "version": "13.4.19", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.19.tgz", - "integrity": "sha512-vv1qrjXeGbuF2mOkhkdxMDtv9np7W4mcBtaDnHU+yJG+bBwa6rYsYSCI/9Xm5+TuF5SbZbrWO6G1NfTh1TMjvQ==", + "version": "13.5.2", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.5.2.tgz", + "integrity": "sha512-7eAyunAWq6yFwdSQliWMmGhObPpHTesiKxMw4DWVxhm5yLotBj8FCR4PXGkpRP2tf8QhaWuVba+/fyAYggqfQg==", "cpu": [ "arm64" ], @@ -2304,9 +2311,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "13.4.19", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.19.tgz", - "integrity": "sha512-jyzO6wwYhx6F+7gD8ddZfuqO4TtpJdw3wyOduR4fxTUCm3aLw7YmHGYNjS0xRSYGAkLpBkH1E0RcelyId6lNsw==", + "version": "13.5.2", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.5.2.tgz", + "integrity": "sha512-WxXYWE7zF1ch8rrNh5xbIWzhMVas6Vbw+9BCSyZvu7gZC5EEiyZNJsafsC89qlaSA7BnmsDXVWQmc+s1feSYbQ==", "cpu": [ "x64" ], @@ -2319,9 +2326,9 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "13.4.19", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.19.tgz", - "integrity": "sha512-vdlnIlaAEh6H+G6HrKZB9c2zJKnpPVKnA6LBwjwT2BTjxI7e0Hx30+FoWCgi50e+YO49p6oPOtesP9mXDRiiUg==", + "version": "13.5.2", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.5.2.tgz", + "integrity": "sha512-URSwhRYrbj/4MSBjLlefPTK3/tvg95TTm6mRaiZWBB6Za3hpHKi8vSdnCMw5D2aP6k0sQQIEG6Pzcfwm+C5vrg==", "cpu": [ "arm64" ], @@ -2334,9 +2341,9 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "13.4.19", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.19.tgz", - "integrity": "sha512-aU0HkH2XPgxqrbNRBFb3si9Ahu/CpaR5RPmN2s9GiM9qJCiBBlZtRTiEca+DC+xRPyCThTtWYgxjWHgU7ZkyvA==", + "version": "13.5.2", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.5.2.tgz", + "integrity": "sha512-HefiwAdIygFyNmyVsQeiJp+j8vPKpIRYDlmTlF9/tLdcd3qEL/UEBswa1M7cvO8nHcr27ZTKXz5m7dkd56/Esg==", "cpu": [ "arm64" ], @@ -2349,9 +2356,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "13.4.19", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.19.tgz", - "integrity": "sha512-htwOEagMa/CXNykFFeAHHvMJeqZfNQEoQvHfsA4wgg5QqGNqD5soeCer4oGlCol6NGUxknrQO6VEustcv+Md+g==", + "version": "13.5.2", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.5.2.tgz", + "integrity": "sha512-htGVVroW0tdHgMYwKWkxWvVoG2RlAdDXRO1RQxYDvOBQsaV0nZsgKkw0EJJJ3urTYnwKskn/MXm305cOgRxD2w==", "cpu": [ "x64" ], @@ -2364,9 +2371,9 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "13.4.19", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.19.tgz", - "integrity": "sha512-4Gj4vvtbK1JH8ApWTT214b3GwUh9EKKQjY41hH/t+u55Knxi/0wesMzwQRhppK6Ddalhu0TEttbiJ+wRcoEj5Q==", + "version": "13.5.2", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.5.2.tgz", + "integrity": "sha512-UBD333GxbHVGi7VDJPPDD1bKnx30gn2clifNJbla7vo5nmBV+x5adyARg05RiT9amIpda6yzAEEUu+s774ldkw==", "cpu": [ "x64" ], @@ -2379,9 +2386,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "13.4.19", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.19.tgz", - "integrity": "sha512-bUfDevQK4NsIAHXs3/JNgnvEY+LRyneDN788W2NYiRIIzmILjba7LaQTfihuFawZDhRtkYCv3JDC3B4TwnmRJw==", + "version": "13.5.2", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.5.2.tgz", + "integrity": "sha512-Em9ApaSFIQnWXRT3K6iFnr9uBXymixLc65Xw4eNt7glgH0eiXpg+QhjmgI2BFyc7k4ZIjglfukt9saNpEyolWA==", "cpu": [ "arm64" ], @@ -2394,9 +2401,9 @@ } }, "node_modules/@next/swc-win32-ia32-msvc": { - "version": "13.4.19", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.19.tgz", - "integrity": "sha512-Y5kikILFAr81LYIFaw6j/NrOtmiM4Sf3GtOc0pn50ez2GCkr+oejYuKGcwAwq3jiTKuzF6OF4iT2INPoxRycEA==", + "version": "13.5.2", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.5.2.tgz", + "integrity": "sha512-TBACBvvNYU+87X0yklSuAseqdpua8m/P79P0SG1fWUvWDDA14jASIg7kr86AuY5qix47nZLEJ5WWS0L20jAUNw==", "cpu": [ "ia32" ], @@ -2409,9 +2416,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "13.4.19", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.19.tgz", - "integrity": "sha512-YzA78jBDXMYiINdPdJJwGgPNT3YqBNNGhsthsDoWHL9p24tEJn9ViQf/ZqTbwSpX/RrkPupLfuuTH2sf73JBAw==", + "version": "13.5.2", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.5.2.tgz", + "integrity": "sha512-LfTHt+hTL8w7F9hnB3H4nRasCzLD/fP+h4/GUVBTxrkMJOnh/7OZ0XbYDKO/uuWwryJS9kZjhxcruBiYwc5UDw==", "cpu": [ "x64" ], @@ -2775,9 +2782,9 @@ } }, "node_modules/@swc/helpers": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.1.tgz", - "integrity": "sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.2.tgz", + "integrity": "sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==", "dependencies": { "tslib": "^2.4.0" } @@ -2806,17 +2813,17 @@ "dev": true }, "node_modules/@types/hast": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.5.tgz", - "integrity": "sha512-SvQi0L/lNpThgPoleH53cdjB3y9zpLlVjRbqB3rH8hx1jiRSBGAhyjV3H+URFjNVRqt2EdYNrbZE5IsGlNfpRg==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.6.tgz", + "integrity": "sha512-47rJE80oqPmFdVDCD7IheXBrVdwuBgsYwoczFvKmwfo2Mzsnt+V9OONsYauFmICb6lQPpCuXYJWejBNs4pDJRg==", "dependencies": { "@types/unist": "^2" } }, "node_modules/@types/jsdom": { - "version": "21.1.2", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-21.1.2.tgz", - "integrity": "sha512-bGj+7TaCkOwkJfx7HtS9p22Ij0A2aKMuz8a1+owpkxa1wU/HUBy/WAXhdv90uDdVI9rSjGvUrXmLSeA9VP3JeA==", + "version": "21.1.3", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-21.1.3.tgz", + "integrity": "sha512-1zzqSP+iHJYV4lB3lZhNBa012pubABkj9yG/GuXuf6LZH1cSPIJBqFDrm5JX65HHt6VOnNYdTui/0ySerRbMgA==", "dev": true, "dependencies": { "@types/node": "*", @@ -2825,9 +2832,9 @@ } }, "node_modules/@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" + "version": "7.0.13", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", + "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==" }, "node_modules/@types/json5": { "version": "0.0.29", @@ -2851,14 +2858,14 @@ } }, "node_modules/@types/node": { - "version": "18.11.18", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", - "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==" + "version": "20.6.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.6.3.tgz", + "integrity": "sha512-HksnYH4Ljr4VQgEy2lTStbCKv/P590tmPe5HqOnv9Gprffgv5WXAY+Y5Gqniu0GGqeTCUdBnzC3QSrzPkBkAMA==" }, "node_modules/@types/nodemailer": { - "version": "6.4.9", - "resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-6.4.9.tgz", - "integrity": "sha512-XYG8Gv+sHjaOtUpiuytahMy2mM3rectgroNbs6R3djZEKmPNiIJwe9KqOJBGzKKnNZNKvnuvmugBgpq3w/S0ig==", + "version": "6.4.10", + "resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-6.4.10.tgz", + "integrity": "sha512-oPW/IdhkU3FyZc1dzeqmS+MBjrjZNiiINnrEOrWALzccJlP5xTlbkNr2YnTnnyj9Eqm5ofjRoASEbrCYpA7BrA==", "dev": true, "dependencies": { "@types/node": "*" @@ -2880,9 +2887,9 @@ "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" }, "node_modules/@types/react": { - "version": "18.0.27", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.27.tgz", - "integrity": "sha512-3vtRKHgVxu3Jp9t718R9BuzoD4NcQ8YJ5XRzsSKxNDiDonD2MXIT1TmSkenxuCycZJoQT5d2vE8LwWJxBC1gmA==", + "version": "18.2.22", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.22.tgz", + "integrity": "sha512-60fLTOLqzarLED2O3UQImc/lsNRgG0jE/a1mPW9KjMemY0LMITWEsbS4VvZ4p6rorEHd5YKxxmMKSDK505GHpA==", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -2890,9 +2897,9 @@ } }, "node_modules/@types/react-dom": { - "version": "18.0.10", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.10.tgz", - "integrity": "sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg==", + "version": "18.2.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz", + "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==", "dependencies": { "@types/react": "*" } @@ -2919,9 +2926,9 @@ "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" }, "node_modules/@types/semver": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.1.tgz", - "integrity": "sha512-cJRQXpObxfNKkFAZbJl2yjWtJCqELQIdShsogr1d2MilP8dKD9TE/nEKHkJgUNHdGKCQaf9HbIynuV2csLGVLg==" + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.2.tgz", + "integrity": "sha512-7aqorHYgdNO4DM36stTiGO3DvKoex9TQRwsJU6vMaFGyqpBA1MNZkz+PG3gaNUPpTAOYhT1WR7M1JyA3fbS9Cw==" }, "node_modules/@types/stylis": { "version": "4.2.0", @@ -2960,31 +2967,32 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", - "dependencies": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/type-utils": "5.62.0", - "@typescript-eslint/utils": "5.62.0", + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.2.tgz", + "integrity": "sha512-ooaHxlmSgZTM6CHYAFRlifqh1OAr3PAQEwi7lhYhaegbnXrnh7CDcHmc3+ihhbQC7H0i4JF0psI5ehzkF6Yl6Q==", + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.7.2", + "@typescript-eslint/type-utils": "6.7.2", + "@typescript-eslint/utils": "6.7.2", + "@typescript-eslint/visitor-keys": "6.7.2", "debug": "^4.3.4", "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -3023,24 +3031,25 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", - "dependencies": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.2.tgz", + "integrity": "sha512-KA3E4ox0ws+SPyxQf9iSI25R6b4Ne78ORhNHeVKrPQnoYsb9UhieoiRoJgrzgEeKGOXhcY1i8YtOeCHHTDa6Fw==", + "dependencies": { + "@typescript-eslint/scope-manager": "6.7.2", + "@typescript-eslint/types": "6.7.2", + "@typescript-eslint/typescript-estree": "6.7.2", + "@typescript-eslint/visitor-keys": "6.7.2", "debug": "^4.3.4" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "eslint": "^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -3049,15 +3058,15 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.2.tgz", + "integrity": "sha512-bgi6plgyZjEqapr7u2mhxGR6E8WCzKNUFWNh6fkpVe9+yzRZeYtDTbsIBzKbcxI+r1qVWt6VIoMSNZ4r2A+6Yw==", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" + "@typescript-eslint/types": "6.7.2", + "@typescript-eslint/visitor-keys": "6.7.2" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -3065,24 +3074,24 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.7.2.tgz", + "integrity": "sha512-36F4fOYIROYRl0qj95dYKx6kybddLtsbmPIYNK0OBeXv2j9L5nZ17j9jmfy+bIDHKQgn2EZX+cofsqi8NPATBQ==", "dependencies": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", + "@typescript-eslint/typescript-estree": "6.7.2", + "@typescript-eslint/utils": "6.7.2", "debug": "^4.3.4", - "tsutils": "^3.21.0" + "ts-api-utils": "^1.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "*" + "eslint": "^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -3091,11 +3100,11 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.7.2.tgz", + "integrity": "sha512-flJYwMYgnUNDAN9/GAI3l8+wTmvTYdv64fcH8aoJK76Y+1FCZ08RtI5zDerM/FYT5DMkAc+19E4aLmd5KqdFyg==", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -3103,20 +3112,20 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.2.tgz", + "integrity": "sha512-kiJKVMLkoSciGyFU0TOY0fRxnp9qq1AzVOHNeN1+B9erKFCJ4Z8WdjAkKQPP+b1pWStGFqezMLltxO+308dJTQ==", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", + "@typescript-eslint/types": "6.7.2", + "@typescript-eslint/visitor-keys": "6.7.2", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -3159,28 +3168,27 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.7.2.tgz", + "integrity": "sha512-ZCcBJug/TS6fXRTsoTkgnsvyWSiXwMNiPzBUani7hDidBdj1779qwM1FIAmpH4lvlOZNF3EScsxxuGifjpLSWQ==", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.7.2", + "@typescript-eslint/types": "6.7.2", + "@typescript-eslint/typescript-estree": "6.7.2", + "semver": "^7.5.4" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "eslint": "^7.0.0 || ^8.0.0" } }, "node_modules/@typescript-eslint/utils/node_modules/lru-cache": { @@ -3214,15 +3222,15 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.2.tgz", + "integrity": "sha512-uVw9VIMFBUTz8rIeaUT3fFe8xIUx8r4ywAdlQv1ifH+6acn/XF8Y6rwJ7XNmkNMDrTW+7+vxFFPIF40nJCVsMQ==", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" + "@typescript-eslint/types": "6.7.2", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -3287,15 +3295,6 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-globals": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", - "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", - "dependencies": { - "acorn": "^8.1.0", - "acorn-walk": "^8.0.2" - } - }, "node_modules/acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", @@ -3304,14 +3303,6 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/agent-base": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", @@ -3543,9 +3534,9 @@ } }, "node_modules/autoprefixer": { - "version": "10.4.15", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.15.tgz", - "integrity": "sha512-KCuPB8ZCIqFdA4HwKXsvz7j6gvSDNhDP7WnUjBleRkKjPdvCmHFuQ77ocavI8FT6NdvlBnE2UFr2H4Mycn8Vew==", + "version": "10.4.16", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", + "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", "dev": true, "funding": [ { @@ -3563,8 +3554,8 @@ ], "dependencies": { "browserslist": "^4.21.10", - "caniuse-lite": "^1.0.30001520", - "fraction.js": "^4.2.0", + "caniuse-lite": "^1.0.30001538", + "fraction.js": "^4.3.6", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", "postcss-value-parser": "^4.2.0" @@ -3787,11 +3778,11 @@ } }, "node_modules/bson": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/bson/-/bson-5.4.0.tgz", - "integrity": "sha512-WRZ5SQI5GfUuKnPTNmAYPiKIof3ORXAF4IRU5UcgmivNIon01rWQlw5RUH954dpu8yGL8T59YShVddIPaU/gFA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/bson/-/bson-6.1.0.tgz", + "integrity": "sha512-yiQ3KxvpVoRpx1oD1uPz4Jit9tAVTJgjdmjDKtUErkOoL9VNoF8Dd58qtAOL5E40exx2jvAT9sqdRSK/r+SHlA==", "engines": { - "node": ">=14.20.1" + "node": ">=16.20.1" } }, "node_modules/buffer": { @@ -3878,9 +3869,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001524", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001524.tgz", - "integrity": "sha512-Jj917pJtYg9HSJBF95HVX3Cdr89JUyLT4IZ8SvM5aDRni95swKgYi3TgYLH5hnGfPE/U1dg6IfZ50UsIlLkwSA==", + "version": "1.0.30001538", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001538.tgz", + "integrity": "sha512-HWJnhnID+0YMtGlzcp3T9drmBJUVDchPJ08tpUGFLs9CYlwWPH2uLgpHn8fND5pCgXVtnGS3H4QR9XLMHVNkHw==", "funding": [ { "type": "opencollective", @@ -4667,69 +4658,47 @@ "node": ">=0.8.0" } }, - "node_modules/escodegen": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, "node_modules/eslint": { - "version": "8.33.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.33.0.tgz", - "integrity": "sha512-WjOpFQgKK8VrCnAtl8We0SUOy/oVZ5NHykyMiagV1M9r8IFpIJX7DduK6n1mpfhlG7T1NLWm2SuD8QB7KFySaA==", + "version": "8.49.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.49.0.tgz", + "integrity": "sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==", "dependencies": { - "@eslint/eslintrc": "^1.4.1", - "@humanwhocodes/config-array": "^0.11.8", + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "8.49.0", + "@humanwhocodes/config-array": "^0.11.11", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", + "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.4.0", - "esquery": "^1.4.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", + "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" }, "bin": { @@ -4743,18 +4712,18 @@ } }, "node_modules/eslint-config-next": { - "version": "13.4.19", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.4.19.tgz", - "integrity": "sha512-WE8367sqMnjhWHvR5OivmfwENRQ1ixfNE9hZwQqNCsd+iM3KnuMc1V8Pt6ytgjxjf23D+xbesADv9x3xaKfT3g==", + "version": "13.5.2", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.5.2.tgz", + "integrity": "sha512-kCF7k7fHBtFtxfP6J6AP6Mo0vW3CrFeoIuoZ7NHGIvLFc/RUaIspJ6inO/R33zE1o9t/lbJgTnsqnRB++sxCUQ==", "dependencies": { - "@next/eslint-plugin-next": "13.4.19", - "@rushstack/eslint-patch": "^1.1.3", + "@next/eslint-plugin-next": "13.5.2", + "@rushstack/eslint-patch": "^1.3.3", "@typescript-eslint/parser": "^5.4.2 || ^6.0.0", "eslint-import-resolver-node": "^0.3.6", "eslint-import-resolver-typescript": "^3.5.2", - "eslint-plugin-import": "^2.26.0", - "eslint-plugin-jsx-a11y": "^6.5.1", - "eslint-plugin-react": "^7.31.7", + "eslint-plugin-import": "^2.28.1", + "eslint-plugin-jsx-a11y": "^6.7.1", + "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.5.0 || 5.0.0-canary-7118f5dd7-20230705" }, "peerDependencies": { @@ -4768,9 +4737,9 @@ } }, "node_modules/eslint-config-prettier": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", - "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz", + "integrity": "sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==", "dev": true, "bin": { "eslint-config-prettier": "bin/cli.js" @@ -4999,51 +4968,6 @@ "eslint": ">=5.0.0" } }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-scope/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "engines": { - "node": ">=10" - } - }, "node_modules/eslint-visitor-keys": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", @@ -5175,18 +5099,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/esquery": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", @@ -5458,22 +5370,22 @@ } }, "node_modules/fraction.js": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.1.tgz", - "integrity": "sha512-/KxoyCnPM0GwYI4NN0Iag38Tqt+od3/mLuguepLgCAKPn0ZhC544nssAW0tG2/00zXEYl9W+7hwAIpLHo6Oc7Q==", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.6.tgz", + "integrity": "sha512-n2aZ9tNfYDwaHhvFTkhFErqOMIb8uyzSQ+vGJBjZyanAKZVbGUQ1sngfk9FdkBw7G26O7AgNjLcecLffD1c7eg==", "dev": true, "engines": { "node": "*" }, "funding": { "type": "patreon", - "url": "https://www.patreon.com/infusion" + "url": "https://github.com/sponsors/rawify" } }, "node_modules/framer-motion": { - "version": "9.1.7", - "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-9.1.7.tgz", - "integrity": "sha512-nKxBkIO4IPkMEqcBbbATxsVjwPYShKl051yhBv9628iAH6JLeHD0siBHxkL62oQzMC1+GNX73XtPjgP753ufuw==", + "version": "10.16.4", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-10.16.4.tgz", + "integrity": "sha512-p9V9nGomS3m6/CALXqv6nFGMuFOxbWsmaOrdmhyQimMIlLl3LC7h7l86wge/Js/8cRu5ktutS/zlzgR7eBOtFA==", "dependencies": { "tslib": "^2.4.0" }, @@ -5483,6 +5395,14 @@ "peerDependencies": { "react": "^18.0.0", "react-dom": "^18.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } } }, "node_modules/fs-readdir-recursive": { @@ -5678,11 +5598,6 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" - }, "node_modules/graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", @@ -6100,11 +6015,6 @@ "node": ">= 0.4" } }, - "node_modules/ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", - "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" - }, "node_modules/is-alphabetical": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", @@ -6534,15 +6444,6 @@ "node": ">=10" } }, - "node_modules/js-sdsl": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.2.tgz", - "integrity": "sha512-dwXFwByc/ajSV6m5bcKAPwe4yDDF6D614pxmIi5odytzxRlwqF6nwoiCek80Ixc7Cvma5awClxrzFtxCQvcM8w==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/js-sdsl" - } - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -6560,18 +6461,15 @@ } }, "node_modules/jsdom": { - "version": "21.1.2", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-21.1.2.tgz", - "integrity": "sha512-sCpFmK2jv+1sjff4u7fzft+pUh2KSUbUrEHYHyfSIbGTIcmnjyp83qg6qLwdJ/I3LpTXx33ACxeRL7Lsyc6lGQ==", + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-22.1.0.tgz", + "integrity": "sha512-/9AVW7xNbsBv6GfWho4TTNjEo9fe6Zhf9O7s0Fhhr3u+awPwAJMKwAMXnkk5vBxflqLW9hTHX/0cs+P3gW+cQw==", "dependencies": { "abab": "^2.0.6", - "acorn": "^8.8.2", - "acorn-globals": "^7.0.0", "cssstyle": "^3.0.0", "data-urls": "^4.0.0", "decimal.js": "^10.4.3", "domexception": "^4.0.0", - "escodegen": "^2.0.0", "form-data": "^4.0.0", "html-encoding-sniffer": "^3.0.0", "http-proxy-agent": "^5.0.0", @@ -6592,7 +6490,7 @@ "xml-name-validator": "^4.0.0" }, "engines": { - "node": ">=14" + "node": ">=16" }, "peerDependencies": { "canvas": "^2.5.0" @@ -7042,8 +6940,7 @@ "node_modules/memory-pager": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", - "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", - "optional": true + "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==" }, "node_modules/merge2": { "version": "1.4.1", @@ -7216,26 +7113,25 @@ } }, "node_modules/mongodb": { - "version": "5.8.1", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-5.8.1.tgz", - "integrity": "sha512-wKyh4kZvm6NrCPH8AxyzXm3JBoEf4Xulo0aUWh3hCgwgYJxyQ1KLST86ZZaSWdj6/kxYUA3+YZuyADCE61CMSg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.1.0.tgz", + "integrity": "sha512-AvzNY0zMkpothZ5mJAaIo2bGDjlJQqqAbn9fvtVgwIIUPEfdrqGxqNjjbuKyrgQxg2EvCmfWdjq+4uj96c0YPw==", "dependencies": { - "bson": "^5.4.0", - "mongodb-connection-string-url": "^2.6.0", - "socks": "^2.7.1" + "@mongodb-js/saslprep": "^1.1.0", + "bson": "^6.1.0", + "mongodb-connection-string-url": "^2.6.0" }, "engines": { - "node": ">=14.20.1" - }, - "optionalDependencies": { - "@mongodb-js/saslprep": "^1.1.0" + "node": ">=16.20.1" }, "peerDependencies": { "@aws-sdk/credential-providers": "^3.188.0", - "@mongodb-js/zstd": "^1.0.0", - "kerberos": "^1.0.0 || ^2.0.0", - "mongodb-client-encryption": ">=2.3.0 <3", - "snappy": "^7.2.2" + "@mongodb-js/zstd": "^1.1.0", + "gcp-metadata": "^5.2.0", + "kerberos": "^2.0.1", + "mongodb-client-encryption": ">=6.0.0 <7", + "snappy": "^7.2.2", + "socks": "^2.7.1" }, "peerDependenciesMeta": { "@aws-sdk/credential-providers": { @@ -7244,6 +7140,9 @@ "@mongodb-js/zstd": { "optional": true }, + "gcp-metadata": { + "optional": true + }, "kerberos": { "optional": true }, @@ -7252,6 +7151,9 @@ }, "snappy": { "optional": true + }, + "socks": { + "optional": true } } }, @@ -7325,18 +7227,13 @@ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" - }, "node_modules/next": { - "version": "13.4.19", - "resolved": "https://registry.npmjs.org/next/-/next-13.4.19.tgz", - "integrity": "sha512-HuPSzzAbJ1T4BD8e0bs6B9C1kWQ6gv8ykZoRWs5AQoiIuqbGHHdQO7Ljuvg05Q0Z24E2ABozHe6FxDvI6HfyAw==", + "version": "13.5.2", + "resolved": "https://registry.npmjs.org/next/-/next-13.5.2.tgz", + "integrity": "sha512-vog4UhUaMYAzeqfiAAmgB/QWLW7p01/sg+2vn6bqc/CxHFYizMzLv6gjxKzl31EVFkfl/F+GbxlKizlkTE9RdA==", "dependencies": { - "@next/env": "13.4.19", - "@swc/helpers": "0.5.1", + "@next/env": "13.5.2", + "@swc/helpers": "0.5.2", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001406", "postcss": "8.4.14", @@ -7348,18 +7245,18 @@ "next": "dist/bin/next" }, "engines": { - "node": ">=16.8.0" + "node": ">=16.14.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "13.4.19", - "@next/swc-darwin-x64": "13.4.19", - "@next/swc-linux-arm64-gnu": "13.4.19", - "@next/swc-linux-arm64-musl": "13.4.19", - "@next/swc-linux-x64-gnu": "13.4.19", - "@next/swc-linux-x64-musl": "13.4.19", - "@next/swc-win32-arm64-msvc": "13.4.19", - "@next/swc-win32-ia32-msvc": "13.4.19", - "@next/swc-win32-x64-msvc": "13.4.19" + "@next/swc-darwin-arm64": "13.5.2", + "@next/swc-darwin-x64": "13.5.2", + "@next/swc-linux-arm64-gnu": "13.5.2", + "@next/swc-linux-arm64-musl": "13.5.2", + "@next/swc-linux-x64-gnu": "13.5.2", + "@next/swc-linux-x64-musl": "13.5.2", + "@next/swc-win32-arm64-msvc": "13.5.2", + "@next/swc-win32-ia32-msvc": "13.5.2", + "@next/swc-win32-x64-msvc": "13.5.2" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", @@ -7485,9 +7382,9 @@ "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" }, "node_modules/nodemailer": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.4.tgz", - "integrity": "sha512-CXjQvrQZV4+6X5wP6ZIgdehJamI63MFoYFGGPtHudWym9qaEHDNdPzaj5bfMCvxG1vhAileSWW90q7nL0N36mA==", + "version": "6.9.5", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.5.tgz", + "integrity": "sha512-/dmdWo62XjumuLc5+AYQZeiRj+PRR8y8qKtFCOyuOl1k/hckZd8durUUHs/ucKx6/8kN+wFxqKJlQ/LK/qR5FA==", "engines": { "node": ">=6.0.0" } @@ -7868,14 +7765,14 @@ } }, "node_modules/pino": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/pino/-/pino-8.15.0.tgz", - "integrity": "sha512-olUADJByk4twxccmAxb1RiGKOSvddHugCV3wkqjyv+3Sooa2KLrmXrKEWOKi0XPCLasRR5jBXxioE1jxUa4KzQ==", + "version": "8.15.1", + "resolved": "https://registry.npmjs.org/pino/-/pino-8.15.1.tgz", + "integrity": "sha512-Cp4QzUQrvWCRJaQ8Lzv0mJzXVk4z2jlq8JNKMGaixC2Pz5L4l2p95TkuRvYbrEbe85NQsDKrAd4zalf7Ml6WiA==", "dependencies": { "atomic-sleep": "^1.0.0", "fast-redact": "^3.1.1", "on-exit-leak-free": "^2.1.0", - "pino-abstract-transport": "v1.0.0", + "pino-abstract-transport": "v1.1.0", "pino-std-serializers": "^6.0.0", "process-warning": "^2.0.0", "quick-format-unescaped": "^4.0.3", @@ -7889,18 +7786,18 @@ } }, "node_modules/pino-abstract-transport": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.0.0.tgz", - "integrity": "sha512-c7vo5OpW4wIS42hUVcT5REsL8ZljsUfBjqV/e2sFxmFEFZiq1XLUp5EYLtuDH6PEHq9W1egWqRbnLUP5FuZmOA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.1.0.tgz", + "integrity": "sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==", "dependencies": { "readable-stream": "^4.0.0", "split2": "^4.0.0" } }, "node_modules/pino-pretty": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/pino-pretty/-/pino-pretty-9.4.1.tgz", - "integrity": "sha512-loWr5SNawVycvY//hamIzyz3Fh5OSpvkcO13MwdDW+eKIGylobPLqnVGTDwDXkdmpJd1BhEG+qhDw09h6SqJiQ==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/pino-pretty/-/pino-pretty-10.2.0.tgz", + "integrity": "sha512-tRvpyEmGtc2D+Lr3FulIZ+R1baggQ4S3xD2Ar93KixFEDx6SEAUP3W5aYuEw1C73d6ROrNcB2IXLteW8itlwhA==", "dev": true, "dependencies": { "colorette": "^2.0.7", @@ -7937,9 +7834,9 @@ } }, "node_modules/postcss": { - "version": "8.4.28", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.28.tgz", - "integrity": "sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==", + "version": "8.4.30", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.30.tgz", + "integrity": "sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g==", "funding": [ { "type": "opencollective", @@ -8094,15 +7991,15 @@ } }, "node_modules/prettier": { - "version": "2.8.4", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.4.tgz", - "integrity": "sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", + "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", "dev": true, "bin": { - "prettier": "bin-prettier.js" + "prettier": "bin/prettier.cjs" }, "engines": { - "node": ">=10.13.0" + "node": ">=14" }, "funding": { "url": "https://github.com/prettier/prettier?sponsor=1" @@ -8311,9 +8208,9 @@ } }, "node_modules/react-select": { - "version": "5.7.4", - "resolved": "https://registry.npmjs.org/react-select/-/react-select-5.7.4.tgz", - "integrity": "sha512-NhuE56X+p9QDFh4BgeygHFIvJJszO1i1KSkg/JPcIJrbovyRtI+GuOEa4XzFCEpZRAEoEI8u/cAHK+jG/PgUzQ==", + "version": "5.7.5", + "resolved": "https://registry.npmjs.org/react-select/-/react-select-5.7.5.tgz", + "integrity": "sha512-jgYZa2xgKP0DVn5GZk7tZwbRx7kaVz1VqU41S8z1KWmshRDhlrpKS0w80aS1RaK5bVIXpttgSou7XCjWw1ncKA==", "dependencies": { "@babel/runtime": "^7.12.0", "@emotion/cache": "^11.4.0", @@ -8453,17 +8350,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, "node_modules/regexpu-core": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", @@ -8827,15 +8713,6 @@ "node": ">=8" } }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, "node_modules/snake-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", @@ -8846,19 +8723,6 @@ "tslib": "^2.0.3" } }, - "node_modules/socks": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", - "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", - "dependencies": { - "ip": "^2.0.0", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.13.0", - "npm": ">= 3.0.0" - } - }, "node_modules/sonic-boom": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.3.0.tgz", @@ -8867,15 +8731,6 @@ "atomic-sleep": "^1.0.0" } }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/source-map-js": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", @@ -8897,7 +8752,6 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==", - "optional": true, "dependencies": { "memory-pager": "^1.0.2" } @@ -9025,9 +8879,9 @@ } }, "node_modules/styled-components": { - "version": "6.0.7", - "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-6.0.7.tgz", - "integrity": "sha512-xIwWuiRMYR43mskVsW9MGTRjSo7ol4bcVjT595fGUp3OLBJOlOgaiKaxsHdC4a2HqWKqKnh0CmcRbk5ogyDjTg==", + "version": "6.0.8", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-6.0.8.tgz", + "integrity": "sha512-AwI02MTWZwqjzfXgR5QcbmcSn5xVjY4N2TLjSuYnmuBGF3y7GicHz3ysbpUq2EMJP5M8/Nc22vcmF3V3WNZDFA==", "dependencies": { "@babel/cli": "^7.21.0", "@babel/core": "^7.21.0", @@ -9290,10 +9144,11 @@ } }, "node_modules/swr": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/swr/-/swr-2.1.3.tgz", - "integrity": "sha512-g3ApxIM4Fjbd6vvEAlW60hJlKcYxHb+wtehogTygrh6Jsw7wNagv9m4Oj5Gq6zvvZw0tcyhVGL9L0oISvl3sUw==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/swr/-/swr-2.2.2.tgz", + "integrity": "sha512-CbR41AoMD4TQBQw9ic3GTXspgfM9Y8Mdhb5Ob4uIKXhWqnRLItwA5fpGvB7SmSw3+zEjb0PdhiEumtUvYoQ+bQ==", "dependencies": { + "client-only": "^0.0.1", "use-sync-external-store": "^1.2.0" }, "peerDependencies": { @@ -9455,6 +9310,17 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/ts-api-utils": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", + "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", + "engines": { + "node": ">=16.13.0" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, "node_modules/ts-custom-error": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/ts-custom-error/-/ts-custom-error-3.3.1.tgz", @@ -9496,25 +9362,6 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -9599,15 +9446,15 @@ } }, "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=4.2.0" + "node": ">=14.17" } }, "node_modules/unbox-primitive": { diff --git a/package.json b/package.json index 39dc59c..7627032 100644 --- a/package.json +++ b/package.json @@ -16,42 +16,42 @@ "@next-auth/mongodb-adapter": "^1.1.3", "@sendgrid/mail": "^7.7.0", "@types/mailchimp__mailchimp_transactional": "^1.0.5", - "@types/node": "18.11.18", - "@types/react": "^18.0.27", - "@types/react-dom": "^18.0.10", + "@types/node": "^20.6.3", + "@types/react": "^18.2.22", + "@types/react-dom": "^18.2.7", "@types/react-qr-reader": "^2.1.4", - "@typescript-eslint/eslint-plugin": "^5.52.0", - "@typescript-eslint/parser": "^5.52.0", + "@typescript-eslint/eslint-plugin": "^6.7.2", + "@typescript-eslint/parser": "^6.7.2", "classnames": "^2.3.2", "client-only": "^0.0.1", "date-fns": "^2.30.0", "dot": "^1.1.3", - "eslint": "8.33.0", - "eslint-config-next": "^13.4.7", - "framer-motion": "^9.1.7", + "eslint": "^8.49.0", + "eslint-config-next": "^13.5.2", + "framer-motion": "^10.16.4", "iconoir-react": "^6.2.0", - "jsdom": "^21.1.1", + "jsdom": "^22.1.0", "jszip": "^3.10.1", - "mongodb": "^5.5.0", - "next": "^13.4.7", + "mongodb": "^6.1.0", + "next": "^13.5.2", "next-auth": "^4.22.0", "node-fetch": "^3.3.1", - "nodemailer": "^6.9.1", - "pino": "^8.10.0", + "nodemailer": "^6.9.5", + "pino": "^8.15.1", "primereact": "^9.6.2", "react": "^18.2.0", "react-dom": "^18.2.0", "react-html-props": "^2.0.2", "react-qr-reader": "^3.0.0-beta-1", "react-remark": "^2.1.0", - "react-select": "^5.7.2", + "react-select": "^5.7.5", "rehype-raw": "^5.1.0", "rehype-sanitize": "^4.0.0", "remark-gfm": "^1.0.0", - "styled-components": "^6.0.7", - "swr": "2.1.3", + "styled-components": "^6.0.8", + "swr": "^2.2.2", "tailwind-merge": "^1.14.0", - "typescript": "4.9.5", + "typescript": "^5.2.2", "validator": "^13.9.0", "zod": "^3.21.4", "zod-validation-error": "^1.2.1" @@ -59,15 +59,15 @@ "devDependencies": { "@svgr/webpack": "^8.1.0", "@types/dot": "^1.1.5", - "@types/jsdom": "^21.1.1", - "@types/nodemailer": "^6.4.7", + "@types/jsdom": "^21.1.3", + "@types/nodemailer": "^6.4.10", "@types/validator": "^13.7.14", - "autoprefixer": "^10.4.15", - "eslint-config-prettier": "^8.8.0", + "autoprefixer": "^10.4.16", + "eslint-config-prettier": "^9.0.0", "eslint-plugin-simple-import-sort": "^10.0.0", - "pino-pretty": "^9.2.0", - "postcss": "^8.4.28", - "prettier": "2.8.4", + "pino-pretty": "^10.2.0", + "postcss": "^8.4.30", + "prettier": "^3.0.3", "tailwindcss": "^3.3.3" } } diff --git a/public/images/Partners/mathworks.png b/public/images/Partners/mathworks.png new file mode 100644 index 0000000..61bcb9d Binary files /dev/null and b/public/images/Partners/mathworks.png differ diff --git a/public/images/Partners/rosenfeld.png b/public/images/Partners/rosenfeld.png new file mode 100644 index 0000000..17b9f98 Binary files /dev/null and b/public/images/Partners/rosenfeld.png differ diff --git a/public/images/Partners/rosenfeld.webp b/public/images/Partners/rosenfeld.webp deleted file mode 100644 index 8236e68..0000000 Binary files a/public/images/Partners/rosenfeld.webp and /dev/null differ diff --git a/public/images/Partners/standout-stickers.jpg b/public/images/Partners/standout-stickers.jpg deleted file mode 100644 index bf55dbf..0000000 Binary files a/public/images/Partners/standout-stickers.jpg and /dev/null differ diff --git a/public/images/Partners/standout-stickers.png b/public/images/Partners/standout-stickers.png new file mode 100644 index 0000000..1bffcda Binary files /dev/null and b/public/images/Partners/standout-stickers.png differ diff --git a/public/images/Sponsors/github-2.svg b/public/images/Sponsors/github-2.svg new file mode 100644 index 0000000..37fa923 --- /dev/null +++ b/public/images/Sponsors/github-2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/images/Sponsors/github.svg b/public/images/Sponsors/github.svg index 37fa923..8482c08 100644 --- a/public/images/Sponsors/github.svg +++ b/public/images/Sponsors/github.svg @@ -1 +1,85 @@ - \ No newline at end of file + + + + + + + + + + + + + + + diff --git a/public/images/Sponsors/statefarm.svg b/public/images/Sponsors/statefarm.svg index d275f23..660e4d4 100644 --- a/public/images/Sponsors/statefarm.svg +++ b/public/images/Sponsors/statefarm.svg @@ -1,8 +1,11 @@ - - + + + - + + + diff --git a/public/images/Sponsors/utacse.png b/public/images/Sponsors/utacse.png new file mode 100644 index 0000000..4389b8a Binary files /dev/null and b/public/images/Sponsors/utacse.png differ diff --git a/public/images/Sponsors/utaiso.png b/public/images/Sponsors/utaiso.png new file mode 100644 index 0000000..a0d7a5c Binary files /dev/null and b/public/images/Sponsors/utaiso.png differ diff --git a/public/images/backgrounds/SWSH.png b/public/images/backgrounds/SWSH.png new file mode 100644 index 0000000..caad659 Binary files /dev/null and b/public/images/backgrounds/SWSH.png differ diff --git a/public/images/backgrounds/fireice.png b/public/images/backgrounds/fireice.png new file mode 100644 index 0000000..0c59e65 Binary files /dev/null and b/public/images/backgrounds/fireice.png differ diff --git a/public/images/backgrounds/hackuta2022.png b/public/images/backgrounds/hackuta2022.png new file mode 100644 index 0000000..9b0659f Binary files /dev/null and b/public/images/backgrounds/hackuta2022.png differ diff --git a/public/images/backgrounds/rubyred.png b/public/images/backgrounds/rubyred.png new file mode 100644 index 0000000..35336a3 Binary files /dev/null and b/public/images/backgrounds/rubyred.png differ diff --git a/public/images/backgrounds/seir.png b/public/images/backgrounds/seir.png new file mode 100644 index 0000000..c376c6f Binary files /dev/null and b/public/images/backgrounds/seir.png differ diff --git a/public/images/backgrounds/unregistered.png b/public/images/backgrounds/unregistered.png new file mode 100644 index 0000000..40ce1e8 Binary files /dev/null and b/public/images/backgrounds/unregistered.png differ diff --git a/public/images/black-pattern-bg.png b/public/images/black-pattern-bg.png new file mode 100644 index 0000000..92c2a22 Binary files /dev/null and b/public/images/black-pattern-bg.png differ diff --git a/public/images/blue-pattern-bg.png b/public/images/blue-pattern-bg.png new file mode 100644 index 0000000..a2bb05e Binary files /dev/null and b/public/images/blue-pattern-bg.png differ diff --git a/public/images/noqrcode.svg b/public/images/noqrcode.svg new file mode 100644 index 0000000..b9658bd --- /dev/null +++ b/public/images/noqrcode.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/public/images/red-pattern-bg-2.png b/public/images/red-pattern-bg-2.png new file mode 100644 index 0000000..a1d3bb5 Binary files /dev/null and b/public/images/red-pattern-bg-2.png differ diff --git a/public/images/red-pattern-bg-3.png b/public/images/red-pattern-bg-3.png new file mode 100644 index 0000000..a7b2a9d Binary files /dev/null and b/public/images/red-pattern-bg-3.png differ diff --git a/public/images/red-pattern-bg.png b/public/images/red-pattern-bg.png new file mode 100644 index 0000000..bc940d9 Binary files /dev/null and b/public/images/red-pattern-bg.png differ diff --git a/public/images/ticket-blue.svg b/public/images/ticket-blue.svg new file mode 100644 index 0000000..9526a65 --- /dev/null +++ b/public/images/ticket-blue.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + diff --git a/public/images/ticket-red.svg b/public/images/ticket-red.svg new file mode 100644 index 0000000..a2d5622 --- /dev/null +++ b/public/images/ticket-red.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + diff --git a/public/images/ticket.svg b/public/images/ticket.svg new file mode 100644 index 0000000..293c242 --- /dev/null +++ b/public/images/ticket.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/public/images/transparent-pattern-bg.png b/public/images/transparent-pattern-bg.png new file mode 100644 index 0000000..fa94bb1 Binary files /dev/null and b/public/images/transparent-pattern-bg.png differ diff --git a/public/images/wave-pattern.svg b/public/images/wave-pattern.svg index 0639821..21d466b 100644 --- a/public/images/wave-pattern.svg +++ b/public/images/wave-pattern.svg @@ -1,3 +1,4 @@ - + + diff --git a/public/images/yellow-pattern-bg.png b/public/images/yellow-pattern-bg.png new file mode 100644 index 0000000..79845a3 Binary files /dev/null and b/public/images/yellow-pattern-bg.png differ diff --git a/src/app/faq/utils.tsx b/src/app/faq/utils.tsx index abee0cd..e180751 100644 --- a/src/app/faq/utils.tsx +++ b/src/app/faq/utils.tsx @@ -23,7 +23,7 @@ export function FaqSection({ // .sort((a, b) => a._id - b._id) .map((faq) => ( {content} return ( -
+

Frequently Asked @@ -52,18 +52,17 @@ export function FaqSection({ export async function getFaqs(): Promise[] | undefined> { try { const client = await clientPromise - const faqs = await client.db() - .collection('faqs') - .find() - .toArray() - + const faqs = await client.db().collection('faqs').find().toArray() + // Convert the linked list into an array. // I have discovered a truly marvelous O(N) solution for this, // which the space between the comments is too small to contain. // O(N^2) brute force: - const head = faqs.find((head) => !faqs.find((v) => v.next?.toString() === head._id.toString())) + const head = faqs.find( + (head) => !faqs.find((v) => v.next?.toString() === head._id.toString()), + ) const ans: typeof faqs = [] let node = head while (node) { diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 9b9cd81..3849f0e 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -2,8 +2,11 @@ import 'primereact/resources/primereact.min.css' import 'primereact/resources/themes/lara-light-teal/theme.css' import './globals.css' -import { Atkinson_Hyperlegible, Bungee } from 'next/font/google' -import localFont from 'next/font/local' +import { + Atkinson_Hyperlegible, + Red_Hat_Display, + Red_Hat_Mono, +} from 'next/font/google' import { twMerge } from 'tailwind-merge' import { Box } from '@/components/Box' @@ -13,23 +16,25 @@ import { siteName } from '@/lib/utils/server' import SiteFooter from './SiteFooter' /** fonts **/ -const bungee = Bungee({ +// const bungee = Bungee({ +// subsets: ['latin-ext'], +// weight: ['400'], +// variable: '--font-bungee', +// }) +const rhd = Red_Hat_Display({ subsets: ['latin-ext'], - weight: ['400'], - variable: '--font-bungee', + weight: ['900'], + variable: '--font-rhd', }) const atkinson = Atkinson_Hyperlegible({ subsets: ['latin-ext'], weight: ['400', '700'], variable: '--font-atkinson', }) -const saoTorpes = localFont({ - src: '../../public/fonts/SaoTorpes.otf', - variable: '--font-sao-torpes', -}) -const shrimp = localFont({ - src: '../../public/fonts/Shrimp.ttf', - variable: '--font-shrimp', +const rhm = Red_Hat_Mono({ + subsets: ['latin-ext'], + weight: ['400', '700'], + variable: '--font-rhm', }) export const metadata = { @@ -64,12 +69,7 @@ export default function RootLayout({ return ( diff --git a/src/app/page.tsx b/src/app/page.tsx index 87ac765..53f567f 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,15 +1,16 @@ /* eslint-disable @typescript-eslint/no-unused-vars */ +import { headers } from 'next/headers' import { SVGProps } from 'react-html-props' -import { twJoin } from 'tailwind-merge' import { Box } from '@/components/Box' import { LinkButton } from '@/components/Button' -import { getEvents, HackathonCalendar } from '@/components/calendar' -import { ClippedBadge } from '@/components/ClippedBadge' -import { HackTicket } from '@/components/HackTicket' -import { SponsorTicket, SponsorTicketKind } from '@/components/SponsorTicket' +import { getEvents } from '@/components/calendar' +import { HackTicket } from '@/components/Tickets/HackTicket' +// import { ClippedBadge } from '@/components/ClippedBadge' +import { LogoTicket, LogoTicketKind } from '@/components/Tickets/LogoTicket' import { WavyPattern } from '@/components/WavyPattern' +import { getEnhancedSession } from '@/lib/utils/server' import { FaqSection, getFaqs } from './faq/utils' @@ -33,7 +34,7 @@ const Separator = ({ ...props }: SeparatorProps) => { y1="6" x2="1572" y2="6" - stroke="#8C1B16" + stroke="rgb(0,0,0,.3)" strokeWidth="10" strokeDasharray="24 24" /> @@ -104,18 +105,25 @@ export default async function Landing() { const events = await getEvents() const faqs = await getFaqs() const sponsors = [ - { - companyName: 'StateFarm', - companyUrl: 'https://www.statefarm.com/', - imageUrl: '/images/Sponsors/statefarm.svg', - kind: 'Sponsor', - }, { companyName: 'Mouser Electronics', companyUrl: 'https://www.mouser.com/', imageUrl: '/images/Sponsors/mouser-electronics.svg', kind: 'Sponsor', }, + { + companyName: 'UTA CSE Department', + companyUrl: + 'https://www.uta.edu/academics/schools-colleges/engineering/academics/departments/cse', + imageUrl: '/images/Sponsors/utacse.png', + kind: 'Sponsor', + }, + { + companyName: 'StateFarm', + companyUrl: 'https://www.statefarm.com/', + imageUrl: '/images/Sponsors/statefarm.svg', + kind: 'Sponsor', + }, { companyName: 'GitHub', companyUrl: 'https://github.com/', @@ -123,28 +131,44 @@ export default async function Landing() { kind: 'Sponsor', }, { - companyName: 'Major League Hacking', + companyName: 'UTA ISO', + companyUrl: 'https://www.uta.edu/security/', + imageUrl: '/images/Sponsors/utaiso.png', + kind: 'Sponsor', + }, + ] + + const partners = [ + { + companyName: 'Major\xa0League Hacking', companyUrl: 'https://mlh.io/', imageUrl: '/images/Partners/mlh-logo-color-dark.svg', kind: 'Partner', }, + { + companyName: 'Mathworks', + companyUrl: 'https://www.mathworks.com/', + imageUrl: '/images/Partners/mathworks.png', + kind: 'Partner', + }, { companyName: 'Rosenfeld', companyUrl: 'https://rosenfeldmedia.com/', - imageUrl: '/images/Partners/rosenfeld.webp', + imageUrl: '/images/Partners/rosenfeld.png', kind: 'Partner', }, { companyName: 'Standout Stickers', companyUrl: 'https://www.standoutstickers.com/', - imageUrl: '/images/Partners/standout-stickers.jpg', + imageUrl: '/images/Partners/standout-stickers.png', kind: 'Partner', }, ] + const { user } = getEnhancedSession(headers()) + return ( <> - -
+
-
-

+
+

HackUTA 2023

-
- Once in a year event +
+ + ⎯⎯⎯⎯ + + The Greatest Show + + ⎯⎯⎯⎯ + +
+
+ 📅 + October 7-8, 2023
-
+
+ {/*
+
+ Don't miss out! +
+ +
*/} + + + {/* Code below to allow tailwind to compile custom backgrounds (they dont load at compile time) */} +
+
+
Apply @@ -173,54 +230,60 @@ export default async function Landing() { > Discord -
-
-
-
- Don't miss out! -
- -
- + + Volunteer/Mentor +
- + {/*

Schedule

-
- +
+
-
+ /> +

*/}
-
-

+
+

Sponsors & Partners - +

-
+
{sponsors.map((company, index) => ( - + ))} +
+ +
+ {partners.map((company, index) => ( + ))}
diff --git a/src/app/schedule/page.tsx b/src/app/schedule/page.tsx index 8332ece..4aa5cb9 100644 --- a/src/app/schedule/page.tsx +++ b/src/app/schedule/page.tsx @@ -3,21 +3,25 @@ import { WavyPattern } from '@/components/WavyPattern' export const revalidate = 10 export default async function calendar() { - const startDate = new Date('10/07/2023 06:00:00') + const startDate = new Date('10/07/2023 06:00:00') const endDate = new Date('10/08/2023 18:00:00') const events = await getEvents() - return ( -
-
-

+ return ( +
+
+

Schedule - +

-
- +
+
-
-
- ) -} \ No newline at end of file +

+
+ ) +} diff --git a/src/components/Button/index.tsx b/src/components/Button/index.tsx index e60524a..fc7025f 100644 --- a/src/components/Button/index.tsx +++ b/src/components/Button/index.tsx @@ -9,19 +9,29 @@ const getButtonClassNames = () => twJoin( 'flex flex-row gap-4 justify-center items-center', 'py-3 px-5 mb-2 md:mb-0 md:mr-2', - 'bg-hackuta-blue shadow-hackuta text-white font-saotorpes tracking-wider te', + 'bg-hackuta-blue shadow-hackuta text-white font-heading tracking-wider te', 'cursor-pointer select-none', 'disabled:bg-[gray] disabled:cursor-not-allowed', ) interface StarProps extends SVGProps { - fillColor: string, + fillColor: string } const Star = ({ fillColor, ...props }: StarProps) => { return ( - - + + ) } @@ -64,7 +74,10 @@ export function LinkButton({ ...props }: LinkButtonProps) { return ( - + {kind === 'primary' ? : undefined} {children} {kind === 'primary' ? : undefined} diff --git a/src/components/Countdown.tsx b/src/components/Countdown.tsx new file mode 100644 index 0000000..560f24c --- /dev/null +++ b/src/components/Countdown.tsx @@ -0,0 +1,72 @@ +// components/Countdown.tsx +import React, { useEffect, useState } from 'react' +import { DivProps } from 'react-html-props' + +const targetDate = new Date('2023-10-07T09:00:00-05:00') // October 7, 2023, 9:00 AM CST + +export type CountdownProps = DivProps +const Countdown: React.FC = ({ className }: CountdownProps) => { + const [countdown, setCountdown] = useState({ + weeks: 0, + days: 0, + hours: 0, + minutes: 0, + seconds: 0, + }) + + useEffect(() => { + const interval = setInterval(() => { + const currentTime = new Date() + const timeDifference = targetDate.getTime() - currentTime.getTime() + + if (timeDifference <= 0) { + clearInterval(interval) + return + } + + const weeks = Math.floor(timeDifference / (1000 * 60 * 60 * 24 * 7)) + const days = + Math.floor( + (timeDifference % (1000 * 60 * 60 * 24 * 7)) / (1000 * 60 * 60 * 24), + ) + + weeks * 7 + const hours = Math.floor( + (timeDifference % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60), + ) + const minutes = Math.floor( + (timeDifference % (1000 * 60 * 60)) / (1000 * 60), + ) + const seconds = Math.floor((timeDifference % (1000 * 60)) / 1000) + + setCountdown({ weeks, days, hours, minutes, seconds }) + }, 1000) + + return () => clearInterval(interval) + }, []) + + return ( +
+
+ {countdown.days} + d + · +
+
+ {countdown.hours} + h + · +
+
+ {countdown.minutes} + m + · +
+
+ {countdown.seconds} + s +
+
+ ) +} + +export default Countdown diff --git a/src/components/HackTicket.tsx b/src/components/HackTicket.tsx deleted file mode 100644 index 7c26cb2..0000000 --- a/src/components/HackTicket.tsx +++ /dev/null @@ -1,72 +0,0 @@ -import { DivProps } from 'react-html-props' -import { twMerge } from 'tailwind-merge' - -export type HackTicketProps = DivProps -export const HackTicket = ({ className, ...props }: HackTicketProps) => { - return ( -
- 081023 - {/* bg-[url(../../public/images/sunburst.svg)] */} -
-

- Hackathon Ticket -

-
- - - -
-
- Admit one -
- ) -} - -type HackTicketSideProps = DivProps & { - childClassName?: string -} -const HackTicketSide = ({ - children, - className, - childClassName, -}: HackTicketSideProps) => { - return ( -
- - {children} - -
- ) -} - -type HackTicketKeyValProps = { - label: React.ReactNode - val: React.ReactNode -} - -const HackTicketKeyVal = ({ label, val }: HackTicketKeyValProps) => { - return ( -
- {label} - {val} -
- ) -} diff --git a/src/components/MarqueeHeader.tsx b/src/components/MarqueeHeader.tsx index 8a98676..e424b61 100644 --- a/src/components/MarqueeHeader.tsx +++ b/src/components/MarqueeHeader.tsx @@ -4,6 +4,7 @@ import { Menu } from 'iconoir-react' import Link from 'next/link' import { usePathname } from 'next/navigation' import { ReactFragment, useState } from 'react' +import { SVGProps } from 'react-html-props' import { twMerge } from 'tailwind-merge' import { hasPermission } from '@/lib/auth/shared' @@ -13,6 +14,30 @@ export type MarqueeHeaderProps = { showBadge?: boolean } +export type LogoProps = SVGProps +const Logo = (props: LogoProps) => { + return ( + + HackUTA + + + + ) +} + export const MarqueeHeader = ({ showBadge, ...props }: MarqueeHeaderProps) => { const pathname = usePathname() if (showBadge === undefined) { @@ -27,7 +52,10 @@ export const MarqueeHeader = ({ showBadge, ...props }: MarqueeHeaderProps) => { } return ( -
+
{ )} > {/* Hamburger Menu Icon */} -
- + { + + + HackUTA 2023 + + } + + {/* Arlington's One and Only Hackathon - The Greatest Show Around + The Greatest Show Around */} + +
@@ -57,7 +115,7 @@ export const MarqueeHeader = ({ showBadge, ...props }: MarqueeHeaderProps) => { {menuOpen && (
    Home @@ -78,9 +136,9 @@ export const MarqueeHeader = ({ showBadge, ...props }: MarqueeHeaderProps) => { {showBadge && ( )} @@ -125,9 +183,17 @@ const HeaderLink = ({ href, children }: HeaderLinkProps) => { return (
  • {selected ? ( - {children} + + {children} + ) : ( - + {children} )} diff --git a/src/components/Tickets/HackTicket.tsx b/src/components/Tickets/HackTicket.tsx new file mode 100644 index 0000000..5c8ae84 --- /dev/null +++ b/src/components/Tickets/HackTicket.tsx @@ -0,0 +1,220 @@ +'use client' + +import { DivProps } from 'react-html-props' + +import Countdown from '../Countdown' + +export type HackTicketProps = DivProps & { + applied: boolean + role?: string + id?: string | number + fname?: string + profile_img_url?: string, +} +export const HackTicket = ({ + className, + applied = false, + role = 'Unregistered', + id = 'APPLY FOR ID', + fname = '', +}: HackTicketProps) => { + return ( + <> +
    +

    Countdown

    +
    + +
    +
    + + + ) + + // return ( + //
    + // 081023 + // {/* bg-[url(../../public/images/sunburst.svg)] */} + //
    + //

    + // Hackathon Ticket + //

    + //
    + // + // + // + //
    + //
    + // Admit one + //
    + // ) +} + +// type HackTicketSideProps = DivProps & { +// childClassName?: string +// } +// const HackTicketSide = ({ +// children, +// className, +// childClassName, +// }: HackTicketSideProps) => { +// return ( +//
    +// +// {children} +// +//
    +// ) +// } + +// type HackTicketKeyValProps = { +// label: React.ReactNode +// val: React.ReactNode +// } + +// const HackTicketKeyVal = ({ label, val }: HackTicketKeyValProps) => { +// return ( +//
    +// {label} +// {val} +//
    +// ) +// } diff --git a/src/components/Tickets/LogoTicket.tsx b/src/components/Tickets/LogoTicket.tsx new file mode 100644 index 0000000..14c1ba3 --- /dev/null +++ b/src/components/Tickets/LogoTicket.tsx @@ -0,0 +1,105 @@ +import Image from 'next/image' +import Link from 'next/link' +import { DivProps } from 'react-html-props' + +export type SafeNumber = number | `${number}` +export type LogoTicketKind = LogoTicketProps['kind'] +export type LogoTicketProps = DivProps & { + companyName: string + companyUrl: string + imageUrl: string + kind: 'Sponsor' | 'Partner' +} + +export const LogoTicket = ({ + companyName, + companyUrl, + imageUrl, + kind, +}: LogoTicketProps) => { + // const Separator = ({ className, ...props }: SpanProps) => ( + // + // ) + // // const starSize = 16 + // const topRadius = 'rounded-tl-xl rounded-tr-xl' + // const botRadius = 'rounded-bl-xl rounded-br-xl' + return ( + +
    +
    + {companyName} +
    +
    +
    + {companyName} +
    +
    +
    + {kind} +
    +
    + {/*
    + + {companyName} + +
    +
    +
    + + + + +
    +
    + Oct 7-8 2023 + + {kind} Certified + + +
    +
    */} + + ) +} + +// type StarProps = SVGProps +// const Star = ({ ...props }: StarProps) => { +// return ( +// +// +// +// ) +// } diff --git a/src/components/SponsorTicket.tsx b/src/components/Tickets/SponsorTicket.tsx similarity index 91% rename from src/components/SponsorTicket.tsx rename to src/components/Tickets/SponsorTicket.tsx index becc36a..6a77516 100644 --- a/src/components/SponsorTicket.tsx +++ b/src/components/Tickets/SponsorTicket.tsx @@ -6,10 +6,10 @@ import { twJoin, twMerge } from 'tailwind-merge' export type SafeNumber = number | `${number}` export type SponsorTicketKind = SponsorTicketProps['kind'] export type SponsorTicketProps = DivProps & { - companyName: string, - companyUrl: string, - imageUrl: string, - kind: 'Sponsor'|'Partner' + companyName: string + companyUrl: string + imageUrl: string + kind: 'Sponsor' | 'Partner' } export const SponsorTicket = ({ @@ -33,7 +33,7 @@ export const SponsorTicket = ({