import { ref, onMounted, onUnmounted } from 'vue'; export const eventBus = { listeners: {}, on(eventName, callback) { if (!this.listeners[eventName]) { this.listeners[eventName] = []; } this.listeners[eventName].push(callback); }, emit(eventName, ...args) { const callbacks = this.listeners[eventName]; if (callbacks) { callbacks.forEach(callback => callback(...args)); } }, off(eventName, callback) { const callbacks = this.listeners[eventName]; if (callbacks) { this.listeners[eventName] = callbacks.filter(cb => cb !== callback); } } };