commit
						b7dbf89dfc
					
				| @ -0,0 +1,36 @@ | |||||||
|  | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. | ||||||
|  | 
 | ||||||
|  | # dependencies | ||||||
|  | /node_modules | ||||||
|  | /.pnp | ||||||
|  | .pnp.js | ||||||
|  | 
 | ||||||
|  | # testing | ||||||
|  | /coverage | ||||||
|  | 
 | ||||||
|  | # next.js | ||||||
|  | /.next/ | ||||||
|  | /out/ | ||||||
|  | 
 | ||||||
|  | # production | ||||||
|  | /build | ||||||
|  | 
 | ||||||
|  | # misc | ||||||
|  | .DS_Store | ||||||
|  | *.pem | ||||||
|  | 
 | ||||||
|  | # debug | ||||||
|  | npm-debug.log* | ||||||
|  | yarn-debug.log* | ||||||
|  | yarn-error.log* | ||||||
|  | .pnpm-debug.log* | ||||||
|  | 
 | ||||||
|  | # local env files | ||||||
|  | .env*.local | ||||||
|  | 
 | ||||||
|  | # vercel | ||||||
|  | .vercel | ||||||
|  | 
 | ||||||
|  | # typescript | ||||||
|  | *.tsbuildinfo | ||||||
|  | next-env.d.ts | ||||||
| @ -0,0 +1,34 @@ | |||||||
|  | This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). | ||||||
|  | 
 | ||||||
|  | ## Getting Started | ||||||
|  | 
 | ||||||
|  | First, run the development server: | ||||||
|  | 
 | ||||||
|  | ```bash | ||||||
|  | npm run dev | ||||||
|  | # or | ||||||
|  | yarn dev | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. | ||||||
|  | 
 | ||||||
|  | You can start editing the page by modifying `pages/index.tsx`. The page auto-updates as you edit the file. | ||||||
|  | 
 | ||||||
|  | [API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.ts`. | ||||||
|  | 
 | ||||||
|  | The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages. | ||||||
|  | 
 | ||||||
|  | ## Learn More | ||||||
|  | 
 | ||||||
|  | To learn more about Next.js, take a look at the following resources: | ||||||
|  | 
 | ||||||
|  | - [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. | ||||||
|  | - [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. | ||||||
|  | 
 | ||||||
|  | You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! | ||||||
|  | 
 | ||||||
|  | ## Deploy on Vercel | ||||||
|  | 
 | ||||||
|  | The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. | ||||||
|  | 
 | ||||||
|  | Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. | ||||||
| @ -0,0 +1,7 @@ | |||||||
|  | /** @type {import('next').NextConfig} */ | ||||||
|  | const nextConfig = { | ||||||
|  |   reactStrictMode: true, | ||||||
|  |   swcMinify: true, | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | module.exports = nextConfig | ||||||
| @ -0,0 +1,734 @@ | |||||||
|  | { | ||||||
|  |   "name": "competitions", | ||||||
|  |   "version": "0.1.0", | ||||||
|  |   "lockfileVersion": 2, | ||||||
|  |   "requires": true, | ||||||
|  |   "packages": { | ||||||
|  |     "": { | ||||||
|  |       "name": "competitions", | ||||||
|  |       "version": "0.1.0", | ||||||
|  |       "dependencies": { | ||||||
|  |         "@types/node": "18.11.9", | ||||||
|  |         "@types/react": "18.0.24", | ||||||
|  |         "@types/react-dom": "18.0.8", | ||||||
|  |         "next": "13.0.1", | ||||||
|  |         "react": "18.2.0", | ||||||
|  |         "react-dom": "18.2.0", | ||||||
|  |         "typescript": "4.8.4" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@next/env": { | ||||||
|  |       "version": "13.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@next/env/-/env-13.0.1.tgz", | ||||||
|  |       "integrity": "sha512-gK60YoFae3s8qi5UgIzbvxOhsh5gKyEaiKH5+kLBUYXLlrPyWJR2xKBj2WqvHkO7wDX7/Hed3DAqjSpU4ijIvQ==" | ||||||
|  |     }, | ||||||
|  |     "node_modules/@next/swc-android-arm-eabi": { | ||||||
|  |       "version": "13.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-13.0.1.tgz", | ||||||
|  |       "integrity": "sha512-M28QSbohZlNXNn//HY6lV2T3YaMzG58Jwr0YwOdVmOQv6i+7lu6xe3GqQu4kdqInqhLrBXnL+nabFuGTVSHtTg==", | ||||||
|  |       "cpu": [ | ||||||
|  |         "arm" | ||||||
|  |       ], | ||||||
|  |       "optional": true, | ||||||
|  |       "os": [ | ||||||
|  |         "android" | ||||||
|  |       ], | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 10" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@next/swc-android-arm64": { | ||||||
|  |       "version": "13.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-13.0.1.tgz", | ||||||
|  |       "integrity": "sha512-szmO/i6GoHcPXcbhUKhwBMETWHNXH3ITz9wfxwOOFBNKdDU8pjKsHL88lg28aOiQYZSU1sxu1v1p9KY5kJIZCg==", | ||||||
|  |       "cpu": [ | ||||||
|  |         "arm64" | ||||||
|  |       ], | ||||||
|  |       "optional": true, | ||||||
|  |       "os": [ | ||||||
|  |         "android" | ||||||
|  |       ], | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 10" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@next/swc-darwin-arm64": { | ||||||
|  |       "version": "13.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.0.1.tgz", | ||||||
|  |       "integrity": "sha512-O1RxCaiDNOjGZmdAp6SQoHUITt9aVDQXoR3lZ/TloI/NKRAyAV4u0KUUofK+KaZeHOmVTnPUaQuCyZSc3i1x5Q==", | ||||||
|  |       "cpu": [ | ||||||
|  |         "arm64" | ||||||
|  |       ], | ||||||
|  |       "optional": true, | ||||||
|  |       "os": [ | ||||||
|  |         "darwin" | ||||||
|  |       ], | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 10" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@next/swc-darwin-x64": { | ||||||
|  |       "version": "13.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.0.1.tgz", | ||||||
|  |       "integrity": "sha512-8E6BY/VO+QqQkthhoWgB8mJMw1NcN9Vhl2OwEwxv8jy2r3zjeU+WNRxz4y8RLbcY0R1h+vHlXuP0mLnuac84tQ==", | ||||||
|  |       "cpu": [ | ||||||
|  |         "x64" | ||||||
|  |       ], | ||||||
|  |       "optional": true, | ||||||
|  |       "os": [ | ||||||
|  |         "darwin" | ||||||
|  |       ], | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 10" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@next/swc-freebsd-x64": { | ||||||
|  |       "version": "13.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@next/swc-freebsd-x64/-/swc-freebsd-x64-13.0.1.tgz", | ||||||
|  |       "integrity": "sha512-ocwoOxm2KVwF50RyoAT+2RQPLlkyoF7sAqzMUVgj+S6+DTkY3iwH+Zpo0XAk2pnqT9qguOrKnEpq9EIx//+K7Q==", | ||||||
|  |       "cpu": [ | ||||||
|  |         "x64" | ||||||
|  |       ], | ||||||
|  |       "optional": true, | ||||||
|  |       "os": [ | ||||||
|  |         "freebsd" | ||||||
|  |       ], | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 10" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@next/swc-linux-arm-gnueabihf": { | ||||||
|  |       "version": "13.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-13.0.1.tgz", | ||||||
|  |       "integrity": "sha512-yO7e3zITfGol/N6lPQnmIRi0WyuILBMXrvH6EdmWzzqMDJFfTCII6l+B6gMO5WVDCTQUGQlQRNZ7sFqWR4I71g==", | ||||||
|  |       "cpu": [ | ||||||
|  |         "arm" | ||||||
|  |       ], | ||||||
|  |       "optional": true, | ||||||
|  |       "os": [ | ||||||
|  |         "linux" | ||||||
|  |       ], | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 10" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@next/swc-linux-arm64-gnu": { | ||||||
|  |       "version": "13.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.0.1.tgz", | ||||||
|  |       "integrity": "sha512-OEs6WDPDI8RyM8SjOqTDMqMBfOlU97VnW6ZMXUvzUTyH0K9c7NF+cn7UMu+I4tKFN0uJ9WQs/6TYaFBGkgoVVA==", | ||||||
|  |       "cpu": [ | ||||||
|  |         "arm64" | ||||||
|  |       ], | ||||||
|  |       "optional": true, | ||||||
|  |       "os": [ | ||||||
|  |         "linux" | ||||||
|  |       ], | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 10" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@next/swc-linux-arm64-musl": { | ||||||
|  |       "version": "13.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.0.1.tgz", | ||||||
|  |       "integrity": "sha512-y5ypFK0Y3urZSFoQxbtDqvKsBx026sz+Fm+xHlPWlGHNZrbs3Q812iONjcZTo09QwRMk5X86iMWBRxV18xMhaw==", | ||||||
|  |       "cpu": [ | ||||||
|  |         "arm64" | ||||||
|  |       ], | ||||||
|  |       "optional": true, | ||||||
|  |       "os": [ | ||||||
|  |         "linux" | ||||||
|  |       ], | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 10" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@next/swc-linux-x64-gnu": { | ||||||
|  |       "version": "13.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.0.1.tgz", | ||||||
|  |       "integrity": "sha512-XDIHEE6SU8VCF+dUVntD6PDv6RK31N0forx9kucZBYirbe8vCZ+Yx8hYgvtIaGrTcWtGxibxmND0pIuHDq8H5g==", | ||||||
|  |       "cpu": [ | ||||||
|  |         "x64" | ||||||
|  |       ], | ||||||
|  |       "optional": true, | ||||||
|  |       "os": [ | ||||||
|  |         "linux" | ||||||
|  |       ], | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 10" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@next/swc-linux-x64-musl": { | ||||||
|  |       "version": "13.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.0.1.tgz", | ||||||
|  |       "integrity": "sha512-yxIOuuz5EOx0F1FDtsyzaLgnDym0Ysxv8CWeJyDTKKmt9BVyITg6q/cD+RP9bEkT1TQi+PYXIMATSz675Q82xw==", | ||||||
|  |       "cpu": [ | ||||||
|  |         "x64" | ||||||
|  |       ], | ||||||
|  |       "optional": true, | ||||||
|  |       "os": [ | ||||||
|  |         "linux" | ||||||
|  |       ], | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 10" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@next/swc-win32-arm64-msvc": { | ||||||
|  |       "version": "13.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.0.1.tgz", | ||||||
|  |       "integrity": "sha512-+ucLe2qgQzP+FM94jD4ns6LDGyMFaX9k3lVHqu/tsQCy2giMymbport4y4p77mYcXEMlDaHMzlHgOQyHRniWFA==", | ||||||
|  |       "cpu": [ | ||||||
|  |         "arm64" | ||||||
|  |       ], | ||||||
|  |       "optional": true, | ||||||
|  |       "os": [ | ||||||
|  |         "win32" | ||||||
|  |       ], | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 10" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@next/swc-win32-ia32-msvc": { | ||||||
|  |       "version": "13.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.0.1.tgz", | ||||||
|  |       "integrity": "sha512-Krr/qGN7OB35oZuvMAZKoXDt2IapynIWLh5A5rz6AODb7f/ZJqyAuZSK12vOa2zKdobS36Qm4IlxxBqn9c00MA==", | ||||||
|  |       "cpu": [ | ||||||
|  |         "ia32" | ||||||
|  |       ], | ||||||
|  |       "optional": true, | ||||||
|  |       "os": [ | ||||||
|  |         "win32" | ||||||
|  |       ], | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 10" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@next/swc-win32-x64-msvc": { | ||||||
|  |       "version": "13.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.0.1.tgz", | ||||||
|  |       "integrity": "sha512-t/0G33t/6VGWZUGCOT7rG42qqvf/x+MrFp1CU+8CN6PrjSSL57R5bqkXfubV9t4eCEnUxVP+5Hn3MoEXEebtEw==", | ||||||
|  |       "cpu": [ | ||||||
|  |         "x64" | ||||||
|  |       ], | ||||||
|  |       "optional": true, | ||||||
|  |       "os": [ | ||||||
|  |         "win32" | ||||||
|  |       ], | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 10" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@swc/helpers": { | ||||||
|  |       "version": "0.4.11", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.11.tgz", | ||||||
|  |       "integrity": "sha512-rEUrBSGIoSFuYxwBYtlUFMlE2CwGhmW+w9355/5oduSw8e5h2+Tj4UrAGNNgP9915++wj5vkQo0UuOBqOAq4nw==", | ||||||
|  |       "dependencies": { | ||||||
|  |         "tslib": "^2.4.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@types/node": { | ||||||
|  |       "version": "18.11.9", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", | ||||||
|  |       "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" | ||||||
|  |     }, | ||||||
|  |     "node_modules/@types/prop-types": { | ||||||
|  |       "version": "15.7.5", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", | ||||||
|  |       "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" | ||||||
|  |     }, | ||||||
|  |     "node_modules/@types/react": { | ||||||
|  |       "version": "18.0.24", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.24.tgz", | ||||||
|  |       "integrity": "sha512-wRJWT6ouziGUy+9uX0aW4YOJxAY0bG6/AOk5AW5QSvZqI7dk6VBIbXvcVgIw/W5Jrl24f77df98GEKTJGOLx7Q==", | ||||||
|  |       "dependencies": { | ||||||
|  |         "@types/prop-types": "*", | ||||||
|  |         "@types/scheduler": "*", | ||||||
|  |         "csstype": "^3.0.2" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@types/react-dom": { | ||||||
|  |       "version": "18.0.8", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.8.tgz", | ||||||
|  |       "integrity": "sha512-C3GYO0HLaOkk9dDAz3Dl4sbe4AKUGTCfFIZsz3n/82dPNN8Du533HzKatDxeUYWu24wJgMP1xICqkWk1YOLOIw==", | ||||||
|  |       "dependencies": { | ||||||
|  |         "@types/react": "*" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/@types/scheduler": { | ||||||
|  |       "version": "0.16.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", | ||||||
|  |       "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" | ||||||
|  |     }, | ||||||
|  |     "node_modules/caniuse-lite": { | ||||||
|  |       "version": "1.0.30001429", | ||||||
|  |       "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001429.tgz", | ||||||
|  |       "integrity": "sha512-511ThLu1hF+5RRRt0zYCf2U2yRr9GPF6m5y90SBCWsvSoYoW7yAGlv/elyPaNfvGCkp6kj/KFZWU0BMA69Prsg==", | ||||||
|  |       "funding": [ | ||||||
|  |         { | ||||||
|  |           "type": "opencollective", | ||||||
|  |           "url": "https://opencollective.com/browserslist" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |           "type": "tidelift", | ||||||
|  |           "url": "https://tidelift.com/funding/github/npm/caniuse-lite" | ||||||
|  |         } | ||||||
|  |       ] | ||||||
|  |     }, | ||||||
|  |     "node_modules/client-only": { | ||||||
|  |       "version": "0.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", | ||||||
|  |       "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" | ||||||
|  |     }, | ||||||
|  |     "node_modules/csstype": { | ||||||
|  |       "version": "3.1.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", | ||||||
|  |       "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" | ||||||
|  |     }, | ||||||
|  |     "node_modules/js-tokens": { | ||||||
|  |       "version": "4.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", | ||||||
|  |       "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" | ||||||
|  |     }, | ||||||
|  |     "node_modules/loose-envify": { | ||||||
|  |       "version": "1.4.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", | ||||||
|  |       "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", | ||||||
|  |       "dependencies": { | ||||||
|  |         "js-tokens": "^3.0.0 || ^4.0.0" | ||||||
|  |       }, | ||||||
|  |       "bin": { | ||||||
|  |         "loose-envify": "cli.js" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/nanoid": { | ||||||
|  |       "version": "3.3.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", | ||||||
|  |       "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", | ||||||
|  |       "bin": { | ||||||
|  |         "nanoid": "bin/nanoid.cjs" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/next": { | ||||||
|  |       "version": "13.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/next/-/next-13.0.1.tgz", | ||||||
|  |       "integrity": "sha512-ErCNBPIeZMKFn6hX+ZBSlqZVgJIeitEqhGTuQUNmYXJ07/A71DZ7AJI8eyHYUdBb686LUpV1/oBdTq9RpzRVPg==", | ||||||
|  |       "dependencies": { | ||||||
|  |         "@next/env": "13.0.1", | ||||||
|  |         "@swc/helpers": "0.4.11", | ||||||
|  |         "caniuse-lite": "^1.0.30001406", | ||||||
|  |         "postcss": "8.4.14", | ||||||
|  |         "styled-jsx": "5.1.0", | ||||||
|  |         "use-sync-external-store": "1.2.0" | ||||||
|  |       }, | ||||||
|  |       "bin": { | ||||||
|  |         "next": "dist/bin/next" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=14.6.0" | ||||||
|  |       }, | ||||||
|  |       "optionalDependencies": { | ||||||
|  |         "@next/swc-android-arm-eabi": "13.0.1", | ||||||
|  |         "@next/swc-android-arm64": "13.0.1", | ||||||
|  |         "@next/swc-darwin-arm64": "13.0.1", | ||||||
|  |         "@next/swc-darwin-x64": "13.0.1", | ||||||
|  |         "@next/swc-freebsd-x64": "13.0.1", | ||||||
|  |         "@next/swc-linux-arm-gnueabihf": "13.0.1", | ||||||
|  |         "@next/swc-linux-arm64-gnu": "13.0.1", | ||||||
|  |         "@next/swc-linux-arm64-musl": "13.0.1", | ||||||
|  |         "@next/swc-linux-x64-gnu": "13.0.1", | ||||||
|  |         "@next/swc-linux-x64-musl": "13.0.1", | ||||||
|  |         "@next/swc-win32-arm64-msvc": "13.0.1", | ||||||
|  |         "@next/swc-win32-ia32-msvc": "13.0.1", | ||||||
|  |         "@next/swc-win32-x64-msvc": "13.0.1" | ||||||
|  |       }, | ||||||
|  |       "peerDependencies": { | ||||||
|  |         "fibers": ">= 3.1.0", | ||||||
|  |         "node-sass": "^6.0.0 || ^7.0.0", | ||||||
|  |         "react": "^18.2.0", | ||||||
|  |         "react-dom": "^18.2.0", | ||||||
|  |         "sass": "^1.3.0" | ||||||
|  |       }, | ||||||
|  |       "peerDependenciesMeta": { | ||||||
|  |         "fibers": { | ||||||
|  |           "optional": true | ||||||
|  |         }, | ||||||
|  |         "node-sass": { | ||||||
|  |           "optional": true | ||||||
|  |         }, | ||||||
|  |         "sass": { | ||||||
|  |           "optional": true | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/picocolors": { | ||||||
|  |       "version": "1.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", | ||||||
|  |       "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" | ||||||
|  |     }, | ||||||
|  |     "node_modules/postcss": { | ||||||
|  |       "version": "8.4.14", | ||||||
|  |       "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", | ||||||
|  |       "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", | ||||||
|  |       "funding": [ | ||||||
|  |         { | ||||||
|  |           "type": "opencollective", | ||||||
|  |           "url": "https://opencollective.com/postcss/" | ||||||
|  |         }, | ||||||
|  |         { | ||||||
|  |           "type": "tidelift", | ||||||
|  |           "url": "https://tidelift.com/funding/github/npm/postcss" | ||||||
|  |         } | ||||||
|  |       ], | ||||||
|  |       "dependencies": { | ||||||
|  |         "nanoid": "^3.3.4", | ||||||
|  |         "picocolors": "^1.0.0", | ||||||
|  |         "source-map-js": "^1.0.2" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": "^10 || ^12 || >=14" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/react": { | ||||||
|  |       "version": "18.2.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", | ||||||
|  |       "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", | ||||||
|  |       "dependencies": { | ||||||
|  |         "loose-envify": "^1.1.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=0.10.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/react-dom": { | ||||||
|  |       "version": "18.2.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", | ||||||
|  |       "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", | ||||||
|  |       "dependencies": { | ||||||
|  |         "loose-envify": "^1.1.0", | ||||||
|  |         "scheduler": "^0.23.0" | ||||||
|  |       }, | ||||||
|  |       "peerDependencies": { | ||||||
|  |         "react": "^18.2.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/scheduler": { | ||||||
|  |       "version": "0.23.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", | ||||||
|  |       "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", | ||||||
|  |       "dependencies": { | ||||||
|  |         "loose-envify": "^1.1.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", | ||||||
|  |       "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=0.10.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/styled-jsx": { | ||||||
|  |       "version": "5.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.0.tgz", | ||||||
|  |       "integrity": "sha512-/iHaRJt9U7T+5tp6TRelLnqBqiaIT0HsO0+vgyj8hK2KUk7aejFqRrumqPUlAqDwAj8IbS/1hk3IhBAAK/FCUQ==", | ||||||
|  |       "dependencies": { | ||||||
|  |         "client-only": "0.0.1" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 12.0.0" | ||||||
|  |       }, | ||||||
|  |       "peerDependencies": { | ||||||
|  |         "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" | ||||||
|  |       }, | ||||||
|  |       "peerDependenciesMeta": { | ||||||
|  |         "@babel/core": { | ||||||
|  |           "optional": true | ||||||
|  |         }, | ||||||
|  |         "babel-plugin-macros": { | ||||||
|  |           "optional": true | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/tslib": { | ||||||
|  |       "version": "2.4.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", | ||||||
|  |       "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" | ||||||
|  |     }, | ||||||
|  |     "node_modules/typescript": { | ||||||
|  |       "version": "4.8.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", | ||||||
|  |       "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", | ||||||
|  |       "bin": { | ||||||
|  |         "tsc": "bin/tsc", | ||||||
|  |         "tsserver": "bin/tsserver" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=4.2.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/use-sync-external-store": { | ||||||
|  |       "version": "1.2.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", | ||||||
|  |       "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", | ||||||
|  |       "peerDependencies": { | ||||||
|  |         "react": "^16.8.0 || ^17.0.0 || ^18.0.0" | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   "dependencies": { | ||||||
|  |     "@next/env": { | ||||||
|  |       "version": "13.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@next/env/-/env-13.0.1.tgz", | ||||||
|  |       "integrity": "sha512-gK60YoFae3s8qi5UgIzbvxOhsh5gKyEaiKH5+kLBUYXLlrPyWJR2xKBj2WqvHkO7wDX7/Hed3DAqjSpU4ijIvQ==" | ||||||
|  |     }, | ||||||
|  |     "@next/swc-android-arm-eabi": { | ||||||
|  |       "version": "13.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-13.0.1.tgz", | ||||||
|  |       "integrity": "sha512-M28QSbohZlNXNn//HY6lV2T3YaMzG58Jwr0YwOdVmOQv6i+7lu6xe3GqQu4kdqInqhLrBXnL+nabFuGTVSHtTg==", | ||||||
|  |       "optional": true | ||||||
|  |     }, | ||||||
|  |     "@next/swc-android-arm64": { | ||||||
|  |       "version": "13.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-13.0.1.tgz", | ||||||
|  |       "integrity": "sha512-szmO/i6GoHcPXcbhUKhwBMETWHNXH3ITz9wfxwOOFBNKdDU8pjKsHL88lg28aOiQYZSU1sxu1v1p9KY5kJIZCg==", | ||||||
|  |       "optional": true | ||||||
|  |     }, | ||||||
|  |     "@next/swc-darwin-arm64": { | ||||||
|  |       "version": "13.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.0.1.tgz", | ||||||
|  |       "integrity": "sha512-O1RxCaiDNOjGZmdAp6SQoHUITt9aVDQXoR3lZ/TloI/NKRAyAV4u0KUUofK+KaZeHOmVTnPUaQuCyZSc3i1x5Q==", | ||||||
|  |       "optional": true | ||||||
|  |     }, | ||||||
|  |     "@next/swc-darwin-x64": { | ||||||
|  |       "version": "13.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.0.1.tgz", | ||||||
|  |       "integrity": "sha512-8E6BY/VO+QqQkthhoWgB8mJMw1NcN9Vhl2OwEwxv8jy2r3zjeU+WNRxz4y8RLbcY0R1h+vHlXuP0mLnuac84tQ==", | ||||||
|  |       "optional": true | ||||||
|  |     }, | ||||||
|  |     "@next/swc-freebsd-x64": { | ||||||
|  |       "version": "13.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@next/swc-freebsd-x64/-/swc-freebsd-x64-13.0.1.tgz", | ||||||
|  |       "integrity": "sha512-ocwoOxm2KVwF50RyoAT+2RQPLlkyoF7sAqzMUVgj+S6+DTkY3iwH+Zpo0XAk2pnqT9qguOrKnEpq9EIx//+K7Q==", | ||||||
|  |       "optional": true | ||||||
|  |     }, | ||||||
|  |     "@next/swc-linux-arm-gnueabihf": { | ||||||
|  |       "version": "13.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-13.0.1.tgz", | ||||||
|  |       "integrity": "sha512-yO7e3zITfGol/N6lPQnmIRi0WyuILBMXrvH6EdmWzzqMDJFfTCII6l+B6gMO5WVDCTQUGQlQRNZ7sFqWR4I71g==", | ||||||
|  |       "optional": true | ||||||
|  |     }, | ||||||
|  |     "@next/swc-linux-arm64-gnu": { | ||||||
|  |       "version": "13.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.0.1.tgz", | ||||||
|  |       "integrity": "sha512-OEs6WDPDI8RyM8SjOqTDMqMBfOlU97VnW6ZMXUvzUTyH0K9c7NF+cn7UMu+I4tKFN0uJ9WQs/6TYaFBGkgoVVA==", | ||||||
|  |       "optional": true | ||||||
|  |     }, | ||||||
|  |     "@next/swc-linux-arm64-musl": { | ||||||
|  |       "version": "13.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.0.1.tgz", | ||||||
|  |       "integrity": "sha512-y5ypFK0Y3urZSFoQxbtDqvKsBx026sz+Fm+xHlPWlGHNZrbs3Q812iONjcZTo09QwRMk5X86iMWBRxV18xMhaw==", | ||||||
|  |       "optional": true | ||||||
|  |     }, | ||||||
|  |     "@next/swc-linux-x64-gnu": { | ||||||
|  |       "version": "13.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.0.1.tgz", | ||||||
|  |       "integrity": "sha512-XDIHEE6SU8VCF+dUVntD6PDv6RK31N0forx9kucZBYirbe8vCZ+Yx8hYgvtIaGrTcWtGxibxmND0pIuHDq8H5g==", | ||||||
|  |       "optional": true | ||||||
|  |     }, | ||||||
|  |     "@next/swc-linux-x64-musl": { | ||||||
|  |       "version": "13.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.0.1.tgz", | ||||||
|  |       "integrity": "sha512-yxIOuuz5EOx0F1FDtsyzaLgnDym0Ysxv8CWeJyDTKKmt9BVyITg6q/cD+RP9bEkT1TQi+PYXIMATSz675Q82xw==", | ||||||
|  |       "optional": true | ||||||
|  |     }, | ||||||
|  |     "@next/swc-win32-arm64-msvc": { | ||||||
|  |       "version": "13.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.0.1.tgz", | ||||||
|  |       "integrity": "sha512-+ucLe2qgQzP+FM94jD4ns6LDGyMFaX9k3lVHqu/tsQCy2giMymbport4y4p77mYcXEMlDaHMzlHgOQyHRniWFA==", | ||||||
|  |       "optional": true | ||||||
|  |     }, | ||||||
|  |     "@next/swc-win32-ia32-msvc": { | ||||||
|  |       "version": "13.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.0.1.tgz", | ||||||
|  |       "integrity": "sha512-Krr/qGN7OB35oZuvMAZKoXDt2IapynIWLh5A5rz6AODb7f/ZJqyAuZSK12vOa2zKdobS36Qm4IlxxBqn9c00MA==", | ||||||
|  |       "optional": true | ||||||
|  |     }, | ||||||
|  |     "@next/swc-win32-x64-msvc": { | ||||||
|  |       "version": "13.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.0.1.tgz", | ||||||
|  |       "integrity": "sha512-t/0G33t/6VGWZUGCOT7rG42qqvf/x+MrFp1CU+8CN6PrjSSL57R5bqkXfubV9t4eCEnUxVP+5Hn3MoEXEebtEw==", | ||||||
|  |       "optional": true | ||||||
|  |     }, | ||||||
|  |     "@swc/helpers": { | ||||||
|  |       "version": "0.4.11", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.11.tgz", | ||||||
|  |       "integrity": "sha512-rEUrBSGIoSFuYxwBYtlUFMlE2CwGhmW+w9355/5oduSw8e5h2+Tj4UrAGNNgP9915++wj5vkQo0UuOBqOAq4nw==", | ||||||
|  |       "requires": { | ||||||
|  |         "tslib": "^2.4.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "@types/node": { | ||||||
|  |       "version": "18.11.9", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.9.tgz", | ||||||
|  |       "integrity": "sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==" | ||||||
|  |     }, | ||||||
|  |     "@types/prop-types": { | ||||||
|  |       "version": "15.7.5", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", | ||||||
|  |       "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" | ||||||
|  |     }, | ||||||
|  |     "@types/react": { | ||||||
|  |       "version": "18.0.24", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.24.tgz", | ||||||
|  |       "integrity": "sha512-wRJWT6ouziGUy+9uX0aW4YOJxAY0bG6/AOk5AW5QSvZqI7dk6VBIbXvcVgIw/W5Jrl24f77df98GEKTJGOLx7Q==", | ||||||
|  |       "requires": { | ||||||
|  |         "@types/prop-types": "*", | ||||||
|  |         "@types/scheduler": "*", | ||||||
|  |         "csstype": "^3.0.2" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "@types/react-dom": { | ||||||
|  |       "version": "18.0.8", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.8.tgz", | ||||||
|  |       "integrity": "sha512-C3GYO0HLaOkk9dDAz3Dl4sbe4AKUGTCfFIZsz3n/82dPNN8Du533HzKatDxeUYWu24wJgMP1xICqkWk1YOLOIw==", | ||||||
|  |       "requires": { | ||||||
|  |         "@types/react": "*" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "@types/scheduler": { | ||||||
|  |       "version": "0.16.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", | ||||||
|  |       "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" | ||||||
|  |     }, | ||||||
|  |     "caniuse-lite": { | ||||||
|  |       "version": "1.0.30001429", | ||||||
|  |       "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001429.tgz", | ||||||
|  |       "integrity": "sha512-511ThLu1hF+5RRRt0zYCf2U2yRr9GPF6m5y90SBCWsvSoYoW7yAGlv/elyPaNfvGCkp6kj/KFZWU0BMA69Prsg==" | ||||||
|  |     }, | ||||||
|  |     "client-only": { | ||||||
|  |       "version": "0.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", | ||||||
|  |       "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" | ||||||
|  |     }, | ||||||
|  |     "csstype": { | ||||||
|  |       "version": "3.1.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", | ||||||
|  |       "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" | ||||||
|  |     }, | ||||||
|  |     "js-tokens": { | ||||||
|  |       "version": "4.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", | ||||||
|  |       "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" | ||||||
|  |     }, | ||||||
|  |     "loose-envify": { | ||||||
|  |       "version": "1.4.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", | ||||||
|  |       "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", | ||||||
|  |       "requires": { | ||||||
|  |         "js-tokens": "^3.0.0 || ^4.0.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "nanoid": { | ||||||
|  |       "version": "3.3.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", | ||||||
|  |       "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" | ||||||
|  |     }, | ||||||
|  |     "next": { | ||||||
|  |       "version": "13.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/next/-/next-13.0.1.tgz", | ||||||
|  |       "integrity": "sha512-ErCNBPIeZMKFn6hX+ZBSlqZVgJIeitEqhGTuQUNmYXJ07/A71DZ7AJI8eyHYUdBb686LUpV1/oBdTq9RpzRVPg==", | ||||||
|  |       "requires": { | ||||||
|  |         "@next/env": "13.0.1", | ||||||
|  |         "@next/swc-android-arm-eabi": "13.0.1", | ||||||
|  |         "@next/swc-android-arm64": "13.0.1", | ||||||
|  |         "@next/swc-darwin-arm64": "13.0.1", | ||||||
|  |         "@next/swc-darwin-x64": "13.0.1", | ||||||
|  |         "@next/swc-freebsd-x64": "13.0.1", | ||||||
|  |         "@next/swc-linux-arm-gnueabihf": "13.0.1", | ||||||
|  |         "@next/swc-linux-arm64-gnu": "13.0.1", | ||||||
|  |         "@next/swc-linux-arm64-musl": "13.0.1", | ||||||
|  |         "@next/swc-linux-x64-gnu": "13.0.1", | ||||||
|  |         "@next/swc-linux-x64-musl": "13.0.1", | ||||||
|  |         "@next/swc-win32-arm64-msvc": "13.0.1", | ||||||
|  |         "@next/swc-win32-ia32-msvc": "13.0.1", | ||||||
|  |         "@next/swc-win32-x64-msvc": "13.0.1", | ||||||
|  |         "@swc/helpers": "0.4.11", | ||||||
|  |         "caniuse-lite": "^1.0.30001406", | ||||||
|  |         "postcss": "8.4.14", | ||||||
|  |         "styled-jsx": "5.1.0", | ||||||
|  |         "use-sync-external-store": "1.2.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "picocolors": { | ||||||
|  |       "version": "1.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", | ||||||
|  |       "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" | ||||||
|  |     }, | ||||||
|  |     "postcss": { | ||||||
|  |       "version": "8.4.14", | ||||||
|  |       "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", | ||||||
|  |       "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", | ||||||
|  |       "requires": { | ||||||
|  |         "nanoid": "^3.3.4", | ||||||
|  |         "picocolors": "^1.0.0", | ||||||
|  |         "source-map-js": "^1.0.2" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "react": { | ||||||
|  |       "version": "18.2.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", | ||||||
|  |       "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", | ||||||
|  |       "requires": { | ||||||
|  |         "loose-envify": "^1.1.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "react-dom": { | ||||||
|  |       "version": "18.2.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", | ||||||
|  |       "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", | ||||||
|  |       "requires": { | ||||||
|  |         "loose-envify": "^1.1.0", | ||||||
|  |         "scheduler": "^0.23.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "scheduler": { | ||||||
|  |       "version": "0.23.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", | ||||||
|  |       "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", | ||||||
|  |       "requires": { | ||||||
|  |         "loose-envify": "^1.1.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "source-map-js": { | ||||||
|  |       "version": "1.0.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", | ||||||
|  |       "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" | ||||||
|  |     }, | ||||||
|  |     "styled-jsx": { | ||||||
|  |       "version": "5.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.0.tgz", | ||||||
|  |       "integrity": "sha512-/iHaRJt9U7T+5tp6TRelLnqBqiaIT0HsO0+vgyj8hK2KUk7aejFqRrumqPUlAqDwAj8IbS/1hk3IhBAAK/FCUQ==", | ||||||
|  |       "requires": { | ||||||
|  |         "client-only": "0.0.1" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "tslib": { | ||||||
|  |       "version": "2.4.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", | ||||||
|  |       "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" | ||||||
|  |     }, | ||||||
|  |     "typescript": { | ||||||
|  |       "version": "4.8.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", | ||||||
|  |       "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==" | ||||||
|  |     }, | ||||||
|  |     "use-sync-external-store": { | ||||||
|  |       "version": "1.2.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", | ||||||
|  |       "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", | ||||||
|  |       "requires": {} | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
| @ -0,0 +1,20 @@ | |||||||
|  | { | ||||||
|  |   "name": "competitions", | ||||||
|  |   "version": "0.1.0", | ||||||
|  |   "private": true, | ||||||
|  |   "scripts": { | ||||||
|  |     "dev": "next dev", | ||||||
|  |     "build": "next build", | ||||||
|  |     "start": "next start", | ||||||
|  |     "lint": "next lint" | ||||||
|  |   }, | ||||||
|  |   "dependencies": { | ||||||
|  |     "@types/node": "18.11.9", | ||||||
|  |     "@types/react": "18.0.24", | ||||||
|  |     "@types/react-dom": "18.0.8", | ||||||
|  |     "next": "13.0.1", | ||||||
|  |     "react": "18.2.0", | ||||||
|  |     "react-dom": "18.2.0", | ||||||
|  |     "typescript": "4.8.4" | ||||||
|  |   } | ||||||
|  | } | ||||||
| @ -0,0 +1,6 @@ | |||||||
|  | import '../styles/globals.css' | ||||||
|  | import type { AppProps } from 'next/app' | ||||||
|  | 
 | ||||||
|  | export default function App({ Component, pageProps }: AppProps) { | ||||||
|  |   return <Component {...pageProps} /> | ||||||
|  | } | ||||||
| @ -0,0 +1,13 @@ | |||||||
|  | // Next.js API route support: https://nextjs.org/docs/api-routes/introduction
 | ||||||
|  | import type { NextApiRequest, NextApiResponse } from 'next' | ||||||
|  | 
 | ||||||
|  | type Data = { | ||||||
|  |   name: string | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export default function handler( | ||||||
|  |   req: NextApiRequest, | ||||||
|  |   res: NextApiResponse<Data> | ||||||
|  | ) { | ||||||
|  |   res.status(200).json({ name: 'John Doe' }) | ||||||
|  | } | ||||||
| @ -0,0 +1,71 @@ | |||||||
|  | import Head from 'next/head' | ||||||
|  | import Image from 'next/image' | ||||||
|  | import styles from '../styles/Home.module.css' | ||||||
|  | 
 | ||||||
|  | export default function Home() { | ||||||
|  |   return ( | ||||||
|  |     <div className={styles.container}> | ||||||
|  |       <Head> | ||||||
|  |         <title>Create Next App</title> | ||||||
|  |         <meta name="description" content="Generated by create next app" /> | ||||||
|  |         <link rel="icon" href="/favicon.ico" /> | ||||||
|  |       </Head> | ||||||
|  | 
 | ||||||
|  |       <main className={styles.main}> | ||||||
|  |         <h1 className={styles.title}> | ||||||
|  |           Welcome to <a href="https://nextjs.org">Next.js!</a> | ||||||
|  |         </h1> | ||||||
|  | 
 | ||||||
|  |         <p className={styles.description}> | ||||||
|  |           Get started by editing{' '} | ||||||
|  |           <code className={styles.code}>pages/index.tsx</code> | ||||||
|  |         </p> | ||||||
|  | 
 | ||||||
|  |         <div className={styles.grid}> | ||||||
|  |           <a href="https://nextjs.org/docs" className={styles.card}> | ||||||
|  |             <h2>Documentation →</h2> | ||||||
|  |             <p>Find in-depth information about Next.js features and API.</p> | ||||||
|  |           </a> | ||||||
|  | 
 | ||||||
|  |           <a href="https://nextjs.org/learn" className={styles.card}> | ||||||
|  |             <h2>Learn →</h2> | ||||||
|  |             <p>Learn about Next.js in an interactive course with quizzes!</p> | ||||||
|  |           </a> | ||||||
|  | 
 | ||||||
|  |           <a | ||||||
|  |             href="https://github.com/vercel/next.js/tree/canary/examples" | ||||||
|  |             className={styles.card} | ||||||
|  |           > | ||||||
|  |             <h2>Examples →</h2> | ||||||
|  |             <p>Discover and deploy boilerplate example Next.js projects.</p> | ||||||
|  |           </a> | ||||||
|  | 
 | ||||||
|  |           <a | ||||||
|  |             href="https://vercel.com/new?utm_source=create-next-app&utm_medium=default-template&utm_campaign=create-next-app" | ||||||
|  |             target="_blank" | ||||||
|  |             rel="noopener noreferrer" | ||||||
|  |             className={styles.card} | ||||||
|  |           > | ||||||
|  |             <h2>Deploy →</h2> | ||||||
|  |             <p> | ||||||
|  |               Instantly deploy your Next.js site to a public URL with Vercel. | ||||||
|  |             </p> | ||||||
|  |           </a> | ||||||
|  |         </div> | ||||||
|  |       </main> | ||||||
|  | 
 | ||||||
|  |       <footer className={styles.footer}> | ||||||
|  |         <a | ||||||
|  |           href="https://vercel.com?utm_source=create-next-app&utm_medium=default-template&utm_campaign=create-next-app" | ||||||
|  |           target="_blank" | ||||||
|  |           rel="noopener noreferrer" | ||||||
|  |         > | ||||||
|  |           Powered by{' '} | ||||||
|  |           <span className={styles.logo}> | ||||||
|  |             <Image src="/vercel.svg" alt="Vercel Logo" width={72} height={16} /> | ||||||
|  |           </span> | ||||||
|  |         </a> | ||||||
|  |       </footer> | ||||||
|  |     </div> | ||||||
|  |   ) | ||||||
|  | } | ||||||
| After Width: | Height: | Size: 25 KiB | 
| After Width: | Height: | Size: 1.1 KiB | 
| @ -0,0 +1,129 @@ | |||||||
|  | .container { | ||||||
|  |   padding: 0 2rem; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .main { | ||||||
|  |   min-height: 100vh; | ||||||
|  |   padding: 4rem 0; | ||||||
|  |   flex: 1; | ||||||
|  |   display: flex; | ||||||
|  |   flex-direction: column; | ||||||
|  |   justify-content: center; | ||||||
|  |   align-items: center; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .footer { | ||||||
|  |   display: flex; | ||||||
|  |   flex: 1; | ||||||
|  |   padding: 2rem 0; | ||||||
|  |   border-top: 1px solid #eaeaea; | ||||||
|  |   justify-content: center; | ||||||
|  |   align-items: center; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .footer a { | ||||||
|  |   display: flex; | ||||||
|  |   justify-content: center; | ||||||
|  |   align-items: center; | ||||||
|  |   flex-grow: 1; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .title a { | ||||||
|  |   color: #0070f3; | ||||||
|  |   text-decoration: none; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .title a:hover, | ||||||
|  | .title a:focus, | ||||||
|  | .title a:active { | ||||||
|  |   text-decoration: underline; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .title { | ||||||
|  |   margin: 0; | ||||||
|  |   line-height: 1.15; | ||||||
|  |   font-size: 4rem; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .title, | ||||||
|  | .description { | ||||||
|  |   text-align: center; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .description { | ||||||
|  |   margin: 4rem 0; | ||||||
|  |   line-height: 1.5; | ||||||
|  |   font-size: 1.5rem; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .code { | ||||||
|  |   background: #fafafa; | ||||||
|  |   border-radius: 5px; | ||||||
|  |   padding: 0.75rem; | ||||||
|  |   font-size: 1.1rem; | ||||||
|  |   font-family: Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, | ||||||
|  |     Bitstream Vera Sans Mono, Courier New, monospace; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .grid { | ||||||
|  |   display: flex; | ||||||
|  |   align-items: center; | ||||||
|  |   justify-content: center; | ||||||
|  |   flex-wrap: wrap; | ||||||
|  |   max-width: 800px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .card { | ||||||
|  |   margin: 1rem; | ||||||
|  |   padding: 1.5rem; | ||||||
|  |   text-align: left; | ||||||
|  |   color: inherit; | ||||||
|  |   text-decoration: none; | ||||||
|  |   border: 1px solid #eaeaea; | ||||||
|  |   border-radius: 10px; | ||||||
|  |   transition: color 0.15s ease, border-color 0.15s ease; | ||||||
|  |   max-width: 300px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .card:hover, | ||||||
|  | .card:focus, | ||||||
|  | .card:active { | ||||||
|  |   color: #0070f3; | ||||||
|  |   border-color: #0070f3; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .card h2 { | ||||||
|  |   margin: 0 0 1rem 0; | ||||||
|  |   font-size: 1.5rem; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .card p { | ||||||
|  |   margin: 0; | ||||||
|  |   font-size: 1.25rem; | ||||||
|  |   line-height: 1.5; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .logo { | ||||||
|  |   height: 1em; | ||||||
|  |   margin-left: 0.5rem; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @media (max-width: 600px) { | ||||||
|  |   .grid { | ||||||
|  |     width: 100%; | ||||||
|  |     flex-direction: column; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @media (prefers-color-scheme: dark) { | ||||||
|  |   .card, | ||||||
|  |   .footer { | ||||||
|  |     border-color: #222; | ||||||
|  |   } | ||||||
|  |   .code { | ||||||
|  |     background: #111; | ||||||
|  |   } | ||||||
|  |   .logo img { | ||||||
|  |     filter: invert(1); | ||||||
|  |   } | ||||||
|  | } | ||||||
| @ -0,0 +1,26 @@ | |||||||
|  | html, | ||||||
|  | body { | ||||||
|  |   padding: 0; | ||||||
|  |   margin: 0; | ||||||
|  |   font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, | ||||||
|  |     Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | a { | ||||||
|  |   color: inherit; | ||||||
|  |   text-decoration: none; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | * { | ||||||
|  |   box-sizing: border-box; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @media (prefers-color-scheme: dark) { | ||||||
|  |   html { | ||||||
|  |     color-scheme: dark; | ||||||
|  |   } | ||||||
|  |   body { | ||||||
|  |     color: white; | ||||||
|  |     background: black; | ||||||
|  |   } | ||||||
|  | } | ||||||
| @ -0,0 +1,20 @@ | |||||||
|  | { | ||||||
|  |   "compilerOptions": { | ||||||
|  |     "target": "es5", | ||||||
|  |     "lib": ["dom", "dom.iterable", "esnext"], | ||||||
|  |     "allowJs": true, | ||||||
|  |     "skipLibCheck": true, | ||||||
|  |     "strict": true, | ||||||
|  |     "forceConsistentCasingInFileNames": true, | ||||||
|  |     "noEmit": true, | ||||||
|  |     "esModuleInterop": true, | ||||||
|  |     "module": "esnext", | ||||||
|  |     "moduleResolution": "node", | ||||||
|  |     "resolveJsonModule": true, | ||||||
|  |     "isolatedModules": true, | ||||||
|  |     "jsx": "preserve", | ||||||
|  |     "incremental": true | ||||||
|  |   }, | ||||||
|  |   "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], | ||||||
|  |   "exclude": ["node_modules"] | ||||||
|  | } | ||||||
					Loading…
					
					
				
		Reference in new issue