# BakerySettingsPage.tsx - Exact Code Changes ## File Location `frontend/src/pages/app/settings/bakery/BakerySettingsPage.tsx` --- ## Change 1: Update imports (Line 3) **Find:** ```typescript import { Store, MapPin, Clock, Settings as SettingsIcon, Save, X, AlertCircle, Loader } from 'lucide-react'; ``` **Replace with:** ```typescript import { Store, MapPin, Clock, Settings as SettingsIcon, Save, X, AlertCircle, Loader, Bell } from 'lucide-react'; ``` --- ## Change 2: Add NotificationSettings to type imports (Line 17) **Find:** ```typescript import type { ProcurementSettings, InventorySettings, ProductionSettings, SupplierSettings, POSSettings, OrderSettings, } from '../../../../api/types/settings'; ``` **Replace with:** ```typescript import type { ProcurementSettings, InventorySettings, ProductionSettings, SupplierSettings, POSSettings, OrderSettings, NotificationSettings, } from '../../../../api/types/settings'; ``` --- ## Change 3: Import NotificationSettingsCard (After line 24) **Find:** ```typescript import OrderSettingsCard from '../../database/ajustes/cards/OrderSettingsCard'; ``` **Add after it:** ```typescript import NotificationSettingsCard from '../../database/ajustes/cards/NotificationSettingsCard'; ``` --- ## Change 4: Add notification settings state (After line 100) **Find:** ```typescript const [orderSettings, setOrderSettings] = useState(null); const [errors, setErrors] = useState>({}); ``` **Change to:** ```typescript const [orderSettings, setOrderSettings] = useState(null); const [notificationSettings, setNotificationSettings] = useState(null); const [errors, setErrors] = useState>({}); ``` --- ## Change 5: Load notification settings (Line 139) **Find:** ```typescript React.useEffect(() => { if (settings) { setProcurementSettings(settings.procurement_settings); setInventorySettings(settings.inventory_settings); setProductionSettings(settings.production_settings); setSupplierSettings(settings.supplier_settings); setPosSettings(settings.pos_settings); setOrderSettings(settings.order_settings); } }, [settings]); ``` **Replace with:** ```typescript React.useEffect(() => { if (settings) { setProcurementSettings(settings.procurement_settings); setInventorySettings(settings.inventory_settings); setProductionSettings(settings.production_settings); setSupplierSettings(settings.supplier_settings); setPosSettings(settings.pos_settings); setOrderSettings(settings.order_settings); setNotificationSettings(settings.notification_settings); } }, [settings]); ``` --- ## Change 6: Update validation in handleSaveOperationalSettings (Line 234) **Find:** ```typescript const handleSaveOperationalSettings = async () => { if (!tenantId || !procurementSettings || !inventorySettings || !productionSettings || !supplierSettings || !posSettings || !orderSettings) { return; } ``` **Replace with:** ```typescript const handleSaveOperationalSettings = async () => { if (!tenantId || !procurementSettings || !inventorySettings || !productionSettings || !supplierSettings || !posSettings || !orderSettings || !notificationSettings) { return; } ``` --- ## Change 7: Add notification_settings to mutation (Line 244) **Find:** ```typescript await updateSettingsMutation.mutateAsync({ tenantId, updates: { procurement_settings: procurementSettings, inventory_settings: inventorySettings, production_settings: productionSettings, supplier_settings: supplierSettings, pos_settings: posSettings, order_settings: orderSettings, }, }); ``` **Replace with:** ```typescript await updateSettingsMutation.mutateAsync({ tenantId, updates: { procurement_settings: procurementSettings, inventory_settings: inventorySettings, production_settings: productionSettings, supplier_settings: supplierSettings, pos_settings: posSettings, order_settings: orderSettings, notification_settings: notificationSettings, }, }); ``` --- ## Change 8: Update handleDiscard function (Line 315) **Find:** ```typescript if (settings) { setProcurementSettings(settings.procurement_settings); setInventorySettings(settings.inventory_settings); setProductionSettings(settings.production_settings); setSupplierSettings(settings.supplier_settings); setPosSettings(settings.pos_settings); setOrderSettings(settings.order_settings); } ``` **Replace with:** ```typescript if (settings) { setProcurementSettings(settings.procurement_settings); setInventorySettings(settings.inventory_settings); setProductionSettings(settings.production_settings); setSupplierSettings(settings.supplier_settings); setPosSettings(settings.pos_settings); setOrderSettings(settings.order_settings); setNotificationSettings(settings.notification_settings); } ``` --- ## Change 9: Add notifications tab trigger (After line 389) **Find:** ```typescript {t('bakery.tabs.operations')} ``` **Replace with:** ```typescript {t('bakery.tabs.operations')} {t('bakery.tabs.notifications')} ``` --- ## Change 10: Add notifications tab content (After line 691, before ) **Find:** ```typescript {/* Floating Save Button */} ``` **Replace with:** ```typescript {/* Tab 4: Notifications */}
{notificationSettings && ( { setNotificationSettings(newSettings); handleOperationalSettingsChange(); }} disabled={isLoading} /> )}
{/* Floating Save Button */} ``` --- ## Change 11: Update floating save button onClick (Line 717) **Find:** ```typescript