Skip to content

Commit afa59b0

Browse files
Show header border only after scrolling
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
1 parent 482c3c9 commit afa59b0

1 file changed

Lines changed: 21 additions & 1 deletion

File tree

‎src/layouts/Layout.astro‎

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ const structuredDataJson = structuredData
114114
</script>
115115
</head>
116116
<body class="min-h-screen flex flex-col">
117-
<nav class="border-b sticky top-0 z-50 backdrop-blur-sm" style="border-color: var(--border-primary); background: var(--bg-nav);">
117+
<nav class="site-nav border-b sticky top-0 z-50 backdrop-blur-sm" style="background: var(--bg-nav);">
118118
<div class="max-w-6xl mx-auto px-4 h-16 flex items-center justify-between">
119119
<a href={`${import.meta.env.BASE_URL}`} class="flex items-center gap-2 text-xl font-bold hover:text-purple-400 transition-colors">
120120
<img src={`${import.meta.env.BASE_URL}icon.svg`} alt="Dev Proxy" class="w-6 h-6" />
@@ -212,6 +212,16 @@ const structuredDataJson = structuredData
212212

213213
<script is:inline>
214214
(function() {
215+
var header = document.querySelector('.site-nav');
216+
217+
function updateHeaderBorder() {
218+
header.classList.toggle('is-scrolled', window.scrollY > 0);
219+
}
220+
221+
updateHeaderBorder();
222+
window.addEventListener('scroll', updateHeaderBorder, { passive: true });
223+
window.addEventListener('pageshow', updateHeaderBorder);
224+
215225
// Theme toggle (desktop + mobile)
216226
var toggles = [document.getElementById('theme-toggle'), document.getElementById('theme-toggle-mobile')];
217227
var sunIcons = [document.getElementById('theme-icon-sun'), document.getElementById('theme-icon-sun-mobile')];
@@ -252,3 +262,13 @@ const structuredDataJson = structuredData
252262
</script>
253263
</body>
254264
</html>
265+
266+
<style>
267+
.site-nav {
268+
border-color: transparent;
269+
}
270+
271+
.site-nav.is-scrolled {
272+
border-color: var(--border-primary);
273+
}
274+
</style>

0 commit comments

Comments
 (0)