Buchungskalender: Kalender und Unterkünfte im Portal
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
3ecea05b52
commit
db9fc61894
8 files changed
+814
-8
No files matched your search
@@ -0,0 +1,25 @@
|
||||
/* Buchungskalender: gemeinsame Helfer der Reiter „Kalender“ und „Unterkünfte & Preise“ (Datumsrechnung, Fehlertexte, Unterkunftsliste).
|
||||
Kalendertage sind Texte YYYY-MM-DD (Berlin); gerechnet wird nur mit UTC-Mitternacht, nie mit der Zeitzone des Browsers. */
|
||||
import { zeigeFehler } from './shop-dom.js'
|
||||
import { fehlerFuerFormular } from './buchungen-fehler.js'
|
||||
|
||||
export const enc = encodeURIComponent
|
||||
export const zeichen = (x) => (typeof x === 'string' ? x : '')
|
||||
export const tagMs = (tag) => { const [j, m, t] = String(tag).split('-').map(Number); return Date.UTC(j, m - 1, t) }
|
||||
export const msTag = (ms) => new Date(ms).toISOString().slice(0, 10)
|
||||
export const plusTage = (tag, n) => msTag(tagMs(tag) + n * 86400000)
|
||||
/** Heute als Berlin-Datum. */
|
||||
export const heuteBerlin = () => new Date().toLocaleDateString('sv-SE', { timeZone: 'Europe/Berlin' })
|
||||
/** '2026-11-12' ⇒ '12.11.2026'. */
|
||||
export const tagText = (tag) => { const m = /^(\d{4})-(\d{2})-(\d{2})$/.exec(tag || ''); return m ? `${m[3]}.${m[2]}.${m[1]}` : '' }
|
||||
|
||||
/** Fehler am Formular zeigen (Feldfehler am Feld, sonst allgemein); der Fokus geht auf das erste fehlerhafte Feld. */
|
||||
export function zeigeApiFehler(form, err) {
|
||||
zeigeFehler(form, fehlerFuerFormular(err))
|
||||
}
|
||||
|
||||
/** Unterkuenfte des Projekts: GET /api/unterkunft/unterkuenfte => { unterkuenfte:[…] }. */
|
||||
export async function ladeUnterkuenfte(ctx) {
|
||||
const daten = await ctx.request(`/api/unterkunft/unterkuenfte?projectId=${enc(ctx.projectId)}`)
|
||||
return (Array.isArray(daten?.unterkuenfte) ? daten.unterkuenfte : []).slice().sort((a, b) => (a.sort ?? 0) - (b.sort ?? 0))
|
||||
}
|
||||
Reference in new issue
Block a user