import { $, $$, toggleEl } from './dom'; import { TagsInput } from "./tag_input"; const setupSignupModal = () => { const signupButton = $('[data-target~="#signin"],[data-target~="#signup"]'); if (signupButton) { signupButton.addEventListener('click', () => { $('.modal').classList.add('is-active'); }); $('.modal-button-close').addEventListener('click', () => { $('.modal').classList.remove('is-active'); }); } } const globalSetup = () => { Array.prototype.forEach.call($$('.js-tag-input'), (el) => { new TagsInput(el).attach(); }); setupSignupModal(); const embedButton = $('.panel-tools .embed-tool'); if (embedButton){ embedButton.addEventListener('click', (evt) => { if (evt.target && evt.target.closest('.panel-tools')) { toggleEl(evt.target.closest('.panel-tools').querySelector('.panel-embed')); } }); } const expandButton = $('.expand-tool'); if (expandButton) { expandButton.addEventListener('click', (evt) => { if (evt.target && evt.target.closest('.panel')) { const panel = evt.target.closest('.panel'); if (panel.classList.contains('panel-fullsize')) { panel.classList.remove('panel-fullsize'); } else { panel.classList.add('panel-fullsize'); } } }); } // Notifications (document.querySelectorAll('.notification .delete') || []).forEach(($delete) => { const $notification = $delete.parentNode; $delete.addEventListener('click', () => { $notification.parentNode.removeChild($notification); }); }); // Hamburger menu const $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0); if ($navbarBurgers.length > 0) { $navbarBurgers.forEach(el => { el.addEventListener('click', () => { const target = el.dataset.target; const $target = document.getElementById(target); el.classList.toggle('is-active'); $target.classList.toggle('is-active'); }); }); } const preloader = $('.preloader'); const main = $('main'); if (preloader && main) { preloader.remove(); main.id = ''; } } export { globalSetup };