diff --git a/techblog_cms/static/js/main.js b/techblog_cms/static/js/main.js index fd47f2c..5175c52 100644 --- a/techblog_cms/static/js/main.js +++ b/techblog_cms/static/js/main.js @@ -1,4 +1,41 @@ document.addEventListener('DOMContentLoaded', function() { - // Initialize any JavaScript functionality - // Mobile menu toggle functionality can be added here + const menuButton = document.getElementById('mobile-menu-button'); + const mobileMenu = document.getElementById('mobile-menu'); + + if (!menuButton || !mobileMenu) { + return; + } + + const closeMenu = () => { + mobileMenu.classList.add('hidden'); + menuButton.setAttribute('aria-expanded', 'false'); + }; + + menuButton.addEventListener('click', (event) => { + event.preventDefault(); + const isHidden = mobileMenu.classList.contains('hidden'); + + if (isHidden) { + mobileMenu.classList.remove('hidden'); + menuButton.setAttribute('aria-expanded', 'true'); + } else { + closeMenu(); + } + }); + + mobileMenu.querySelectorAll('a').forEach((link) => { + link.addEventListener('click', () => { + closeMenu(); + }); + }); + + document.addEventListener('click', (event) => { + if ( + !mobileMenu.classList.contains('hidden') && + !mobileMenu.contains(event.target) && + !menuButton.contains(event.target) + ) { + closeMenu(); + } + }); }); \ No newline at end of file diff --git a/techblog_cms/templates/base.html b/techblog_cms/templates/base.html index 5c4964c..608fddf 100644 --- a/techblog_cms/templates/base.html +++ b/techblog_cms/templates/base.html @@ -31,12 +31,12 @@ {% include 'components/header.html' %} {% endblock %} -
-
+
+
{% block sidebar %} {% include 'components/sidebar.html' %} {% endblock %} - + {% block content %} {% include 'components/main_content.html' %} {% endblock %} @@ -44,7 +44,7 @@
{% block scripts %} - + {% endblock %} diff --git a/techblog_cms/templates/components/header.html b/techblog_cms/templates/components/header.html index d0f2368..64d43fc 100644 --- a/techblog_cms/templates/components/header.html +++ b/techblog_cms/templates/components/header.html @@ -1,40 +1,54 @@
diff --git a/techblog_cms/templates/components/sidebar.html b/techblog_cms/templates/components/sidebar.html index 06f458f..22c2e95 100644 --- a/techblog_cms/templates/components/sidebar.html +++ b/techblog_cms/templates/components/sidebar.html @@ -1,4 +1,4 @@ -