diff --git a/containers/libreportal/frontend/js/components/config/config-manager.js b/containers/libreportal/frontend/js/components/config/config-manager.js index 5589a35..689ebc5 100755 --- a/containers/libreportal/frontend/js/components/config/config-manager.js +++ b/containers/libreportal/frontend/js/components/config/config-manager.js @@ -25,6 +25,13 @@ if (typeof window.ConfigManager === 'undefined') { return; } + // The sidebar and page headers read window.configData. Load it up front so + // populateSidebar() has categories on a cold admin visit (e.g. straight + // from the dashboard); otherwise the overview/tools branches below render + // an empty sidebar until something else populates configData. Cached after + // the first call, so the config-category path below is a cache hit. + try { await this.core.loadConfig(category); } catch (e) {} + // Overview is the Admin landing — an ops/health board, not a config form. if (category === 'overview') { try { this.sidebar.populateSidebar(); } catch (e) {}