add image generation tab and fix mobile menu
All checks were successful
Build and Push Container / build-and-push (push) Successful in 14s

This commit is contained in:
2026-05-05 09:13:17 -04:00
parent 695a3a510e
commit 6359aefd18
10 changed files with 1017 additions and 41 deletions

View File

@@ -10,7 +10,7 @@
<nav>
<div class="nav-inner">
<a href="/" class="nav-brand">AI Cheat Sheet</a>
<a href="../index.html" class="nav-brand">AI Cheat Sheet</a>
<div class="nav-links">
<a href="/pages/terminology.html">Terminology</a>
<a href="/pages/techniques.html">Techniques</a>
@@ -19,11 +19,15 @@
<a href="/pages/prompts.html" class="active">Prompt Guide</a>
<a href="/pages/math.html">Math & Concepts</a>
<a href="/pages/chat.html">Chat</a>
<a href="/pages/image-gen.html">Image Gen</a>
</div>
<button class="dark-toggle" id="darkToggle" aria-label="Toggle dark mode">🌙</button>
</div>
</nav>
<button class="menu-toggle" id="menuToggle" aria-label="Toggle menu"></button>
<div class="sidebar-backdrop" id="sidebarBackdrop"></div>
<script>
(function(){
var btn = document.getElementById('darkToggle');
@@ -44,6 +48,34 @@
localStorage.setItem('theme','dark');
}
});
var menuToggle = document.getElementById('menuToggle');
var nav = document.querySelector('nav');
var backdrop = document.getElementById('sidebarBackdrop');
if(menuToggle && nav){
menuToggle.addEventListener('click', function(){
nav.classList.toggle('sidebar-open');
var isOpen = nav.classList.contains('sidebar-open');
menuToggle.textContent = isOpen ? '✕' : '☰';
if(backdrop){
backdrop.classList.toggle('visible', isOpen);
}
});
if(backdrop){
backdrop.addEventListener('click', function(){
nav.classList.remove('sidebar-open');
menuToggle.textContent = '☰';
backdrop.classList.remove('visible');
});
}
document.addEventListener('click', function(e){
if(nav.classList.contains('sidebar-open') && !nav.contains(e.target) && e.target !== menuToggle){
nav.classList.remove('sidebar-open');
menuToggle.textContent = '☰';
if(backdrop) backdrop.classList.remove('visible');
}
});
}
})();
</script>