618 Refactor import section to use translation lib
This commit is contained in:
@@ -8,7 +8,7 @@ import {
|
||||
import getColumnNamesForCsv from './get-csv-column-names'
|
||||
import replaceWithNullIfAllPropertiesAreNull from './replace-with-null'
|
||||
import { LocalDate } from '@js-joda/core'
|
||||
import labels from '../../i18n/en/settings'
|
||||
import i18next from 'i18next'
|
||||
|
||||
export default async function importCsv(csv, deleteFirst) {
|
||||
const parseFuncs = {
|
||||
@@ -46,7 +46,10 @@ export default async function importCsv(csv, deleteFirst) {
|
||||
|
||||
const cycleDays = await csvParser(config)
|
||||
.fromString(csv)
|
||||
.on('header', validateHeaders)
|
||||
.on('header', (headers) => validateHeaders(headers))
|
||||
.on('error', (error) => {
|
||||
throw error
|
||||
})
|
||||
|
||||
//remove symptoms where all fields are null
|
||||
putNullForEmptySymptoms(cycleDays)
|
||||
@@ -67,8 +70,11 @@ function validateHeaders(headers) {
|
||||
return expectedHeaders.indexOf(header) > -1
|
||||
})
|
||||
) {
|
||||
const msg = `Expected CSV column titles to be ${expectedHeaders.join()}`
|
||||
throw new Error(msg)
|
||||
throw new Error(
|
||||
i18next.t('hamburgerMenu.settings.data.import.error.incorrectColumns', {
|
||||
incorrectColumns: expectedHeaders.join(),
|
||||
})
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -92,7 +98,9 @@ function throwIfFutureData(cycleDays) {
|
||||
day.date > today &&
|
||||
Object.keys(day).some((symptom) => symptom != 'date' && symptom != 'note')
|
||||
) {
|
||||
throw new Error(labels.import.errors.futureEdit)
|
||||
throw new Error(
|
||||
i18next.t('hamburgerMenu.settings.data.import.error.futureEdit')
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user