diff --git a/typescript/frontend-marios2/src/content/dashboards/SodiohomeInstallations/WeeklyReport.tsx b/typescript/frontend-marios2/src/content/dashboards/SodiohomeInstallations/WeeklyReport.tsx index 289f0514f..593d5c96e 100644 --- a/typescript/frontend-marios2/src/content/dashboards/SodiohomeInstallations/WeeklyReport.tsx +++ b/typescript/frontend-marios2/src/content/dashboards/SodiohomeInstallations/WeeklyReport.tsx @@ -15,7 +15,6 @@ import { MenuItem, Paper, Select, - Snackbar, Tab, Tabs, TextField, @@ -286,7 +285,7 @@ function WeeklyReport({ installationId, installationName, installationEmail }: W const [autoSend, setAutoSend] = useState({ sendWeekly: false, sendMonthly: false, sendYearly: false }); const [autoSendDirty, setAutoSendDirty] = useState(false); const [savingAutoSend, setSavingAutoSend] = useState(false); - const [autoSendSnackbar, setAutoSendSnackbar] = useState(null); + const [autoSendStatus, setAutoSendStatus] = useState<{ message: string; severity: 'success' | 'error' } | null>(null); useEffect(() => { axiosConfig.get('/GetEmailPreference', { params: { installationId } }) @@ -309,9 +308,11 @@ function WeeklyReport({ installationId, installationName, installationEmail }: W params: { installationId, ...autoSend } }); setAutoSendDirty(false); - setAutoSendSnackbar(intl.formatMessage({ id: 'autoSendSaved', defaultMessage: 'Auto-send preferences saved.' })); + setAutoSendStatus({ message: intl.formatMessage({ id: 'autoSendSaved', defaultMessage: 'Auto-send preferences saved.' }), severity: 'success' }); + setTimeout(() => setAutoSendStatus(null), 4000); } catch { - setAutoSendSnackbar(intl.formatMessage({ id: 'autoSendSaveFailed', defaultMessage: 'Failed to save auto-send preferences.' })); + setAutoSendStatus({ message: intl.formatMessage({ id: 'autoSendSaveFailed', defaultMessage: 'Failed to save auto-send preferences.' }), severity: 'error' }); + setTimeout(() => setAutoSendStatus(null), 4000); } finally { setSavingAutoSend(false); } @@ -527,15 +528,13 @@ function WeeklyReport({ installationId, installationName, installationEmail }: W )} + {autoSendStatus && ( + + {autoSendStatus.message} + + )} - setAutoSendSnackbar(null)} - message={autoSendSnackbar} - /> - setReportPeriods(prev => ({ ...prev, daily: { start: date, end: date } }))} />