fix: beheerpaneel toont laadfout i.p.v. stilletjes leeg te blijven (v0.3.98-beta)
All checks were successful
dev - build & deploy naar test / build-and-deploy (push) Successful in 34s

- reload() in het beheerpaneel (scholen/klassen/gebruikers) ving elke fout
  stilletjes op en zette alles terug naar lege lijsten, zonder enige melding -
  dat gaf een verwarrend leeg paneel bij een specifieke school terwijl "alle
  scholen" wel werkte, zonder enig aanknopingspunt waarom
- de echte oorzaak verschijnt nu bovenin het paneel (amLoadError), zodat een
  volgende mislukking direct te diagnosticeren is i.p.v. te moeten gokken
This commit is contained in:
Ramon 2026-07-18 03:08:55 +02:00
parent 4ffb69ca61
commit 205ba74eff
3 changed files with 11 additions and 3 deletions

View file

@ -1 +1 @@
0.3.97-beta
0.3.98-beta

View file

@ -259,6 +259,7 @@
});
async function reload(){
let reloadError = null;
try{
if(currentUser.role==="super"){
SCHOOLS = await api("/schools");
@ -287,8 +288,13 @@
const lq = currentUser.role==="super" ? "?school="+selSchool : "";
LINK_REQUESTS = ((await api("/admin/link-requests"+lq).catch(()=>({}))).requests) || [];
}
}catch(e){ USERS = []; CLASSES = []; ASSIGNMENTS = {}; LINK_REQUESTS = []; }
}catch(e){ USERS = []; CLASSES = []; ASSIGNMENTS = {}; LINK_REQUESTS = []; reloadError = e; }
render();
/* render() bouwt de modal (incl. .am-msg) helemaal opnieuw op, dus de
melding pas render() zetten - anders wordt hij meteen weer gewist.
Zonder dit bleef het paneel bij een fout stilletjes helemaal leeg staan
zonder enige aanwijzing waarom. */
if(reloadError) msg(T("amLoadError") + ": " + reloadError.message);
}
function classSel(current){

View file

@ -2,7 +2,7 @@
"use strict";
/* version shown until /api/version resolves (or if the fetch fails, e.g. offline).
Kept in sync by hand with the VERSION file at the repo root on every release. */
const VERSION = "0.3.97-beta";
const VERSION = "0.3.98-beta";
(function(){
const tag = document.getElementById("verTag");
tag.textContent = "v"+VERSION;
@ -282,6 +282,7 @@ const I18N = {
amNoSchool:"— geen school —", amNoSchoolGroup:"Zonder school", amShowMore:"meer tonen",
amMoveToSchool:"— verplaats naar school… —", amFieldMoveSchool:"Verplaats naar", amPickSchoolFirst:"Kies hierboven eerst een school om de klassen te zien of aan te maken.",
amNoClassesHere:"Deze school heeft nog geen klassen. Bestaande klassen kunnen bij een andere school horen — kies die school hierboven, of maak hieronder een nieuwe klas.",
amLoadError:"Laden mislukt",
amDetailEmpty:"Selecteer links een gebruiker om te bewerken, of maak een nieuwe aan.",
amNewUser:"Nieuwe gebruiker", amRequestOne:"Aanmelding", amReqNew:"nieuw",
amParents:"Ouders",
@ -579,6 +580,7 @@ const I18N = {
amNoSchool:"— no school —", amNoSchoolGroup:"No school", amShowMore:"show more",
amMoveToSchool:"— move to school… —", amFieldMoveSchool:"Move to", amPickSchoolFirst:"First pick a school above to see or create its classes.",
amNoClassesHere:"This school has no classes yet. Existing classes may belong to another school — pick that school above, or create a new class below.",
amLoadError:"Failed to load",
amDetailEmpty:"Select a user on the left to edit, or create a new one.",
amNewUser:"New user", amRequestOne:"Enrolment", amReqNew:"new",
amParents:"Parents",