Spaces:
Sleeping
Sleeping
Commit ·
9376839
1
Parent(s): 5406493
fix(UI-1): add hamburger button and mobile nav drawer -- users can now navigate on screens narrower than 768px
Browse files- frontend/css/components.css +25 -0
- frontend/index.html +8 -1
frontend/css/components.css
CHANGED
|
@@ -618,3 +618,28 @@
|
|
| 618 |
#app-main div[style*='grid-template-columns: 1fr 340px'] {
|
| 619 |
}
|
| 620 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 618 |
#app-main div[style*='grid-template-columns: 1fr 340px'] {
|
| 619 |
}
|
| 620 |
}
|
| 621 |
+
|
| 622 |
+
/* UI-1 FIX: hamburger button and mobile navigation drawer */
|
| 623 |
+
@media (max-width: 768px) {
|
| 624 |
+
.navbar__hamburger { display: block !important; }
|
| 625 |
+
.navbar__nav {
|
| 626 |
+
display: none;
|
| 627 |
+
position: fixed;
|
| 628 |
+
top: 60px;
|
| 629 |
+
left: 0;
|
| 630 |
+
right: 0;
|
| 631 |
+
background: var(--bg-secondary);
|
| 632 |
+
border-bottom: 1px solid var(--border-color);
|
| 633 |
+
padding: var(--space-4);
|
| 634 |
+
z-index: 490;
|
| 635 |
+
flex-direction: column;
|
| 636 |
+
gap: var(--space-2);
|
| 637 |
+
}
|
| 638 |
+
.navbar__nav--open {
|
| 639 |
+
display: flex !important;
|
| 640 |
+
}
|
| 641 |
+
.navbar__nav-link {
|
| 642 |
+
padding: var(--space-3) var(--space-4);
|
| 643 |
+
border-radius: var(--radius-md);
|
| 644 |
+
}
|
| 645 |
+
}
|
frontend/index.html
CHANGED
|
@@ -33,7 +33,7 @@
|
|
| 33 |
</div>
|
| 34 |
</a>
|
| 35 |
|
| 36 |
-
<nav class="navbar__nav" aria-label="Main navigation">
|
| 37 |
<a class="navbar__nav-link" data-route="/"
|
| 38 |
href="#/" onclick="Router.navigate('/');return false;" data-i18n="nav_home" data-i18n-default="Home">Home</a>
|
| 39 |
<a class="navbar__nav-link" data-route="/search"
|
|
@@ -44,6 +44,13 @@
|
|
| 44 |
href="#/about" onclick="Router.navigate('/about');return false;" data-i18n="nav_about" data-i18n-default="About">About</a>
|
| 45 |
</nav>
|
| 46 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 47 |
<div class="navbar__controls">
|
| 48 |
<select id="navbar-lang-select"
|
| 49 |
style="background:var(--bg-tertiary);border:1px solid var(--border-color);
|
|
|
|
| 33 |
</div>
|
| 34 |
</a>
|
| 35 |
|
| 36 |
+
<nav id="main-nav" class="navbar__nav" aria-label="Main navigation">
|
| 37 |
<a class="navbar__nav-link" data-route="/"
|
| 38 |
href="#/" onclick="Router.navigate('/');return false;" data-i18n="nav_home" data-i18n-default="Home">Home</a>
|
| 39 |
<a class="navbar__nav-link" data-route="/search"
|
|
|
|
| 44 |
href="#/about" onclick="Router.navigate('/about');return false;" data-i18n="nav_about" data-i18n-default="About">About</a>
|
| 45 |
</nav>
|
| 46 |
|
| 47 |
+
<!-- UI-1 FIX: hamburger button for mobile navigation -->
|
| 48 |
+
<button id="nav-toggle" class="navbar__hamburger" aria-label="Open navigation"
|
| 49 |
+
onclick="document.getElementById('main-nav').classList.toggle('navbar__nav--open')"
|
| 50 |
+
style="display:none;background:none;border:none;cursor:pointer;
|
| 51 |
+
padding:8px;color:var(--text-primary);font-size:20px">
|
| 52 |
+
☰
|
| 53 |
+
</button>
|
| 54 |
<div class="navbar__controls">
|
| 55 |
<select id="navbar-lang-select"
|
| 56 |
style="background:var(--bg-tertiary);border:1px solid var(--border-color);
|