Browse Source

Merge pull request #862 from mrfelton/refactor/containers-and-routing

Refactor containers and routing
renovate/lint-staged-8.x
JimmyMow 6 years ago
committed by GitHub
parent
commit
029da87a20
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 9
      app/components/Activity/Activity.js
  2. 1
      app/components/Activity/InvoiceModal/InvoiceModal.scss
  3. 99
      app/components/App/App.js
  4. 8
      app/components/App/App.scss
  5. 25
      app/components/Contacts/Network/Network.scss
  6. 19
      app/components/LoadingBolt/LoadingBolt.js
  7. 2
      app/components/LoadingBolt/LoadingBolt.scss
  8. 7
      app/components/Onboarding/Autopilot/Autopilot.scss
  9. 2
      app/components/Onboarding/ConnectionType/ConnectionType.scss
  10. 3
      app/components/Onboarding/FormContainer/FormContainer.js
  11. 15
      app/components/Onboarding/FormContainer/FormContainer.scss
  12. 23
      app/components/Onboarding/Onboarding.js
  13. 0
      app/components/Onboarding/Onboarding.scss
  14. 2
      app/components/Onboarding/Signup/Signup.scss
  15. 37
      app/components/Syncing/Syncing.js
  16. 32
      app/components/Syncing/Syncing.scss
  17. 0
      app/components/Syncing/index.js
  18. 0
      app/components/Syncing/messages.js
  19. 4
      app/components/UI/GlobalStyle.js
  20. 4
      app/components/UI/Range.js
  21. 17
      app/components/UI/Titlebar.js
  22. 3
      app/components/withLoading/index.js
  23. 34
      app/components/withLoading/withLoading.js
  24. 12
      app/containers/Activity.js
  25. 53
      app/containers/App.js
  26. 186
      app/containers/Onboarding.js
  27. 373
      app/containers/Root.js
  28. 21
      app/containers/Syncing.js
  29. 3
      app/index.js
  30. 8
      app/lib/zap/controller.js
  31. 9
      app/reducers/error.js
  32. 13
      app/reducers/index.js
  33. 12
      app/reducers/info.js
  34. 46
      app/reducers/loading.js
  35. 5
      app/reducers/onboarding.js
  36. 3
      app/reducers/ticker.js
  37. 12
      app/store/configureStore.dev.js
  38. 10
      app/store/configureStore.prod.js
  39. 20
      app/translations/af-ZA.json
  40. 20
      app/translations/ar-SA.json
  41. 20
      app/translations/bg-BG.json
  42. 20
      app/translations/ca-ES.json
  43. 20
      app/translations/cs-CZ.json
  44. 20
      app/translations/da-DK.json
  45. 20
      app/translations/de-DE.json
  46. 20
      app/translations/el-GR.json
  47. 20
      app/translations/en.json
  48. 20
      app/translations/es-ES.json
  49. 20
      app/translations/fi-FI.json
  50. 20
      app/translations/fr-FR.json
  51. 20
      app/translations/ga-IE.json
  52. 20
      app/translations/he-IL.json
  53. 20
      app/translations/hi-IN.json
  54. 20
      app/translations/hr-HR.json
  55. 20
      app/translations/hu-HU.json
  56. 20
      app/translations/it-IT.json
  57. 20
      app/translations/ja-JP.json
  58. 20
      app/translations/ko-KR.json
  59. 20
      app/translations/nl-NL.json
  60. 20
      app/translations/no-NO.json
  61. 20
      app/translations/pl-PL.json
  62. 20
      app/translations/pt-BR.json
  63. 20
      app/translations/pt-PT.json
  64. 20
      app/translations/ro-RO.json
  65. 20
      app/translations/ru-RU.json
  66. 20
      app/translations/sr-SP.json
  67. 20
      app/translations/sv-SE.json
  68. 20
      app/translations/tr-TR.json
  69. 20
      app/translations/uk-UA.json
  70. 20
      app/translations/vi-VN.json
  71. 20
      app/translations/zh-CN.json
  72. 20
      app/translations/zh-TW.json
  73. 1
      package.json
  74. 3
      test/unit/components/LoadingBolt.spec.js
  75. 3
      test/unit/zap/controller.spec.js
  76. 438
      yarn.lock

9
app/components/Activity/Activity.js

@ -17,8 +17,8 @@ import styles from './Activity.scss'
import messages from './messages' import messages from './messages'
class Activity extends Component { class Activity extends Component {
constructor(props, context) { constructor(props) {
super(props, context) super(props)
this.renderActivity = this.renderActivity.bind(this) this.renderActivity = this.renderActivity.bind(this)
this.state = { this.state = {
@ -90,6 +90,7 @@ class Activity extends Component {
activity: { filters, filter, filterPulldown, searchActive, searchText, showExpiredRequests }, activity: { filters, filter, filterPulldown, searchActive, searchText, showExpiredRequests },
changeFilter, changeFilter,
currentActivity, currentActivity,
currentTicker,
showExpiredToggle, showExpiredToggle,
toggleExpiredRequests, toggleExpiredRequests,
@ -104,7 +105,7 @@ class Activity extends Component {
intl intl
} = this.props } = this.props
if (balance.channelBalance === null || balance.walletBalance === null) { if (!currentTicker || balance.channelBalance === null || balance.walletBalance === null) {
return null return null
} }
@ -242,7 +243,7 @@ Activity.propTypes = {
fetchChannels: PropTypes.func.isRequired, fetchChannels: PropTypes.func.isRequired,
ticker: PropTypes.object.isRequired, ticker: PropTypes.object.isRequired,
currentTicker: PropTypes.object.isRequired, currentTicker: PropTypes.object,
network: PropTypes.object.isRequired, network: PropTypes.object.isRequired,
showActivityModal: PropTypes.func.isRequired, showActivityModal: PropTypes.func.isRequired,

1
app/components/Activity/InvoiceModal/InvoiceModal.scss

@ -14,7 +14,6 @@
padding: 30px 0; padding: 30px 0;
.left { .left {
width: 25%;
padding: 0 60px; padding: 0 60px;
text-align: center; text-align: center;

99
app/components/App/App.js

@ -1,27 +1,55 @@
import React, { Component } from 'react' import React from 'react'
import PropTypes from 'prop-types' import PropTypes from 'prop-types'
import GlobalError from 'components/GlobalError'
import Form from 'components/Form' import Form from 'components/Form'
import ChannelForm from 'components/Contacts/ChannelForm' import ChannelForm from 'components/Contacts/ChannelForm'
import Network from 'components/Contacts/Network' import Network from 'components/Contacts/Network'
import AddChannel from 'components/Contacts/AddChannel' import AddChannel from 'components/Contacts/AddChannel'
import ReceiveModal from 'components/Wallet/ReceiveModal' import ReceiveModal from 'components/Wallet/ReceiveModal'
import ActivityModal from 'components/Activity/ActivityModal' import ActivityModal from 'components/Activity/ActivityModal'
import Activity from 'containers/Activity'
import { Box } from 'rebass'
import styles from './App.scss' import styles from './App.scss'
class App extends Component { class App extends React.Component {
componentWillMount() { static propTypes = {
const { fetchInfo, fetchSuggestedNodes, fetchDescribeNetwork } = this.props form: PropTypes.object.isRequired,
// fetch node info formProps: PropTypes.object.isRequired,
fetchInfo() closeForm: PropTypes.func.isRequired,
// fetch suggested nodes list from zap.jackmallers.com/suggested-peers currentTheme: PropTypes.string.isRequired,
fetchSuggestedNodes() currentTicker: PropTypes.object,
// fetch LN network from nides POV contactsFormProps: PropTypes.object,
fetchDescribeNetwork() networkTabProps: PropTypes.object,
activityModalProps: PropTypes.object,
receiveModalProps: PropTypes.object,
channelFormProps: PropTypes.object,
fetchInfo: PropTypes.func.isRequired,
fetchDescribeNetwork: PropTypes.func.isRequired,
fetchSuggestedNodes: PropTypes.func.isRequired
}
componentDidMount() {
const {
currentTicker,
fetchInfo,
fetchSuggestedNodes,
fetchTicker,
fetchDescribeNetwork
} = this.props
// If we don't yet have any ticker information then it must be our first time mounting this component.
if (!currentTicker) {
// fetch ticker data.
fetchTicker()
// fetch node info.
fetchInfo()
// fetch suggested nodes list from zap.jackmallers.com/suggested-peers.
fetchSuggestedNodes()
// fetch LN network from nodes POV.
fetchDescribeNetwork()
}
} }
render() { render() {
@ -29,20 +57,13 @@ class App extends Component {
currentTheme, currentTheme,
currentTicker, currentTicker,
form, form,
formProps, formProps,
closeForm, closeForm,
error: { error },
clearError,
contactsFormProps, contactsFormProps,
networkTabProps, networkTabProps,
receiveModalProps, receiveModalProps,
activityModalProps, activityModalProps,
channelFormProps, channelFormProps
children
} = this.props } = this.props
if (!currentTicker) { if (!currentTicker) {
@ -50,48 +71,22 @@ class App extends Component {
} }
return ( return (
<div className={`${currentTheme}`}> <Box width={1} className={`${currentTheme}`}>
<div className={styles.titleBar} />
<GlobalError error={error} clearError={clearError} />
<ChannelForm {...channelFormProps} /> <ChannelForm {...channelFormProps} />
<ReceiveModal {...receiveModalProps} /> <ReceiveModal {...receiveModalProps} />
<ActivityModal {...activityModalProps} /> <ActivityModal {...activityModalProps} />
<Box className={styles.content}>
<div className={styles.content}>{children}</div> <Activity />
</Box>
{contactsFormProps.contactsform.isOpen ? ( {contactsFormProps.contactsform.isOpen ? (
<AddChannel {...contactsFormProps} /> <AddChannel {...contactsFormProps} />
) : ( ) : (
<Network {...networkTabProps} /> <Network {...networkTabProps} />
)} )}
<Form formType={form.formType} formProps={formProps} closeForm={closeForm} /> <Form formType={form.formType} formProps={formProps} closeForm={closeForm} />
</div> </Box>
) )
} }
} }
App.propTypes = {
form: PropTypes.object.isRequired,
formProps: PropTypes.object.isRequired,
closeForm: PropTypes.func.isRequired,
error: PropTypes.object.isRequired,
currentTheme: PropTypes.string.isRequired,
currentTicker: PropTypes.object,
contactsFormProps: PropTypes.object,
networkTabProps: PropTypes.object,
activityModalProps: PropTypes.object,
receiveModalProps: PropTypes.object,
channelFormProps: PropTypes.object,
fetchInfo: PropTypes.func.isRequired,
clearError: PropTypes.func.isRequired,
fetchDescribeNetwork: PropTypes.func.isRequired,
fetchSuggestedNodes: PropTypes.func.isRequired,
children: PropTypes.object.isRequired
}
export default App export default App

8
app/components/App/App.scss

@ -9,11 +9,3 @@
background: var(--lightBackground); background: var(--lightBackground);
padding-top: 20px; padding-top: 20px;
} }
.titleBar {
height: 20px;
width: 100%;
position: absolute;
user-select: none;
-webkit-app-region: drag;
}

25
app/components/Contacts/Network/Network.scss

@ -112,7 +112,7 @@
ul { ul {
margin-top: 20px; margin-top: 20px;
height: calc(100vh - 202px); height: calc(100vh - 200px);
overflow-y: auto; overflow-y: auto;
overflow-x: hidden; overflow-x: hidden;
} }
@ -241,12 +241,7 @@
width: 10px; width: 10px;
border: 1px solid rgba(235, 184, 100, 0.1); border: 1px solid rgba(235, 184, 100, 0.1);
border-left-color: rgba(235, 184, 100, 0.4); border-left-color: rgba(235, 184, 100, 0.4);
-webkit-border-radius: 999px;
-moz-border-radius: 999px;
border-radius: 999px; border-radius: 999px;
-webkit-animation: animation-rotate 1000ms linear infinite;
-moz-animation: animation-rotate 1000ms linear infinite;
-o-animation: animation-rotate 1000ms linear infinite;
animation: animation-rotate 1000ms linear infinite; animation: animation-rotate 1000ms linear infinite;
display: inline-block; display: inline-block;
@ -256,24 +251,6 @@
} }
} }
@-webkit-keyframes animation-rotate {
100% {
-webkit-transform: rotate(360deg);
}
}
@-moz-keyframes animation-rotate {
100% {
-moz-transform: rotate(360deg);
}
}
@-o-keyframes animation-rotate {
100% {
-o-transform: rotate(360deg);
}
}
@keyframes animation-rotate { @keyframes animation-rotate {
100% { 100% {
transform: rotate(360deg); transform: rotate(360deg);

19
app/components/LoadingBolt/LoadingBolt.js

@ -8,15 +8,21 @@ import messages from './messages'
import styles from './LoadingBolt.scss' import styles from './LoadingBolt.scss'
class LoadingBolt extends React.PureComponent { class LoadingBolt extends React.Component {
static propTypes = {
isLoading: PropTypes.bool.isRequired,
theme: PropTypes.object.isRequired
}
render() { render() {
const { theme, visible = true } = this.props const { theme, isLoading = true } = this.props
return ( return (
<div> <div>
<Transition enter={{ opacity: 1 }} leave={{ opacity: 0 }} native> <Transition enter={{ opacity: 1 }} leave={{ opacity: 0 }} native>
{visible && {isLoading &&
(springStyles => ( (springStyles => (
<animated.div style={springStyles} className={`${styles.container} ${theme}`}> <animated.div style={springStyles} className={`${styles.container} ${theme.name}`}>
<div className={styles.content}> <div className={styles.content}>
<CloudLightning height="155px" width="150px" /> <CloudLightning height="155px" width="150px" />
<h1> <h1>
@ -31,9 +37,4 @@ class LoadingBolt extends React.PureComponent {
} }
} }
LoadingBolt.propTypes = {
visible: PropTypes.bool,
theme: PropTypes.string.isRequired
}
export default LoadingBolt export default LoadingBolt

2
app/components/LoadingBolt/LoadingBolt.scss

@ -21,7 +21,7 @@
.content { .content {
position: relative; position: relative;
top: calc(50% - 125px); top: calc(50% - 175px);
min-height: 250px; min-height: 250px;
color: var(--primaryText); color: var(--primaryText);

7
app/components/Onboarding/Autopilot/Autopilot.scss

@ -35,16 +35,15 @@
} }
div { div {
width: 150px; width: 30%;
text-align: center; text-align: center;
display: inline-block; display: flex;
padding: 20px; padding: 20px;
border: 1px solid var(--primaryText); border: 1px solid var(--primaryText);
border-radius: 5px; border-radius: 5px;
font-weight: 200;
cursor: pointer; cursor: pointer;
transition: all 0.25s; transition: all 0.25s;
margin-bottom: 20px; margin: 15px 20px 10px 0;
} }
.label { .label {

2
app/components/Onboarding/ConnectionType/ConnectionType.scss

@ -21,7 +21,7 @@
} }
.button { .button {
width: 20%; width: 30%;
text-align: center; text-align: center;
display: flex; display: flex;
padding: 20px; padding: 20px;

3
app/components/Onboarding/FormContainer/FormContainer.js

@ -11,8 +11,7 @@ import messages from './messages'
import styles from './FormContainer.scss' import styles from './FormContainer.scss'
const FormContainer = ({ title, description, back, next, children, theme }) => ( const FormContainer = ({ title, description, back, next, children, theme }) => (
<div className={styles.container}> <div className={`${styles.container} ${theme}`}>
<div className={styles.titleBar} />
<header className={styles.header}> <header className={styles.header}>
<section> <section>
{theme === 'light' ? ( {theme === 'light' ? (

15
app/components/Onboarding/FormContainer/FormContainer.scss

@ -6,14 +6,6 @@
background: var(--lightBackground); background: var(--lightBackground);
} }
.titleBar {
height: 20px;
width: 100%;
position: absolute;
user-select: none;
-webkit-app-region: drag;
}
.header { .header {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
@ -35,7 +27,8 @@
.info { .info {
color: var(--primaryText); color: var(--primaryText);
margin-bottom: 20px; margin-bottom: 20px;
padding: 20px 40px; padding: 10px 40px 20px;
height: 16vh;
h1 { h1 {
font-size: 22px; font-size: 22px;
@ -53,7 +46,7 @@
position: relative; position: relative;
background: var(--darkestBackground); background: var(--darkestBackground);
height: 100vh; height: 100vh;
padding: 40px 40px; padding: 20px 40px;
} }
.footer { .footer {
@ -61,7 +54,7 @@
bottom: 0; bottom: 0;
padding: 25px 40px; padding: 25px 40px;
color: var(--primaryText); color: var(--primaryText);
width: calc(100% - 80px); width: 100%;
.buttonsContainer { .buttonsContainer {
display: flex; display: flex;

23
app/components/Onboarding/Onboarding.js

@ -1,8 +1,9 @@
import React from 'react' import React from 'react'
import PropTypes from 'prop-types' import PropTypes from 'prop-types'
import { Redirect } from 'react-router-dom'
import { FormattedMessage } from 'react-intl' import { FormattedMessage } from 'react-intl'
import LoadingBolt from 'components/LoadingBolt' import { Box } from 'rebass'
import messages from './messages' import messages from './messages'
import FormContainer from './FormContainer' import FormContainer from './FormContainer'
@ -18,7 +19,6 @@ import RecoverForm from './RecoverForm'
import NewWalletSeed from './NewWalletSeed' import NewWalletSeed from './NewWalletSeed'
import ReEnterSeed from './ReEnterSeed' import ReEnterSeed from './ReEnterSeed'
import NewWalletPassword from './NewWalletPassword' import NewWalletPassword from './NewWalletPassword'
import styles from './Onboarding.scss'
const Onboarding = ({ const Onboarding = ({
onboarding: { onboarding: {
@ -31,10 +31,9 @@ const Onboarding = ({
connectionMacaroon, connectionMacaroon,
alias, alias,
autopilot, autopilot,
startingLnd,
createWalletPassword, createWalletPassword,
seed, seed,
fetchingSeed onboarded
}, },
theme, theme,
connectionTypeProps, connectionTypeProps,
@ -288,19 +287,15 @@ const Onboarding = ({
<ReEnterSeed {...reEnterSeedProps} /> <ReEnterSeed {...reEnterSeedProps} />
</FormContainer> </FormContainer>
) )
default:
return <LoadingBolt theme={theme} />
} }
} }
if (startingLnd) { return (
return <LoadingBolt theme={theme} /> <Box width={1}>
} {renderStep()}
if (fetchingSeed) { {onboarded && <Redirect to={connectionType === 'local' ? '/syncing' : '/app'} />}
return <LoadingBolt theme={theme} /> </Box>
} )
return <div className={`${styles.container} ${theme}`}>{renderStep()}</div>
} }
Onboarding.propTypes = { Onboarding.propTypes = {

0
app/components/Onboarding/Onboarding.scss

2
app/components/Onboarding/Signup/Signup.scss

@ -35,7 +35,7 @@
} }
div { div {
width: 185px; width: 30%;
display: inline-block; display: inline-block;
padding: 20px; padding: 20px;
border: 1px solid var(--primaryText); border: 1px solid var(--primaryText);

37
app/components/Onboarding/Syncing/Syncing.js → app/components/Syncing/Syncing.js

@ -1,5 +1,6 @@
import React, { Component } from 'react' import React, { Component } from 'react'
import PropTypes from 'prop-types' import PropTypes from 'prop-types'
import { Redirect } from 'react-router-dom'
import QRCode from 'qrcode.react' import QRCode from 'qrcode.react'
import copy from 'copy-to-clipboard' import copy from 'copy-to-clipboard'
import Copy from 'components/Icon/Copy' import Copy from 'components/Icon/Copy'
@ -11,6 +12,17 @@ import messages from './messages'
import styles from './Syncing.scss' import styles from './Syncing.scss'
class Syncing extends Component { class Syncing extends Component {
static propTypes = {
address: PropTypes.string.isRequired,
theme: PropTypes.object.isRequired,
hasSynced: PropTypes.bool,
syncStatus: PropTypes.string.isRequired,
syncPercentage: PropTypes.number,
blockHeight: PropTypes.number,
lndBlockHeight: PropTypes.number,
lndCfilterHeight: PropTypes.number
}
state = { state = {
timer: null, timer: null,
syncMessageDetail: null, syncMessageDetail: null,
@ -51,6 +63,10 @@ class Syncing extends Component {
} = this.props } = this.props
let { syncMessageDetail, syncMessageExtraDetail } = this.state let { syncMessageDetail, syncMessageExtraDetail } = this.state
if (syncStatus === 'complete') {
return <Redirect to="/app" />
}
const copyClicked = () => { const copyClicked = () => {
copy(address) copy(address)
showNotification('Noice', 'Successfully copied to clipboard') showNotification('Noice', 'Successfully copied to clipboard')
@ -81,17 +97,11 @@ class Syncing extends Component {
} }
} }
if (typeof hasSynced === 'undefined') {
return null
}
return ( return (
<div className={`${styles.container} ${theme}`}> <div className={`${styles.container} ${theme.name}`}>
<div className={styles.titleBar} />
<div className={styles.content}> <div className={styles.content}>
<header> <header>
{theme === 'light' ? ( {theme.name === 'light' ? (
<ZapLogoBlack width="70px" height="32px" /> <ZapLogoBlack width="70px" height="32px" />
) : ( ) : (
<ZapLogo width="70px" height="32px" /> <ZapLogo width="70px" height="32px" />
@ -176,15 +186,4 @@ class Syncing extends Component {
} }
} }
Syncing.propTypes = {
address: PropTypes.string.isRequired,
theme: PropTypes.string.isRequired,
hasSynced: PropTypes.bool,
syncStatus: PropTypes.string.isRequired,
syncPercentage: PropTypes.number,
blockHeight: PropTypes.number,
lndBlockHeight: PropTypes.number,
lndCfilterHeight: PropTypes.number
}
export default injectIntl(Syncing) export default injectIntl(Syncing)

32
app/components/Onboarding/Syncing/Syncing.scss → app/components/Syncing/Syncing.scss

@ -2,17 +2,11 @@
.container { .container {
position: relative; position: relative;
width: 100%;
height: 100vh; height: 100vh;
background: var(--darkestBackground); background: var(--darkestBackground);
} }
.titleBar {
height: 20px;
-webkit-user-select: none;
-webkit-app-region: drag;
background: var(--darkestBackground);
}
.content { .content {
color: var(--primaryText); color: var(--primaryText);
text-align: center; text-align: center;
@ -89,6 +83,7 @@
padding: 40px 0; padding: 40px 0;
background: var(--lightestBackground); background: var(--lightestBackground);
position: absolute; position: absolute;
height: 31vh;
width: 100%; width: 100%;
bottom: 0; bottom: 0;
@ -127,36 +122,13 @@
.spinner { .spinner {
border: 1px solid rgba(0, 0, 0, 0.1); border: 1px solid rgba(0, 0, 0, 0.1);
border-left-color: rgba(0, 0, 0, 0.4); border-left-color: rgba(0, 0, 0, 0.4);
-webkit-border-radius: 999px;
-moz-border-radius: 999px;
border-radius: 999px; border-radius: 999px;
margin: 0 auto; margin: 0 auto;
height: 75px; height: 75px;
width: 75px; width: 75px;
-webkit-animation: animation-rotate 1000ms linear infinite;
-moz-animation: animation-rotate 1000ms linear infinite;
-o-animation: animation-rotate 1000ms linear infinite;
animation: animation-rotate 1000ms linear infinite; animation: animation-rotate 1000ms linear infinite;
} }
@-webkit-keyframes animation-rotate {
100% {
-webkit-transform: rotate(360deg);
}
}
@-moz-keyframes animation-rotate {
100% {
-moz-transform: rotate(360deg);
}
}
@-o-keyframes animation-rotate {
100% {
-o-transform: rotate(360deg);
}
}
@keyframes animation-rotate { @keyframes animation-rotate {
100% { 100% {
transform: rotate(360deg); transform: rotate(360deg);

0
app/components/Onboarding/Syncing/index.js → app/components/Syncing/index.js

0
app/components/Onboarding/Syncing/messages.js → app/components/Syncing/messages.js

4
app/components/UI/GlobalStyle.js

@ -4,8 +4,12 @@ const GlobalStyle = createGlobalStyle`
html { html {
box-sizing: border-box; box-sizing: border-box;
} }
*, *:before, *:after {
box-sizing: inherit;
}
body { body {
position: relative; position: relative;
box-sizing: border-box;
overflow-y: hidden; overflow-y: hidden;
margin: 0; margin: 0;
padding: 0; padding: 0;

4
app/components/UI/Range.js

@ -31,11 +31,11 @@ const Range = asField(({ fieldState, fieldApi, ...props }) => {
const { onChange, onBlur, initialValue, forwardedRef, ...rest } = props const { onChange, onBlur, initialValue, forwardedRef, ...rest } = props
return ( return (
<Input <Input
{...rest}
type="range"
min={0} min={0}
max={100} max={100}
step={1} step={1}
{...rest}
type="range"
ref={forwardedRef} ref={forwardedRef}
value={value || initialValue || '0'} value={value || initialValue || '0'}
onChange={e => { onChange={e => {

17
app/components/UI/Titlebar.js

@ -0,0 +1,17 @@
import styled from 'styled-components'
/**
* @render react
* @name Titlebar
* @example
* <Titlebar/>
*/
const Titlebar = styled.div`
height: 20px;
width: 100%;
position: absolute;
user-select: none;
-webkit-app-region: drag;
`
export default Titlebar

3
app/components/withLoading/index.js

@ -0,0 +1,3 @@
import withLoading from './withLoading'
export default withLoading

34
app/components/withLoading/withLoading.js

@ -0,0 +1,34 @@
import React from 'react'
import PropTypes from 'prop-types'
import { withTheme } from 'styled-components'
import LoadingBolt from 'components/LoadingBolt'
const LoadingBoltWithTheme = withTheme(LoadingBolt)
/**
* A HOC that will display the LoadingBolt component whilast the wrapped component is loading.
* @param {React.Component} Component Component to wrap
*/
const withLoading = Component =>
class extends React.Component {
static displayName = 'withLoading'
static propTypes = {
isLoading: PropTypes.bool.isRequired
}
/**
* Render the loading bolt ontop of the wrapped component for as long as needed.
*/
render() {
const { isLoading, theme, children, ...rest } = this.props
return (
<React.Fragment>
<LoadingBoltWithTheme isLoading={isLoading} />
<Component {...rest}>{children}</Component>
</React.Fragment>
)
}
}
export default withLoading

12
app/containers/Activity.js

@ -1,4 +1,5 @@
import { connect } from 'react-redux' import { connect } from 'react-redux'
import { setLocale } from 'reducers/locale' import { setLocale } from 'reducers/locale'
import { setCurrency, setFiatTicker, tickerSelectors } from 'reducers/ticker' import { setCurrency, setFiatTicker, tickerSelectors } from 'reducers/ticker'
import { fetchBalance } from 'reducers/balance' import { fetchBalance } from 'reducers/balance'
@ -18,13 +19,9 @@ import {
} from 'reducers/activity' } from 'reducers/activity'
import { walletAddress, openWalletModal } from 'reducers/address' import { walletAddress, openWalletModal } from 'reducers/address'
import { setFormType } from 'reducers/form' import { setFormType } from 'reducers/form'
import { payFormSelectors } from 'reducers/payform' import { payFormSelectors } from 'reducers/payform'
import { setWalletCurrencyFilters } from 'reducers/info' import { setWalletCurrencyFilters } from 'reducers/info'
import { setSettingsOpen, setActiveSubMenu, disableSubMenu } from 'reducers/settings' import { setSettingsOpen, setActiveSubMenu, disableSubMenu } from 'reducers/settings'
import { setTheme, themeSelectors } from 'reducers/theme' import { setTheme, themeSelectors } from 'reducers/theme'
import Activity from 'components/Activity' import Activity from 'components/Activity'
@ -59,23 +56,16 @@ const mapDispatchToProps = {
const mapStateToProps = state => ({ const mapStateToProps = state => ({
activity: state.activity, activity: state.activity,
balance: state.balance, balance: state.balance,
address: state.address, address: state.address,
info: state.info, info: state.info,
payment: state.payment, payment: state.payment,
transaction: state.transaction, transaction: state.transaction,
invoice: state.invoice, invoice: state.invoice,
invoices: invoiceSelectors.invoices(state), invoices: invoiceSelectors.invoices(state),
ticker: state.ticker, ticker: state.ticker,
network: state.network, network: state.network,
settings: state.settings, settings: state.settings,
currentLocale: state.intl.locale, currentLocale: state.intl.locale,
locales: state.locale, locales: state.locale,

53
app/containers/App.js

@ -1,18 +1,14 @@
import { withRouter } from 'react-router-dom' import { withRouter } from 'react-router'
import { connect } from 'react-redux' import { connect } from 'react-redux'
import get from 'lodash.get' import get from 'lodash.get'
import { btc } from 'lib/utils' import { btc } from 'lib/utils'
import { themeSelectors } from 'reducers/theme' import { themeSelectors } from 'reducers/theme'
import { setCurrency, tickerSelectors } from 'reducers/ticker' import { setCurrency, tickerSelectors, fetchTicker } from 'reducers/ticker'
import { closeWalletModal } from 'reducers/address' import { closeWalletModal } from 'reducers/address'
import { fetchInfo, infoSelectors } from 'reducers/info'
import { fetchInfo } from 'reducers/info'
import { setFormType } from 'reducers/form' import { setFormType } from 'reducers/form'
import { import {
setPayAmount, setPayAmount,
setPayInput, setPayInput,
@ -20,22 +16,16 @@ import {
updatePayErrors, updatePayErrors,
payFormSelectors payFormSelectors
} from 'reducers/payform' } from 'reducers/payform'
import { import {
setRequestAmount, setRequestAmount,
setRequestMemo, setRequestMemo,
setRequestCurrencyFilters, setRequestCurrencyFilters,
requestFormSelectors requestFormSelectors
} from 'reducers/requestform' } from 'reducers/requestform'
import { sendCoins } from 'reducers/transaction' import { sendCoins } from 'reducers/transaction'
import { payInvoice } from 'reducers/payment' import { payInvoice } from 'reducers/payment'
import { createInvoice, fetchInvoice } from 'reducers/invoice' import { createInvoice, fetchInvoice } from 'reducers/invoice'
import { lndSelectors } from 'reducers/lnd' import { lndSelectors } from 'reducers/lnd'
import { import {
fetchChannels, fetchChannels,
fetchSuggestedNodes, fetchSuggestedNodes,
@ -48,7 +38,6 @@ import {
updateChannelSearchQuery, updateChannelSearchQuery,
setSelectedChannel setSelectedChannel
} from 'reducers/channels' } from 'reducers/channels'
import { import {
openContactsForm, openContactsForm,
closeContactsForm, closeContactsForm,
@ -65,13 +54,9 @@ import {
updateManualFormErrors, updateManualFormErrors,
setContactsCurrencyFilters setContactsCurrencyFilters
} from 'reducers/contactsform' } from 'reducers/contactsform'
import { fetchBalance } from 'reducers/balance' import { fetchBalance } from 'reducers/balance'
import { fetchDescribeNetwork } from 'reducers/network' import { fetchDescribeNetwork } from 'reducers/network'
import { clearError } from 'reducers/error' import { clearError } from 'reducers/error'
import { import {
hideActivityModal, hideActivityModal,
setActivityModalCurrencyFilters, setActivityModalCurrencyFilters,
@ -79,43 +64,35 @@ import {
} from 'reducers/activity' } from 'reducers/activity'
import App from 'components/App' import App from 'components/App'
import withLoading from 'components/withLoading'
const mapDispatchToProps = { const mapDispatchToProps = {
setCurrency, setCurrency,
closeWalletModal, closeWalletModal,
fetchInfo, fetchInfo,
setFormType, setFormType,
setPayAmount, setPayAmount,
setPayInput, setPayInput,
setCurrencyFilters, setCurrencyFilters,
updatePayErrors, updatePayErrors,
setRequestAmount, setRequestAmount,
setRequestMemo, setRequestMemo,
setRequestCurrencyFilters, setRequestCurrencyFilters,
sendCoins, sendCoins,
payInvoice, payInvoice,
createInvoice, createInvoice,
fetchInvoice, fetchInvoice,
clearError, clearError,
fetchBalance, fetchBalance,
fetchChannels, fetchChannels,
fetchSuggestedNodes, fetchSuggestedNodes,
fetchTicker,
openChannel, openChannel,
closeChannel, closeChannel,
toggleFilterPulldown, toggleFilterPulldown,
changeFilter, changeFilter,
updateChannelSearchQuery, updateChannelSearchQuery,
setSelectedChannel, setSelectedChannel,
openContactsForm, openContactsForm,
closeContactsForm, closeContactsForm,
openSubmitChannelForm, openSubmitChannelForm,
@ -130,18 +107,14 @@ const mapDispatchToProps = {
updateManualFormErrors, updateManualFormErrors,
setContactsCurrencyFilters, setContactsCurrencyFilters,
setChannelFormType, setChannelFormType,
fetchDescribeNetwork, fetchDescribeNetwork,
hideActivityModal, hideActivityModal,
setActivityModalCurrencyFilters setActivityModalCurrencyFilters
} }
const mapStateToProps = state => ({ const mapStateToProps = state => ({
activity: state.activity, activity: state.activity,
lnd: state.lnd, lnd: state.lnd,
ticker: state.ticker, ticker: state.ticker,
address: state.address, address: state.address,
info: state.info, info: state.info,
@ -151,25 +124,27 @@ const mapStateToProps = state => ({
channels: state.channels, channels: state.channels,
contactsform: state.contactsform, contactsform: state.contactsform,
balance: state.balance, balance: state.balance,
form: state.form, form: state.form,
payform: state.payform, payform: state.payform,
requestform: state.requestform, requestform: state.requestform,
invoice: state.invoice, invoice: state.invoice,
error: state.error, error: state.error,
network: state.network, network: state.network,
settings: state.settings, settings: state.settings,
activityModalItem: activitySelectors.activityModalItem(state), isLoading:
infoSelectors.infoLoading(state) ||
tickerSelectors.tickerLoading(state) ||
state.balance.channelBalance === null ||
state.balance.walletBalance === null,
activityModalItem: activitySelectors.activityModalItem(state),
currentTheme: themeSelectors.currentTheme(state), currentTheme: themeSelectors.currentTheme(state),
currentTicker: tickerSelectors.currentTicker(state), currentTicker: tickerSelectors.currentTicker(state),
currentCurrencyFilters: tickerSelectors.currentCurrencyFilters(state), currentCurrencyFilters: tickerSelectors.currentCurrencyFilters(state),
currencyName: tickerSelectors.currencyName(state), currencyName: tickerSelectors.currencyName(state),
isOnchain: payFormSelectors.isOnchain(state), isOnchain: payFormSelectors.isOnchain(state),
isLn: payFormSelectors.isLn(state), isLn: payFormSelectors.isLn(state),
currentAmount: payFormSelectors.currentAmount(state), currentAmount: payFormSelectors.currentAmount(state),
@ -491,5 +466,5 @@ export default withRouter(
mapStateToProps, mapStateToProps,
mapDispatchToProps, mapDispatchToProps,
mergeProps mergeProps
)(App) )(withLoading(App))
) )

186
app/containers/Onboarding.js

@ -0,0 +1,186 @@
import { connect } from 'react-redux'
import { themeSelectors } from 'reducers/theme'
import {
setConnectionType,
setConnectionString,
setConnectionHost,
setConnectionCert,
setConnectionMacaroon,
updateAlias,
updatePassword,
setAutopilot,
changeStep,
startLnd,
createWallet,
updateCreateWalletPassword,
updateCreateWalletPasswordConfirmation,
submitNewWallet,
recoverOldWallet,
onboardingSelectors,
unlockWallet,
setSignupCreate,
setSignupImport,
updateReEnterSeedInput,
updateRecoverSeedInput,
setReEnterSeedIndexes
} from 'reducers/onboarding'
import Onboarding from 'components/Onboarding'
const mapDispatchToProps = {
setConnectionType,
setConnectionString,
setConnectionHost,
setConnectionCert,
setConnectionMacaroon,
updateAlias,
updatePassword,
updateCreateWalletPassword,
updateCreateWalletPasswordConfirmation,
setAutopilot,
changeStep,
startLnd,
createWallet,
submitNewWallet,
recoverOldWallet,
unlockWallet,
setSignupCreate,
setSignupImport,
updateReEnterSeedInput,
updateRecoverSeedInput,
setReEnterSeedIndexes
}
const mapStateToProps = state => ({
currentTheme: themeSelectors.currentTheme(state),
onboarding: state.onboarding,
passwordIsValid: onboardingSelectors.passwordIsValid(state),
passwordMinCharsError: onboardingSelectors.passwordMinCharsError(state),
showCreateWalletPasswordConfirmationError: onboardingSelectors.showCreateWalletPasswordConfirmationError(
state
),
reEnterSeedChecker: onboardingSelectors.reEnterSeedChecker(state),
connectionStringIsValid: onboardingSelectors.connectionStringIsValid(state),
connectionHostIsValid: onboardingSelectors.connectionHostIsValid(state)
})
const mergeProps = (stateProps, dispatchProps, ownProps) => {
const connectionTypeProps = {
connectionType: stateProps.onboarding.connectionType,
setConnectionType: dispatchProps.setConnectionType
}
const connectionDetailProps = {
connectionHostIsValid: stateProps.connectionHostIsValid,
connectionStringIsValid: stateProps.connectionStringIsValid,
connectionString: stateProps.onboarding.connectionString,
connectionHost: stateProps.onboarding.connectionHost,
connectionCert: stateProps.onboarding.connectionCert,
connectionMacaroon: stateProps.onboarding.connectionMacaroon,
setConnectionString: dispatchProps.setConnectionString,
setConnectionHost: dispatchProps.setConnectionHost,
setConnectionCert: dispatchProps.setConnectionCert,
setConnectionMacaroon: dispatchProps.setConnectionMacaroon,
startLndHostError: stateProps.onboarding.startLndHostError,
startLndCertError: stateProps.onboarding.startLndCertError,
startLndMacaroonError: stateProps.onboarding.startLndMacaroonError
}
const connectionConfirmProps = {
connectionHost: stateProps.onboarding.connectionHost
}
const aliasProps = {
updateAlias: dispatchProps.updateAlias,
alias: stateProps.onboarding.alias
}
const autopilotProps = {
autopilot: stateProps.onboarding.autopilot,
setAutopilot: dispatchProps.setAutopilot
}
const initWalletProps = {
hasSeed: stateProps.onboarding.hasSeed,
loginProps: {
password: stateProps.onboarding.password,
passwordIsValid: stateProps.passwordIsValid,
hasSeed: stateProps.onboarding.hasSeed,
existingWalletDir: stateProps.onboarding.existingWalletDir,
unlockingWallet: stateProps.onboarding.unlockingWallet,
unlockWalletError: stateProps.onboarding.unlockWalletError,
updatePassword: dispatchProps.updatePassword,
createWallet: dispatchProps.createWallet,
unlockWallet: dispatchProps.unlockWallet
},
signupProps: {
signupForm: stateProps.onboarding.signupForm,
setSignupCreate: dispatchProps.setSignupCreate,
setSignupImport: dispatchProps.setSignupImport
}
}
const newWalletSeedProps = {
seed: stateProps.onboarding.seed
}
const newWalletPasswordProps = {
createWalletPassword: stateProps.onboarding.createWalletPassword,
createWalletPasswordConfirmation: stateProps.onboarding.createWalletPasswordConfirmation,
showCreateWalletPasswordConfirmationError: stateProps.showCreateWalletPasswordConfirmationError,
passwordMinCharsError: stateProps.passwordMinCharsError,
updateCreateWalletPassword: dispatchProps.updateCreateWalletPassword,
updateCreateWalletPasswordConfirmation: dispatchProps.updateCreateWalletPasswordConfirmation
}
const recoverFormProps = {
recoverSeedInput: stateProps.onboarding.recoverSeedInput,
updateRecoverSeedInput: dispatchProps.updateRecoverSeedInput
}
const reEnterSeedProps = {
seed: stateProps.onboarding.seed,
reEnterSeedInput: stateProps.onboarding.reEnterSeedInput,
seedIndexesArr: stateProps.onboarding.seedIndexesArr,
reEnterSeedChecker: stateProps.reEnterSeedChecker,
updateReEnterSeedInput: dispatchProps.updateReEnterSeedInput,
setReEnterSeedIndexes: dispatchProps.setReEnterSeedIndexes
}
const onboardingProps = {
onboarding: stateProps.onboarding,
theme: stateProps.currentTheme,
changeStep: dispatchProps.changeStep,
startLnd: dispatchProps.startLnd,
submitNewWallet: dispatchProps.submitNewWallet,
recoverOldWallet: dispatchProps.recoverOldWallet,
connectionTypeProps,
connectionDetailProps,
connectionConfirmProps,
aliasProps,
autopilotProps,
initWalletProps,
newWalletSeedProps,
newWalletPasswordProps,
recoverFormProps,
reEnterSeedProps
}
return {
...stateProps,
...dispatchProps,
...ownProps,
...onboardingProps
}
}
export default connect(
mapStateToProps,
mapDispatchToProps,
mergeProps
)(Onboarding)

373
app/containers/Root.js

@ -1,320 +1,107 @@
import React, { Component } from 'react' import React from 'react'
import { connect } from 'react-redux'
import { ConnectedRouter } from 'react-router-redux'
import { Switch, Route } from 'react-router'
import PropTypes from 'prop-types' import PropTypes from 'prop-types'
import { connect } from 'react-redux'
import { Redirect, Route, Switch } from 'react-router-dom'
import { ConnectedRouter } from 'connected-react-router'
import { ThemeProvider } from 'styled-components' import { ThemeProvider } from 'styled-components'
import GlobalStyle from 'components/UI/GlobalStyle'
import GlobalError from 'components/GlobalError'
import { clearError } from 'reducers/error'
import { import { clearError, errorSelectors } from 'reducers/error'
setConnectionType, import { loadingSelectors, setLoading } from 'reducers/loading'
setConnectionString,
setConnectionHost,
setConnectionCert,
setConnectionMacaroon,
updateAlias,
updatePassword,
setAutopilot,
changeStep,
startLnd,
createWallet,
updateCreateWalletPassword,
updateCreateWalletPasswordConfirmation,
submitNewWallet,
recoverOldWallet,
onboardingSelectors,
unlockWallet,
setSignupCreate,
setSignupImport,
updateReEnterSeedInput,
updateRecoverSeedInput,
setReEnterSeedIndexes
} from 'reducers/onboarding'
import { fetchTicker, tickerSelectors } from 'reducers/ticker'
import { themeSelectors } from 'reducers/theme' import { themeSelectors } from 'reducers/theme'
import { lndSelectors } from 'reducers/lnd'
import { walletAddress } from 'reducers/address'
import LoadingBolt from 'components/LoadingBolt'
import Onboarding from 'components/Onboarding'
import Syncing from 'components/Onboarding/Syncing'
import App from './App'
import Activity from './Activity'
const mapDispatchToProps = {
clearError,
setConnectionType,
setConnectionString,
setConnectionHost,
setConnectionCert,
setConnectionMacaroon,
updateAlias,
updatePassword,
updateCreateWalletPassword,
updateCreateWalletPasswordConfirmation,
setAutopilot,
changeStep,
startLnd,
createWallet,
submitNewWallet,
recoverOldWallet,
unlockWallet,
setSignupCreate,
setSignupImport,
walletAddress,
updateReEnterSeedInput,
updateRecoverSeedInput,
setReEnterSeedIndexes,
fetchTicker
}
const mapStateToProps = state => ({ import Page from 'components/UI/Page'
lnd: state.lnd, import Titlebar from 'components/UI/Titlebar'
onboarding: state.onboarding, import GlobalError from 'components/GlobalError'
address: state.address, import GlobalStyle from 'components/UI/GlobalStyle'
info: state.info, import withLoading from 'components/withLoading'
balance: state.balance,
currentTheme: themeSelectors.currentTheme(state),
currentThemeSettings: themeSelectors.currentThemeSettings(state),
currentTicker: tickerSelectors.currentTicker(state),
error: state.error,
syncPercentage: lndSelectors.syncPercentage(state),
passwordIsValid: onboardingSelectors.passwordIsValid(state),
passwordMinCharsError: onboardingSelectors.passwordMinCharsError(state),
showCreateWalletPasswordConfirmationError: onboardingSelectors.showCreateWalletPasswordConfirmationError(
state
),
reEnterSeedChecker: onboardingSelectors.reEnterSeedChecker(state),
connectionStringIsValid: onboardingSelectors.connectionStringIsValid(state),
connectionHostIsValid: onboardingSelectors.connectionHostIsValid(state)
})
const mergeProps = (stateProps, dispatchProps, ownProps) => {
const syncingProps = {
blockHeight: stateProps.lnd.blockHeight,
syncStatus: stateProps.lnd.syncStatus,
lndBlockHeight: stateProps.lnd.lndBlockHeight,
lndCfilterHeight: stateProps.lnd.lndCfilterHeight,
hasSynced: stateProps.info.hasSynced,
syncPercentage: stateProps.syncPercentage,
address: stateProps.address.address,
theme: stateProps.currentTheme
}
const connectionTypeProps = {
connectionType: stateProps.onboarding.connectionType,
setConnectionType: dispatchProps.setConnectionType
}
const connectionDetailProps = {
connectionHostIsValid: stateProps.connectionHostIsValid,
connectionStringIsValid: stateProps.connectionStringIsValid,
connectionString: stateProps.onboarding.connectionString,
connectionHost: stateProps.onboarding.connectionHost,
connectionCert: stateProps.onboarding.connectionCert,
connectionMacaroon: stateProps.onboarding.connectionMacaroon,
setConnectionString: dispatchProps.setConnectionString,
setConnectionHost: dispatchProps.setConnectionHost,
setConnectionCert: dispatchProps.setConnectionCert,
setConnectionMacaroon: dispatchProps.setConnectionMacaroon,
startLndHostError: stateProps.onboarding.startLndHostError,
startLndCertError: stateProps.onboarding.startLndCertError,
startLndMacaroonError: stateProps.onboarding.startLndMacaroonError
}
const connectionConfirmProps = {
connectionHost: stateProps.onboarding.connectionHost
}
const aliasProps = { import Onboarding from './Onboarding'
updateAlias: dispatchProps.updateAlias, import Syncing from './Syncing'
alias: stateProps.onboarding.alias import App from './App'
}
const autopilotProps = { // Wrap the apge with our isLoading HOC so that the app displays the loading graphic whhen it first mounts.
autopilot: stateProps.onboarding.autopilot, const PageWithLoading = withLoading(Page)
setAutopilot: dispatchProps.setAutopilot
// The minimum amount of time that we will show the loading component when the app mounts.
const SPLASH_SCREEN_TIME = 1500
/**
* Root component that deals with mounting the app and managing top level routing.
*/
class Root extends React.Component {
static propTypes = {
clearError: PropTypes.func.isRequired,
currentThemeSettings: PropTypes.object.isRequired,
error: PropTypes.string,
history: PropTypes.object.isRequired,
isLoading: PropTypes.bool.isRequired,
setLoading: PropTypes.func.isRequired
} }
const initWalletProps = { /**
hasSeed: stateProps.onboarding.hasSeed, * Initialise component state props.
*/
loginProps: { constructor(props) {
password: stateProps.onboarding.password, super(props)
passwordIsValid: stateProps.passwordIsValid, this.state = {
hasSeed: stateProps.onboarding.hasSeed, timer: null
existingWalletDir: stateProps.onboarding.existingWalletDir,
unlockingWallet: stateProps.onboarding.unlockingWallet,
unlockWalletError: stateProps.onboarding.unlockWalletError,
updatePassword: dispatchProps.updatePassword,
createWallet: dispatchProps.createWallet,
unlockWallet: dispatchProps.unlockWallet
},
signupProps: {
signupForm: stateProps.onboarding.signupForm,
setSignupCreate: dispatchProps.setSignupCreate,
setSignupImport: dispatchProps.setSignupImport
} }
} }
const newWalletSeedProps = { /**
seed: stateProps.onboarding.seed * // Show the loading bold briefly before showing the user the app.
} */
componentDidMount() {
const newWalletPasswordProps = { const { setLoading } = this.props
createWalletPassword: stateProps.onboarding.createWalletPassword, const timer = setTimeout(() => setLoading(false), SPLASH_SCREEN_TIME)
createWalletPasswordConfirmation: stateProps.onboarding.createWalletPasswordConfirmation, this.setState({ timer })
showCreateWalletPasswordConfirmationError: stateProps.showCreateWalletPasswordConfirmationError,
passwordMinCharsError: stateProps.passwordMinCharsError,
updateCreateWalletPassword: dispatchProps.updateCreateWalletPassword,
updateCreateWalletPasswordConfirmation: dispatchProps.updateCreateWalletPasswordConfirmation
}
const recoverFormProps = {
recoverSeedInput: stateProps.onboarding.recoverSeedInput,
updateRecoverSeedInput: dispatchProps.updateRecoverSeedInput
} }
const reEnterSeedProps = { /**
seed: stateProps.onboarding.seed, * Remove the timer when the component unmounts.
reEnterSeedInput: stateProps.onboarding.reEnterSeedInput, */
seedIndexesArr: stateProps.onboarding.seedIndexesArr, componentWillUnmount() {
reEnterSeedChecker: stateProps.reEnterSeedChecker, const { timer } = this.state
updateReEnterSeedInput: dispatchProps.updateReEnterSeedInput, clearTimeout(timer)
setReEnterSeedIndexes: dispatchProps.setReEnterSeedIndexes
}
const onboardingProps = {
onboarding: stateProps.onboarding,
theme: stateProps.currentTheme,
changeStep: dispatchProps.changeStep,
startLnd: dispatchProps.startLnd,
submitNewWallet: dispatchProps.submitNewWallet,
recoverOldWallet: dispatchProps.recoverOldWallet,
connectionTypeProps,
connectionDetailProps,
connectionConfirmProps,
aliasProps,
autopilotProps,
initWalletProps,
newWalletSeedProps,
newWalletPasswordProps,
recoverFormProps,
reEnterSeedProps
}
return {
...stateProps,
...dispatchProps,
...ownProps,
onboardingProps,
syncingProps
}
}
class Root extends Component {
componentWillMount() {
const { fetchTicker } = this.props
fetchTicker()
} }
render() { render() {
const { const { clearError, currentThemeSettings, error, history, isLoading } = this.props
balance,
clearError,
currentThemeSettings,
currentTicker,
error: { error },
history,
lnd,
onboardingProps,
syncingProps
} = this.props
if (!onboardingProps.onboarding.onboarded) {
return (
<React.Fragment>
<GlobalStyle />
<ThemeProvider theme={currentThemeSettings}>
<div>
<LoadingBolt
theme={onboardingProps.theme}
visible={!onboardingProps.onboarding.onboarding}
/>
<GlobalError error={error} clearError={clearError} />
<Onboarding {...onboardingProps} />
<Syncing {...syncingProps} />
</div>
</ThemeProvider>
</React.Fragment>
)
}
// If we are syncing show the syncing screen.
if (
lnd.lightningGrpcActive &&
onboardingProps.onboarding.connectionType === 'local' &&
lnd.syncStatus !== 'complete'
) {
return (
<React.Fragment>
<GlobalStyle />
<ThemeProvider theme={currentThemeSettings}>
<Syncing {...syncingProps} />
</ThemeProvider>
</React.Fragment>
)
}
return ( return (
<React.Fragment> <ConnectedRouter history={history}>
<GlobalStyle /> <ThemeProvider theme={currentThemeSettings}>
<ConnectedRouter history={history}> <React.Fragment>
<ThemeProvider theme={currentThemeSettings}> <GlobalStyle />
<div> <Titlebar />
<LoadingBolt <GlobalError error={error} clearError={clearError} />
theme={onboardingProps.theme} <PageWithLoading isLoading={isLoading}>
visible={ <Switch>
(!lnd.lightningGrpcActive && !lnd.walletUnlockerGrpcActive) || <Route exact path="/" render={() => <Redirect to="/onboarding" />} />
!currentTicker || <Route exact path="/onboarding" component={Onboarding} />
balance.channelBalance === null || <Route exact path="/syncing" component={Syncing} />
balance.walletBalance === null <Route exact path="/app" component={App} />
} </Switch>
/> </PageWithLoading>
<App> </React.Fragment>
<Switch> </ThemeProvider>
<Route path="/" component={Activity} /> </ConnectedRouter>
</Switch>
</App>
</div>
</ThemeProvider>
</ConnectedRouter>
</React.Fragment>
) )
} }
} }
Root.propTypes = { const mapStateToProps = state => ({
balance: PropTypes.object.isRequired, currentTheme: themeSelectors.currentTheme(state),
clearError: PropTypes.func.isRequired, currentThemeSettings: themeSelectors.currentThemeSettings(state),
error: PropTypes.object.isRequired, error: errorSelectors.getErrorState(state),
fetchTicker: PropTypes.func.isRequired, isLoading: loadingSelectors.isLoading(state)
currentThemeSettings: PropTypes.object.isRequired, })
currentTicker: PropTypes.object,
history: PropTypes.object.isRequired, const mapDispatchToProps = {
lnd: PropTypes.object.isRequired, clearError,
onboardingProps: PropTypes.object.isRequired, setLoading
syncingProps: PropTypes.object.isRequired
} }
export default connect( export default connect(
mapStateToProps, mapStateToProps,
mapDispatchToProps, mapDispatchToProps
mergeProps
)(Root) )(Root)

21
app/containers/Syncing.js

@ -0,0 +1,21 @@
import { connect } from 'react-redux'
import { withTheme } from 'styled-components'
import { infoSelectors } from 'reducers/info'
import { lndSelectors } from 'reducers/lnd'
import { onboardingSelectors } from 'reducers/onboarding'
import Syncing from 'components/Syncing'
import withLoading from 'components/withLoading'
const mapStateToProps = state => ({
address: state.address.address,
hasSynced: infoSelectors.hasSynced(state),
syncStatus: state.lnd.syncStatus,
syncPercentage: lndSelectors.syncPercentage(state),
blockHeight: state.lnd.blockHeight,
lndBlockHeight: state.lnd.lndBlockHeight,
lndCfilterHeight: state.lnd.lndCfilterHeight,
isLoading: infoSelectors.infoLoading(state) || onboardingSelectors.startingLnd(state)
})
export default connect(mapStateToProps)(withLoading(withTheme(Syncing)))

3
app/index.js

@ -5,6 +5,8 @@ import jstz from 'jstimezonedetect'
import { configureStore, history } from './store/configureStore' import { configureStore, history } from './store/configureStore'
import { getLocale } from './lib/i18n' import { getLocale } from './lib/i18n'
import Root from './containers/Root' import Root from './containers/Root'
// Load global styles.
import './styles/app.global.scss' import './styles/app.global.scss'
// Register supported locales. // Register supported locales.
@ -25,6 +27,7 @@ const initialState = {
} }
} }
// Set up the redux store.
const store = configureStore(initialState) const store = configureStore(initialState)
const MOUNT_NODE = document.getElementById('root') const MOUNT_NODE = document.getElementById('root')

8
app/lib/zap/controller.js

@ -54,7 +54,6 @@ class ZapController {
neutrino: Neutrino neutrino: Neutrino
lightning: Lightning lightning: Lightning
walletUnlocker: WalletUnlocker walletUnlocker: WalletUnlocker
splashScreenTime: number
lndConfig: LndConfig lndConfig: LndConfig
fsm: StateMachine fsm: StateMachine
@ -83,9 +82,6 @@ class ZapController {
// Variable to hold the main window instance. // Variable to hold the main window instance.
this.mainWindow = mainWindow this.mainWindow = mainWindow
// Time for the splash screen to remain visible.
this.splashScreenTime = 1500
// Initialise the controler with the current active config. // Initialise the controler with the current active config.
this.lndConfig = new LndConfig() this.lndConfig = new LndConfig()
this.lndConfig.load() this.lndConfig.load()
@ -108,8 +104,8 @@ class ZapController {
this.mainWindow.show() this.mainWindow.show()
this.mainWindow.focus() this.mainWindow.focus()
// Show the splash screen and then start onboarding. // Start the onboarding process.
setTimeout(() => this.startOnboarding(), this.splashScreenTime) this.startOnboarding()
}) })
// When the window is closed, just hide it unless we are force closing. // When the window is closed, just hide it unless we are force closing.

9
app/reducers/error.js

@ -35,6 +35,15 @@ const ACTION_HANDLERS = {
[CLEAR_ERROR]: () => initialState [CLEAR_ERROR]: () => initialState
} }
// ------------------------------------
// Selectors
// ------------------------------------
const errorSelectors = {}
errorSelectors.getErrorState = state => state.error.error
export { errorSelectors }
// ------------------------------------ // ------------------------------------
// Reducer // Reducer
// ------------------------------------ // ------------------------------------

13
app/reducers/index.js

@ -1,5 +1,5 @@
import { combineReducers } from 'redux' import { combineReducers } from 'redux'
import { routerReducer as router } from 'react-router-redux' // import { routerReducer as router } from 'react-router-redux'
import { intlReducer as intl } from 'react-intl-redux' import { intlReducer as intl } from 'react-intl-redux'
import locale from './locale' import locale from './locale'
import theme from './theme' import theme from './theme'
@ -11,27 +11,27 @@ import balance from './balance'
import payment from './payment' import payment from './payment'
import peers from './peers' import peers from './peers'
import channels from './channels' import channels from './channels'
import contactsform from './contactsform' import contactsform from './contactsform'
import form from './form' import form from './form'
import payform from './payform' import payform from './payform'
import requestform from './requestform' import requestform from './requestform'
import invoice from './invoice' import invoice from './invoice'
import address from './address' import address from './address'
import transaction from './transaction' import transaction from './transaction'
import activity from './activity' import activity from './activity'
import network from './network' import network from './network'
import error from './error' import error from './error'
import loading from './loading'
import settings from './settings' import settings from './settings'
const rootReducer = combineReducers({ const rootReducer = combineReducers({
router, // Third party reducers.
// router,
intl, intl,
locale, locale,
theme, theme,
// Custom reducers
onboarding, onboarding,
lnd, lnd,
ticker, ticker,
@ -41,17 +41,16 @@ const rootReducer = combineReducers({
peers, peers,
channels, channels,
contactsform, contactsform,
form, form,
payform, payform,
requestform, requestform,
invoice, invoice,
address, address,
transaction, transaction,
activity, activity,
network, network,
error, error,
loading,
settings settings
}) })

12
app/reducers/info.js

@ -43,11 +43,6 @@ export const fetchInfo = () => async dispatch => {
// Receive IPC event for info // Receive IPC event for info
export const receiveInfo = (event, data) => (dispatch, getState) => { export const receiveInfo = (event, data) => (dispatch, getState) => {
dispatch({ type: RECEIVE_INFO, data })
// Now that we have the node info, get the current wallet address.
dispatch(walletAddress('np2wkh'))
// Determine the node's current sync state. // Determine the node's current sync state.
const state = getState() const state = getState()
if (typeof state.info.hasSynced === 'undefined') { if (typeof state.info.hasSynced === 'undefined') {
@ -56,6 +51,11 @@ export const receiveInfo = (event, data) => (dispatch, getState) => {
store.set(`${data.identity_pubkey}.hasSynced`, hasSynced) store.set(`${data.identity_pubkey}.hasSynced`, hasSynced)
dispatch(setHasSynced(hasSynced)) dispatch(setHasSynced(hasSynced))
} }
dispatch({ type: RECEIVE_INFO, data })
// Now that we have the node info, get the current wallet address.
dispatch(walletAddress('np2wkh'))
} }
const networks = { const networks = {
@ -109,6 +109,8 @@ const initialState = {
const infoSelectors = {} const infoSelectors = {}
infoSelectors.testnetSelector = state => state.info.data.testnet infoSelectors.testnetSelector = state => state.info.data.testnet
infoSelectors.networkSelector = state => state.info.network infoSelectors.networkSelector = state => state.info.network
infoSelectors.infoLoading = state => state.info.infoLoading
infoSelectors.hasSynced = state => state.info.hasSynced
export { infoSelectors } export { infoSelectors }

46
app/reducers/loading.js

@ -0,0 +1,46 @@
// ------------------------------------
// Initial State
// ------------------------------------
const initialState = {
isLoading: true
}
// ------------------------------------
// Constants
// ------------------------------------
export const SET_LOADING = 'SET_LOADING'
// ------------------------------------
// Actions
// ------------------------------------
export function setLoading(isLoading) {
return {
type: SET_LOADING,
isLoading
}
}
// ------------------------------------
// Action Handlers
// ------------------------------------
const ACTION_HANDLERS = {
[SET_LOADING]: (state, { isLoading }) => ({ ...state, isLoading })
}
// ------------------------------------
// Selectors
// ------------------------------------
const loadingSelectors = {}
loadingSelectors.isLoading = state => state.loading.isLoading
export { loadingSelectors }
// ------------------------------------
// Reducer
// ------------------------------------
export default function loadingReducer(state = initialState, action) {
const handler = ACTION_HANDLERS[action.type]
return handler ? handler(state, action) : state
}

5
app/reducers/onboarding.js

@ -229,7 +229,6 @@ export function setReEnterSeedIndexes() {
* the process of creating or unlocking a wallet. * the process of creating or unlocking a wallet.
*/ */
export const lndWalletUnlockerStarted = () => dispatch => { export const lndWalletUnlockerStarted = () => dispatch => {
dispatch(lndStarted())
ipcRenderer.send('walletUnlocker', { msg: 'genSeed' }) ipcRenderer.send('walletUnlocker', { msg: 'genSeed' })
dispatch({ type: FETCH_SEED }) dispatch({ type: FETCH_SEED })
} }
@ -239,8 +238,8 @@ export const lndWalletUnlockerStarted = () => dispatch => {
* early as possible. * early as possible.
*/ */
export const lndWalletStarted = () => dispatch => { export const lndWalletStarted = () => dispatch => {
dispatch(lndStarted())
dispatch(fetchInfo()) dispatch(fetchInfo())
dispatch(lndStarted())
} }
export const submitNewWallet = ( export const submitNewWallet = (
@ -455,6 +454,8 @@ const connectionStringSelector = state => state.onboarding.connectionString
const connectionTypeSelector = state => state.onboarding.connectionType const connectionTypeSelector = state => state.onboarding.connectionType
const connectionHostSelector = state => state.onboarding.connectionHost const connectionHostSelector = state => state.onboarding.connectionHost
onboardingSelectors.startingLnd = state => state.onboarding.startingLnd
onboardingSelectors.passwordIsValid = createSelector( onboardingSelectors.passwordIsValid = createSelector(
passwordSelector, passwordSelector,
password => password.length >= 8 password => password.length >= 8

3
app/reducers/ticker.js

@ -100,6 +100,9 @@ const currencyFiltersSelector = state => state.ticker.currencyFilters
const currencySelector = state => state.ticker.currency const currencySelector = state => state.ticker.currency
const bitcoinTickerSelector = state => state.ticker.btcTicker const bitcoinTickerSelector = state => state.ticker.btcTicker
const litecoinTickerSelector = state => state.ticker.ltcTicker const litecoinTickerSelector = state => state.ticker.ltcTicker
const tickerLoading = state => state.ticker.tickerLoading
tickerSelectors.tickerLoading = tickerLoading
tickerSelectors.currentTicker = createSelector( tickerSelectors.currentTicker = createSelector(
cryptoSelector, cryptoSelector,

12
app/store/configureStore.dev.js

@ -1,12 +1,12 @@
import { createStore, applyMiddleware, compose } from 'redux' import { createStore, applyMiddleware, compose } from 'redux'
import thunk from 'redux-thunk' import thunk from 'redux-thunk'
import { createHashHistory } from 'history' import { createMemoryHistory } from 'history'
import { routerMiddleware, routerActions } from 'react-router-redux' import { connectRouter, routerActions, routerMiddleware } from 'connected-react-router'
import { createLogger } from 'redux-logger' import { createLogger } from 'redux-logger'
import rootReducer from '../reducers' import rootReducer from '../reducers'
import ipc from '../reducers/ipc' import ipc from '../reducers/ipc'
export const history = createHashHistory() export const history = createMemoryHistory()
export const configureStore = initialState => { export const configureStore = initialState => {
// Redux Configuration // Redux Configuration
@ -46,11 +46,13 @@ export const configureStore = initialState => {
const enhancer = composeEnhancers(...enhancers) const enhancer = composeEnhancers(...enhancers)
// Create Store // Create Store
const store = createStore(rootReducer, initialState, enhancer) const store = createStore(connectRouter(history)(rootReducer), initialState, enhancer)
if (module.hot) { if (module.hot) {
// eslint-disable-next-line global-require // eslint-disable-next-line global-require
module.hot.accept('../reducers', () => store.replaceReducer(require('../reducers'))) module.hot.accept('../reducers', () =>
store.replaceReducer(connectRouter(history)(require('../reducers')))
)
} }
return store return store

10
app/store/configureStore.prod.js

@ -1,11 +1,11 @@
import { createStore, applyMiddleware, compose } from 'redux' import { createStore, applyMiddleware, compose } from 'redux'
import thunk from 'redux-thunk' import thunk from 'redux-thunk'
import { createBrowserHistory } from 'history' import { createHashHistory } from 'history'
import { routerMiddleware } from 'react-router-redux' import { connectRouter, routerMiddleware } from 'connected-react-router'
import rootReducer from '../reducers' import rootReducer from '../reducers'
import ipc from '../reducers/ipc' import ipc from '../reducers/ipc'
export const history = createBrowserHistory({ basename: window.location.pathname }) export const history = createHashHistory({ basename: window.location.pathname })
export function configureStore(initialState) { export function configureStore(initialState) {
const middleware = [] const middleware = []
@ -13,8 +13,8 @@ export function configureStore(initialState) {
middleware.push(thunk) middleware.push(thunk)
// Router Middleware
const router = routerMiddleware(history) const router = routerMiddleware(history)
middleware.push(router) middleware.push(router)
middleware.push(ipc) middleware.push(ipc)
@ -22,5 +22,5 @@ export function configureStore(initialState) {
enhancers.push(applyMiddleware(...middleware)) enhancers.push(applyMiddleware(...middleware))
const enhancer = compose(...enhancers) const enhancer = compose(...enhancers)
return createStore(rootReducer, initialState, enhancer) return createStore(connectRouter(history)(rootReducer), initialState, enhancer)
} }

20
app/translations/af-ZA.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "", "components.Onboarding.RecoverForm.word_placeholder": "",
"components.Onboarding.Signup.signup_create": "", "components.Onboarding.Signup.signup_create": "",
"components.Onboarding.Signup.signup_import": "", "components.Onboarding.Signup.signup_import": "",
"components.Onboarding.Syncing.block_progress": "", "components.Syncing.block_progress": "",
"components.Onboarding.Syncing.filter_progress": "", "components.Syncing.filter_progress": "",
"components.Onboarding.Syncing.fund_description": "", "components.Syncing.fund_description": "",
"components.Onboarding.Syncing.fund_title": "", "components.Syncing.fund_title": "",
"components.Onboarding.Syncing.grab_coffee": "", "components.Syncing.grab_coffee": "",
"components.Onboarding.Syncing.preparing": "", "components.Syncing.preparing": "",
"components.Onboarding.Syncing.sync_caption": "", "components.Syncing.sync_caption": "",
"components.Onboarding.Syncing.sync_description": "", "components.Syncing.sync_description": "",
"components.Onboarding.Syncing.sync_title": "", "components.Syncing.sync_title": "",
"components.Onboarding.Syncing.waiting_for_peers": "", "components.Syncing.waiting_for_peers": "",
"components.Onboarding.alias_description": "", "components.Onboarding.alias_description": "",
"components.Onboarding.alias_title": "", "components.Onboarding.alias_title": "",
"components.Onboarding.autopilot_description": "", "components.Onboarding.autopilot_description": "",

20
app/translations/ar-SA.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "", "components.Onboarding.RecoverForm.word_placeholder": "",
"components.Onboarding.Signup.signup_create": "", "components.Onboarding.Signup.signup_create": "",
"components.Onboarding.Signup.signup_import": "", "components.Onboarding.Signup.signup_import": "",
"components.Onboarding.Syncing.block_progress": "", "components.Syncing.block_progress": "",
"components.Onboarding.Syncing.filter_progress": "", "components.Syncing.filter_progress": "",
"components.Onboarding.Syncing.fund_description": "", "components.Syncing.fund_description": "",
"components.Onboarding.Syncing.fund_title": "", "components.Syncing.fund_title": "",
"components.Onboarding.Syncing.grab_coffee": "", "components.Syncing.grab_coffee": "",
"components.Onboarding.Syncing.preparing": "", "components.Syncing.preparing": "",
"components.Onboarding.Syncing.sync_caption": "", "components.Syncing.sync_caption": "",
"components.Onboarding.Syncing.sync_description": "", "components.Syncing.sync_description": "",
"components.Onboarding.Syncing.sync_title": "", "components.Syncing.sync_title": "",
"components.Onboarding.Syncing.waiting_for_peers": "", "components.Syncing.waiting_for_peers": "",
"components.Onboarding.alias_description": "", "components.Onboarding.alias_description": "",
"components.Onboarding.alias_title": "", "components.Onboarding.alias_title": "",
"components.Onboarding.autopilot_description": "", "components.Onboarding.autopilot_description": "",

20
app/translations/bg-BG.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "дума", "components.Onboarding.RecoverForm.word_placeholder": "дума",
"components.Onboarding.Signup.signup_create": "Създай нов портфейл", "components.Onboarding.Signup.signup_create": "Създай нов портфейл",
"components.Onboarding.Signup.signup_import": "Възстановяване на съществуващ портфейл", "components.Onboarding.Signup.signup_import": "Възстановяване на съществуващ портфейл",
"components.Onboarding.Syncing.block_progress": "Блок {currentBlock} от {totalBlocks}", "components.Syncing.block_progress": "Блок {currentBlock} от {totalBlocks}",
"components.Onboarding.Syncing.filter_progress": "Филтър {currentFilter} от {totalFilters}", "components.Syncing.filter_progress": "Филтър {currentFilter} от {totalFilters}",
"components.Onboarding.Syncing.fund_description": "Можете да внесете пари във вашия портфейл докато чакате синхронизирането.", "components.Syncing.fund_description": "Можете да внесете пари във вашия портфейл докато чакате синхронизирането.",
"components.Onboarding.Syncing.fund_title": "Внеси пари в Zap портфейла", "components.Syncing.fund_title": "Внеси пари в Zap портфейла",
"components.Onboarding.Syncing.grab_coffee": "Изглежда, че зареждането може да отнеме повече време. По-добре си направи едно кафе и опитай по-късно!", "components.Syncing.grab_coffee": "Изглежда, че зареждането може да отнеме повече време. По-добре си направи едно кафе и опитай по-късно!",
"components.Onboarding.Syncing.preparing": "Подготвяне…", "components.Syncing.preparing": "Подготвяне…",
"components.Onboarding.Syncing.sync_caption": "Синхронизиране с blockchain-a", "components.Syncing.sync_caption": "Синхронизиране с blockchain-a",
"components.Onboarding.Syncing.sync_description": "Моля, изчакайте известно време, докато ние зареждаме последните данни от blockchain.", "components.Syncing.sync_description": "Моля, изчакайте известно време, докато ние зареждаме последните данни от blockchain.",
"components.Onboarding.Syncing.sync_title": "Добре дошъл отново в Zap портфейла!", "components.Syncing.sync_title": "Добре дошъл отново в Zap портфейла!",
"components.Onboarding.Syncing.waiting_for_peers": "Изчакване за връзки…", "components.Syncing.waiting_for_peers": "Изчакване за връзки…",
"components.Onboarding.alias_description": "Задайте псевдоним, с който ще ви разпознават, в Lightning мрежата", "components.Onboarding.alias_description": "Задайте псевдоним, с който ще ви разпознават, в Lightning мрежата",
"components.Onboarding.alias_title": "Как да ви наричаме?", "components.Onboarding.alias_title": "Как да ви наричаме?",
"components.Onboarding.autopilot_description": "Автопилотът е автоматичен мрежови мениджър. Вместо ръчно да изграждате мрежа от хора за извършване на плащания, разрешете автопилота за да може автоматично да се свържете към Lightning мрежата използвайки 60 % от вашия баланс.", "components.Onboarding.autopilot_description": "Автопилотът е автоматичен мрежови мениджър. Вместо ръчно да изграждате мрежа от хора за извършване на плащания, разрешете автопилота за да може автоматично да се свържете към Lightning мрежата използвайки 60 % от вашия баланс.",

20
app/translations/ca-ES.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "", "components.Onboarding.RecoverForm.word_placeholder": "",
"components.Onboarding.Signup.signup_create": "", "components.Onboarding.Signup.signup_create": "",
"components.Onboarding.Signup.signup_import": "", "components.Onboarding.Signup.signup_import": "",
"components.Onboarding.Syncing.block_progress": "", "components.Syncing.block_progress": "",
"components.Onboarding.Syncing.filter_progress": "", "components.Syncing.filter_progress": "",
"components.Onboarding.Syncing.fund_description": "", "components.Syncing.fund_description": "",
"components.Onboarding.Syncing.fund_title": "", "components.Syncing.fund_title": "",
"components.Onboarding.Syncing.grab_coffee": "", "components.Syncing.grab_coffee": "",
"components.Onboarding.Syncing.preparing": "", "components.Syncing.preparing": "",
"components.Onboarding.Syncing.sync_caption": "", "components.Syncing.sync_caption": "",
"components.Onboarding.Syncing.sync_description": "", "components.Syncing.sync_description": "",
"components.Onboarding.Syncing.sync_title": "", "components.Syncing.sync_title": "",
"components.Onboarding.Syncing.waiting_for_peers": "", "components.Syncing.waiting_for_peers": "",
"components.Onboarding.alias_description": "", "components.Onboarding.alias_description": "",
"components.Onboarding.alias_title": "", "components.Onboarding.alias_title": "",
"components.Onboarding.autopilot_description": "", "components.Onboarding.autopilot_description": "",

20
app/translations/cs-CZ.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "slovo", "components.Onboarding.RecoverForm.word_placeholder": "slovo",
"components.Onboarding.Signup.signup_create": "Vytvořit novou peněženku", "components.Onboarding.Signup.signup_create": "Vytvořit novou peněženku",
"components.Onboarding.Signup.signup_import": "Importovat existující peněženku", "components.Onboarding.Signup.signup_import": "Importovat existující peněženku",
"components.Onboarding.Syncing.block_progress": "", "components.Syncing.block_progress": "",
"components.Onboarding.Syncing.filter_progress": "", "components.Syncing.filter_progress": "",
"components.Onboarding.Syncing.fund_description": "Během sycnrhonizace si zatím můžete dobít vaši peněženku.", "components.Syncing.fund_description": "Během sycnrhonizace si zatím můžete dobít vaši peněženku.",
"components.Onboarding.Syncing.fund_title": "Dobijte vaši Zap peněženku", "components.Syncing.fund_title": "Dobijte vaši Zap peněženku",
"components.Onboarding.Syncing.grab_coffee": "Vypadá to, že to nějakou dobu potrvá - dejte si kávu a nebo to zkuste později!", "components.Syncing.grab_coffee": "Vypadá to, že to nějakou dobu potrvá - dejte si kávu a nebo to zkuste později!",
"components.Onboarding.Syncing.preparing": "Příprava…", "components.Syncing.preparing": "Příprava…",
"components.Onboarding.Syncing.sync_caption": "Synchronizace blockchainu", "components.Syncing.sync_caption": "Synchronizace blockchainu",
"components.Onboarding.Syncing.sync_description": "Prosím čekejte, načítají se aktuální data z blockhainu.", "components.Syncing.sync_description": "Prosím čekejte, načítají se aktuální data z blockhainu.",
"components.Onboarding.Syncing.sync_title": "Vítejte zpět do peněženky Zap!", "components.Syncing.sync_title": "Vítejte zpět do peněženky Zap!",
"components.Onboarding.Syncing.waiting_for_peers": "Čekání na peery…", "components.Syncing.waiting_for_peers": "Čekání na peery…",
"components.Onboarding.alias_description": "Zvolte si přezdívku, aby vás ostatní našli rychleji na Lightning Network", "components.Onboarding.alias_description": "Zvolte si přezdívku, aby vás ostatní našli rychleji na Lightning Network",
"components.Onboarding.alias_title": "Jak vám máme říkat?", "components.Onboarding.alias_title": "Jak vám máme říkat?",
"components.Onboarding.autopilot_description": "Autopilot je váš automatický manažer spojení. Místo manuálního přidávání lidí za vás autopilot automaticky vytvoří spojení do Lightning Network. Využije k tomu 60 % vašich prostředků.", "components.Onboarding.autopilot_description": "Autopilot je váš automatický manažer spojení. Místo manuálního přidávání lidí za vás autopilot automaticky vytvoří spojení do Lightning Network. Využije k tomu 60 % vašich prostředků.",

20
app/translations/da-DK.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "", "components.Onboarding.RecoverForm.word_placeholder": "",
"components.Onboarding.Signup.signup_create": "", "components.Onboarding.Signup.signup_create": "",
"components.Onboarding.Signup.signup_import": "", "components.Onboarding.Signup.signup_import": "",
"components.Onboarding.Syncing.block_progress": "", "components.Syncing.block_progress": "",
"components.Onboarding.Syncing.filter_progress": "", "components.Syncing.filter_progress": "",
"components.Onboarding.Syncing.fund_description": "", "components.Syncing.fund_description": "",
"components.Onboarding.Syncing.fund_title": "", "components.Syncing.fund_title": "",
"components.Onboarding.Syncing.grab_coffee": "", "components.Syncing.grab_coffee": "",
"components.Onboarding.Syncing.preparing": "", "components.Syncing.preparing": "",
"components.Onboarding.Syncing.sync_caption": "", "components.Syncing.sync_caption": "",
"components.Onboarding.Syncing.sync_description": "", "components.Syncing.sync_description": "",
"components.Onboarding.Syncing.sync_title": "", "components.Syncing.sync_title": "",
"components.Onboarding.Syncing.waiting_for_peers": "", "components.Syncing.waiting_for_peers": "",
"components.Onboarding.alias_description": "", "components.Onboarding.alias_description": "",
"components.Onboarding.alias_title": "", "components.Onboarding.alias_title": "",
"components.Onboarding.autopilot_description": "", "components.Onboarding.autopilot_description": "",

20
app/translations/de-DE.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "wort", "components.Onboarding.RecoverForm.word_placeholder": "wort",
"components.Onboarding.Signup.signup_create": "Neues Wallet erstellen", "components.Onboarding.Signup.signup_create": "Neues Wallet erstellen",
"components.Onboarding.Signup.signup_import": "Bestehendes Wallet importieren", "components.Onboarding.Signup.signup_import": "Bestehendes Wallet importieren",
"components.Onboarding.Syncing.block_progress": "Block {currentBlock} von {totalBlocks}", "components.Syncing.block_progress": "Block {currentBlock} von {totalBlocks}",
"components.Onboarding.Syncing.filter_progress": "Überweisungsfilter {currentFilter} von {totalFilters}", "components.Syncing.filter_progress": "Überweisungsfilter {currentFilter} von {totalFilters}",
"components.Onboarding.Syncing.fund_description": "Während der Synchronisation kannst du gleich dein Wallet aufladen.", "components.Syncing.fund_description": "Während der Synchronisation kannst du gleich dein Wallet aufladen.",
"components.Onboarding.Syncing.fund_title": "Lade dein Zap Wallet auf", "components.Syncing.fund_title": "Lade dein Zap Wallet auf",
"components.Onboarding.Syncing.grab_coffee": "Sieht aus als könnte dies eine Weile dauern. Schnapp dir einen Kaffee oder versuche es später erneut!", "components.Syncing.grab_coffee": "Sieht aus als könnte dies eine Weile dauern. Schnapp dir einen Kaffee oder versuche es später erneut!",
"components.Onboarding.Syncing.preparing": "Wird vorbereitet…", "components.Syncing.preparing": "Wird vorbereitet…",
"components.Onboarding.Syncing.sync_caption": "Synchronisierung mit der Blockchain", "components.Syncing.sync_caption": "Synchronisierung mit der Blockchain",
"components.Onboarding.Syncing.sync_description": "Bitte hab Geduld während wir deine aktuellen Daten aus der Blockchain sammeln.", "components.Syncing.sync_description": "Bitte hab Geduld während wir deine aktuellen Daten aus der Blockchain sammeln.",
"components.Onboarding.Syncing.sync_title": "Willkommen zurück in deiner Zap Wallet!", "components.Syncing.sync_title": "Willkommen zurück in deiner Zap Wallet!",
"components.Onboarding.Syncing.waiting_for_peers": "Warte auf Verbindungen…", "components.Syncing.waiting_for_peers": "Warte auf Verbindungen…",
"components.Onboarding.alias_description": "Gib deinen Benutzernamen ein, um anderen zu helfen, sich mit dir über das Lightning Network zu verbinden", "components.Onboarding.alias_description": "Gib deinen Benutzernamen ein, um anderen zu helfen, sich mit dir über das Lightning Network zu verbinden",
"components.Onboarding.alias_title": "Wie sollen wir dich nennen?", "components.Onboarding.alias_title": "Wie sollen wir dich nennen?",
"components.Onboarding.autopilot_description": "Autopilot ist ein automatischer Netzwerkverwalter. Anstatt manuell neue Leute hinzuzufügen um dein Zahlungsnetzwerk zu kreieren, kannst du Autopilot aktivieren um automatisch 60% deines Guthabens für Verbindungen zum Lightning Netzwerk zu verwenden.", "components.Onboarding.autopilot_description": "Autopilot ist ein automatischer Netzwerkverwalter. Anstatt manuell neue Leute hinzuzufügen um dein Zahlungsnetzwerk zu kreieren, kannst du Autopilot aktivieren um automatisch 60% deines Guthabens für Verbindungen zum Lightning Netzwerk zu verwenden.",

20
app/translations/el-GR.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "λέξη", "components.Onboarding.RecoverForm.word_placeholder": "λέξη",
"components.Onboarding.Signup.signup_create": "Δημιουργήστε νέο πορτοφόλι", "components.Onboarding.Signup.signup_create": "Δημιουργήστε νέο πορτοφόλι",
"components.Onboarding.Signup.signup_import": "Εισαγωγή υπάρχουσας πορτοφόλι", "components.Onboarding.Signup.signup_import": "Εισαγωγή υπάρχουσας πορτοφόλι",
"components.Onboarding.Syncing.block_progress": "", "components.Syncing.block_progress": "",
"components.Onboarding.Syncing.filter_progress": "", "components.Syncing.filter_progress": "",
"components.Onboarding.Syncing.fund_description": "Μπορεί επίσης να χρηματοδοτήσει το πορτοφόλι σας ενώ περιμένετε να συγχρονιστεί.", "components.Syncing.fund_description": "Μπορεί επίσης να χρηματοδοτήσει το πορτοφόλι σας ενώ περιμένετε να συγχρονιστεί.",
"components.Onboarding.Syncing.fund_title": "Χρηματοδοτήστε το πορτοφόλι σας Zap", "components.Syncing.fund_title": "Χρηματοδοτήστε το πορτοφόλι σας Zap",
"components.Onboarding.Syncing.grab_coffee": "Αυτό μπορεί να διαρκέσει λίγο. Μπορεί να θέλετε να πιείτε έναν καφέ ή να δοκιμάσετε αργότερα!", "components.Syncing.grab_coffee": "Αυτό μπορεί να διαρκέσει λίγο. Μπορεί να θέλετε να πιείτε έναν καφέ ή να δοκιμάσετε αργότερα!",
"components.Onboarding.Syncing.preparing": "Προετοιμασία…", "components.Syncing.preparing": "Προετοιμασία…",
"components.Onboarding.Syncing.sync_caption": "Συγχρονισμός με το blockchain", "components.Syncing.sync_caption": "Συγχρονισμός με το blockchain",
"components.Onboarding.Syncing.sync_description": "Παρακαλώ περιμένετε λίγο ενώ φέρουμε όλα τα τελευταία σας δεδομένα από το blockchain.", "components.Syncing.sync_description": "Παρακαλώ περιμένετε λίγο ενώ φέρουμε όλα τα τελευταία σας δεδομένα από το blockchain.",
"components.Onboarding.Syncing.sync_title": "Καλώς ήρθατε πίσω στο πορτοφόλι σας Zap!", "components.Syncing.sync_title": "Καλώς ήρθατε πίσω στο πορτοφόλι σας Zap!",
"components.Onboarding.Syncing.waiting_for_peers": "Αναμονή για συνομηλίκους…", "components.Syncing.waiting_for_peers": "Αναμονή για συνομηλίκους…",
"components.Onboarding.alias_description": "Ορίστε το ψευδώνυμό σας για να βοηθήσει άλλους να συνδεθεί μαζί σας στο δίκτυο Lightning", "components.Onboarding.alias_description": "Ορίστε το ψευδώνυμό σας για να βοηθήσει άλλους να συνδεθεί μαζί σας στο δίκτυο Lightning",
"components.Onboarding.alias_title": "Τι να σας καλέσουμε;", "components.Onboarding.alias_title": "Τι να σας καλέσουμε;",
"components.Onboarding.autopilot_description": "Ο αυτόματος πιλότος είναι ένας αυτόματος διαχειριστής δικτύου. Αντί να προσθέσετε με μη αυτόματα άτομα για να δημιουργήσετε το δίκτυό σας για να πραγματοποιήσετε πληρωμές, ενεργοποιήστε τον αυτόματο πιλότο για αυτόματη σύνδεση στο δίκτυο Lightning Network χρησιμοποιώντας το 60% του υπολοίπου σας.", "components.Onboarding.autopilot_description": "Ο αυτόματος πιλότος είναι ένας αυτόματος διαχειριστής δικτύου. Αντί να προσθέσετε με μη αυτόματα άτομα για να δημιουργήσετε το δίκτυό σας για να πραγματοποιήσετε πληρωμές, ενεργοποιήστε τον αυτόματο πιλότο για αυτόματη σύνδεση στο δίκτυο Lightning Network χρησιμοποιώντας το 60% του υπολοίπου σας.",

20
app/translations/en.json

@ -108,16 +108,6 @@
"components.Onboarding.RecoverForm.word_placeholder": "word", "components.Onboarding.RecoverForm.word_placeholder": "word",
"components.Onboarding.Signup.signup_create": "Create new wallet", "components.Onboarding.Signup.signup_create": "Create new wallet",
"components.Onboarding.Signup.signup_import": "Import existing wallet", "components.Onboarding.Signup.signup_import": "Import existing wallet",
"components.Onboarding.Syncing.block_progress": "Block {currentBlock} of {totalBlocks}",
"components.Onboarding.Syncing.filter_progress": "Commitment Filter {currentFilter} of {totalFilters}",
"components.Onboarding.Syncing.fund_description": "Might as well fund your wallet while you’re waiting to sync.",
"components.Onboarding.Syncing.fund_title": "Fund your Zap wallet",
"components.Onboarding.Syncing.grab_coffee": "It looks like this could take some time - you might want to grab a coffee or try again later!",
"components.Onboarding.Syncing.preparing": "Preparing…",
"components.Onboarding.Syncing.sync_caption": "Syncing to the blockchain",
"components.Onboarding.Syncing.sync_description": "Please wait a while whilst we fetch all of your latest data from the blockchain.",
"components.Onboarding.Syncing.sync_title": "Welcome back to your Zap wallet!",
"components.Onboarding.Syncing.waiting_for_peers": "Waiting for peers…",
"components.Onboarding.alias_description": "Set your nickname to help others connect with you on the Lightning Network", "components.Onboarding.alias_description": "Set your nickname to help others connect with you on the Lightning Network",
"components.Onboarding.alias_title": "What should we call you?", "components.Onboarding.alias_title": "What should we call you?",
"components.Onboarding.autopilot_description": "Autopilot is an automatic network manager. Instead of manually adding people to build your network to make payments, enable autopilot to automatically connect you to the Lightning Network using 60% of your balance.", "components.Onboarding.autopilot_description": "Autopilot is an automatic network manager. Instead of manually adding people to build your network to make payments, enable autopilot to automatically connect you to the Lightning Network using 60% of your balance.",
@ -150,6 +140,16 @@
"components.Settings.Theme.dark": "Dark", "components.Settings.Theme.dark": "Dark",
"components.Settings.Theme.light": "Light", "components.Settings.Theme.light": "Light",
"components.Settings.Theme.title": "Theme", "components.Settings.Theme.title": "Theme",
"components.Syncing.block_progress": "Block {currentBlock} of {totalBlocks}",
"components.Syncing.filter_progress": "Commitment Filter {currentFilter} of {totalFilters}",
"components.Syncing.fund_description": "Might as well fund your wallet while you’re waiting to sync.",
"components.Syncing.fund_title": "Fund your Zap wallet",
"components.Syncing.grab_coffee": "It looks like this could take some time - you might want to grab a coffee or try again later!",
"components.Syncing.preparing": "Preparing…",
"components.Syncing.sync_caption": "Syncing to the blockchain",
"components.Syncing.sync_description": "Please wait a while whilst we fetch all of your latest data from the blockchain.",
"components.Syncing.sync_title": "Welcome back to your Zap wallet!",
"components.Syncing.waiting_for_peers": "Waiting for peers…",
"components.Wallet.ReceiveModal.bitcoin_address": "Bitcoin Address", "components.Wallet.ReceiveModal.bitcoin_address": "Bitcoin Address",
"components.Wallet.ReceiveModal.copy_address": "Copy address", "components.Wallet.ReceiveModal.copy_address": "Copy address",
"components.Wallet.ReceiveModal.copy_pubkey": "Copy Pubkey", "components.Wallet.ReceiveModal.copy_pubkey": "Copy Pubkey",

20
app/translations/es-ES.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "palabra", "components.Onboarding.RecoverForm.word_placeholder": "palabra",
"components.Onboarding.Signup.signup_create": "Crear nueva cartera", "components.Onboarding.Signup.signup_create": "Crear nueva cartera",
"components.Onboarding.Signup.signup_import": "Importar cartera existente", "components.Onboarding.Signup.signup_import": "Importar cartera existente",
"components.Onboarding.Syncing.block_progress": "", "components.Syncing.block_progress": "",
"components.Onboarding.Syncing.filter_progress": "", "components.Syncing.filter_progress": "",
"components.Onboarding.Syncing.fund_description": "Podría agregar fondos a su carteta mientras espera a que sincronice.", "components.Syncing.fund_description": "Podría agregar fondos a su carteta mientras espera a que sincronice.",
"components.Onboarding.Syncing.fund_title": "Agregue fondos a su cartera Zap", "components.Syncing.fund_title": "Agregue fondos a su cartera Zap",
"components.Onboarding.Syncing.grab_coffee": "¡Parece que esto podría tomar algún tiempo - puede tomar un café o intentarlo más tarde!", "components.Syncing.grab_coffee": "¡Parece que esto podría tomar algún tiempo - puede tomar un café o intentarlo más tarde!",
"components.Onboarding.Syncing.preparing": "Preparando…", "components.Syncing.preparing": "Preparando…",
"components.Onboarding.Syncing.sync_caption": "Sincronizando la cadena de bloques", "components.Syncing.sync_caption": "Sincronizando la cadena de bloques",
"components.Onboarding.Syncing.sync_description": "Por favor, espere un momento mientras buscamos todos sus datos más recientes en la cadena de bloques.", "components.Syncing.sync_description": "Por favor, espere un momento mientras buscamos todos sus datos más recientes en la cadena de bloques.",
"components.Onboarding.Syncing.sync_title": "¡Bienvenido de nuevo a su cartera Zap!", "components.Syncing.sync_title": "¡Bienvenido de nuevo a su cartera Zap!",
"components.Onboarding.Syncing.waiting_for_peers": "Esperando por los pares…", "components.Syncing.waiting_for_peers": "Esperando por los pares…",
"components.Onboarding.alias_description": "Configura tu apodo para ayudar a otros a conectarse contigo en Lightning Network", "components.Onboarding.alias_description": "Configura tu apodo para ayudar a otros a conectarse contigo en Lightning Network",
"components.Onboarding.alias_title": "¿Como deberíamos llamarle?", "components.Onboarding.alias_title": "¿Como deberíamos llamarle?",
"components.Onboarding.autopilot_description": "El piloto automatico es un gestor de red automático. En lugar de agregar gente para construir su red para realizar pagos, active el piloto automático para que le conecte automáticamente a la Lightning Network usando el 60% de su balance.", "components.Onboarding.autopilot_description": "El piloto automatico es un gestor de red automático. En lugar de agregar gente para construir su red para realizar pagos, active el piloto automático para que le conecte automáticamente a la Lightning Network usando el 60% de su balance.",

20
app/translations/fi-FI.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "", "components.Onboarding.RecoverForm.word_placeholder": "",
"components.Onboarding.Signup.signup_create": "", "components.Onboarding.Signup.signup_create": "",
"components.Onboarding.Signup.signup_import": "", "components.Onboarding.Signup.signup_import": "",
"components.Onboarding.Syncing.block_progress": "", "components.Syncing.block_progress": "",
"components.Onboarding.Syncing.filter_progress": "", "components.Syncing.filter_progress": "",
"components.Onboarding.Syncing.fund_description": "", "components.Syncing.fund_description": "",
"components.Onboarding.Syncing.fund_title": "", "components.Syncing.fund_title": "",
"components.Onboarding.Syncing.grab_coffee": "", "components.Syncing.grab_coffee": "",
"components.Onboarding.Syncing.preparing": "", "components.Syncing.preparing": "",
"components.Onboarding.Syncing.sync_caption": "", "components.Syncing.sync_caption": "",
"components.Onboarding.Syncing.sync_description": "", "components.Syncing.sync_description": "",
"components.Onboarding.Syncing.sync_title": "", "components.Syncing.sync_title": "",
"components.Onboarding.Syncing.waiting_for_peers": "", "components.Syncing.waiting_for_peers": "",
"components.Onboarding.alias_description": "", "components.Onboarding.alias_description": "",
"components.Onboarding.alias_title": "", "components.Onboarding.alias_title": "",
"components.Onboarding.autopilot_description": "", "components.Onboarding.autopilot_description": "",

20
app/translations/fr-FR.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "mot", "components.Onboarding.RecoverForm.word_placeholder": "mot",
"components.Onboarding.Signup.signup_create": "Créer un nouveau portefeuille", "components.Onboarding.Signup.signup_create": "Créer un nouveau portefeuille",
"components.Onboarding.Signup.signup_import": "Importer un portefeuille existant", "components.Onboarding.Signup.signup_import": "Importer un portefeuille existant",
"components.Onboarding.Syncing.block_progress": "", "components.Syncing.block_progress": "",
"components.Onboarding.Syncing.filter_progress": "", "components.Syncing.filter_progress": "",
"components.Onboarding.Syncing.fund_description": "Vous pourriez approvisionner votre portefeuille en attendant la synchronisation.", "components.Syncing.fund_description": "Vous pourriez approvisionner votre portefeuille en attendant la synchronisation.",
"components.Onboarding.Syncing.fund_title": "Approvisionner votre portefeuille Zap", "components.Syncing.fund_title": "Approvisionner votre portefeuille Zap",
"components.Onboarding.Syncing.grab_coffee": "Il semble que cela pourrait prendre un certain temps - vous pouvez prendre un café ou réessayer plus tard !", "components.Syncing.grab_coffee": "Il semble que cela pourrait prendre un certain temps - vous pouvez prendre un café ou réessayer plus tard !",
"components.Onboarding.Syncing.preparing": "Préparation…", "components.Syncing.preparing": "Préparation…",
"components.Onboarding.Syncing.sync_caption": "Synchronisation à la blockchain en cours", "components.Syncing.sync_caption": "Synchronisation à la blockchain en cours",
"components.Onboarding.Syncing.sync_description": "Veuillez patienter un peu pendant que nous récupérons toutes vos dernières données depuis la blockchain.", "components.Syncing.sync_description": "Veuillez patienter un peu pendant que nous récupérons toutes vos dernières données depuis la blockchain.",
"components.Onboarding.Syncing.sync_title": "Bienvenue dans votre portefeuille Zap !", "components.Syncing.sync_title": "Bienvenue dans votre portefeuille Zap !",
"components.Onboarding.Syncing.waiting_for_peers": "En attente de pairs…", "components.Syncing.waiting_for_peers": "En attente de pairs…",
"components.Onboarding.alias_description": "Choisissez un pseudo afin que les autres utilisateurs du Lightning Network puissent se connecter à vous", "components.Onboarding.alias_description": "Choisissez un pseudo afin que les autres utilisateurs du Lightning Network puissent se connecter à vous",
"components.Onboarding.alias_title": "Comment devrions nous vous appeler ?", "components.Onboarding.alias_title": "Comment devrions nous vous appeler ?",
"components.Onboarding.autopilot_description": "Autopilot est un gestionnaire de réseau automatique. Au lieu d’ajouter manuellement des gens pour construire votre réseau afin d'effectuer des paiements, activez Autopilot pour vous connecter automatiquement au Lightning Networks à l’aide de 60% de votre solde.", "components.Onboarding.autopilot_description": "Autopilot est un gestionnaire de réseau automatique. Au lieu d’ajouter manuellement des gens pour construire votre réseau afin d'effectuer des paiements, activez Autopilot pour vous connecter automatiquement au Lightning Networks à l’aide de 60% de votre solde.",

20
app/translations/ga-IE.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "focal", "components.Onboarding.RecoverForm.word_placeholder": "focal",
"components.Onboarding.Signup.signup_create": "Déan sparán nua", "components.Onboarding.Signup.signup_create": "Déan sparán nua",
"components.Onboarding.Signup.signup_import": "Iompórtáil sparán reatha", "components.Onboarding.Signup.signup_import": "Iompórtáil sparán reatha",
"components.Onboarding.Syncing.block_progress": "Block {currentBlock} of {totalBlocks}", "components.Syncing.block_progress": "Block {currentBlock} of {totalBlocks}",
"components.Onboarding.Syncing.filter_progress": "Commitment Filter {currentFilter} of {totalFilters}", "components.Syncing.filter_progress": "Commitment Filter {currentFilter} of {totalFilters}",
"components.Onboarding.Syncing.fund_description": "Fad is go bhfuil tú ag fanacht le sync, d'fhéadfá do sparán a mhaoiniú.", "components.Syncing.fund_description": "Fad is go bhfuil tú ag fanacht le sync, d'fhéadfá do sparán a mhaoiniú.",
"components.Onboarding.Syncing.fund_title": "Maoinigh do sparán Zap", "components.Syncing.fund_title": "Maoinigh do sparán Zap",
"components.Onboarding.Syncing.grab_coffee": "Breathnaíonn sé nach go dtógfadh sé seo roinnt ama - b'fhéidir gur mhaith leat coffee a fháil agus iarracht a dhéanamh arís ina dhiaidh sin!", "components.Syncing.grab_coffee": "Breathnaíonn sé nach go dtógfadh sé seo roinnt ama - b'fhéidir gur mhaith leat coffee a fháil agus iarracht a dhéanamh arís ina dhiaidh sin!",
"components.Onboarding.Syncing.preparing": "Ag ullmhú…", "components.Syncing.preparing": "Ag ullmhú…",
"components.Onboarding.Syncing.sync_caption": "Syncing chuig an blockchain", "components.Syncing.sync_caption": "Syncing chuig an blockchain",
"components.Onboarding.Syncing.sync_description": "Fan ar feadh tamaill le do thoil agus faighimid do chuid sonraí is déanaí ón blockchain.", "components.Syncing.sync_description": "Fan ar feadh tamaill le do thoil agus faighimid do chuid sonraí is déanaí ón blockchain.",
"components.Onboarding.Syncing.sync_title": "Fáilte ar ais go dtí do sparán Zap!", "components.Syncing.sync_title": "Fáilte ar ais go dtí do sparán Zap!",
"components.Onboarding.Syncing.waiting_for_peers": "Ag fanacht le nasc…", "components.Syncing.waiting_for_peers": "Ag fanacht le nasc…",
"components.Onboarding.alias_description": "Socraigh do leasainm chun cuidiú le daoine eile ceangal leat ar an Líonra Lightning", "components.Onboarding.alias_description": "Socraigh do leasainm chun cuidiú le daoine eile ceangal leat ar an Líonra Lightning",
"components.Onboarding.alias_title": "Cad ba cheart dúinn glaoch ort?", "components.Onboarding.alias_title": "Cad ba cheart dúinn glaoch ort?",
"components.Onboarding.autopilot_description": "Is bainisteoir líonra uathoibríoch é autopilot. In ionad daoine a chur ar láimh chun do líonra a thógáil chun íocaíochtaí a dhéanamh, cuirfidh tú ar chumas autopilot chun tú féin a nascadh go huathoibríoch leis an Líonra Lightning ag baint úsáide as 60% d'iarmhéid.", "components.Onboarding.autopilot_description": "Is bainisteoir líonra uathoibríoch é autopilot. In ionad daoine a chur ar láimh chun do líonra a thógáil chun íocaíochtaí a dhéanamh, cuirfidh tú ar chumas autopilot chun tú féin a nascadh go huathoibríoch leis an Líonra Lightning ag baint úsáide as 60% d'iarmhéid.",

20
app/translations/he-IL.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "", "components.Onboarding.RecoverForm.word_placeholder": "",
"components.Onboarding.Signup.signup_create": "", "components.Onboarding.Signup.signup_create": "",
"components.Onboarding.Signup.signup_import": "", "components.Onboarding.Signup.signup_import": "",
"components.Onboarding.Syncing.block_progress": "", "components.Syncing.block_progress": "",
"components.Onboarding.Syncing.filter_progress": "", "components.Syncing.filter_progress": "",
"components.Onboarding.Syncing.fund_description": "", "components.Syncing.fund_description": "",
"components.Onboarding.Syncing.fund_title": "", "components.Syncing.fund_title": "",
"components.Onboarding.Syncing.grab_coffee": "", "components.Syncing.grab_coffee": "",
"components.Onboarding.Syncing.preparing": "", "components.Syncing.preparing": "",
"components.Onboarding.Syncing.sync_caption": "", "components.Syncing.sync_caption": "",
"components.Onboarding.Syncing.sync_description": "", "components.Syncing.sync_description": "",
"components.Onboarding.Syncing.sync_title": "", "components.Syncing.sync_title": "",
"components.Onboarding.Syncing.waiting_for_peers": "", "components.Syncing.waiting_for_peers": "",
"components.Onboarding.alias_description": "", "components.Onboarding.alias_description": "",
"components.Onboarding.alias_title": "", "components.Onboarding.alias_title": "",
"components.Onboarding.autopilot_description": "", "components.Onboarding.autopilot_description": "",

20
app/translations/hi-IN.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "", "components.Onboarding.RecoverForm.word_placeholder": "",
"components.Onboarding.Signup.signup_create": "", "components.Onboarding.Signup.signup_create": "",
"components.Onboarding.Signup.signup_import": "", "components.Onboarding.Signup.signup_import": "",
"components.Onboarding.Syncing.block_progress": "", "components.Syncing.block_progress": "",
"components.Onboarding.Syncing.filter_progress": "", "components.Syncing.filter_progress": "",
"components.Onboarding.Syncing.fund_description": "", "components.Syncing.fund_description": "",
"components.Onboarding.Syncing.fund_title": "", "components.Syncing.fund_title": "",
"components.Onboarding.Syncing.grab_coffee": "", "components.Syncing.grab_coffee": "",
"components.Onboarding.Syncing.preparing": "", "components.Syncing.preparing": "",
"components.Onboarding.Syncing.sync_caption": "", "components.Syncing.sync_caption": "",
"components.Onboarding.Syncing.sync_description": "", "components.Syncing.sync_description": "",
"components.Onboarding.Syncing.sync_title": "", "components.Syncing.sync_title": "",
"components.Onboarding.Syncing.waiting_for_peers": "", "components.Syncing.waiting_for_peers": "",
"components.Onboarding.alias_description": "", "components.Onboarding.alias_description": "",
"components.Onboarding.alias_title": "", "components.Onboarding.alias_title": "",
"components.Onboarding.autopilot_description": "", "components.Onboarding.autopilot_description": "",

20
app/translations/hr-HR.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "riječ", "components.Onboarding.RecoverForm.word_placeholder": "riječ",
"components.Onboarding.Signup.signup_create": "Stvori novi novčanik", "components.Onboarding.Signup.signup_create": "Stvori novi novčanik",
"components.Onboarding.Signup.signup_import": "Uvezi postojeći novčanik", "components.Onboarding.Signup.signup_import": "Uvezi postojeći novčanik",
"components.Onboarding.Syncing.block_progress": "", "components.Syncing.block_progress": "",
"components.Onboarding.Syncing.filter_progress": "", "components.Syncing.filter_progress": "",
"components.Onboarding.Syncing.fund_description": "Mogli biste financirati svoj novčanik dok čekate sinkronizaciju.", "components.Syncing.fund_description": "Mogli biste financirati svoj novčanik dok čekate sinkronizaciju.",
"components.Onboarding.Syncing.fund_title": "Financirajte svoj Zap novčanik", "components.Syncing.fund_title": "Financirajte svoj Zap novčanik",
"components.Onboarding.Syncing.grab_coffee": "Izgleda da ovo može potrajati neko vrijeme - možda želite zgrabiti kavu ili pokušajte kasnije!", "components.Syncing.grab_coffee": "Izgleda da ovo može potrajati neko vrijeme - možda želite zgrabiti kavu ili pokušajte kasnije!",
"components.Onboarding.Syncing.preparing": "Priprema...", "components.Syncing.preparing": "Priprema...",
"components.Onboarding.Syncing.sync_caption": "Sinkronizacija na blokčein", "components.Syncing.sync_caption": "Sinkronizacija na blokčein",
"components.Onboarding.Syncing.sync_description": "Molimo pričekajte dok ne dohvatimo sve vaše najnovije podatke sa blokčeina.", "components.Syncing.sync_description": "Molimo pričekajte dok ne dohvatimo sve vaše najnovije podatke sa blokčeina.",
"components.Onboarding.Syncing.sync_title": "Dobro došli natrag u vaš Zap novčanik!", "components.Syncing.sync_title": "Dobro došli natrag u vaš Zap novčanik!",
"components.Onboarding.Syncing.waiting_for_peers": "Čekanje na kolege...", "components.Syncing.waiting_for_peers": "Čekanje na kolege...",
"components.Onboarding.alias_description": "Postavite svoj nadimak da pomognete drugima povezati se sa vama na Lightning Network", "components.Onboarding.alias_description": "Postavite svoj nadimak da pomognete drugima povezati se sa vama na Lightning Network",
"components.Onboarding.alias_title": "Kako da te zovemo?", "components.Onboarding.alias_title": "Kako da te zovemo?",
"components.Onboarding.autopilot_description": "Autopilot je automatski mrežni menadžer. Umjesto ručnog dodavanja ljudi u vašu mrežu za plaćanje, omogućite autopilot da vas automatski spoji na Lightning Network koristeći 60% vašeg salda.", "components.Onboarding.autopilot_description": "Autopilot je automatski mrežni menadžer. Umjesto ručnog dodavanja ljudi u vašu mrežu za plaćanje, omogućite autopilot da vas automatski spoji na Lightning Network koristeći 60% vašeg salda.",

20
app/translations/hu-HU.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "", "components.Onboarding.RecoverForm.word_placeholder": "",
"components.Onboarding.Signup.signup_create": "", "components.Onboarding.Signup.signup_create": "",
"components.Onboarding.Signup.signup_import": "", "components.Onboarding.Signup.signup_import": "",
"components.Onboarding.Syncing.block_progress": "", "components.Syncing.block_progress": "",
"components.Onboarding.Syncing.filter_progress": "", "components.Syncing.filter_progress": "",
"components.Onboarding.Syncing.fund_description": "", "components.Syncing.fund_description": "",
"components.Onboarding.Syncing.fund_title": "", "components.Syncing.fund_title": "",
"components.Onboarding.Syncing.grab_coffee": "", "components.Syncing.grab_coffee": "",
"components.Onboarding.Syncing.preparing": "", "components.Syncing.preparing": "",
"components.Onboarding.Syncing.sync_caption": "", "components.Syncing.sync_caption": "",
"components.Onboarding.Syncing.sync_description": "", "components.Syncing.sync_description": "",
"components.Onboarding.Syncing.sync_title": "", "components.Syncing.sync_title": "",
"components.Onboarding.Syncing.waiting_for_peers": "", "components.Syncing.waiting_for_peers": "",
"components.Onboarding.alias_description": "", "components.Onboarding.alias_description": "",
"components.Onboarding.alias_title": "", "components.Onboarding.alias_title": "",
"components.Onboarding.autopilot_description": "", "components.Onboarding.autopilot_description": "",

20
app/translations/it-IT.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "", "components.Onboarding.RecoverForm.word_placeholder": "",
"components.Onboarding.Signup.signup_create": "", "components.Onboarding.Signup.signup_create": "",
"components.Onboarding.Signup.signup_import": "", "components.Onboarding.Signup.signup_import": "",
"components.Onboarding.Syncing.block_progress": "", "components.Syncing.block_progress": "",
"components.Onboarding.Syncing.filter_progress": "", "components.Syncing.filter_progress": "",
"components.Onboarding.Syncing.fund_description": "", "components.Syncing.fund_description": "",
"components.Onboarding.Syncing.fund_title": "", "components.Syncing.fund_title": "",
"components.Onboarding.Syncing.grab_coffee": "", "components.Syncing.grab_coffee": "",
"components.Onboarding.Syncing.preparing": "", "components.Syncing.preparing": "",
"components.Onboarding.Syncing.sync_caption": "", "components.Syncing.sync_caption": "",
"components.Onboarding.Syncing.sync_description": "", "components.Syncing.sync_description": "",
"components.Onboarding.Syncing.sync_title": "", "components.Syncing.sync_title": "",
"components.Onboarding.Syncing.waiting_for_peers": "", "components.Syncing.waiting_for_peers": "",
"components.Onboarding.alias_description": "", "components.Onboarding.alias_description": "",
"components.Onboarding.alias_title": "", "components.Onboarding.alias_title": "",
"components.Onboarding.autopilot_description": "", "components.Onboarding.autopilot_description": "",

20
app/translations/ja-JP.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "単語", "components.Onboarding.RecoverForm.word_placeholder": "単語",
"components.Onboarding.Signup.signup_create": "新しいウォレットを作成します。", "components.Onboarding.Signup.signup_create": "新しいウォレットを作成します。",
"components.Onboarding.Signup.signup_import": "既存のウォレットをインポートします。", "components.Onboarding.Signup.signup_import": "既存のウォレットをインポートします。",
"components.Onboarding.Syncing.block_progress": "", "components.Syncing.block_progress": "",
"components.Onboarding.Syncing.filter_progress": "", "components.Syncing.filter_progress": "",
"components.Onboarding.Syncing.fund_description": "待っている間、あなたの財布を資金も可能性があります同期します。", "components.Syncing.fund_description": "待っている間、あなたの財布を資金も可能性があります同期します。",
"components.Onboarding.Syncing.fund_title": "Zapウォレットの資金", "components.Syncing.fund_title": "Zapウォレットの資金",
"components.Onboarding.Syncing.grab_coffee": "時間がかかりそうです - コーヒーでも入れるか後でやり直して!", "components.Syncing.grab_coffee": "時間がかかりそうです - コーヒーでも入れるか後でやり直して!",
"components.Onboarding.Syncing.preparing": "準備中…", "components.Syncing.preparing": "準備中…",
"components.Onboarding.Syncing.sync_caption": "ブロックチェーンに同期中", "components.Syncing.sync_caption": "ブロックチェーンに同期中",
"components.Onboarding.Syncing.sync_description": "ブロックチェーンからの最新データの全てを取得する間、しばらくお待ちください。", "components.Syncing.sync_description": "ブロックチェーンからの最新データの全てを取得する間、しばらくお待ちください。",
"components.Onboarding.Syncing.sync_title": "おかえりなさい、Zapウォレットへ!", "components.Syncing.sync_title": "おかえりなさい、Zapウォレットへ!",
"components.Onboarding.Syncing.waiting_for_peers": "仲間を待っています…", "components.Syncing.waiting_for_peers": "仲間を待っています…",
"components.Onboarding.alias_description": "ライトニングネットワークでのあなたと他者の接続のためにあなたのニックネームを設定して下さい。", "components.Onboarding.alias_description": "ライトニングネットワークでのあなたと他者の接続のためにあなたのニックネームを設定して下さい。",
"components.Onboarding.alias_title": "私たちはあなたを何と呼べばいいですか?", "components.Onboarding.alias_title": "私たちはあなたを何と呼べばいいですか?",
"components.Onboarding.autopilot_description": "自動操縦装置は自動ネットワークマネージャーです。支払いをするネットワークを構築する人々を手動で追加するには、代わりにあなたの資金の60%を使用して雷のネットワークに自動的に接続する自動操縦を有効にします。", "components.Onboarding.autopilot_description": "自動操縦装置は自動ネットワークマネージャーです。支払いをするネットワークを構築する人々を手動で追加するには、代わりにあなたの資金の60%を使用して雷のネットワークに自動的に接続する自動操縦を有効にします。",

20
app/translations/ko-KR.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "", "components.Onboarding.RecoverForm.word_placeholder": "",
"components.Onboarding.Signup.signup_create": "", "components.Onboarding.Signup.signup_create": "",
"components.Onboarding.Signup.signup_import": "", "components.Onboarding.Signup.signup_import": "",
"components.Onboarding.Syncing.block_progress": "", "components.Syncing.block_progress": "",
"components.Onboarding.Syncing.filter_progress": "", "components.Syncing.filter_progress": "",
"components.Onboarding.Syncing.fund_description": "", "components.Syncing.fund_description": "",
"components.Onboarding.Syncing.fund_title": "", "components.Syncing.fund_title": "",
"components.Onboarding.Syncing.grab_coffee": "", "components.Syncing.grab_coffee": "",
"components.Onboarding.Syncing.preparing": "", "components.Syncing.preparing": "",
"components.Onboarding.Syncing.sync_caption": "", "components.Syncing.sync_caption": "",
"components.Onboarding.Syncing.sync_description": "", "components.Syncing.sync_description": "",
"components.Onboarding.Syncing.sync_title": "", "components.Syncing.sync_title": "",
"components.Onboarding.Syncing.waiting_for_peers": "", "components.Syncing.waiting_for_peers": "",
"components.Onboarding.alias_description": "", "components.Onboarding.alias_description": "",
"components.Onboarding.alias_title": "", "components.Onboarding.alias_title": "",
"components.Onboarding.autopilot_description": "", "components.Onboarding.autopilot_description": "",

20
app/translations/nl-NL.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "woord", "components.Onboarding.RecoverForm.word_placeholder": "woord",
"components.Onboarding.Signup.signup_create": "Maak een nieuwe portemonnee aan", "components.Onboarding.Signup.signup_create": "Maak een nieuwe portemonnee aan",
"components.Onboarding.Signup.signup_import": "Importeer een bestaande portefeuille", "components.Onboarding.Signup.signup_import": "Importeer een bestaande portefeuille",
"components.Onboarding.Syncing.block_progress": "", "components.Syncing.block_progress": "",
"components.Onboarding.Syncing.filter_progress": "", "components.Syncing.filter_progress": "",
"components.Onboarding.Syncing.fund_description": "Misschien kan je tijdens het wachten alvast Bitcoin storten.", "components.Syncing.fund_description": "Misschien kan je tijdens het wachten alvast Bitcoin storten.",
"components.Onboarding.Syncing.fund_title": "Stort naar je Zap portemonnee", "components.Syncing.fund_title": "Stort naar je Zap portemonnee",
"components.Onboarding.Syncing.grab_coffee": "Het lijkt erop dat dit even kan duren - een goed moment voor een kop koffie of probeer het later!", "components.Syncing.grab_coffee": "Het lijkt erop dat dit even kan duren - een goed moment voor een kop koffie of probeer het later!",
"components.Onboarding.Syncing.preparing": "Voorbereiden…", "components.Syncing.preparing": "Voorbereiden…",
"components.Onboarding.Syncing.sync_caption": "Synchroniseren met de blockchain", "components.Syncing.sync_caption": "Synchroniseren met de blockchain",
"components.Onboarding.Syncing.sync_description": "Wacht alsjeblieft even terwijl we je laatste data uit de blockchain halen.", "components.Syncing.sync_description": "Wacht alsjeblieft even terwijl we je laatste data uit de blockchain halen.",
"components.Onboarding.Syncing.sync_title": "Welkom terug in je Zap portemonnee!", "components.Syncing.sync_title": "Welkom terug in je Zap portemonnee!",
"components.Onboarding.Syncing.waiting_for_peers": "Wachten op verbindingen…", "components.Syncing.waiting_for_peers": "Wachten op verbindingen…",
"components.Onboarding.alias_description": "Stel je bijnaam in om anderen met je te laten verbinden op het Lightning Netwerk", "components.Onboarding.alias_description": "Stel je bijnaam in om anderen met je te laten verbinden op het Lightning Netwerk",
"components.Onboarding.alias_title": "Hoe heet je?", "components.Onboarding.alias_title": "Hoe heet je?",
"components.Onboarding.autopilot_description": "Autopilot is een automatische netwerk manager. In plaats van handmatig met mensen te verbinden voor betalingen op het Lightning Netwerk, kan je de automatische piloot inschakelen. Deze zal automatisch verbindingen voor je aanleggen en hiervoor 60% van je balans inzetten.", "components.Onboarding.autopilot_description": "Autopilot is een automatische netwerk manager. In plaats van handmatig met mensen te verbinden voor betalingen op het Lightning Netwerk, kan je de automatische piloot inschakelen. Deze zal automatisch verbindingen voor je aanleggen en hiervoor 60% van je balans inzetten.",

20
app/translations/no-NO.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "", "components.Onboarding.RecoverForm.word_placeholder": "",
"components.Onboarding.Signup.signup_create": "", "components.Onboarding.Signup.signup_create": "",
"components.Onboarding.Signup.signup_import": "", "components.Onboarding.Signup.signup_import": "",
"components.Onboarding.Syncing.block_progress": "", "components.Syncing.block_progress": "",
"components.Onboarding.Syncing.filter_progress": "", "components.Syncing.filter_progress": "",
"components.Onboarding.Syncing.fund_description": "", "components.Syncing.fund_description": "",
"components.Onboarding.Syncing.fund_title": "", "components.Syncing.fund_title": "",
"components.Onboarding.Syncing.grab_coffee": "", "components.Syncing.grab_coffee": "",
"components.Onboarding.Syncing.preparing": "", "components.Syncing.preparing": "",
"components.Onboarding.Syncing.sync_caption": "", "components.Syncing.sync_caption": "",
"components.Onboarding.Syncing.sync_description": "", "components.Syncing.sync_description": "",
"components.Onboarding.Syncing.sync_title": "", "components.Syncing.sync_title": "",
"components.Onboarding.Syncing.waiting_for_peers": "", "components.Syncing.waiting_for_peers": "",
"components.Onboarding.alias_description": "", "components.Onboarding.alias_description": "",
"components.Onboarding.alias_title": "", "components.Onboarding.alias_title": "",
"components.Onboarding.autopilot_description": "", "components.Onboarding.autopilot_description": "",

20
app/translations/pl-PL.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "", "components.Onboarding.RecoverForm.word_placeholder": "",
"components.Onboarding.Signup.signup_create": "", "components.Onboarding.Signup.signup_create": "",
"components.Onboarding.Signup.signup_import": "", "components.Onboarding.Signup.signup_import": "",
"components.Onboarding.Syncing.block_progress": "", "components.Syncing.block_progress": "",
"components.Onboarding.Syncing.filter_progress": "", "components.Syncing.filter_progress": "",
"components.Onboarding.Syncing.fund_description": "", "components.Syncing.fund_description": "",
"components.Onboarding.Syncing.fund_title": "", "components.Syncing.fund_title": "",
"components.Onboarding.Syncing.grab_coffee": "", "components.Syncing.grab_coffee": "",
"components.Onboarding.Syncing.preparing": "", "components.Syncing.preparing": "",
"components.Onboarding.Syncing.sync_caption": "", "components.Syncing.sync_caption": "",
"components.Onboarding.Syncing.sync_description": "", "components.Syncing.sync_description": "",
"components.Onboarding.Syncing.sync_title": "", "components.Syncing.sync_title": "",
"components.Onboarding.Syncing.waiting_for_peers": "", "components.Syncing.waiting_for_peers": "",
"components.Onboarding.alias_description": "", "components.Onboarding.alias_description": "",
"components.Onboarding.alias_title": "", "components.Onboarding.alias_title": "",
"components.Onboarding.autopilot_description": "", "components.Onboarding.autopilot_description": "",

20
app/translations/pt-BR.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "palavra", "components.Onboarding.RecoverForm.word_placeholder": "palavra",
"components.Onboarding.Signup.signup_create": "Criar nova carteira", "components.Onboarding.Signup.signup_create": "Criar nova carteira",
"components.Onboarding.Signup.signup_import": "Importar carteira existente", "components.Onboarding.Signup.signup_import": "Importar carteira existente",
"components.Onboarding.Syncing.block_progress": "", "components.Syncing.block_progress": "",
"components.Onboarding.Syncing.filter_progress": "", "components.Syncing.filter_progress": "",
"components.Onboarding.Syncing.fund_description": "Might as well fund your wallet while you’re waiting to sync.", "components.Syncing.fund_description": "Might as well fund your wallet while you’re waiting to sync.",
"components.Onboarding.Syncing.fund_title": "Envie fundos para sua carteira Zap", "components.Syncing.fund_title": "Envie fundos para sua carteira Zap",
"components.Onboarding.Syncing.grab_coffee": "Parece que isso pode levar algum tempo - você pode ir tomar um café ou tentar novamente mais tarde!", "components.Syncing.grab_coffee": "Parece que isso pode levar algum tempo - você pode ir tomar um café ou tentar novamente mais tarde!",
"components.Onboarding.Syncing.preparing": "Preparando…", "components.Syncing.preparing": "Preparando…",
"components.Onboarding.Syncing.sync_caption": "Sincronizar com a blockchain", "components.Syncing.sync_caption": "Sincronizar com a blockchain",
"components.Onboarding.Syncing.sync_description": "Por favor, aguarde enquanto buscamos todos os seus dados mais recentes na blockchain.", "components.Syncing.sync_description": "Por favor, aguarde enquanto buscamos todos os seus dados mais recentes na blockchain.",
"components.Onboarding.Syncing.sync_title": "Bem-vindo de volta à sua carteira Zap!", "components.Syncing.sync_title": "Bem-vindo de volta à sua carteira Zap!",
"components.Onboarding.Syncing.waiting_for_peers": "Esperando por seus pares…", "components.Syncing.waiting_for_peers": "Esperando por seus pares…",
"components.Onboarding.alias_description": "Defina seu apelido para ajudar outros a se conectarem com você na Lightning Network", "components.Onboarding.alias_description": "Defina seu apelido para ajudar outros a se conectarem com você na Lightning Network",
"components.Onboarding.alias_title": "Como deveríamos chamá-lo?", "components.Onboarding.alias_title": "Como deveríamos chamá-lo?",
"components.Onboarding.autopilot_description": "Autopilot é um gerenciador automático de rede. Em vez de adicionar manualmente pessoas para construir sua rede de pagamentos, ative o piloto automático para conectá-lo automaticamente à Lightning Network usando 60% de seu saldo.", "components.Onboarding.autopilot_description": "Autopilot é um gerenciador automático de rede. Em vez de adicionar manualmente pessoas para construir sua rede de pagamentos, ative o piloto automático para conectá-lo automaticamente à Lightning Network usando 60% de seu saldo.",

20
app/translations/pt-PT.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "", "components.Onboarding.RecoverForm.word_placeholder": "",
"components.Onboarding.Signup.signup_create": "", "components.Onboarding.Signup.signup_create": "",
"components.Onboarding.Signup.signup_import": "", "components.Onboarding.Signup.signup_import": "",
"components.Onboarding.Syncing.block_progress": "", "components.Syncing.block_progress": "",
"components.Onboarding.Syncing.filter_progress": "", "components.Syncing.filter_progress": "",
"components.Onboarding.Syncing.fund_description": "", "components.Syncing.fund_description": "",
"components.Onboarding.Syncing.fund_title": "", "components.Syncing.fund_title": "",
"components.Onboarding.Syncing.grab_coffee": "", "components.Syncing.grab_coffee": "",
"components.Onboarding.Syncing.preparing": "", "components.Syncing.preparing": "",
"components.Onboarding.Syncing.sync_caption": "", "components.Syncing.sync_caption": "",
"components.Onboarding.Syncing.sync_description": "", "components.Syncing.sync_description": "",
"components.Onboarding.Syncing.sync_title": "", "components.Syncing.sync_title": "",
"components.Onboarding.Syncing.waiting_for_peers": "", "components.Syncing.waiting_for_peers": "",
"components.Onboarding.alias_description": "", "components.Onboarding.alias_description": "",
"components.Onboarding.alias_title": "", "components.Onboarding.alias_title": "",
"components.Onboarding.autopilot_description": "", "components.Onboarding.autopilot_description": "",

20
app/translations/ro-RO.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "cuvânt", "components.Onboarding.RecoverForm.word_placeholder": "cuvânt",
"components.Onboarding.Signup.signup_create": "Creeaza un nou portofel", "components.Onboarding.Signup.signup_create": "Creeaza un nou portofel",
"components.Onboarding.Signup.signup_import": "Importa un portofel existent", "components.Onboarding.Signup.signup_import": "Importa un portofel existent",
"components.Onboarding.Syncing.block_progress": "", "components.Syncing.block_progress": "",
"components.Onboarding.Syncing.filter_progress": "", "components.Syncing.filter_progress": "",
"components.Onboarding.Syncing.fund_description": "Poti trimite fonduri in timp ce portofelul se sincronizeaza.", "components.Syncing.fund_description": "Poti trimite fonduri in timp ce portofelul se sincronizeaza.",
"components.Onboarding.Syncing.fund_title": "Adauga fonduri pentru portofelul Zap", "components.Syncing.fund_title": "Adauga fonduri pentru portofelul Zap",
"components.Onboarding.Syncing.grab_coffee": "Se pare ca dureaza putin - poate vrei sa iei o cana de cafea si sa incerci mai tarziu!", "components.Syncing.grab_coffee": "Se pare ca dureaza putin - poate vrei sa iei o cana de cafea si sa incerci mai tarziu!",
"components.Onboarding.Syncing.preparing": "Se pregateste…", "components.Syncing.preparing": "Se pregateste…",
"components.Onboarding.Syncing.sync_caption": "Ne sincronizam cu blockchainul", "components.Syncing.sync_caption": "Ne sincronizam cu blockchainul",
"components.Onboarding.Syncing.sync_description": "Te rog sa astepti pana cand sincronizam datele din blockchain.", "components.Syncing.sync_description": "Te rog sa astepti pana cand sincronizam datele din blockchain.",
"components.Onboarding.Syncing.sync_title": "Bine ai revenit la portofelul tau Zap!", "components.Syncing.sync_title": "Bine ai revenit la portofelul tau Zap!",
"components.Onboarding.Syncing.waiting_for_peers": "Asteptam conexiunea cu peers...", "components.Syncing.waiting_for_peers": "Asteptam conexiunea cu peers...",
"components.Onboarding.alias_description": "Setaţi nickname-ul pentru ii ajuta pe alţii sa se conecteze cu tine pe reţeaua Lightning", "components.Onboarding.alias_description": "Setaţi nickname-ul pentru ii ajuta pe alţii sa se conecteze cu tine pe reţeaua Lightning",
"components.Onboarding.alias_title": "Cum te numesti?", "components.Onboarding.alias_title": "Cum te numesti?",
"components.Onboarding.autopilot_description": "Pilotul automat este un manager de reţea automat. În loc de adăugarea manuală a nodurilor pentru a efectua plăţi, permite pilotului automat sa se conecteze automat la rețeaua Lightning folosind 60 % din balanta.", "components.Onboarding.autopilot_description": "Pilotul automat este un manager de reţea automat. În loc de adăugarea manuală a nodurilor pentru a efectua plăţi, permite pilotului automat sa se conecteze automat la rețeaua Lightning folosind 60 % din balanta.",

20
app/translations/ru-RU.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "слово", "components.Onboarding.RecoverForm.word_placeholder": "слово",
"components.Onboarding.Signup.signup_create": "Создать новый кошелёк", "components.Onboarding.Signup.signup_create": "Создать новый кошелёк",
"components.Onboarding.Signup.signup_import": "Импорт существующего кошелька", "components.Onboarding.Signup.signup_import": "Импорт существующего кошелька",
"components.Onboarding.Syncing.block_progress": "", "components.Syncing.block_progress": "",
"components.Onboarding.Syncing.filter_progress": "", "components.Syncing.filter_progress": "",
"components.Onboarding.Syncing.fund_description": "Также можете пополнить свой кошелёк, пока ждете синхронизации.", "components.Syncing.fund_description": "Также можете пополнить свой кошелёк, пока ждете синхронизации.",
"components.Onboarding.Syncing.fund_title": "Пополните ваш Zap кошелёк", "components.Syncing.fund_title": "Пополните ваш Zap кошелёк",
"components.Onboarding.Syncing.grab_coffee": "Похоже, это может занять некоторое время - а вы можете выпить кофе или повторить попытку позже!", "components.Syncing.grab_coffee": "Похоже, это может занять некоторое время - а вы можете выпить кофе или повторить попытку позже!",
"components.Onboarding.Syncing.preparing": "Подготовка…", "components.Syncing.preparing": "Подготовка…",
"components.Onboarding.Syncing.sync_caption": "Синхронизация с блокчейном", "components.Syncing.sync_caption": "Синхронизация с блокчейном",
"components.Onboarding.Syncing.sync_description": "Пожалуйста, немного подождите, пока мы соберём все ваши последние данные из блокчейна.", "components.Syncing.sync_description": "Пожалуйста, немного подождите, пока мы соберём все ваши последние данные из блокчейна.",
"components.Onboarding.Syncing.sync_title": "Добро пожаловать обратно в ваш Zap кошелёк!", "components.Syncing.sync_title": "Добро пожаловать обратно в ваш Zap кошелёк!",
"components.Onboarding.Syncing.waiting_for_peers": "Ожидание подключений…", "components.Syncing.waiting_for_peers": "Ожидание подключений…",
"components.Onboarding.alias_description": "Укажите ваш никнейм, чтобы помочь остальным соединиться с вами через сеть Lightning", "components.Onboarding.alias_description": "Укажите ваш никнейм, чтобы помочь остальным соединиться с вами через сеть Lightning",
"components.Onboarding.alias_title": "Как нам вас называть?", "components.Onboarding.alias_title": "Как нам вас называть?",
"components.Onboarding.autopilot_description": "Autopilot является автоматическим сетевым менеджером (менеджером сети). Вместо ручного добавления людей для постройки вашей сети осуществления платежей, включите автопилот автоматически подключить вас к сети Lightning, используя 60% вашего баланса.", "components.Onboarding.autopilot_description": "Autopilot является автоматическим сетевым менеджером (менеджером сети). Вместо ручного добавления людей для постройки вашей сети осуществления платежей, включите автопилот автоматически подключить вас к сети Lightning, используя 60% вашего баланса.",

20
app/translations/sr-SP.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "", "components.Onboarding.RecoverForm.word_placeholder": "",
"components.Onboarding.Signup.signup_create": "", "components.Onboarding.Signup.signup_create": "",
"components.Onboarding.Signup.signup_import": "", "components.Onboarding.Signup.signup_import": "",
"components.Onboarding.Syncing.block_progress": "", "components.Syncing.block_progress": "",
"components.Onboarding.Syncing.filter_progress": "", "components.Syncing.filter_progress": "",
"components.Onboarding.Syncing.fund_description": "", "components.Syncing.fund_description": "",
"components.Onboarding.Syncing.fund_title": "", "components.Syncing.fund_title": "",
"components.Onboarding.Syncing.grab_coffee": "", "components.Syncing.grab_coffee": "",
"components.Onboarding.Syncing.preparing": "", "components.Syncing.preparing": "",
"components.Onboarding.Syncing.sync_caption": "", "components.Syncing.sync_caption": "",
"components.Onboarding.Syncing.sync_description": "", "components.Syncing.sync_description": "",
"components.Onboarding.Syncing.sync_title": "", "components.Syncing.sync_title": "",
"components.Onboarding.Syncing.waiting_for_peers": "", "components.Syncing.waiting_for_peers": "",
"components.Onboarding.alias_description": "", "components.Onboarding.alias_description": "",
"components.Onboarding.alias_title": "", "components.Onboarding.alias_title": "",
"components.Onboarding.autopilot_description": "", "components.Onboarding.autopilot_description": "",

20
app/translations/sv-SE.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "ord", "components.Onboarding.RecoverForm.word_placeholder": "ord",
"components.Onboarding.Signup.signup_create": "Skapa ny wallet", "components.Onboarding.Signup.signup_create": "Skapa ny wallet",
"components.Onboarding.Signup.signup_import": "Importera befintlig wallet", "components.Onboarding.Signup.signup_import": "Importera befintlig wallet",
"components.Onboarding.Syncing.block_progress": "", "components.Syncing.block_progress": "",
"components.Onboarding.Syncing.filter_progress": "", "components.Syncing.filter_progress": "",
"components.Onboarding.Syncing.fund_description": "Passa på att fylla din wallet medans du väntar på att synca.", "components.Syncing.fund_description": "Passa på att fylla din wallet medans du väntar på att synca.",
"components.Onboarding.Syncing.fund_title": "Fyll din Zap-wallet", "components.Syncing.fund_title": "Fyll din Zap-wallet",
"components.Onboarding.Syncing.grab_coffee": "Det verkar som att detta kan ta lite tid - gå och hämta kaffe eller försök igen senare!", "components.Syncing.grab_coffee": "Det verkar som att detta kan ta lite tid - gå och hämta kaffe eller försök igen senare!",
"components.Onboarding.Syncing.preparing": "Förbereder…", "components.Syncing.preparing": "Förbereder…",
"components.Onboarding.Syncing.sync_caption": "Syncar med blockkedjan", "components.Syncing.sync_caption": "Syncar med blockkedjan",
"components.Onboarding.Syncing.sync_description": "Vänta en stund medan vi hämtar all din senaste data från blockkedjan.", "components.Syncing.sync_description": "Vänta en stund medan vi hämtar all din senaste data från blockkedjan.",
"components.Onboarding.Syncing.sync_title": "Välkommen tillbaka till din Zap-wallet!", "components.Syncing.sync_title": "Välkommen tillbaka till din Zap-wallet!",
"components.Onboarding.Syncing.waiting_for_peers": "Väntar på peers…", "components.Syncing.waiting_for_peers": "Väntar på peers…",
"components.Onboarding.alias_description": "Ange ditt smeknamn för att hjälpa andra kontakta dig i Lightning Nätverket", "components.Onboarding.alias_description": "Ange ditt smeknamn för att hjälpa andra kontakta dig i Lightning Nätverket",
"components.Onboarding.alias_title": "Vad ska vi kalla dig?", "components.Onboarding.alias_title": "Vad ska vi kalla dig?",
"components.Onboarding.autopilot_description": "Autopilot är en automatisk nätverkshanterare. Istället för att lägga till personer till ditt nätverk manuellt så kan du aktivera autopiloten för att automatiskt ansluta dig till Lightning Network med 60% av ditt tillgängliga saldo.", "components.Onboarding.autopilot_description": "Autopilot är en automatisk nätverkshanterare. Istället för att lägga till personer till ditt nätverk manuellt så kan du aktivera autopiloten för att automatiskt ansluta dig till Lightning Network med 60% av ditt tillgängliga saldo.",

20
app/translations/tr-TR.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "kelime", "components.Onboarding.RecoverForm.word_placeholder": "kelime",
"components.Onboarding.Signup.signup_create": "Yeni cüzdan oluştur", "components.Onboarding.Signup.signup_create": "Yeni cüzdan oluştur",
"components.Onboarding.Signup.signup_import": "Varolan cüzdanı geri yükle", "components.Onboarding.Signup.signup_import": "Varolan cüzdanı geri yükle",
"components.Onboarding.Syncing.block_progress": "", "components.Syncing.block_progress": "",
"components.Onboarding.Syncing.filter_progress": "", "components.Syncing.filter_progress": "",
"components.Onboarding.Syncing.fund_description": "Senkronizasyonu beklerken, cüzdanınıza para yatırmak isteyebilirsiniz.", "components.Syncing.fund_description": "Senkronizasyonu beklerken, cüzdanınıza para yatırmak isteyebilirsiniz.",
"components.Onboarding.Syncing.fund_title": "Zap cüzdanınıza para yatırın", "components.Syncing.fund_title": "Zap cüzdanınıza para yatırın",
"components.Onboarding.Syncing.grab_coffee": "Bu biraz zaman alabilir - bir çay koymak veya daha sonra yeniden bakmak isteyebilirsiniz gibi görünüyor!", "components.Syncing.grab_coffee": "Bu biraz zaman alabilir - bir çay koymak veya daha sonra yeniden bakmak isteyebilirsiniz gibi görünüyor!",
"components.Onboarding.Syncing.preparing": "Hazırlanıyor…", "components.Syncing.preparing": "Hazırlanıyor…",
"components.Onboarding.Syncing.sync_caption": "Blockchain'e senkronize ediliyor", "components.Syncing.sync_caption": "Blockchain'e senkronize ediliyor",
"components.Onboarding.Syncing.sync_description": "Lütfen en son verilerinizi blok zincirinden alırken bir süre bekleyin.", "components.Syncing.sync_description": "Lütfen en son verilerinizi blok zincirinden alırken bir süre bekleyin.",
"components.Onboarding.Syncing.sync_title": "Zap cüzdanına tekrar hoş geldiniz!", "components.Syncing.sync_title": "Zap cüzdanına tekrar hoş geldiniz!",
"components.Onboarding.Syncing.waiting_for_peers": "Eş bağlantıları için bekleniyor…", "components.Syncing.waiting_for_peers": "Eş bağlantıları için bekleniyor…",
"components.Onboarding.alias_description": "Yıldırım ağında sizi başkalarına tanımlamak için kullanılacak bir rumuz ayarla", "components.Onboarding.alias_description": "Yıldırım ağında sizi başkalarına tanımlamak için kullanılacak bir rumuz ayarla",
"components.Onboarding.alias_title": "Rumuzunuz?", "components.Onboarding.alias_title": "Rumuzunuz?",
"components.Onboarding.autopilot_description": "Otomatik pilot bir otomatik ağ yöneticisidir. Ödeme yapmak için ağ bağlantılarınızı manuel olarak tek tek eklemek yerine, bakiyenizin % 60'ını kullanarak otomatik olarak ağa bağlanmak için otomatik pilotu etkinleştirin.", "components.Onboarding.autopilot_description": "Otomatik pilot bir otomatik ağ yöneticisidir. Ödeme yapmak için ağ bağlantılarınızı manuel olarak tek tek eklemek yerine, bakiyenizin % 60'ını kullanarak otomatik olarak ağa bağlanmak için otomatik pilotu etkinleştirin.",

20
app/translations/uk-UA.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "слово", "components.Onboarding.RecoverForm.word_placeholder": "слово",
"components.Onboarding.Signup.signup_create": "Створити новий гаманець", "components.Onboarding.Signup.signup_create": "Створити новий гаманець",
"components.Onboarding.Signup.signup_import": "Імпортувати наявний гаманець", "components.Onboarding.Signup.signup_import": "Імпортувати наявний гаманець",
"components.Onboarding.Syncing.block_progress": "", "components.Syncing.block_progress": "",
"components.Onboarding.Syncing.filter_progress": "", "components.Syncing.filter_progress": "",
"components.Onboarding.Syncing.fund_description": "Також можуть фінансувати ваш гаманець, поки ви чекаєте синхронізації.", "components.Syncing.fund_description": "Також можуть фінансувати ваш гаманець, поки ви чекаєте синхронізації.",
"components.Onboarding.Syncing.fund_title": "Поповнити ваш гаманець", "components.Syncing.fund_title": "Поповнити ваш гаманець",
"components.Onboarding.Syncing.grab_coffee": "Схоже, це може зайняти деякий час, - ви можете випити чашечку кави чи спробувати пізніше!", "components.Syncing.grab_coffee": "Схоже, це може зайняти деякий час, - ви можете випити чашечку кави чи спробувати пізніше!",
"components.Onboarding.Syncing.preparing": "Підготовка…", "components.Syncing.preparing": "Підготовка…",
"components.Onboarding.Syncing.sync_caption": "Синхронізація з блокчейном", "components.Syncing.sync_caption": "Синхронізація з блокчейном",
"components.Onboarding.Syncing.sync_description": "Будь ласка, зачекайте деякий час, поки ми виберемо всі ваші останні дані з блокчейну.", "components.Syncing.sync_description": "Будь ласка, зачекайте деякий час, поки ми виберемо всі ваші останні дані з блокчейну.",
"components.Onboarding.Syncing.sync_title": "Ласкаво просимо назад до Zap гаманця!", "components.Syncing.sync_title": "Ласкаво просимо назад до Zap гаманця!",
"components.Onboarding.Syncing.waiting_for_peers": "Чекаємо підключення…", "components.Syncing.waiting_for_peers": "Чекаємо підключення…",
"components.Onboarding.alias_description": "Встановіть Нікнейм для допомоги іншим зв'язатися з вами в мережі Блискавка", "components.Onboarding.alias_description": "Встановіть Нікнейм для допомоги іншим зв'язатися з вами в мережі Блискавка",
"components.Onboarding.alias_title": "Як до вас звертатися?", "components.Onboarding.alias_title": "Як до вас звертатися?",
"components.Onboarding.autopilot_description": "Автопілот це автоматичний менеджер мережі. Замість того, щоб вручну додавати людей до створення мережі для здійснення платежів, увімкніть автопілот для автоматично з'єднання з використовуючи 60% від вашого балансу.", "components.Onboarding.autopilot_description": "Автопілот це автоматичний менеджер мережі. Замість того, щоб вручну додавати людей до створення мережі для здійснення платежів, увімкніть автопілот для автоматично з'єднання з використовуючи 60% від вашого балансу.",

20
app/translations/vi-VN.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "", "components.Onboarding.RecoverForm.word_placeholder": "",
"components.Onboarding.Signup.signup_create": "", "components.Onboarding.Signup.signup_create": "",
"components.Onboarding.Signup.signup_import": "", "components.Onboarding.Signup.signup_import": "",
"components.Onboarding.Syncing.block_progress": "", "components.Syncing.block_progress": "",
"components.Onboarding.Syncing.filter_progress": "", "components.Syncing.filter_progress": "",
"components.Onboarding.Syncing.fund_description": "", "components.Syncing.fund_description": "",
"components.Onboarding.Syncing.fund_title": "", "components.Syncing.fund_title": "",
"components.Onboarding.Syncing.grab_coffee": "", "components.Syncing.grab_coffee": "",
"components.Onboarding.Syncing.preparing": "", "components.Syncing.preparing": "",
"components.Onboarding.Syncing.sync_caption": "", "components.Syncing.sync_caption": "",
"components.Onboarding.Syncing.sync_description": "", "components.Syncing.sync_description": "",
"components.Onboarding.Syncing.sync_title": "", "components.Syncing.sync_title": "",
"components.Onboarding.Syncing.waiting_for_peers": "", "components.Syncing.waiting_for_peers": "",
"components.Onboarding.alias_description": "", "components.Onboarding.alias_description": "",
"components.Onboarding.alias_title": "", "components.Onboarding.alias_title": "",
"components.Onboarding.autopilot_description": "", "components.Onboarding.autopilot_description": "",

20
app/translations/zh-CN.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "助记词", "components.Onboarding.RecoverForm.word_placeholder": "助记词",
"components.Onboarding.Signup.signup_create": "创建钱包", "components.Onboarding.Signup.signup_create": "创建钱包",
"components.Onboarding.Signup.signup_import": "导入现有钱包", "components.Onboarding.Signup.signup_import": "导入现有钱包",
"components.Onboarding.Syncing.block_progress": "", "components.Syncing.block_progress": "",
"components.Onboarding.Syncing.filter_progress": "", "components.Syncing.filter_progress": "",
"components.Onboarding.Syncing.fund_description": "不如在您等待同步Blockchain的时候为您的钱包充值资金。", "components.Syncing.fund_description": "不如在您等待同步Blockchain的时候为您的钱包充值资金。",
"components.Onboarding.Syncing.fund_title": "充值您的Zap钱包", "components.Syncing.fund_title": "充值您的Zap钱包",
"components.Onboarding.Syncing.grab_coffee": "看起来这可能需要一些时间。您可以去喝一杯咖啡, 或稍后再试一次!", "components.Syncing.grab_coffee": "看起来这可能需要一些时间。您可以去喝一杯咖啡, 或稍后再试一次!",
"components.Onboarding.Syncing.preparing": "准备中。。。", "components.Syncing.preparing": "准备中。。。",
"components.Onboarding.Syncing.sync_caption": "同步到 blockchain中..。", "components.Syncing.sync_caption": "同步到 blockchain中..。",
"components.Onboarding.Syncing.sync_description": "请稍候, 我们从 blockchain 中获取您的最新数据。", "components.Syncing.sync_description": "请稍候, 我们从 blockchain 中获取您的最新数据。",
"components.Onboarding.Syncing.sync_title": "欢迎回到你的Zap钱包!", "components.Syncing.sync_title": "欢迎回到你的Zap钱包!",
"components.Onboarding.Syncing.waiting_for_peers": "等待peer..。", "components.Syncing.waiting_for_peers": "等待peer..。",
"components.Onboarding.alias_description": "设置您的昵称, 以帮助他人与您连接在闪电网络上", "components.Onboarding.alias_description": "设置您的昵称, 以帮助他人与您连接在闪电网络上",
"components.Onboarding.alias_title": "我们该叫您什么?", "components.Onboarding.alias_title": "我们该叫您什么?",
"components.Onboarding.autopilot_description": "Autopilot是一个自动网络管理器。而不用手动添加他人来建立您的支付网络, 使Autopilot自动连接到闪电网络将会使用您60%的余额。", "components.Onboarding.autopilot_description": "Autopilot是一个自动网络管理器。而不用手动添加他人来建立您的支付网络, 使Autopilot自动连接到闪电网络将会使用您60%的余额。",

20
app/translations/zh-TW.json

@ -108,16 +108,16 @@
"components.Onboarding.RecoverForm.word_placeholder": "", "components.Onboarding.RecoverForm.word_placeholder": "",
"components.Onboarding.Signup.signup_create": "创建钱包", "components.Onboarding.Signup.signup_create": "创建钱包",
"components.Onboarding.Signup.signup_import": "导入现有钱包", "components.Onboarding.Signup.signup_import": "导入现有钱包",
"components.Onboarding.Syncing.block_progress": "", "components.Syncing.block_progress": "",
"components.Onboarding.Syncing.filter_progress": "", "components.Syncing.filter_progress": "",
"components.Onboarding.Syncing.fund_description": "不如在您等待同步Blockchain的时候为您的钱包充值资金。", "components.Syncing.fund_description": "不如在您等待同步Blockchain的时候为您的钱包充值资金。",
"components.Onboarding.Syncing.fund_title": "充值您的Zap钱包", "components.Syncing.fund_title": "充值您的Zap钱包",
"components.Onboarding.Syncing.grab_coffee": "看起来这可能需要一些时间。您可以去喝一杯咖啡, 或稍后再试一次!", "components.Syncing.grab_coffee": "看起来这可能需要一些时间。您可以去喝一杯咖啡, 或稍后再试一次!",
"components.Onboarding.Syncing.preparing": "准备中。。。", "components.Syncing.preparing": "准备中。。。",
"components.Onboarding.Syncing.sync_caption": "同步到 blockchain中..。", "components.Syncing.sync_caption": "同步到 blockchain中..。",
"components.Onboarding.Syncing.sync_description": "请稍候, 我们从 blockchain 中获取您的最新数据。", "components.Syncing.sync_description": "请稍候, 我们从 blockchain 中获取您的最新数据。",
"components.Onboarding.Syncing.sync_title": "欢迎回到你的Zap钱包!", "components.Syncing.sync_title": "欢迎回到你的Zap钱包!",
"components.Onboarding.Syncing.waiting_for_peers": "等待peer..。", "components.Syncing.waiting_for_peers": "等待peer..。",
"components.Onboarding.alias_description": "设置您的昵称, 以帮助他人与您连接在闪电网络上", "components.Onboarding.alias_description": "设置您的昵称, 以帮助他人与您连接在闪电网络上",
"components.Onboarding.alias_title": "我们该叫您什么?", "components.Onboarding.alias_title": "我们该叫您什么?",
"components.Onboarding.autopilot_description": "Autopilot是一个自动网络管理器。而不用手动添加他人来建立您的支付网络, 使Autopilot自动连接到闪电网络将会使用您60%的余额。", "components.Onboarding.autopilot_description": "Autopilot是一个自动网络管理器。而不用手动添加他人来建立您的支付网络, 使Autopilot自动连接到闪电网络将会使用您60%的余额。",

1
package.json

@ -305,6 +305,7 @@
"@rebass/components": "^4.0.0-1", "@rebass/components": "^4.0.0-1",
"axios": "^0.18.0", "axios": "^0.18.0",
"bitcoinjs-lib": "^4.0.1", "bitcoinjs-lib": "^4.0.1",
"connected-react-router": "^4.5.0",
"copy-to-clipboard": "^3.0.8", "copy-to-clipboard": "^3.0.8",
"country-data-lookup": "^0.0.3", "country-data-lookup": "^0.0.3",
"debug": "^4.1.0", "debug": "^4.1.0",

3
test/unit/components/LoadingBolt.spec.js

@ -3,12 +3,13 @@ import { configure } from 'enzyme'
import Adapter from 'enzyme-adapter-react-16' import Adapter from 'enzyme-adapter-react-16'
import LoadingBolt from 'components/LoadingBolt' import LoadingBolt from 'components/LoadingBolt'
import CloudLightning from 'components/Icon/CloudLightning' import CloudLightning from 'components/Icon/CloudLightning'
import { dark } from 'themes'
import { mountWithIntl } from '../__helpers__/intl-enzyme-test-helper' import { mountWithIntl } from '../__helpers__/intl-enzyme-test-helper'
configure({ adapter: new Adapter() }) configure({ adapter: new Adapter() })
describe('component.LoadingBolt', () => { describe('component.LoadingBolt', () => {
const el = mountWithIntl(<LoadingBolt theme="dark" />) const el = mountWithIntl(<LoadingBolt theme={dark} isLoading />)
it('should show defaults', () => { it('should show defaults', () => {
expect(el.find(CloudLightning)).toHaveLength(1) expect(el.find(CloudLightning)).toHaveLength(1)
expect(el.text()).toContain('loading') expect(el.text()).toContain('loading')

3
test/unit/zap/controller.spec.js

@ -14,9 +14,6 @@ describe('ZapController', function() {
it('should set the "lndConfig" property to a new LndConfig instance', () => { it('should set the "lndConfig" property to a new LndConfig instance', () => {
expect(this.controller.lndConfig).toBeInstanceOf(LndConfig) expect(this.controller.lndConfig).toBeInstanceOf(LndConfig)
}) })
it('should set the "splashScreenTime" property to 500', () => {
expect(this.controller.splashScreenTime).toEqual(1500)
})
it('should set the "mainWindow" property to undefined', () => { it('should set the "mainWindow" property to undefined', () => {
expect(this.controller.mainWindow).toBeUndefined() expect(this.controller.mainWindow).toBeUndefined()
}) })

438
yarn.lock

@ -703,6 +703,14 @@
pirates "^4.0.0" pirates "^4.0.0"
source-map-support "^0.5.9" source-map-support "^0.5.9"
"@babel/runtime-corejs2@^7.0.0-rc.1":
version "7.1.2"
resolved "https://registry.yarnpkg.com/@babel/runtime-corejs2/-/runtime-corejs2-7.1.2.tgz#8695811a3fd8091f54f274b9320334e5e8c62200"
integrity sha512-drxaPByExlcRDKW4ZLubUO4ZkI8/8ax9k9wve1aEthdLKFzjB7XRkOQ0xoTIWGxqdDnWDElkjYq77bt7yrcYJQ==
dependencies:
core-js "^2.5.7"
regenerator-runtime "^0.12.0"
"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2": "@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2":
version "7.1.2" version "7.1.2"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.1.2.tgz#81c89935f4647706fc54541145e6b4ecfef4b8e3" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.1.2.tgz#81c89935f4647706fc54541145e6b4ecfef4b8e3"
@ -1019,9 +1027,9 @@
integrity sha512-yprFYuno9FtNsSHVlSWd+nRlmGoAbqbeCwOryP6sC/zoCjhpArcRMYp19EvpSUSizJAlsXEwJv+wcWS9XaXdMw== integrity sha512-yprFYuno9FtNsSHVlSWd+nRlmGoAbqbeCwOryP6sC/zoCjhpArcRMYp19EvpSUSizJAlsXEwJv+wcWS9XaXdMw==
"@octokit/rest@^15.2.6": "@octokit/rest@^15.2.6":
version "15.13.1" version "15.15.1"
resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-15.13.1.tgz#68b12ff0e470ad70c90e99bbb69f16bcdf62edb4" resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-15.15.1.tgz#7863f50f7c5753211ea3e29e10b84c93159e9e37"
integrity sha512-r6aRAZaaUZkTqtI4seaSamvgqmYswXpxclIqUrwtFtOuRAnE7l0aeWU252vQ/mxd1wKZWMq1oFChzk0/qzcYcg== integrity sha512-TnuzjE880qbknEFAVqEr3VeOcE0yXo0kJEW+EK8TASpzMbykKCydei6WUmDSV3bq7aI+llkMrBYes1kIjpU7fA==
dependencies: dependencies:
before-after-hook "^1.1.0" before-after-hook "^1.1.0"
btoa-lite "^1.0.0" btoa-lite "^1.0.0"
@ -1117,16 +1125,16 @@
uuid "^3.2.1" uuid "^3.2.1"
"@storybook/addon-actions@^4.0.0-rc.0": "@storybook/addon-actions@^4.0.0-rc.0":
version "4.0.0-rc.0" version "4.0.0-rc.1"
resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-4.0.0-rc.0.tgz#c23d5ccb8311f0b13649c877586433b0385a8040" resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-4.0.0-rc.1.tgz#672ae2fdef62304b5f35bb18a1e98a420cfafee9"
integrity sha512-LDBLOiH9F2tuD3YvUobThPsZmsKXavG5qdnLYT41XZasDRxNeEiQRC4ydnlAAio/amT9UI8GfSFyS0QrdNlGOg== integrity sha512-IO4JQryYu8K8yQe5byOAJPjK2FxmIhl53kx8CD3SqXj9nfasYh4fNtxkTwJ/Lur3kgh+OBi0wNpSt8go+KG7Mg==
dependencies: dependencies:
"@emotion/core" "^0.13.1" "@emotion/core" "^0.13.1"
"@emotion/provider" "^0.11.2" "@emotion/provider" "^0.11.2"
"@emotion/styled" "^0.10.6" "@emotion/styled" "^0.10.6"
"@storybook/addons" "4.0.0-rc.0" "@storybook/addons" "4.0.0-rc.1"
"@storybook/components" "4.0.0-rc.0" "@storybook/components" "4.0.0-rc.1"
"@storybook/core-events" "4.0.0-rc.0" "@storybook/core-events" "4.0.0-rc.1"
deep-equal "^1.0.1" deep-equal "^1.0.1"
global "^4.3.2" global "^4.3.2"
lodash "^4.17.11" lodash "^4.17.11"
@ -1160,14 +1168,14 @@
util-deprecate "^1.0.2" util-deprecate "^1.0.2"
"@storybook/addon-info@^4.0.0-rc.0": "@storybook/addon-info@^4.0.0-rc.0":
version "4.0.0-rc.0" version "4.0.0-rc.1"
resolved "https://registry.yarnpkg.com/@storybook/addon-info/-/addon-info-4.0.0-rc.0.tgz#7038287cfe8ef2cbed6425fa8f719d3d708afe83" resolved "https://registry.yarnpkg.com/@storybook/addon-info/-/addon-info-4.0.0-rc.1.tgz#30e76f0991678e9b6203af34c746f7744865b23f"
integrity sha512-mORmnghDrSc1ZrtkNrR6O2Mui2q6uzAm4ptXKqDTkpOsa6zoFhIcKn7P4gAkwjOUccSPxtdpLTVTldDf/wWR/Q== integrity sha512-mCawdYJkm6GuQS9Q60qcGpeCGwFlYw0BcvjNPAbMAnZjjtGG74mCrCBrOqmmsl7/m0YT20Gnkxpmvj7qHxR0Ng==
dependencies: dependencies:
"@emotion/styled" "^0.10.6" "@emotion/styled" "^0.10.6"
"@storybook/addons" "4.0.0-rc.0" "@storybook/addons" "4.0.0-rc.1"
"@storybook/client-logger" "4.0.0-rc.0" "@storybook/client-logger" "4.0.0-rc.1"
"@storybook/components" "4.0.0-rc.0" "@storybook/components" "4.0.0-rc.1"
core-js "2.5.7" core-js "2.5.7"
global "^4.3.2" global "^4.3.2"
marksy "^6.1.0" marksy "^6.1.0"
@ -1188,32 +1196,32 @@
prop-types "^15.6.1" prop-types "^15.6.1"
"@storybook/addon-links@^4.0.0-rc.0": "@storybook/addon-links@^4.0.0-rc.0":
version "4.0.0-rc.0" version "4.0.0-rc.1"
resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-4.0.0-rc.0.tgz#2a157310544c7a21af7fabc78f17cd65ccfba899" resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-4.0.0-rc.1.tgz#608dcfacf15a2ebe07bd192cd8ac981c46fd35df"
integrity sha512-FOHWv5H6lQZ384SAkHdx9eS37jKBzvX+glg1Cb6yOpj1DU2ApSbvLNZt8XgDQXXGefE20qU5Ev3jGFO4M8VEcw== integrity sha512-qIYSnH0cr4W5C06N2VOj3EC9iLm24phO0FjrHsZTGO9c7K+3wS7hJLuL3Gq/bFhOeJJx1IDJ75v8YZmXZPgjUA==
dependencies: dependencies:
"@storybook/addons" "4.0.0-rc.0" "@storybook/addons" "4.0.0-rc.1"
"@storybook/components" "4.0.0-rc.0" "@storybook/components" "4.0.0-rc.1"
"@storybook/core-events" "4.0.0-rc.0" "@storybook/core-events" "4.0.0-rc.1"
global "^4.3.2" global "^4.3.2"
prop-types "^15.6.2" prop-types "^15.6.2"
"@storybook/addon-options@^4.0.0-rc.0": "@storybook/addon-options@^4.0.0-rc.0":
version "4.0.0-rc.0" version "4.0.0-rc.1"
resolved "https://registry.yarnpkg.com/@storybook/addon-options/-/addon-options-4.0.0-rc.0.tgz#23c78da8a120ba1c4cc7af72c1b258e3d0d41ee9" resolved "https://registry.yarnpkg.com/@storybook/addon-options/-/addon-options-4.0.0-rc.1.tgz#0b2ba8c195c0a3615f451f15b0dee6a51454f865"
integrity sha512-+HdZF6MZ9KTT8NBCiSFyoxOFJtJZJVDk9wCjAJcoIeimn2ZVS9yRVi7JWUunGxXzVjDvXbl0YvNsgkV/13iJPg== integrity sha512-rrJaKWll7gdcCH+8n/VoGBC0BGAyTeQwlQTW1JENwHzUH8pP0t/tJgZ+9OPdNHd3xUwwSB1UIsq7bsS/WjHMPw==
dependencies: dependencies:
"@storybook/addons" "4.0.0-rc.0" "@storybook/addons" "4.0.0-rc.1"
util-deprecate "^1.0.2" util-deprecate "^1.0.2"
"@storybook/addon-storysource@^4.0.0-rc.0": "@storybook/addon-storysource@^4.0.0-rc.0":
version "4.0.0-rc.0" version "4.0.0-rc.1"
resolved "https://registry.yarnpkg.com/@storybook/addon-storysource/-/addon-storysource-4.0.0-rc.0.tgz#ec2ce80e0fa93069ec86adff199ba061efc802dc" resolved "https://registry.yarnpkg.com/@storybook/addon-storysource/-/addon-storysource-4.0.0-rc.1.tgz#6033c6ecb8294d521e904327736dfa2a3fa2b4b6"
integrity sha512-Qpoir2YsiaNvVx96JcMD67rHx6wOpFi13FSJcQgxvxpvYUKKEzn0bVLWupnZ8SZNHCy9SBqGPV+IV2voDEmwXQ== integrity sha512-YDPGGfQX1nnoHw5dN0sboHMAiDgWX2Ki4Wkk0dsb6Bmn4bC+VUnJGEApNAzMzeUQSPpb1qTRvM3uCLAEXHVUsg==
dependencies: dependencies:
"@babel/runtime" "^7.1.2" "@babel/runtime" "^7.1.2"
"@storybook/addons" "4.0.0-rc.0" "@storybook/addons" "4.0.0-rc.1"
"@storybook/components" "4.0.0-rc.0" "@storybook/components" "4.0.0-rc.1"
estraverse "^4.2.0" estraverse "^4.2.0"
loader-utils "^1.1.0" loader-utils "^1.1.0"
prettier "^1.14.3" prettier "^1.14.3"
@ -1225,13 +1233,13 @@
resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-3.4.11.tgz#f3e27c46d80ad1f171888c4aad0a19a8a032d072" resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-3.4.11.tgz#f3e27c46d80ad1f171888c4aad0a19a8a032d072"
integrity sha512-Uf01aZ1arcpG1prrrCrBCUYW63lDaoG+r/i3TNo1iG9ZaNc+2UHWeuiEedLfHg0fi/q7UnqMNWDiyO3AkEwwrA== integrity sha512-Uf01aZ1arcpG1prrrCrBCUYW63lDaoG+r/i3TNo1iG9ZaNc+2UHWeuiEedLfHg0fi/q7UnqMNWDiyO3AkEwwrA==
"@storybook/addons@4.0.0-rc.0", "@storybook/addons@^4.0.0-rc.0": "@storybook/addons@4.0.0-rc.1", "@storybook/addons@^4.0.0-rc.0":
version "4.0.0-rc.0" version "4.0.0-rc.1"
resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-4.0.0-rc.0.tgz#dabb2d0eff62aa8d1229fbd9af8f1b4b2527dbca" resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-4.0.0-rc.1.tgz#c4dd29c0c0aa08e0755d73a37201873b777537e4"
integrity sha512-VlNxni2uuU9lfLVKzAzbUCiP8I1xtXSHq0b6G7nTctr5Bx8j4T8tssESk1Vnc6Q+o19SARs9gM1GuN4Edq8uWg== integrity sha512-kdNXSC+IfT0PEyVDUKqSxFggJJGRBMcWUQe0TVZGGTW7+dq3yPe5v3y2yiq4DK0RB0FiM+J7uT9pUsVNvEqFiQ==
dependencies: dependencies:
"@storybook/channels" "4.0.0-rc.0" "@storybook/channels" "4.0.0-rc.1"
"@storybook/components" "4.0.0-rc.0" "@storybook/components" "4.0.0-rc.1"
global "^4.3.2" global "^4.3.2"
util-deprecate "^1.0.2" util-deprecate "^1.0.2"
@ -1244,12 +1252,12 @@
global "^4.3.2" global "^4.3.2"
json-stringify-safe "^5.0.1" json-stringify-safe "^5.0.1"
"@storybook/channel-postmessage@4.0.0-rc.0": "@storybook/channel-postmessage@4.0.0-rc.1":
version "4.0.0-rc.0" version "4.0.0-rc.1"
resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-4.0.0-rc.0.tgz#485b900cbe7b774cff1b5bd57f6bf8b0052ec498" resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-4.0.0-rc.1.tgz#950d217b4d1c34ec928daf1f8d447c48fe90cf02"
integrity sha512-zG325xhhvXhKNGcnIg6AQTmMyqoINpI1Hm9ic9NN7j1IM17VVR5L/sFXxp4vWPCIJw9QXm3m3urzcJXMl2IWyw== integrity sha512-VeNvCxmk8YdeIPmUuqrlP6cs7GWg8zsPEkGIgrJwgQC6a1Jmi2v1JZllSj7eofBLdJZ2F4UJfLNU7Zp5wk3k9w==
dependencies: dependencies:
"@storybook/channels" "4.0.0-rc.0" "@storybook/channels" "4.0.0-rc.1"
global "^4.3.2" global "^4.3.2"
json-stringify-safe "^5.0.1" json-stringify-safe "^5.0.1"
@ -1258,20 +1266,20 @@
resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-3.4.11.tgz#853ec40fdfa6c3ae8cff23f0cd86b77a719823f5" resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-3.4.11.tgz#853ec40fdfa6c3ae8cff23f0cd86b77a719823f5"
integrity sha512-49A79anI04nhMsNzyk5cF8fa3+HKZkb9RLshtaqvQmM7olQxCrks6cIdE2Y1zMBuyZxX1ARhcBCFVw+PUxkJjA== integrity sha512-49A79anI04nhMsNzyk5cF8fa3+HKZkb9RLshtaqvQmM7olQxCrks6cIdE2Y1zMBuyZxX1ARhcBCFVw+PUxkJjA==
"@storybook/channels@4.0.0-rc.0": "@storybook/channels@4.0.0-rc.1":
version "4.0.0-rc.0" version "4.0.0-rc.1"
resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-4.0.0-rc.0.tgz#9e92b40316196d756926fadebb913a3e4d3ba8ee" resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-4.0.0-rc.1.tgz#319caa14a5774381de4b3d41f090788a9d8c62a0"
integrity sha512-BxYKBnIR/l7L3Lrtng1oAzpOkF4VFa7HF4Mqx9MD/Dlr4kiOKuAuYMDXhVFTvuZ3A0qgJQ3CEMQavZ9WMul13g== integrity sha512-ZoOFvm5SgPC2ML/iI3M/eulkvWh5DSWO0/6FhHgIb9QEsbt6M27jv47tTDUfbEMYMXk9N26N9bCOYb2paqssRQ==
"@storybook/client-logger@3.4.11": "@storybook/client-logger@3.4.11":
version "3.4.11" version "3.4.11"
resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-3.4.11.tgz#b592ea227f9f330f50925f7c1c266cc658cbc704" resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-3.4.11.tgz#b592ea227f9f330f50925f7c1c266cc658cbc704"
integrity sha512-rQ1f0ItOd8l4JX0cJpP976jU6c1+yOl1DfNcitL+1/dG4wwuvaB3j4rhe8VwTiFjYe6arm3hMeRzu5mUTVbSVg== integrity sha512-rQ1f0ItOd8l4JX0cJpP976jU6c1+yOl1DfNcitL+1/dG4wwuvaB3j4rhe8VwTiFjYe6arm3hMeRzu5mUTVbSVg==
"@storybook/client-logger@4.0.0-rc.0": "@storybook/client-logger@4.0.0-rc.1":
version "4.0.0-rc.0" version "4.0.0-rc.1"
resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-4.0.0-rc.0.tgz#6f49c36dcc83e3d5b8949975d4c7836a5bca9391" resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-4.0.0-rc.1.tgz#f60cce37bba545b2bbf8b3b98e5f955f2cb9e6b6"
integrity sha512-EYfoWjlQ5oJTIA8nbNW84n0D39YD4lHRo7jM34GgYCXLeuZQYLxV9FqbedZlFCFny8CSJEHWPeLGzn0DEW+GxQ== integrity sha512-tT3gMQELEA1N7iqKb5lL74JlEa5pOXHIVGK5PuF72Eh9t4YU3emAt2nHEtfYdkQnjP1PrAvyOgjCtRdrtLVKEw==
"@storybook/components@3.4.11", "@storybook/components@^3.4.11": "@storybook/components@3.4.11", "@storybook/components@^3.4.11":
version "3.4.11" version "3.4.11"
@ -1282,10 +1290,10 @@
glamorous "^4.12.1" glamorous "^4.12.1"
prop-types "^15.6.1" prop-types "^15.6.1"
"@storybook/components@4.0.0-rc.0", "@storybook/components@^4.0.0-rc.0": "@storybook/components@4.0.0-rc.1", "@storybook/components@^4.0.0-rc.0":
version "4.0.0-rc.0" version "4.0.0-rc.1"
resolved "https://registry.yarnpkg.com/@storybook/components/-/components-4.0.0-rc.0.tgz#69eeb4a87e401351a13aaad53e4a06bb2e8f5a94" resolved "https://registry.yarnpkg.com/@storybook/components/-/components-4.0.0-rc.1.tgz#666a2822d57a2fae32f1ef262dca68e04f6bb6d8"
integrity sha512-1NG1mKkIv5aiFM9fQz+wZP32/XpUhYe2NqrWrdxBNEla9prAKByol+RKXk/dJUyYBXSQVjSDgoVjDnOW0ZPitQ== integrity sha512-Y/AQGvTXy2iKumtYpJtXKdt21p/1pZoL2NXNZ8RXbONWfFcosnmIWGkFM0xYD613MWD9SoAZGtFmxWrQZSu/2Q==
dependencies: dependencies:
"@emotion/core" "^0.13.1" "@emotion/core" "^0.13.1"
"@emotion/provider" "^0.11.2" "@emotion/provider" "^0.11.2"
@ -1298,10 +1306,10 @@
react-textarea-autosize "^7.0.4" react-textarea-autosize "^7.0.4"
render-fragment "^0.1.1" render-fragment "^0.1.1"
"@storybook/core-events@4.0.0-rc.0": "@storybook/core-events@4.0.0-rc.1":
version "4.0.0-rc.0" version "4.0.0-rc.1"
resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-4.0.0-rc.0.tgz#c88d009ce2da5d533b85c6174e5d9b2a3218fcee" resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-4.0.0-rc.1.tgz#9f523c9ad1e66ce2dde021d449d1911534b61eee"
integrity sha512-Lv3XSC70zN0icdQhD9MxjZKgGJoosK7OCYDzJHNlrkveQRVctiyC+CTeRFwTBfmIj6LM3Lts7MFga+j2u6MAgg== integrity sha512-Whma1DtNRJmQ8ol5RTYw7ZBLSA+yNbmtFpyTgQ37MQDQRpjFWt3DsHWC1vLWQC0M14Dh6K5fcAxo6hIU9zxG+A==
"@storybook/core@3.4.11": "@storybook/core@3.4.11":
version "3.4.11" version "3.4.11"
@ -1336,10 +1344,10 @@
webpack-dev-middleware "^1.12.2" webpack-dev-middleware "^1.12.2"
webpack-hot-middleware "^2.22.1" webpack-hot-middleware "^2.22.1"
"@storybook/core@4.0.0-rc.0": "@storybook/core@4.0.0-rc.1":
version "4.0.0-rc.0" version "4.0.0-rc.1"
resolved "https://registry.yarnpkg.com/@storybook/core/-/core-4.0.0-rc.0.tgz#144ef80bcc9026f402c3a2407f1ac55a9a76ee1e" resolved "https://registry.yarnpkg.com/@storybook/core/-/core-4.0.0-rc.1.tgz#abbaab93d7dfefb71e558adcdd35774d85569901"
integrity sha512-0rtwTV0Dai1+GbzFPfnUBn+tHABVwPK+Gl1tcg4OZ0/cEhA7EQ1lW2BYwFnQMj6QggTTlqxFEkgC+R6pU8Pv3Q== integrity sha512-2R57gkDTQ9BXsBc1p0+stEpOLc4p5LpocyeIcIONYBjcI54i+aQXDC4WamaGRVFVlrZh3xe2BUmRqw9owJLlaQ==
dependencies: dependencies:
"@babel/plugin-proposal-class-properties" "^7.1.0" "@babel/plugin-proposal-class-properties" "^7.1.0"
"@babel/plugin-transform-regenerator" "^7.0.0" "@babel/plugin-transform-regenerator" "^7.0.0"
@ -1349,19 +1357,20 @@
"@emotion/core" "^0.13.1" "@emotion/core" "^0.13.1"
"@emotion/provider" "^0.11.2" "@emotion/provider" "^0.11.2"
"@emotion/styled" "^0.10.6" "@emotion/styled" "^0.10.6"
"@storybook/addons" "4.0.0-rc.0" "@storybook/addons" "4.0.0-rc.1"
"@storybook/channel-postmessage" "4.0.0-rc.0" "@storybook/channel-postmessage" "4.0.0-rc.1"
"@storybook/client-logger" "4.0.0-rc.0" "@storybook/client-logger" "4.0.0-rc.1"
"@storybook/core-events" "4.0.0-rc.0" "@storybook/core-events" "4.0.0-rc.1"
"@storybook/node-logger" "4.0.0-rc.0" "@storybook/node-logger" "4.0.0-rc.1"
"@storybook/ui" "4.0.0-rc.0" "@storybook/ui" "4.0.0-rc.1"
airbnb-js-shims "^1 || ^2" airbnb-js-shims "^1 || ^2"
autoprefixer "^9.2.0" autoprefixer "^9.2.1"
babel-plugin-macros "^2.4.2" babel-plugin-macros "^2.4.2"
babel-preset-minify "^0.5.0" babel-preset-minify "^0.5.0"
boxen "^2.0.0" boxen "^2.0.0"
case-sensitive-paths-webpack-plugin "^2.1.2" case-sensitive-paths-webpack-plugin "^2.1.2"
chalk "^2.4.1" chalk "^2.4.1"
cli-table3 "0.5.1"
commander "^2.19.0" commander "^2.19.0"
common-tags "^1.8.0" common-tags "^1.8.0"
core-js "^2.5.7" core-js "^2.5.7"
@ -1395,7 +1404,6 @@
shelljs "^0.8.2" shelljs "^0.8.2"
style-loader "^0.23.1" style-loader "^0.23.1"
svg-url-loader "^2.3.2" svg-url-loader "^2.3.2"
tty-table "^2.6.9"
url-loader "^1.1.2" url-loader "^1.1.2"
webpack "^4.20.2" webpack "^4.20.2"
webpack-dev-middleware "^3.4.0" webpack-dev-middleware "^3.4.0"
@ -1417,10 +1425,10 @@
dependencies: dependencies:
npmlog "^4.1.2" npmlog "^4.1.2"
"@storybook/node-logger@4.0.0-rc.0": "@storybook/node-logger@4.0.0-rc.1":
version "4.0.0-rc.0" version "4.0.0-rc.1"
resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-4.0.0-rc.0.tgz#c2677eb16cb0619b3a07b79102e303f4336c55c9" resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-4.0.0-rc.1.tgz#655058bc388936bddc25fb5510c626123db9d507"
integrity sha512-7jV8Ae5sZslfIDeR1L0atsJX+M2GR+JergWa7hz0f0tzWPCzKZhOCp3liNjrAqA0givXNkLZdUf3OlxZ0gr8rw== integrity sha512-66Z9yUm/97NnJOzTl+j3U/dAz+yuXmfcgbyiYnDp5Ed5Lm4Cr5mmVXOKxs8TP9fzQSA6kHUs6fTJvHGIkDgdBA==
dependencies: dependencies:
"@babel/runtime" "^7.1.2" "@babel/runtime" "^7.1.2"
npmlog "^4.1.2" npmlog "^4.1.2"
@ -1507,15 +1515,15 @@
webpack-hot-middleware "^2.22.1" webpack-hot-middleware "^2.22.1"
"@storybook/react@^4.0.0-rc.0": "@storybook/react@^4.0.0-rc.0":
version "4.0.0-rc.0" version "4.0.0-rc.1"
resolved "https://registry.yarnpkg.com/@storybook/react/-/react-4.0.0-rc.0.tgz#b2345d787d7bc554d07947920ff347d08c32c119" resolved "https://registry.yarnpkg.com/@storybook/react/-/react-4.0.0-rc.1.tgz#eecd82eb1b05499b8aae0ceff082cc9eb1787681"
integrity sha512-aGDNqu1Y4mnQyU7adonHYI7yyHuIvjgxzSYz0kT9XeT+l/XG+N8r1uCrbnA4BxdSJV/B85kjmeV9ct0NuIRhpw== integrity sha512-Za9HQdBErDCiSQOdRHcArPDwYZ7+iOXxZCXnedIdraihVuP3mnbfqnvMLLFIYAZwrDM8Bf3+FUB+vZKTlT8Kug==
dependencies: dependencies:
"@babel/preset-flow" "^7.0.0" "@babel/preset-flow" "^7.0.0"
"@babel/preset-react" "^7.0.0" "@babel/preset-react" "^7.0.0"
"@babel/runtime" "^7.1.2" "@babel/runtime" "^7.1.2"
"@emotion/styled" "^0.10.6" "@emotion/styled" "^0.10.6"
"@storybook/core" "4.0.0-rc.0" "@storybook/core" "4.0.0-rc.1"
babel-plugin-react-docgen "^2.0.0" babel-plugin-react-docgen "^2.0.0"
common-tags "^1.8.0" common-tags "^1.8.0"
global "^4.3.2" global "^4.3.2"
@ -1550,16 +1558,16 @@
react-split-pane "^0.1.77" react-split-pane "^0.1.77"
react-treebeard "^2.1.0" react-treebeard "^2.1.0"
"@storybook/ui@4.0.0-rc.0": "@storybook/ui@4.0.0-rc.1":
version "4.0.0-rc.0" version "4.0.0-rc.1"
resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-4.0.0-rc.0.tgz#5a72cfbb42af9b74cb1e988d0e0d8a999de146f2" resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-4.0.0-rc.1.tgz#ca21412ccf9175b200ed1770972c8074e6aff32c"
integrity sha512-L5IiRqIRXv7tObLVJrO+J1zXdw/jsnCwq2hlGBa1dJ2w1N1sC00SxzekG7p4JmAln41lkvozlQNyRj6SpSFOig== integrity sha512-njHYoYm8TZ2wmtcMEoot1cUPhzLuoqk0QYr6C23KTMACVWCeoMF1i42dMcF2DBPSwbKALv0dSH4qDGouSjQH7g==
dependencies: dependencies:
"@emotion/core" "^0.13.1" "@emotion/core" "^0.13.1"
"@emotion/provider" "^0.11.2" "@emotion/provider" "^0.11.2"
"@emotion/styled" "^0.10.6" "@emotion/styled" "^0.10.6"
"@storybook/components" "4.0.0-rc.0" "@storybook/components" "4.0.0-rc.1"
"@storybook/core-events" "4.0.0-rc.0" "@storybook/core-events" "4.0.0-rc.1"
"@storybook/mantra-core" "^1.7.2" "@storybook/mantra-core" "^1.7.2"
"@storybook/podda" "^1.2.3" "@storybook/podda" "^1.2.3"
"@storybook/react-komposer" "^2.0.4" "@storybook/react-komposer" "^2.0.4"
@ -1858,9 +1866,9 @@ agent-base@4, agent-base@^4.1.0, agent-base@~4.2.0:
es6-promisify "^5.0.0" es6-promisify "^5.0.0"
agentkeepalive@^3.4.1: agentkeepalive@^3.4.1:
version "3.5.1" version "3.5.2"
resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-3.5.1.tgz#4eba75cf2ad258fc09efd506cdb8d8c2971d35a4" resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-3.5.2.tgz#a113924dd3fa24a0bc3b78108c450c2abee00f67"
integrity sha512-Cte/sTY9/XcygXjJ0q58v//SnEQ7ViWExKyJpLJlLqomDbQyMLh6Is4KuWJ/wmxzhiwkGRple7Gqv1zf6Syz5w== integrity sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==
dependencies: dependencies:
humanize-ms "^1.2.1" humanize-ms "^1.2.1"
@ -1976,11 +1984,6 @@ ansi-regex@^3.0.0:
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
ansi-regex@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.0.0.tgz#70de791edf021404c3fd615aa89118ae0432e5a9"
integrity sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==
ansi-styles@^2.2.1: ansi-styles@^2.2.1:
version "2.2.1" version "2.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
@ -2376,13 +2379,13 @@ autoprefixer@^7.2.6:
postcss "^6.0.17" postcss "^6.0.17"
postcss-value-parser "^3.2.3" postcss-value-parser "^3.2.3"
autoprefixer@^9.0.0, autoprefixer@^9.2.0: autoprefixer@^9.0.0, autoprefixer@^9.2.1:
version "9.2.0" version "9.2.1"
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.2.0.tgz#e46f893882b19a160370e7bcd3ec6bbeaace4d10" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.2.1.tgz#1f2f1179ceed4711b7ab064dbd5c3f9e83d9dc62"
integrity sha512-OuxUyTvzRe9EvKyouPqfr8QUkQ0pH400NOFzI1LFINO8zwgJr7ZTybLql03P//LjR0iWile2lCoy2vRTRSFpMw== integrity sha512-qlK4GnZk8OXLK+8kBn9ttfzu2PkhRe8kVYoWcc9HsrZEMWiBkQuRYdXyJg9cIIKxfMzhh6UbvlJ1CsstMIzxwA==
dependencies: dependencies:
browserslist "^4.2.1" browserslist "^4.2.1"
caniuse-lite "^1.0.30000890" caniuse-lite "^1.0.30000892"
normalize-range "^0.1.2" normalize-range "^0.1.2"
num2fraction "^1.2.2" num2fraction "^1.2.2"
postcss "^7.0.5" postcss "^7.0.5"
@ -2422,7 +2425,7 @@ babel-code-frame@6.26.0, babel-code-frame@^6.26.0:
esutils "^2.0.2" esutils "^2.0.2"
js-tokens "^3.0.2" js-tokens "^3.0.2"
babel-core@^6.0.0, babel-core@^6.26.0, babel-core@^6.26.3: babel-core@^6.0.0, babel-core@^6.26.0:
version "6.26.3" version "6.26.3"
resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207"
integrity sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA== integrity sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==
@ -4013,13 +4016,6 @@ brcast@^3.0.0:
resolved "https://registry.yarnpkg.com/brcast/-/brcast-3.0.1.tgz#6256a8349b20de9eed44257a9b24d71493cd48dd" resolved "https://registry.yarnpkg.com/brcast/-/brcast-3.0.1.tgz#6256a8349b20de9eed44257a9b24d71493cd48dd"
integrity sha512-eI3yqf9YEqyGl9PCNTR46MGvDylGtaHjalcz6Q3fAPnP/PhpKkkve52vFdfGpwp4VUvK6LUr4TQN+2stCrEwTg== integrity sha512-eI3yqf9YEqyGl9PCNTR46MGvDylGtaHjalcz6Q3fAPnP/PhpKkkve52vFdfGpwp4VUvK6LUr4TQN+2stCrEwTg==
breakword@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/breakword/-/breakword-1.0.3.tgz#71e091bbb78bb4ef003cf3ed2b2e062c6927f7dd"
integrity sha1-ceCRu7eLtO8APPPtKy4GLGkn990=
dependencies:
wcwidth "^1.0.1"
brorand@^1.0.1: brorand@^1.0.1:
version "1.1.0" version "1.1.0"
resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
@ -4230,7 +4226,7 @@ buffer@^4.3.0:
ieee754 "^1.1.4" ieee754 "^1.1.4"
isarray "^1.0.0" isarray "^1.0.0"
buffer@^5.1.0: buffer@^5.0.3, buffer@^5.1.0:
version "5.2.1" version "5.2.1"
resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.2.1.tgz#dd57fa0f109ac59c602479044dca7b8b3d0b71d6" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.2.1.tgz#dd57fa0f109ac59c602479044dca7b8b3d0b71d6"
integrity sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg== integrity sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==
@ -4294,9 +4290,9 @@ byline@^5.0.0:
integrity sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE= integrity sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=
byte-size@^4.0.3: byte-size@^4.0.3:
version "4.0.3" version "4.0.4"
resolved "https://registry.yarnpkg.com/byte-size/-/byte-size-4.0.3.tgz#b7c095efc68eadf82985fccd9a2df43a74fa2ccd" resolved "https://registry.yarnpkg.com/byte-size/-/byte-size-4.0.4.tgz#29d381709f41aae0d89c631f1c81aec88cd40b23"
integrity sha512-JGC3EV2bCzJH/ENSh3afyJrH4vwxbHTuO5ljLoI5+2iJOcEpMgP8T782jH9b5qGxf2mSUIp1lfGnfKNrRHpvVg== integrity sha512-82RPeneC6nqCdSwCX2hZUz3JPOvN5at/nTEw/CMf05Smu3Hrpo9Psb7LjN+k+XndNArG1EY8L4+BM3aTM4BCvw==
bytes@3.0.0: bytes@3.0.0:
version "3.0.0" version "3.0.0"
@ -4445,14 +4441,14 @@ caniuse-api@^1.5.2:
lodash.uniq "^4.5.0" lodash.uniq "^4.5.0"
caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639, caniuse-db@^1.0.30000889: caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639, caniuse-db@^1.0.30000889:
version "1.0.30000892" version "1.0.30000893"
resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000892.tgz#3a03ecec4283caa5dac49facf024d13113c4499f" resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000893.tgz#2781b8d2ce50d8dd9d091425461b528ca4556c07"
integrity sha512-as/DXjiFJg051+GSJLmkY0hckkVsmTB4nuDUPLwK1sMHk94XsYuocNJuU0wdOpobwI/3sqNeW5ETebvdPGvwBQ== integrity sha512-JfGWsX2JtyXnjGAAjXMHiv4OEGFZvArB5pxdd5oa5xCuEYYN1rhBMwogMIKnKoUBi6lKRyO4JQAPJwqchv20Yg==
caniuse-lite@^1.0.30000792, caniuse-lite@^1.0.30000805, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000884, caniuse-lite@^1.0.30000890: caniuse-lite@^1.0.30000792, caniuse-lite@^1.0.30000805, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000884, caniuse-lite@^1.0.30000890, caniuse-lite@^1.0.30000892:
version "1.0.30000892" version "1.0.30000893"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000892.tgz#344d2b51ee3ff5977537da4aa449c90eec40b759" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000893.tgz#284b20932bd41b93e21626975f2050cb01561986"
integrity sha512-X9rxMaWZNbJB5qjkDqPtNv/yfViTeUL6ILk0QJNxLV3OhKC5Acn5vxsuUvllR6B48mog8lmS+whwHq/QIYSL9w== integrity sha512-kOddHcTEef+NgN/fs0zmX2brHTNATVOWMEIhlZHCuwQRtXobjSw9pAECc44Op4bTBcavRjkLaPrGomknH7+Jvg==
capture-exit@^1.2.0: capture-exit@^1.2.0:
version "1.2.0" version "1.2.0"
@ -4712,7 +4708,7 @@ cli-cursor@^2.1.0:
dependencies: dependencies:
restore-cursor "^2.0.0" restore-cursor "^2.0.0"
cli-table3@^0.5.0: cli-table3@0.5.1, cli-table3@^0.5.0:
version "0.5.1" version "0.5.1"
resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.5.1.tgz#0252372d94dfc40dbd8df06005f48f31f656f202" resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.5.1.tgz#0252372d94dfc40dbd8df06005f48f31f656f202"
integrity sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw== integrity sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==
@ -4915,14 +4911,7 @@ columnify@~1.5.4:
strip-ansi "^3.0.0" strip-ansi "^3.0.0"
wcwidth "^1.0.0" wcwidth "^1.0.0"
combined-stream@1.0.6: combined-stream@^1.0.6, combined-stream@~1.0.6:
version "1.0.6"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818"
integrity sha1-cj599ugBrFYTETp+RFqbactjKBg=
dependencies:
delayed-stream "~1.0.0"
combined-stream@~1.0.6:
version "1.0.7" version "1.0.7"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.7.tgz#2d1d24317afb8abe95d6d2c0b07b57813539d828"
integrity sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w== integrity sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==
@ -5021,6 +5010,11 @@ compression@^1.5.2:
safe-buffer "5.1.2" safe-buffer "5.1.2"
vary "~1.1.2" vary "~1.1.2"
compute-scroll-into-view@^1.0.9:
version "1.0.11"
resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.11.tgz#7ff0a57f9aeda6314132d8994cce7aeca794fecf"
integrity sha512-uUnglJowSe0IPmWOdDtrlHXof5CTIJitfJEyITHBW6zDVOGu9Pjk5puaLM73SLcwak0L4hEjO7Td88/a6P5i7A==
concat-map@0.0.1: concat-map@0.0.1:
version "0.0.1" version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
@ -5087,6 +5081,15 @@ connect-history-api-fallback@^1.3.0:
resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz#b06873934bc5e344fef611a196a6faae0aee015a" resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz#b06873934bc5e344fef611a196a6faae0aee015a"
integrity sha1-sGhzk0vF40T+9hGhlqb6rgruAVo= integrity sha1-sGhzk0vF40T+9hGhlqb6rgruAVo=
connected-react-router@^4.5.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/connected-react-router/-/connected-react-router-4.5.0.tgz#b6f021cc284a244fbee70e16e5ff0f2a4613e3d3"
integrity sha512-SBBmAZrtmw4y7Rkl2PCct8lN/DuCftl7QSAFLgFyjjuYkeJKAzAvQjzNNNE4R3j2+6a4TUiv8qselxQ4+6H5eA==
dependencies:
immutable "^3.8.1"
redux-seamless-immutable "^0.4.0"
seamless-immutable "^7.1.3"
console-browserify@1.1.x, console-browserify@^1.1.0: console-browserify@1.1.x, console-browserify@^1.1.0:
version "1.1.0" version "1.1.0"
resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10"
@ -5565,33 +5568,6 @@ csstype@^2.2.0:
resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.5.7.tgz#bf9235d5872141eccfb2d16d82993c6b149179ff" resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.5.7.tgz#bf9235d5872141eccfb2d16d82993c6b149179ff"
integrity sha512-Nt5VDyOTIIV4/nRFswoCKps1R5CD1hkiyjBE9/thNaNZILLEviVw9yWQw15+O+CpNjQKB/uvdcxFFOrSflY3Yw== integrity sha512-Nt5VDyOTIIV4/nRFswoCKps1R5CD1hkiyjBE9/thNaNZILLEviVw9yWQw15+O+CpNjQKB/uvdcxFFOrSflY3Yw==
csv-generate@^2.2.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/csv-generate/-/csv-generate-2.2.2.tgz#c37808c5f3ead2deec940794073dd32d492adfd1"
integrity sha512-ETG8JGG0xOt2f1JzxrAcQONVc4+7srUdXeyLnow60ntBr+qiNCFTqi+ME6g0vZ4hMCbrwNrDPJPOYVznAeDDHQ==
csv-parse@^3.1.2:
version "3.1.3"
resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-3.1.3.tgz#b96227e85e308f685133cdb2b79ec9a03fde3c1c"
integrity sha512-fs+nzn0lU+e7uZHkY/SvEYiRT3PCvb746csfl238iUXh1D+gzzN4crzgZ7gkVDutoPWYwfrFSQaSAulSeynTlg==
csv-stringify@^4.3.1:
version "4.3.1"
resolved "https://registry.yarnpkg.com/csv-stringify/-/csv-stringify-4.3.1.tgz#7bee36f746ef555dd481a735a9e2938965f8478b"
integrity sha512-VRjPYIUzex5kfbsOY7LaJcNE2qMWGQQAanb3/Vv85WbOgA+dAfDNfwntRvv335icJgGYrnTX403WxJxRVpLDFA==
dependencies:
lodash.get "~4.4.2"
csv@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/csv/-/csv-4.0.0.tgz#c7de44b9a0fd47f7a10db24064519f642a7ce92d"
integrity sha512-rj3+HMMIKskeiipg0VkFSx7o8FhrNSfIb1nLT6AkJ0gx7mdGU5JsJGv4tmk0vl1jV/h/TfWJOwh1tpbbhVqNKA==
dependencies:
csv-generate "^2.2.2"
csv-parse "^3.1.2"
csv-stringify "^4.3.1"
stream-transform "^1.0.7"
currency-symbol-map@~4.0.3: currency-symbol-map@~4.0.3:
version "4.0.4" version "4.0.4"
resolved "https://registry.yarnpkg.com/currency-symbol-map/-/currency-symbol-map-4.0.4.tgz#3cfba625974dd3f86822d327ecbd10248695e95e" resolved "https://registry.yarnpkg.com/currency-symbol-map/-/currency-symbol-map-4.0.4.tgz#3cfba625974dd3f86822d327ecbd10248695e95e"
@ -5694,7 +5670,7 @@ debug@^4.0.0, debug@^4.0.1, debug@^4.1.0:
dependencies: dependencies:
ms "^2.1.1" ms "^2.1.1"
debuglog@*, debuglog@^1.0.1: debuglog@^1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492"
integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI= integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=
@ -6145,9 +6121,9 @@ dotenv@^6.0.0:
integrity sha512-/veDn2ztgRlB7gKmE3i9f6CmDIyXAy6d5nBq+whO9SLX+Zs1sXEgFLPi+aSuWqUuusMfbi84fT8j34fs1HaYUw== integrity sha512-/veDn2ztgRlB7gKmE3i9f6CmDIyXAy6d5nBq+whO9SLX+Zs1sXEgFLPi+aSuWqUuusMfbi84fT8j34fs1HaYUw==
downshift@^3.1.0: downshift@^3.1.0:
version "3.1.0" version "3.1.1"
resolved "https://registry.yarnpkg.com/downshift/-/downshift-3.1.0.tgz#3a7b4fc26e9d563c745db3a5172437239e0bb8a8" resolved "https://registry.yarnpkg.com/downshift/-/downshift-3.1.1.tgz#91e14d45d6ee3e239023cdfcc06248c7f5a1b2b2"
integrity sha512-lk6uBqobNfnumEitDp/GIAAgLK8ad2lHmieKpwZ8bvl7fDIXvJr/26P+CeI/vvQqrjo4YpBrijUNFr8Qqz1dxg== integrity sha512-teJ4ACfySJPC1+nOg6XqSMtCwjQkdXLfM2FlObr5FQAIR2r9TTFFDbXUTvzRA7mSJVf3FQZ/cx9i67Ox0iEy1Q==
dependencies: dependencies:
"@babel/runtime" "^7.1.2" "@babel/runtime" "^7.1.2"
compute-scroll-into-view "^1.0.9" compute-scroll-into-view "^1.0.9"
@ -6303,9 +6279,9 @@ electron-store@^2.0.0:
conf "^2.0.0" conf "^2.0.0"
electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.30, electron-to-chromium@^1.3.47, electron-to-chromium@^1.3.62, electron-to-chromium@^1.3.79: electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.30, electron-to-chromium@^1.3.47, electron-to-chromium@^1.3.62, electron-to-chromium@^1.3.79:
version "1.3.79" version "1.3.80"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.79.tgz#774718f06284a4bf8f578ac67e74508fe659f13a" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.80.tgz#e99ec7efe64c2c6a269d3885ff411ea88852fa53"
integrity sha512-LQdY3j4PxuUl6xfxiFruTSlCniTrTrzAd8/HfsLEMi0PUpaQ0Iy+Pr4N4VllDYjs0Hyu2lkTbvzqlG+PX9NsNw== integrity sha512-WClidEWEUNx7OfwXehB0qaxCuetjbKjev2SmXWgybWPLKAThBiMTF/2Pd8GSUDtoGOavxVzdkKwfFAPRSWlkLw==
electron-updater@^3.1.2: electron-updater@^3.1.2:
version "3.1.2" version "3.1.2"
@ -6323,9 +6299,9 @@ electron-updater@^3.1.2:
source-map-support "^0.5.9" source-map-support "^0.5.9"
electron@^3.0.4: electron@^3.0.4:
version "3.0.4" version "3.0.5"
resolved "https://registry.yarnpkg.com/electron/-/electron-3.0.4.tgz#9b45a0171ac424d4c134721c9cf2a891b99e80f2" resolved "https://registry.yarnpkg.com/electron/-/electron-3.0.5.tgz#5a6f105af3b6314636c7c27a25312602dd36eae6"
integrity sha512-GuZ4xCmV8wNNfkUAOdmOmgkYYaTQj5LATzc2i/b3MGhoXghnjECCgxo5yW+G2BeKM+R30cg69KA03tRzmIFxxQ== integrity sha512-rcHNbhSGfj80Av5p06LgIUxN8wQbrdx8yblikJamDezqxe0B11CJSEJuidz6TJoCRDZuWHt+P5xMAEhp92ZUcA==
dependencies: dependencies:
"@types/node" "^8.0.24" "@types/node" "^8.0.24"
electron-download "^4.1.0" electron-download "^4.1.0"
@ -7305,7 +7281,7 @@ fb-watchman@^2.0.0:
dependencies: dependencies:
bser "^2.0.0" bser "^2.0.0"
fbjs@^0.8.1, fbjs@^0.8.12, fbjs@^0.8.4, fbjs@^0.8.5, fbjs@^0.8.9: fbjs@^0.8.1, fbjs@^0.8.12, fbjs@^0.8.16, fbjs@^0.8.4, fbjs@^0.8.5, fbjs@^0.8.9:
version "0.8.17" version "0.8.17"
resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd" resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd"
integrity sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90= integrity sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=
@ -7617,12 +7593,12 @@ forever-agent@~0.6.1:
integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
form-data@~2.3.2: form-data@~2.3.2:
version "2.3.2" version "2.3.3"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
integrity sha1-SXBJi+YEwgwAXU9cI67NIda0kJk= integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
dependencies: dependencies:
asynckit "^0.4.0" asynckit "^0.4.0"
combined-stream "1.0.6" combined-stream "^1.0.6"
mime-types "^2.1.12" mime-types "^2.1.12"
format@^0.2.2: format@^0.2.2:
@ -8778,7 +8754,7 @@ import-local@^2.0.0:
pkg-dir "^3.0.0" pkg-dir "^3.0.0"
resolve-cwd "^2.0.0" resolve-cwd "^2.0.0"
imurmurhash@*, imurmurhash@^0.1.4: imurmurhash@^0.1.4:
version "0.1.4" version "0.1.4"
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
@ -10511,11 +10487,6 @@ lodash-es@^4.17.5, lodash-es@^4.2.1:
resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.11.tgz#145ab4a7ac5c5e52a3531fb4f310255a152b4be0" resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.11.tgz#145ab4a7ac5c5e52a3531fb4f310255a152b4be0"
integrity sha512-DHb1ub+rMjjrxqlB3H56/6MXtm1lSksDp2rA2cNWjG8mlDUYFhUj3Di2Zn5IwSU87xLv8tNIQ7sSwE/YOX/D/Q== integrity sha512-DHb1ub+rMjjrxqlB3H56/6MXtm1lSksDp2rA2cNWjG8mlDUYFhUj3Di2Zn5IwSU87xLv8tNIQ7sSwE/YOX/D/Q==
lodash._baseindexof@*:
version "3.1.0"
resolved "https://registry.yarnpkg.com/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz#fe52b53a1c6761e42618d654e4a25789ed61822c"
integrity sha1-/lK1OhxnYeQmGNZU5KJXie1hgiw=
lodash._baseuniq@~4.6.0: lodash._baseuniq@~4.6.0:
version "4.6.0" version "4.6.0"
resolved "https://registry.yarnpkg.com/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz#0ebb44e456814af7905c6212fa2c9b2d51b841e8" resolved "https://registry.yarnpkg.com/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz#0ebb44e456814af7905c6212fa2c9b2d51b841e8"
@ -10524,29 +10495,12 @@ lodash._baseuniq@~4.6.0:
lodash._createset "~4.0.0" lodash._createset "~4.0.0"
lodash._root "~3.0.0" lodash._root "~3.0.0"
lodash._bindcallback@*:
version "3.0.1"
resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e"
integrity sha1-5THCdkTPi1epnhftlbNcdIeJOS4=
lodash._cacheindexof@*:
version "3.0.2"
resolved "https://registry.yarnpkg.com/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz#3dc69ac82498d2ee5e3ce56091bafd2adc7bde92"
integrity sha1-PcaayCSY0u5ePOVgkbr9Ktx73pI=
lodash._createcache@*:
version "3.1.2"
resolved "https://registry.yarnpkg.com/lodash._createcache/-/lodash._createcache-3.1.2.tgz#56d6a064017625e79ebca6b8018e17440bdcf093"
integrity sha1-VtagZAF2JeeevKa4AY4XRAvc8JM=
dependencies:
lodash._getnative "^3.0.0"
lodash._createset@~4.0.0: lodash._createset@~4.0.0:
version "4.0.3" version "4.0.3"
resolved "https://registry.yarnpkg.com/lodash._createset/-/lodash._createset-4.0.3.tgz#0f4659fbb09d75194fa9e2b88a6644d363c9fe26" resolved "https://registry.yarnpkg.com/lodash._createset/-/lodash._createset-4.0.3.tgz#0f4659fbb09d75194fa9e2b88a6644d363c9fe26"
integrity sha1-D0ZZ+7CddRlPqeK4imZE02PJ/iY= integrity sha1-D0ZZ+7CddRlPqeK4imZE02PJ/iY=
lodash._getnative@*, lodash._getnative@^3.0.0: lodash._getnative@^3.0.0:
version "3.9.1" version "3.9.1"
resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5"
integrity sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U= integrity sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=
@ -10591,7 +10545,7 @@ lodash.flattendeep@^4.4.0:
resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2"
integrity sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI= integrity sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=
lodash.get@^4.4.2, lodash.get@~4.4.2: lodash.get@^4.4.2:
version "4.4.2" version "4.4.2"
resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=
@ -10655,11 +10609,6 @@ lodash.pick@4.4.0, lodash.pick@^4.4.0:
resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3"
integrity sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM= integrity sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=
lodash.restparam@*:
version "3.6.1"
resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805"
integrity sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=
lodash.snakecase@4.1.1: lodash.snakecase@4.1.1:
version "4.1.1" version "4.1.1"
resolved "https://registry.yarnpkg.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz#39d714a35357147837aefd64b5dcbb16becd8f8d" resolved "https://registry.yarnpkg.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz#39d714a35357147837aefd64b5dcbb16becd8f8d"
@ -12734,9 +12683,9 @@ pn@^1.1.0:
integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==
portfinder@^1.0.9: portfinder@^1.0.9:
version "1.0.17" version "1.0.18"
resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.17.tgz#a8a1691143e46c4735edefcf4fbcccedad26456a" resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.18.tgz#cf1106ff336fd4329b7ce32fda7d17d62c6bcf37"
integrity sha512-syFcRIRzVI1BoEFOCaAiizwDolh1S1YXSodsVhncbhjzjZQulhczNRbqnUl9N31Q4dKGOXsNDqxC2BWBgSMqeQ== integrity sha512-KanzLOERzKoX3En5yTiV8K/arnU1ykYVokmtEn0PgCzqKZG9489tqW8ifp9+v3/VJZ5YDjvDt/PAP5WaPgk7FA==
dependencies: dependencies:
async "^1.5.2" async "^1.5.2"
debug "^2.2.0" debug "^2.2.0"
@ -13280,9 +13229,9 @@ progress@^1.1.8:
integrity sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74= integrity sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=
progress@^2.0.0: progress@^2.0.0:
version "2.0.0" version "2.0.1"
resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.1.tgz#c9242169342b1c29d275889c95734621b1952e31"
integrity sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8= integrity sha512-OE+a6vzqazc+K6LxJrX5UPyKFvGnL5CYmq2jFGNIBWHpc4QyE49/YOumcrpQFJpfejmvRtbJzgO1zPmMCqlbBg==
promise-inflight@^1.0.1, promise-inflight@~1.0.1: promise-inflight@^1.0.1, promise-inflight@~1.0.1:
version "1.0.1" version "1.0.1"
@ -13887,6 +13836,11 @@ react-router-dom@^4.3.1:
react-router "^4.3.1" react-router "^4.3.1"
warning "^4.0.1" warning "^4.0.1"
react-router-redux@^4.0.0:
version "4.0.8"
resolved "https://registry.yarnpkg.com/react-router-redux/-/react-router-redux-4.0.8.tgz#227403596b5151e182377dab835b5d45f0f8054e"
integrity sha1-InQDWWtRUeGCN32rg1tdRfD4BU4=
react-router-redux@^5.0.0-alpha.9: react-router-redux@^5.0.0-alpha.9:
version "5.0.0-alpha.9" version "5.0.0-alpha.9"
resolved "https://registry.yarnpkg.com/react-router-redux/-/react-router-redux-5.0.0-alpha.9.tgz#825431516e0e6f1fd93b8807f6bd595e23ec3d10" resolved "https://registry.yarnpkg.com/react-router-redux/-/react-router-redux-5.0.0-alpha.9.tgz#825431516e0e6f1fd93b8807f6bd595e23ec3d10"
@ -14217,7 +14171,7 @@ readable-stream@~2.1.5:
string_decoder "~0.10.x" string_decoder "~0.10.x"
util-deprecate "~1.0.1" util-deprecate "~1.0.1"
readdir-scoped-modules@*, readdir-scoped-modules@^1.0.0: readdir-scoped-modules@^1.0.0:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz#9fafa37d286be5d92cbaebdee030dc9b5f406747" resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz#9fafa37d286be5d92cbaebdee030dc9b5f406747"
integrity sha1-n6+jfShr5dksuuve4DDcm19AZ0c= integrity sha1-n6+jfShr5dksuuve4DDcm19AZ0c=
@ -14347,6 +14301,14 @@ redux-logger@^3.0.6:
dependencies: dependencies:
deep-diff "^0.3.5" deep-diff "^0.3.5"
redux-seamless-immutable@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/redux-seamless-immutable/-/redux-seamless-immutable-0.4.0.tgz#b50f8680ecc5ef04021551267f78fa1ffd3cf985"
integrity sha512-/oS3fhrize9D3RSHemgJxVllohybRrad5IjccotFy8Ni4IKAPTtX1mqszpiCIl12+7v0dNqBpq6ES6R236AliQ==
dependencies:
react-router-redux "^4.0.0"
seamless-immutable "^7.1.2"
redux-thunk@^2.3.0: redux-thunk@^2.3.0:
version "2.3.0" version "2.3.0"
resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.3.0.tgz#51c2c19a185ed5187aaa9a2d08b666d0d6467622" resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.3.0.tgz#51c2c19a185ed5187aaa9a2d08b666d0d6467622"
@ -15025,6 +14987,11 @@ scss-tokenizer@^0.2.3:
js-base64 "^2.1.8" js-base64 "^2.1.8"
source-map "^0.4.2" source-map "^0.4.2"
seamless-immutable@^7.1.2, seamless-immutable@^7.1.3:
version "7.1.4"
resolved "https://registry.yarnpkg.com/seamless-immutable/-/seamless-immutable-7.1.4.tgz#6e9536def083ddc4dea0207d722e0e80d0f372f8"
integrity sha512-XiUO1QP4ki4E2PHegiGAlu6r82o5A+6tRh7IkGGTVg/h+UoeX4nFBeCGPOhb4CYjvkqsfm/TUtvOMYC1xmV30A==
select-hose@^2.0.0: select-hose@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"
@ -15289,16 +15256,6 @@ smart-buffer@^4.0.1:
resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.0.1.tgz#07ea1ca8d4db24eb4cac86537d7d18995221ace3" resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.0.1.tgz#07ea1ca8d4db24eb4cac86537d7d18995221ace3"
integrity sha512-RFqinRVJVcCAL9Uh1oVqE6FZkqsyLiVOYEZ20TqIOjuX7iFVJ+zsbs4RIghnw/pTs7mZvt8ZHhvm1ZUrR4fykg== integrity sha512-RFqinRVJVcCAL9Uh1oVqE6FZkqsyLiVOYEZ20TqIOjuX7iFVJ+zsbs4RIghnw/pTs7mZvt8ZHhvm1ZUrR4fykg==
smartwrap@^1.0.9:
version "1.0.9"
resolved "https://registry.yarnpkg.com/smartwrap/-/smartwrap-1.0.9.tgz#7001aa8331482b6fc5021574d68ef04460bb21ca"
integrity sha1-cAGqgzFIK2/FAhV01o7wRGC7Ico=
dependencies:
breakword "^1.0.3"
merge "^1.2.0"
wcwidth "^1.0.1"
yargs "^8.0.1"
snapdragon-node@^2.0.1: snapdragon-node@^2.0.1:
version "2.1.1" version "2.1.1"
resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
@ -15718,11 +15675,6 @@ stream-shift@^1.0.0:
resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952"
integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=
stream-transform@^1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/stream-transform/-/stream-transform-1.0.7.tgz#5135dd6c29941a1179212da6083be2cacdebc15a"
integrity sha512-bp27sM5lf75yOZAM0HfKgN7jub2FApKmXUVYnN/zuw4raqtinM3muxzd+ny262opnKvAg5PnMO66N4Eq928ayw==
strict-uri-encode@^1.0.0: strict-uri-encode@^1.0.0:
version "1.1.0" version "1.1.0"
resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
@ -15851,13 +15803,6 @@ strip-ansi@4.0.0, strip-ansi@^4.0.0:
dependencies: dependencies:
ansi-regex "^3.0.0" ansi-regex "^3.0.0"
strip-ansi@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.0.0.tgz#f78f68b5d0866c20b2c9b8c61b5298508dc8756f"
integrity sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==
dependencies:
ansi-regex "^4.0.0"
strip-bom@3.0.0, strip-bom@^3.0.0: strip-bom@3.0.0, strip-bom@^3.0.0:
version "3.0.0" version "3.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
@ -15946,9 +15891,9 @@ styled-components@^3.4.5:
supports-color "^3.2.3" supports-color "^3.2.3"
styled-components@^4.0.0-beta.10: styled-components@^4.0.0-beta.10:
version "4.0.0" version "4.0.2"
resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-4.0.0.tgz#bd37d79408246302051cd63f52a3539f70aa3197" resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-4.0.2.tgz#7d4409ada019cdd34c25ba68c4577ea95dbcf0c5"
integrity sha512-+SXoKjaXmApQHjQXNY5pxuRpnabR7vnL6J59Gtcj118ll8gsg9MM8gkjWu6Ahc0NB9kLjh3O9Ho2iun6uLunVA== integrity sha512-VTNCmBLNx0OS2GRaYk0yRAnQVDBCGnnxGkR6+BCmkKVv9VgICO7bEn3UDjlnwCw8hgIyecMzVLOPl+p1zqUxog==
dependencies: dependencies:
"@emotion/is-prop-valid" "^0.6.8" "@emotion/is-prop-valid" "^0.6.8"
babel-plugin-styled-components ">= 1" babel-plugin-styled-components ">= 1"
@ -16181,6 +16126,13 @@ symbol.prototype.description@^1.0.0:
dependencies: dependencies:
has-symbols "^1.0.0" has-symbols "^1.0.0"
system-components@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/system-components/-/system-components-3.0.1.tgz#a4e7d8a7b184aa0612245a4f1bd54b408132e0c0"
integrity sha512-9awqnq7esNnqgmOOqU4i0w/9/YsJFm+1IS9lAyuk6a52IrcdToFqH7vFJmnr56FNLsXjOFohonmeHs0QOmvWeQ==
dependencies:
styled-system "^3.0.1"
table@^4.0.2: table@^4.0.2:
version "4.0.3" version "4.0.3"
resolved "https://registry.yarnpkg.com/table/-/table-4.0.3.tgz#00b5e2b602f1794b9acaf9ca908a76386a7813bc" resolved "https://registry.yarnpkg.com/table/-/table-4.0.3.tgz#00b5e2b602f1794b9acaf9ca908a76386a7813bc"
@ -16550,20 +16502,6 @@ tty-browserify@0.0.0:
resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=
tty-table@^2.6.9:
version "2.6.9"
resolved "https://registry.yarnpkg.com/tty-table/-/tty-table-2.6.9.tgz#dd7960a158324b44ef114843a8ab529ebe395042"
integrity sha512-tO/PFBfELM6AciYPcQm10rqvw95Q0nkSQtcSIQOTcIdEAyLUsi8iN9nZDuCfWTJdD6bvCU0n4oIumGGbJ76hww==
dependencies:
babel-core "^6.26.3"
chalk "^2.4.1"
csv "^4.0.0"
merge "^1.2.0"
smartwrap "^1.0.9"
strip-ansi "^5.0.0"
wcwidth "^1.0.1"
yargs "^12.0.2"
tunnel-agent@^0.6.0: tunnel-agent@^0.6.0:
version "0.6.0" version "0.6.0"
resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
@ -16597,9 +16535,9 @@ typedarray@^0.0.6:
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
typeforce@^1.11.3, typeforce@^1.11.5: typeforce@^1.11.3, typeforce@^1.11.5:
version "1.14.0" version "1.15.1"
resolved "https://registry.yarnpkg.com/typeforce/-/typeforce-1.14.0.tgz#99e55b60e315396854d448942397b7ccad0eea75" resolved "https://registry.yarnpkg.com/typeforce/-/typeforce-1.15.1.tgz#fe24533cb3dbff2b79a3556bb3a3d4854850b2a5"
integrity sha512-VHaLmvQ5etbJVytz5+J8vMSF5wcVgGoeJpU8hovXQY8wB/tnSigfyhwb5z447u+jJk4SGvQ8QHX3ugj4lVkX8w== integrity sha512-RYgFG+2GXx4V7guHOhW0cvryg/iWAoopbF/WlOI25YoV9rsOQ0E8bKfYAEZbJL0LJ8yVqcwp77tDG+oebBSNNw==
ua-parser-js@^0.7.18: ua-parser-js@^0.7.18:
version "0.7.18" version "0.7.18"
@ -17165,7 +17103,7 @@ wbuf@^1.1.0, wbuf@^1.7.2:
dependencies: dependencies:
minimalistic-assert "^1.0.0" minimalistic-assert "^1.0.0"
wcwidth@^1.0.0, wcwidth@^1.0.1: wcwidth@^1.0.0:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"
integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=
@ -17361,9 +17299,9 @@ webpack@^3.11.0:
yargs "^8.0.2" yargs "^8.0.2"
webpack@^4.20.2: webpack@^4.20.2:
version "4.20.2" version "4.21.0"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.20.2.tgz#89f6486b6bb276a91b0823453d377501fc625b5a" resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.21.0.tgz#bd03605c0f48c0d4aaaef78ead2769485e5afd92"
integrity sha512-75WFUMblcWYcocjSLlXCb71QuGyH7egdBZu50FtBGl2Nso8CK3Ej+J7bTZz2FPFq5l6fzCisD9modB7t30ikuA== integrity sha512-CGBeop4AYR0dcmk9Afl33qQULwTHQCXQPAIBTHMJoy9DpY8FPUDna/NUlAGTr5o5y9QC901Ww3wCY4wNo1X9Lw==
dependencies: dependencies:
"@webassemblyjs/ast" "1.7.8" "@webassemblyjs/ast" "1.7.8"
"@webassemblyjs/helper-module-context" "1.7.8" "@webassemblyjs/helper-module-context" "1.7.8"
@ -17775,7 +17713,7 @@ yargs@^7.0.0:
y18n "^3.2.1" y18n "^3.2.1"
yargs-parser "^5.0.0" yargs-parser "^5.0.0"
yargs@^8.0.1, yargs@^8.0.2: yargs@^8.0.2:
version "8.0.2" version "8.0.2"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360"
integrity sha1-YpmpBVsc78lp/355wdkY3Osiw2A= integrity sha1-YpmpBVsc78lp/355wdkY3Osiw2A=

Loading…
Cancel
Save