Update custome translations to i18n and various improvements

This commit is contained in:
2025-12-03 21:53:04 +00:00
parent a54c729e46
commit 6fb6583ae3
16 changed files with 364 additions and 195 deletions

View File

@@ -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
};
})
}));