/** * Echo exposes an expressive API for subscribing to channels and listening * for events that are broadcast by Laravel. Echo and event broadcasting * allows your team to easily build robust real-time web applications. */ import Echo from 'laravel-echo'; window.Pusher = require('pusher-js'); // Get CSRF token from meta tag const csrfToken = document.querySelector('meta[name="csrf-token"]')?.getAttribute('content'); // Get current locale from URL path (e.g., /en/, /nl/, etc.) const locale = window.location.pathname.split('/')[1] || 'en'; window.Echo = new Echo({ broadcaster: 'reverb', key: import.meta.env.VITE_REVERB_APP_KEY, wsHost: import.meta.env.VITE_REVERB_HOST, wsPort: import.meta.env.VITE_REVERB_PORT ?? 80, wssPort: import.meta.env.VITE_REVERB_PORT ?? 443, wsPath: import.meta.env.VITE_REVERB_PATH ?? "/", forceTLS: (import.meta.env.VITE_REVERB_SCHEME ?? "https") === "https", enabledTransports: ['ws', 'wss'], authEndpoint: `/${locale}/broadcasting/auth`, auth: { headers: { 'X-CSRF-TOKEN': csrfToken, 'Accept': 'application/json', }, }, });