Fix labels

This commit is contained in:
Julia Friesel
2018-08-22 18:33:00 +02:00
parent 15ad708a9c
commit 654dbf5e98
+26 -26
View File
@@ -12,7 +12,7 @@ import { DocumentPicker, DocumentPickerUtil } from 'react-native-document-picker
import rnfs from 'react-native-fs' import rnfs from 'react-native-fs'
import styles, { secondaryColor } from '../styles/index' import styles, { secondaryColor } from '../styles/index'
import config from '../config' import config from '../config'
import { settings as labels } from './labels' import { settings as settingsLabels, shared as sharedLabels } from './labels'
import getDataAsCsvDataUri from '../lib/import-export/export-to-csv' import getDataAsCsvDataUri from '../lib/import-export/export-to-csv'
import importCsv from '../lib/import-export/import-from-csv' import importCsv from '../lib/import-export/import-from-csv'
import { scaleObservable, saveTempScale } from '../local-storage' import { scaleObservable, saveTempScale } from '../local-storage'
@@ -23,34 +23,34 @@ export default class Settings extends Component {
<ScrollView> <ScrollView>
<View style={styles.settingsSegment}> <View style={styles.settingsSegment}>
<Text style={styles.settingsSegmentTitle}> <Text style={styles.settingsSegmentTitle}>
{labels.tempScale.segmentTitle} {settingsLabels.tempScale.segmentTitle}
</Text> </Text>
<Text>{labels.tempScale.segmentExplainer}</Text> <Text>{settingsLabels.tempScale.segmentExplainer}</Text>
<TempSlider/> <TempSlider/>
</View> </View>
<View style={styles.settingsSegment}> <View style={styles.settingsSegment}>
<Text style={styles.settingsSegmentTitle}> <Text style={styles.settingsSegmentTitle}>
{labels.export.button} {settingsLabels.export.button}
</Text> </Text>
<Text>{labels.export.segmentExplainer}</Text> <Text>{settingsLabels.export.segmentExplainer}</Text>
<TouchableOpacity <TouchableOpacity
onPress={openShareDialogAndExport} onPress={openShareDialogAndExport}
style={styles.settingsButton}> style={styles.settingsButton}>
<Text style={styles.settingsButtonText}> <Text style={styles.settingsButtonText}>
{labels.export.button} {settingsLabels.export.button}
</Text> </Text>
</TouchableOpacity> </TouchableOpacity>
</View> </View>
<View style={styles.settingsSegment}> <View style={styles.settingsSegment}>
<Text style={styles.settingsSegmentTitle}> <Text style={styles.settingsSegmentTitle}>
{labels.import.button} {settingsLabels.import.button}
</Text> </Text>
<Text>{labels.import.segmentExplainer}</Text> <Text>{settingsLabels.import.segmentExplainer}</Text>
<TouchableOpacity <TouchableOpacity
onPress={openImportDialogAndImport} onPress={openImportDialogAndImport}
style={styles.settingsButton}> style={styles.settingsButton}>
<Text style={styles.settingsButtonText}> <Text style={styles.settingsButtonText}>
{labels.import.button} {settingsLabels.import.button}
</Text> </Text>
</TouchableOpacity> </TouchableOpacity>
</View> </View>
@@ -80,15 +80,15 @@ class TempSlider extends Component {
try { try {
saveTempScale(this.state) saveTempScale(this.state)
} catch(err) { } catch(err) {
alertError(labels.tempScale.saveError) alertError(settingsLabels.tempScale.saveError)
} }
} }
render() { render() {
return ( return (
<View style={{alignItems: 'center'}}> <View style={{alignItems: 'center'}}>
<Text>{`${labels.tempScale.min} ${this.state.min}`}</Text> <Text>{`${settingsLabels.tempScale.min} ${this.state.min}`}</Text>
<Text>{`${labels.tempScale.max} ${this.state.max}`}</Text> <Text>{`${settingsLabels.tempScale.max} ${this.state.max}`}</Text>
<Slider <Slider
values={[this.state.min, this.state.max]} values={[this.state.min, this.state.max]}
min={config.temperatureScale.min} min={config.temperatureScale.min}
@@ -123,39 +123,39 @@ async function openShareDialogAndExport() {
try { try {
data = getDataAsCsvDataUri() data = getDataAsCsvDataUri()
if (!data) { if (!data) {
return alertError(labels.errors.noData) return alertError(settingsLabels.errors.noData)
} }
} catch (err) { } catch (err) {
console.error(err) console.error(err)
return alertError(labels.errors.couldNotConvert) return alertError(settingsLabels.errors.couldNotConvert)
} }
try { try {
await Share.open({ await Share.open({
title: labels.export.title, title: settingsLabels.export.title,
url: data, url: data,
subject: labels.export.subject, subject: settingsLabels.export.subject,
type: 'text/csv', type: 'text/csv',
showAppsToView: true showAppsToView: true
}) })
} catch (err) { } catch (err) {
console.error(err) console.error(err)
return alertError(labels.export.errors.problemSharing) return alertError(settingsLabels.export.errors.problemSharing)
} }
} }
function openImportDialogAndImport() { function openImportDialogAndImport() {
Alert.alert( Alert.alert(
labels.import.title, settingsLabels.import.title,
labels.import.message, settingsLabels.import.message,
[{ [{
text: labels.import.replaceOption, text: settingsLabels.import.replaceOption,
onPress: () => getFileContentAndImport({ deleteExisting: false }) onPress: () => getFileContentAndImport({ deleteExisting: false })
}, { }, {
text: labels.import.deleteOption, text: settingsLabels.import.deleteOption,
onPress: () => getFileContentAndImport({ deleteExisting: true }) onPress: () => getFileContentAndImport({ deleteExisting: true })
}, { }, {
text: labels.shared.cancel, style: 'cancel', onPress: () => { } text: sharedLabels.cancel, style: 'cancel', onPress: () => { }
}] }]
) )
} }
@@ -180,22 +180,22 @@ async function getFileContentAndImport({ deleteExisting }) {
try { try {
fileContent = await rnfs.readFile(fileInfo.uri, 'utf8') fileContent = await rnfs.readFile(fileInfo.uri, 'utf8')
} catch (err) { } catch (err) {
return importError(labels.import.errors.couldNotOpenFile) return importError(settingsLabels.import.errors.couldNotOpenFile)
} }
try { try {
await importCsv(fileContent, deleteExisting) await importCsv(fileContent, deleteExisting)
Alert.alert(labels.import.success.title, labels.import.success.message) Alert.alert(sharedLabels.successTitle, settingsLabels.import.success.message)
} catch(err) { } catch(err) {
importError(err.message) importError(err.message)
} }
} }
function alertError(msg) { function alertError(msg) {
Alert.alert(labels.shared.errorTitle, msg) Alert.alert(sharedLabels.errorTitle, msg)
} }
function importError(msg) { function importError(msg) {
const postFixed = `${msg}\n\n${labels.import.errors.postFix}` const postFixed = `${msg}\n\n${settingsLabels.import.errors.postFix}`
alertError(postFixed) alertError(postFixed)
} }