diff --git a/client/src/components/Files/FileManager.tsx b/client/src/components/Files/FileManager.tsx index 8a4117bc..b8b7de2d 100644 --- a/client/src/components/Files/FileManager.tsx +++ b/client/src/components/Files/FileManager.tsx @@ -651,12 +651,15 @@ export default function FileManager({ files = [], onUpload, onDelete, onUpdate,
{day.title || t('dayplan.dayN', { n: day.day_number })} - {day.date && ( - {day.date} - )} + {(() => { + const badge = day.date || (day.title ? t('dayplan.dayN', { n: day.day_number }) : null) + return badge ? ( + {badge} + ) : null + })()}
{dayPlaces.map(placeBtn)}
diff --git a/client/src/components/Planner/DayDetailPanel.tsx b/client/src/components/Planner/DayDetailPanel.tsx index 02a799f9..528c3c4d 100644 --- a/client/src/components/Planner/DayDetailPanel.tsx +++ b/client/src/components/Planner/DayDetailPanel.tsx @@ -463,7 +463,9 @@ export default function DayDetailPanel({ day, days, places, categories = [], tri options={days.map((d, i) => ({ value: d.id, label: d.title || t('planner.dayN', { n: i + 1 }), - badge: d.date ? new Date(d.date + 'T00:00:00Z').toLocaleDateString(locale, { day: 'numeric', month: 'short', timeZone: 'UTC' }) : undefined, + badge: d.date + ? new Date(d.date + 'T00:00:00Z').toLocaleDateString(locale, { day: 'numeric', month: 'short', timeZone: 'UTC' }) + : (d.title ? t('planner.dayN', { n: i + 1 }) : undefined), }))} size="sm" /> @@ -476,7 +478,9 @@ export default function DayDetailPanel({ day, days, places, categories = [], tri options={days.map((d, i) => ({ value: d.id, label: d.title || t('planner.dayN', { n: i + 1 }), - badge: d.date ? new Date(d.date + 'T00:00:00Z').toLocaleDateString(locale, { day: 'numeric', month: 'short', timeZone: 'UTC' }) : undefined, + badge: d.date + ? new Date(d.date + 'T00:00:00Z').toLocaleDateString(locale, { day: 'numeric', month: 'short', timeZone: 'UTC' }) + : (d.title ? t('planner.dayN', { n: i + 1 }) : undefined), }))} size="sm" /> diff --git a/client/src/components/Planner/ReservationModal.tsx b/client/src/components/Planner/ReservationModal.tsx index 38889374..d0a41448 100644 --- a/client/src/components/Planner/ReservationModal.tsx +++ b/client/src/components/Planner/ReservationModal.tsx @@ -439,11 +439,15 @@ export function ReservationModal({ isOpen, onClose, onSave, reservation, days, p value={form.hotel_start_day} onChange={value => set('hotel_start_day', value)} placeholder={t('reservations.meta.selectDay')} - options={days.map(d => ({ - value: d.id, - label: d.title || t('dayplan.dayN', { n: d.day_number }), - badge: d.date ? (formatDate(d.date, locale) ?? undefined) : undefined, - }))} + options={days.map(d => { + const dateBadge = d.date ? (formatDate(d.date, locale) ?? undefined) : undefined + const dayBadge = d.title ? t('dayplan.dayN', { n: d.day_number }) : undefined + return { + value: d.id, + label: d.title || t('dayplan.dayN', { n: d.day_number }), + badge: dateBadge ?? dayBadge, + } + })} size="sm" /> @@ -453,11 +457,15 @@ export function ReservationModal({ isOpen, onClose, onSave, reservation, days, p value={form.hotel_end_day} onChange={value => set('hotel_end_day', value)} placeholder={t('reservations.meta.selectDay')} - options={days.map(d => ({ - value: d.id, - label: d.title || t('dayplan.dayN', { n: d.day_number }), - badge: d.date ? (formatDate(d.date, locale) ?? undefined) : undefined, - }))} + options={days.map(d => { + const dateBadge = d.date ? (formatDate(d.date, locale) ?? undefined) : undefined + const dayBadge = d.title ? t('dayplan.dayN', { n: d.day_number }) : undefined + return { + value: d.id, + label: d.title || t('dayplan.dayN', { n: d.day_number }), + badge: dateBadge ?? dayBadge, + } + })} size="sm" /> diff --git a/client/src/components/Planner/TransportModal.tsx b/client/src/components/Planner/TransportModal.tsx index 8bff7762..c04d6003 100644 --- a/client/src/components/Planner/TransportModal.tsx +++ b/client/src/components/Planner/TransportModal.tsx @@ -220,11 +220,15 @@ export function TransportModal({ isOpen, onClose, onSave, reservation, days, sel const dayOptions = [ { value: '', label: '—' }, - ...days.map(d => ({ - value: d.id, - label: d.title || t('dayplan.dayN', { n: d.day_number }), - badge: d.date ? (formatDate(d.date, locale) ?? undefined) : undefined, - })), + ...days.map(d => { + const dateBadge = d.date ? (formatDate(d.date, locale) ?? undefined) : undefined + const dayBadge = d.title ? t('dayplan.dayN', { n: d.day_number }) : undefined + return { + value: d.id, + label: d.title || t('dayplan.dayN', { n: d.day_number }), + badge: dateBadge ?? dayBadge, + } + }), ] return (