Ajout de la section galerie photo et nettoyage du template
Galerie photo :
- Ajout du layout photo avec slideshow plein écran
- Navigation par catégories (portraits, paysages, nature, etc.)
- Section "Fil Photo" avec posts illustrés (photoBlogPosts)
- Lightbox pour les albums de catégories
- Composants : Slideshow, CategoryNav, CategoryGrid, Lightbox, MasonryGallery
Nettoyage :
- Suppression du contenu démo du template (posts, images, about)
- Consolidation src/collections/ dans src/data/
- Suppression du config.js dupliqué (garde config.ts)
- Nettoyage des assets inutilisés (posts/, experiences/)
Corrections :
- Favicon récupéré du site actuel
- Chemins favicon corrigés dans les layouts
UI :
- Page d'accueil mise à jour
- Header/Footer simplifiés
- Nouvelle page À propos
2026-01-07 01:45:40 +01:00
|
|
|
---
|
|
|
|
|
const { targetSelector = '.info-section' } = Astro.props;
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
<div class="scroll-indicator" id="scrollArrow" data-target={targetSelector}>
|
|
|
|
|
<div class="scroll-indicator-bg"></div>
|
|
|
|
|
<svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
|
|
|
|
|
<polyline points="6,9 12,15 18,9"></polyline>
|
|
|
|
|
</svg>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<style>
|
|
|
|
|
.scroll-indicator {
|
|
|
|
|
position: absolute;
|
|
|
|
|
bottom: 40px;
|
|
|
|
|
left: 50%;
|
|
|
|
|
transform: translateX(-50%);
|
|
|
|
|
color: white;
|
|
|
|
|
animation: bounce 2s infinite;
|
|
|
|
|
cursor: pointer;
|
|
|
|
|
z-index: 10;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
width: 60px;
|
|
|
|
|
height: 60px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.scroll-indicator-bg {
|
|
|
|
|
position: absolute;
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 100%;
|
|
|
|
|
border: 2px solid rgba(255, 255, 255, 0.6);
|
|
|
|
|
border-radius: 50%;
|
|
|
|
|
background: rgba(0, 0, 0, 0.3);
|
|
|
|
|
transition: all 0.3s ease;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.scroll-indicator:hover .scroll-indicator-bg {
|
|
|
|
|
background: rgba(0, 0, 0, 0.5);
|
|
|
|
|
border-color: white;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.scroll-indicator svg {
|
|
|
|
|
position: relative;
|
|
|
|
|
z-index: 1;
|
|
|
|
|
filter: drop-shadow(0 2px 4px rgba(0,0,0,0.5));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@keyframes bounce {
|
|
|
|
|
0%, 20%, 50%, 80%, 100% {
|
|
|
|
|
transform: translateX(-50%) translateY(0);
|
|
|
|
|
}
|
|
|
|
|
40% {
|
|
|
|
|
transform: translateX(-50%) translateY(-10px);
|
|
|
|
|
}
|
|
|
|
|
60% {
|
|
|
|
|
transform: translateX(-50%) translateY(-5px);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
document.addEventListener('DOMContentLoaded', () => {
|
|
|
|
|
const scrollArrow = document.getElementById('scrollArrow');
|
|
|
|
|
if (scrollArrow) {
|
|
|
|
|
scrollArrow.addEventListener('click', () => {
|
|
|
|
|
const targetSelector = scrollArrow.getAttribute('data-target');
|
2026-01-07 03:03:42 +01:00
|
|
|
if (!targetSelector) return;
|
Ajout de la section galerie photo et nettoyage du template
Galerie photo :
- Ajout du layout photo avec slideshow plein écran
- Navigation par catégories (portraits, paysages, nature, etc.)
- Section "Fil Photo" avec posts illustrés (photoBlogPosts)
- Lightbox pour les albums de catégories
- Composants : Slideshow, CategoryNav, CategoryGrid, Lightbox, MasonryGallery
Nettoyage :
- Suppression du contenu démo du template (posts, images, about)
- Consolidation src/collections/ dans src/data/
- Suppression du config.js dupliqué (garde config.ts)
- Nettoyage des assets inutilisés (posts/, experiences/)
Corrections :
- Favicon récupéré du site actuel
- Chemins favicon corrigés dans les layouts
UI :
- Page d'accueil mise à jour
- Header/Footer simplifiés
- Nouvelle page À propos
2026-01-07 01:45:40 +01:00
|
|
|
const targetElement = document.querySelector(targetSelector);
|
|
|
|
|
if (targetElement) {
|
|
|
|
|
targetElement.scrollIntoView({
|
|
|
|
|
behavior: 'smooth',
|
|
|
|
|
block: 'start'
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
</script>
|