auto send frequence succeed message change

This commit is contained in:
Yinyin Liu 2026-03-31 19:53:29 +02:00
parent 1e7c500f90
commit a8ee946d02
1 changed files with 10 additions and 11 deletions

View File

@ -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<string | null>(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
<FormattedMessage id="autoSendNoEmail" defaultMessage="Set email address in Information tab to enable auto-send" />
</Typography>
)}
{autoSendStatus && (
<Typography variant="caption" sx={{ color: autoSendStatus.severity === 'success' ? '#27ae60' : '#e74c3c', ml: 1, textTransform: 'uppercase', fontWeight: 600 }}>
{autoSendStatus.message}
</Typography>
)}
</Box>
<Snackbar
open={!!autoSendSnackbar}
autoHideDuration={4000}
onClose={() => setAutoSendSnackbar(null)}
message={autoSendSnackbar}
/>
<Box sx={{ display: tabs[safeTab]?.key === 'daily' ? 'block' : 'none', minHeight: '50vh' }}>
<DailySection installationId={installationId} onHasData={setDailyHasData} onPeriodChange={(date: string) => setReportPeriods(prev => ({ ...prev, daily: { start: date, end: date } }))} />
</Box>