/** Datums- und Zeitformate, wie sie im Büro gelesen werden. */

export function formatDateTime(value?: string): string {
    if (!value) return '–';

    const date = new Date(value);

    return Number.isNaN(date.getTime())
        ? value
        : new Intl.DateTimeFormat('de-DE', { dateStyle: 'medium', timeStyle: 'short' }).format(date);
}

export function formatDate(value?: string): string {
    if (!value) return '–';

    // Mittag statt Mitternacht: so kippt ein reines Datum nicht über die Zeitzone.
    const date = new Date(`${value.slice(0, 10)}T12:00:00`);

    return Number.isNaN(date.getTime()) ? value : new Intl.DateTimeFormat('de-DE', { dateStyle: 'medium' }).format(date);
}
