fix(tour): Topbar-Link synchron toggeln statt via DOMContentLoaded

DOMContentLoaded-Race: bei manchen Page-Loads war das Event schon
gefeuert, wenn das addEventListener-Script lief — der Listener wurde
nie aufgerufen, der Topbar-Tour-Link blieb hidden. Auf der Startseite
führte das dazu, dass nach Welcome-Banner-Dismiss kein Tour-Einstieg
mehr da war.

Fix: synchroner IIFE-Check, der Skript-Block steht ohnehin nach dem
body_scripts (STEPS sind dort schon gesetzt).
This commit is contained in:
Dotty Dotter 2026-05-09 07:40:25 +02:00
parent c3fd617585
commit a3a2b90e9f

View File

@ -331,14 +331,16 @@
<script>
/* Tour-Link in der Topbar nur einblenden, wenn die aktuelle Page eine
Tour definiert hat (window.GWOE_TOUR_STEPS). Wird auf jeder Page mit
{% include "v3/components/tour.html" %} sichtbar. */
document.addEventListener('DOMContentLoaded', function () {
Tour definiert hat (window.GWOE_TOUR_STEPS). Synchron — das Skript
steht nach dem body_scripts-Block, dort werden die STEPS gesetzt.
addEventListener('DOMContentLoaded') hatte einen Race weil
DOMContentLoaded an manchen Stellen schon gefeuert hat. */
(function () {
var link = document.getElementById('v2-topbar-tour');
if (link && Array.isArray(window.GWOE_TOUR_STEPS) && window.GWOE_TOUR_STEPS.length > 0) {
link.hidden = false;
}
});
})();
</script>
{# Feedback/Bug-Report-Widget — öffnet Gitea-Issues direkt aus dem Browser #}