Feat: navbar frosted glass au scroll
- navigation.svelte.js : ajout isScrolled + setScrolled() - Header : scroll listener (capture) sur .page-scrollable > 100px, reset au changement de slide, classe navbar--scrolled conditionnelle, transition 0.4s sur background-color et backdrop-filter - Expertise : $effect notifie quand currentItem > 0 - Portfolio : $effect notifie quand currentIndex > 0 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
517143fe60
commit
a0798e71d0
4 changed files with 45 additions and 2 deletions
|
|
@ -1,6 +1,7 @@
|
|||
<script>
|
||||
import { onMount } from 'svelte'
|
||||
import { slides } from '@state/slides.svelte'
|
||||
import { navigation } from '@state/navigation.svelte'
|
||||
import { createScrollNav } from '@composables/useScrollNav.svelte.js'
|
||||
import GalleryAnimation from '@components/ui/GalleryAnimation.svelte'
|
||||
import ResponsivePicture from '@components/ui/ResponsivePicture.svelte'
|
||||
|
|
@ -17,6 +18,10 @@
|
|||
const backgroundImage = $derived(data?.backgroundImage ?? null)
|
||||
const currentProject = $derived(projects[currentIndex] ?? null)
|
||||
|
||||
$effect(() => {
|
||||
if (isActive) navigation.setScrolled(currentIndex > 0)
|
||||
})
|
||||
|
||||
// Capture du hash synchrone avant que tout effect puisse le modifier
|
||||
const initialHash = window.location.hash.slice(1)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue