import Rails from '@rails/ujs';

export default class LocaleSwitcher {

constructor() {
  this.switcher = document.getElementById('locale-switcher');
  if (this.switcher) {
    this.setupEventListeners();
  }
}

setupEventListeners() {
  const self = this;

  window.addEventListener('load', function() {
    let dropdownBtn = self.switcher.querySelector('.Nxd-locale');
    let dropdownOptions = self.switcher.querySelectorAll('.Vlt-dropdown__link');
    let pannel = self.switcher.querySelector('.Vlt-dropdown__panel');

    dropdownOptions.forEach(function(option) {
      option.addEventListener("click", function(event) {
        event.stopPropagation();

        dropdownBtn.innerHTML = option.innerHTML;

        pannel.hidden = true;
        self.localeChangeHandler(option.dataset.locale);
      });
    });
  });
}

localeChangeHandler(locale) {
  Rails.ajax({
    url: "/set_user_locale",
    type: "PUT",
    dataType: 'json',
    data: `preferred_locale=${locale}`
  })
}

}