Merge branch 'delete-password-button-fix' into 'master'

Delete password button fix

Closes #327

See merge request bloodyhealth/drip!199
This commit is contained in:
bl00dymarie
2019-04-17 07:07:19 +00:00
6 changed files with 49 additions and 10 deletions
+1 -1
View File
@@ -19,7 +19,7 @@ export default class CreatePassword extends Component {
}
startSettingPassword = () => {
showBackUpReminder(this.toggleSettingPassword)
showBackUpReminder(this.toggleSettingPassword, () => {})
}
render () {
+9 -1
View File
@@ -1,4 +1,6 @@
import React, { Component } from 'react'
import PropTypes from 'prop-types'
import labels from '../../../i18n/en/settings'
import { changeEncryptionAndRestartApp } from '../../../db'
import ConfirmWithPassword from '../shared/confirm-with-password'
@@ -14,7 +16,7 @@ export default class DeletePassword extends Component {
startConfirmWithPassword = () => {
this.setState({ enteringCurrentPassword: true })
this.props.onStartDeletingPassword()
this.props.onStartDelete()
}
startDeletePassword = async () => {
@@ -23,6 +25,7 @@ export default class DeletePassword extends Component {
cancelConfirmationWithPassword = () => {
this.setState({ enteringCurrentPassword: false })
this.props.onCancelDelete()
}
render() {
@@ -44,4 +47,9 @@ export default class DeletePassword extends Component {
</SettingsButton>
)
}
}
DeletePassword.propTypes = {
onStartDelete: PropTypes.func,
onCancelDelete: PropTypes.func
}
+12 -2
View File
@@ -24,10 +24,18 @@ export default class PasswordSetting extends Component {
this.setState({ isChangingPassword: true })
}
onCancelChangingPassword = () => {
this.setState({ isChangingPassword: false })
}
onDeletingPassword = () => {
this.setState({ isDeletingPassword: true })
}
onCancelDeletingPassword = () => {
this.setState({ isDeletingPassword: false })
}
render() {
const {
@@ -53,13 +61,15 @@ export default class PasswordSetting extends Component {
{ (isPasswordSet && !isDeletingPassword) && (
<ChangePassword
onStartChangingPassword = {this.onChangingPassword}
onStartChange = {this.onChangingPassword}
onCancelChange = {this.onCancelChangingPassword}
/>
)}
{ (isPasswordSet && !isChangingPassword) && (
<DeletePassword
onStartDeletingPassword = {this.onDeletingPassword}
onStartDelete = {this.onDeletingPassword}
onCancelDelete = {this.onCancelDeletingPassword}
/>
)}
</FramedSegment>
@@ -2,7 +2,7 @@ import { Alert } from 'react-native'
import { shared } from '../../../i18n/en/labels'
import labels from '../../../i18n/en/settings'
export default function showBackUpReminder(okHandler, isDelete) {
export default function showBackUpReminder(okHandler, cancelHandler, isDelete) {
let title, message
if (isDelete) {
title = labels.passwordSettings.deleteBackupReminderTitle
@@ -17,10 +17,12 @@ export default function showBackUpReminder(okHandler, isDelete) {
message,
[{
text: shared.cancel,
onPress: cancelHandler,
style: 'cancel'
}, {
text: shared.ok,
onPress: okHandler
}]
}],
{ onDismiss: cancelHandler }
)
}
+17 -4
View File
@@ -1,4 +1,6 @@
import React, { Component } from 'react'
import PropTypes from 'prop-types'
import settings from '../../../i18n/en/settings'
import EnterNewPassword from './enter-new-password'
import SettingsButton from '../shared/settings-button'
@@ -17,10 +19,15 @@ export default class ChangePassword extends Component {
}
startChangingPassword = () => {
showBackUpReminder(() => {
this.setState({ enteringCurrentPassword: true })
})
this.props.onStartChangingPassword()
showBackUpReminder(
this.startEnteringCurrentPassword,
this.cancelConfirmationWithPassword
)
}
startEnteringCurrentPassword = () => {
this.setState({ enteringCurrentPassword: true })
this.props.onStartChange()
}
startEnteringNewPassword = () => {
@@ -37,6 +44,7 @@ export default class ChangePassword extends Component {
enteringNewPassword: false,
enteringCurrentPassword: false
})
this.props.onCancelChange()
}
render() {
@@ -71,4 +79,9 @@ export default class ChangePassword extends Component {
</SettingsButton>
)
}
}
ChangePassword.propTypes = {
onStartChange: PropTypes.func,
onCancelChange: PropTypes.func
}
@@ -1,4 +1,5 @@
import React, { Component } from 'react'
import PropTypes from 'prop-types'
import { View, Alert } from 'react-native'
import nodejs from 'nodejs-mobile-react-native'
@@ -99,4 +100,9 @@ export default class ConfirmWithPassword extends Component {
)
}
}
ConfirmWithPassword.propTypes = {
onSuccess: PropTypes.func,
onCancel: PropTypes.func
}