collapse nav items on smaller screens
This commit is contained in:
@@ -51,7 +51,14 @@ async function createOptimizedBuild() {
|
|||||||
'video-container',
|
'video-container',
|
||||||
'photo-gallery',
|
'photo-gallery',
|
||||||
'photo-item',
|
'photo-item',
|
||||||
'dark'
|
'dark',
|
||||||
|
// Responsive navigation classes
|
||||||
|
'desktop-nav',
|
||||||
|
'mobile-nav',
|
||||||
|
'dropdown',
|
||||||
|
// Button classes
|
||||||
|
'secondary',
|
||||||
|
'outline'
|
||||||
],
|
],
|
||||||
deep: [
|
deep: [
|
||||||
/^--pico-/,
|
/^--pico-/,
|
||||||
@@ -60,7 +67,12 @@ async function createOptimizedBuild() {
|
|||||||
/:hover/,
|
/:hover/,
|
||||||
/:focus/,
|
/:focus/,
|
||||||
/:active/,
|
/:active/,
|
||||||
/:visited/
|
/:visited/,
|
||||||
|
// Dropdown and interactive states
|
||||||
|
/\[open\]/,
|
||||||
|
/\[role=/,
|
||||||
|
/details/,
|
||||||
|
/summary/
|
||||||
],
|
],
|
||||||
// Keep base typography selectors that are essential for proper font rendering
|
// Keep base typography selectors that are essential for proper font rendering
|
||||||
greedy: [
|
greedy: [
|
||||||
@@ -78,7 +90,14 @@ async function createOptimizedBuild() {
|
|||||||
/^a$/,
|
/^a$/,
|
||||||
/^a:/, // Add anchor pseudo-classes like a:hover, a:focus
|
/^a:/, // Add anchor pseudo-classes like a:hover, a:focus
|
||||||
/^a\./, // Add anchor with classes like a.secondary
|
/^a\./, // Add anchor with classes like a.secondary
|
||||||
/^a\[/ // Add anchor with attributes like a[role=button]
|
/^a\[/, // Add anchor with attributes like a[role=button]
|
||||||
|
// Dropdown and button elements
|
||||||
|
/^details$/,
|
||||||
|
/^summary$/,
|
||||||
|
/^button$/,
|
||||||
|
/^button:/,
|
||||||
|
/^button\./,
|
||||||
|
/^button\[/
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
variables: true,
|
variables: true,
|
||||||
@@ -239,7 +258,7 @@ async function bundleAndMinifyJS() {
|
|||||||
hoist_vars: false,
|
hoist_vars: false,
|
||||||
if_return: true,
|
if_return: true,
|
||||||
join_vars: true,
|
join_vars: true,
|
||||||
cascade: true,
|
|
||||||
side_effects: true
|
side_effects: true
|
||||||
},
|
},
|
||||||
mangle: {
|
mangle: {
|
||||||
|
|||||||
@@ -11,14 +11,32 @@
|
|||||||
<body>
|
<body>
|
||||||
<header class="container">
|
<header class="container">
|
||||||
<nav>
|
<nav>
|
||||||
<ul>
|
<!-- Desktop Navigation -->
|
||||||
<li><a target="_blank"href="https://mastodon.keyboardvagabond.com/public">Mastodon</a></li>
|
<ul class="desktop-nav">
|
||||||
|
<li><a target="_blank" href="https://mastodon.keyboardvagabond.com/public">Mastodon</a></li>
|
||||||
<li><a target="_blank" href="https://piefed.keyboardvagabond.com">Piefed</a></li>
|
<li><a target="_blank" href="https://piefed.keyboardvagabond.com">Piefed</a></li>
|
||||||
<li><a target="_blank" href="https://pixelfed.keyboardvagabond.com">Pixelfed</a></li>
|
<li><a target="_blank" href="https://pixelfed.keyboardvagabond.com">Pixelfed</a></li>
|
||||||
<li><a target="_blank" href="https://bookwyrm.keyboardvagabond.com">Bookwyrm</a></li>
|
<li><a target="_blank" href="https://bookwyrm.keyboardvagabond.com">Bookwyrm</a></li>
|
||||||
<li><a target="_blank" href="https://blog.keyboardvagabond.com">Write Freely</a></li>
|
<li><a target="_blank" href="https://blog.keyboardvagabond.com">Write Freely</a></li>
|
||||||
<li><a target="_blank" href="https://picsur.keyboardvagabond.com">Picsur</a></li>
|
<li><a target="_blank" href="https://picsur.keyboardvagabond.com">Picsur</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
<!-- Mobile Navigation -->
|
||||||
|
<ul class="mobile-nav">
|
||||||
|
<li>
|
||||||
|
<details class="dropdown">
|
||||||
|
<summary role="button" class="secondary">Sites</summary>
|
||||||
|
<ul>
|
||||||
|
<li><a target="_blank" href="https://mastodon.keyboardvagabond.com/public">Mastodon</a></li>
|
||||||
|
<li><a target="_blank" href="https://piefed.keyboardvagabond.com">Piefed</a></li>
|
||||||
|
<li><a target="_blank" href="https://pixelfed.keyboardvagabond.com">Pixelfed</a></li>
|
||||||
|
<li><a target="_blank" href="https://bookwyrm.keyboardvagabond.com">Bookwyrm</a></li>
|
||||||
|
<li><a target="_blank" href="https://blog.keyboardvagabond.com">Write Freely</a></li>
|
||||||
|
<li><a target="_blank" href="https://picsur.keyboardvagabond.com">Picsur</a></li>
|
||||||
|
</ul>
|
||||||
|
</details>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="index.html">Home</a></li>
|
<li><a href="index.html">Home</a></li>
|
||||||
<li>
|
<li>
|
||||||
|
|||||||
@@ -14,14 +14,33 @@
|
|||||||
<!-- Header -->
|
<!-- Header -->
|
||||||
<header class="container">
|
<header class="container">
|
||||||
<nav>
|
<nav>
|
||||||
<ul>
|
<!-- Desktop Navigation -->
|
||||||
<li><a target="_blank"href="https://mastodon.keyboardvagabond.com/public">Mastodon</a></li>
|
<ul class="desktop-nav">
|
||||||
|
<li><a target="_blank" href="https://mastodon.keyboardvagabond.com/public">Mastodon</a></li>
|
||||||
<li><a target="_blank" href="https://piefed.keyboardvagabond.com">Piefed</a></li>
|
<li><a target="_blank" href="https://piefed.keyboardvagabond.com">Piefed</a></li>
|
||||||
<li><a target="_blank" href="https://pixelfed.keyboardvagabond.com">Pixelfed</a></li>
|
<li><a target="_blank" href="https://pixelfed.keyboardvagabond.com">Pixelfed</a></li>
|
||||||
<li><a target="_blank" href="https://bookwyrm.keyboardvagabond.com">Bookwyrm</a></li>
|
<li><a target="_blank" href="https://bookwyrm.keyboardvagabond.com">Bookwyrm</a></li>
|
||||||
<li><a target="_blank" href="https://blog.keyboardvagabond.com">Write Freely</a></li>
|
<li><a target="_blank" href="https://blog.keyboardvagabond.com">Write Freely</a></li>
|
||||||
<li><a target="_blank" href="https://picsur.keyboardvagabond.com">Picsur</a></li>
|
<li><a target="_blank" href="https://picsur.keyboardvagabond.com">Picsur</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
<!-- Mobile Navigation -->
|
||||||
|
<ul class="mobile-nav">
|
||||||
|
<li>
|
||||||
|
<details class="dropdown">
|
||||||
|
<summary role="button" class="secondary">Sites</summary>
|
||||||
|
<ul>
|
||||||
|
<li><a target="_blank" href="https://mastodon.keyboardvagabond.com/public">Mastodon</a></li>
|
||||||
|
<li><a target="_blank" href="https://piefed.keyboardvagabond.com">Piefed</a></li>
|
||||||
|
<li><a target="_blank" href="https://pixelfed.keyboardvagabond.com">Pixelfed</a></li>
|
||||||
|
<li><a target="_blank" href="https://bookwyrm.keyboardvagabond.com">Bookwyrm</a></li>
|
||||||
|
<li><a target="_blank" href="https://blog.keyboardvagabond.com">Write Freely</a></li>
|
||||||
|
<li><a target="_blank" href="https://picsur.keyboardvagabond.com">Picsur</a></li>
|
||||||
|
</ul>
|
||||||
|
</details>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="about.html">About</a></li>
|
<li><a href="about.html">About</a></li>
|
||||||
<li>
|
<li>
|
||||||
|
|||||||
@@ -244,4 +244,87 @@
|
|||||||
#theme-toggle #theme-icon {
|
#theme-toggle #theme-icon {
|
||||||
display: block;
|
display: block;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Responsive Navigation Styles */
|
||||||
|
/* Hide mobile nav by default (desktop first) */
|
||||||
|
.mobile-nav {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Show desktop nav by default */
|
||||||
|
.desktop-nav {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Mobile breakpoint - hide desktop nav and show mobile nav */
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.desktop-nav {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mobile-nav {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Style the dropdown for mobile */
|
||||||
|
.mobile-nav .dropdown {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mobile-nav .dropdown summary {
|
||||||
|
margin: 0;
|
||||||
|
padding: calc(var(--pico-spacing) * 0.5) var(--pico-spacing);
|
||||||
|
border-radius: var(--pico-border-radius);
|
||||||
|
cursor: pointer;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mobile-nav .dropdown[open] summary {
|
||||||
|
border-bottom-left-radius: 0;
|
||||||
|
border-bottom-right-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mobile-nav .dropdown ul {
|
||||||
|
position: absolute;
|
||||||
|
top: 100%;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
background: var(--pico-background-color);
|
||||||
|
border: 1px solid var(--pico-muted-border-color);
|
||||||
|
border-top: none;
|
||||||
|
border-radius: 0 0 var(--pico-border-radius) var(--pico-border-radius);
|
||||||
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
||||||
|
z-index: 1000;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mobile-nav .dropdown ul li {
|
||||||
|
margin: 0;
|
||||||
|
border-bottom: 1px solid var(--pico-muted-border-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.mobile-nav .dropdown ul li:last-child {
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mobile-nav .dropdown ul li a {
|
||||||
|
display: block;
|
||||||
|
padding: calc(var(--pico-spacing) * 0.75) var(--pico-spacing);
|
||||||
|
text-decoration: none;
|
||||||
|
color: var(--pico-color);
|
||||||
|
transition: background-color 0.2s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mobile-nav .dropdown ul li a:hover {
|
||||||
|
background-color: var(--pico-muted-color);
|
||||||
|
opacity: 0.1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Ensure proper positioning context */
|
||||||
|
.mobile-nav li {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user