Fixes delete data bug

This commit is contained in:
mashazyu
2019-05-25 17:15:38 +02:00
parent 138f1d28b3
commit 6cbfcb9d64
2 changed files with 35 additions and 6 deletions
@@ -1,6 +1,7 @@
import React, { Component } from 'react'
import RNFS from 'react-native-fs'
import { Alert, ToastAndroid } from 'react-native'
import PropTypes from 'prop-types'
import { clearDb, isDbEmpty } from '../../../db'
import { hasEncryptionObservable } from '../../../local-storage'
@@ -24,6 +25,7 @@ export default class DeleteData extends Component {
}
onAlertConfirmation = () => {
this.props.onStartDeletion()
if (this.state.isPasswordSet) {
this.setState({ isConfirmingWithPassword: true })
} else {
@@ -78,8 +80,9 @@ export default class DeleteData extends Component {
render() {
const { isConfirmingWithPassword } = this.state
const { isDeletingData } = this.props
if (isConfirmingWithPassword) {
if (isConfirmingWithPassword && isDeletingData) {
return (
<ConfirmWithPassword
onSuccess={this.deleteAppData}
@@ -94,4 +97,9 @@ export default class DeleteData extends Component {
</SettingsButton>
)
}
}
DeleteData.propTypes = {
isDeletingData: PropTypes.bool,
onStartDeletion: PropTypes.func.isRequired
}
+26 -5
View File
@@ -13,7 +13,10 @@ export default class DataManagement extends Component {
constructor(props) {
super(props)
this.state = { isLoading: false }
this.state = {
isLoading: false,
currentAction: null
}
}
startLoading = () => {
@@ -33,7 +36,22 @@ export default class DataManagement extends Component {
this.endLoading()
}
startExport = () => {
this.setCurrentAction('export')
openShareDialogAndExport()
}
startImport = () => {
this.setCurrentAction('import')
openImportDialog(this.startImportFlow)
}
setCurrentAction = (action) => {
this.setState({ currentAction: action })
}
render() {
const { currentAction } = this.state
return (
<View flex={1}>
{this.state.isLoading && <AppLoadingView />}
@@ -42,14 +60,14 @@ export default class DataManagement extends Component {
<View>
<FramedSegment title={labels.export.button}>
<AppText>{labels.export.segmentExplainer}</AppText>
<SettingsButton onPress={openShareDialogAndExport}>
<SettingsButton onPress={this.startExport}>
{labels.export.button}
</SettingsButton>
</FramedSegment>
<FramedSegment title={labels.import.button}>
<AppText>{labels.import.segmentExplainer}</AppText>
<SettingsButton
onPress= {() => openImportDialog(this.startImportFlow)}
onPress= {this.startImport}
>
{labels.import.button}
</SettingsButton>
@@ -59,7 +77,10 @@ export default class DataManagement extends Component {
last
>
<AppText>{labels.deleteSegment.explainer}</AppText>
<DeleteData />
<DeleteData
isDeletingData = { currentAction === 'delete' }
onStartDeletion = {() => this.setCurrentAction('delete')}
/>
</FramedSegment>
</View>
</ScrollView>
@@ -67,4 +88,4 @@ export default class DataManagement extends Component {
</View>
)
}
}
}