diff --git a/maternal-web/app/settings/page.tsx b/maternal-web/app/settings/page.tsx
index faf8cfa..561cb85 100644
--- a/maternal-web/app/settings/page.tsx
+++ b/maternal-web/app/settings/page.tsx
@@ -56,34 +56,7 @@ export default function SettingsPage() {
}
}, [user]);
- const handleSavePreferences = async () => {
- setIsLoading(true);
- setError(null);
-
- try {
- const response = await usersApi.updateProfile({
- timezone,
- preferences: {
- ...settings,
- timeFormat,
- }
- });
- console.log('✅ Preferences updated successfully:', response);
-
- // Refresh user to get latest data from server
- await refreshUser();
-
- setSuccessMessage('Preferences saved successfully!');
- } catch (err: any) {
- console.error('❌ Failed to update preferences:', err);
- console.error('Error response:', err.response);
- setError(err.response?.data?.message || err.message || 'Failed to save preferences. Please try again.');
- } finally {
- setIsLoading(false);
- }
- };
-
- const handleSaveProfile = async () => {
+ const handleSaveAll = async () => {
// Validate name
if (!name || name.trim() === '') {
setNameError('Name cannot be empty');
@@ -97,17 +70,22 @@ export default function SettingsPage() {
try {
const response = await usersApi.updateProfile({
name: name.trim(),
+ timezone,
+ preferences: {
+ ...settings,
+ timeFormat,
+ }
});
- console.log('✅ Profile updated successfully:', response);
+ console.log('✅ All settings saved successfully:', response);
// Refresh user to get latest data from server
await refreshUser();
- setSuccessMessage('Profile updated successfully!');
+ setSuccessMessage('Settings saved successfully!');
} catch (err: any) {
- console.error('❌ Failed to update profile:', err);
+ console.error('❌ Failed to save settings:', err);
console.error('Error response:', err.response);
- setError(err.response?.data?.message || err.message || 'Failed to update profile. Please try again.');
+ setError(err.response?.data?.message || err.message || 'Failed to save settings. Please try again.');
} finally {
setIsLoading(false);
}
@@ -172,15 +150,6 @@ export default function SettingsPage() {
disabled
helperText="Email cannot be changed"
/>
- : }
- onClick={handleSaveProfile}
- disabled={isLoading}
- sx={{ alignSelf: 'flex-start' }}
- >
- {isLoading ? 'Saving...' : 'Save Profile'}
-
@@ -206,15 +175,6 @@ export default function SettingsPage() {
- : }
- onClick={handleSavePreferences}
- disabled={isLoading}
- sx={{ mt: 3, alignSelf: 'flex-start' }}
- >
- {isLoading ? 'Saving...' : 'Save Preferences'}
-
@@ -252,15 +212,6 @@ export default function SettingsPage() {
label="Email Updates"
/>
- : }
- onClick={handleSavePreferences}
- disabled={isLoading}
- sx={{ mt: 2, alignSelf: 'flex-start' }}
- >
- {isLoading ? 'Saving...' : 'Save Notification Settings'}
-
@@ -358,6 +309,26 @@ export default function SettingsPage() {
+ {/* Global Save Button */}
+
+
+ : }
+ onClick={handleSaveAll}
+ disabled={isLoading}
+ sx={{ minWidth: 200 }}
+ >
+ {isLoading ? 'Saving...' : 'Save Preferences'}
+
+
+
+
{/* Account Actions */}