feat: cleanup features and more

This commit is contained in:
AP 2019-11-12 08:03:32 +01:00
parent d9fe27565e
commit 07fb015055
21 changed files with 548 additions and 73 deletions

View file

@ -8,13 +8,19 @@
"@types/node": "12.12.7",
"@types/react": "16.9.11",
"@types/react-dom": "16.9.4",
"@types/react-router-dom": "^5.1.2",
"@types/styled-components": "^4.4.0",
"@types/styled-theming": "^2.2.2",
"apollo-boost": "^0.4.4",
"graphql": "^14.5.8",
"react": "^16.11.0",
"react-dom": "^16.11.0",
"react-router-dom": "^5.1.2",
"react-scripts": "3.2.0",
"react-toastify": "^5.4.1",
"snyk": "^1.244.0",
"styled-components": "^4.4.1",
"styled-theming": "^2.2.0",
"typescript": "3.7.2"
},
"scripts": {

View file

@ -1,22 +0,0 @@
.App {
text-align: center;
}
.App-logo {
height: 40vmin;
}
.App-header {
background-color: #282c34;
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-size: calc(10px + 2vmin);
color: white;
}
.App-link {
color: #09d3ac;
}

View file

@ -1,26 +1,46 @@
import React from 'react';
import logo from './logo.svg';
import './App.css';
import React from "react";
import styled, { ThemeProvider } from "styled-components";
import { GlobalStyles } from "./styles/GlobalStyle";
import { Header } from "./sections/header/Header";
import { Footer } from "./sections/footer/Footer";
import { Navigation } from "./sections/navigation/Navigation";
import { Content } from "./sections/content/Content";
import { ApolloProvider } from "@apollo/react-hooks";
import { BrowserRouter } from "react-router-dom";
import ApolloClient from "apollo-boost";
const client = new ApolloClient({
uri: "http://localhost:3001"
});
const Container = styled.div`
display: grid;
grid-template-areas:
"header header header"
"nav content content"
"footer footer footer";
grid-template-columns: 200px 1fr 200px;
grid-template-rows: auto 1fr auto;
gap: 10px;
height: 100vh;
`;
const App: React.FC = () => {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>
Edit <code>src/App.tsx</code> and save to reload.
</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
</header>
</div>
<BrowserRouter>
<ApolloProvider client={client}>
<ThemeProvider theme={{ mode: "light" }}>
<GlobalStyles />
<Container>
<Header />
<Navigation />
<Content />
<Footer />
</Container>
</ThemeProvider>
</ApolloProvider>
</BrowserRouter>
);
}
};
export default App;

View file

@ -0,0 +1,12 @@
import styled from "styled-components";
export const Card = styled.div`
padding: 10px;
background-color: #fff;
background: linear-gradient(#fff, #fcfcfc);
box-shadow: 0 8px 16px -8px rgba(0, 0, 0, 0.1);
border-radius: 6px;
border: 1px solid #e6e6e6;
margin-bottom: ${(props: { bottom?: string }) => props.bottom};
width: 100%;
`;

View file

@ -0,0 +1,38 @@
import React from "react";
import { useQuery } from "@apollo/react-hooks";
import { GET_NETWORK_INFO } from "../../graphql/query";
import { Card } from "../generic/Styled";
export const NetworkInfo = () => {
const { loading, error, data } = useQuery(GET_NETWORK_INFO);
console.log(loading, error, data);
if (loading || !data || !data.getNetworkInfo) {
return <Card bottom="10px">Loading....</Card>;
}
const {
averageChannelSize,
channelCount,
maxChannelSize,
medianChannelSize,
minChannelSize,
nodeCount,
notRecentlyUpdatedPolicyCount,
totalCapacity
} = data.getNetworkInfo;
return (
<Card bottom="10px">
<p>{`Total Capacity: ${totalCapacity}`}</p>
<p>{`Max Channel Size: ${maxChannelSize}`}</p>
<p>{`Average Channel Size: ${averageChannelSize}`}</p>
<p>{`Median Channel Size: ${medianChannelSize}`}</p>
<p>{`Min Channel Size: ${minChannelSize}`}</p>
<p>{`Total Channels: ${channelCount}`}</p>
<p>{`Total Nodes: ${nodeCount}`}</p>
<p>{`Zombie Nodes: ${notRecentlyUpdatedPolicyCount}`}</p>
</Card>
);
};

View file

@ -0,0 +1,36 @@
import React from "react";
import { useQuery } from "@apollo/react-hooks";
import { GET_NODE_INFO } from "../../graphql/query";
import { Card } from "../generic/Styled";
export const NodeInfo = () => {
const { loading, error, data } = useQuery(GET_NODE_INFO);
console.log(loading, error, data);
if (loading || !data || !data.getNodeInfo) {
return <Card bottom="10px">Loading....</Card>;
}
const {
color,
activeChannelsCount,
isSyncedToChain,
peersCount,
pendingChannelsCount,
version,
alias
} = data.getNodeInfo;
return (
<Card bottom="10px">
<p>{`Alias: ${alias}`}</p>
<p>{`Color: ${color}`}</p>
<p>{`Version: ${version}`}</p>
<p>{`Active Channels: ${activeChannelsCount}`}</p>
<p>{`Pending Channels: ${pendingChannelsCount}`}</p>
<p>{`Peers: ${peersCount}`}</p>
<p>{`Synced to chain: ${isSyncedToChain}`}</p>
</Card>
);
};

View file

@ -0,0 +1,27 @@
import React from "react";
import { useQuery } from "@apollo/react-hooks";
import { GET_WALLET_INFO } from "../../graphql/query";
import { Card } from "../generic/Styled";
export const WalletInfo = () => {
const { loading, error, data } = useQuery(GET_WALLET_INFO);
console.log(loading, error, data);
if (loading || !data) {
return <Card bottom="10px">Loading....</Card>;
}
const chainBalance = data.getChainBalance;
const pendingChainBalance = data.getPendingChainBalance;
const { confirmedBalance, pendingBalance } = data.getChannelBalance;
return (
<Card bottom="10px">
<p>{`Chain Balance: ${chainBalance}`}</p>
<p>{`Pending Chain Balance: ${pendingChainBalance}`}</p>
<p>{`Channel Balance: ${confirmedBalance}`}</p>
<p>{`Pending Channel Balance: ${pendingBalance}`}</p>
</Card>
);
};

48
src/graphql/query.ts Normal file
View file

@ -0,0 +1,48 @@
import gql from "graphql-tag";
export const GET_NETWORK_INFO = gql`
query GetNetworkInfo {
getNetworkInfo {
averageChannelSize
channelCount
maxChannelSize
medianChannelSize
minChannelSize
nodeCount
notRecentlyUpdatedPolicyCount
totalCapacity
}
}
`;
export const GET_NODE_INFO = gql`
query GetNodeInfo {
getNodeInfo {
chains
color
activeChannelsCount
currentBlockHash
currentBlockHeight
isSyncedToChain
isSyncedToGraph
latestBlockAt
peersCount
pendingChannelsCount
publicKey
uris
version
alias
}
}
`;
export const GET_WALLET_INFO = gql`
query GetWalletInfo {
getChainBalance
getPendingChainBalance
getChannelBalance {
confirmedBalance
pendingBalance
}
}
`;

3
src/helpers/Helpers.ts Normal file
View file

@ -0,0 +1,3 @@
export const getValue = (value: number | string) => {
return value;
};

View file

@ -1,13 +0,0 @@
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
code {
font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
monospace;
}

View file

@ -1,10 +1,9 @@
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import * as serviceWorker from './serviceWorker';
import React from "react";
import ReactDOM from "react-dom";
import App from "./App";
import * as serviceWorker from "./serviceWorker";
ReactDOM.render(<App />, document.getElementById('root'));
ReactDOM.render(<App />, document.getElementById("root"));
// If you want your app to work offline and load faster, you can change
// unregister() to register() below. Note this comes with some pitfalls.

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 8 KiB

View file

@ -0,0 +1,26 @@
import React from "react";
import styled from "styled-components";
import { Switch, Route } from "react-router";
import { Home } from "../../views/home/Home";
import { NotFound } from "../../views/notFound/NotFound";
const ContentStyle = styled.div`
/* display: flex;
justify-content: center;
align-items: center; */
padding: 10px;
/* background-color: blue; */
grid-area: content;
margin-right: 0.5rem;
`;
export const Content = () => {
return (
<ContentStyle>
<Switch>
<Route exact path="/" render={() => <Home />} />
<Route path="*" render={() => <NotFound />} />
</Switch>
</ContentStyle>
);
};

View file

@ -0,0 +1,15 @@
import React from "react";
import styled from "styled-components";
const FooterStyle = styled.div`
display: flex;
justify-content: center;
align-items: center;
padding: 10px;
background-color: red;
grid-area: footer;
`;
export const Footer = () => {
return <FooterStyle>ThunderHub</FooterStyle>;
};

View file

@ -0,0 +1,15 @@
import React from "react";
import styled from "styled-components";
const HeaderStyle = styled.div`
display: flex;
justify-content: center;
align-items: center;
padding: 10px;
background-color: red;
grid-area: header;
`;
export const Header = () => {
return <HeaderStyle>ThunderHub</HeaderStyle>;
};

View file

@ -0,0 +1,29 @@
import React from "react";
import styled from "styled-components";
import { Card } from "../../components/generic/Styled";
import { Link } from "react-router-dom";
const NavigationStyle = styled.div`
display: flex;
/* justify-content: center; */
/* padding: 10px; */
/* background-color: green; */
grid-area: nav;
margin-left: 0.5rem;
`;
export const Navigation = () => {
return (
<NavigationStyle>
<Card>
ThunderHub
<p>
<Link to="/">Home</Link>
</p>
<p>
<Link to="/unknown">Unknown</Link>
</p>
</Card>
</NavigationStyle>
);
};

24
src/styles/GlobalStyle.ts Normal file
View file

@ -0,0 +1,24 @@
import { createGlobalStyle } from "styled-components";
import { backgroundColor, textColor } from "./Themes";
export const GlobalStyles = createGlobalStyle`
html, body {
margin: 0;
padding: 0;
}
*, *::after, *::before {
box-sizing: border-box;
}
body {
background: ${backgroundColor};
color: ${textColor};
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
/* align-items: center; */
/* display: flex; */
/* justify-content: center; */
/* height: 100vh; */
}
`;

11
src/styles/Themes.ts Normal file
View file

@ -0,0 +1,11 @@
import theme from "styled-theming";
export const backgroundColor = theme("mode", {
light: "white",
dark: "#0D0C1D"
});
export const textColor = theme("mode", {
light: "black",
dark: "#EFFFFA"
});

14
src/views/home/Home.tsx Normal file
View file

@ -0,0 +1,14 @@
import React from "react";
import { NetworkInfo } from "../../components/networkInfo/NetworkInfo";
import { NodeInfo } from "../../components/nodeInfo/NodeInfo";
import { WalletInfo } from "../../components/walletInfo/WalletInfo";
export const Home = () => {
return (
<>
<NodeInfo />
<NetworkInfo />
<WalletInfo />
</>
);
};

View file

@ -0,0 +1,6 @@
import React from "react";
import { Card } from "../../components/generic/Styled";
export const NotFound = () => {
return <Card>Not Found</Card>;
};

204
yarn.lock
View file

@ -978,7 +978,7 @@
dependencies:
regenerator-runtime "^0.13.2"
"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.5":
"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3":
version "7.7.2"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.7.2.tgz#111a78002a5c25fc8e3361bedc9529c696b85a6a"
integrity sha512-JONRbXbTXc9WQE2mAZd1p0Z3DZ/6vaQIkgYMSTP3KjRCyd7rCZCcfhCyX+YjwcKxcZ82UrxbRD358bpExNgrjw==
@ -1069,6 +1069,23 @@
resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-9.0.1.tgz#c27b391d8457d1e893f1eddeaf5e5412d12ffbb5"
integrity sha512-6It2EVfGskxZCQhuykrfnALg7oVeiI6KclWSmGDqB0AiInVrTGB9Jp9i4/Ad21u9Jde/voVQz6eFX/eSg/UsPA==
"@emotion/is-prop-valid@^0.8.1":
version "0.8.5"
resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.8.5.tgz#2dda0791f0eafa12b7a0a5b39858405cc7bde983"
integrity sha512-6ZODuZSFofbxSbcxwsFz+6ioPjb0ISJRRPLZ+WIbjcU2IMU0Io+RGQjjaTgOvNQl007KICBm7zXQaYQEC1r6Bg==
dependencies:
"@emotion/memoize" "0.7.3"
"@emotion/memoize@0.7.3":
version "0.7.3"
resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.3.tgz#5b6b1c11d6a6dddf1f2fc996f74cf3b219644d78"
integrity sha512-2Md9mH6mvo+ygq1trTeVp2uzAKwE2P7In0cRpD/M9Q70aH8L+rxMLbb3JCN2JoSWsV2O+DdFjfbbXoMoLBczow==
"@emotion/unitless@^0.7.0":
version "0.7.4"
resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.4.tgz#a87b4b04e5ae14a88d48ebef15015f6b7d1f5677"
integrity sha512-kBa+cDHOR9jpRJ+kcGMsysrls0leukrm68DmFQoMIWQcXdr2cZvyvypWuGYT7U+9kAExUE7+T7r6G3C3A6L8MQ==
"@hapi/address@2.x.x":
version "2.1.2"
resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.2.tgz#1c794cd6dbf2354d1eb1ef10e0303f573e1c7222"
@ -1497,6 +1514,11 @@
resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7"
integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==
"@types/history@*":
version "4.7.3"
resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.3.tgz#856c99cdc1551d22c22b18b5402719affec9839a"
integrity sha512-cS5owqtwzLN5kY+l+KgKdRJ/Cee8tlmQoGQuIE9tWnSmS3JMKzmxo2HIAk2wODMifGwO20d62xZQLYz+RLfXmw==
"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff"
@ -1576,6 +1598,31 @@
dependencies:
"@types/react" "*"
"@types/react-native@*":
version "0.60.22"
resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.60.22.tgz#ba199a441cb0612514244ffb1d0fe6f04c878575"
integrity sha512-LTXMKEyGA+x4kadmjujX6yAgpcaZutJ01lC7zLJWCULaZg7Qw5/3iOQpwIJRUcOc+a8A2RR7rSxplehVf9IuhA==
dependencies:
"@types/prop-types" "*"
"@types/react" "*"
"@types/react-router-dom@^5.1.2":
version "5.1.2"
resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.1.2.tgz#853f229f1f297513c0be84f7c914a08b778cfdf5"
integrity sha512-kRx8hoBflE4Dp7uus+j/0uMHR5uGTAvQtc4A3vOTWKS+epe0leCuxEx7HNT7XGUd1lH53/moWM51MV2YUyhzAg==
dependencies:
"@types/history" "*"
"@types/react" "*"
"@types/react-router" "*"
"@types/react-router@*":
version "5.1.2"
resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.2.tgz#41e5e6aa333a7b9a2bfdac753c04e1ca4b3e0d21"
integrity sha512-euC3SiwDg3NcjFdNmFL8uVuAFTpZJm0WMFUw+4eXMUnxa7M9RGFEG0szt0z+/Zgk4G2k9JBFhaEnY64RBiFmuw==
dependencies:
"@types/history" "*"
"@types/react" "*"
"@types/react@*", "@types/react@16.9.11":
version "16.9.11"
resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.11.tgz#70e0b7ad79058a7842f25ccf2999807076ada120"
@ -1602,6 +1649,23 @@
resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e"
integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==
"@types/styled-components@*", "@types/styled-components@^4.4.0":
version "4.4.0"
resolved "https://registry.yarnpkg.com/@types/styled-components/-/styled-components-4.4.0.tgz#15a3d59533fd3a5bd013db4a7c4422ec542c59d2"
integrity sha512-QFl+w3hQJNHE64Or3PXMFpC3HAQDiuQLi5o9m1XPEwYWfgCZtAribO5ksjxnO8U0LG8Parh0ESCgVxo4VfxlHg==
dependencies:
"@types/react" "*"
"@types/react-native" "*"
csstype "^2.2.0"
"@types/styled-theming@^2.2.2":
version "2.2.2"
resolved "https://registry.yarnpkg.com/@types/styled-theming/-/styled-theming-2.2.2.tgz#e9cd824be4d6bcdb95315c5a86ae3ae0a46ba731"
integrity sha512-O8h8DFtY8IfxIOt2fDZqlqNk3aTbOsvdwU7gaFa4o7OfRRE5bBsehHZMxI1aSawq8AuISQJP4xOoz9P2imx/FQ==
dependencies:
"@types/styled-components" "*"
csstype "^2.2.0"
"@types/xml2js@0.4.3":
version "0.4.3"
resolved "https://registry.yarnpkg.com/@types/xml2js/-/xml2js-0.4.3.tgz#2f41bfc74d5a4022511721f872ed395a210ad3b7"
@ -2465,6 +2529,21 @@ babel-plugin-named-asset-import@^0.3.4:
resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.4.tgz#4a8fc30e9a3e2b1f5ed36883386ab2d84e1089bd"
integrity sha512-S6d+tEzc5Af1tKIMbsf2QirCcPdQ+mKUCY2H1nJj1DyA1ShwpsoxEOAwbWsG5gcXNV/olpvQd9vrUWRx4bnhpw==
"babel-plugin-styled-components@>= 1":
version "1.10.6"
resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.10.6.tgz#f8782953751115faf09a9f92431436912c34006b"
integrity sha512-gyQj/Zf1kQti66100PhrCRjI5ldjaze9O0M3emXRPAN80Zsf8+e1thpTpaXJXVHXtaM4/+dJEgZHyS9Its+8SA==
dependencies:
"@babel/helper-annotate-as-pure" "^7.0.0"
"@babel/helper-module-imports" "^7.0.0"
babel-plugin-syntax-jsx "^6.18.0"
lodash "^4.17.11"
babel-plugin-syntax-jsx@^6.18.0:
version "6.18.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946"
integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=
babel-plugin-syntax-object-rest-spread@^6.8.0:
version "6.13.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5"
@ -2910,6 +2989,11 @@ camelcase@^5.2.0, camelcase@^5.3.1:
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
camelize@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.0.tgz#164a5483e630fa4321e5af07020e531831b2609b"
integrity sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=
caniuse-api@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0"
@ -3051,6 +3135,11 @@ class-utils@^0.3.5:
isobject "^3.0.0"
static-extend "^0.1.1"
classnames@^2.2.6:
version "2.2.6"
resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce"
integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==
clean-css@4.2.x:
version "4.2.1"
resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.1.tgz#2d411ef76b8569b6d0c84068dabe85b0aa5e5c17"
@ -3548,6 +3637,11 @@ css-blank-pseudo@^0.1.4:
dependencies:
postcss "^7.0.5"
css-color-keywords@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05"
integrity sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU=
css-color-names@0.0.4, css-color-names@^0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
@ -3618,6 +3712,15 @@ css-select@^2.0.0:
domutils "^1.7.0"
nth-check "^1.0.2"
css-to-react-native@^2.2.2:
version "2.3.2"
resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-2.3.2.tgz#e75e2f8f7aa385b4c3611c52b074b70a002f2e7d"
integrity sha512-VOFaeZA053BqvvvqIA8c9n0+9vFppVBAHCp6JgFTtTMU3Mzi+XnelJ9XC9ul3BqFzZyQ5N+H0SnwsWT2Ebchxw==
dependencies:
camelize "^1.0.0"
css-color-keywords "^1.0.0"
postcss-value-parser "^3.3.0"
css-tree@1.0.0-alpha.28:
version "1.0.0-alpha.28"
resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.28.tgz#8e8968190d886c9477bc8d61e96f61af3f7ffa7f"
@ -3776,7 +3879,7 @@ cssstyle@^1.0.0, cssstyle@^1.1.1:
dependencies:
cssom "0.3.x"
csstype@^2.2.0:
csstype@^2.2.0, csstype@^2.6.7:
version "2.6.7"
resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.7.tgz#20b0024c20b6718f4eda3853a1f5a1cce7f5e4a5"
integrity sha512-9Mcn9sFbGBAdmimWb2gLVDtFJzeKtDGIr76TUqmjZrw9LFXBMSU70lcs+C0/7fyCd6iBDqmksUcCOUIkisPHsQ==
@ -4077,6 +4180,14 @@ dom-converter@~0.2:
dependencies:
utila "~0.4"
dom-helpers@^5.0.1:
version "5.1.3"
resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.1.3.tgz#7233248eb3a2d1f74aafca31e52c5299cc8ce821"
integrity sha512-nZD1OtwfWGRBWlpANxacBEZrEuLa16o1nh7YopFWeoF68Zt8GGEmzHu6Xv4F3XaFIC+YXtTLrzgqKxFgLEe4jw==
dependencies:
"@babel/runtime" "^7.6.3"
csstype "^2.6.7"
dom-serializer@0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82"
@ -6374,6 +6485,11 @@ is-typedarray@~1.0.0:
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
is-what@^3.3.1:
version "3.3.1"
resolved "https://registry.yarnpkg.com/is-what/-/is-what-3.3.1.tgz#79502181f40226e2d8c09226999db90ef7c1bcbe"
integrity sha512-seFn10yAXy+yJlTRO+8VfiafC+0QJanGLMPTBWLrJm/QPauuchy0UXh8B6H5o9VA8BAzk0iYievt6mNp6gfaqA==
is-windows@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
@ -7447,6 +7563,11 @@ mem@^4.0.0:
mimic-fn "^1.0.0"
p-is-promise "^1.1.0"
memoize-one@^5.0.0:
version "5.1.1"
resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.1.1.tgz#047b6e3199b508eaec03504de71229b8eb1d75c0"
integrity sha512-HKeeBpWvqiVJD57ZUAsJNm71eHTykffzcLZVYWiVfQeI1rJtuEaS7hQiEpWfVVk18donPwJEcFKIkCmPJNOhHA==
memory-fs@^0.4.0, memory-fs@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
@ -7455,6 +7576,13 @@ memory-fs@^0.4.0, memory-fs@^0.4.1:
errno "^0.1.3"
readable-stream "^2.0.1"
merge-anything@^2.2.4:
version "2.4.1"
resolved "https://registry.yarnpkg.com/merge-anything/-/merge-anything-2.4.1.tgz#e9bccaec1e49ec6cb5f77ca78c5770d1a35315e6"
integrity sha512-dYOIAl9GFCJNctSIHWOj9OJtarCjsD16P8ObCl6oxrujAG+kOvlwJuOD9/O9iYZ9aTi1RGpGTG9q9etIvuUikQ==
dependencies:
is-what "^3.3.1"
merge-deep@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/merge-deep/-/merge-deep-3.0.2.tgz#f39fa100a4f1bd34ff29f7d2bf4508fbb8d83ad2"
@ -9516,15 +9644,7 @@ prompts@^2.0.1:
kleur "^3.0.3"
sisteransi "^1.0.3"
prop-types@^15.6.2:
version "15.6.2"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.2.tgz#05d5ca77b4453e985d60fc7ff8c859094a497102"
integrity sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==
dependencies:
loose-envify "^1.3.1"
object-assign "^4.1.1"
prop-types@^15.7.2:
prop-types@^15.5.4, prop-types@^15.7.2:
version "15.7.2"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==
@ -9533,6 +9653,14 @@ prop-types@^15.7.2:
object-assign "^4.1.1"
react-is "^16.8.1"
prop-types@^15.6.2:
version "15.6.2"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.2.tgz#05d5ca77b4453e985d60fc7ff8c859094a497102"
integrity sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==
dependencies:
loose-envify "^1.3.1"
object-assign "^4.1.1"
protocols@^1.1.0, protocols@^1.4.0:
version "1.4.7"
resolved "https://registry.yarnpkg.com/protocols/-/protocols-1.4.7.tgz#95f788a4f0e979b291ffefcf5636ad113d037d32"
@ -9885,6 +10013,26 @@ react-scripts@3.2.0:
optionalDependencies:
fsevents "2.0.7"
react-toastify@^5.4.1:
version "5.4.1"
resolved "https://registry.yarnpkg.com/react-toastify/-/react-toastify-5.4.1.tgz#27533ca33753631016c44122934c7b6548352fcb"
integrity sha512-24EwkWrj47Id/HGjYfdcntaZpAQ3J5NX31SnGRD66hM/KvPKVJzPiDBPZ+/RZ3SvNkbNWfHpPKFWzenJjC26hg==
dependencies:
"@babel/runtime" "^7.4.2"
classnames "^2.2.6"
prop-types "^15.7.2"
react-transition-group "^4"
react-transition-group@^4:
version "4.3.0"
resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.3.0.tgz#fea832e386cf8796c58b61874a3319704f5ce683"
integrity sha512-1qRV1ZuVSdxPlPf4O8t7inxUGpdyO5zG9IoNfJxSO0ImU2A1YWkEQvFPuIPZmMLkg5hYs7vv5mMOyfgSkvAwvw==
dependencies:
"@babel/runtime" "^7.5.5"
dom-helpers "^5.0.1"
loose-envify "^1.4.0"
prop-types "^15.6.2"
react@^16.11.0:
version "16.11.0"
resolved "https://registry.yarnpkg.com/react/-/react-16.11.0.tgz#d294545fe62299ccee83363599bf904e4a07fdbb"
@ -11363,6 +11511,30 @@ style-loader@1.0.0:
loader-utils "^1.2.3"
schema-utils "^2.0.1"
styled-components@^4.4.1:
version "4.4.1"
resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-4.4.1.tgz#e0631e889f01db67df4de576fedaca463f05c2f2"
integrity sha512-RNqj14kYzw++6Sr38n7197xG33ipEOktGElty4I70IKzQF1jzaD1U4xQ+Ny/i03UUhHlC5NWEO+d8olRCDji6g==
dependencies:
"@babel/helper-module-imports" "^7.0.0"
"@babel/traverse" "^7.0.0"
"@emotion/is-prop-valid" "^0.8.1"
"@emotion/unitless" "^0.7.0"
babel-plugin-styled-components ">= 1"
css-to-react-native "^2.2.2"
memoize-one "^5.0.0"
merge-anything "^2.2.4"
prop-types "^15.5.4"
react-is "^16.6.0"
stylis "^3.5.0"
stylis-rule-sheet "^0.0.10"
supports-color "^5.5.0"
styled-theming@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/styled-theming/-/styled-theming-2.2.0.tgz#3084e43d40eaab4bc11ebafd3de04e3622fee37e"
integrity sha1-MITkPUDqq0vBHrr9PeBONiL+434=
stylehacks@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.1.tgz#3186595d047ab0df813d213e51c8b94e0b9010f2"
@ -11372,6 +11544,16 @@ stylehacks@^4.0.0:
postcss "^7.0.0"
postcss-selector-parser "^3.0.0"
stylis-rule-sheet@^0.0.10:
version "0.0.10"
resolved "https://registry.yarnpkg.com/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz#44e64a2b076643f4b52e5ff71efc04d8c3c4a430"
integrity sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw==
stylis@^3.5.0:
version "3.5.4"
resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.4.tgz#f665f25f5e299cf3d64654ab949a57c768b73fbe"
integrity sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q==
supports-color@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"