Jaga-Jalan/resources/js/bootstrap.js

37 lines
1.1 KiB
JavaScript

import axios from 'axios';
window.axios = axios;
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
/**
* 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');
window.Echo = new Echo({
broadcaster: 'pusher',
key: 'd82783da6b2fe32e1dec',
cluster: 'ap1',
encrypted: true
});
// Listen for notification events for the current user
const userId = document.querySelector('meta[name="user-id"]')?.content;
if (userId) {
window.Echo.private(`notifications.${userId}`)
.listen('.notification.received', (data) => {
// Handle the notification update
console.log('New notification received:', data);
// Trigger custom event that the notification component can listen for
const event = new CustomEvent('notificationReceived', { detail: data });
document.dispatchEvent(event);
});
}