Fix labels
This commit is contained in:
+26
-26
@@ -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)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user