Update custome translations to i18n and various improvements
This commit is contained in:
@@ -22,12 +22,19 @@ export const useAppState = () => {
|
||||
if (savedState) {
|
||||
const parsedState = JSON.parse(savedState);
|
||||
const defaults = getDefaultState();
|
||||
|
||||
// Migrate old boolean showDayTimeOnXAxis to new string enum
|
||||
let migratedUiSettings = {...defaults.uiSettings, ...parsedState.uiSettings};
|
||||
if (typeof migratedUiSettings.showDayTimeOnXAxis === 'boolean') {
|
||||
migratedUiSettings.showDayTimeOnXAxis = migratedUiSettings.showDayTimeOnXAxis ? '24h' : 'continuous';
|
||||
}
|
||||
|
||||
setAppState({
|
||||
...defaults,
|
||||
...parsedState,
|
||||
pkParams: {...defaults.pkParams, ...parsedState.pkParams},
|
||||
days: parsedState.days || defaults.days,
|
||||
uiSettings: {...defaults.uiSettings, ...parsedState.uiSettings},
|
||||
uiSettings: migratedUiSettings,
|
||||
});
|
||||
}
|
||||
} catch (error) {
|
||||
@@ -178,11 +185,24 @@ export const useAppState = () => {
|
||||
...prev,
|
||||
days: prev.days.map(day => {
|
||||
if (day.id !== dayId) return day;
|
||||
|
||||
// Update the dose field
|
||||
const updatedDoses = day.doses.map(dose =>
|
||||
dose.id === doseId ? { ...dose, [field]: value } : dose
|
||||
);
|
||||
|
||||
// Sort by time if time field was changed
|
||||
if (field === 'time') {
|
||||
updatedDoses.sort((a, b) => {
|
||||
const timeA = a.time || '00:00';
|
||||
const timeB = b.time || '00:00';
|
||||
return timeA.localeCompare(timeB);
|
||||
});
|
||||
}
|
||||
|
||||
return {
|
||||
...day,
|
||||
doses: day.doses.map(dose =>
|
||||
dose.id === doseId ? { ...dose, [field]: value } : dose
|
||||
)
|
||||
doses: updatedDoses
|
||||
};
|
||||
})
|
||||
}));
|
||||
|
||||
Reference in New Issue
Block a user