Skip to content
Snippets Groups Projects
Commit f2706f50 authored by mashazyu's avatar mashazyu Committed by Sofiya Tepikin
Browse files

Introduces data management section redesign

parent a68ec248
No related branches found
No related tags found
No related merge requests found
...@@ -3,12 +3,13 @@ import RNFS from 'react-native-fs' ...@@ -3,12 +3,13 @@ import RNFS from 'react-native-fs'
import { Alert, ToastAndroid } from 'react-native' import { Alert, ToastAndroid } from 'react-native'
import PropTypes from 'prop-types' import PropTypes from 'prop-types'
import { clearDb, isDbEmpty } from '../../../db' import Button from '../../common/button'
import { hasEncryptionObservable } from '../../../local-storage'
import SettingsButton from '../shared/settings-button'
import ConfirmWithPassword from '../shared/confirm-with-password' import ConfirmWithPassword from '../shared/confirm-with-password'
import alertError from '../shared/alert-error' import alertError from '../shared/alert-error'
import { clearDb, isDbEmpty } from '../../../db'
import { hasEncryptionObservable } from '../../../local-storage'
import settings from '../../../i18n/en/settings' import settings from '../../../i18n/en/settings'
import { shared as sharedLabels } from '../../../i18n/en/labels' import { shared as sharedLabels } from '../../../i18n/en/labels'
import { EXPORT_FILE_NAME } from './constants' import { EXPORT_FILE_NAME } from './constants'
...@@ -18,6 +19,7 @@ const exportedFilePath = `${RNFS.DocumentDirectoryPath}/${EXPORT_FILE_NAME}` ...@@ -18,6 +19,7 @@ const exportedFilePath = `${RNFS.DocumentDirectoryPath}/${EXPORT_FILE_NAME}`
export default class DeleteData extends Component { export default class DeleteData extends Component {
constructor() { constructor() {
super() super()
this.state = { this.state = {
isPasswordSet: hasEncryptionObservable.value, isPasswordSet: hasEncryptionObservable.value,
isConfirmingWithPassword: false isConfirmingWithPassword: false
...@@ -92,9 +94,9 @@ export default class DeleteData extends Component { ...@@ -92,9 +94,9 @@ export default class DeleteData extends Component {
} }
return ( return (
<SettingsButton onPress={this.alertBeforeDeletion}> <Button isCTA onPress={this.alertBeforeDeletion}>
{settings.deleteSegment.title} {settings.deleteSegment.title}
</SettingsButton> </Button>
) )
} }
} }
......
import React, { Component } from 'react' import React, { Component } from 'react'
import { ScrollView, View } from 'react-native'
import AppLoadingView from '../../common/app-loading'
import AppPage from '../../common/app-page'
import AppText from '../../common/app-text' import AppText from '../../common/app-text'
import Button from '../../common/button'
import Segment from '../../common/segment' import Segment from '../../common/segment'
import AppLoadingView from '../../common/app-loading'
import SettingsButton from '../shared/settings-button'
import { openImportDialog, getFileContent, importData } from './import-dialog' import { openImportDialog, getFileContent, importData } from './import-dialog'
import openShareDialogAndExport from './export-dialog' import openShareDialogAndExport from './export-dialog'
import DeleteData from './delete-data' import DeleteData from './delete-data'
import labels from '../../../i18n/en/settings' import labels from '../../../i18n/en/settings'
export default class DataManagement extends Component { export default class DataManagement extends Component {
constructor(props) { constructor(props) {
super(props) super(props)
this.state = { this.state = {
isLoading: false, isLoading: false,
currentAction: null currentAction: null
...@@ -51,41 +55,36 @@ export default class DataManagement extends Component { ...@@ -51,41 +55,36 @@ export default class DataManagement extends Component {
} }
render() { render() {
const { currentAction } = this.state const { currentAction, isLoading } = this.state
const isDeletingData = currentAction === 'delete'
return ( return (
<View flex={1}> <AppPage>
{this.state.isLoading && <AppLoadingView />} {isLoading && <AppLoadingView />}
{!this.state.isLoading && {!isLoading &&
<ScrollView> <React.Fragment>
<View> <Segment title={labels.export.button}>
<Segment title={labels.export.button}> <AppText>{labels.export.segmentExplainer}</AppText>
<AppText>{labels.export.segmentExplainer}</AppText> <Button isCTA onPress={this.startExport}>
<SettingsButton onPress={this.startExport}> {labels.export.button}
{labels.export.button} </Button>
</SettingsButton> </Segment>
</Segment> <Segment title={labels.import.button}>
<Segment title={labels.import.button}> <AppText>{labels.import.segmentExplainer}</AppText>
<AppText>{labels.import.segmentExplainer}</AppText> <Button isCTA onPress= {this.startImport}>
<SettingsButton {labels.import.button}
onPress= {this.startImport} </Button>
> </Segment>
{labels.import.button} <Segment title={labels.deleteSegment.title} last>
</SettingsButton> <AppText>{labels.deleteSegment.explainer}</AppText>
</Segment> <DeleteData
<Segment isDeletingData = {isDeletingData}
title={labels.deleteSegment.title} onStartDeletion = {() => this.setCurrentAction('delete')}
last />
> </Segment>
<AppText>{labels.deleteSegment.explainer}</AppText> </React.Fragment>
<DeleteData
isDeletingData = { currentAction === 'delete' }
onStartDeletion = {() => this.setCurrentAction('delete')}
/>
</Segment>
</View>
</ScrollView>
} }
</View> </AppPage>
) )
} }
} }
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment