Newer
Older
import React, { Component } from 'react'
import { ScrollView, View } from 'react-native'
import AppText from '../../app-text'
import FramedSegment from '../../framed-segment'
import AppLoadingView from '../../app-loading'
import SettingsButton from '../shared/settings-button'
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 }
}
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
try {
this.onStartLoading()
const fileContent = await getFileContent()
if (fileContent) {
await importData(shouldDeleteExistingData, fileContent)
}
} catch(err) {
return
} finally {
this.onEndLoading()
}
}
render() {
return (
<View flex={1}>
{this.state.isLoading && <AppLoadingView />}
{!this.state.isLoading &&
<ScrollView>
<View>
<FramedSegment title={labels.export.button}>
<AppText>{labels.export.segmentExplainer}</AppText>
<SettingsButton onPress={openShareDialogAndExport}>
{labels.export.button}
</SettingsButton>
</FramedSegment>
<FramedSegment title={labels.import.button}>
<AppText>{labels.import.segmentExplainer}</AppText>
<SettingsButton
onPress= {() => openImportDialog(this.onImportData)}
>
{labels.import.button}
</SettingsButton>
</FramedSegment>
<FramedSegment
title={labels.deleteSegment.title}
last
>
<AppText>{labels.deleteSegment.explainer}</AppText>
<DeleteData />
</FramedSegment>
</View>
</ScrollView>
}
</View>
)
}
}