/** * Die HoneyOS-Leiste nachladen. * * Zur Laufzeit statt beim Bauen: Der Ursprung steht in der .env des Servers, * ein fertiges Abbild laesst sich damit umziehen, ohne es neu zu bauen. Frueher * stand die Adresse fest in der index.html — wer die Leiste woanders betrieb, * bekam einen CSP-Verstoss, weil der erlaubte und der geladene Ursprung * auseinanderliefen. Beides kommt jetzt aus HONEYBAR_ORIGIN. * * Faellt der Server aus oder ist kein Ursprung gesetzt, passiert schlicht * nichts: Aether ist nicht auf die Leiste angewiesen. */ export function mountHoneybar(origin?: string) { if (!origin) return // Der Aufruf haengt an der Konfiguration, und die wird auch neu geladen, // wenn der Admin etwas aendert. Zweimal einbinden hiesse zwei Leisten. if (document.querySelector('script[data-honeybar]')) return const el = document.createElement('script') el.dataset.honeybar = '' el.defer = true el.src = origin.replace(/\/+$/, '') + '/honeybar/honeybar.js' // honeybar.js liest seine Einstellungen ueber document.currentScript – // das gilt auch fuer ein nachtraeglich eingehaengtes Skript. el.dataset.app = 'aether' document.head.appendChild(el) }