mitai-jinkendo/frontend/src/utils/photoDisplay.js

26 lines
895 B
JavaScript
Raw Normal View History

import dayjs from 'dayjs'
/** Monatsschlüssel YYYY-MM für Gruppierung (EXIF-Zeit bevorzugt). */
export function photoMonthKey(p) {
if (p.taken_at) return p.taken_at.slice(0, 7)
if (p.date) {
return typeof p.date === 'string' ? p.date.slice(0, 7) : dayjs(p.date).format('YYYY-MM')
}
return (p.created || '').slice(0, 7) || '0000-00'
}
/** Sortierung: ISO-Zeit oder Datum. */
export function photoSortKey(p) {
if (p.taken_at) return p.taken_at
const d = p.date || p.created || ''
return typeof d === 'string' ? d.slice(0, 10) : dayjs(d).format('YYYY-MM-DD')
}
/** Badge / Untertitel: mit Uhrzeit wenn EXIF vorhanden. */
export function formatPhotoCaption(p) {
if (p.taken_at) return dayjs(p.taken_at).format('DD.MM.YYYY HH:mm')
const raw = p.date || p.created
if (!raw) return ''
return typeof raw === 'string' ? raw.slice(0, 10) : dayjs(raw).format('DD.MM.YYYY')
}