From 15e9994c2cbd15dbf6fbdb62abae73286ea40bea Mon Sep 17 00:00:00 2001 From: theboringschool Date: Thu, 1 Dec 2022 04:28:05 +0545 Subject: [PATCH 1/6] Updated UI --- .dccache | 1 + .gitignore | 134 +-- LICENSE | 24 - README.md | 2 - index.html | 13 + package.json | 56 +- public/apple-touch-icon.png | Bin 20792 -> 0 bytes public/favicon.ico | Bin 15406 -> 0 bytes public/index.html | 21 - public/logo192.png | Bin 23047 -> 0 bytes public/logo512.png | Bin 89976 -> 0 bytes public/manifest.json | 25 - public/robots.txt | 3 - public/vite.svg | 1 + src/App.jsx | 105 ++- src/Components/Navbar/index.jsx | 80 -- src/Components/Navbar/styles/style.css | 105 --- src/Components/Navbar/styles/style.scss | 89 -- src/Components/Networks/index.jsx | 71 -- src/Components/Swap/index.jsx | 149 --- src/Components/Swap/styles/style.css | 198 ---- src/Components/Swap/styles/style.scss | 160 ---- src/Context/DataLayer.js | 19 - src/Context/Reducer.js | 41 - src/Helpers/ContractABI.json | 101 -- src/Helpers/Networks.json | 32 - src/Utils/ConnectWallet.js | 102 -- src/index.css | 12 + src/index.js | 17 - src/main.jsx | 11 + src/prepros.config | 938 ------------------- src/styles/App.css | 1 - src/styles/App.scss | 29 - src/styles/style.css | 139 +++ src/styles/style.css.map | 1 + src/styles/style.scss | 161 ++++ vite.config.js | 7 + yarn.lock | 1126 +++++++++++++++++++++++ 38 files changed, 1571 insertions(+), 2403 deletions(-) create mode 100644 .dccache delete mode 100644 LICENSE delete mode 100644 README.md create mode 100644 index.html delete mode 100644 public/apple-touch-icon.png delete mode 100644 public/favicon.ico delete mode 100644 public/index.html delete mode 100644 public/logo192.png delete mode 100644 public/logo512.png delete mode 100644 public/manifest.json delete mode 100644 public/robots.txt create mode 100644 public/vite.svg delete mode 100644 src/Components/Navbar/index.jsx delete mode 100644 src/Components/Navbar/styles/style.css delete mode 100644 src/Components/Navbar/styles/style.scss delete mode 100644 src/Components/Networks/index.jsx delete mode 100644 src/Components/Swap/index.jsx delete mode 100644 src/Components/Swap/styles/style.css delete mode 100644 src/Components/Swap/styles/style.scss delete mode 100644 src/Context/DataLayer.js delete mode 100644 src/Context/Reducer.js delete mode 100644 src/Helpers/ContractABI.json delete mode 100644 src/Helpers/Networks.json delete mode 100644 src/Utils/ConnectWallet.js create mode 100644 src/index.css delete mode 100644 src/index.js create mode 100644 src/main.jsx delete mode 100644 src/prepros.config delete mode 100644 src/styles/App.css delete mode 100644 src/styles/App.scss create mode 100644 src/styles/style.css create mode 100644 src/styles/style.css.map create mode 100644 src/styles/style.scss create mode 100644 vite.config.js create mode 100644 yarn.lock diff --git a/.dccache b/.dccache new file mode 100644 index 0000000..982e109 --- /dev/null +++ b/.dccache @@ -0,0 +1 @@ +{"/Users/theboringschool/Documents/playpoint-dex/index.html":[361,1669822937466.1526,"73a1cabe0c63fb2a6b4ec6151be8b7dc691bfbee9cf28ad8d9f24b9531882ac7"],"/Users/theboringschool/Documents/playpoint-dex/vite.config.js":[162,1669822937470.177,"a5680533c1f383c9ec024c9e71160ee79894f049457497cba29f5844db2bc358"],"/Users/theboringschool/Documents/playpoint-dex/src/App.jsx":[2695,1669847877970.088,"65e6c357217ffe43de3afcd0a071652d29d73f68e054bbfc237b61f8ef1bf9e9"],"/Users/theboringschool/Documents/playpoint-dex/src/main.jsx":[269,1669841887294.3176,"023fc98f19ede78cf8f6843d89bd27d7280ee3d6b3149a56f838bad6e08af0b4"]} \ No newline at end of file diff --git a/.gitignore b/.gitignore index d39ab19..a547bf3 100644 --- a/.gitignore +++ b/.gitignore @@ -4,129 +4,21 @@ logs npm-debug.log* yarn-debug.log* yarn-error.log* +pnpm-debug.log* lerna-debug.log* -# Diagnostic reports (https://nodejs.org/api/report.html) -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage -*.lcov - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# TypeScript v1 declaration files -typings/ - -# TypeScript cache -*.tsbuildinfo - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Microbundle cache -.rpt2_cache/ -.rts2_cache_cjs/ -.rts2_cache_es/ -.rts2_cache_umd/ - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variables file -.env -.env.test - -# parcel-bundler cache (https://parceljs.org/) -.cache - -# Next.js build output -.next - -# Nuxt.js build / generate output -.nuxt +node_modules dist +dist-ssr +*.local -# Gatsby files -.cache/ -# Comment in the public line in if your project uses Gatsby and *not* Next.js -# https://nextjs.org/blog/next-9-1#public-directory-support -# public - -# vuepress build output -.vuepress/dist - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -# TernJS port file -.tern-port - -.dccache -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.js - -# testing -/coverage - -# production -/build - -# misc +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea .DS_Store -.env.local -.env.development.local -.env.test.local -.env.production.local - -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -package-lock.json -yarn.lock \ No newline at end of file +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/LICENSE b/LICENSE deleted file mode 100644 index fdddb29..0000000 --- a/LICENSE +++ /dev/null @@ -1,24 +0,0 @@ -This is free and unencumbered software released into the public domain. - -Anyone is free to copy, modify, publish, use, compile, sell, or -distribute this software, either in source code form or as a compiled -binary, for any purpose, commercial or non-commercial, and by any -means. - -In jurisdictions that recognize copyright laws, the author or authors -of this software dedicate any and all copyright interest in the -software to the public domain. We make this dedication for the benefit -of the public at large and to the detriment of our heirs and -successors. We intend this dedication to be an overt act of -relinquishment in perpetuity of all present and future rights to this -software under copyright law. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - -For more information, please refer to diff --git a/README.md b/README.md deleted file mode 100644 index 133d1dd..0000000 --- a/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# dex-playpoint -Dex for Playpoint Pre-Private Sale. diff --git a/index.html b/index.html new file mode 100644 index 0000000..79c4701 --- /dev/null +++ b/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite + React + + +
+ + + diff --git a/package.json b/package.json index e05bd4b..d18d71d 100644 --- a/package.json +++ b/package.json @@ -1,45 +1,25 @@ { - "name": "dex-playpoint", - "version": "0.1.0", + "name": "playpoint-dex", "private": true, - "dependencies": { - "@emotion/react": "^11.9.0", - "@emotion/styled": "^11.8.1", - "@mui/material": "^5.6.4", - "@testing-library/jest-dom": "^5.16.4", - "@testing-library/react": "^13.2.0", - "@testing-library/user-event": "^13.5.0", - "ethers": "^5.6.5", - "github-like-avatar-generator": "^1.1.10", - "react": "^18.1.0", - "react-dom": "^18.1.0", - "react-scripts": "5.0.1", - "react-toastify": "^9.0.1", - "remixicon": "^2.5.0", - "web-vitals": "^2.1.4" - }, + "version": "0.0.0", + "type": "module", "scripts": { - "start": "react-scripts start", - "build": "react-scripts build", - "test": "react-scripts test", - "eject": "react-scripts eject" + "dev": "vite", + "build": "vite build", + "preview": "vite preview" }, - "eslintConfig": { - "extends": [ - "react-app", - "react-app/jest" - ] + "dependencies": { + "@emotion/react": "^11.10.5", + "@emotion/styled": "^11.10.5", + "@mui/material": "^5.10.16", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "remixicon": "^2.5.0" }, - "browserslist": { - "production": [ - ">0.2%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] + "devDependencies": { + "@types/react": "^18.0.24", + "@types/react-dom": "^18.0.8", + "@vitejs/plugin-react": "^2.2.0", + "vite": "^3.2.3" } } diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png deleted file mode 100644 index d7236dbdd778807eb05edb29ad6cc0f170eafb0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20792 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 - - - - - - - - - - - Presale | Playpoint - - - -
- - diff --git a/public/logo192.png b/public/logo192.png deleted file mode 100644 index 3a0ad411f542e0ad767121b9492a61f2e03c94ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23047 zcmV*7Kytr{P)PyA07*naRCr$PT?d#{)!BZ}otf>OEi4@r>4mi)2Dt`V_U#6s^Kw$IEx|MQ-E&di_^j;C+;YnIo%7ZA6KK;W z0LV6dV{5%kN+}@WgFqIbe$oNt0_Y5&r~c^%pcFtcfKC8%0AvEl0N@3{31PDV1Oe0n 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 diff --git a/public/logo512.png b/public/logo512.png deleted file mode 100644 index 1e511db45295f16ab2e6f4cadeddbe39d1a1c707..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 89976 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
tYL~J$EMrrQi!s~vrOnH?{39`qI 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 bAo5W3{0Zw8`e^$}2>h6wId52@?-=oaV!7Rz diff --git a/public/manifest.json b/public/manifest.json deleted file mode 100644 index 080d6c7..0000000 --- a/public/manifest.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "short_name": "React App", - "name": "Create React App Sample", - "icons": [ - { - "src": "favicon.ico", - "sizes": "64x64 32x32 24x24 16x16", - "type": "image/x-icon" - }, - { - "src": "logo192.png", - "type": "image/png", - "sizes": "192x192" - }, - { - "src": "logo512.png", - "type": "image/png", - "sizes": "512x512" - } - ], - "start_url": ".", - "display": "standalone", - "theme_color": "#000000", - "background_color": "#ffffff" -} diff --git a/public/robots.txt b/public/robots.txt deleted file mode 100644 index e9e57dc..0000000 --- a/public/robots.txt +++ /dev/null @@ -1,3 +0,0 @@ -# https://www.robotstxt.org/robotstxt.html -User-agent: * -Disallow: diff --git a/public/vite.svg b/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/App.jsx b/src/App.jsx index 114eb83..0fe3c50 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,47 +1,78 @@ +import { Button } from "@mui/material"; import React from "react"; -import "./styles/App.css"; -import Navbar from "./Components/Navbar"; -import Swap from "./Components/Swap"; -import { useDataLayer } from "./Context/DataLayer"; +import "./styles/style.css"; export default function App() { - const [isLoading, setIsLoading] = React.useState(true); - const [,dispatch] = useDataLayer() + return ( +
+
+ - if (typeof window.ethereum !== "undefined") { - window.ethereum.on("accountsChanged", async () => { - window.location.reload(); - }); - }else{ - window.alert("Please install MetaMask!") - } +
+ + + +
+
+ {/* @note swap container */} +
+
+

Exchange

+ +
- React.useEffect(() => { - // deepcode ignore PromiseNotCaughtGeneral - fetch("https://api.coingecko.com/api/v3/coins/avalanche-2", { - method: "GET", - headers: { - "Content-Type": "application/json", - }, - }) - .then((res) => res.json()) - .then(async (data) => { - dispatch({ - type: "SET_MARKET_PRICE", - payload: { - avaxMarketPrice: data.market_data.current_price.usd, - }, - }); +
+

+ 1 PPTT +

+ +

+ 0.02 USDT +

+
- setIsLoading(false); - }); - // eslint-disable-next-line - }, []); + +
+ +
+ +
+
- return ( -
- - + +
+ +
+ +
+
+ + +
+ +
+ Copyright © 2023 PPTT. All rights reserved.
+ Proudly powered by The Boring School & Supported by CodewithSudeep. +
); } diff --git a/src/Components/Navbar/index.jsx b/src/Components/Navbar/index.jsx deleted file mode 100644 index 8a2599c..0000000 --- a/src/Components/Navbar/index.jsx +++ /dev/null @@ -1,80 +0,0 @@ -import React from "react"; -import Button from "@mui/material/Button"; -import generateAvatar from "github-like-avatar-generator"; -import { toast } from "react-toastify"; -import { useDataLayer } from "../../Context/DataLayer"; -import "./styles/style.css"; -import { ConnectWallet } from "../../Utils/ConnectWallet"; - -export default function Navbar() { - const [{ isWalletConnected, account }, dispatch] = useDataLayer(); - - let avatar = generateAvatar({ - blocks: Math.floor(Math.random() * 6) * 2, // must be multiple of two - width: 100, - }); - - const handleConnectWallet = () => { - if (!isWalletConnected) { - /** - * @dev Algorithm - * 1. Check the network chain id - * 2. Provide chain detail from Networks.json where it got chain id - */ - ConnectWallet(dispatch); - toast.success("Wallet Connected!"); - } - }; - - const handleDisconnectWallet = () => { - if (isWalletConnected) { - dispatch({ type: "DISCONNECT_WALLET" }); - toast.success("Wallet Disconnected!"); - } - }; - - return ( -
- Playpoint.ai - -
- {isWalletConnected && ( - - )} - - {!isWalletConnected && ( - - )} - {account !== "" && ( -
- - - {account.substring(0, 8) + - "..." + - account.substring(account.length - 7, account.length)} - -
- -
-
- )} - {/* */} -
-
- ); -} diff --git a/src/Components/Navbar/styles/style.css b/src/Components/Navbar/styles/style.css deleted file mode 100644 index 5df2a34..0000000 --- a/src/Components/Navbar/styles/style.css +++ /dev/null @@ -1,105 +0,0 @@ -.navbar__container { - padding: 10px 3vw; - background-color: rgba(255, 255, 255, 0.6); - -webkit-backdrop-filter: blur(10px); - backdrop-filter: blur(10px); - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; -} -.navbar__container img { - width: 45px; - height: 45px; - -o-object-fit: contain; - object-fit: contain; -} -.navbar__container .utilities { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - gap: 20px; - font-size: 16px; -} -.navbar__container .utilities .network { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - gap: 7px; - background: #fff; - color: #000; - border-radius: 14px; - padding: 5px 15px; - text-transform: capitalize; - font-size: 15px; - font-weight: 500; - border: 2px solid #5ba2ff; -} -.navbar__container .utilities .network img { - width: 20px; - height: 20px; - -o-object-fit: contain; - object-fit: contain; -} -@media (max-width: 768px) { - .navbar__container .utilities .network { - display: none; - } -} -.navbar__container .utilities .wallet { - font-size: 15px; - padding: 5px 15px; - text-transform: capitalize; - border-radius: 14px; - color: #000; - background: #fff; - font-weight: 500; - border: 2px solid rgba(104, 241, 106, 0.685); - gap: 7px; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; -} -.navbar__container .utilities .wallet img { - width: 20px; - height: 20px; - -o-object-fit: contain; - object-fit: contain; -} -@media (max-width: 768px) { - .navbar__container .utilities .wallet { - display: none; - } -} -.navbar__container .utilities .downIcon { - font-size: 17px; - padding: 5px 15px; - font-size: 1em; - border-radius: 14px; - color: #000; - background: #fff; - min-width: auto; - gap: 10px; - text-transform: capitalize; - border: 2px solid rgba(255, 150, 12, 0.685); -} -@media (max-width: 768px) { - .navbar__container .utilities .downIcon { - border: 2px solid rgba(255, 150, 12, 0.685); - padding: 5px; - } -} \ No newline at end of file diff --git a/src/Components/Navbar/styles/style.scss b/src/Components/Navbar/styles/style.scss deleted file mode 100644 index 1297157..0000000 --- a/src/Components/Navbar/styles/style.scss +++ /dev/null @@ -1,89 +0,0 @@ -$border-radius: 14px; - -.navbar__container { - padding: 10px 3vw; - background-color: rgba(255, 255, 255, 0.6); - backdrop-filter: blur(10px); - display: flex; - align-items: center; - justify-content: space-between; - - img { - width: 45px; - height: 45px; - object-fit: contain; - } - - .utilities { - display: flex; - align-items: center; - gap: 20px; - font-size: 16px; - - .network { - display: flex; - align-items: center; - gap: 7px; - background: #fff; - color: #000; - border-radius: $border-radius; - padding: 5px 15px; - text-transform: capitalize; - font-size: 15px; - font-weight: 500; - border: 2px solid rgb(91, 162, 255); - - img { - width: 20px; - height: 20px; - object-fit: contain; - } - - @media (max-width: 768px) { - display: none; - } - } - - .wallet { - font-size: 15px; - padding: 5px 15px; - text-transform: capitalize; - border-radius: $border-radius; - color: #000; - background: #fff; - font-weight: 500; - border: 2px solid rgba(104, 241, 106, 0.685); - gap: 7px; - display: flex; - align-items: center; - - img { - width: 20px; - height: 20px; - object-fit: contain; - } - - @media (max-width: 768px) { - display: none; - } - } - - .downIcon { - font-size: 17px; - padding: 5px 15px; - font-size: 1em; - border-radius: $border-radius; - color: #000; - background: #fff; - min-width: auto; - gap: 10px; - text-transform: capitalize; - border: 2px solid rgba(255, 150, 12, 0.685); - - @media (max-width: 768px) { - border: 2px solid rgba(255, 150, 12, 0.685); - padding: 5px; - } - } - } -} \ No newline at end of file diff --git a/src/Components/Networks/index.jsx b/src/Components/Networks/index.jsx deleted file mode 100644 index f5264c8..0000000 --- a/src/Components/Networks/index.jsx +++ /dev/null @@ -1,71 +0,0 @@ -import { Button } from "@mui/material"; -import React from "react"; -import { useDataLayer } from "../../Context/DataLayer"; -import { ConnectWallet } from "../../Utils/ConnectWallet"; -import { toast } from "react-toastify"; -import "./styles/style.css"; - -export default function Networks() { - const [, dispatch] = useDataLayer(); - - const handleCloseNetworks = () => { - dispatch({ - type: "TOGGLE_NETWORKS", - }); - }; - - const handleConnectWallet = (network) => { - - - dispatch({ - type: "TOGGLE_NETWORKS", - }); - } - - return ( -
-
-
- Network Selection - -
- -
- - - - - - - -
-
-
- ); -} diff --git a/src/Components/Swap/index.jsx b/src/Components/Swap/index.jsx deleted file mode 100644 index 41025da..0000000 --- a/src/Components/Swap/index.jsx +++ /dev/null @@ -1,149 +0,0 @@ -import { Button } from "@mui/material"; -import React from "react"; -import "./styles/style.css"; -import { useDataLayer } from "../../Context/DataLayer"; -import { ConnectWallet } from "../../Utils/ConnectWallet"; -import { toast } from "react-toastify"; -import { ethers } from "ethers"; -import ContractABI from "../../Helpers/ContractABI.json"; - -export default function Swap({ isLoading }) { - // eslint-disable-next-line - const [ - { isWalletConnected, avaxMarketPrice, signer, balance }, - dispatch, - ] = useDataLayer(); - - const [swapAmount, setSwapAmount] = React.useState({ - from: 0, - to: 0, - }); - - const handleConnectWallet = () => { - if (!isWalletConnected) { - ConnectWallet(dispatch); - toast.success("Wallet Connected!"); - } - }; - - const handleAmountChange = (e) => { - const dollarValue = e.target.value * avaxMarketPrice; - - setSwapAmount({ - from: e.target.value, - to: (dollarValue * 66).toFixed(2), - }); - }; - - const handleSwap = async () => { - const dollarValue = swapAmount.from * avaxMarketPrice; - - if(balance >= swapAmount.from){ - if (swapAmount.from >= 3) { - try { - const contract = new ethers.Contract( - "0x4B90f169B7f80AAdc5258be4b82a0cD95d661551", - ContractABI, - signer - ); - - const signedSigner = contract.connect(signer); - - await signedSigner.invest( - ethers.utils.parseUnits(swapAmount.from, 18), - ethers.utils.parseUnits((dollarValue * 66).toFixed(2), 18), - { - value: ethers.utils.parseUnits(swapAmount.from, 18), - } - ); - - toast.success("Check Explorer for successful confirmation!"); - setSwapAmount({ - from: 0, - to: 0, - }); - } catch (error) { - console.log(error); - } - } else { - toast.error("Minimum sale amount is 3 AVAX"); - } - }else{ - toast.error("Insufficient Balance!"); - } - }; - - return ( -
- {isLoading &&
Loading...
} - {!isLoading && ( -
-
-
Playpoint Pre-Sale
-
- -
-
- -
-
- handleAmountChange(e)} - /> - -
-
- Market Price: ${avaxMarketPrice} - Balance: {balance.toFixed(2)} -
-
- -
- -
- -
-
- - -
-
- Market Price: $0.015 -
-
- -
- {!isWalletConnected && ( - - )} - {isWalletConnected && ( - - )} -
-
- )} -
- ); -} diff --git a/src/Components/Swap/styles/style.css b/src/Components/Swap/styles/style.css deleted file mode 100644 index 98f3097..0000000 --- a/src/Components/Swap/styles/style.css +++ /dev/null @@ -1,198 +0,0 @@ -.swap__container { - position: absolute; - top: 50%; - left: 50%; - -webkit-transform: translate3d(-50%, -50%, 0); - transform: translate3d(-50%, -50%, 0); - background-color: white; - color: #000; - width: 30vw; - -webkit-backdrop-filter: blur(3px); - backdrop-filter: blur(3px); - padding: 25px 35px; - border-radius: 16px; -} -@media (max-width: 768px) { - .swap__container { - width: 75vw; - } -} -.swap__container .title { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - font-weight: 600; - position: relative; - font-size: 1.2em; -} -.swap__container .title div .MuiButton-root { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - gap: 5px; - text-align: center; - padding: 0 !important; - color: #000; - min-width: none !important; - text-transform: capitalize; - font-size: 17px; -} -@media (max-width: 768px) { - .swap__container .title div .MuiButton-root { - font-size: 14px; - } -} -.swap__container .title div i { - font-weight: 500; - font-size: 19px; - color: #000; -} -@media (max-width: 768px) { - .swap__container .title div i { - font-size: 14px; - } -} -.swap__container .down__container { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; -} -.swap__container .down__container i { - background: #627eea; - padding: 10px; - border-radius: 50%; - color: #fff; - font-size: 18px; - font-weight: bold; -} -@media (max-width: 768px) { - .swap__container .down__container i { - font-size: 16px; - } -} -.swap__container .form__container { - background: #edeef2; - margin: 20px 0; - padding: 15px; - border-radius: 16px; -} -.swap__container .form__container .to, -.swap__container .form__container .from { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; -} -.swap__container .form__container .to input, -.swap__container .form__container .from input { - width: 70%; - padding: 3px 10px; - font-size: 23px; - font-weight: 600; - color: #000; - border: none; - background: transparent; -} -@media (max-width: 768px) { - .swap__container .form__container .to input, -.swap__container .form__container .from input { - font-size: 20px; - } -} -.swap__container .form__container .to input:focus, -.swap__container .form__container .from input:focus { - outline: none; -} -.swap__container .form__container .to .MuiButton-root, -.swap__container .form__container .from .MuiButton-root { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-align: center; - align-items: center; - gap: 8px; - font-size: 14px; - background: #edeef2; - border-radius: 16px; - -webkit-box-shadow: rgba(0, 0, 0, 0.08) 0px 6px 10px; - box-shadow: rgba(0, 0, 0, 0.08) 0px 6px 10px; - -webkit-box-align: center; - align-items: center; - background-color: white; - box-shadow: rgba(0, 0, 0, 0.08) 0px 6px 10px; - color: black; - cursor: pointer; - border-radius: 16px; - outline: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - visibility: visible; -} -.swap__container .form__container .to .MuiButton-root img, -.swap__container .form__container .from .MuiButton-root img { - width: 25px; - height: 25px; -} -@media (max-width: 768px) { - .swap__container .form__container .to .MuiButton-root, -.swap__container .form__container .from .MuiButton-root { - font-size: 14px; - padding: 5px 15px; - } -} -.swap__container .form__container .price { - margin-top: 10px; - font-size: 15px; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; -} -.swap__container .swapButton .MuiButton-root { - width: 100%; - background: #627eea; - color: #fff; - text-transform: capitalize; - padding: 10px 0; - font-size: 18px; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - gap: 5px; - border-radius: 16px; -} -@media (max-width: 768px) { - .swap__container .swapButton .MuiButton-root { - font-size: 16px; - } -} \ No newline at end of file diff --git a/src/Components/Swap/styles/style.scss b/src/Components/Swap/styles/style.scss deleted file mode 100644 index ec409fa..0000000 --- a/src/Components/Swap/styles/style.scss +++ /dev/null @@ -1,160 +0,0 @@ -.swap__container { - position: absolute; - top: 50%; - left: 50%; - transform: translate3d(-50%, -50%, 0); - background-color: rgba(255, 255, 255, 1); - color: #000; - width: 30vw; - backdrop-filter: blur(3px); - padding: 25px 35px; - border-radius: 16px; - - @media (max-width: 768px) { - width: 75vw; - } - - .title { - display: flex; - align-items: center; - justify-content: space-between; - font-weight: 600; - position: relative; - font-size: 1.2em; - - div { - .MuiButton-root { - display: flex; - align-items: center; - gap: 5px; - text-align: center; - padding: 0 !important; - color: #000; - min-width: none !important; - text-transform: capitalize; - font-size: 17px; - - @media (max-width: 768px) { - font-size: 14px; - } - } - - i { - font-weight: 500; - font-size: 19px; - color: #000; - @media (max-width: 768px) { - font-size: 14px; - } - } - } - } - - .down__container { - display: flex; - align-items: center; - justify-content: center; - - i { - background: #627eea; - padding: 10px; - border-radius: 50%; - color: #fff; - font-size: 18px; - font-weight: bold; - - @media (max-width: 768px) { - font-size: 16px; - } - } - } - - .form__container { - background: rgb(237, 238, 242); - margin: 20px 0; - padding: 15px; - border-radius: 16px; - - .to, - .from { - display: flex; - align-items: center; - justify-content: space-between; - - input { - width: 70%; - padding: 3px 10px; - font-size: 23px; - font-weight: 600; - color: #000; - border: none; - background: transparent; - - @media (max-width: 768px) { - font-size: 20px; - } - - &:focus { - outline: none; - } - } - - .MuiButton-root { - display: flex; - align-items: center; - gap: 8px; - font-size: 14px; - background: rgb(237, 238, 242); - border-radius: 16px; - box-shadow: rgb(0 0 0 / 8%) 0px 6px 10px; - -webkit-box-align: center; - align-items: center; - background-color: rgb(255, 255, 255); - box-shadow: rgb(0 0 0 / 8%) 0px 6px 10px; - color: rgb(0, 0, 0); - cursor: pointer; - border-radius: 16px; - outline: none; - user-select: none; - visibility: visible; - - img { - width: 25px; - height: 25px; - } - - @media (max-width: 768px) { - font-size: 14px; - padding: 5px 15px; - } - } - } - - .price { - margin-top: 10px; - font-size: 15px; - display: flex; - align-items: center; - justify-content: space-between; - } - } - - .swapButton { - .MuiButton-root { - width: 100%; - background: #627eea; - color: #fff; - text-transform: capitalize; - padding: 10px 0; - font-size: 18px; - display: flex; - align-items: center; - gap: 5px; - border-radius: 16px; - - @media (max-width: 768px) { - font-size: 16px; - } - } - } - } \ No newline at end of file diff --git a/src/Context/DataLayer.js b/src/Context/DataLayer.js deleted file mode 100644 index 0a55d2e..0000000 --- a/src/Context/DataLayer.js +++ /dev/null @@ -1,19 +0,0 @@ -import React from 'react' -import { reducer, initialState } from './Reducer'; - -const DataContext = React.createContext(); - -export default function DataLayer({ children }) { - const [state, dispatch] = React.useReducer(reducer, initialState); - - return ( - - {children} - - ) -} - -export const useDataLayer = () => { - const [data, dispatch] = React.useContext(DataContext); - return [data, dispatch]; -} \ No newline at end of file diff --git a/src/Context/Reducer.js b/src/Context/Reducer.js deleted file mode 100644 index 40585f2..0000000 --- a/src/Context/Reducer.js +++ /dev/null @@ -1,41 +0,0 @@ -export const initialState = { - isWalletConnected: false, - account: "", - provider: null, - signer: null, - balance: 0, - avaxMarketPrice: 0, - contract: null -}; - -export const reducer = (state, action) => { - switch (action.type) { - case "SET_WALLET_CONNECTED": - return { - ...state, - isWalletConnected: action?.payload?.isWalletConnected, - account: action?.payload?.account, - provider: action?.payload?.provider, - signer: action?.payload?.signer, - balance: action?.payload?.balance, - }; - - case "DISCONNECT_WALLET": - return { - ...state, - ...initialState, - }; - - case "SET_MARKET_PRICE": - return { - ...state, - avaxMarketPrice: action?.payload?.avaxMarketPrice, - }; - - case "SWAP_AMOUNT": - - - default: - return state; - } -}; diff --git a/src/Helpers/ContractABI.json b/src/Helpers/ContractABI.json deleted file mode 100644 index e94cdfc..0000000 --- a/src/Helpers/ContractABI.json +++ /dev/null @@ -1,101 +0,0 @@ -[ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "PlaypointReserveWallet", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "fundUtilization", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_totalTokenToReceive", - "type": "uint256" - } - ], - "name": "invest", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "records", - "outputs": [ - { - "internalType": "uint256", - "name": "investedAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalTokenToReceive", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalRecords", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalReveneue", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } -] \ No newline at end of file diff --git a/src/Helpers/Networks.json b/src/Helpers/Networks.json deleted file mode 100644 index f1b3e80..0000000 --- a/src/Helpers/Networks.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "avalancheCChain": { - "chainId": "0xA86A", - "nativeCurrency": { - "name": "Avalanche", - "symbol": "AVAX", - "decimals": 18 - }, - "chainName": "Avalanche Mainnet C-Chain", - "rpcUrls": [ - "https://api.avax.network/ext/bc/C/rpc" - ], - "blockExplorerUrls": [ - "https://snowtrace.io/" - ] - }, - "avalancheFujiTestNet": { - "chainId": "0xA869", - "chainName": "Avalanche Testnet C-Chain", - "nativeCurrency": { - "name": "Avalanche", - "symbol": "AVAX", - "decimals": 18 - }, - "rpcUrls": [ - "https://api.avax-test.network/ext/bc/C/rpc" - ], - "blockExplorerUrls": [ - "https://testnet.snowtrace.io/" - ] - } -} \ No newline at end of file diff --git a/src/Utils/ConnectWallet.js b/src/Utils/ConnectWallet.js deleted file mode 100644 index 68b8c04..0000000 --- a/src/Utils/ConnectWallet.js +++ /dev/null @@ -1,102 +0,0 @@ -import { ethers } from "ethers"; - -export const ConnectWallet = async (dispatch) => { - /** - * @dev Avalanche Network - */ - if (typeof window.ethereum !== "undefined") { - const { ethereum } = window; - - try { - await ethereum.request({ - method: "wallet_switchEthereumChain", - params: [{ chainId: "0xA86A" }], - // params: [{ chainId: "0xA869" }], - }); - - const accounts = await ethereum.request({ - method: "eth_requestAccounts", - }); - - const provider = new ethers.providers.Web3Provider(window.ethereum); - const signer = provider.getSigner(); - - if (provider !== null) { - const balance = await provider.getBalance(accounts[0]); - - dispatch({ - type: "SET_WALLET_CONNECTED", - payload: { - isWalletConnected: true, - account: accounts[0], - provider, - signer, - balance: parseInt(balance._hex, 16) / 10 ** 18, - }, - }); - } - } catch (switchError) { - /** - * @dev This error code 4902 indicates that the chain - * has not been added to MetaMask. - * */ - if (switchError.code === 4902) - try { - await ethereum.request({ - method: "wallet_addEthereumChain", - params: [ - { - chainId: "0xA86A", - nativeCurrency: { - name: "Avalanche", - symbol: "AVAX", - decimals: 18, - }, - chainName: "Avalanche Mainnet C-Chain", - rpcUrls: ["https://api.avax.network/ext/bc/C/rpc"], - blockExplorerUrls: ["https://snowtrace.io/"], - }, - // { - // chainId: "0xA869", - // chainName: "Avalanche Testnet C-Chain", - // nativeCurrency: { - // name: "Avalanche", - // symbol: "AVAX", - // decimals: 18, - // }, - // rpcUrls: ["https://api.avax-test.network/ext/bc/C/rpc"], - // blockExplorerUrls: ["https://testnet.snowtrace.io/"], - // }, - ], - }); - - const accounts = await ethereum.request({ - method: "eth_requestAccounts", - }); - - const provider = new ethers.providers.Web3Provider(window.ethereum); - const signer = provider.getSigner(); - - if (provider !== null) { - const balance = await provider.getBalance(accounts[0]); - - dispatch({ - type: "SET_WALLET_CONNECTED", - payload: { - isWalletConnected: true, - account: accounts[0], - provider, - signer, - balance: parseInt(balance._hex, 16) / 10 ** 18, - }, - }); - } - } catch (error) { - throw new Error({ - error, - msg: "Error while adding Avalanche C-Chain to MetaMask!", - }); - } - } - } else window.alert({ msg: "Metamask not found!" }); -}; diff --git a/src/index.css b/src/index.css new file mode 100644 index 0000000..0b99f3b --- /dev/null +++ b/src/index.css @@ -0,0 +1,12 @@ +@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700;900&display=swap'); + +*{ + margin: 0; + padding: 0; + box-sizing: border-box; + font-family: 'Roboto', sans-serif; +} + +body{ + background: #181A25; +} \ No newline at end of file diff --git a/src/index.js b/src/index.js deleted file mode 100644 index abb2ded..0000000 --- a/src/index.js +++ /dev/null @@ -1,17 +0,0 @@ -import React from "react"; -import ReactDOM from "react-dom/client"; -import 'remixicon/fonts/remixicon.css' -import App from "./App"; -import DataLayer from "./Context/DataLayer"; -import { ToastContainer } from 'react-toastify'; - import 'react-toastify/dist/ReactToastify.css'; - -const root = ReactDOM.createRoot(document.getElementById("root")); -root.render( - - - - - - -); diff --git a/src/main.jsx b/src/main.jsx new file mode 100644 index 0000000..0492cce --- /dev/null +++ b/src/main.jsx @@ -0,0 +1,11 @@ +import React from 'react' +import ReactDOM from 'react-dom/client' +import App from './App' +import 'remixicon/fonts/remixicon.css' +import './index.css' + +ReactDOM.createRoot(document.getElementById('root')).render( + + + +) diff --git a/src/prepros.config b/src/prepros.config deleted file mode 100644 index d61acd1..0000000 --- a/src/prepros.config +++ /dev/null @@ -1,938 +0,0 @@ -{ - "version": "7", - "about": "This is a Prepros (https://prepros.io) configuration file. You can commit this file to a git repo to backup and sync project configurations.", - "config": { - "proxy": { - "enable": false, - "target": "", - "useLocalAssets": false - }, - "reload": { - "enable": true, - "delay": 0, - "animate": true, - "afterUpload": false - }, - "sync": { - "enable": false, - "mouse": true, - "keyboard": true, - "form": true, - "scroll": true - }, - "watcher": { - "enable": true, - "maxFiles": 2000, - "usePolling": false, - "pollingInterval": 500, - "extensions": [ - ".html", - ".htm", - ".php" - ], - "ignore": { - "patterns": [ - ".*", - "wp-admin", - "wp-includes", - "node_modules", - "Prepros Export", - "bower_components" - ], - "exceptions": [] - } - }, - "exporter": { - "ignore": { - "patterns": [ - ".*", - "desktop.ini", - "prepros.cfg", - "node_modules", - "Prepros Export", - "prepros.config", - "prepros-6.config", - "*-original.jpg", - "*-original.jpeg", - "*-original.png", - "*-original.svg", - "*.scss", - "*.sass", - "*.less", - "*.pug", - "*.jade", - "*.styl", - "*.haml", - "*.slim", - "*.coffee", - "*.kit", - "*.turf", - "*.ts" - ], - "exceptions": [] - } - }, - "uploader": { - "remotePath": "", - "timeout": 20000, - "autoUpload": false, - "reuseConnection": true, - "connectionType": "ftp", - "history": [] - }, - "packages": { - "createPackageLock": true - }, - "images": { - "preserveOriginal": true - }, - "tasks": { - "autoprefixer": { - "cascade": true, - "add": true, - "remove": true, - "supports": true, - "flexbox": true, - "grid": "autoplace", - "browsers": [ - "last 2 versions" - ], - "sourceMap": false - }, - "babel": { - "sourceMap": false, - "presets": { - "@babel/preset-env": { - "enable": true, - "options": { - "targets": [ - "last 2 versions" - ], - "preserveImports": false, - "polyfills": false - } - }, - "@babel/preset-react": true, - "@babel/preset-flow": false - }, - "plugins": { - "@babel/plugin-proposal-class-static-block": false, - "@babel/plugin-proposal-class-properties": false, - "@babel/plugin-proposal-decorators": { - "enable": false, - "options": { - "decoratorsBeforeExport": true - } - }, - "@babel/plugin-proposal-export-namespace-from": false, - "@babel/plugin-proposal-function-sent": false, - "@babel/plugin-proposal-logical-assignment-operators": false, - "@babel/plugin-proposal-nullish-coalescing-operator": false, - "@babel/plugin-proposal-numeric-separator": false, - "@babel/plugin-proposal-optional-chaining": false, - "@babel/plugin-proposal-private-methods": false, - "@babel/plugin-proposal-throw-expressions": false - }, - "customPresets": [], - "customPlugins": [] - }, - "bundle-js": { - "sourceMap": false, - "exclude": [ - "node_modules", - "bower_components" - ], - "devMode": true, - "globals": [], - "externals": [], - "babel": { - "enable": true, - "options": { - "sourceMap": false, - "presets": { - "@babel/preset-env": { - "enable": true, - "options": { - "targets": [ - "last 2 versions" - ], - "preserveImports": false, - "polyfills": false - } - }, - "@babel/preset-react": true, - "@babel/preset-flow": false - }, - "plugins": { - "@babel/plugin-proposal-class-static-block": false, - "@babel/plugin-proposal-class-properties": false, - "@babel/plugin-proposal-decorators": { - "enable": false, - "options": { - "decoratorsBeforeExport": true - } - }, - "@babel/plugin-proposal-export-namespace-from": false, - "@babel/plugin-proposal-function-sent": false, - "@babel/plugin-proposal-logical-assignment-operators": false, - "@babel/plugin-proposal-nullish-coalescing-operator": false, - "@babel/plugin-proposal-numeric-separator": false, - "@babel/plugin-proposal-optional-chaining": false, - "@babel/plugin-proposal-private-methods": false, - "@babel/plugin-proposal-throw-expressions": false - }, - "customPresets": [], - "customPlugins": [] - } - }, - "css": { - "enable": true - }, - "fonts": { - "enable": true - } - }, - "coffeescript": { - "header": false, - "bare": false, - "sourceMap": false - }, - "command": { - "command": "", - "rootDir": "" - }, - "concat-js": { - "sourceMap": false, - "rootDir": "" - }, - "copy": { - "sourceMap": false - }, - "dart-sass": { - "indentType": "space", - "allowWildcardImports": false, - "indentWidth": 2, - "linefeed": "lf", - "sourceMap": false - }, - "haml": { - "doubleQuoteAttributes": true - }, - "jpg": { - "quality": 90 - }, - "less": { - "javascriptEnabled": false, - "strictImports": false, - "insecure": false, - "math": "always", - "strictUnits": false, - "dumpLineNumbers": false, - "sourceMap": false - }, - "markdown": { - "githubFlavored": true, - "wrapWithHtml": false - }, - "minify-css": { - "sourceMap": false - }, - "minify-html": { - "caseSensitive": false, - "collapseBooleanAttributes": true, - "collapseInlineTagWhitespace": false, - "collapseWhitespace": true, - "conservativeCollapse": false, - "decodeEntities": false, - "html5": true, - "includeAutoGeneratedTags": true, - "keepClosingSlash": false, - "minifyCSS": true, - "minifyJS": true, - "preserveLineBreaks": false, - "preventAttributesEscaping": false, - "processConditionalComments": false, - "removeAttributeQuotes": false, - "removeComments": true, - "removeEmptyAttributes": false, - "removeEmptyElement": false, - "removeOptionalTags": false, - "removeRedundantAttributes": false, - "removeScriptTypeAttributes": false, - "removeStyleLinkTypeAttributes": false, - "removeTagWhitespace": false, - "sortAttributes": false, - "sortClassName": false, - "useShortDoctype": true - }, - "minify-js": { - "parse": { - "bare_returns": false - }, - "compress": { - "arrows": true, - "arguments": false, - "booleans": true, - "booleans_as_integers": false, - "collapse_vars": true, - "comparisons": true, - "computed_props": true, - "conditionals": true, - "dead_code": true, - "directives": true, - "drop_console": false, - "drop_debugger": true, - "evaluate": true, - "expression": false, - "global_defs": [], - "hoist_funs": false, - "hoist_props": true, - "hoist_vars": false, - "if_return": true, - "inline": 3, - "join_vars": true, - "keep_fargs": true, - "keep_infinity": false, - "loops": true, - "negate_iife": true, - "properties": true, - "pure_funcs": [], - "pure_getters": false, - "reduce_funcs": true, - "reduce_vars": true, - "sequences": true, - "side_effects": true, - "switches": true, - "top_retain": [], - "typeofs": true, - "unsafe": false, - "unsafe_arrows": false, - "unsafe_comps": false, - "unsafe_Function": false, - "unsafe_math": false, - "unsafe_proto": false, - "unsafe_regexp": false, - "unsafe_undefined": false, - "unused": true - }, - "mangle": { - "eval": false, - "reserved": [] - }, - "output": { - "ascii_only": false, - "braces": false, - "comments": "none", - "inline_script": true, - "keep_numbers": false, - "keep_quoted_props": false, - "preamble": null, - "quote_keys": false, - "quote_style": 0, - "semicolons": true, - "shebang": true, - "webkit": false, - "wrap_iife": false, - "wrap_func_args": true - }, - "sourceMap": false, - "toplevel": false, - "ie8": false, - "keep_classnames": false, - "keep_fnames": false, - "safari10": false - }, - "node-sass": { - "indentType": "space", - "allowWildcardImports": false, - "indentWidth": 2, - "linefeed": "lf", - "outputStyle": "expanded", - "precision": 10, - "sourceMap": false, - "sourceComments": false - }, - "png": { - "quality": 90 - }, - "postcss-import": { - "ignoreKeywords": [], - "sourceMap": false - }, - "postcss-preset-env": { - "stage": 2, - "browsers": [ - "last 2 versions" - ], - "sourceMap": false - }, - "pug": { - "pretty": true - }, - "slim": { - "indent": "space", - "indentSize": 2, - "pretty": true - }, - "stylus": { - "useNib": true, - "sourceMap": false, - "linenos": false - }, - "svg": { - "cleanupAttrs": true, - "removeDoctype": true, - "removeXMLProcInst": true, - "removeComments": true, - "removeMetadata": true, - "removeTitle": true, - "removeDesc": true, - "removeUselessDefs": true, - "removeEditorsNSData": true, - "removeEmptyAttrs": true, - "removeHiddenElems": true, - "removeEmptyText": true, - "removeEmptyContainers": true, - "removeViewBox": false, - "cleanupEnableBackground": true, - "convertStyleToAttrs": true, - "convertColors": true, - "convertPathData": true, - "convertTransform": true, - "removeUnknownsAndDefaults": true, - "removeNonInheritableGroupAttrs": true, - "removeUselessStrokeAndFill": true, - "removeUnusedNS": true, - "cleanupIDs": true, - "cleanupNumericValues": true, - "moveElemsAttrsToGroup": true, - "moveGroupAttrsToElems": true, - "collapseGroups": true, - "removeRasterImages": false, - "mergePaths": true, - "convertShapeToPath": true, - "sortAttrs": true, - "removeDimensions": true - }, - "turf": { - "rootDir": "" - }, - "typescript": { - "allowJs": false, - "allowSyntheticDefaultImports": true, - "allowUmdGlobalAccess": false, - "allowUnreachableCode": false, - "allowUnusedLabels": false, - "alwaysStrict": false, - "charset": "utf8", - "checkJs": false, - "declaration": false, - "disableSizeLimit": false, - "downlevelIteration": false, - "emitBOM": false, - "emitDecoratorMetadata": false, - "experimentalDecorators": false, - "forceConsistentCasingInFileNames": false, - "importHelpers": false, - "jsx": "React", - "keyofStringsOnly": false, - "lib": [], - "maxNodeModuleJsDepth": 0, - "module": "ES2015", - "moduleResolution": "NodeJs", - "newLine": "LineFeed", - "noFallthroughCasesInSwitch": false, - "noImplicitAny": false, - "noImplicitReturns": false, - "noImplicitThis": false, - "noStrictGenericChecks": false, - "noUnusedLocals": false, - "noUnusedParameters": false, - "noImplicitUseStrict": false, - "noLib": false, - "noResolve": false, - "preserveConstEnums": false, - "jsxFactory": "React.createElement", - "removeComments": false, - "skipLibCheck": false, - "sourceMap": false, - "strict": false, - "strictFunctionTypes": false, - "strictBindCallApply": false, - "strictNullChecks": false, - "strictPropertyInitialization": false, - "suppressExcessPropertyErrors": false, - "suppressImplicitAnyIndexErrors": false, - "target": "ES3", - "resolveJsonModule": false, - "esModuleInterop": false, - "useDefineForClassFields": false - } - }, - "fileTypes": { - "sass": { - "extensions": [ - ".scss", - ".sass" - ], - "autoCompile": true, - "sourceMap": false, - "tasks": [ - { - "task": "dart-sass", - "enable": true - }, - { - "task": "autoprefixer", - "enable": true - }, - { - "task": "minify-css", - "enable": false - } - ], - "output": { - "extension": ".css", - "type": "REPLACE_SEGMENTS", - "segments": [ - { - "segment": "scss", - "replaceWith": "css" - }, - { - "segment": "sass", - "replaceWith": "css" - } - ] - } - }, - "less": { - "extensions": [ - ".less" - ], - "autoCompile": true, - "sourceMap": false, - "tasks": [ - { - "task": "less", - "enable": true - }, - { - "task": "autoprefixer", - "enable": true - }, - { - "task": "minify-css", - "enable": false - } - ], - "output": { - "extension": ".css", - "type": "REPLACE_SEGMENTS", - "segments": [ - { - "segment": "less", - "replaceWith": "css" - } - ] - } - }, - "pug": { - "extensions": [ - ".pug", - ".jade" - ], - "autoCompile": true, - "tasks": [ - { - "task": "pug", - "enable": true - }, - { - "task": "minify-html", - "enable": false - } - ], - "output": { - "extension": ".html", - "type": "REPLACE_SEGMENTS", - "segments": [ - { - "segment": "pug", - "replaceWith": "html" - } - ] - } - }, - "css": { - "extensions": [ - ".css" - ], - "autoCompile": false, - "sourceMap": false, - "tasks": [ - { - "task": "copy", - "enable": true - }, - { - "task": "postcss-import", - "enable": false - }, - { - "task": "postcss-preset-env", - "enable": false - }, - { - "task": "autoprefixer", - "enable": true - }, - { - "task": "minify-css", - "enable": true - } - ], - "output": { - "extension": ".css", - "type": "SOURCE_RELATIVE", - "relativePath": "", - "suffix": "-dist", - "alwaysSuffix": false - } - }, - "javascript": { - "extensions": [ - ".js", - ".jsx" - ], - "autoCompile": false, - "sourceMap": false, - "tasks": [ - { - "task": "copy", - "enable": true - }, - { - "task": "concat-js", - "enable": false - }, - { - "task": "babel", - "enable": false - }, - { - "task": "bundle-js", - "enable": false - }, - { - "task": "minify-js", - "enable": true - } - ], - "output": { - "extension": ".js", - "type": "SOURCE_RELATIVE", - "relativePath": "", - "suffix": "-dist", - "alwaysSuffix": false - } - }, - "stylus": { - "extensions": [ - ".styl" - ], - "autoCompile": true, - "sourceMap": false, - "tasks": [ - { - "task": "stylus", - "enable": true - }, - { - "task": "autoprefixer", - "enable": true - }, - { - "task": "minify-css", - "enable": false - } - ], - "output": { - "extension": ".css", - "type": "REPLACE_SEGMENTS", - "segments": [ - { - "segment": "stylus", - "replaceWith": "css" - }, - { - "segment": "styl", - "replaceWith": "css" - } - ] - } - }, - "markdown": { - "extensions": [ - ".md", - ".markdown", - ".mkd" - ], - "autoCompile": false, - "tasks": [ - { - "task": "markdown", - "enable": true - }, - { - "task": "minify-html", - "enable": false - } - ], - "output": { - "extension": ".html", - "type": "REPLACE_SEGMENTS", - "segments": [ - { - "segment": "markdown", - "replaceWith": "html" - } - ] - } - }, - "haml": { - "extensions": [ - ".haml" - ], - "autoCompile": true, - "tasks": [ - { - "task": "haml", - "enable": true - }, - { - "task": "minify-html", - "enable": false - } - ], - "output": { - "extension": ".html", - "type": "REPLACE_SEGMENTS", - "segments": [ - { - "segment": "haml", - "replaceWith": "html" - } - ] - } - }, - "slim": { - "extensions": [ - ".slim" - ], - "autoCompile": true, - "tasks": [ - { - "task": "slim", - "enable": true - }, - { - "task": "minify-html", - "enable": false - } - ], - "output": { - "extension": ".html", - "type": "REPLACE_SEGMENTS", - "segments": [ - { - "segment": "slim", - "replaceWith": "html" - } - ] - } - }, - "coffeescript": { - "extensions": [ - ".coffee" - ], - "autoCompile": true, - "sourceMap": false, - "tasks": [ - { - "task": "coffeescript", - "enable": true - }, - { - "task": "babel", - "enable": false - }, - { - "task": "bundle-js", - "enable": false - }, - { - "task": "minify-js", - "enable": false - } - ], - "output": { - "extension": ".js", - "type": "REPLACE_SEGMENTS", - "segments": [ - { - "segment": "coffee-script", - "replaceWith": "js" - }, - { - "segment": "coffeescript", - "replaceWith": "js" - }, - { - "segment": "coffee", - "replaceWith": "js" - } - ] - } - }, - "turf": { - "extensions": [ - ".turf", - ".kit" - ], - "autoCompile": true, - "tasks": [ - { - "task": "turf", - "enable": true - }, - { - "task": "minify-html", - "enable": false - } - ], - "output": { - "extension": ".html", - "type": "REPLACE_SEGMENTS", - "segments": [ - { - "segment": "turf", - "replaceWith": "html" - } - ] - } - }, - "typescript": { - "extensions": [ - ".ts", - ".tsx" - ], - "autoCompile": true, - "sourceMap": false, - "tasks": [ - { - "task": "typescript", - "enable": true - }, - { - "task": "babel", - "enable": false - }, - { - "task": "bundle-js", - "enable": false - }, - { - "task": "minify-js", - "enable": false - } - ], - "output": { - "extension": ".js", - "type": "REPLACE_SEGMENTS", - "segments": [ - { - "segment": "typescript", - "replaceWith": "js" - }, - { - "segment": "ts", - "replaceWith": "js" - } - ] - } - }, - "jpg": { - "extensions": [ - ".jpg", - ".jpeg" - ], - "tasks": [ - { - "task": "jpg", - "enable": true - } - ], - "output": { - "extension": ".jpg", - "type": "SOURCE_RELATIVE", - "relativePath": "" - } - }, - "png": { - "extensions": [ - ".png" - ], - "tasks": [ - { - "task": "png", - "enable": true - } - ], - "output": { - "extension": ".png", - "type": "SOURCE_RELATIVE", - "relativePath": "" - } - }, - "svg": { - "extensions": [ - ".svg" - ], - "tasks": [ - { - "task": "svg", - "enable": true - } - ], - "output": { - "extension": ".svg", - "type": "SOURCE_RELATIVE", - "relativePath": "" - } - } - }, - "files": [ - { - "file": "Components/Networks/styles/style.scss", - "config": { - "tasks": { - "minify-css": { - "enable": true - } - } - } - }, - { - "file": "styles/App.scss", - "config": { - "tasks": { - "minify-css": { - "enable": true - } - } - } - } - ] - } -} diff --git a/src/styles/App.css b/src/styles/App.css deleted file mode 100644 index bd73b60..0000000 --- a/src/styles/App.css +++ /dev/null @@ -1 +0,0 @@ -@import url("https://fonts.googleapis.com/css2?family=Fira+Code:wght@300;400;500;600&display=swap");*{font-family:"Fira Code",monospace}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace}.app__container{background:url("https://ik.imagekit.io/pptai/Screen_Shot_2022-05-04_at_13.47.50_63_2N44eI.png?ik-sdk-version=javascript-1.4.3&updatedAt=1651651401243") no-repeat center center fixed;background-size:cover;-webkit-box-shadow:inset 0 0 0 2000px rgba(0,0,0,0.2);box-shadow:inset 0 0 0 2000px rgba(0,0,0,0.2);height:100vh;width:100vw;position:relative} \ No newline at end of file diff --git a/src/styles/App.scss b/src/styles/App.scss deleted file mode 100644 index fc374d1..0000000 --- a/src/styles/App.scss +++ /dev/null @@ -1,29 +0,0 @@ -@import url("https://fonts.googleapis.com/css2?family=Fira+Code:wght@300;400;500;600&display=swap"); - -* { - font-family: "Fira Code", monospace; -} - -body { - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", - "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", - sans-serif; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -code { - font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New", - monospace; -} - -.app__container { - background: url("https://ik.imagekit.io/pptai/Screen_Shot_2022-05-04_at_13.47.50_63_2N44eI.png?ik-sdk-version=javascript-1.4.3&updatedAt=1651651401243") - no-repeat center center fixed; - background-size: cover; - box-shadow: inset 0 0 0 2000px rgba(0, 0, 0, 0.2); - height: 100vh; - width: 100vw; - position: relative; -} diff --git a/src/styles/style.css b/src/styles/style.css new file mode 100644 index 0000000..fe9b34d --- /dev/null +++ b/src/styles/style.css @@ -0,0 +1,139 @@ +.app__container { + color: #fff; +} +.app__container .navbar__container { + padding: 15px 2vw; + display: flex; + align-items: center; + justify-content: space-between; + font-size: 16px; + font-weight: 500; +} +.app__container .navbar__container .navbar__left, .app__container .navbar__container .navbar__right { + display: flex; + align-items: center; + gap: 10px; +} +.app__container .navbar__container .navbar__left a, .app__container .navbar__container .navbar__right a { + font-size: 16px; + color: #98a1c0; + padding: 8px 16px; + text-decoration: none; + transition: 0.2s all ease-in-out; + border-radius: 12px; +} +.app__container .navbar__container .navbar__left a:hover, .app__container .navbar__container .navbar__right a:hover { + background: rgba(153, 161, 189, 0.0784313725); +} +.app__container .navbar__container .navbar__left img, .app__container .navbar__container .navbar__right img { + width: 48px; +} +.app__container .navbar__container .navbar__left .MuiButton-root, .app__container .navbar__container .navbar__right .MuiButton-root { + color: #98a1c0; + text-transform: capitalize; + font-size: 16px; + font-weight: 400; + border-radius: 16px; + padding: 8px 16px; + background: rgba(153, 161, 189, 0.0784313725); + display: flex; + align-items: center; + gap: 8px; +} +.app__container .navbar__container .navbar__left .MuiButton-root img, .app__container .navbar__container .navbar__right .MuiButton-root img { + width: 20px; +} +.app__container .navbar__container .navbar__left .MuiButton-root.walletBtn__container, .app__container .navbar__container .navbar__right .MuiButton-root.walletBtn__container { + background: rgba(76, 130, 251, 0.24); + color: rgb(76, 130, 251); +} +.app__container .swap__container { + padding: 20px; + width: 29vw; + border: 2px solid #313040; + background: #161922; + border-radius: 16px; + display: block; + margin: 120px auto; +} +.app__container .swap__container span { + color: #98a1c0; +} +.app__container .swap__container .swapTitle { + display: flex; + align-items: center; + justify-content: space-between; + font-size: 22px; +} +.app__container .swap__container .swapTitle .MuiButton-root { + min-width: 0; + padding: 3px 9px; + border-radius: 50%; + color: #fff; +} +.app__container .swap__container .swapTitle .MuiButton-root i { + font-size: 20px; +} +.app__container .swap__container .swapRate { + margin-top: 15px; + font-size: 24px; + display: flex; + align-items: center; + justify-content: space-between; + position: relative; + margin-bottom: 15px; +} +.app__container .swap__container .swapRate i { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} +.app__container .swap__container label { + color: #98a1c0; + font-weight: 500; + font-size: 16px; +} +.app__container .swap__container .swapInput { + margin-bottom: 15px; + margin-top: 8px; + display: flex; + align-items: center; + gap: 8px; + border: 2px solid #313040; + border-radius: 11px; + padding: 8px 12px; +} +.app__container .swap__container .swapInput input { + flex: 1; + font-size: 20px; + padding: 8px 3px; + border: none; + outline: none; + background: transparent; + color: #fff; +} +.app__container .swap__container .swapInput img { + width: 30px; + height: 30px; +} +.app__container .swap__container .exchangeBtn__container { + width: 100%; + padding: 12px 0; + background: #4c82fb; + color: #fff; + text-transform: capitalize; + font-size: 18px; + border-radius: 11px; +} +.app__container .footer__container { + text-align: center; + line-height: 1.75; + color: #98a1c0; +} +.app__container .footer__container a { + color: #fff; + text-decoration: none; + font-size: 16px; + font-weight: 500; +}/*# sourceMappingURL=style.css.map */ \ No newline at end of file diff --git a/src/styles/style.css.map b/src/styles/style.css.map new file mode 100644 index 0000000..f48a0e8 --- /dev/null +++ b/src/styles/style.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["style.scss","style.css"],"names":[],"mappings":"AAAA;EACE,WAAA;ACCF;ADCE;EACE,iBAAA;EACA,aAAA;EACA,mBAAA;EACA,8BAAA;EACA,eAAA;EACA,gBAAA;ACCJ;ADCI;EACI,aAAA;EACA,mBAAA;EACA,SAAA;ACCR;ADCQ;EACI,eAAA;EACA,cAAA;EACA,iBAAA;EACA,qBAAA;EACA,gCAAA;EACA,mBAAA;ACCZ;ADCY;EACI,6CAAA;ACChB;ADGQ;EACI,WAAA;ACDZ;ADIQ;EACI,cAAA;EACA,0BAAA;EACA,eAAA;EACA,gBAAA;EACA,mBAAA;EACA,iBAAA;EACA,6CAAA;EACA,aAAA;EACA,mBAAA;EACA,QAAA;ACFZ;ADIY;EACI,WAAA;ACFhB;ADKY;EACI,oCAAA;EACA,wBAAA;ACHhB;ADSE;EACE,aAAA;EACA,WAAA;EACA,yBAAA;EACA,mBAAA;EACA,mBAAA;EACA,cAAA;EACA,kBAAA;ACPJ;ADSI;EACE,cAAA;ACPN;ADUI;EACE,aAAA;EACA,mBAAA;EACA,8BAAA;EACA,eAAA;ACRN;ADUM;EACE,YAAA;EACA,gBAAA;EACA,kBAAA;EACA,WAAA;ACRR;ADUQ;EACE,eAAA;ACRV;ADaI;EACE,gBAAA;EACA,eAAA;EACA,aAAA;EACA,mBAAA;EACA,8BAAA;EACA,kBAAA;EACA,mBAAA;ACXN;ADaM;EACE,kBAAA;EACA,QAAA;EACA,SAAA;EACA,gCAAA;ACXR;ADeI;EACE,cAAA;EACA,gBAAA;EACA,eAAA;ACbN;ADgBI;EACE,mBAAA;EACA,eAAA;EACA,aAAA;EACA,mBAAA;EACA,QAAA;EACA,yBAAA;EACA,mBAAA;EACA,iBAAA;ACdN;ADgBM;EACE,OAAA;EACA,eAAA;EACA,gBAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;EACA,WAAA;ACdR;ADiBM;EACE,WAAA;EACA,YAAA;ACfR;ADmBI;EACE,WAAA;EACA,eAAA;EACA,mBAAA;EACA,WAAA;EACA,0BAAA;EACA,eAAA;EACA,mBAAA;ACjBN;ADqBE;EACE,kBAAA;EACA,iBAAA;EACA,cAAA;ACnBJ;ADqBI;EACI,WAAA;EACA,qBAAA;EACA,eAAA;EACA,gBAAA;ACnBR","file":"style.css"} \ No newline at end of file diff --git a/src/styles/style.scss b/src/styles/style.scss new file mode 100644 index 0000000..e800bcc --- /dev/null +++ b/src/styles/style.scss @@ -0,0 +1,161 @@ +.app__container { + color: #fff; + + .navbar__container{ + padding: 15px 2vw; + display: flex; + align-items: center; + justify-content: space-between; + font-size: 16px; + font-weight: 500; + + .navbar__left, .navbar__right{ + display: flex; + align-items: center; + gap: 10px; + + a{ + font-size: 16px; + color: #98a1c0; + padding: 8px 16px; + text-decoration: none; + transition: .2s all ease-in-out; + border-radius: 12px; + + &:hover{ + background:#99a1bd14; + } + } + + img{ + width: 48px; + } + + .MuiButton-root{ + color: #98a1c0; + text-transform: capitalize; + font-size: 16px; + font-weight: 400; + border-radius: 16px; + padding: 8px 16px; + background: #99a1bd14; + display: flex; + align-items: center; + gap: 8px; + + img{ + width: 20px; + } + + &.walletBtn__container{ + background: rgb(76, 130, 251, 0.24); + color: rgb(76, 130, 251); + } + } + } + } + + .swap__container { + padding: 20px; + width: 29vw; + border: 2px solid #313040; + background: #161922; + border-radius: 16px; + display: block; + margin: 120px auto; + + span { + color: #98a1c0; + } + + .swapTitle { + display: flex; + align-items: center; + justify-content: space-between; + font-size: 22px; + + .MuiButton-root { + min-width: 0; + padding: 3px 9px; + border-radius: 50%; + color: #fff; + + i { + font-size: 20px; + } + } + } + + .swapRate { + margin-top: 15px; + font-size: 24px; + display: flex; + align-items: center; + justify-content: space-between; + position: relative; + margin-bottom: 15px; + + i { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + } + } + + label { + color: #98a1c0; + font-weight: 500; + font-size: 16px; + } + + .swapInput { + margin-bottom: 15px; + margin-top: 8px; + display: flex; + align-items: center; + gap: 8px; + border: 2px solid #313040; + border-radius: 11px; + padding: 8px 12px; + + input { + flex: 1; + font-size: 20px; + padding: 8px 3px; + border: none; + outline: none; + background: transparent; + color: #fff; + } + + img { + width: 30px; + height: 30px; + } + } + + .exchangeBtn__container { + width: 100%; + padding: 12px 0; + background: #4c82fb; + color: #fff; + text-transform: capitalize; + font-size: 18px; + border-radius: 11px; + } + } + + .footer__container{ + text-align: center; + line-height: 1.75; + color: #98a1c0; + + a{ + color: #fff; + text-decoration: none; + font-size: 16px; + font-weight: 500; + } + } +} diff --git a/vite.config.js b/vite.config.js new file mode 100644 index 0000000..b1b5f91 --- /dev/null +++ b/vite.config.js @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react()] +}) diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..f9b4fe5 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,1126 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ampproject/remapping@^2.1.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" + integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== + dependencies: + "@jridgewell/gen-mapping" "^0.1.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" + integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== + dependencies: + "@babel/highlight" "^7.18.6" + +"@babel/compat-data@^7.20.0": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.5.tgz#86f172690b093373a933223b4745deeb6049e733" + integrity sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g== + +"@babel/core@^7.19.6": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.5.tgz#45e2114dc6cd4ab167f81daf7820e8fa1250d113" + integrity sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.20.5" + "@babel/helper-compilation-targets" "^7.20.0" + "@babel/helper-module-transforms" "^7.20.2" + "@babel/helpers" "^7.20.5" + "@babel/parser" "^7.20.5" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.20.5" + "@babel/types" "^7.20.5" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + +"@babel/generator@^7.20.5": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.5.tgz#cb25abee3178adf58d6814b68517c62bdbfdda95" + integrity sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA== + dependencies: + "@babel/types" "^7.20.5" + "@jridgewell/gen-mapping" "^0.3.2" + jsesc "^2.5.1" + +"@babel/helper-annotate-as-pure@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" + integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-compilation-targets@^7.20.0": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz#6bf5374d424e1b3922822f1d9bdaa43b1a139d0a" + integrity sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ== + dependencies: + "@babel/compat-data" "^7.20.0" + "@babel/helper-validator-option" "^7.18.6" + browserslist "^4.21.3" + semver "^6.3.0" + +"@babel/helper-environment-visitor@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" + integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== + +"@babel/helper-function-name@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c" + integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== + dependencies: + "@babel/template" "^7.18.10" + "@babel/types" "^7.19.0" + +"@babel/helper-hoist-variables@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" + integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== + dependencies: + "@babel/types" "^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== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-module-transforms@^7.20.2": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz#ac53da669501edd37e658602a21ba14c08748712" + integrity sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-simple-access" "^7.20.2" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/helper-validator-identifier" "^7.19.1" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.20.1" + "@babel/types" "^7.20.2" + +"@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.19.0": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" + integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== + +"@babel/helper-simple-access@^7.20.2": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" + integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== + dependencies: + "@babel/types" "^7.20.2" + +"@babel/helper-split-export-declaration@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" + integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-string-parser@^7.19.4": + version "7.19.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" + integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== + +"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" + integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== + +"@babel/helper-validator-option@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" + integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== + +"@babel/helpers@^7.20.5": + version "7.20.6" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.6.tgz#e64778046b70e04779dfbdf924e7ebb45992c763" + integrity sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w== + dependencies: + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.20.5" + "@babel/types" "^7.20.5" + +"@babel/highlight@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" + integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== + dependencies: + "@babel/helper-validator-identifier" "^7.18.6" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.18.10", "@babel/parser@^7.20.5": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.5.tgz#7f3c7335fe417665d929f34ae5dceae4c04015e8" + integrity sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA== + +"@babel/plugin-syntax-jsx@^7.17.12", "@babel/plugin-syntax-jsx@^7.18.6": + 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-transform-react-jsx-development@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz#dbe5c972811e49c7405b630e4d0d2e1380c0ddc5" + integrity sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA== + dependencies: + "@babel/plugin-transform-react-jsx" "^7.18.6" + +"@babel/plugin-transform-react-jsx-self@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.18.6.tgz#3849401bab7ae8ffa1e3e5687c94a753fc75bda7" + integrity sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-react-jsx-source@^7.19.6": + version "7.19.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz#88578ae8331e5887e8ce28e4c9dc83fb29da0b86" + integrity sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ== + dependencies: + "@babel/helper-plugin-utils" "^7.19.0" + +"@babel/plugin-transform-react-jsx@^7.18.6", "@babel/plugin-transform-react-jsx@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz#b3cbb7c3a00b92ec8ae1027910e331ba5c500eb9" + integrity sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-plugin-utils" "^7.19.0" + "@babel/plugin-syntax-jsx" "^7.18.6" + "@babel/types" "^7.19.0" + +"@babel/runtime@^7.12.5", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": + version "7.20.6" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.6.tgz#facf4879bfed9b5326326273a64220f099b0fce3" + integrity sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA== + dependencies: + regenerator-runtime "^0.13.11" + +"@babel/template@^7.18.10": + version "7.18.10" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" + integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/parser" "^7.18.10" + "@babel/types" "^7.18.10" + +"@babel/traverse@^7.20.1", "@babel/traverse@^7.20.5": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.5.tgz#78eb244bea8270fdda1ef9af22a5d5e5b7e57133" + integrity sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.20.5" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.20.5" + "@babel/types" "^7.20.5" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.5.tgz#e206ae370b5393d94dfd1d04cd687cace53efa84" + integrity sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg== + dependencies: + "@babel/helper-string-parser" "^7.19.4" + "@babel/helper-validator-identifier" "^7.19.1" + to-fast-properties "^2.0.0" + +"@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-arm@0.15.16": + version "0.15.16" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.16.tgz#0642926178b15e3d1545efae6eee05c4f3451d15" + integrity sha512-nyB6CH++2mSgx3GbnrJsZSxzne5K0HMyNIWafDHqYy7IwxFc4fd/CgHVZXr8Eh+Q3KbIAcAe3vGyqIPhGblvMQ== + +"@esbuild/linux-loong64@0.15.16": + version "0.15.16" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.16.tgz#284522de76abe951e4ed2bd24a467e8d49c67933" + integrity sha512-SDLfP1uoB0HZ14CdVYgagllgrG7Mdxhkt4jDJOKl/MldKrkQ6vDJMZKl2+5XsEY/Lzz37fjgLQoJBGuAw/x8kQ== + +"@jridgewell/gen-mapping@^0.1.0": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" + integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== + dependencies: + "@jridgewell/set-array" "^1.0.0" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/gen-mapping@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" + integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== + +"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.14" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== + +"@jridgewell/trace-mapping@^0.3.9": + version "0.3.17" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" + integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== + dependencies: + "@jridgewell/resolve-uri" "3.1.0" + "@jridgewell/sourcemap-codec" "1.4.14" + +"@mui/base@5.0.0-alpha.108": + version "5.0.0-alpha.108" + resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-alpha.108.tgz#4e4639ba6769dd178ef475dba4cc36bf8a3f1dc6" + integrity sha512-KjzRUts2i/ODlMfywhFTqTzQl+Cr9nlDSZxJcnYjrbOV/iRyQNBTDoiFJt+XEdRi0fZBHnk74AFbnP56ehybsA== + dependencies: + "@babel/runtime" "^7.20.1" + "@emotion/is-prop-valid" "^1.2.0" + "@mui/types" "^7.2.2" + "@mui/utils" "^5.10.16" + "@popperjs/core" "^2.11.6" + clsx "^1.2.1" + prop-types "^15.8.1" + react-is "^18.2.0" + +"@mui/core-downloads-tracker@^5.10.16": + version "5.10.16" + resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.10.16.tgz#4c2d36bcab58cb6250596b20601f499bfadc0642" + integrity sha512-eK9+olw2ZbXX+vGrtKnN01/vLP1aX0Lq0xok35bqWM1aB93Dcmky/xPNf8h31oJ/C+IzJBjZaZMEDzVZg4Qc0A== + +"@mui/material@^5.10.16": + version "5.10.16" + resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.10.16.tgz#4ad6e69d81f11487f502591d8d060143d2e89b97" + integrity sha512-JSHcDQQ+k30NKkCM/0KX6jq4F5LOrbFKZpS+cEl7scZWOCJpUPH5ccAT5a7O8wzrgNZ8Y9PnwzNvWBrfShpJFw== + dependencies: + "@babel/runtime" "^7.20.1" + "@mui/base" "5.0.0-alpha.108" + "@mui/core-downloads-tracker" "^5.10.16" + "@mui/system" "^5.10.16" + "@mui/types" "^7.2.2" + "@mui/utils" "^5.10.16" + "@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.10.16": + version "5.10.16" + resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.10.16.tgz#181ab7568a3cf0c6b12cc12f5a91aeb4509df1ce" + integrity sha512-0MArkJaOHRCKqL/GWjngGZmyOeRz+uxffhx82bKcewr8swqV7xx7EFP02pk0L/gLdfcvYdqwH4YTVjG/+TaKrg== + dependencies: + "@babel/runtime" "^7.20.1" + "@mui/utils" "^5.10.16" + prop-types "^15.8.1" + +"@mui/styled-engine@^5.10.16": + version "5.10.16" + resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.10.16.tgz#52a2d31e4012958d21c92b42acaca4c3e79841b4" + integrity sha512-ZMSjXvtiGwGDKqrSlXhpxK2voUaF2/lpC/pSTfFmZvKH9j9a9h1/iwo3ybgjFVYGgbfNeW4h0xEchiRohu9xsw== + dependencies: + "@babel/runtime" "^7.20.1" + "@emotion/cache" "^11.10.5" + csstype "^3.1.1" + prop-types "^15.8.1" + +"@mui/system@^5.10.16": + version "5.10.16" + resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.10.16.tgz#2b07d78eb5e337463045b81a59f718795807fdc7" + integrity sha512-OqI9B1jZ9zQ/dmoqseku4CzdEs9DbLiiMOaWxC3WeAJxM1UavlCgXz0encqm93LIlmSL7TjuHN1/rW8BJCnU8A== + dependencies: + "@babel/runtime" "^7.20.1" + "@mui/private-theming" "^5.10.16" + "@mui/styled-engine" "^5.10.16" + "@mui/types" "^7.2.2" + "@mui/utils" "^5.10.16" + clsx "^1.2.1" + csstype "^3.1.1" + prop-types "^15.8.1" + +"@mui/types@^7.2.2": + version "7.2.2" + resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.2.tgz#723f6d40c25c89c2e0352a7e51794e8eb77cdbe3" + integrity sha512-siex8cZDtWeC916cXOoUOnEQQejuMYmHtc4hM6VkKVYaBICz3VIiqyiAomRboTQHt2jchxQ5Q5ATlbcDekTxDA== + +"@mui/utils@^5.10.16": + version "5.10.16" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.10.16.tgz#7a981444855968ebdb1830d76e298d1ac47eaaf6" + integrity sha512-3MB/SGsgiiu9Z55CFmAfiONUoR7AAue/H4F6w3mc2LnhFQCsoVvXhioDPcsiRpUMIQr34jDPzGXdCuqWooPCXQ== + dependencies: + "@babel/runtime" "^7.20.1" + "@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" + +"@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== + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + +"@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== + +"@types/react-dom@^18.0.8": + version "18.0.9" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.9.tgz#ffee5e4bfc2a2f8774b15496474f8e7fe8d0b504" + integrity sha512-qnVvHxASt/H7i+XG1U1xMiY5t+IHcPGUK7TDMDzom08xa7e86eCeKOiLZezwCKVxJn6NEiiy2ekgX8aQssjIKg== + 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-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@*", "@types/react@^18.0.24": + version "18.0.25" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.25.tgz#8b1dcd7e56fe7315535a4af25435e0bb55c8ae44" + integrity sha512-xD6c0KDT4m7n9uD4ZHi02lzskaiqcBxf4zi+tXZY98a04wvc0hi/TcCPC2FOESZi51Nd7tlUeOJY8RofL799/g== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/scheduler@*": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" + integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== + +"@vitejs/plugin-react@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-2.2.0.tgz#1b9f63b8b6bc3f56258d20cd19b33f5cc761ce6e" + integrity sha512-FFpefhvExd1toVRlokZgxgy2JtnBOdp4ZDsq7ldCWaqGSGn9UhWMAVm/1lxPL14JfNS5yGz+s9yFrQY6shoStA== + dependencies: + "@babel/core" "^7.19.6" + "@babel/plugin-transform-react-jsx" "^7.19.0" + "@babel/plugin-transform-react-jsx-development" "^7.18.6" + "@babel/plugin-transform-react-jsx-self" "^7.18.6" + "@babel/plugin-transform-react-jsx-source" "^7.19.6" + magic-string "^0.26.7" + react-refresh "^0.14.0" + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +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" + +browserslist@^4.21.3: + version "4.21.4" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" + integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== + dependencies: + caniuse-lite "^1.0.30001400" + electron-to-chromium "^1.4.251" + node-releases "^2.0.6" + update-browserslist-db "^1.0.9" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +caniuse-lite@^1.0.30001400: + version "1.0.30001435" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001435.tgz#502c93dbd2f493bee73a408fe98e98fb1dad10b2" + integrity sha512-kdCkUTjR+v4YAJelyiDTqiu82BDr4W4CP5sgTA0ZBmqn30XfS2ZghPLMowik9TPhS+psWJiUNxsqLyurDbmutA== + +chalk@^2.0.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +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== + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +convert-source-map@^1.5.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== + +cosmiconfig@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +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== + +debug@^4.1.0: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +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" + +electron-to-chromium@^1.4.251: + version "1.4.284" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz#61046d1e4cab3a25238f6bf7413795270f125592" + integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +esbuild-android-64@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.16.tgz#0d6a16fa1bea441d5183976f1633183c25a764d5" + integrity sha512-Vwkv/sT0zMSgPSVO3Jlt1pUbnZuOgtOQJkJkyyJFAlLe7BiT8e9ESzo0zQSx4c3wW4T6kGChmKDPMbWTgtliQA== + +esbuild-android-arm64@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.16.tgz#78643bbbf396d26d20ba1f2fcdff3618c7c033e9" + integrity sha512-lqfKuofMExL5niNV3gnhMUYacSXfsvzTa/58sDlBET/hCOG99Zmeh+lz6kvdgvGOsImeo6J9SW21rFCogNPLxg== + +esbuild-darwin-64@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.16.tgz#de3e91809dcd1ffb64409e2f990bb86e33e4ffd8" + integrity sha512-wo2VWk/n/9V2TmqUZ/KpzRjCEcr00n7yahEdmtzlrfQ3lfMCf3Wa+0sqHAbjk3C6CKkR3WKK/whkMq5Gj4Da9g== + +esbuild-darwin-arm64@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.16.tgz#bc9cc8d51109d8e9db4ffe2c064dd53d1eb5a2a6" + integrity sha512-fMXaUr5ou0M4WnewBKsspMtX++C1yIa3nJ5R2LSbLCfJT3uFdcRoU/NZjoM4kOMKyOD9Sa/2vlgN8G07K3SJnw== + +esbuild-freebsd-64@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.16.tgz#f8c54c679c16e9b20a1bf860ca91ba700d6c9c5d" + integrity sha512-UzIc0xlRx5x9kRuMr+E3+hlSOxa/aRqfuMfiYBXu2jJ8Mzej4lGL7+o6F5hzhLqWfWm1GWHNakIdlqg1ayaTNQ== + +esbuild-freebsd-arm64@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.16.tgz#dd28a55df0f062e2c1628266008434c32ddc7adf" + integrity sha512-8xyiYuGc0DLZphFQIiYaLHlfoP+hAN9RHbE+Ibh8EUcDNHAqbQgUrQg7pE7Bo00rXmQ5Ap6KFgcR0b4ALZls1g== + +esbuild-linux-32@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.16.tgz#41eb0b9b49b3430b9cc4577f1ad3d414ef70f806" + integrity sha512-iGijUTV+0kIMyUVoynK0v+32Oi8yyp0xwMzX69GX+5+AniNy/C/AL1MjFTsozRp/3xQPl7jVux/PLe2ds10/2w== + +esbuild-linux-64@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.16.tgz#b2fb0c7d49b7a579b2de26fbf4c7afb1835f2073" + integrity sha512-tuSOjXdLw7VzaUj89fIdAaQT7zFGbKBcz4YxbWrOiXkwscYgE7HtTxUavreBbnRkGxKwr9iT/gmeJWNm4djy/g== + +esbuild-linux-arm64@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.16.tgz#78fed3745b20251fc3bdc8db35ea0781e9b0e7c6" + integrity sha512-mPYksnfHnemNrvjrDhZyixL/AfbJN0Xn9S34ZOHYdh6/jJcNd8iTsv3JwJoEvTJqjMggjMhGUPJAdjnFBHoH8A== + +esbuild-linux-arm@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.16.tgz#6963f061a2b778aad7df2bfb6fa32d1904313f7f" + integrity sha512-XKcrxCEXDTOuoRj5l12tJnkvuxXBMKwEC5j0JISw3ziLf0j4zIwXbKbTmUrKFWbo6ZgvNpa7Y5dnbsjVvH39bQ== + +esbuild-linux-mips64le@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.16.tgz#e2aed3527e551f8182c6b0fc8a045726fd98ad87" + integrity sha512-kSJO2PXaxfm0pWY39+YX+QtpFqyyrcp0ZeI8QPTrcFVQoWEPiPVtOfTZeS3ZKedfH+Ga38c4DSzmKMQJocQv6A== + +esbuild-linux-ppc64le@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.16.tgz#fa3095b24950f63408f46f34b6d9a073ed88d53f" + integrity sha512-NimPikwkBY0yGABw6SlhKrtT35sU4O23xkhlrTT/O6lSxv3Pm5iSc6OYaqVAHWkLdVf31bF4UDVFO+D990WpAA== + +esbuild-linux-riscv64@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.16.tgz#19c012dcc55c9d6d2a3855aa77c2c5217182cd1e" + integrity sha512-ty2YUHZlwFOwp7pR+J87M4CVrXJIf5ZZtU/umpxgVJBXvWjhziSLEQxvl30SYfUPq0nzeWKBGw5i/DieiHeKfw== + +esbuild-linux-s390x@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.16.tgz#aa61f64740e5b983cc3ebb4183a03df4b435a873" + integrity sha512-VkZaGssvPDQtx4fvVdZ9czezmyWyzpQhEbSNsHZZN0BHvxRLOYAQ7sjay8nMQwYswP6O2KlZluRMNPYefFRs+w== + +esbuild-netbsd-64@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.16.tgz#dffdc104c1f2bafc42be3faa21376c0a092f5702" + integrity sha512-ElQ9rhdY51et6MJTWrCPbqOd/YuPowD7Cxx3ee8wlmXQQVW7UvQI6nSprJ9uVFQISqSF5e5EWpwWqXZsECLvXg== + +esbuild-openbsd-64@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.16.tgz#e5987f8eda55ea5f6ef6258afb1a838158f890bb" + integrity sha512-KgxMHyxMCT+NdLQE1zVJEsLSt2QQBAvJfmUGDmgEq8Fvjrf6vSKB00dVHUEDKcJwMID6CdgCpvYNt999tIYhqA== + +esbuild-sunos-64@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.16.tgz#60a085aa4b74d900e4de8c00a9fce207937320a2" + integrity sha512-exSAx8Phj7QylXHlMfIyEfNrmqnLxFqLxdQF6MBHPdHAjT7fsKaX6XIJn+aQEFiOcE4X8e7VvdMCJ+WDZxjSRQ== + +esbuild-windows-32@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.16.tgz#24f94e5fb243d211c7db9a12985fd2880ba98ca3" + integrity sha512-zQgWpY5pUCSTOwqKQ6/vOCJfRssTvxFuEkpB4f2VUGPBpdddZfdj8hbZuFRdZRPIVHvN7juGcpgCA/XCF37mAQ== + +esbuild-windows-64@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.16.tgz#71d24d68d8b652bf5a93a6c7453c334584fa2211" + integrity sha512-HjW1hHRLSncnM3MBCP7iquatHVJq9l0S2xxsHHj4yzf4nm9TU4Z7k4NkeMlD/dHQ4jPlQQhwcMvwbJiOefSuZw== + +esbuild-windows-arm64@0.15.16: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.16.tgz#77e804d60dec0390fe8f21401e39b435d5d1b863" + integrity sha512-oCcUKrJaMn04Vxy9Ekd8x23O8LoU01+4NOkQ2iBToKgnGj5eo1vU9i27NQZ9qC8NFZgnQQZg5oZWAejmbsppNA== + +esbuild@^0.15.9: + version "0.15.16" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.16.tgz#59324e5667985bf6aee8a91ea576baef6872cf21" + integrity sha512-o6iS9zxdHrrojjlj6pNGC2NAg86ECZqIETswTM5KmJitq+R1YmahhWtMumeQp9lHqJaROGnsBi2RLawGnfo5ZQ== + optionalDependencies: + "@esbuild/android-arm" "0.15.16" + "@esbuild/linux-loong64" "0.15.16" + esbuild-android-64 "0.15.16" + esbuild-android-arm64 "0.15.16" + esbuild-darwin-64 "0.15.16" + esbuild-darwin-arm64 "0.15.16" + esbuild-freebsd-64 "0.15.16" + esbuild-freebsd-arm64 "0.15.16" + esbuild-linux-32 "0.15.16" + esbuild-linux-64 "0.15.16" + esbuild-linux-arm "0.15.16" + esbuild-linux-arm64 "0.15.16" + esbuild-linux-mips64le "0.15.16" + esbuild-linux-ppc64le "0.15.16" + esbuild-linux-riscv64 "0.15.16" + esbuild-linux-s390x "0.15.16" + esbuild-netbsd-64 "0.15.16" + esbuild-openbsd-64 "0.15.16" + esbuild-sunos-64 "0.15.16" + esbuild-windows-32 "0.15.16" + esbuild-windows-64 "0.15.16" + esbuild-windows-arm64 "0.15.16" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +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== + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +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" + +import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-core-module@^2.9.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" + integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== + dependencies: + has "^1.0.3" + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json5@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" + integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +loose-envify@^1.1.0, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +magic-string@^0.26.7: + version "0.26.7" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.7.tgz#caf7daf61b34e9982f8228c4527474dac8981d6f" + integrity sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow== + dependencies: + sourcemap-codec "^1.4.8" + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +nanoid@^3.3.4: + version "3.3.4" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" + integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== + +node-releases@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" + integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== + +object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +postcss@^8.4.18: + version "8.4.19" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.19.tgz#61178e2add236b17351897c8bcc0b4c8ecab56fc" + integrity sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA== + dependencies: + nanoid "^3.3.4" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +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== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +react-dom@^18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" + integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== + dependencies: + loose-envify "^1.1.0" + scheduler "^0.23.0" + +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== + +react-is@^18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + +react-refresh@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" + integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== + +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" + integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== + dependencies: + loose-envify "^1.1.0" + +regenerator-runtime@^0.13.11: + version "0.13.11" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== + +remixicon@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/remixicon/-/remixicon-2.5.0.tgz#b5e245894a1550aa23793f95daceadbf96ad1a41" + integrity sha512-q54ra2QutYDZpuSnFjmeagmEiN9IMo56/zz5dDNitzKD23oFRw77cWo4TsrAdmdkPiEn8mxlrTqxnkujDbEGww== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve@^1.19.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== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +rollup@^2.79.1: + version "2.79.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.1.tgz#bedee8faef7c9f93a2647ac0108748f497f081c7" + integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw== + optionalDependencies: + fsevents "~2.3.2" + +scheduler@^0.23.0: + version "0.23.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" + integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== + dependencies: + loose-envify "^1.1.0" + +semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +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== + +sourcemap-codec@^1.4.8: + version "1.4.8" + resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" + integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== + +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== + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +update-browserslist-db@^1.0.9: + version "1.0.10" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" + integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +vite@^3.2.3: + version "3.2.4" + resolved "https://registry.yarnpkg.com/vite/-/vite-3.2.4.tgz#d8c7892dd4268064e04fffbe7d866207dd24166e" + integrity sha512-Z2X6SRAffOUYTa+sLy3NQ7nlHFU100xwanq1WDwqaiFiCe+25zdxP1TfCS5ojPV2oDDcXudHIoPnI1Z/66B7Yw== + dependencies: + esbuild "^0.15.9" + postcss "^8.4.18" + resolve "^1.22.1" + rollup "^2.79.1" + optionalDependencies: + fsevents "~2.3.2" + +yaml@^1.10.0: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== From 716cd325479931b571078ad007491b14346d482c Mon Sep 17 00:00:00 2001 From: sudeepmi Date: Fri, 2 Dec 2022 04:41:14 +0545 Subject: [PATCH 2/6] Tested Contract --- package.json | 1 + src/App.jsx | 165 ++++++++++++++++++++++++++++++-- src/contracts/LPFactory.sol | 30 ++++++ src/contracts/LPFactoryABI.json | 83 ++++++++++++++++ src/main.jsx | 3 + yarn.lock | 9 +- 6 files changed, 282 insertions(+), 9 deletions(-) create mode 100644 src/contracts/LPFactory.sol create mode 100644 src/contracts/LPFactoryABI.json diff --git a/package.json b/package.json index d18d71d..e3a3cf4 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "@mui/material": "^5.10.16", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-toastify": "^9.1.1", "remixicon": "^2.5.0" }, "devDependencies": { diff --git a/src/App.jsx b/src/App.jsx index 0fe3c50..d3b9483 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,8 +1,107 @@ import { Button } from "@mui/material"; import React from "react"; +import { toast } from "react-toastify"; import "./styles/style.css"; +const { ethereum } = window; export default function App() { + const [userAddress, setUserAddress] = React.useState(""); + const [inputAmount, setInputAmount] = React.useState({ + usdt: "", + pptt: "", + }); + + ethereum.on("accountsChanged", async function (accounts) { + setUserAddress(accounts[0]); + }); + + const watchPPTT = () => { + ethereum + .request({ + method: "wallet_watchAsset", + params: { + type: "ERC20", + options: { + address: "0xdDCFEEFD40F48F362ae5fcD13f0D5203CB367C64", + symbol: "PPTT", + decimals: 18, + image: "https://ik.imagekit.io/lexworld/Logo.png", + }, + }, + }) + .then((success) => { + if (success) { + toast("PPTT successfully added to wallet!"); + } else { + throw new Error("Something went wrong."); + } + }) + .catch(console.error); + }; + + // @note handle input change either usdt or pptt + const handleInputAmountChange = (e, i) => { + if (i === "usdt") { + setInputAmount({ + usdt: e, + pptt: e / 0.02, + }); + } else { + setInputAmount({ + usdt: e * 0.02, + pptt: e, + }); + } + }; + const query = userAddress === "" && true; + + // @note connect wallet function + const connectWallet = async () => { + try { + await ethereum.request({ + method: "wallet_switchEthereumChain", + params: [{ chainId: "0xA4B1" }], + }); + } catch (switchError) { + // This error code indicates that the chain has not been added to MetaMask. + if (switchError.code === 4902) { + toast.error("Looks like we need to add sepolia test network."); + try { + await ethereum.request({ + method: "wallet_addEthereumChain", + params: [ + { + chainId: "0xA4B1", + chainName: "Arbitrum One", + rpcUrls: ["https://rpc.ankr.com/arbitrum"] /* ... */, + nativeCurrency: { + name: "Arbitrum Mainnet", + symbol: "ETH", + decimals: 18, + }, + blockExplorerUrls: ["https://arbiscan.io"], + iconUrls: [ + "https://assets-global.website-files.com/5f973c970bea5548ad4287ef/60a320b472858ace6700df76_arb-icon.svg", + ], + }, + ], + }); + } catch (addError) { + console.log(addError); + } + } + } + + if (typeof ethereum !== "undefined") { + const accounts = await ethereum.request({ + method: "eth_requestAccounts", + }); + setUserAddress(accounts[0]); + } else { + toast("Consider using Metamask or Add Extension!"); + } + }; + return (
@@ -18,11 +117,35 @@ export default function App() {
- - - + + + {query ? ( + + ) : ( + + )}
+ {/* @note swap container */}
@@ -44,7 +167,12 @@ export default function App() {
- + handleInputAmountChange(e.target.value, "usdt")} + />
Get
- + handleInputAmountChange(e.target.value)} + />
- +
- Copyright © 2023 PPTT. All rights reserved.
- Proudly powered by The Boring School & Supported by CodewithSudeep. + Copyright © 2023 PPTT. All rights reserved. +
+ Proudly powered by{" "} + + The Boring School + {" "} + & Supported by{" "} + + CodewithSudeep + + .
); diff --git a/src/contracts/LPFactory.sol b/src/contracts/LPFactory.sol new file mode 100644 index 0000000..db1b887 --- /dev/null +++ b/src/contracts/LPFactory.sol @@ -0,0 +1,30 @@ +// SPDX-License-Identifier: MIT +import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol"; + +pragma solidity ^0.8.0; + +contract SwapFactory{ + address payable public LPWallet; + ERC20 public PPTTToken; + ERC20 public USDTToken; + + constructor(address _pptt, address _usdt){ + LPWallet = payable(msg.sender); + PPTTToken = ERC20(_pptt); + USDTToken = ERC20(_usdt); + } + + modifier _onlyLPOwner(){ + require(msg.sender == LPWallet, "Only LPWallet is authorised!"); + _; + } + + function getPPTT(uint _amount) public payable { + require(address(0) != msg.sender, "Null Address Detected!"); + PPTTToken.transfer(msg.sender, _amount); + } + + function depositLP(uint _amount) public payable { + USDTToken.transfer(LPWallet, _amount); + } +} \ No newline at end of file diff --git a/src/contracts/LPFactoryABI.json b/src/contracts/LPFactoryABI.json new file mode 100644 index 0000000..4831e03 --- /dev/null +++ b/src/contracts/LPFactoryABI.json @@ -0,0 +1,83 @@ +[ + { + "inputs": [ + { + "internalType": "address", + "name": "_pptt", + "type": "address" + }, + { + "internalType": "address", + "name": "_usdt", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "LPWallet", + "outputs": [ + { + "internalType": "address payable", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "PPTTToken", + "outputs": [ + { + "internalType": "contract ERC20", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "USDTToken", + "outputs": [ + { + "internalType": "contract ERC20", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "depositLP", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "getPPTT", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } +] \ No newline at end of file diff --git a/src/main.jsx b/src/main.jsx index 0492cce..578d4fb 100644 --- a/src/main.jsx +++ b/src/main.jsx @@ -3,9 +3,12 @@ import ReactDOM from 'react-dom/client' import App from './App' import 'remixicon/fonts/remixicon.css' import './index.css' +import { ToastContainer} from 'react-toastify'; +import 'react-toastify/dist/ReactToastify.css'; ReactDOM.createRoot(document.getElementById('root')).render( + ) diff --git a/yarn.lock b/yarn.lock index f9b4fe5..86c960e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -599,7 +599,7 @@ chalk@^2.0.0: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -clsx@^1.2.1: +clsx@^1.1.1, 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== @@ -1003,6 +1003,13 @@ react-refresh@^0.14.0: resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== +react-toastify@^9.1.1: + version "9.1.1" + resolved "https://registry.yarnpkg.com/react-toastify/-/react-toastify-9.1.1.tgz#9280caea4a13dc1739c350d90660a630807bf10b" + integrity sha512-pkFCla1z3ve045qvjEmn2xOJOy4ZciwRXm1oMPULVkELi5aJdHCN/FHnuqXq8IwGDLB7PPk2/J6uP9D8ejuiRw== + dependencies: + clsx "^1.1.1" + 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" From 839efab09075bce08ed1fcc818bef5c20774cb3f Mon Sep 17 00:00:00 2001 From: jckamaicha Date: Sat, 3 Dec 2022 20:25:33 +0545 Subject: [PATCH 3/6] Completed --- index.html | 8 +- package.json | 1 + src/App.jsx | 158 ++++-- src/contracts/LPFactory.sol | 30 -- src/contracts/PPTTAbi.json | 288 +++++++++++ .../{LPFactoryABI.json => SwapFactory.json} | 34 +- src/contracts/SwapFactory.sol | 40 ++ src/contracts/USDTABI.json | 288 +++++++++++ src/styles/style.css | 54 +- src/styles/style.css.map | 2 +- src/styles/style.scss | 115 +++-- yarn.lock | 463 ++++++++++++++++++ 12 files changed, 1351 insertions(+), 130 deletions(-) delete mode 100644 src/contracts/LPFactory.sol create mode 100644 src/contracts/PPTTAbi.json rename src/contracts/{LPFactoryABI.json => SwapFactory.json} (77%) create mode 100644 src/contracts/SwapFactory.sol create mode 100644 src/contracts/USDTABI.json diff --git a/index.html b/index.html index 79c4701..4d92728 100644 --- a/index.html +++ b/index.html @@ -2,9 +2,13 @@ - + - Vite + React + Playpoint Interface
diff --git a/package.json b/package.json index e3a3cf4..2443938 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "@emotion/react": "^11.10.5", "@emotion/styled": "^11.10.5", "@mui/material": "^5.10.16", + "ethers": "^5.7.2", "react": "^18.2.0", "react-dom": "^18.2.0", "react-toastify": "^9.1.1", diff --git a/src/App.jsx b/src/App.jsx index d3b9483..1001141 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,8 +1,12 @@ import { Button } from "@mui/material"; +import { ethers } from "ethers"; import React from "react"; import { toast } from "react-toastify"; import "./styles/style.css"; const { ethereum } = window; +import SwapFactoryABI from "./contracts/SwapFactory.json"; +import USDTAbi from "./contracts/USDTABI.json"; +import PPTTAbi from "./contracts/PPTTAbi.json"; export default function App() { const [userAddress, setUserAddress] = React.useState(""); @@ -10,11 +14,60 @@ export default function App() { usdt: "", pptt: "", }); + const SwapFactoryAddress = "0xb8f04650633b6dB7D71e7E20e3Ab3CD9e301f01C"; + + const provider = new ethers.providers.Web3Provider(ethereum); + const signer = provider.getSigner(); + const SwapFactoryContract = new ethers.Contract( + SwapFactoryAddress, + SwapFactoryABI, + signer + ); + + const USDTContract = new ethers.Contract( + "0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9", + USDTAbi, + signer + ); + + const PPTTContract = new ethers.Contract( + "0xdDCFEEFD40F48F362ae5fcD13f0D5203CB367C64", + PPTTAbi, + signer + ); + + // @note handle input change either usdt or pptt + const handleInputAmountChange = (e, i) => { + if (i === "usdt") { + setInputAmount({ + usdt: e, + pptt: e / 0.02, + }); + } else { + setInputAmount({ + usdt: e * 0.02, + pptt: e, + }); + } + }; + + const query = userAddress === "" && true; + const toastSetting = { + position: "top-center", + autoClose: 5000, + hideProgressBar: false, + closeOnClick: true, + pauseOnHover: true, + draggable: true, + progress: undefined, + theme: "dark", + }; ethereum.on("accountsChanged", async function (accounts) { setUserAddress(accounts[0]); }); + // @note watch pptt and add to wallet const watchPPTT = () => { ethereum .request({ @@ -30,31 +83,22 @@ export default function App() { }, }) .then((success) => { - if (success) { - toast("PPTT successfully added to wallet!"); - } else { - throw new Error("Something went wrong."); - } + if (success) + toast("🪙 PPTT successfully added to wallet!", { + position: "top-center", + autoClose: 5000, + hideProgressBar: false, + closeOnClick: true, + pauseOnHover: true, + draggable: true, + progress: undefined, + theme: "dark", + }); + else throw new Error("Something went wrong."); }) .catch(console.error); }; - // @note handle input change either usdt or pptt - const handleInputAmountChange = (e, i) => { - if (i === "usdt") { - setInputAmount({ - usdt: e, - pptt: e / 0.02, - }); - } else { - setInputAmount({ - usdt: e * 0.02, - pptt: e, - }); - } - }; - const query = userAddress === "" && true; - // @note connect wallet function const connectWallet = async () => { try { @@ -65,7 +109,10 @@ export default function App() { } catch (switchError) { // This error code indicates that the chain has not been added to MetaMask. if (switchError.code === 4902) { - toast.error("Looks like we need to add sepolia test network."); + toast.error( + "Looks like we need to add Arbitrum network. 🏦", + toastSetting + ); try { await ethereum.request({ method: "wallet_addEthereumChain", @@ -97,8 +144,58 @@ export default function App() { method: "eth_requestAccounts", }); setUserAddress(accounts[0]); + toast("👛 Wallet connected successfully!", toastSetting); + } else { + toast("🦊 Consider using Metamask or Add Extension!", toastSetting); + } + }; + + const buyPPTT = async () => { + const userPPTT = await PPTTContract.functions.balanceOf(userAddress); + + if (inputAmount.usdt === "" || inputAmount.pptt === "") + return toast.error( + "🪙 Looks like you've forgot to pick buying amount!", + toastSetting + ); + + const _usdtAmount = (inputAmount.usdt * 1e6).toString(); + const _ppttAmount = (inputAmount.pptt * 1e18).toString(); + + await USDTContract.functions.approve(SwapFactoryAddress, _usdtAmount); + await SwapFactoryContract.functions.buyPPTT(_usdtAmount, _ppttAmount); + + if (userPPTT == 0) { + ethereum + .request({ + method: "wallet_watchAsset", + params: { + type: "ERC20", + options: { + address: "0xdDCFEEFD40F48F362ae5fcD13f0D5203CB367C64", + symbol: "PPTT", + decimals: 18, + image: "https://ik.imagekit.io/lexworld/Logo.png", + }, + }, + }) + .then((success) => { + if (success) + toast("🪙 PPTT successfully added to wallet!", { + position: "top-center", + autoClose: 5000, + hideProgressBar: false, + closeOnClick: true, + pauseOnHover: true, + draggable: true, + progress: undefined, + theme: "dark", + }); + else throw new Error("Something went wrong."); + }) + .catch(console.error); } else { - toast("Consider using Metamask or Add Extension!"); + toast("🪙 PPTT bought successfully!", toastSetting); } }; @@ -111,23 +208,16 @@ export default function App() { alt="" loading="lazy" /> +

Playpoint Swap

Swap Liquidity Docs
- - {query ? (
- + {/* @note swap container */}
@@ -201,7 +291,7 @@ export default function App() {
From ad2246127ab13eba427841df9702d6051b6be66a Mon Sep 17 00:00:00 2001 From: jckamaicha Date: Sat, 3 Dec 2022 20:51:55 +0545 Subject: [PATCH 5/6] Added BG Blur --- src/App.jsx | 1 + src/index.css | 1 + src/styles/style.css | 15 +++++++++++++++ src/styles/style.css.map | 2 +- src/styles/style.scss | 30 ++++++++++++++++++++++++++++++ 5 files changed, 48 insertions(+), 1 deletion(-) diff --git a/src/App.jsx b/src/App.jsx index 32b9e8e..f86da8f 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -201,6 +201,7 @@ export default function App() { return (
+
Date: Tue, 6 Dec 2022 19:33:17 +0545 Subject: [PATCH 6/6] update --- src/App.jsx | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/App.jsx b/src/App.jsx index f86da8f..83f37dc 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -158,9 +158,25 @@ export default function App() { "🪙 Looks like you've forgot to pick buying amount!", toastSetting ); - - const _usdtAmount = (inputAmount.usdt * 1e6).toString(); - const _ppttAmount = (inputAmount.pptt * 1e18).toString(); + const _usdtAmount = (inputAmount.usdt * 1000000).toString(); + function toFixed(x) { + if (Math.abs(x) < 1.0) { + var e = parseInt(x.toString().split("e-")[1]); + if (e) { + x *= Math.pow(10, e - 1); + x = "0." + new Array(e).join("0") + x.toString().substring(2); + } + } else { + var e = parseInt(x.toString().split("+")[1]); + if (e > 20) { + e -= 20; + x /= Math.pow(10, e); + x += new Array(e + 1).join("0"); + } + } + return x; + } + const _ppttAmount = toFixed(inputAmount.pptt * 10 ** 18); await USDTContract.functions.approve(SwapFactoryAddress, _usdtAmount); await SwapFactoryContract.functions.buyPPTT(_usdtAmount, _ppttAmount);