Skip to content
This repository was archived by the owner on Jan 22, 2026. It is now read-only.

Commit 3792f53

Browse files
authored
Merge pull request #1673 from blockchain/feat/bundle-locales-seperately
Tech Debt(Async loading of large assets)
2 parents 1fd5a02 + 15ccc6b commit 3792f53

36 files changed

Lines changed: 684 additions & 400 deletions

File tree

packages/blockchain-info-components/src/Gauges/PasswordGauge.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ const PasswordGauge = props => {
5353
}
5454

5555
PasswordGauge.propTypes = {
56-
score: PropTypes.oneOf([1, 2, 3, 4, 5]).isRequired
56+
score: PropTypes.oneOf([0, 1, 2, 3, 4, 5]).isRequired
5757
}
5858

5959
PasswordGauge.defaultProps = {

packages/blockchain-wallet-v4-frontend/src/components/DropdownLanguage/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import React from 'react'
22
import { connect } from 'react-redux'
33
import { bindActionCreators } from 'redux'
44

5-
import * as languageService from 'services/LanguageService'
5+
import { languagesSortedByName } from 'services/LocalesService'
66
import { SimpleDropdown } from 'blockchain-info-components/src/Dropdowns'
77
import { actions, selectors } from 'data'
88

@@ -36,7 +36,7 @@ class DropdownLanguageContainer extends React.PureComponent {
3636

3737
const mapStateToProps = state => ({
3838
currentLanguage: selectors.preferences.getLanguage(state),
39-
languages: languageService.languagesSortedByName
39+
languages: languagesSortedByName
4040
})
4141

4242
const mapDispatchToProps = dispatch => ({
Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
11
// Jest Snapshot v1, https://goo.gl/fbAQLP
22

3-
exports[`PasswordScore renders correctly 1`] = `
4-
<password-gauge
5-
score={1}
6-
/>
7-
`;
3+
exports[`PasswordScore renders correctly 1`] = `<password-gauge />`;
Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
11
import React from 'react'
2-
import zxcvbn from 'zxcvbn'
32

43
import { PasswordGauge } from 'blockchain-info-components'
54

65
const PasswordScore = props => {
7-
const score = zxcvbn(props.value).score + 1
8-
9-
return <PasswordGauge score={score} />
6+
return <PasswordGauge score={props.passwordScore} />
107
}
118

129
export default PasswordScore

packages/blockchain-wallet-v4-frontend/src/components/Form/PasswordBox/__snapshots__/index.spec.js.snap

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,5 @@ exports[`PasswordBox renders correctly 1`] = `
55
<mockConstructor
66
errorState="initial"
77
/>
8-
<div />
98
</PasswordBox__Container>
109
`;

packages/blockchain-wallet-v4-frontend/src/components/Form/PasswordBox/index.js

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,18 @@ const getErrorState = ({ touched, invalid }) => {
2525
}
2626

2727
const PasswordBox = field => {
28-
const { meta, input, score, disabled, borderColor, noLastPass } = field
28+
const {
29+
meta,
30+
input,
31+
showPasswordScore,
32+
disabled,
33+
borderColor,
34+
noLastPass,
35+
passwordScore
36+
} = field
2937
const { touched, error, active } = meta
3038
const errorState = getErrorState(meta)
31-
const scoreVisible = score ? input.value.length > 0 : false
39+
const scoreVisible = showPasswordScore ? input.value.length > 0 : false
3240

3341
return (
3442
<Container>
@@ -41,7 +49,7 @@ const PasswordBox = field => {
4149
data-e2e={field['data-e2e']}
4250
noLastPass={noLastPass}
4351
/>
44-
{scoreVisible ? <PasswordScore value={input.value} /> : <div />}
52+
{scoreVisible && <PasswordScore passwordScore={passwordScore} />}
4553
{touched && error && (
4654
<Error
4755
size='12px'

packages/blockchain-wallet-v4-frontend/src/components/Form/SelectBoxLanguages/index.js

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
import React from 'react'
22
import { connect } from 'react-redux'
3-
import { map } from 'ramda'
3+
import { assoc, curry, keys, map, reduce } from 'ramda'
44

55
import { selectors } from 'data'
66
import SelectBox from '../SelectBox'
7-
import { renameKeys } from 'services/RamdaCookingBook'
8-
import * as languageService from 'services/LanguageService'
7+
import { languagesSortedByName } from 'services/LocalesService'
8+
9+
const renameKeys = curry((keysMap, obj) =>
10+
reduce((acc, key) => assoc(keysMap[key] || key, obj[key], acc), {}, keys(obj))
11+
)
912

1013
class SelectBoxLanguages extends React.PureComponent {
1114
render () {
@@ -20,9 +23,9 @@ class SelectBoxLanguages extends React.PureComponent {
2023
}
2124
}
2225

23-
const mapStateToProps = (state, ownProps) => ({
26+
const mapStateToProps = state => ({
2427
language: selectors.preferences.getLanguage(state),
25-
languages: languageService.languagesSortedByName
28+
languages: languagesSortedByName
2629
})
2730

2831
export default connect(mapStateToProps)(SelectBoxLanguages)

packages/blockchain-wallet-v4-frontend/src/data/modules/settings/sagas.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import { put, call, select } from 'redux-saga/effects'
22
import profileSagas from 'data/modules/profile/sagas'
3-
import * as actions from '../../actions.js'
4-
import * as selectors from '../../selectors.js'
3+
import * as actions from '../../actions'
4+
import * as selectors from '../../selectors'
55
import * as C from 'services/AlertService'
6-
import { addLanguageToUrl } from 'services/LanguageService'
6+
import { addLanguageToUrl } from 'services/LocalesService'
77
import {
88
askSecondPasswordEnhancer,
99
promptForSecondPassword

packages/blockchain-wallet-v4-frontend/src/data/preferences/sagas.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { put } from 'redux-saga/effects'
22
import * as actions from '../actions.js'
33
import * as C from 'services/AlertService'
4-
import { addLanguageToUrl } from 'services/LanguageService'
4+
import { addLanguageToUrl } from 'services/LocalesService'
55

66
export default () => {
77
const logLocation = 'preferences/sagas'

packages/blockchain-wallet-v4-frontend/src/data/rootSaga.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import preferences from './preferences/sagaRegister'
1111
import goals from './goals/sagaRegister'
1212
import router from './router/sagaRegister'
1313
import wallet from './wallet/sagaRegister'
14-
import { tryParseLanguageFromUrl } from 'services/LanguageService'
14+
import { tryParseLanguageFromUrl } from 'services/LocalesService'
1515

1616
const logLocation = 'data/rootSaga'
1717

0 commit comments

Comments
 (0)