From 91100c098195ee039df8b5be726c9b9f3fadf999 Mon Sep 17 00:00:00 2001 From: Kiven Alaric Date: Mon, 10 Jul 2023 17:26:31 -0500 Subject: [PATCH 01/27] project setup and fetching of rates --- .eslintrc | 3 +- src/App.css | 46 ++++------- src/App.jsx | 82 +++++++++++++++---- .../currency-card/currency-card.jsx | 8 ++ src/components/currency-card/styles.css | 0 src/reportWebVitals.js | 2 +- 6 files changed, 91 insertions(+), 50 deletions(-) create mode 100644 src/components/currency-card/currency-card.jsx create mode 100644 src/components/currency-card/styles.css diff --git a/.eslintrc b/.eslintrc index f83c4fa..23911ad 100644 --- a/.eslintrc +++ b/.eslintrc @@ -21,6 +21,7 @@ { "extensions": [".js", ".jsx"] } - ] + ], + "prettier/prettier": ["error", { "endOfLine": "auto" }] } } diff --git a/src/App.css b/src/App.css index 74b5e05..241da5c 100644 --- a/src/App.css +++ b/src/App.css @@ -1,38 +1,24 @@ -.App { - text-align: center; +* { + box-sizing: border-box; + margin: 0; + padding: 0; } -.App-logo { - height: 40vmin; - pointer-events: none; -} - -@media (prefers-reduced-motion: no-preference) { - .App-logo { - animation: App-logo-spin infinite 20s linear; - } -} - -.App-header { - background-color: #282c34; +#main { + width: 100vw; + height: fit-content; min-height: 100vh; display: flex; flex-direction: column; - align-items: center; - justify-content: center; - font-size: calc(10px + 2vmin); - color: white; + background-color: #1b182e; } -.App-link { - color: #61dafb; -} - -@keyframes App-logo-spin { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } +#nav { + width: 100vw; + background-color: #1f1e25; + color: #fff; + display: flex; + flex-direction: row; + justify-content: space-between; + padding: 0.4rem 5rem; } diff --git a/src/App.jsx b/src/App.jsx index e97e374..e09e305 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,25 +1,71 @@ -import logo from './logo.svg'; +import React, { useState, useEffect } from 'react'; import './App.css'; function App() { + const ApiKey = '4916f6bf3ce83e632400a62c535089a1'; + const [myCurrency, setMycurrency] = useState(); + const [currencies, setCurrencies] = useState(); + const [myCurrency1, setMycurrency1] = useState(); + + useEffect(() => { + const fetchData = async () => { + try { + const response = await fetch( + `http://api.exchangeratesapi.io/v1/latest?access_key=${ApiKey}` + ); + const data = await response.json(); + setCurrencies(data); + localStorage.setItem('rates', JSON.stringify(data)); + } catch (err) { + console.error(err); + } + }; + fetchData(); + // fetch(`https://api.freecurrencyapi.com/v1latest?apikey=${ApiKey}`, options) + // .then((response) => response.json()) + // .then((res) => { + // // const firstRate = Object.keys(res.results)[2]; + // // setCurrencyOptions([...Object.keys(res.results)]); + // // setExchangeRates(res.results); + // }) + // .catch((err) => console.error('error ocured', err)); + }, []); + + const saveToLs = () => { + const data = localStorage.setItem('currencies', JSON.stringify(myCurrency)); + console.log(data); + return data; + }; + const getFromLs = () => { + const data1 = localStorage.getItem('rates'); + const data2 = JSON.parse(data1); + setMycurrency1(data2); + console.log(data2); + return data2; + }; return ( -
-
- logo -

- Edit - src/App.js - and save to reload. -

- - Learn React - -
+
+ +
+

Welcome to the Exchange App

+ setMycurrency(e.target.value)} + /> + + + {currencies ?

fetched and saved

:

still fetching

} + {/*

{currencies}

*/} +

{myCurrency1}

+
); } diff --git a/src/components/currency-card/currency-card.jsx b/src/components/currency-card/currency-card.jsx new file mode 100644 index 0000000..5750687 --- /dev/null +++ b/src/components/currency-card/currency-card.jsx @@ -0,0 +1,8 @@ +import React from 'react'; +import './styles.css'; + +function currencyCard() { + return
currency-card
; +} + +export default currencyCard; diff --git a/src/components/currency-card/styles.css b/src/components/currency-card/styles.css new file mode 100644 index 0000000..e69de29 diff --git a/src/reportWebVitals.js b/src/reportWebVitals.js index 5253d3a..532f29b 100644 --- a/src/reportWebVitals.js +++ b/src/reportWebVitals.js @@ -1,4 +1,4 @@ -const reportWebVitals = onPerfEntry => { +const reportWebVitals = (onPerfEntry) => { if (onPerfEntry && onPerfEntry instanceof Function) { import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { getCLS(onPerfEntry); From 31b7036cc3fa6240f9351fd0e920d804601143ad Mon Sep 17 00:00:00 2001 From: Kiven Alaric Date: Wed, 12 Jul 2023 11:26:28 -0500 Subject: [PATCH 02/27] deposit function implemementation and styling of wallets --- package-lock.json | 1301 +++++++++++------ package.json | 2 + src/App.css | 17 + src/App.jsx | 89 +- src/components/DepositModal/DepositModal.jsx | 82 ++ src/components/DepositModal/styles.jsx | 66 + src/components/currency-card/CurrencyCard.jsx | 23 + .../currency-card/currency-card.jsx | 8 - src/components/currency-card/styles.css | 45 + src/components/mavbar.jsx | 13 + src/context/context.jsx | 5 + src/index.css | 11 + src/pages/Transaction_Page/Transaction.jsx | 76 + src/pages/Transaction_Page/styles.jsx | 90 ++ src/services/utils.jsx | 5 + 15 files changed, 1351 insertions(+), 482 deletions(-) create mode 100644 src/components/DepositModal/DepositModal.jsx create mode 100644 src/components/DepositModal/styles.jsx create mode 100644 src/components/currency-card/CurrencyCard.jsx delete mode 100644 src/components/currency-card/currency-card.jsx create mode 100644 src/components/mavbar.jsx create mode 100644 src/context/context.jsx create mode 100644 src/pages/Transaction_Page/Transaction.jsx create mode 100644 src/pages/Transaction_Page/styles.jsx create mode 100644 src/services/utils.jsx diff --git a/package-lock.json b/package-lock.json index 811566e..70ed0b1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,9 @@ "@testing-library/user-event": "^13.5.0", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-router-dom": "^6.14.1", "react-scripts": "^5.0.1", + "styled-components": "^6.0.3", "web-vitals": "^2.1.4" }, "devDependencies": { @@ -45,45 +47,117 @@ "node": ">=6.0.0" } }, + "node_modules/@babel/cli": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.22.6.tgz", + "integrity": "sha512-Be3/RfEDmkMRGT1+ru5nTkfcvWz5jDOYg1V9rXqTz2u9Qt96O1ryboGvxVBp7wOnYWDB8DNHIWb6DThrpudfOw==", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "commander": "^4.0.1", + "convert-source-map": "^1.1.0", + "fs-readdir-recursive": "^1.1.0", + "glob": "^7.2.0", + "make-dir": "^2.1.0", + "slash": "^2.0.0" + }, + "bin": { + "babel": "bin/babel.js", + "babel-external-helpers": "bin/babel-external-helpers.js" + }, + "engines": { + "node": ">=6.9.0" + }, + "optionalDependencies": { + "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3", + "chokidar": "^3.4.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/cli/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@babel/cli/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/cli/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/cli/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@babel/cli/node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "engines": { + "node": ">=6" + } + }, "node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", + "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", "dependencies": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.20.10", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz", - "integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.6.tgz", + "integrity": "sha512-29tfsWTq2Ftu7MXmimyC0C5FDZv5DYxOZkh3XD3+QW4V/BYuv/LyEsjj3c0hqedEaDt6DBfDvexMKU8YevdqFg==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.20.12", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz", - "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==", - "dependencies": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helpers": "^7.20.7", - "@babel/parser": "^7.20.7", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.12", - "@babel/types": "^7.20.7", + "version": "7.22.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.8.tgz", + "integrity": "sha512-75+KxFB4CZqYRXjx4NlR4J7yGvKumBuZTmV4NV6v09dVXXkuYVYLT68N6HCzLvfJ+fWCxQsntNzKwwIXL4bHnw==", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.7", + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helpers": "^7.22.6", + "@babel/parser": "^7.22.7", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.8", + "@babel/types": "^7.22.5", + "@nicolo-ribaudo/semver-v6": "^6.3.3", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" + "json5": "^2.2.2" }, "engines": { "node": ">=6.9.0" @@ -119,12 +193,13 @@ } }, "node_modules/@babel/generator": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz", - "integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==", + "version": "7.22.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.7.tgz", + "integrity": "sha512-p+jPjMG+SI8yvIaxGgeW24u7q9+5+TGpZh8/CuB7RhBKd7RCy8FayNEFNNKrNK/eUcY/4ExQqLmyrvBXKsIcwQ==", "dependencies": { - "@babel/types": "^7.20.7", + "@babel/types": "^7.22.5", "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" }, "engines": { @@ -145,11 +220,11 @@ } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -168,15 +243,15 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", - "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.6.tgz", + "integrity": "sha512-534sYEqWD9VfUm3IPn2SLcH4Q3P86XL+QvqdC7ZsFrzyyPF3T4XGiVghF6PTYNdWg6pXuoqXxNQAhbYeEInTzA==", "dependencies": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" + "@babel/compat-data": "^7.22.6", + "@babel/helper-validator-option": "^7.22.5", + "@nicolo-ribaudo/semver-v6": "^6.3.3", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1" }, "engines": { "node": ">=6.9.0" @@ -186,18 +261,19 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.20.12", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.12.tgz", - "integrity": "sha512-9OunRkbT0JQcednL0UFvbfXpAsUXiGjUk0a7sN8fUXX7Mue79cUSMjHGDRRi/Vz9vYlpIhLV5fMD5dKoMhhsNQ==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.6.tgz", + "integrity": "sha512-iwdzgtSiBxF6ni6mzVnZCF3xt5qE6cEA0J7nFt8QOAWZ0zjCFceEgpn3vtb2V7WFR6QzP2jmIFOHMTRo7eNJjQ==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-member-expression-to-functions": "^7.20.7", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/helper-split-export-declaration": "^7.18.6" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@nicolo-ribaudo/semver-v6": "^6.3.3" }, "engines": { "node": ">=6.9.0" @@ -238,9 +314,9 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", + "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", "engines": { "node": ">=6.9.0" } @@ -257,83 +333,83 @@ } }, "node_modules/@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", "dependencies": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz", - "integrity": "sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", + "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", "dependencies": { - "@babel/types": "^7.20.7" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz", - "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz", + "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==", "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.20.7", - "@babel/traverse": "^7.20.10", - "@babel/types": "^7.20.7" + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", - "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", "engines": { "node": ">=6.9.0" } @@ -356,74 +432,74 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", - "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.5.tgz", + "integrity": "sha512-aLdNM5I3kdI/V9xGNyKSF3X/gTyMUBohTZ+/3QdQKAA9vxIiy12E+8E2HoOP1/DjeqU+g6as35QHJNMDDYpuCg==", "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.20.7", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.7", - "@babel/types": "^7.20.7" + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "dependencies": { - "@babel/types": "^7.20.2" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", - "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", "dependencies": { - "@babel/types": "^7.20.0" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", + "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", "engines": { "node": ">=6.9.0" } @@ -443,24 +519,24 @@ } }, "node_modules/@babel/helpers": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.7.tgz", - "integrity": "sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.6.tgz", + "integrity": "sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==", "dependencies": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.7", - "@babel/types": "^7.20.7" + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.6", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", + "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", + "@babel/helper-validator-identifier": "^7.22.5", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -469,9 +545,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz", - "integrity": "sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==", + "version": "7.22.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz", + "integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==", "bin": { "parser": "bin/babel-parser.js" }, @@ -509,6 +585,20 @@ "@babel/core": "^7.13.0" } }, + "node_modules/@babel/plugin-external-helpers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-external-helpers/-/plugin-external-helpers-7.22.5.tgz", + "integrity": "sha512-ngnNEWxmykPk82mH4ajZT0qTztr3Je6hrMuKAslZVM8G1YZTENJSYwrIGtt6KOtznug3exmAtF4so/nPqJuA4A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-proposal-async-generator-functions": { "version": "7.20.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", @@ -895,11 +985,11 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", - "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1003,11 +1093,11 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", - "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1258,13 +1348,13 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz", - "integrity": "sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", + "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", "dependencies": { - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-simple-access": "^7.20.2" + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1572,13 +1662,14 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.7.tgz", - "integrity": "sha512-m3wVKEvf6SoszD8pu4NZz3PvfKRCMgk6D6d0Qi9hNnlM5M6CFS92EgF4EiHVLKbU0r/r7ty1hg7NPZwE7WRbYw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.5.tgz", + "integrity": "sha512-SMubA9S7Cb5sGSFFUlqxyClTA9zWJ8qGQrppNUm05LtFuN1ELRFNndkix4zUJrC9F+YivWwa1dHMSyo0e0N9dA==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-typescript": "^7.20.0" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1739,13 +1830,15 @@ } }, "node_modules/@babel/preset-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", - "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.22.5.tgz", + "integrity": "sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-typescript": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-typescript": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1766,31 +1859,31 @@ } }, "node_modules/@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.20.12", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.12.tgz", - "integrity": "sha512-MsIbFN0u+raeja38qboyF8TIT7K0BFzz/Yd/77ta4MsUsmP2RAnidIlwq7d5HFQrH/OZJecGV6B71C4zAgpoSQ==", - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", - "@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.7", - "@babel/types": "^7.20.7", + "version": "7.22.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.8.tgz", + "integrity": "sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==", + "dependencies": { + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.7", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.22.7", + "@babel/types": "^7.22.5", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -1799,12 +1892,12 @@ } }, "node_modules/@babel/types": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", - "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", "dependencies": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", "to-fast-properties": "^2.0.0" }, "engines": { @@ -2087,6 +2180,24 @@ "postcss-selector-parser": "^6.0.10" } }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz", + "integrity": "sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==", + "dependencies": { + "@emotion/memoize": "^0.8.1" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" + }, + "node_modules/@emotion/unitless": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", + "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" + }, "node_modules/@eslint/eslintrc": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", @@ -2931,6 +3042,12 @@ "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" }, + "node_modules/@nicolo-ribaudo/chokidar-2": { + "version": "2.1.8-no-fsevents.3", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", + "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", + "optional": true + }, "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", @@ -2959,6 +3076,14 @@ "node": ">=4.0" } }, + "node_modules/@nicolo-ribaudo/semver-v6": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/semver-v6/-/semver-v6-6.3.3.tgz", + "integrity": "sha512-3Yc1fUTs69MG/uZbJlLSI3JISMn2UV2rg+1D/vROUqZyh3l6iYHCs7GMp+M40ZD7yOdDbYjJcU1oTJhrc+dGKg==", + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -3040,6 +3165,14 @@ } } }, + "node_modules/@remix-run/router": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.7.1.tgz", + "integrity": "sha512-bgVQM4ZJ2u2CM8k1ey70o1ePFXsEzYVZoWghh6WjM8p59jQ7HxzbHW4SbnWFG7V9ig9chLawQxDTZ3xzOF8MkQ==", + "engines": { + "node": ">=14" + } + }, "node_modules/@rollup/plugin-babel": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", @@ -4084,6 +4217,11 @@ "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" }, + "node_modules/@types/stylis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@types/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-n4sx2bqL0mW1tvDf/loQ+aMX7GQD3lc3fkCMC55VFNDu/vBOabO+LTIeXKM14xK0ppk5TUGcWRjiSpIlUpghKw==" + }, "node_modules/@types/testing-library__jest-dom": { "version": "5.14.5", "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz", @@ -5422,9 +5560,9 @@ "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" }, "node_modules/browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "version": "4.21.9", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", + "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", "funding": [ { "type": "opencollective", @@ -5433,13 +5571,17 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" + "caniuse-lite": "^1.0.30001503", + "electron-to-chromium": "^1.4.431", + "node-releases": "^2.0.12", + "update-browserslist-db": "^1.0.11" }, "bin": { "browserslist": "cli.js" @@ -5528,6 +5670,14 @@ "node": ">= 6" } }, + "node_modules/camelize": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", + "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/caniuse-api": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", @@ -5540,9 +5690,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001442", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001442.tgz", - "integrity": "sha512-239m03Pqy0hwxYPYR5JwOIxRJfLTWtle9FV8zosfV5pHg+/51uD4nxcUlM8+mWWGfwKtt8lJNHnD3cWw9VZ6ow==", + "version": "1.0.30001514", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001514.tgz", + "integrity": "sha512-ENcIpYBmwAAOm/V2cXgM7rZUrKKaqisZl4ZAI520FIkqGXUxJjmaIssbRW5HVVR5tyV6ygTLIm15aU8LUmQSaQ==", "funding": [ { "type": "opencollective", @@ -5551,6 +5701,10 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ] }, @@ -5959,6 +6113,14 @@ "postcss": "^8.4" } }, + "node_modules/css-color-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", + "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==", + "engines": { + "node": ">=4" + } + }, "node_modules/css-declaration-sorter": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", @@ -6170,6 +6332,16 @@ "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" }, + "node_modules/css-to-react-native": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz", + "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==", + "dependencies": { + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^4.0.2" + } + }, "node_modules/css-tree": { "version": "1.0.0-alpha.37", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", @@ -6357,9 +6529,9 @@ "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" }, "node_modules/csstype": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", - "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" }, "node_modules/damerau-levenshtein": { "version": "1.0.8", @@ -6761,9 +6933,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==" + "version": "1.4.455", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.455.tgz", + "integrity": "sha512-8tgdX0Odl24LtmLwxotpJCVjIndN559AvaOtd67u+2mo+IDsgsTF580NB+uuDCqsHw8yFg53l5+imFV9Fw3cbA==" }, "node_modules/emittery": { "version": "0.8.1", @@ -8405,6 +8577,11 @@ "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==" }, + "node_modules/fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==" + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -12177,9 +12354,15 @@ } }, "node_modules/nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -12233,9 +12416,9 @@ "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" }, "node_modules/node-releases": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", - "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==" + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" }, "node_modules/normalize-path": { "version": "3.0.0", @@ -12820,9 +13003,9 @@ } }, "node_modules/postcss": { - "version": "8.4.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", - "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", + "version": "8.4.25", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.25.tgz", + "integrity": "sha512-7taJ/8t2av0Z+sQEvNzCkpDynl0tX3uJMCODi6nT3PfASC7dYCWV9aQ+uiCf+KBD4SEFcu+GvJdGdwzQ6OSjCw==", "funding": [ { "type": "opencollective", @@ -12831,10 +13014,14 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "nanoid": "^3.3.4", + "nanoid": "^3.3.6", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" }, @@ -14457,6 +14644,36 @@ "node": ">=0.10.0" } }, + "node_modules/react-router": { + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.14.1.tgz", + "integrity": "sha512-U4PfgvG55LdvbQjg5Y9QRWyVxIdO1LlpYT7x+tMAxd9/vmiPuJhIwdxZuIQLN/9e3O4KFDHYfR9gzGeYMasW8g==", + "dependencies": { + "@remix-run/router": "1.7.1" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.14.1.tgz", + "integrity": "sha512-ssF6M5UkQjHK70fgukCJyjlda0Dgono2QGwqGvuk7D+EDGHdacEN3Yke2LTMjkrpHuFwBfDFsEjGVXBDmL+bWw==", + "dependencies": { + "@remix-run/router": "1.7.1", + "react-router": "6.14.1" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, "node_modules/react-scripts": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", @@ -15259,6 +15476,11 @@ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, + "node_modules/shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -15634,6 +15856,49 @@ "webpack": "^5.0.0" } }, + "node_modules/styled-components": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-6.0.3.tgz", + "integrity": "sha512-qEyWvDK4CYCyDckNIruRJIcQSvcUR3dVEw/fwxu1v0LFzUMPr2uf5PhXHp17FkGK+S4TkglOS+XIealo1MssQA==", + "dependencies": { + "@babel/cli": "^7.21.0", + "@babel/core": "^7.21.0", + "@babel/helper-module-imports": "^7.18.6", + "@babel/plugin-external-helpers": "^7.18.6", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.20.7", + "@babel/preset-env": "^7.20.2", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.21.0", + "@babel/traverse": "^7.21.2", + "@emotion/is-prop-valid": "^1.2.1", + "@emotion/unitless": "^0.8.0", + "@types/stylis": "^4.0.2", + "css-to-react-native": "^3.2.0", + "csstype": "^3.1.2", + "postcss": "^8.4.23", + "shallowequal": "^1.1.0", + "stylis": "^4.3.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/styled-components" + }, + "peerDependencies": { + "babel-plugin-styled-components": ">= 2", + "react": ">= 16.8.0", + "react-dom": ">= 16.8.0" + }, + "peerDependenciesMeta": { + "babel-plugin-styled-components": { + "optional": true + } + } + }, "node_modules/stylehacks": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", @@ -15649,6 +15914,11 @@ "postcss": "^8.2.15" } }, + "node_modules/stylis": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.0.tgz", + "integrity": "sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ==" + }, "node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -16080,9 +16350,9 @@ } }, "node_modules/tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", + "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==" }, "node_modules/tsutils": { "version": "3.21.0", @@ -16271,9 +16541,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", "funding": [ { "type": "opencollective", @@ -16282,6 +16552,10 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { @@ -16289,7 +16563,7 @@ "picocolors": "^1.0.0" }, "bin": { - "browserslist-lint": "cli.js" + "update-browserslist-db": "cli.js" }, "peerDependencies": { "browserslist": ">= 4.21.0" @@ -17342,39 +17616,86 @@ "@jridgewell/trace-mapping": "^0.3.9" } }, + "@babel/cli": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.22.6.tgz", + "integrity": "sha512-Be3/RfEDmkMRGT1+ru5nTkfcvWz5jDOYg1V9rXqTz2u9Qt96O1ryboGvxVBp7wOnYWDB8DNHIWb6DThrpudfOw==", + "requires": { + "@jridgewell/trace-mapping": "^0.3.17", + "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3", + "chokidar": "^3.4.0", + "commander": "^4.0.1", + "convert-source-map": "^1.1.0", + "fs-readdir-recursive": "^1.1.0", + "glob": "^7.2.0", + "make-dir": "^2.1.0", + "slash": "^2.0.0" + }, + "dependencies": { + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==" + } + } + }, "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", + "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", "requires": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.22.5" } }, "@babel/compat-data": { - "version": "7.20.10", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz", - "integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==" + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.6.tgz", + "integrity": "sha512-29tfsWTq2Ftu7MXmimyC0C5FDZv5DYxOZkh3XD3+QW4V/BYuv/LyEsjj3c0hqedEaDt6DBfDvexMKU8YevdqFg==" }, "@babel/core": { - "version": "7.20.12", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz", - "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==", - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helpers": "^7.20.7", - "@babel/parser": "^7.20.7", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.12", - "@babel/types": "^7.20.7", + "version": "7.22.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.8.tgz", + "integrity": "sha512-75+KxFB4CZqYRXjx4NlR4J7yGvKumBuZTmV4NV6v09dVXXkuYVYLT68N6HCzLvfJ+fWCxQsntNzKwwIXL4bHnw==", + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.7", + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helpers": "^7.22.6", + "@babel/parser": "^7.22.7", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.8", + "@babel/types": "^7.22.5", + "@nicolo-ribaudo/semver-v6": "^6.3.3", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" + "json5": "^2.2.2" } }, "@babel/eslint-parser": { @@ -17395,12 +17716,13 @@ } }, "@babel/generator": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz", - "integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==", + "version": "7.22.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.7.tgz", + "integrity": "sha512-p+jPjMG+SI8yvIaxGgeW24u7q9+5+TGpZh8/CuB7RhBKd7RCy8FayNEFNNKrNK/eUcY/4ExQqLmyrvBXKsIcwQ==", "requires": { - "@babel/types": "^7.20.7", + "@babel/types": "^7.22.5", "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" }, "dependencies": { @@ -17417,11 +17739,11 @@ } }, "@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", "requires": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { @@ -17434,30 +17756,31 @@ } }, "@babel/helper-compilation-targets": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", - "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.6.tgz", + "integrity": "sha512-534sYEqWD9VfUm3IPn2SLcH4Q3P86XL+QvqdC7ZsFrzyyPF3T4XGiVghF6PTYNdWg6pXuoqXxNQAhbYeEInTzA==", "requires": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" + "@babel/compat-data": "^7.22.6", + "@babel/helper-validator-option": "^7.22.5", + "@nicolo-ribaudo/semver-v6": "^6.3.3", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1" } }, "@babel/helper-create-class-features-plugin": { - "version": "7.20.12", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.12.tgz", - "integrity": "sha512-9OunRkbT0JQcednL0UFvbfXpAsUXiGjUk0a7sN8fUXX7Mue79cUSMjHGDRRi/Vz9vYlpIhLV5fMD5dKoMhhsNQ==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.6.tgz", + "integrity": "sha512-iwdzgtSiBxF6ni6mzVnZCF3xt5qE6cEA0J7nFt8QOAWZ0zjCFceEgpn3vtb2V7WFR6QzP2jmIFOHMTRo7eNJjQ==", "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-member-expression-to-functions": "^7.20.7", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/helper-split-export-declaration": "^7.18.6" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@nicolo-ribaudo/semver-v6": "^6.3.3" } }, "@babel/helper-create-regexp-features-plugin": { @@ -17483,9 +17806,9 @@ } }, "@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==" + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", + "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==" }, "@babel/helper-explode-assignable-expression": { "version": "7.18.6", @@ -17496,65 +17819,65 @@ } }, "@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", "requires": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" } }, "@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "requires": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz", - "integrity": "sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", + "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", "requires": { - "@babel/types": "^7.20.7" + "@babel/types": "^7.22.5" } }, "@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", "requires": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" } }, "@babel/helper-module-transforms": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz", - "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz", + "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==", "requires": { - "@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.20.7", - "@babel/traverse": "^7.20.10", - "@babel/types": "^7.20.7" + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" } }, "@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", "requires": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" } }, "@babel/helper-plugin-utils": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", - "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==" + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==" }, "@babel/helper-remap-async-to-generator": { "version": "7.18.9", @@ -17568,56 +17891,56 @@ } }, "@babel/helper-replace-supers": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", - "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.5.tgz", + "integrity": "sha512-aLdNM5I3kdI/V9xGNyKSF3X/gTyMUBohTZ+/3QdQKAA9vxIiy12E+8E2HoOP1/DjeqU+g6as35QHJNMDDYpuCg==", "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.20.7", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.7", - "@babel/types": "^7.20.7" + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" } }, "@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "requires": { - "@babel/types": "^7.20.2" + "@babel/types": "^7.22.5" } }, "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", - "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", "requires": { - "@babel/types": "^7.20.0" + "@babel/types": "^7.22.5" } }, "@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "requires": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" } }, "@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==" + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" }, "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==" }, "@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==" + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", + "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==" }, "@babel/helper-wrap-function": { "version": "7.20.5", @@ -17631,29 +17954,29 @@ } }, "@babel/helpers": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.7.tgz", - "integrity": "sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.6.tgz", + "integrity": "sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==", "requires": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.7", - "@babel/types": "^7.20.7" + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.6", + "@babel/types": "^7.22.5" } }, "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", + "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", "requires": { - "@babel/helper-validator-identifier": "^7.18.6", + "@babel/helper-validator-identifier": "^7.22.5", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz", - "integrity": "sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==" + "version": "7.22.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz", + "integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==" }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.18.6", @@ -17673,6 +17996,14 @@ "@babel/plugin-proposal-optional-chaining": "^7.20.7" } }, + "@babel/plugin-external-helpers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-external-helpers/-/plugin-external-helpers-7.22.5.tgz", + "integrity": "sha512-ngnNEWxmykPk82mH4ajZT0qTztr3Je6hrMuKAslZVM8G1YZTENJSYwrIGtt6KOtznug3exmAtF4so/nPqJuA4A==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, "@babel/plugin-proposal-async-generator-functions": { "version": "7.20.7", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", @@ -17918,11 +18249,11 @@ } }, "@babel/plugin-syntax-jsx": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", - "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-syntax-logical-assignment-operators": { @@ -17990,11 +18321,11 @@ } }, "@babel/plugin-syntax-typescript": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", - "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", "requires": { - "@babel/helper-plugin-utils": "^7.19.0" + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-arrow-functions": { @@ -18143,13 +18474,13 @@ } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz", - "integrity": "sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", + "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", "requires": { - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-simple-access": "^7.20.2" + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" } }, "@babel/plugin-transform-modules-systemjs": { @@ -18331,13 +18662,14 @@ } }, "@babel/plugin-transform-typescript": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.7.tgz", - "integrity": "sha512-m3wVKEvf6SoszD8pu4NZz3PvfKRCMgk6D6d0Qi9hNnlM5M6CFS92EgF4EiHVLKbU0r/r7ty1hg7NPZwE7WRbYw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.5.tgz", + "integrity": "sha512-SMubA9S7Cb5sGSFFUlqxyClTA9zWJ8qGQrppNUm05LtFuN1ELRFNndkix4zUJrC9F+YivWwa1dHMSyo0e0N9dA==", "requires": { - "@babel/helper-create-class-features-plugin": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-typescript": "^7.20.0" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.22.5" } }, "@babel/plugin-transform-unicode-escapes": { @@ -18465,13 +18797,15 @@ } }, "@babel/preset-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", - "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.22.5.tgz", + "integrity": "sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==", "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-typescript": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-typescript": "^7.22.5" } }, "@babel/runtime": { @@ -18483,39 +18817,39 @@ } }, "@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" } }, "@babel/traverse": { - "version": "7.20.12", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.12.tgz", - "integrity": "sha512-MsIbFN0u+raeja38qboyF8TIT7K0BFzz/Yd/77ta4MsUsmP2RAnidIlwq7d5HFQrH/OZJecGV6B71C4zAgpoSQ==", - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", - "@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.7", - "@babel/types": "^7.20.7", + "version": "7.22.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.8.tgz", + "integrity": "sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==", + "requires": { + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.7", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.22.7", + "@babel/types": "^7.22.5", "debug": "^4.1.0", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", - "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", "to-fast-properties": "^2.0.0" } }, @@ -18650,6 +18984,24 @@ "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==", "requires": {} }, + "@emotion/is-prop-valid": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz", + "integrity": "sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==", + "requires": { + "@emotion/memoize": "^0.8.1" + } + }, + "@emotion/memoize": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" + }, + "@emotion/unitless": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", + "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" + }, "@eslint/eslintrc": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", @@ -19275,6 +19627,12 @@ "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" }, + "@nicolo-ribaudo/chokidar-2": { + "version": "2.1.8-no-fsevents.3", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", + "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", + "optional": true + }, "@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", @@ -19299,6 +19657,11 @@ } } }, + "@nicolo-ribaudo/semver-v6": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/semver-v6/-/semver-v6-6.3.3.tgz", + "integrity": "sha512-3Yc1fUTs69MG/uZbJlLSI3JISMn2UV2rg+1D/vROUqZyh3l6iYHCs7GMp+M40ZD7yOdDbYjJcU1oTJhrc+dGKg==" + }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -19338,6 +19701,11 @@ "source-map": "^0.7.3" } }, + "@remix-run/router": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.7.1.tgz", + "integrity": "sha512-bgVQM4ZJ2u2CM8k1ey70o1ePFXsEzYVZoWghh6WjM8p59jQ7HxzbHW4SbnWFG7V9ig9chLawQxDTZ3xzOF8MkQ==" + }, "@rollup/plugin-babel": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", @@ -20142,6 +20510,11 @@ "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" }, + "@types/stylis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@types/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-n4sx2bqL0mW1tvDf/loQ+aMX7GQD3lc3fkCMC55VFNDu/vBOabO+LTIeXKM14xK0ppk5TUGcWRjiSpIlUpghKw==" + }, "@types/testing-library__jest-dom": { "version": "5.14.5", "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz", @@ -21139,14 +21512,14 @@ "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" }, "browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "version": "4.21.9", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", + "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", "requires": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" + "caniuse-lite": "^1.0.30001503", + "electron-to-chromium": "^1.4.431", + "node-releases": "^2.0.12", + "update-browserslist-db": "^1.0.11" } }, "bser": { @@ -21205,6 +21578,11 @@ "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" }, + "camelize": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", + "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==" + }, "caniuse-api": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", @@ -21217,9 +21595,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001442", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001442.tgz", - "integrity": "sha512-239m03Pqy0hwxYPYR5JwOIxRJfLTWtle9FV8zosfV5pHg+/51uD4nxcUlM8+mWWGfwKtt8lJNHnD3cWw9VZ6ow==" + "version": "1.0.30001514", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001514.tgz", + "integrity": "sha512-ENcIpYBmwAAOm/V2cXgM7rZUrKKaqisZl4ZAI520FIkqGXUxJjmaIssbRW5HVVR5tyV6ygTLIm15aU8LUmQSaQ==" }, "case-sensitive-paths-webpack-plugin": { "version": "2.4.0", @@ -21525,6 +21903,11 @@ "postcss-selector-parser": "^6.0.9" } }, + "css-color-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", + "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==" + }, "css-declaration-sorter": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", @@ -21655,6 +22038,16 @@ "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" }, + "css-to-react-native": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz", + "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==", + "requires": { + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^4.0.2" + } + }, "css-tree": { "version": "1.0.0-alpha.37", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", @@ -21793,9 +22186,9 @@ } }, "csstype": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", - "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" }, "damerau-levenshtein": { "version": "1.0.8", @@ -22100,9 +22493,9 @@ } }, "electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==" + "version": "1.4.455", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.455.tgz", + "integrity": "sha512-8tgdX0Odl24LtmLwxotpJCVjIndN559AvaOtd67u+2mo+IDsgsTF580NB+uuDCqsHw8yFg53l5+imFV9Fw3cbA==" }, "emittery": { "version": "0.8.1", @@ -23295,6 +23688,11 @@ "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==" }, + "fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==" + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -26007,9 +26405,9 @@ } }, "nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" }, "natural-compare": { "version": "1.4.0", @@ -26051,9 +26449,9 @@ "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" }, "node-releases": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", - "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==" + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" }, "normalize-path": { "version": "3.0.0", @@ -26462,11 +26860,11 @@ } }, "postcss": { - "version": "8.4.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", - "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", + "version": "8.4.25", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.25.tgz", + "integrity": "sha512-7taJ/8t2av0Z+sQEvNzCkpDynl0tX3uJMCODi6nT3PfASC7dYCWV9aQ+uiCf+KBD4SEFcu+GvJdGdwzQ6OSjCw==", "requires": { - "nanoid": "^3.3.4", + "nanoid": "^3.3.6", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" } @@ -27460,6 +27858,23 @@ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==" }, + "react-router": { + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.14.1.tgz", + "integrity": "sha512-U4PfgvG55LdvbQjg5Y9QRWyVxIdO1LlpYT7x+tMAxd9/vmiPuJhIwdxZuIQLN/9e3O4KFDHYfR9gzGeYMasW8g==", + "requires": { + "@remix-run/router": "1.7.1" + } + }, + "react-router-dom": { + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.14.1.tgz", + "integrity": "sha512-ssF6M5UkQjHK70fgukCJyjlda0Dgono2QGwqGvuk7D+EDGHdacEN3Yke2LTMjkrpHuFwBfDFsEjGVXBDmL+bWw==", + "requires": { + "@remix-run/router": "1.7.1", + "react-router": "6.14.1" + } + }, "react-scripts": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", @@ -28040,6 +28455,11 @@ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, + "shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -28325,6 +28745,32 @@ "integrity": "sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==", "requires": {} }, + "styled-components": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-6.0.3.tgz", + "integrity": "sha512-qEyWvDK4CYCyDckNIruRJIcQSvcUR3dVEw/fwxu1v0LFzUMPr2uf5PhXHp17FkGK+S4TkglOS+XIealo1MssQA==", + "requires": { + "@babel/cli": "^7.21.0", + "@babel/core": "^7.21.0", + "@babel/helper-module-imports": "^7.18.6", + "@babel/plugin-external-helpers": "^7.18.6", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.20.7", + "@babel/preset-env": "^7.20.2", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.21.0", + "@babel/traverse": "^7.21.2", + "@emotion/is-prop-valid": "^1.2.1", + "@emotion/unitless": "^0.8.0", + "@types/stylis": "^4.0.2", + "css-to-react-native": "^3.2.0", + "csstype": "^3.1.2", + "postcss": "^8.4.23", + "shallowequal": "^1.1.0", + "stylis": "^4.3.0", + "tslib": "^2.5.0" + } + }, "stylehacks": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", @@ -28334,6 +28780,11 @@ "postcss-selector-parser": "^6.0.4" } }, + "stylis": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.0.tgz", + "integrity": "sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ==" + }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -28662,9 +29113,9 @@ } }, "tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==" + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", + "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==" }, "tsutils": { "version": "3.21.0", @@ -28796,9 +29247,9 @@ "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" }, "update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", "requires": { "escalade": "^3.1.1", "picocolors": "^1.0.0" diff --git a/package.json b/package.json index 0efde29..5614b10 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,9 @@ "@testing-library/user-event": "^13.5.0", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-router-dom": "^6.14.1", "react-scripts": "^5.0.1", + "styled-components": "^6.0.3", "web-vitals": "^2.1.4" }, "scripts": { diff --git a/src/App.css b/src/App.css index 241da5c..96d5ccf 100644 --- a/src/App.css +++ b/src/App.css @@ -22,3 +22,20 @@ justify-content: space-between; padding: 0.4rem 5rem; } +.welcome { + font-size: 3rem; + background: -webkit-linear-gradient(#083fd0, #0179be, #00efc5); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; +} + +small { + color: #1b182e; + font-size: 1rem; +} + +h3 { + font-size: 1.5rem; + text-shadow: 0px 2px 2px rgba(255, 255, 255, 0.4); + font-weight: 500; +} diff --git a/src/App.jsx b/src/App.jsx index e09e305..1e86420 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,72 +1,63 @@ +/* eslint-disable react/jsx-no-constructed-context-values */ import React, { useState, useEffect } from 'react'; import './App.css'; +import { BrowserRouter, Route, Routes } from 'react-router-dom'; +import MyContext from './context/context'; +import Transaction from './pages/Transaction_Page/Transaction'; function App() { - const ApiKey = '4916f6bf3ce83e632400a62c535089a1'; - const [myCurrency, setMycurrency] = useState(); - const [currencies, setCurrencies] = useState(); - const [myCurrency1, setMycurrency1] = useState(); + const ApiKey = '9ae526ed6fbd187fe86fec56bea85500'; + const [baseCurrency, setMyBaseCurrency] = useState(''); + const [totalAmount, setTotalAmount] = useState(0); + const [dispWallet, setDispWallet] = useState(null); + const [wallet, setWallet] = useState([]); + const [fetchedCurrencyOptions, setFetchedCurrencyOptions] = useState([]); + const [modal, setModal] = useState(false); + const [fetchedCurrencyRates, setFetchedCurrencyRates] = useState([]); useEffect(() => { const fetchData = async () => { try { const response = await fetch( - `http://api.exchangeratesapi.io/v1/latest?access_key=${ApiKey}` + `http://data.fixer.io/api/latest?access_key=${ApiKey}` ); const data = await response.json(); - setCurrencies(data); - localStorage.setItem('rates', JSON.stringify(data)); + setFetchedCurrencyOptions([...Object.keys(data.rates)]); + setFetchedCurrencyRates(data); } catch (err) { console.error(err); } }; fetchData(); - // fetch(`https://api.freecurrencyapi.com/v1latest?apikey=${ApiKey}`, options) - // .then((response) => response.json()) - // .then((res) => { - // // const firstRate = Object.keys(res.results)[2]; - // // setCurrencyOptions([...Object.keys(res.results)]); - // // setExchangeRates(res.results); - // }) - // .catch((err) => console.error('error ocured', err)); }, []); - const saveToLs = () => { - const data = localStorage.setItem('currencies', JSON.stringify(myCurrency)); - console.log(data); - return data; - }; - const getFromLs = () => { - const data1 = localStorage.getItem('rates'); - const data2 = JSON.parse(data1); - setMycurrency1(data2); - console.log(data2); - return data2; + const toogleModal = () => { + setModal((prev) => !prev); }; + return ( -
- -
-

Welcome to the Exchange App

- setMycurrency(e.target.value)} - /> - - - {currencies ?

fetched and saved

:

still fetching

} - {/*

{currencies}

*/} -

{myCurrency1}

-
-
+ + + + } /> + + + ); } diff --git a/src/components/DepositModal/DepositModal.jsx b/src/components/DepositModal/DepositModal.jsx new file mode 100644 index 0000000..5d5c47d --- /dev/null +++ b/src/components/DepositModal/DepositModal.jsx @@ -0,0 +1,82 @@ +import React, { useState, useContext } from 'react'; +import { + Main, + MainM, + DepositInput, + DepositForm, + Inputsec, + Input, + Select, +} from './styles'; +import { Button } from '../../pages/Transaction_Page/styles'; +import MyContext from '../../context/context'; +import { saveToLocalStorage } from '../../services/utils'; + +function DepositModal() { + const [money, setMoney] = useState({ amount: 0, currency: '' }); + const { wallet, setWallet, fetchedCurrencyOptions, toogleModal } = + useContext(MyContext); + const depositToWallet = () => { + const update = wallet; + update.push(money); + setWallet([...update]); + saveToLocalStorage('wallet', [...update]); + }; + + const handleAmntChange = (e) => { + setMoney((prev) => ({ + ...prev, + amount: e.target.value, + })); + }; + + const handleCurrChange = (e) => { + setMoney((prev) => ({ + ...prev, + currency: e.target.value, + })); + }; + + return ( +
+ +

Make a deposit!

+ + { + e.preventDefault(e); + depositToWallet(); + toogleModal(); + }} + > + + + + + + + +
+
+ ); +} + +export default DepositModal; diff --git a/src/components/DepositModal/styles.jsx b/src/components/DepositModal/styles.jsx new file mode 100644 index 0000000..4c0487c --- /dev/null +++ b/src/components/DepositModal/styles.jsx @@ -0,0 +1,66 @@ +import { styled } from 'styled-components'; + +export const Main = styled.div` + width: 100vw; + height: 100vh; + position: absolute; + z-index: 20; + background-color: #5b5a7c78; + display: flex; + align-items: center; + top: 0; + left: 0; +`; + +export const MainM = styled.div` + width: 80vw; + max-width: 400px; + margin: auto; + justify-self: center; +`; + +export const DepositInput = styled.div` + background-color: #212121; + border-radius: 10px; + padding: 0.5rem 1.2rem; + width: 100%; + max-width: 380px; + margin: auto; + display: flex; + align-items: center; + justify-content: center; +`; + +export const DepositForm = styled.form` + display: flex; + flex-direction: column; + height: fit-content; + padding: 10px; + gap: 10px; + color: #fff; + justify-content: center; + align-items: center; +`; + +export const Inputsec = styled.div` + margin: auto; + display: flex; + gap: 0.8rem; + align-items: center; + justify-self: center; + margin: auto; +`; + +export const Input = styled.input` + padding: 0.5rem 0.8rem; + font-size: 1rem; + border-radius: 5px; + border: none; +`; + +export const Select = styled.select` + padding: 0.5rem 0.8rem; + font-size: 1rem; + border-radius: 5px; + border: none; +`; diff --git a/src/components/currency-card/CurrencyCard.jsx b/src/components/currency-card/CurrencyCard.jsx new file mode 100644 index 0000000..6a270ca --- /dev/null +++ b/src/components/currency-card/CurrencyCard.jsx @@ -0,0 +1,23 @@ +/* eslint-disable react/prop-types */ +import React from 'react'; +import './styles.css'; + +function CurrencyCard({ amount, currency }) { + return ( +
+
+

{amount}

+ currency icon +
+
+

{currency}

+ +
+
+ ); +} + +export default CurrencyCard; diff --git a/src/components/currency-card/currency-card.jsx b/src/components/currency-card/currency-card.jsx deleted file mode 100644 index 5750687..0000000 --- a/src/components/currency-card/currency-card.jsx +++ /dev/null @@ -1,8 +0,0 @@ -import React from 'react'; -import './styles.css'; - -function currencyCard() { - return
currency-card
; -} - -export default currencyCard; diff --git a/src/components/currency-card/styles.css b/src/components/currency-card/styles.css index e69de29..bad9fe9 100644 --- a/src/components/currency-card/styles.css +++ b/src/components/currency-card/styles.css @@ -0,0 +1,45 @@ +.main { + margin: auto; + width: 80vw; + max-width: 280px; + display: flex; + align-items: center; + justify-content: space-between; + background-color: #5a6a92; + padding: 0.5rem 1rem; + border-radius: 10px; + font-size: 1.2rem; + font-weight: 600; +} + +.cardleft, +.cardright { + display: flex; + flex-direction: column; + gap: 1rem; + margin: auto; + justify-content: space-between; + min-height: 70px; +} + +.cardleft { + justify-self: flex-start; +} + +.cardright { + justify-self: flex-end; + align-items: center; +} + +.cardleft img { + width: 20%; + height: 20%; +} + +.cardright button { + background-color: #00efc5; + color: #fcfcfc; + padding: 0.2rem 1rem; + font-size: 1.2rem; + border-radius: 10px; +} diff --git a/src/components/mavbar.jsx b/src/components/mavbar.jsx new file mode 100644 index 0000000..ed3812c --- /dev/null +++ b/src/components/mavbar.jsx @@ -0,0 +1,13 @@ +import React from 'react'; +import '../App.css'; + +function Navbar() { + return ( + + ); +} + +export default Navbar; diff --git a/src/context/context.jsx b/src/context/context.jsx new file mode 100644 index 0000000..c6e87b9 --- /dev/null +++ b/src/context/context.jsx @@ -0,0 +1,5 @@ +import { createContext } from 'react'; + +const MyContext = createContext(); + +export default MyContext; diff --git a/src/index.css b/src/index.css index ec2585e..bc0b055 100644 --- a/src/index.css +++ b/src/index.css @@ -1,3 +1,9 @@ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', @@ -11,3 +17,8 @@ code { font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace; } + +button { + cursor: pointer; + border: none; +} diff --git a/src/pages/Transaction_Page/Transaction.jsx b/src/pages/Transaction_Page/Transaction.jsx new file mode 100644 index 0000000..6cadfe4 --- /dev/null +++ b/src/pages/Transaction_Page/Transaction.jsx @@ -0,0 +1,76 @@ +import React, { useContext, useEffect } from 'react'; +import { + Main, + Hero, + TransactionSection, + Total, + Button, + HeroRight, + HeroLeft, + HeroImg, + WalletMain, +} from './styles'; +import Navbar from '../../components/mavbar'; +import '../../App.css'; +import DepositModal from '../../components/DepositModal/DepositModal'; +import MyContext from '../../context/context'; +import { getFromLocalStorage } from '../../services/utils'; +import CurrencyCard from '../../components/currency-card/CurrencyCard'; + +function Transaction() { + const { modal, toogleModal, dispWallet, setDispWallet } = + useContext(MyContext); + useEffect(() => { + const walletFromLocalStorage = getFromLocalStorage('wallet') || []; + setDispWallet(walletFromLocalStorage); + }, []); + return ( +
+ + + +

Welcome to the Exchange App

+

The Future of Exchange is here

+ + Lorem ipsum dolor sit amet consectetur, adipisicing elit. Eius unde + accusamus maiores est exercitationem, incidunt rerum alias, numquam + optio aut officiis! Beatae corporis velit labore porro. Culpa + dolores voluptatum vero. Lorem ipsum dolor sit amet consectetur + adipisicing elit. Eius rerum ipsum natus quis unde minima laborum + nobis est deleniti, quas, impedit architecto possimus consectetur + laudantium asperiores. Assumenda libero temporibus exercitationem. + +
+ + + +
+ + +

+ Amount + Currency +

+ +
+ + {dispWallet?.map((money) => ( + + ))} + +
+ {modal && } +
+ ); +} + +export default Transaction; diff --git a/src/pages/Transaction_Page/styles.jsx b/src/pages/Transaction_Page/styles.jsx new file mode 100644 index 0000000..04eb15d --- /dev/null +++ b/src/pages/Transaction_Page/styles.jsx @@ -0,0 +1,90 @@ +import { styled } from 'styled-components'; + +export const Main = styled.div` + width: 100vw; + height: fit-content; + min-height: 100vh; + position: relative; + background-color: #131313; + color: #fefefe; +`; + +export const Hero = styled.div` + width: 100vw; + background-color: #7280a2; + height: fit-content; + min-height: 40vh; + display: flex; + flex-direction: column; + align-items: center; + padding: 0.5rem 1.5rem; + @media only screen and (min-width: 500px) { + flex-direction: row; + justify-content: space-between; + gap: 2rem; + padding: 2rem 5rem; + } +`; + +export const HeroRight = styled.div` + text-align: center; + width: 90vw; + + @media only screen and (min-width: 500px) { + text-align: left; + } +`; + +export const HeroLeft = styled.div` + width: 90vw; + display: flex; + justify-content: center; +`; + +export const HeroImg = styled.img` + width: 90vw; + max-width: 400px; +`; + +export const Button = styled.button` + background-color: #00efc5; + cursor: pointer; + color: #fefefe; + font-size: 1.5rem; + border-radius: 25px; + padding: 0.5rem 1rem; + border: none; + transition: 0.4s ease-in-out; + &:hover { + color: #00efc5; + cursor: pointer; + background-color: #fefefe; + } + @media only screen and (max-width: 426px) { + font-size: 1.1rem; + } +`; + +export const TransactionSection = styled.div` + width: 97vw; + max-width: 1000px; + margin: auto; + display: flex; + flex-direction: column; + padding: 1.5rem 1.9rem; +`; + +export const Total = styled.div` + width: 100%; + display: flex; + justify-content: space-between; +`; + +export const WalletMain = styled.div` + display: grid; + grid-template-columns: auto auto auto; + align-items: center; + padding: 0.8rem 1.2rem; + width: 97vw; + max-width: 1280px; +`; diff --git a/src/services/utils.jsx b/src/services/utils.jsx new file mode 100644 index 0000000..8e6d292 --- /dev/null +++ b/src/services/utils.jsx @@ -0,0 +1,5 @@ +export const getFromLocalStorage = (key) => + JSON.parse(localStorage.getItem(key)); + +export const saveToLocalStorage = (key, value) => + localStorage.setItem(key, JSON.stringify(value)); From 0f06420049c3d35efe6b51bcbc403eb44f75b637 Mon Sep 17 00:00:00 2001 From: Kiven Alaric Date: Wed, 12 Jul 2023 11:32:48 -0500 Subject: [PATCH 03/27] addition of styling on app.css and removal of console.log --- src/App.css | 1 + src/App.jsx | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/App.css b/src/App.css index 96d5ccf..d067000 100644 --- a/src/App.css +++ b/src/App.css @@ -25,6 +25,7 @@ .welcome { font-size: 3rem; background: -webkit-linear-gradient(#083fd0, #0179be, #00efc5); + background-clip: initial; -webkit-background-clip: text; -webkit-text-fill-color: transparent; } diff --git a/src/App.jsx b/src/App.jsx index 1e86420..94b0026 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -7,7 +7,10 @@ import Transaction from './pages/Transaction_Page/Transaction'; function App() { const ApiKey = '9ae526ed6fbd187fe86fec56bea85500'; - const [baseCurrency, setMyBaseCurrency] = useState(''); + const [baseCurrency, setMyBaseCurrency] = useState({ + baseAmnt: 0, + baseCurr: '', + }); const [totalAmount, setTotalAmount] = useState(0); const [dispWallet, setDispWallet] = useState(null); const [wallet, setWallet] = useState([]); @@ -25,7 +28,7 @@ function App() { setFetchedCurrencyOptions([...Object.keys(data.rates)]); setFetchedCurrencyRates(data); } catch (err) { - console.error(err); + throw new Error(err); } }; fetchData(); From 9bc900882b5fe99a7f150c53a8e4cea9e8234e3f Mon Sep 17 00:00:00 2001 From: Kiven Alaric Date: Thu, 13 Jul 2023 23:33:39 -0500 Subject: [PATCH 04/27] integration of deposit function and adjustment on styling --- src/App.jsx | 4 ++++ src/components/DepositModal/DepositModal.jsx | 25 +++++++++++++++++--- src/pages/Transaction_Page/Transaction.jsx | 11 +++------ src/pages/Transaction_Page/styles.jsx | 14 +++++++++-- 4 files changed, 41 insertions(+), 13 deletions(-) diff --git a/src/App.jsx b/src/App.jsx index 94b0026..d7080e3 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -4,6 +4,7 @@ import './App.css'; import { BrowserRouter, Route, Routes } from 'react-router-dom'; import MyContext from './context/context'; import Transaction from './pages/Transaction_Page/Transaction'; +import { getFromLocalStorage } from './services/utils'; function App() { const ApiKey = '9ae526ed6fbd187fe86fec56bea85500'; @@ -32,6 +33,9 @@ function App() { } }; fetchData(); + + const walletFromLocalStorage = getFromLocalStorage('wallet') || []; + setDispWallet(walletFromLocalStorage); }, []); const toogleModal = () => { diff --git a/src/components/DepositModal/DepositModal.jsx b/src/components/DepositModal/DepositModal.jsx index 5d5c47d..fff13fc 100644 --- a/src/components/DepositModal/DepositModal.jsx +++ b/src/components/DepositModal/DepositModal.jsx @@ -14,12 +14,31 @@ import { saveToLocalStorage } from '../../services/utils'; function DepositModal() { const [money, setMoney] = useState({ amount: 0, currency: '' }); - const { wallet, setWallet, fetchedCurrencyOptions, toogleModal } = - useContext(MyContext); + const { + wallet, + dispWallet, + setDispWallet, + fetchedCurrencyOptions, + toogleModal, + } = useContext(MyContext); const depositToWallet = () => { + const prevCur = dispWallet.find((wall) => wall.currency === money.currency); + if (prevCur) { + const update = dispWallet.map((cur) => { + if (cur.currency === money.currency) { + return { ...cur, amount: +cur.amount + +money.amount }; + } + return cur; + }); + + setDispWallet([...update]); + saveToLocalStorage('wallet', [...update]); + return; + } const update = wallet; update.push(money); - setWallet([...update]); + setDispWallet([...update]); + saveToLocalStorage('wallet', [...update]); }; diff --git a/src/pages/Transaction_Page/Transaction.jsx b/src/pages/Transaction_Page/Transaction.jsx index 6cadfe4..32e2fb9 100644 --- a/src/pages/Transaction_Page/Transaction.jsx +++ b/src/pages/Transaction_Page/Transaction.jsx @@ -1,4 +1,4 @@ -import React, { useContext, useEffect } from 'react'; +import React, { useContext } from 'react'; import { Main, Hero, @@ -14,16 +14,11 @@ import Navbar from '../../components/mavbar'; import '../../App.css'; import DepositModal from '../../components/DepositModal/DepositModal'; import MyContext from '../../context/context'; -import { getFromLocalStorage } from '../../services/utils'; import CurrencyCard from '../../components/currency-card/CurrencyCard'; function Transaction() { - const { modal, toogleModal, dispWallet, setDispWallet } = - useContext(MyContext); - useEffect(() => { - const walletFromLocalStorage = getFromLocalStorage('wallet') || []; - setDispWallet(walletFromLocalStorage); - }, []); + const { modal, toogleModal, dispWallet } = useContext(MyContext); + return (
diff --git a/src/pages/Transaction_Page/styles.jsx b/src/pages/Transaction_Page/styles.jsx index 04eb15d..527ba1a 100644 --- a/src/pages/Transaction_Page/styles.jsx +++ b/src/pages/Transaction_Page/styles.jsx @@ -67,9 +67,10 @@ export const Button = styled.button` export const TransactionSection = styled.div` width: 97vw; - max-width: 1000px; + max-width: 1200px; margin: auto; display: flex; + align-items: center; flex-direction: column; padding: 1.5rem 1.9rem; `; @@ -86,5 +87,14 @@ export const WalletMain = styled.div` align-items: center; padding: 0.8rem 1.2rem; width: 97vw; - max-width: 1280px; + margin: 'auto'; + max-width: 1000px; + @media only screen and (max-width: 798px) { + grid-template-columns: auto auto; + } + @media only screen and (max-width: 425px) { + display: flex; + flex-direction: 'column'; + align-items: center; + } `; From b6c897d6a9a8f68bc1e5775d7f379aa0e5b2872b Mon Sep 17 00:00:00 2001 From: Kiven Alaric Date: Fri, 14 Jul 2023 19:43:22 -0500 Subject: [PATCH 05/27] addition of default input section --- src/App.jsx | 7 +++ src/components/DepositModal/DepositModal.jsx | 2 + .../currency-card/CloseBtn/CloseBtn.jsx | 25 +++++++++ src/pages/Transaction_Page/Transaction.jsx | 51 ++++++++++++++++++- src/pages/Transaction_Page/styles.jsx | 26 +++++++++- 5 files changed, 108 insertions(+), 3 deletions(-) create mode 100644 src/components/currency-card/CloseBtn/CloseBtn.jsx diff --git a/src/App.jsx b/src/App.jsx index d7080e3..f6b3402 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -17,6 +17,7 @@ function App() { const [wallet, setWallet] = useState([]); const [fetchedCurrencyOptions, setFetchedCurrencyOptions] = useState([]); const [modal, setModal] = useState(false); + const [modal2, setModal2] = useState(false); const [fetchedCurrencyRates, setFetchedCurrencyRates] = useState([]); useEffect(() => { @@ -38,6 +39,10 @@ function App() { setDispWallet(walletFromLocalStorage); }, []); + const toogleModal2 = () => { + setModal2((prev) => !prev); + }; + const toogleModal = () => { setModal((prev) => !prev); }; @@ -57,6 +62,8 @@ function App() { setDispWallet, totalAmount, setTotalAmount, + toogleModal2, + modal2, }} > diff --git a/src/components/DepositModal/DepositModal.jsx b/src/components/DepositModal/DepositModal.jsx index fff13fc..1e1073b 100644 --- a/src/components/DepositModal/DepositModal.jsx +++ b/src/components/DepositModal/DepositModal.jsx @@ -11,6 +11,7 @@ import { import { Button } from '../../pages/Transaction_Page/styles'; import MyContext from '../../context/context'; import { saveToLocalStorage } from '../../services/utils'; +import CloseBtn from '../currency-card/CloseBtn/CloseBtn'; function DepositModal() { const [money, setMoney] = useState({ amount: 0, currency: '' }); @@ -58,6 +59,7 @@ function DepositModal() { return (
+

Make a deposit!

diff --git a/src/components/currency-card/CloseBtn/CloseBtn.jsx b/src/components/currency-card/CloseBtn/CloseBtn.jsx new file mode 100644 index 0000000..2a43974 --- /dev/null +++ b/src/components/currency-card/CloseBtn/CloseBtn.jsx @@ -0,0 +1,25 @@ +/* eslint-disable react/prop-types */ +import React from 'react'; +import { styled } from 'styled-components'; + +const CloseModal = styled.button` + border: none; + font-size: 1.5rem; + position: absolute; + right: 0; + top: 0; + font-weight: 700; + padding: 0.5rem 1rem; + background: none; + color: #fcfcfc; +`; + +function CloseBtn({ onClick }) { + return ( + + X + + ); +} + +export default CloseBtn; diff --git a/src/pages/Transaction_Page/Transaction.jsx b/src/pages/Transaction_Page/Transaction.jsx index 32e2fb9..f44af9f 100644 --- a/src/pages/Transaction_Page/Transaction.jsx +++ b/src/pages/Transaction_Page/Transaction.jsx @@ -9,15 +9,41 @@ import { HeroLeft, HeroImg, WalletMain, + Select, + AddBaseCurrSec, } from './styles'; import Navbar from '../../components/mavbar'; import '../../App.css'; import DepositModal from '../../components/DepositModal/DepositModal'; import MyContext from '../../context/context'; import CurrencyCard from '../../components/currency-card/CurrencyCard'; +import CloseBtn from '../../components/currency-card/CloseBtn/CloseBtn'; +import { saveToLocalStorage } from '../../services/utils'; function Transaction() { - const { modal, toogleModal, dispWallet } = useContext(MyContext); + const { + modal, + modal2, + baseCurrency, + setMyBaseCurrency, + toogleModal, + fetchedCurrencyOptions, + toogleModal2, + dispWallet, + } = useContext(MyContext); + + const handleCurrChange = (e) => { + setMyBaseCurrency((prev) => ({ + ...prev, + currency: e.target.value, + })); + }; + + const addBaseCurrency = () => { + const base = baseCurrency; + saveToLocalStorage(base); + toogleModal2(); + }; return (
@@ -45,6 +71,29 @@ function Transaction() { + + {modal2 && ( + + + + + + )}

Amount Currency diff --git a/src/pages/Transaction_Page/styles.jsx b/src/pages/Transaction_Page/styles.jsx index 527ba1a..b16f34a 100644 --- a/src/pages/Transaction_Page/styles.jsx +++ b/src/pages/Transaction_Page/styles.jsx @@ -47,10 +47,10 @@ export const HeroImg = styled.img` `; export const Button = styled.button` - background-color: #00efc5; + background-color: #042061; cursor: pointer; color: #fefefe; - font-size: 1.5rem; + font-size: 1.2rem; border-radius: 25px; padding: 0.5rem 1rem; border: none; @@ -81,6 +81,28 @@ export const Total = styled.div` justify-content: space-between; `; +export const AddBaseCurrSec = styled.div` + display: flex; + position: absolute; + z-index: 10; + /* margin: auto; */ + gap: 0.8rem; + background-color: #5b5a7c78; + justify-content: center; + width: 100vw; + height: 100vh; + align-items: center; + top: 0; + left: 0; +`; + +export const Select = styled.select` + padding: 0.5rem 0.8rem; + font-size: 1rem; + border-radius: 5px; + border: none; +`; + export const WalletMain = styled.div` display: grid; grid-template-columns: auto auto auto; From 45a61f9e0e842c7a2eb5a54445ac8083cb7cba10 Mon Sep 17 00:00:00 2001 From: Kiven Alaric Date: Tue, 25 Jul 2023 11:54:24 -0500 Subject: [PATCH 06/27] creation of transfer modal --- package-lock.json | 66 +++++++++++++ package.json | 1 + src/App.jsx | 39 ++++++-- src/App.test.js | 1 + src/components/DepositModal/DepositModal.jsx | 19 +++- src/components/currency-card/CurrencyCard.jsx | 6 +- src/components/transfer/TransferModal.jsx | 93 +++++++++++++++++++ src/pages/Transaction_Page/Transaction.jsx | 44 +++++---- src/services/utils.jsx | 30 ++++++ 9 files changed, 263 insertions(+), 36 deletions(-) create mode 100644 src/components/transfer/TransferModal.jsx diff --git a/package-lock.json b/package-lock.json index 70ed0b1..f8fc927 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,6 +13,7 @@ "@testing-library/user-event": "^13.5.0", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-modal": "^3.16.1", "react-router-dom": "^6.14.1", "react-scripts": "^5.0.1", "styled-components": "^6.0.3", @@ -7996,6 +7997,11 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/exenv": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz", + "integrity": "sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw==" + }, "node_modules/exit": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", @@ -14636,6 +14642,29 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, + "node_modules/react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, + "node_modules/react-modal": { + "version": "3.16.1", + "resolved": "https://registry.npmjs.org/react-modal/-/react-modal-3.16.1.tgz", + "integrity": "sha512-VStHgI3BVcGo7OXczvnJN7yT2TWHJPDXZWyI/a0ssFNhGZWsPmB8cF0z33ewDXq4VfYMO1vXgiv/g8Nj9NDyWg==", + "dependencies": { + "exenv": "^1.2.0", + "prop-types": "^15.7.2", + "react-lifecycles-compat": "^3.0.0", + "warning": "^4.0.3" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "react": "^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18", + "react-dom": "^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18" + } + }, "node_modules/react-refresh": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", @@ -16675,6 +16704,14 @@ "makeerror": "1.0.12" } }, + "node_modules/warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, "node_modules/watchpack": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", @@ -23252,6 +23289,11 @@ "strip-final-newline": "^2.0.0" } }, + "exenv": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz", + "integrity": "sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw==" + }, "exit": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", @@ -27853,6 +27895,22 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, + "react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, + "react-modal": { + "version": "3.16.1", + "resolved": "https://registry.npmjs.org/react-modal/-/react-modal-3.16.1.tgz", + "integrity": "sha512-VStHgI3BVcGo7OXczvnJN7yT2TWHJPDXZWyI/a0ssFNhGZWsPmB8cF0z33ewDXq4VfYMO1vXgiv/g8Nj9NDyWg==", + "requires": { + "exenv": "^1.2.0", + "prop-types": "^15.7.2", + "react-lifecycles-compat": "^3.0.0", + "warning": "^4.0.3" + } + }, "react-refresh": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", @@ -29342,6 +29400,14 @@ "makeerror": "1.0.12" } }, + "warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "requires": { + "loose-envify": "^1.0.0" + } + }, "watchpack": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", diff --git a/package.json b/package.json index 5614b10..e3e2aa8 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "@testing-library/user-event": "^13.5.0", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-modal": "^3.16.1", "react-router-dom": "^6.14.1", "react-scripts": "^5.0.1", "styled-components": "^6.0.3", diff --git a/src/App.jsx b/src/App.jsx index f6b3402..ed7f356 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -4,10 +4,14 @@ import './App.css'; import { BrowserRouter, Route, Routes } from 'react-router-dom'; import MyContext from './context/context'; import Transaction from './pages/Transaction_Page/Transaction'; -import { getFromLocalStorage } from './services/utils'; +import { + getFromLocalStorage, + saveToLocalStorage, + toBaseCurrency, +} from './services/utils'; function App() { - const ApiKey = '9ae526ed6fbd187fe86fec56bea85500'; + const ApiKey = '4916f6bf3ce83e632400a62c535089a2'; const [baseCurrency, setMyBaseCurrency] = useState({ baseAmnt: 0, baseCurr: '', @@ -15,10 +19,11 @@ function App() { const [totalAmount, setTotalAmount] = useState(0); const [dispWallet, setDispWallet] = useState(null); const [wallet, setWallet] = useState([]); - const [fetchedCurrencyOptions, setFetchedCurrencyOptions] = useState([]); + // const [fetchedCurrencyOptions, setFetchedCurrencyOptions] = useState([]); const [modal, setModal] = useState(false); + const [transModal, setTransModal] = useState(false); const [modal2, setModal2] = useState(false); - const [fetchedCurrencyRates, setFetchedCurrencyRates] = useState([]); + const [fetchedCurrencyRates, setFetchedCurrencyRates] = useState({}); useEffect(() => { const fetchData = async () => { @@ -27,8 +32,19 @@ function App() { `http://data.fixer.io/api/latest?access_key=${ApiKey}` ); const data = await response.json(); - setFetchedCurrencyOptions([...Object.keys(data.rates)]); - setFetchedCurrencyRates(data); + console.log(data); + // setFetchedCurrencyOptions([ + // { + // ...fetchedCurrencyOptions, + // currency: [...Object.keys(data.rates)], + // rates: data, + // }, + // ]); + // setFetchedCurrencyOptions([...Object.keys(data.rates)]); + setFetchedCurrencyRates(data.rates); + setMyBaseCurrency((prev) => ({ ...prev, baseCurr: data.base })); + saveToLocalStorage('baseCurr', data.base); + saveToLocalStorage('baseAmount', 0); } catch (err) { throw new Error(err); } @@ -36,6 +52,9 @@ function App() { fetchData(); const walletFromLocalStorage = getFromLocalStorage('wallet') || []; + toBaseCurrency(walletFromLocalStorage, baseCurrency, fetchedCurrencyRates); + const basetotal = getFromLocalStorage('baseAmnt') || 0; + setMyBaseCurrency((prev) => ({ ...prev, baseAmnt: basetotal })); setDispWallet(walletFromLocalStorage); }, []); @@ -47,10 +66,14 @@ function App() { setModal((prev) => !prev); }; + const toogleTransModal = () => { + setTransModal((prev) => !prev); + }; + return ( diff --git a/src/App.test.js b/src/App.test.js index 1f03afe..9d7ca92 100644 --- a/src/App.test.js +++ b/src/App.test.js @@ -1,3 +1,4 @@ +/* eslint-disable no-undef */ import { render, screen } from '@testing-library/react'; import App from './App'; diff --git a/src/components/DepositModal/DepositModal.jsx b/src/components/DepositModal/DepositModal.jsx index 1e1073b..43ba7b5 100644 --- a/src/components/DepositModal/DepositModal.jsx +++ b/src/components/DepositModal/DepositModal.jsx @@ -10,7 +10,7 @@ import { } from './styles'; import { Button } from '../../pages/Transaction_Page/styles'; import MyContext from '../../context/context'; -import { saveToLocalStorage } from '../../services/utils'; +import { saveToLocalStorage, toBaseCurrency } from '../../services/utils'; import CloseBtn from '../currency-card/CloseBtn/CloseBtn'; function DepositModal() { @@ -19,9 +19,12 @@ function DepositModal() { wallet, dispWallet, setDispWallet, - fetchedCurrencyOptions, + fetchedCurrencyRates, toogleModal, + baseCurrency, + setMyBaseCurrency, } = useContext(MyContext); + const depositToWallet = () => { const prevCur = dispWallet.find((wall) => wall.currency === money.currency); if (prevCur) { @@ -32,6 +35,11 @@ function DepositModal() { return cur; }); + // calculate baseAmount; + const res = toBaseCurrency(update, baseCurrency, fetchedCurrencyRates); + // console.log({ res, update, baseCurrency, fetchedCurrencyRates }); + setMyBaseCurrency((prev) => ({ ...prev, baseAmnt: res })); + setDispWallet([...update]); saveToLocalStorage('wallet', [...update]); return; @@ -39,7 +47,9 @@ function DepositModal() { const update = wallet; update.push(money); setDispWallet([...update]); - + const res = toBaseCurrency(update, baseCurrency, fetchedCurrencyRates); + // console.log({ res, update, baseCurrency, fetchedCurrencyRates }); + setMyBaseCurrency((prev) => ({ ...prev, baseAmnt: res })); saveToLocalStorage('wallet', [...update]); }; @@ -85,9 +95,10 @@ function DepositModal() { value={money.currency} onChange={handleCurrChange} > - {fetchedCurrencyOptions.map((option) => ( + {[...Object.keys(fetchedCurrencyRates)].map((option) => ( ))} diff --git a/src/components/currency-card/CurrencyCard.jsx b/src/components/currency-card/CurrencyCard.jsx index 6a270ca..7ac2e8f 100644 --- a/src/components/currency-card/CurrencyCard.jsx +++ b/src/components/currency-card/CurrencyCard.jsx @@ -2,7 +2,7 @@ import React from 'react'; import './styles.css'; -function CurrencyCard({ amount, currency }) { +function CurrencyCard({ amount, currency, onClick }) { return (
@@ -14,7 +14,9 @@ function CurrencyCard({ amount, currency }) {

{currency}

- +
); diff --git a/src/components/transfer/TransferModal.jsx b/src/components/transfer/TransferModal.jsx new file mode 100644 index 0000000..8d7005b --- /dev/null +++ b/src/components/transfer/TransferModal.jsx @@ -0,0 +1,93 @@ +/* eslint-disable no-return-assign */ +/* eslint-disable react/jsx-no-bind */ +import React, { useContext, useState } from 'react'; +import { styled } from 'styled-components'; +import MyContext from '../../context/context'; + +const Modal = styled.div` + display: flex; + z-index: 5; + position: absolute; + justify-self: center; + flex-direction: column; + top: 40%; + left: 40%; + padding: 10; +`; + +const CurrencySec = styled.div` + display: flex; + gap: 1.2rem; +`; + +export const Select = styled.select` + padding: 0.5rem 0.8rem; + font-size: 1rem; + border-radius: 5px; + border: none; +`; + +function TransferModal() { + const { fetchedCurrencyRates, toogleTransModal } = useContext(MyContext); + const [amount, setAmount] = useState(''); + const [fromCurrency, setFromCurrency] = useState(''); + const [toCurrency, setToCurrency] = useState(''); + + const transferMoney = (e) => { + e.preventDefault(); + console.log(fromCurrency, toCurrency, amount); + toogleTransModal(); + }; + + return ( + +

Make a Transfer

+ + +
+ setAmount(() => e.target.value)} + /> +

Transfere From-To

+ + + + + +
+
+ ); +} + +export default TransferModal; diff --git a/src/pages/Transaction_Page/Transaction.jsx b/src/pages/Transaction_Page/Transaction.jsx index f44af9f..36561f2 100644 --- a/src/pages/Transaction_Page/Transaction.jsx +++ b/src/pages/Transaction_Page/Transaction.jsx @@ -18,7 +18,8 @@ import DepositModal from '../../components/DepositModal/DepositModal'; import MyContext from '../../context/context'; import CurrencyCard from '../../components/currency-card/CurrencyCard'; import CloseBtn from '../../components/currency-card/CloseBtn/CloseBtn'; -import { saveToLocalStorage } from '../../services/utils'; +import { saveToLocalStorage, toBaseCurrency } from '../../services/utils'; +import TransferModal from '../../components/transfer/TransferModal'; function Transaction() { const { @@ -27,21 +28,21 @@ function Transaction() { baseCurrency, setMyBaseCurrency, toogleModal, - fetchedCurrencyOptions, + // fetchedCurrencyOptions, + fetchedCurrencyRates, toogleModal2, dispWallet, + transModal, + toogleTransModal, } = useContext(MyContext); - const handleCurrChange = (e) => { - setMyBaseCurrency((prev) => ({ - ...prev, - currency: e.target.value, - })); - }; - - const addBaseCurrency = () => { - const base = baseCurrency; - saveToLocalStorage(base); + const addBaseCurrency = (e) => { + const base = e.target.value; + setMyBaseCurrency({ ...baseCurrency, baseCurr: base }); + const res = toBaseCurrency(dispWallet, baseCurrency, fetchedCurrencyRates); + console.log({ dispWallet, baseCurrency, fetchedCurrencyRates }); + setMyBaseCurrency((prev) => ({ ...prev, baseAmnt: res })); + saveToLocalStorage('default', base); toogleModal2(); }; @@ -77,26 +78,21 @@ function Transaction() { {modal2 && ( - + {[...Object.keys(fetchedCurrencyRates)].map((option) => ( ))} - + */} )}

- Amount - Currency + {baseCurrency.baseAmnt} + {baseCurrency.baseCurr}

); diff --git a/src/services/utils.jsx b/src/services/utils.jsx index 8e6d292..64ced8b 100644 --- a/src/services/utils.jsx +++ b/src/services/utils.jsx @@ -1,5 +1,35 @@ +/* eslint-disable no-plusplus */ export const getFromLocalStorage = (key) => JSON.parse(localStorage.getItem(key)); export const saveToLocalStorage = (key, value) => localStorage.setItem(key, JSON.stringify(value)); + +// export const toBaseCurrency = (wallets, baseCurrency, rates) => { +// let total = 0; +// for (let i = 0; i < wallets.length; i++) { +// const wallet = wallets[i]; +// let { amount } = wallet; +// const { currency } = wallet; +// if (currency !== baseCurrency) { +// amount *= baseCurrency; +// } +// total += amount; +// } +// return total; +// }; + +export const toBaseCurrency = (wallets, baseCurrency, rates) => { + let total = 0; + wallets.forEach(({ currency, amount }) => { + if (currency === baseCurrency.baseCurr) { + total += +wallets.amount; + } else { + // calculate exhange; + const res = (+amount / rates[currency]) * rates[baseCurrency.baseCurr]; + total += res; + } + }); + saveToLocalStorage('baseAmount', total); + return total; +}; From e5d7a7f7e78075ac67ce6714d871cc07c0c6b80a Mon Sep 17 00:00:00 2001 From: Kiven Alaric Date: Wed, 26 Jul 2023 14:34:38 -0500 Subject: [PATCH 07/27] addition of transfer function --- src/components/transfer/TransferModal.jsx | 34 +++++++++++++++++++++-- src/services/utils.jsx | 29 +++++++++++++++++++ 2 files changed, 60 insertions(+), 3 deletions(-) diff --git a/src/components/transfer/TransferModal.jsx b/src/components/transfer/TransferModal.jsx index 8d7005b..0919b12 100644 --- a/src/components/transfer/TransferModal.jsx +++ b/src/components/transfer/TransferModal.jsx @@ -28,15 +28,43 @@ export const Select = styled.select` `; function TransferModal() { - const { fetchedCurrencyRates, toogleTransModal } = useContext(MyContext); + const { fetchedCurrencyRates, toogleTransModal, dispWallet, setDispWallet } = + useContext(MyContext); const [amount, setAmount] = useState(''); const [fromCurrency, setFromCurrency] = useState(''); const [toCurrency, setToCurrency] = useState(''); + // const transferMoney = (e) => { + // e.preventDefault(); + // console.log(fromCurrency, toCurrency, amount); + // toogleTransModal(); + // }; const transferMoney = (e) => { e.preventDefault(); - console.log(fromCurrency, toCurrency, amount); - toogleTransModal(); + // find the index of the 'from' wallet in the array + const fromIndex = dispWallet.findIndex( + (wallet) => wallet.currency === fromCurrency + ); + if (fromIndex === -1) { + throw new Error(`Wallet ${fromCurrency} not found`); + } + // find the index of the 'to' wallet in the array + const toIndex = dispWallet.findIndex( + (wallet) => wallet.currency === toCurrency + ); + if (toIndex === -1) { + throw new Error(`Wallet ${toCurrency} not found`); + } + // check if the 'from' wallet has enough balance + if (dispWallet[fromIndex].amount < amount) { + throw new Error(`Insufficient balance in ${fromCurrency} wallet`); + } + // update the wallets array with the transferred amount + const updatedWallets = [...dispWallet]; + updatedWallets[fromIndex].amount -= amount; + updatedWallets[toIndex].amount += amount; + // update the state with the new wallets array + setDispWallet(updatedWallets); }; return ( diff --git a/src/services/utils.jsx b/src/services/utils.jsx index 64ced8b..f0dabf1 100644 --- a/src/services/utils.jsx +++ b/src/services/utils.jsx @@ -33,3 +33,32 @@ export const toBaseCurrency = (wallets, baseCurrency, rates) => { saveToLocalStorage('baseAmount', total); return total; }; + +// export const transferMoney = (wallet, fromCurr, toCCurr) => { +// let amount; +// } + +// export const transferMoney = (amount, fromCurrency, toCurrency) => { +// // find the index of the 'from' wallet in the array +// const fromIndex = wallets.findIndex( +// (wallet) => wallet.currency === fromCurrency +// ); +// if (fromIndex === -1) { +// throw new Error(`Wallet ${fromCurrency} not found`); +// } +// // find the index of the 'to' wallet in the array +// const toIndex = wallets.findIndex((wallet) => wallet.currency === toCurrency); +// if (toIndex === -1) { +// throw new Error(`Wallet ${toCurrency} not found`); +// } +// // check if the 'from' wallet has enough balance +// if (wallets[fromIndex].amount < amount) { +// throw new Error(`Insufficient balance in ${fromCurrency} wallet`); +// } +// // update the wallets array with the transferred amount +// const updatedWallets = [...wallets]; +// updatedWallets[fromIndex].amount -= amount; +// updatedWallets[toIndex].amount += amount; +// // update the state with the new wallets array +// setWallets(updatedWallets); +// }; From c7d87bdd0fb6ecb52837dc2846afa197243c02ea Mon Sep 17 00:00:00 2001 From: 13rebaseacademy <13rebaseacademy@13s--iMac> Date: Thu, 27 Jul 2023 02:45:30 +0100 Subject: [PATCH 08/27] addition of code in app.jsx and transaction.jsx --- src/App.jsx | 2 ++ src/pages/Transaction_Page/Transaction.jsx | 26 ++++++++++++---------- src/pages/Transaction_Page/styles.jsx | 2 +- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/src/App.jsx b/src/App.jsx index f6b3402..4978c85 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -37,6 +37,8 @@ function App() { const walletFromLocalStorage = getFromLocalStorage('wallet') || []; setDispWallet(walletFromLocalStorage); + const baseFromLocalStorage = getFromLocalStorage('basecurrency') || 0; + setMyBaseCurrency(baseFromLocalStorage); }, []); const toogleModal2 = () => { diff --git a/src/pages/Transaction_Page/Transaction.jsx b/src/pages/Transaction_Page/Transaction.jsx index f44af9f..96a8040 100644 --- a/src/pages/Transaction_Page/Transaction.jsx +++ b/src/pages/Transaction_Page/Transaction.jsx @@ -1,4 +1,4 @@ -import React, { useContext } from 'react'; +import React, { useContext, useState } from 'react'; import { Main, Hero, @@ -24,24 +24,23 @@ function Transaction() { const { modal, modal2, - baseCurrency, - setMyBaseCurrency, toogleModal, fetchedCurrencyOptions, toogleModal2, dispWallet, } = useContext(MyContext); + const [base, setBase] = useState({ amount: 0, currency: '' }); + const handleCurrChange = (e) => { - setMyBaseCurrency((prev) => ({ + setBase((prev) => ({ ...prev, - currency: e.target.value, + baseCurr: e.target.value, })); }; const addBaseCurrency = () => { - const base = baseCurrency; - saveToLocalStorage(base); + saveToLocalStorage('basecurrency', base); toogleModal2(); }; @@ -80,7 +79,7 @@ function Transaction() { { const base = e.target.value; setMyBaseCurrency({ ...baseCurrency, baseCurr: base }); - const res = toBaseCurrency(dispWallet, baseCurrency, fetchedCurrencyRates); - console.log({ dispWallet, baseCurrency, fetchedCurrencyRates }); + const res = sumWallet(dispWallet, base, fetchedCurrencyRates); setMyBaseCurrency((prev) => ({ ...prev, baseAmnt: res })); - saveToLocalStorage('default', base); + saveToLocalStorage('baseCurr', base); toogleModal2(); }; @@ -67,7 +67,7 @@ function Transaction() { diff --git a/src/services/utils.jsx b/src/services/utils.jsx index f0dabf1..eb59c01 100644 --- a/src/services/utils.jsx +++ b/src/services/utils.jsx @@ -1,29 +1,16 @@ -/* eslint-disable no-plusplus */ +/* eslint-disable consistent-return */ +/* eslint-disable no-param-reassign */ export const getFromLocalStorage = (key) => JSON.parse(localStorage.getItem(key)); export const saveToLocalStorage = (key, value) => localStorage.setItem(key, JSON.stringify(value)); -// export const toBaseCurrency = (wallets, baseCurrency, rates) => { -// let total = 0; -// for (let i = 0; i < wallets.length; i++) { -// const wallet = wallets[i]; -// let { amount } = wallet; -// const { currency } = wallet; -// if (currency !== baseCurrency) { -// amount *= baseCurrency; -// } -// total += amount; -// } -// return total; -// }; - export const toBaseCurrency = (wallets, baseCurrency, rates) => { let total = 0; wallets.forEach(({ currency, amount }) => { if (currency === baseCurrency.baseCurr) { - total += +wallets.amount; + total += +amount; } else { // calculate exhange; const res = (+amount / rates[currency]) * rates[baseCurrency.baseCurr]; @@ -34,31 +21,64 @@ export const toBaseCurrency = (wallets, baseCurrency, rates) => { return total; }; -// export const transferMoney = (wallet, fromCurr, toCCurr) => { -// let amount; -// } +export function sumWallet(wallet, base, rates) { + let total = 0; + wallet.forEach(({ currency, amount }) => { + if (currency === base) { + total += +amount; + } else { + const res = (+amount / rates[currency]) * rates[base]; + total += +res; + } + console.log( + `iam total ${total}, currency: ${currency}, rate: ${rates[currency]}` + ); + }); + saveToLocalStorage('baseAmount', total); + return total; +} + +export function transferMoney(wallets, from, to, amount, rates) { + // find the index of the wallets in the array + const fromIndex = wallets.findIndex((wallet) => wallet.currency === from); + const toIndex = wallets.findIndex((wallet) => wallet.currency === to); + + // check if both wallets exist in the array + if (fromIndex === -1 || toIndex === -1) { + setTimeout(() => { + alert('Invalid currency'); + }, 3000); + // ('Invalid currency'); + return; + } + + // calculate the amount to be transferred using the exchange rates + const exchangeRate = rates[to] / rates[from]; + const transferAmount = amount * exchangeRate; + + // check if there is enough balance in the from wallet + if (wallets[fromIndex].amount < amount) { + setTimeout(() => { + alert('Insufficient balance'); + + // return

Insufficient balance

; + }, 3000); + // ReactModal('Insufficient balance'); + return; + } -// export const transferMoney = (amount, fromCurrency, toCurrency) => { -// // find the index of the 'from' wallet in the array -// const fromIndex = wallets.findIndex( -// (wallet) => wallet.currency === fromCurrency -// ); -// if (fromIndex === -1) { -// throw new Error(`Wallet ${fromCurrency} not found`); -// } -// // find the index of the 'to' wallet in the array -// const toIndex = wallets.findIndex((wallet) => wallet.currency === toCurrency); -// if (toIndex === -1) { -// throw new Error(`Wallet ${toCurrency} not found`); -// } -// // check if the 'from' wallet has enough balance -// if (wallets[fromIndex].amount < amount) { -// throw new Error(`Insufficient balance in ${fromCurrency} wallet`); -// } -// // update the wallets array with the transferred amount -// const updatedWallets = [...wallets]; -// updatedWallets[fromIndex].amount -= amount; -// updatedWallets[toIndex].amount += amount; -// // update the state with the new wallets array -// setWallets(updatedWallets); -// }; + // update the amounts in the wallets + wallets[fromIndex].amount -= amount; + wallets[toIndex].amount += transferAmount; + setTimeout(() => { + alert(`Transferred ${amount} ${from} to ${to}`); + // return ( + //

+ // Transferred {amount} {from} to {to} + //

+ // ); + }, 3000); + // console.log(`Transferred ${amount} ${from} to ${to}`); + // console.log(wallets, from, to, amount); + return transferAmount; +} From 9e5000c2c4dd573f0f920d22a638852b89317a37 Mon Sep 17 00:00:00 2001 From: 13rebaseacademy <13rebaseacademy@13s--iMac> Date: Thu, 27 Jul 2023 17:25:23 +0100 Subject: [PATCH 11/27] transfer functionality done --- src/components/transfer/TransferModal.jsx | 21 ++++++++++----------- src/pages/Transaction_Page/Transaction.jsx | 12 ++++++++++-- src/services/utils.jsx | 3 --- 3 files changed, 20 insertions(+), 16 deletions(-) diff --git a/src/components/transfer/TransferModal.jsx b/src/components/transfer/TransferModal.jsx index f7be971..1d65dfe 100644 --- a/src/components/transfer/TransferModal.jsx +++ b/src/components/transfer/TransferModal.jsx @@ -1,9 +1,11 @@ +/* eslint-disable no-plusplus */ /* eslint-disable no-return-assign */ /* eslint-disable react/jsx-no-bind */ import React, { useContext, useState } from 'react'; import { styled } from 'styled-components'; // import { transferMoney } from '../../services/utils'; import MyContext from '../../context/context'; +import { saveToLocalStorage } from '../../services/utils'; const Modal = styled.div` display: flex; @@ -45,11 +47,6 @@ function TransferModal() { const [fromCurrency, setFromCurrency] = useState(''); const [toCurrency, setToCurrency] = useState(''); - // const transferMoney = (e) => { - // e.preventDefault(); - // console.log(fromCurrency, toCurrency, amount); - // toogleTransModal(); - // }; const transferMoneyM = (e) => { e.preventDefault(); // transferMoney( @@ -87,19 +84,21 @@ function TransferModal() { // update the wallets array with the transferred amount const updatedWallets = [...dispWallet]; updatedWallets[fromIndex].amount -= amount; - const transferAmount = +amount * +fetchedCurrencyRates[fromIndex]; - updatedWallets[toIndex].amount += +transferAmount; + const transferAmount = + (+amount / fetchedCurrencyRates[fromCurrency]) * + fetchedCurrencyRates[toCurrency]; + const money = parseInt(updatedWallets[toIndex].amount, 10); + updatedWallets[toIndex].amount = money + transferAmount; + updatedWallets[toIndex].amount = updatedWallets[toIndex].amount.toFixed(2); setTimeout(() => { setResponse( `from: ${fromIndex} to: ${toIndex}, transferAmount: ${transferAmount}` ); }, 3000); - console.log( - `from ${fromIndex}, to ${toIndex}, transfer amount${transferAmount}` - ); + // update the state with the new wallets array setDispWallet(updatedWallets); - // saveToLocalStorage('wallet', dispWallet); + saveToLocalStorage('wallet', updatedWallets); toogleTransModal(); }; diff --git a/src/pages/Transaction_Page/Transaction.jsx b/src/pages/Transaction_Page/Transaction.jsx index 091e3e5..8f9ddf2 100644 --- a/src/pages/Transaction_Page/Transaction.jsx +++ b/src/pages/Transaction_Page/Transaction.jsx @@ -1,4 +1,5 @@ import React, { useContext } from 'react'; +import styled from 'styled-components'; import { Main, Hero, @@ -22,6 +23,12 @@ import CloseBtn from '../../components/currency-card/CloseBtn/CloseBtn'; import { saveToLocalStorage, sumWallet } from '../../services/utils'; import TransferModal from '../../components/transfer/TransferModal'; +const BaseM = styled.h2` + display: flex; + gap: 0.8rem; + align-items: center; +`; + function Transaction() { const { modal, @@ -92,10 +99,11 @@ function Transaction() { */} )} -

+ + Total: {baseCurrency.baseAmnt} {baseCurrency.baseCurr} -

+ diff --git a/src/services/utils.jsx b/src/services/utils.jsx index eb59c01..2d232eb 100644 --- a/src/services/utils.jsx +++ b/src/services/utils.jsx @@ -30,9 +30,6 @@ export function sumWallet(wallet, base, rates) { const res = (+amount / rates[currency]) * rates[base]; total += +res; } - console.log( - `iam total ${total}, currency: ${currency}, rate: ${rates[currency]}` - ); }); saveToLocalStorage('baseAmount', total); return total; From 77cf0ff269f7ac7cdfccea2d5536b1ccb104fee8 Mon Sep 17 00:00:00 2001 From: 13rebaseacademy <13rebaseacademy@13s--iMac> Date: Thu, 27 Jul 2023 18:17:19 +0100 Subject: [PATCH 12/27] styling edits --- src/App.jsx | 3 ++- src/assets/images/pngaaa.com-2105281.png | Bin 0 -> 260096 bytes {public => src/assets/images}/pngegg.png | Bin src/pages/Transaction_Page/Transaction.jsx | 6 +++++- src/pages/Transaction_Page/styles.jsx | 16 +++++++++++++--- 5 files changed, 20 insertions(+), 5 deletions(-) create mode 100644 src/assets/images/pngaaa.com-2105281.png rename {public => src/assets/images}/pngegg.png (100%) diff --git a/src/App.jsx b/src/App.jsx index d7cc975..f45c640 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -49,9 +49,10 @@ function App() { baseFromLocalStorage, fetchedCurrencyRates ); + + setDispWallet(walletFromLocalStorage); const basetotal = getFromLocalStorage('baseAmount') || 0; setMyBaseCurrency((prev) => ({ ...prev, baseAmnt: basetotal })); - setDispWallet(walletFromLocalStorage); }, []); const toogleModal2 = () => { diff --git a/src/assets/images/pngaaa.com-2105281.png b/src/assets/images/pngaaa.com-2105281.png new file mode 100644 index 0000000000000000000000000000000000000000..291616f0830a77d78200f3ae6d2e8bc37efdaf2a GIT binary patch literal 260096 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 literal 0 HcmV?d00001 diff --git a/public/pngegg.png b/src/assets/images/pngegg.png similarity index 100% rename from public/pngegg.png rename to src/assets/images/pngegg.png diff --git a/src/pages/Transaction_Page/Transaction.jsx b/src/pages/Transaction_Page/Transaction.jsx index 8f9ddf2..1149019 100644 --- a/src/pages/Transaction_Page/Transaction.jsx +++ b/src/pages/Transaction_Page/Transaction.jsx @@ -27,6 +27,10 @@ const BaseM = styled.h2` display: flex; gap: 0.8rem; align-items: center; + @media only screen and (max-width: 425px) { + font-size: 1.1rem; + gap: 0.2rem; + } `; function Transaction() { @@ -74,7 +78,7 @@ function Transaction() { diff --git a/src/pages/Transaction_Page/styles.jsx b/src/pages/Transaction_Page/styles.jsx index 6d14bfb..61e6094 100644 --- a/src/pages/Transaction_Page/styles.jsx +++ b/src/pages/Transaction_Page/styles.jsx @@ -43,6 +43,8 @@ export const HeroLeft = styled.div` export const HeroImg = styled.img` width: 90vw; + background: transparent; + max-height: 500px; max-width: 400px; `; @@ -61,7 +63,8 @@ export const Button = styled.button` background-color: #fefefe; } @media only screen and (max-width: 426px) { - font-size: 1.1rem; + font-size: 1rem; + padding: 0.3rem 0.7rem; } `; @@ -79,6 +82,12 @@ export const Total = styled.div` width: 100%; display: flex; justify-content: space-between; + @media only screen and (max-width: 425px) { + flex-wrap: wrap; + width: 96vw; + padding: 1.3rem 1rem; + gap: 0.7rem; + } `; export const AddBaseCurrSec = styled.div` @@ -109,14 +118,15 @@ export const WalletMain = styled.div` align-items: center; padding: 0.8rem 1.2rem; width: 97vw; + gap: 1.3rem; margin: 'auto'; max-width: 1000px; @media only screen and (max-width: 798px) { grid-template-columns: auto auto; + gap: 1.2rem; } @media only screen and (max-width: 425px) { - display: flex; - flex-direction: 'column'; + grid-template-columns: auto; align-items: center; } `; From 13a032a8757d57e81eae88791caecf301fda265d Mon Sep 17 00:00:00 2001 From: 13rebaseacademy <13rebaseacademy@13s--iMac> Date: Thu, 27 Jul 2023 19:03:47 +0100 Subject: [PATCH 13/27] linter edit --- src/services/utils.jsx | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/services/utils.jsx b/src/services/utils.jsx index 2d232eb..f8fa89b 100644 --- a/src/services/utils.jsx +++ b/src/services/utils.jsx @@ -1,4 +1,7 @@ /* eslint-disable consistent-return */ + +import { render } from 'react-dom'; + /* eslint-disable no-param-reassign */ export const getFromLocalStorage = (key) => JSON.parse(localStorage.getItem(key)); @@ -45,8 +48,7 @@ export function transferMoney(wallets, from, to, amount, rates) { setTimeout(() => { alert('Invalid currency'); }, 3000); - // ('Invalid currency'); - return; + throw Error('invalid currency'); } // calculate the amount to be transferred using the exchange rates @@ -60,21 +62,22 @@ export function transferMoney(wallets, from, to, amount, rates) { // return

Insufficient balance

; }, 3000); - // ReactModal('Insufficient balance'); - return; + throw Error('Insufficient balance'); } + // ReactModal('Insufficient balance'); // update the amounts in the wallets wallets[fromIndex].amount -= amount; wallets[toIndex].amount += transferAmount; setTimeout(() => { - alert(`Transferred ${amount} ${from} to ${to}`); + render(`Transferred ${amount} ${from} to ${to}`); // return ( //

// Transferred {amount} {from} to {to} //

// ); }, 3000); + // console.log(`Transferred ${amount} ${from} to ${to}`); // console.log(wallets, from, to, amount); return transferAmount; From e9843f8911c8d905d0209790b5f3e1d23991b6fa Mon Sep 17 00:00:00 2001 From: 13rebaseacademy <13rebaseacademy@13s--iMac> Date: Thu, 27 Jul 2023 19:08:33 +0100 Subject: [PATCH 14/27] linter edit --- src/services/utils.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/services/utils.jsx b/src/services/utils.jsx index f8fa89b..6b965bf 100644 --- a/src/services/utils.jsx +++ b/src/services/utils.jsx @@ -46,7 +46,7 @@ export function transferMoney(wallets, from, to, amount, rates) { // check if both wallets exist in the array if (fromIndex === -1 || toIndex === -1) { setTimeout(() => { - alert('Invalid currency'); + return

Invalid currency

; }, 3000); throw Error('invalid currency'); } @@ -58,7 +58,7 @@ export function transferMoney(wallets, from, to, amount, rates) { // check if there is enough balance in the from wallet if (wallets[fromIndex].amount < amount) { setTimeout(() => { - alert('Insufficient balance'); + return

Insufficient balance

; // return

Insufficient balance

; }, 3000); From 473b3af0d960c53df09ffd6919096a1e1d5143a7 Mon Sep 17 00:00:00 2001 From: 13rebaseacademy <13rebaseacademy@13s--iMac> Date: Fri, 28 Jul 2023 14:13:44 +0100 Subject: [PATCH 15/27] changes made on app.jsx --- src/App.jsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/App.jsx b/src/App.jsx index f45c640..077d726 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -19,7 +19,6 @@ function App() { const [totalAmount, setTotalAmount] = useState(0); const [dispWallet, setDispWallet] = useState(null); const [wallet, setWallet] = useState([]); - // const [fetchedCurrencyOptions, setFetchedCurrencyOptions] = useState([]); const [modal, setModal] = useState(false); const [transModal, setTransModal] = useState(false); const [modal2, setModal2] = useState(false); From 6116c1ffd1211cc7e15cc3913fcfe906ebb03aac Mon Sep 17 00:00:00 2001 From: 13rebaseacademy <13rebaseacademy@13s--iMac> Date: Fri, 28 Jul 2023 22:59:30 +0100 Subject: [PATCH 16/27] linter edit --- src/App.jsx | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/App.jsx b/src/App.jsx index 077d726..e189f92 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -32,8 +32,17 @@ function App() { ); const data = await response.json(); setFetchedCurrencyRates(data.rates); - setMyBaseCurrency((prev) => ({ ...prev, baseCurr: data.base })); - saveToLocalStorage('baseCurr', data.base); + const baseC = getFromLocalStorage('baseCurr'); + const baseA = getFromLocalStorage('baseAmount'); + if (!baseC && !baseA) { + setMyBaseCurrency((prev) => ({ + ...prev, + baseCurr: data.base, + baseAmnt: 0, + })); + saveToLocalStorage('baseCurr', data.base); + saveToLocalStorage('baseAmount', baseCurrency.baseAmnt); + } } catch (err) { throw new Error(err); } @@ -41,11 +50,11 @@ function App() { fetchData(); const walletFromLocalStorage = getFromLocalStorage('wallet') || []; - const baseFromLocalStorage = getFromLocalStorage('baseCurr'); - setMyBaseCurrency(baseFromLocalStorage); + // const baseFromLocalStorage = getFromLocalStorage('baseCurr'); + // setMyBaseCurrency(baseFromLocalStorage); sumWallet( walletFromLocalStorage, - baseFromLocalStorage, + baseCurrency.baseCurr, fetchedCurrencyRates ); From a5cc6f625d117689d20e96a6d0b4d475525fc139 Mon Sep 17 00:00:00 2001 From: 13rebaseacademy <13rebaseacademy@13s--iMac> Date: Sat, 29 Jul 2023 03:48:58 +0100 Subject: [PATCH 17/27] linter edit --- src/pages/Transaction_Page/Transaction.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/Transaction_Page/Transaction.jsx b/src/pages/Transaction_Page/Transaction.jsx index 1149019..c0c14dc 100644 --- a/src/pages/Transaction_Page/Transaction.jsx +++ b/src/pages/Transaction_Page/Transaction.jsx @@ -68,7 +68,7 @@ function Transaction() {

The Future of Exchange is here

Lorem ipsum dolor sit amet consectetur, adipisicing elit. Eius unde - accusamus maiores est exercitationem, incidunt rerum alias, numquam + accusamus maiores ests exercitationem, incidunt rerum alias, numquam optio aut officiis! Beatae corporis velit labore porro. Culpa dolores voluptatum vero. Lorem ipsum dolor sit amet consectetur adipisicing elit. Eius rerum ipsum natus quis unde minima laborum From 58903abbafc1fc403411a0907208acc770d1dea8 Mon Sep 17 00:00:00 2001 From: 13rebaseacademy <13rebaseacademy@13s--iMac> Date: Sat, 29 Jul 2023 03:57:50 +0100 Subject: [PATCH 18/27] text addition to update deployment --- src/pages/Transaction_Page/Transaction.jsx | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/pages/Transaction_Page/Transaction.jsx b/src/pages/Transaction_Page/Transaction.jsx index c0c14dc..67e0d71 100644 --- a/src/pages/Transaction_Page/Transaction.jsx +++ b/src/pages/Transaction_Page/Transaction.jsx @@ -67,13 +67,14 @@ function Transaction() {

Welcome to the Exchange App

The Future of Exchange is here

- Lorem ipsum dolor sit amet consectetur, adipisicing elit. Eius unde - accusamus maiores ests exercitationem, incidunt rerum alias, numquam - optio aut officiis! Beatae corporis velit labore porro. Culpa - dolores voluptatum vero. Lorem ipsum dolor sit amet consectetur - adipisicing elit. Eius rerum ipsum natus quis unde minima laborum - nobis est deleniti, quas, impedit architecto possimus consectetur - laudantium asperiores. Assumenda libero temporibus exercitationem. + Lorema ipsuma dolor sit amet consectetur, adipisicing elit. Eius + unde accusamus maiores ests exercitationem, incidunt rerum alias, + numquam optio aut officiis! Beatae corporis velit labore porro. + Culpa dolores voluptatum vero. Lorem ipsum dolor sit amet + consectetur adipisicing elit. Eius rerum ipsum natus quis unde + minima laborum nobis est deleniti, quas, impedit architecto possimus + consectetur laudantium asperiores. Assumenda libero temporibus + exercitationem. From daa817d3cbe37e3604999187b3ffaaa1d69eeba0 Mon Sep 17 00:00:00 2001 From: 13rebaseacademy <13rebaseacademy@13s--iMac> Date: Sat, 29 Jul 2023 04:31:15 +0100 Subject: [PATCH 19/27] change of api key --- src/App.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/App.jsx b/src/App.jsx index e189f92..f2fb36b 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -11,7 +11,7 @@ import { } from './services/utils'; function App() { - const ApiKey = '4916f6bf3ce83e632400a62c535089a2'; + const ApiKey = '328ccdaa23a35a9775c64ae4d3dc93e3'; const [baseCurrency, setMyBaseCurrency] = useState({ baseAmnt: 0, baseCurr: '', @@ -28,7 +28,7 @@ function App() { const fetchData = async () => { try { const response = await fetch( - `http://data.fixer.io/api/latest?access_key=${ApiKey}` + `https://api.exchangeratesapi.io/v1/latest?access_key=${ApiKey}` ); const data = await response.json(); setFetchedCurrencyRates(data.rates); From cb7f8be9cb6f79933e0e2ed57940e2692bb6a6fb Mon Sep 17 00:00:00 2001 From: 13rebaseacademy <13rebaseacademy@13s--iMac> Date: Sat, 29 Jul 2023 04:41:02 +0100 Subject: [PATCH 20/27] text addition to update deployment --- src/pages/Transaction_Page/Transaction.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/Transaction_Page/Transaction.jsx b/src/pages/Transaction_Page/Transaction.jsx index 67e0d71..1d66b8c 100644 --- a/src/pages/Transaction_Page/Transaction.jsx +++ b/src/pages/Transaction_Page/Transaction.jsx @@ -67,7 +67,7 @@ function Transaction() {

Welcome to the Exchange App

The Future of Exchange is here

- Lorema ipsuma dolor sit amet consectetur, adipisicing elit. Eius + Lorema ipsuma dolora sit amet consectetur, adipisicing elit. Eius unde accusamus maiores ests exercitationem, incidunt rerum alias, numquam optio aut officiis! Beatae corporis velit labore porro. Culpa dolores voluptatum vero. Lorem ipsum dolor sit amet From df31a2ff3e40334ee3d63ea3817f189650bdd0f0 Mon Sep 17 00:00:00 2001 From: 13rebaseacademy <13rebaseacademy@13s--iMac> Date: Sat, 29 Jul 2023 04:48:41 +0100 Subject: [PATCH 21/27] change of api key --- src/App.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/App.jsx b/src/App.jsx index f2fb36b..137d63c 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -28,7 +28,7 @@ function App() { const fetchData = async () => { try { const response = await fetch( - `https://api.exchangeratesapi.io/v1/latest?access_key=${ApiKey}` + `http://api.exchangeratesapi.io/v1/latest?access_key=${ApiKey}` ); const data = await response.json(); setFetchedCurrencyRates(data.rates); From c535c5ff456997d03ab5505feb95af57078b86a4 Mon Sep 17 00:00:00 2001 From: 13rebaseacademy <13rebaseacademy@13s--iMac> Date: Sat, 29 Jul 2023 06:05:00 +0100 Subject: [PATCH 22/27] change of api key --- src/App.jsx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/App.jsx b/src/App.jsx index 137d63c..9f19042 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -11,7 +11,8 @@ import { } from './services/utils'; function App() { - const ApiKey = '328ccdaa23a35a9775c64ae4d3dc93e3'; + const ApiKey = '763ac14c06-6e2d349805-ryjk1z'; + const options = { method: 'GET', headers: { accept: 'application/json' } }; const [baseCurrency, setMyBaseCurrency] = useState({ baseAmnt: 0, baseCurr: '', @@ -28,10 +29,11 @@ function App() { const fetchData = async () => { try { const response = await fetch( - `http://api.exchangeratesapi.io/v1/latest?access_key=${ApiKey}` + `https://api.fastforex.io/fetch-all?api_key=${ApiKey}`, + options ); const data = await response.json(); - setFetchedCurrencyRates(data.rates); + setFetchedCurrencyRates(data.results); const baseC = getFromLocalStorage('baseCurr'); const baseA = getFromLocalStorage('baseAmount'); if (!baseC && !baseA) { From ee25d15157aab4c29df28e04012cd5255aadb281 Mon Sep 17 00:00:00 2001 From: 13rebaseacademy <13rebaseacademy@13s--iMac> Date: Sat, 29 Jul 2023 07:53:38 +0100 Subject: [PATCH 23/27] modification of app.jsx useeffect --- src/App.jsx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/App.jsx b/src/App.jsx index 9f19042..d8c1cb7 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -44,6 +44,12 @@ function App() { })); saveToLocalStorage('baseCurr', data.base); saveToLocalStorage('baseAmount', baseCurrency.baseAmnt); + } else { + setMyBaseCurrency((prev) => ({ + ...prev, + baseCurr: baseC, + baseAmnt: baseA, + })); } } catch (err) { throw new Error(err); From 823c747649f12f884997918c69a44b5c71a59396 Mon Sep 17 00:00:00 2001 From: 13rebaseacademy <13rebaseacademy@13s--iMac> Date: Sat, 29 Jul 2023 10:00:21 +0100 Subject: [PATCH 24/27] modification of app.jsx useeffect --- src/App.jsx | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/src/App.jsx b/src/App.jsx index d8c1cb7..6ddbc0b 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -17,7 +17,6 @@ function App() { baseAmnt: 0, baseCurr: '', }); - const [totalAmount, setTotalAmount] = useState(0); const [dispWallet, setDispWallet] = useState(null); const [wallet, setWallet] = useState([]); const [modal, setModal] = useState(false); @@ -26,6 +25,8 @@ function App() { const [fetchedCurrencyRates, setFetchedCurrencyRates] = useState([]); useEffect(() => { + const baseC = getFromLocalStorage('baseCurr'); + const baseA = getFromLocalStorage('baseAmount'); const fetchData = async () => { try { const response = await fetch( @@ -34,8 +35,6 @@ function App() { ); const data = await response.json(); setFetchedCurrencyRates(data.results); - const baseC = getFromLocalStorage('baseCurr'); - const baseA = getFromLocalStorage('baseAmount'); if (!baseC && !baseA) { setMyBaseCurrency((prev) => ({ ...prev, @@ -60,15 +59,14 @@ function App() { const walletFromLocalStorage = getFromLocalStorage('wallet') || []; // const baseFromLocalStorage = getFromLocalStorage('baseCurr'); // setMyBaseCurrency(baseFromLocalStorage); - sumWallet( - walletFromLocalStorage, - baseCurrency.baseCurr, - fetchedCurrencyRates - ); + // sumWallet( + // walletFromLocalStorage, + // baseCurrency.baseCurr, + // fetchedCurrencyRates + // ); setDispWallet(walletFromLocalStorage); - const basetotal = getFromLocalStorage('baseAmount') || 0; - setMyBaseCurrency((prev) => ({ ...prev, baseAmnt: basetotal })); + setMyBaseCurrency((prev) => ({ ...prev, baseAmnt: baseA })); }, []); const toogleModal2 = () => { @@ -96,8 +94,6 @@ function App() { setMyBaseCurrency, dispWallet, setDispWallet, - totalAmount, - setTotalAmount, toogleModal2, modal2, transModal, From f1900768d50b838439e97213b6e8f35fba34692b Mon Sep 17 00:00:00 2001 From: 13rebaseacademy <13rebaseacademy@13s--iMac> Date: Sat, 29 Jul 2023 10:13:13 +0100 Subject: [PATCH 25/27] removal of unused function from app.jsx --- src/App.jsx | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/App.jsx b/src/App.jsx index 6ddbc0b..fdd3a3c 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -4,11 +4,7 @@ import './App.css'; import { BrowserRouter, Route, Routes } from 'react-router-dom'; import MyContext from './context/context'; import Transaction from './pages/Transaction_Page/Transaction'; -import { - getFromLocalStorage, - saveToLocalStorage, - sumWallet, -} from './services/utils'; +import { getFromLocalStorage, saveToLocalStorage } from './services/utils'; function App() { const ApiKey = '763ac14c06-6e2d349805-ryjk1z'; From e3192946b03e82ffddeedf60e31cf5a39777c30c Mon Sep 17 00:00:00 2001 From: Kiven Alaric Date: Sat, 9 Sep 2023 08:56:01 -0500 Subject: [PATCH 26/27] change of api key --- src/App.jsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/App.jsx b/src/App.jsx index ed7f356..c563110 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -11,7 +11,9 @@ import { } from './services/utils'; function App() { - const ApiKey = '4916f6bf3ce83e632400a62c535089a2'; + const ApiKey = '221306e5ac49f3bf88ef51ceccc3071d'; + // yoxaheg448@cohodl.com + // const ApiKey = '5e5a7f8b86a4aca140b2eaa34ea38589'; const [baseCurrency, setMyBaseCurrency] = useState({ baseAmnt: 0, baseCurr: '', @@ -32,7 +34,7 @@ function App() { `http://data.fixer.io/api/latest?access_key=${ApiKey}` ); const data = await response.json(); - console.log(data); + // console.log(data); // setFetchedCurrencyOptions([ // { // ...fetchedCurrencyOptions, From 0e8bbb5d098c7a451412c27b64b7d640ee8fe1a9 Mon Sep 17 00:00:00 2001 From: Kiven Alaric Date: Tue, 10 Oct 2023 10:25:53 -0500 Subject: [PATCH 27/27] change of api key --- src/App.jsx | 24 +----------------------- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/src/App.jsx b/src/App.jsx index 3698786..93f64ca 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -7,14 +7,8 @@ import Transaction from './pages/Transaction_Page/Transaction'; import { getFromLocalStorage, saveToLocalStorage } from './services/utils'; function App() { -<<<<<<< HEAD - const ApiKey = '221306e5ac49f3bf88ef51ceccc3071d'; - // yoxaheg448@cohodl.com - // const ApiKey = '5e5a7f8b86a4aca140b2eaa34ea38589'; -======= - const ApiKey = '763ac14c06-6e2d349805-ryjk1z'; + const ApiKey = '6ebde43530287d1fef886116a4bd36a0'; const options = { method: 'GET', headers: { accept: 'application/json' } }; ->>>>>>> f1900768d50b838439e97213b6e8f35fba34692b const [baseCurrency, setMyBaseCurrency] = useState({ baseAmnt: 0, baseCurr: '', @@ -36,21 +30,6 @@ function App() { options ); const data = await response.json(); -<<<<<<< HEAD - // console.log(data); - // setFetchedCurrencyOptions([ - // { - // ...fetchedCurrencyOptions, - // currency: [...Object.keys(data.rates)], - // rates: data, - // }, - // ]); - // setFetchedCurrencyOptions([...Object.keys(data.rates)]); - setFetchedCurrencyRates(data.rates); - setMyBaseCurrency((prev) => ({ ...prev, baseCurr: data.base })); - saveToLocalStorage('baseCurr', data.base); - saveToLocalStorage('baseAmount', 0); -======= setFetchedCurrencyRates(data.results); if (!baseC && !baseA) { setMyBaseCurrency((prev) => ({ @@ -67,7 +46,6 @@ function App() { baseAmnt: baseA, })); } ->>>>>>> f1900768d50b838439e97213b6e8f35fba34692b } catch (err) { throw new Error(err); }