24 lines
1.1 KiB
JavaScript
24 lines
1.1 KiB
JavaScript
document.addEventListener('DOMContentLoaded', () => {
|
|
const tabs = [...document.querySelectorAll('.content-tab-bar__item[data-tab]')];
|
|
const panels = [...document.querySelectorAll('.sb-tab-content')];
|
|
function showTab(name) {
|
|
if (!tabs.some(tab => tab.dataset.tab === name)) return;
|
|
tabs.forEach(tab => tab.classList.toggle('active', tab.dataset.tab === name));
|
|
panels.forEach(panel => panel.classList.toggle('active', panel.id === 'tab-' + name));
|
|
history.replaceState(null, '', '#' + name);
|
|
}
|
|
tabs.forEach(tab => tab.addEventListener('click', () => showTab(tab.dataset.tab)));
|
|
showTab(location.hash.slice(1));
|
|
document.querySelectorAll('[data-confirm]').forEach(button => {
|
|
button.addEventListener('click', event => {
|
|
if (!confirm(button.dataset.confirm)) event.preventDefault();
|
|
});
|
|
});
|
|
document.querySelectorAll('[data-upload-form]').forEach(form => {
|
|
form.addEventListener('submit', () => {
|
|
form.classList.add('sb-uploading');
|
|
form.querySelector('[type="submit"]').disabled = true;
|
|
});
|
|
});
|
|
});
|