#26 - Loading animation + success message fix

This commit was merged in pull request #31.
This commit is contained in:
Martin Slachta
2026-06-22 11:20:28 +02:00
parent c754e18a82
commit 97ee8fc991
32 changed files with 597 additions and 175 deletions
+20
View File
@@ -53,6 +53,24 @@ class RsvTimeline extends HTMLElement {
}
}
_skeleton() {
const frag = document.createDocumentFragment();
const label = document.createElement('div');
label.className = 'rsv-slots-label rsv-slots-skeleton rsv-slots-skeleton-label';
frag.appendChild(label);
for (let i = 0; i < 4; i++) {
const row = document.createElement('div');
row.className = 'rsv-slots-slot rsv-slots-skeleton';
const time = document.createElement('span');
time.className = 'rsv-slots-slot-time rsv-slots-skeleton rsv-slots-skeleton-text';
const badge = document.createElement('span');
badge.className = 'rsv-slots-slot-badge rsv-slots-skeleton rsv-slots-skeleton-badge';
row.append(time, badge);
frag.appendChild(row);
}
return frag;
}
async _render() {
// Version guard: discard renders that were superseded by a newer call.
const v = ++this._version;
@@ -63,6 +81,8 @@ class RsvTimeline extends HTMLElement {
return;
}
this.replaceChildren(this._skeleton());
try {
const occupancy = await RsvTimetableService.get_availability_for_date(this.timetableId, this.date);
if (v !== this._version) return;