31 lines
1.4 KiB
JavaScript
31 lines
1.4 KiB
JavaScript
/*
|
|
* Alpine für die öffentliche Website — und nur für sie.
|
|
*
|
|
* Die Konsole und das Portal bekommen Alpine von Livewire mitgeliefert; die
|
|
* Website lädt Livewire nicht (sie hat kein einziges Livewire-Bauteil) und
|
|
* stand damit ganz ohne da. `resources/js/app.js` fiel das nicht auf: es
|
|
* importiert Alpine nirgends, sondern greift nur innerhalb von `alpine:init`
|
|
* auf `window.Alpine` zu — ein Ereignis, das ohne Alpine nie eintritt.
|
|
*
|
|
* Die Folge war unsichtbar und trotzdem groß: elf `x-show` auf der Startseite
|
|
* taten nichts. Der Umschalter zwischen Monats- und Jahrespreis rührte sich
|
|
* nicht, und weil die Jahres-Ansicht `x-cloak` trägt — und
|
|
* `[x-cloak]{display:none!important}` sehr wohl ausgeliefert wird —, war der
|
|
* Jahrespreis dauerhaft verborgen statt bloß ungeschaltet. Dasselbe traf das
|
|
* Menü am Telefon.
|
|
*
|
|
* Ein eigenes Bündel statt `@livewireScripts` im öffentlichen Layout: die
|
|
* gesamte Livewire-Laufzeit samt ihrem Endpunkt gehört nicht auf eine Seite,
|
|
* die kein Bauteil davon benutzt. Alpine allein ist ein Bruchteil davon.
|
|
*
|
|
* Wird NACH `app.js` geladen (siehe `components/layouts/site.blade.php`), damit
|
|
* dessen `alpine:init`-Anmeldungen stehen, bevor hier gestartet wird. Auf
|
|
* Konsolen- und Portalseiten läuft diese Datei nicht — dort startet Livewire
|
|
* Alpine, und ein zweiter Start würde beide zerlegen.
|
|
*/
|
|
import Alpine from 'alpinejs'
|
|
|
|
window.Alpine = Alpine
|
|
|
|
Alpine.start()
|