2021-11-23 03:17:29 -05:00
|
|
|
import { $, $$, toggleEl } from './dom';
|
2021-08-25 20:02:05 -04:00
|
|
|
import { TagsInput } from "./tag_input";
|
2021-11-04 11:35:36 -04:00
|
|
|
|
2021-11-23 03:17:29 -05:00
|
|
|
const setupSignupModal = () => {
|
2021-11-04 11:35:36 -04:00
|
|
|
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');
|
|
|
|
});
|
|
|
|
}
|
2021-11-23 03:17:29 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
const globalSetup = () => {
|
|
|
|
Array.prototype.forEach.call($$('.js-tag-input'), (el) => {
|
|
|
|
new TagsInput(el).attach();
|
|
|
|
});
|
|
|
|
|
|
|
|
setupSignupModal();
|
2021-11-04 11:35:36 -04:00
|
|
|
|
|
|
|
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');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
2021-08-25 20:02:05 -04:00
|
|
|
|
2021-11-23 03:17:29 -05:00
|
|
|
// 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 = '';
|
|
|
|
}
|
2021-08-25 02:08:30 -04:00
|
|
|
}
|
2021-11-23 03:17:29 -05:00
|
|
|
|
|
|
|
export { globalSetup };
|