diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx
index 6a00b81..e5515e9 100644
--- a/frontend/src/App.tsx
+++ b/frontend/src/App.tsx
@@ -1025,7 +1025,8 @@ function AppContent() {
{settings.emailEnabled && settings.shoutrrrEnabled ? "๐" : settings.emailEnabled ? "๐ง" : "๐"}
- {t('dashboard.reminders.active')} โ {getReminderStatusText(settings.reminderDaysBefore, settings.lowStockDays, coverage.low, coverage.all, settings.lastAutoEmailSent, settings.lastNotificationType, settings.lastNotificationChannel, t, i18n.language)}
+ {t('dashboard.reminders.active')}
+ {getReminderStatusText(settings.reminderDaysBefore, settings.lowStockDays, coverage.low, coverage.all, settings.lastAutoEmailSent, settings.lastNotificationType, settings.lastNotificationChannel, t, i18n.language)}
{settings.emailEnabled && settings.notificationEmail && โ {settings.notificationEmail}}
@@ -2838,12 +2839,17 @@ function getReminderStatusText(
if (lastSent) {
return (
<>
- โ {t('dashboard.reminders.needReorder', { count: medsNeedingReminder.length })}
- {" ยท "}{t('dashboard.reminders.lastReminder')}: {formatLastInfo(lastSent)}
+ โ {t('dashboard.reminders.needReorder', { count: medsNeedingReminder.length })}
+ {t('dashboard.reminders.lastReminder')}: {formatLastInfo(lastSent)}
>
);
}
- return โ {t('dashboard.reminders.needReorder', { count: medsNeedingReminder.length })} โ {t('dashboard.reminders.waitingFirstCheck')};
+ return (
+ <>
+ โ {t('dashboard.reminders.needReorder', { count: medsNeedingReminder.length })}
+ {t('dashboard.reminders.waitingFirstCheck')}
+ >
+ );
}
// Check if there are low stock medications (not yet needing reminder but running low)
@@ -2857,8 +2863,8 @@ function getReminderStatusText(
const daysUntilReminder = (nextMed.daysLeft ?? 0) - reminderDaysBefore;
return (
<>
- {t('dashboard.reminders.lowWarning', { count: lowStockNotYetCritical.length })}
- {" ยท "}{t('dashboard.reminders.nextIn')}: {nextMed.name} {t('dashboard.reminders.inDays', { days: daysUntilReminder })}
+ {t('dashboard.reminders.lowWarning', { count: lowStockNotYetCritical.length })}
+ {t('dashboard.reminders.nextIn')}: {nextMed.name} {t('dashboard.reminders.inDays', { days: daysUntilReminder })}
>
);
}
@@ -2874,8 +2880,8 @@ function getReminderStatusText(
if (daysUntilReminder > 0) {
return (
<>
- โ {t('dashboard.reminders.allOk')}
- {" ยท "}{t('dashboard.reminders.nextIn')}: {nextMed.name} {t('dashboard.reminders.inDays', { days: daysUntilReminder })}
+ โ {t('dashboard.reminders.allOk')}
+ {t('dashboard.reminders.nextIn')}: {nextMed.name} {t('dashboard.reminders.inDays', { days: daysUntilReminder })}
>
);
}
@@ -2885,12 +2891,17 @@ function getReminderStatusText(
if (lastSent) {
return (
<>
- โ {t('dashboard.reminders.allStockOk')}
- {" ยท "}{t('dashboard.reminders.lastReminder')}: {formatLastInfo(lastSent)}
+ โ {t('dashboard.reminders.allStockOk')}
+ {t('dashboard.reminders.lastReminder')}: {formatLastInfo(lastSent)}
>
);
}
- return โ {t('dashboard.reminders.allStockOk')} โ {t('dashboard.reminders.noRemindersNeeded')};
+ return (
+ <>
+ โ {t('dashboard.reminders.allStockOk')}
+ {t('dashboard.reminders.noRemindersNeeded')}
+ >
+ );
}
function getNextReminderForMed(med: Coverage, reminderDaysBefore: number, locale: string): string {
diff --git a/frontend/src/styles.css b/frontend/src/styles.css
index 2664683..e77fe1a 100644
--- a/frontend/src/styles.css
+++ b/frontend/src/styles.css
@@ -158,6 +158,14 @@ body.modal-open {
.email-status-text {
color: var(--text-secondary);
flex: 1;
+ display: flex;
+ flex-wrap: wrap;
+ gap: 0.25rem 0.5rem;
+}
+
+.email-status-line {
+ white-space: normal;
+ word-break: break-word;
}
.email-status-text strong {
@@ -174,7 +182,17 @@ body.modal-open {
@media (max-width: 600px) {
.email-status-bar {
- flex-wrap: wrap;
+ flex-direction: column;
+ align-items: flex-start;
+ gap: 0.5rem;
+ }
+ .email-status-text {
+ flex-direction: column;
+ gap: 0.35rem;
+ width: 100%;
+ }
+ .email-status-line {
+ display: block;
}
.email-status-recipient {
width: 100%;