mirror of
https://github.com/apotdevin/thunderhub.git
synced 2025-02-22 06:21:37 +01:00
feat: cleanup features and more
This commit is contained in:
parent
d9fe27565e
commit
07fb015055
21 changed files with 548 additions and 73 deletions
|
@ -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": {
|
||||
|
|
22
src/App.css
22
src/App.css
|
@ -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;
|
||||
}
|
60
src/App.tsx
60
src/App.tsx
|
@ -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;
|
||||
|
|
12
src/components/generic/Styled.ts
Normal file
12
src/components/generic/Styled.ts
Normal 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%;
|
||||
`;
|
38
src/components/networkInfo/NetworkInfo.tsx
Normal file
38
src/components/networkInfo/NetworkInfo.tsx
Normal 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>
|
||||
);
|
||||
};
|
36
src/components/nodeInfo/NodeInfo.tsx
Normal file
36
src/components/nodeInfo/NodeInfo.tsx
Normal 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>
|
||||
);
|
||||
};
|
27
src/components/walletInfo/WalletInfo.tsx
Normal file
27
src/components/walletInfo/WalletInfo.tsx
Normal 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
48
src/graphql/query.ts
Normal 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
3
src/helpers/Helpers.ts
Normal file
|
@ -0,0 +1,3 @@
|
|||
export const getValue = (value: number | string) => {
|
||||
return value;
|
||||
};
|
|
@ -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;
|
||||
}
|
|
@ -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 |
26
src/sections/content/Content.tsx
Normal file
26
src/sections/content/Content.tsx
Normal 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>
|
||||
);
|
||||
};
|
15
src/sections/footer/Footer.tsx
Normal file
15
src/sections/footer/Footer.tsx
Normal 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>;
|
||||
};
|
15
src/sections/header/Header.tsx
Normal file
15
src/sections/header/Header.tsx
Normal 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>;
|
||||
};
|
29
src/sections/navigation/Navigation.tsx
Normal file
29
src/sections/navigation/Navigation.tsx
Normal 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
24
src/styles/GlobalStyle.ts
Normal 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
11
src/styles/Themes.ts
Normal 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
14
src/views/home/Home.tsx
Normal 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 />
|
||||
</>
|
||||
);
|
||||
};
|
6
src/views/notFound/NotFound.tsx
Normal file
6
src/views/notFound/NotFound.tsx
Normal 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
204
yarn.lock
|
@ -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"
|
||||
|
|
Loading…
Add table
Reference in a new issue