2020-10-13 02:19:35 +03:00
|
|
|
import 'packs/public-path';
|
2023-10-24 21:23:31 +03:00
|
|
|
import Rails from '@rails/ujs';
|
2023-05-28 17:38:10 +03:00
|
|
|
|
|
|
|
import loadKeyboardExtensions from 'flavours/glitch/load_keyboard_extensions';
|
|
|
|
import { loadPolyfills } from 'flavours/glitch/polyfills';
|
2022-06-28 10:42:13 +03:00
|
|
|
import 'cocoon-js-vanilla';
|
2019-09-30 17:38:12 +03:00
|
|
|
|
|
|
|
function main() {
|
2022-10-30 19:15:28 +02:00
|
|
|
const toggleSidebar = () => {
|
|
|
|
const sidebar = document.querySelector('.sidebar ul');
|
|
|
|
const toggleButton = document.querySelector('.sidebar__toggle__icon');
|
|
|
|
|
|
|
|
if (sidebar.classList.contains('visible')) {
|
|
|
|
document.body.style.overflow = null;
|
2023-04-04 17:33:33 +03:00
|
|
|
toggleButton.setAttribute('aria-expanded', 'false');
|
2022-10-30 19:15:28 +02:00
|
|
|
} else {
|
|
|
|
document.body.style.overflow = 'hidden';
|
2023-04-04 17:33:33 +03:00
|
|
|
toggleButton.setAttribute('aria-expanded', 'true');
|
2022-10-30 19:15:28 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
toggleButton.classList.toggle('active');
|
|
|
|
sidebar.classList.toggle('visible');
|
|
|
|
};
|
|
|
|
|
2023-10-24 21:23:31 +03:00
|
|
|
Rails.delegate(document, '.sidebar__toggle__icon', 'click', () => {
|
2022-10-30 19:15:28 +02:00
|
|
|
toggleSidebar();
|
|
|
|
});
|
|
|
|
|
2023-10-24 21:23:31 +03:00
|
|
|
Rails.delegate(document, '.sidebar__toggle__icon', 'keydown', e => {
|
2022-10-30 19:15:28 +02:00
|
|
|
if (e.key === ' ' || e.key === 'Enter') {
|
|
|
|
e.preventDefault();
|
|
|
|
toggleSidebar();
|
|
|
|
}
|
2019-09-30 17:38:12 +03:00
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2019-11-04 14:03:09 +02:00
|
|
|
loadPolyfills()
|
|
|
|
.then(main)
|
|
|
|
.then(loadKeyboardExtensions)
|
|
|
|
.catch(error => {
|
|
|
|
console.error(error);
|
|
|
|
});
|