From 5b04f2f60cd7246bc15c733104eebb1cc22eddfb Mon Sep 17 00:00:00 2001 From: Donald Wu Date: Sun, 1 Jan 2023 14:49:37 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=F0=9F=8E=B8=20add=20react=20project?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/web/src/app/app.tsx | 13 +- apps/web/src/components/login/login.tsx | 117 +++++++++ apps/web/src/components/signup/signup.tsx | 117 +++++++++ apps/web/src/helper/helper.ts | 4 + apps/web/src/images/logo.png | Bin 0 -> 37655 bytes apps/web/src/services/user.ts | 30 +++ package.json | 5 + yarn.lock | 299 +++++++++++++++++++++- 8 files changed, 575 insertions(+), 10 deletions(-) create mode 100644 apps/web/src/components/login/login.tsx create mode 100644 apps/web/src/components/signup/signup.tsx create mode 100644 apps/web/src/helper/helper.ts create mode 100644 apps/web/src/images/logo.png create mode 100644 apps/web/src/services/user.ts diff --git a/apps/web/src/app/app.tsx b/apps/web/src/app/app.tsx index 9420b89..b587028 100644 --- a/apps/web/src/app/app.tsx +++ b/apps/web/src/app/app.tsx @@ -1,7 +1,18 @@ import React from 'react'; +import { Routes, Route } from 'react-router-dom'; +import Signup from '../components/signup/signup'; +import Login from '../components/login/login'; function App() { - return <>App; + return ( +
+ + } /> + } /> + } /> + +
+ ); } export default App; diff --git a/apps/web/src/components/login/login.tsx b/apps/web/src/components/login/login.tsx new file mode 100644 index 0000000..1bdbfb2 --- /dev/null +++ b/apps/web/src/components/login/login.tsx @@ -0,0 +1,117 @@ +import * as React from 'react'; +import Avatar from '@mui/material/Avatar'; +import Button from '@mui/material/Button'; +import CssBaseline from '@mui/material/CssBaseline'; +import TextField from '@mui/material/TextField'; +import Link from '@mui/material/Link'; +import Paper from '@mui/material/Paper'; +import Box from '@mui/material/Box'; +import Grid from '@mui/material/Grid'; +import LockOutlinedIcon from '@mui/icons-material/LockOutlined'; +import Typography from '@mui/material/Typography'; +import { createTheme, ThemeProvider } from '@mui/material/styles'; + +const theme = createTheme(); + +function Login() { + const handleSubmit = (event: React.FormEvent) => { + event.preventDefault(); + const data = new FormData(event.currentTarget); + console.log({ + email: data.get('email'), + password: data.get('password'), + }); + }; + + return ( + + + + + t.palette.mode === 'light' + ? t.palette.grey[50] + : t.palette.grey[900], + backgroundSize: 'cover', + backgroundPosition: 'center', + }} + /> + + + + + + + Login + + + + + + + + + Forgot password? + + + + + {"Don't have an account? Sign Up"} + + + + Created By Donald Wu + + + + + + ); +} + +export default Login; diff --git a/apps/web/src/components/signup/signup.tsx b/apps/web/src/components/signup/signup.tsx new file mode 100644 index 0000000..3d237bd --- /dev/null +++ b/apps/web/src/components/signup/signup.tsx @@ -0,0 +1,117 @@ +import * as React from 'react'; +import Avatar from '@mui/material/Avatar'; +import Button from '@mui/material/Button'; +import CssBaseline from '@mui/material/CssBaseline'; +import TextField from '@mui/material/TextField'; +import Link from '@mui/material/Link'; +import Paper from '@mui/material/Paper'; +import Box from '@mui/material/Box'; +import Grid from '@mui/material/Grid'; +import LockOutlinedIcon from '@mui/icons-material/LockOutlined'; +import Typography from '@mui/material/Typography'; +import { createTheme, ThemeProvider } from '@mui/material/styles'; + +const theme = createTheme(); + +function Signup() { + const handleSubmit = (event: React.FormEvent) => { + event.preventDefault(); + const data = new FormData(event.currentTarget); + console.log({ + email: data.get('email'), + password: data.get('password'), + }); + }; + + return ( + + + + + t.palette.mode === 'light' + ? t.palette.grey[50] + : t.palette.grey[900], + backgroundSize: 'cover', + backgroundPosition: 'center', + }} + /> + + + + + + + Login + + + + + + + + + Forgot password? + + + + + {"Don't have an account? Sign Up"} + + + + Created By Donald Wu + + + + + + ); +} + +export default Signup; diff --git a/apps/web/src/helper/helper.ts b/apps/web/src/helper/helper.ts new file mode 100644 index 0000000..25564a0 --- /dev/null +++ b/apps/web/src/helper/helper.ts @@ -0,0 +1,4 @@ +export const getRootUrl = () => { + const rootUrl = `localhost:3333/api`; + return rootUrl; +}; diff --git a/apps/web/src/images/logo.png b/apps/web/src/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..5ed53f61bbb64fb9b8d26c28c1fed9664b2f7dd8 GIT binary patch literal 37655 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 literal 0 HcmV?d00001 diff --git a/apps/web/src/services/user.ts b/apps/web/src/services/user.ts new file mode 100644 index 0000000..63922a4 --- /dev/null +++ b/apps/web/src/services/user.ts @@ -0,0 +1,30 @@ +import axios from 'axios'; +import { UserRole } from '@prisma/client'; +import { getRootUrl } from '../helper/helper'; + +const rootUrl = getRootUrl(); + +export const signup = async ( + email: string, + password: string, + userRoles: UserRole[] +) => { + const data = { + email: email, + password: password, + userRoles: userRoles, + }; + + const response = await axios.post(`${rootUrl}/user/signup`, data); + return response; +}; + +export const login = async (email: string, password: string) => { + const data = { + email: email, + password: password, + }; + + const response = await axios.post(`${rootUrl}/user/login`, data); + return response; +}; diff --git a/package.json b/package.json index f22b693..6e166cb 100644 --- a/package.json +++ b/package.json @@ -11,10 +11,15 @@ "yarn": "1.22.19" }, "dependencies": { + "@emotion/react": "^11.10.5", + "@emotion/styled": "^11.10.5", + "@mui/icons-material": "^5.11.0", + "@mui/material": "^5.11.2", "@nestjs/common": "^9.0.0", "@nestjs/core": "^9.0.0", "@nestjs/platform-express": "^9.0.0", "@prisma/client": "^4.8.0", + "axios": "^1.2.2", "bcryptjs": "^2.4.3", "compression": "^1.7.4", "helmet": "^6.0.1", diff --git a/yarn.lock b/yarn.lock index 013be8a..115a187 100644 --- a/yarn.lock +++ b/yarn.lock @@ -105,7 +105,7 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-module-imports@^7.18.6": +"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== @@ -218,6 +218,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-jsx@^7.17.12": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0" + integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" @@ -296,7 +303,7 @@ core-js-pure "^3.25.1" regenerator-runtime "^0.13.11" -"@babel/runtime@^7.10.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.18.9": +"@babel/runtime@^7.10.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.18.9", "@babel/runtime@^7.20.6", "@babel/runtime@^7.20.7", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.7.tgz#fcb41a5a70550e04a7b708037c7c32f7f356d8fd" integrity sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ== @@ -547,6 +554,114 @@ debug "^3.1.0" lodash.once "^4.1.1" +"@emotion/babel-plugin@^11.10.5": + version "11.10.5" + resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.10.5.tgz#65fa6e1790ddc9e23cc22658a4c5dea423c55c3c" + integrity sha512-xE7/hyLHJac7D2Ve9dKroBBZqBT7WuPQmWcq7HSGb84sUuP4mlOWoB8dvVfD9yk5DHkU1m6RW7xSoDtnQHNQeA== + dependencies: + "@babel/helper-module-imports" "^7.16.7" + "@babel/plugin-syntax-jsx" "^7.17.12" + "@babel/runtime" "^7.18.3" + "@emotion/hash" "^0.9.0" + "@emotion/memoize" "^0.8.0" + "@emotion/serialize" "^1.1.1" + babel-plugin-macros "^3.1.0" + convert-source-map "^1.5.0" + escape-string-regexp "^4.0.0" + find-root "^1.1.0" + source-map "^0.5.7" + stylis "4.1.3" + +"@emotion/cache@^11.10.5": + version "11.10.5" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.10.5.tgz#c142da9351f94e47527ed458f7bbbbe40bb13c12" + integrity sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA== + dependencies: + "@emotion/memoize" "^0.8.0" + "@emotion/sheet" "^1.2.1" + "@emotion/utils" "^1.2.0" + "@emotion/weak-memoize" "^0.3.0" + stylis "4.1.3" + +"@emotion/hash@^0.9.0": + version "0.9.0" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.0.tgz#c5153d50401ee3c027a57a177bc269b16d889cb7" + integrity sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ== + +"@emotion/is-prop-valid@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz#7f2d35c97891669f7e276eb71c83376a5dc44c83" + integrity sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg== + dependencies: + "@emotion/memoize" "^0.8.0" + +"@emotion/memoize@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.0.tgz#f580f9beb67176fa57aae70b08ed510e1b18980f" + integrity sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA== + +"@emotion/react@^11.10.5": + version "11.10.5" + resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.10.5.tgz#95fff612a5de1efa9c0d535384d3cfa115fe175d" + integrity sha512-TZs6235tCJ/7iF6/rvTaOH4oxQg2gMAcdHemjwLKIjKz4rRuYe1HJ2TQJKnAcRAfOUDdU8XoDadCe1rl72iv8A== + dependencies: + "@babel/runtime" "^7.18.3" + "@emotion/babel-plugin" "^11.10.5" + "@emotion/cache" "^11.10.5" + "@emotion/serialize" "^1.1.1" + "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0" + "@emotion/utils" "^1.2.0" + "@emotion/weak-memoize" "^0.3.0" + hoist-non-react-statics "^3.3.1" + +"@emotion/serialize@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.1.1.tgz#0595701b1902feded8a96d293b26be3f5c1a5cf0" + integrity sha512-Zl/0LFggN7+L1liljxXdsVSVlg6E/Z/olVWpfxUTxOAmi8NU7YoeWeLfi1RmnB2TATHoaWwIBRoL+FvAJiTUQA== + dependencies: + "@emotion/hash" "^0.9.0" + "@emotion/memoize" "^0.8.0" + "@emotion/unitless" "^0.8.0" + "@emotion/utils" "^1.2.0" + csstype "^3.0.2" + +"@emotion/sheet@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.1.tgz#0767e0305230e894897cadb6c8df2c51e61a6c2c" + integrity sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA== + +"@emotion/styled@^11.10.5": + version "11.10.5" + resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.10.5.tgz#1fe7bf941b0909802cb826457e362444e7e96a79" + integrity sha512-8EP6dD7dMkdku2foLoruPCNkRevzdcBaY6q0l0OsbyJK+x8D9HWjX27ARiSIKNF634hY9Zdoedh8bJCiva8yZw== + dependencies: + "@babel/runtime" "^7.18.3" + "@emotion/babel-plugin" "^11.10.5" + "@emotion/is-prop-valid" "^1.2.0" + "@emotion/serialize" "^1.1.1" + "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0" + "@emotion/utils" "^1.2.0" + +"@emotion/unitless@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.0.tgz#a4a36e9cbdc6903737cd20d38033241e1b8833db" + integrity sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw== + +"@emotion/use-insertion-effect-with-fallbacks@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz#ffadaec35dbb7885bd54de3fa267ab2f860294df" + integrity sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A== + +"@emotion/utils@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.0.tgz#9716eaccbc6b5ded2ea5a90d65562609aab0f561" + integrity sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw== + +"@emotion/weak-memoize@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz#ea89004119dc42db2e1dba0f97d553f7372f6fcb" + integrity sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg== + "@esbuild/android-arm64@0.16.12": version "0.16.12" resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.12.tgz#86c4fdd7c0d65fe9dcbe138fbe72720658ec3b88" @@ -1007,6 +1122,99 @@ resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== +"@mui/base@5.0.0-alpha.112": + version "5.0.0-alpha.112" + resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-alpha.112.tgz#80e815430c5df0316e0a549d34628d54215e05f1" + integrity sha512-KPwb1iYPXsV/P8uu0SNQrj7v7YU6wdN4Eccc2lZQyRDW+f6PJYjHBuFUTYKc408B98Jvs1XbC/z5MN45a2DWrQ== + dependencies: + "@babel/runtime" "^7.20.7" + "@emotion/is-prop-valid" "^1.2.0" + "@mui/types" "^7.2.3" + "@mui/utils" "^5.11.2" + "@popperjs/core" "^2.11.6" + clsx "^1.2.1" + prop-types "^15.8.1" + react-is "^18.2.0" + +"@mui/core-downloads-tracker@^5.11.2": + version "5.11.2" + resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.11.2.tgz#0ff8066bee7e9654fd978cb671e9c12c9d2a65b7" + integrity sha512-ztLQELdSSuJFXezng8g5eCzy8mogtzMM8JcfG3HIGgUJ2RlAiBXI2Qe0adKmrJlF4FMat8vTaTeoiRNBZH4t1Q== + +"@mui/icons-material@^5.11.0": + version "5.11.0" + resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.11.0.tgz#9ea6949278b2266d2683866069cd43009eaf6464" + integrity sha512-I2LaOKqO8a0xcLGtIozC9xoXjZAto5G5gh0FYUMAlbsIHNHIjn4Xrw9rvjY20vZonyiGrZNMAlAXYkY6JvhF6A== + dependencies: + "@babel/runtime" "^7.20.6" + +"@mui/material@^5.11.2": + version "5.11.2" + resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.11.2.tgz#8f0ce18d2cf9da9276f6f19b40a681225098ea09" + integrity sha512-PeraRDsghnDLzejorfe9ps1syxlB8UrGs+UKwg9GGlndv5Tghm+9nwuibrP2TCDC14mlryF+u2WlAOYaPPMwGA== + dependencies: + "@babel/runtime" "^7.20.7" + "@mui/base" "5.0.0-alpha.112" + "@mui/core-downloads-tracker" "^5.11.2" + "@mui/system" "^5.11.2" + "@mui/types" "^7.2.3" + "@mui/utils" "^5.11.2" + "@types/react-transition-group" "^4.4.5" + clsx "^1.2.1" + csstype "^3.1.1" + prop-types "^15.8.1" + react-is "^18.2.0" + react-transition-group "^4.4.5" + +"@mui/private-theming@^5.11.2": + version "5.11.2" + resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.11.2.tgz#93eafb317070888a988efa8d6a9ec1f69183a606" + integrity sha512-qZwMaqRFPwlYmqwVKblKBGKtIjJRAj3nsvX93pOmatsXyorW7N/0IPE/swPgz1VwChXhHO75DwBEx8tB+aRMNg== + dependencies: + "@babel/runtime" "^7.20.7" + "@mui/utils" "^5.11.2" + prop-types "^15.8.1" + +"@mui/styled-engine@^5.11.0": + version "5.11.0" + resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.11.0.tgz#79afb30c612c7807c4b77602cf258526d3997c7b" + integrity sha512-AF06K60Zc58qf0f7X+Y/QjaHaZq16znliLnGc9iVrV/+s8Ln/FCoeNuFvhlCbZZQ5WQcJvcy59zp0nXrklGGPQ== + dependencies: + "@babel/runtime" "^7.20.6" + "@emotion/cache" "^11.10.5" + csstype "^3.1.1" + prop-types "^15.8.1" + +"@mui/system@^5.11.2": + version "5.11.2" + resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.11.2.tgz#a5a5865dda0f5f360eed8cdc1ab399a493dbd361" + integrity sha512-PPkYhrcP2MkhscX6SauIl0wPgra0w1LGPtll+hIKc2Z2JbGRSrUCFif93kxejB7I1cAoCay9jWW4mnNhsOqF/g== + dependencies: + "@babel/runtime" "^7.20.7" + "@mui/private-theming" "^5.11.2" + "@mui/styled-engine" "^5.11.0" + "@mui/types" "^7.2.3" + "@mui/utils" "^5.11.2" + clsx "^1.2.1" + csstype "^3.1.1" + prop-types "^15.8.1" + +"@mui/types@^7.2.3": + version "7.2.3" + resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.3.tgz#06faae1c0e2f3a31c86af6f28b3a4a42143670b9" + integrity sha512-tZ+CQggbe9Ol7e/Fs5RcKwg/woU+o8DCtOnccX6KmbBc7YrfqMYEYuaIcXHuhpT880QwNkZZ3wQwvtlDFA2yOw== + +"@mui/utils@^5.11.2": + version "5.11.2" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.11.2.tgz#29764311acb99425159b159b1cb382153ad9be1f" + integrity sha512-AyizuHHlGdAtH5hOOXBW3kriuIwUIKUIgg0P7LzMvzf6jPhoQbENYqY6zJqfoZ7fAWMNNYT8mgN5EftNGzwE2w== + dependencies: + "@babel/runtime" "^7.20.7" + "@types/prop-types" "^15.7.5" + "@types/react-is" "^16.7.1 || ^17.0.0" + prop-types "^15.8.1" + react-is "^18.2.0" + "@nestjs/common@^9.0.0": version "9.2.1" resolved "https://registry.yarnpkg.com/@nestjs/common/-/common-9.2.1.tgz#24de19ee85a8f1747288980fe517b12753cf66ea" @@ -1364,6 +1572,11 @@ resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.21.tgz#5de5a2385a35309427f6011992b544514d559aa1" integrity sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g== +"@popperjs/core@^2.11.6": + version "2.11.6" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.6.tgz#cee20bd55e68a1720bdab363ecf0c821ded4cd45" + integrity sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw== + "@prisma/client@^4.8.0": version "4.8.0" resolved "https://registry.yarnpkg.com/@prisma/client/-/client-4.8.0.tgz#6ec7adaca6a2e233d7e41dbe7cc6d0fa6143a407" @@ -1734,7 +1947,7 @@ resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.2.tgz#6c2324641cc4ba050a8c710b2b251b377581fbf0" integrity sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg== -"@types/prop-types@*": +"@types/prop-types@*", "@types/prop-types@^15.7.5": version "15.7.5" resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== @@ -1763,6 +1976,13 @@ dependencies: "@types/react" "*" +"@types/react-is@^16.7.1 || ^17.0.0": + version "17.0.3" + resolved "https://registry.yarnpkg.com/@types/react-is/-/react-is-17.0.3.tgz#2d855ba575f2fc8d17ef9861f084acc4b90a137a" + integrity sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw== + dependencies: + "@types/react" "*" + "@types/react-router-dom@5.3.3": version "5.3.3" resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.3.3.tgz#e9d6b4a66fcdbd651a5f106c2656a30088cc1e83" @@ -1780,6 +2000,13 @@ "@types/history" "^4.7.11" "@types/react" "*" +"@types/react-transition-group@^4.4.5": + version "4.4.5" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.5.tgz#aae20dcf773c5aa275d5b9f7cdbca638abc5e416" + integrity sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA== + dependencies: + "@types/react" "*" + "@types/react@*": version "18.0.26" resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.26.tgz#8ad59fc01fef8eaf5c74f4ea392621749f0b7917" @@ -2526,7 +2753,7 @@ axios@^0.21.2: dependencies: follow-redirects "^1.14.0" -axios@^1.0.0: +axios@^1.0.0, axios@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/axios/-/axios-1.2.2.tgz#72681724c6e6a43a9fea860fc558127dbe32f9f1" integrity sha512-bz/J4gS2S3I7mpN/YZfGFTqhXTYzRho8Ay38w2otuuDR322KzFIWm/4W2K6gIwvWaws5n+mnb7D1lN9uD+QH6Q== @@ -2584,6 +2811,15 @@ babel-plugin-jest-hoist@^28.1.3: "@types/babel__core" "^7.1.14" "@types/babel__traverse" "^7.0.6" +babel-plugin-macros@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" + integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== + dependencies: + "@babel/runtime" "^7.12.5" + cosmiconfig "^7.0.0" + resolve "^1.19.0" + babel-preset-current-node-syntax@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" @@ -3024,6 +3260,11 @@ clone@^1.0.2: resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== +clsx@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" + integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== + co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -3352,7 +3593,7 @@ conventional-recommended-bump@6.1.0: meow "^8.0.0" q "^1.5.1" -convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: +convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: version "1.9.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== @@ -3574,7 +3815,7 @@ cssstyle@^2.3.0: dependencies: cssom "~0.3.6" -csstype@^3.0.2: +csstype@^3.0.2, csstype@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9" integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== @@ -3872,6 +4113,14 @@ dom-accessibility-api@^0.5.9: resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.14.tgz#56082f71b1dc7aac69d83c4285eef39c15d93f56" integrity sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg== +dom-helpers@^5.0.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" + integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== + dependencies: + "@babel/runtime" "^7.8.7" + csstype "^3.0.2" + dom-serializer@^1.0.1: version "1.4.1" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" @@ -4655,6 +4904,11 @@ find-cache-dir@^3.3.1: make-dir "^3.0.2" pkg-dir "^4.1.0" +find-root@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" + integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== + find-up@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" @@ -5154,6 +5408,13 @@ helmet@*, helmet@^6.0.1: resolved "https://registry.yarnpkg.com/helmet/-/helmet-6.0.1.tgz#52ec353638b2e87f14fe079d142b368ac11e79a4" integrity sha512-8wo+VdQhTMVBMCITYZaGTbE4lvlthelPYSvoyNvk4RECTmrVjMerp9RfUOQXZWLvCcAn1pKj7ZRxK4lI9Alrcw== +hoist-non-react-statics@^3.3.1: + version "3.3.2" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== + dependencies: + react-is "^16.7.0" + hosted-git-info@^2.1.4: version "2.8.9" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" @@ -7836,7 +8097,7 @@ prompts@^2.0.1: kleur "^3.0.3" sisteransi "^1.0.5" -prop-types@^15.8.1: +prop-types@^15.6.2, prop-types@^15.8.1: version "15.8.1" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -7961,7 +8222,7 @@ react-dom@18.2.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== -react-is@^16.13.1: +react-is@^16.13.1, react-is@^16.7.0: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== @@ -8008,6 +8269,16 @@ react-test-renderer@18.2.0: react-shallow-renderer "^16.15.0" scheduler "^0.23.0" +react-transition-group@^4.4.5: + version "4.4.5" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1" + integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g== + dependencies: + "@babel/runtime" "^7.5.5" + dom-helpers "^5.0.1" + loose-envify "^1.4.0" + prop-types "^15.6.2" + react@18.2.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" @@ -8170,7 +8441,7 @@ resolve.exports@1.1.0, resolve.exports@^1.1.0: resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== -resolve@^1.1.7, resolve@^1.10.0, resolve@^1.20.0, resolve@^1.22.0, resolve@^1.22.1: +resolve@^1.1.7, resolve@^1.10.0, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.0, resolve@^1.22.1: version "1.22.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== @@ -8585,6 +8856,11 @@ source-map@0.7.4, source-map@^0.7.3: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== +source-map@^0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== + source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" @@ -8856,6 +9132,11 @@ stylehacks@^5.1.1: browserslist "^4.21.4" postcss-selector-parser "^6.0.4" +stylis@4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.1.3.tgz#fd2fbe79f5fed17c55269e16ed8da14c84d069f7" + integrity sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA== + stylus-loader@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-7.1.0.tgz#19e09a98b19075c246e6e3f65e38b8cb89d2d6fb"