From f2706f509a24526413b2923f0a56c1a56b233423 Mon Sep 17 00:00:00 2001 From: mashazyu Date: Wed, 25 Mar 2020 16:55:03 +0100 Subject: [PATCH] Introduces data management section redesign --- .../settings/data-management/delete-data.js | 12 +-- components/settings/data-management/index.js | 73 +++++++++---------- 2 files changed, 43 insertions(+), 42 deletions(-) diff --git a/components/settings/data-management/delete-data.js b/components/settings/data-management/delete-data.js index 6af5da3..9ad24bd 100644 --- a/components/settings/data-management/delete-data.js +++ b/components/settings/data-management/delete-data.js @@ -3,12 +3,13 @@ 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' -import SettingsButton from '../shared/settings-button' +import Button from '../../common/button' + import ConfirmWithPassword from '../shared/confirm-with-password' import alertError from '../shared/alert-error' +import { clearDb, isDbEmpty } from '../../../db' +import { hasEncryptionObservable } from '../../../local-storage' import settings from '../../../i18n/en/settings' import { shared as sharedLabels } from '../../../i18n/en/labels' import { EXPORT_FILE_NAME } from './constants' @@ -18,6 +19,7 @@ const exportedFilePath = `${RNFS.DocumentDirectoryPath}/${EXPORT_FILE_NAME}` export default class DeleteData extends Component { constructor() { super() + this.state = { isPasswordSet: hasEncryptionObservable.value, isConfirmingWithPassword: false @@ -92,9 +94,9 @@ export default class DeleteData extends Component { } return ( - + ) } } diff --git a/components/settings/data-management/index.js b/components/settings/data-management/index.js index 558bdfd..ff9417a 100644 --- a/components/settings/data-management/index.js +++ b/components/settings/data-management/index.js @@ -1,18 +1,22 @@ import React, { Component } from 'react' -import { ScrollView, View } from 'react-native' -import AppText from '../../common/app-text' -import Segment from '../../common/segment' + import AppLoadingView from '../../common/app-loading' -import SettingsButton from '../shared/settings-button' +import AppPage from '../../common/app-page' +import AppText from '../../common/app-text' +import Button from '../../common/button' +import Segment from '../../common/segment' + import { openImportDialog, getFileContent, importData } from './import-dialog' import openShareDialogAndExport from './export-dialog' import DeleteData from './delete-data' + import labels from '../../../i18n/en/settings' export default class DataManagement extends Component { constructor(props) { super(props) + this.state = { isLoading: false, currentAction: null @@ -51,41 +55,36 @@ export default class DataManagement extends Component { } render() { - const { currentAction } = this.state + const { currentAction, isLoading } = this.state + const isDeletingData = currentAction === 'delete' + return ( - - {this.state.isLoading && } - {!this.state.isLoading && - - - - {labels.export.segmentExplainer} - - {labels.export.button} - - - - {labels.import.segmentExplainer} - - {labels.import.button} - - - - {labels.deleteSegment.explainer} - this.setCurrentAction('delete')} - /> - - - + + {isLoading && } + {!isLoading && + + + {labels.export.segmentExplainer} + + + + {labels.import.segmentExplainer} + + + + {labels.deleteSegment.explainer} + this.setCurrentAction('delete')} + /> + + } - + ) } } \ No newline at end of file