1
0
mirror of https://github.com/dwaxweiler/connector-mobilizon synced 2025-06-05 21:59:25 +02:00

let frontend dates and times be formatted by backend before sending

This commit is contained in:
Daniel Waxweiler
2025-05-28 10:20:57 +02:00
parent 1c3ea8462e
commit 108e677abe
9 changed files with 54 additions and 197 deletions

View File

@ -1,5 +1,3 @@
import DateTimeWrapper from './date-time-wrapper.js'
export default class Formatter {
static escapeHTML(input) {
const div = document.createElement('div')
@ -7,31 +5,22 @@ export default class Formatter {
return div.innerHTML
}
static formatDate({ locale, timeZone, start, end, isShortOffsetNameShown }) {
// TODO also use WP general site settings
const startDateTime = new DateTimeWrapper({
locale,
text: start,
timeZone,
})
let dateText = startDateTime.getShortDate()
dateText += ' ' + startDateTime.get24Time()
if (!end && isShortOffsetNameShown) {
dateText += ' (' + startDateTime.getShortOffsetName() + ')'
}
if (end) {
const endDateTime = new DateTimeWrapper({ locale, text: end, timeZone })
if (!startDateTime.equalsDate(endDateTime)) {
static formatDate({
startDateFormatted,
startTimeFormatted,
endDateFormatted,
endTimeFormatted,
}) {
let dateText = startDateFormatted
dateText += ' ' + startTimeFormatted
if (endDateFormatted) {
if (startDateFormatted !== endDateFormatted) {
dateText += ' - '
dateText += endDateTime.getShortDate() + ' '
dateText += endDateFormatted + ' '
} else {
dateText += ' - '
}
dateText += endDateTime.get24Time()
if (isShortOffsetNameShown) {
dateText += ' (' + endDateTime.getShortOffsetName() + ')'
}
dateText += endTimeFormatted
}
return dateText
}