import { createApp } from 'vue'
import { createPinia } from 'pinia'
import App from './App.vue'
import '/node_modules/flag-icons/css/flag-icons.min.css'
import './styles/main.css'

// Custom directive v-cell-hover (zgodnie z wymaganiami)
// Służy do podświetlania wiersza i kolumny po najechaniu na komórkę
const vCellHover = {
  mounted(el, binding) {
    el.addEventListener('mouseenter', () => {
      // Implementacja logiki hover w komponencie jest zwykle lepsza dla reaktywności Vue,
      // ale jako dyrektywa może manipulować klasami DOM dla wydajności.
      // Tutaj przekażemy zdarzenie do store lub komponentu wyżej, ale
      // dla uproszczenia w dyrektywie, po prostu emitujemy custom event
      el.dispatchEvent(new CustomEvent('cell-hover', { 
        bubbles: true, 
        detail: binding.value 
      }));
    });
    el.addEventListener('mouseleave', () => {
      el.dispatchEvent(new CustomEvent('cell-leave', { bubbles: true }));
    });
  }
}

const app = createApp(App)

app.use(createPinia())
app.directive('cell-hover', vCellHover)

app.mount('#app')

