Skip to content
wiki.fftac.org

JS Main

**Site relevance:** Antichrist.net

**Memory type:** theme source memory

**Source path:** Antichrist.net/wp-content/themes/antichrist-net/assets/js/main.js

**Size:** 2.1 KB

Summary

document.body.classList.add('has-js');

Source Preview

This source file is short enough to preview directly on its source-memory page.

(function () {
  'use strict';

  if (document.body) {
    document.body.classList.add('has-js');
  }

  var toggle = document.querySelector('.menu-toggle');
  var nav = document.querySelector('.primary-navigation');
  var more = document.querySelector('.nav-more');
  var mobileQuery = window.matchMedia ? window.matchMedia('(max-width: 1120px)') : null;

  if (toggle && nav) {
    toggle.addEventListener('click', function () {
      var expanded = toggle.getAttribute('aria-expanded') === 'true';
      toggle.setAttribute('aria-expanded', expanded ? 'false' : 'true');
      nav.classList.toggle('is-open', !expanded);
      if (expanded && more) {
        more.removeAttribute('open');
      }
    });

    nav.addEventListener('click', function (event) {
      if (!event.target.closest('a') || (mobileQuery && !mobileQuery.matches)) return;
      toggle.setAttribute('aria-expanded', 'false');
      nav.classList.remove('is-open');
      if (more) {
        more.removeAttribute('open');
      }
    });
  }

  if (more) {
    document.addEventListener('click', function (event) {
      if (!more.open || more.contains(event.target)) return;
      more.removeAttribute('open');
    });

    document.addEventListener('keydown', function (event) {
      if (event.key !== 'Escape') return;
      more.removeAttribute('open');
      if (toggle && nav) {
        toggle.setAttribute('aria-expanded', 'false');
        nav.classList.remove('is-open');
      }
    });
  }

  var tabButtons = document.querySelectorAll('[data-acn-tab]');
  if (tabButtons.length) {
    tabButtons.forEach(function (button) {
      button.addEventListener('click', function () {
        var target = button.getAttribute('data-acn-tab');
        var group = button.closest('[data-acn-tabs]');
        if (!group || !target) return;
        group.querySelectorAll('[data-acn-tab]').forEach(function (btn) {
          btn.setAttribute('aria-selected', btn === button ? 'true' : 'false');
        });
        group.querySelectorAll('[data-acn-panel]').forEach(function (panel) {
          panel.hidden = panel.getAttribute('data-acn-panel') !== target;
        });
      });
    });
  }
}());