fix: Connect measurement unit preference to backend storage
Fixed measurement unit not persisting across page refreshes: - Settings page now includes measurementUnit in the preferences object when saving - MeasurementUnitSelector now accepts value/onChange props for controlled usage - Settings state properly loads and saves measurementUnit from user preferences - UnitInput component will now correctly read imperial/metric from user.preferences.measurementUnit Previously, measurementUnit was only saved to localStorage but not synced to backend, causing UnitInput to always default to metric since it reads from user.preferences. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -28,6 +28,7 @@ export default function SettingsPage() {
|
||||
notifications: true,
|
||||
emailUpdates: false,
|
||||
darkMode: false,
|
||||
measurementUnit: 'metric' as 'metric' | 'imperial',
|
||||
});
|
||||
const [isLoading, setIsLoading] = useState(false);
|
||||
const [error, setError] = useState<string | null>(null);
|
||||
@@ -41,6 +42,7 @@ export default function SettingsPage() {
|
||||
notifications: user.preferences.notifications ?? true,
|
||||
emailUpdates: user.preferences.emailUpdates ?? false,
|
||||
darkMode: user.preferences.darkMode ?? false,
|
||||
measurementUnit: (user.preferences.measurementUnit as 'metric' | 'imperial') || 'metric',
|
||||
});
|
||||
setTimeFormat(user.preferences.timeFormat || '12h');
|
||||
}
|
||||
@@ -169,7 +171,10 @@ export default function SettingsPage() {
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: 3, mt: 2 }}>
|
||||
<LanguageSelector />
|
||||
<Divider />
|
||||
<MeasurementUnitSelector />
|
||||
<MeasurementUnitSelector
|
||||
value={settings.measurementUnit}
|
||||
onChange={(value) => setSettings(prev => ({ ...prev, measurementUnit: value }))}
|
||||
/>
|
||||
<Divider />
|
||||
<TimeZoneSelector value={timezone} onChange={setTimezone} />
|
||||
<Divider />
|
||||
|
||||
Reference in New Issue
Block a user