Commit graph

170 commits

Author SHA1 Message Date
isUnknown
9d7fca4d91 global : preload bg-fixed background image before showing. related to #55
All checks were successful
Deploy / Deploy to Production (push) Successful in 21s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 12:20:40 +02:00
isUnknown
c6c7ad3fca portfolio : load mockup before gallery animation images. related to #55
Defer GalleryAnimation rendering until mockup image is fully loaded.
Ensures mockup has bandwidth priority over gallery images.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 12:13:26 +02:00
isUnknown
701c5d1f56 global : reveal images only once fully loaded, prevent printer effect. related to #55
All checks were successful
Deploy / Deploy to Production (push) Successful in 5m25s
Images start at opacity:0 and fade in on load event. MutationObserver
catches cached images before first paint to show them instantly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 12:09:26 +02:00
isUnknown
3c92903518 portfolio : remove preloadAll, use {#key} for clean project transitions. related to #55
All checks were successful
Deploy / Deploy to Production (push) Successful in 21s
preloadAll caused slow loading by fetching all projects' images at once
(and 404s from srcset strings used as img src). {#key currentIndex}
destroys/recreates DOM on project switch, eliminating stale images.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 11:58:06 +02:00
isUnknown
947275544d perf : deferred slide rendering + sequential loading by proximity. related to #55
All checks were successful
Deploy / Deploy to Production (push) Successful in 5m26s
Only render the active slide initially. After its critical media (videos)
fires canplaythrough, progressively render remaining slides by distance.
JSON loading is now sequential by proximity instead of all-parallel.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 11:31:40 +02:00
isUnknown
f3ce36b99c portfolio : preload all project media on slide activation. related to #55
All checks were successful
Deploy / Deploy to Production (push) Successful in 21s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 11:07:11 +02:00
isUnknown
fe348f1e48 expertise : active text a bit upper - related to #52
All checks were successful
Deploy / Deploy to Production (push) Successful in 22s
2026-04-03 11:03:49 +02:00
isUnknown
6a41be334e expertise : fix title responsiveness - related to #54
All checks were successful
Deploy / Deploy to Production (push) Successful in 21s
2026-04-03 10:59:13 +02:00
isUnknown
4b946d4cf0 expertise : fix active text centering - related to #52
All checks were successful
Deploy / Deploy to Production (push) Successful in 28s
2026-04-03 10:54:40 +02:00
isUnknown
6e0b0bd551 improve carousel mobile. related to #53
All checks were successful
Deploy / Deploy to Production (push) Successful in 32s
2026-04-02 16:23:16 +02:00
isUnknown
65f6bf459b hide footer on white paper. closes #52
All checks were successful
Deploy / Deploy to Production (push) Successful in 42s
2026-04-02 15:38:47 +02:00
isUnknown
4ccbad9663 about : extract team carousel into TeamCarousel component (swiper)
Replace inline carousel logic with a dedicated TeamCarousel.svelte component.
Uses SwiperJS for mobile peek (1.4 slides), tablet (2) and desktop (4) layouts,
with touch swipe, pagination dots and prev/next buttons.

related to #53

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 14:52:15 +02:00
isUnknown
6ec32dd82a expertise : simplify video + text scroll logic. related to #52
All checks were successful
Deploy / Deploy to Production (push) Successful in 25s
Replace complex segment-based video control with a simpler model:
- Scroll down → advance one text item (650ms lock) + play video forward
- Scroll up → go back one text item + play video in reverse
- Video plays continuously in chosen direction, decoupled from text items
- Remove useScrollNav, segmentEnds, offsetY, computeOffset, fwdTarget/revTarget

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 08:41:29 +02:00
isUnknown
0afbcf4088 footer : fix show/hide logic, transition and scroll throttle. related to #51
All checks were successful
Deploy / Deploy to Production (push) Successful in 23s
- Fix scroll listener (cleanup, local querySelector, scrollHeight calc)
- Fix media query syntax in variables.css (missing space in `and (`)
- Use transform: translateY instead of bottom for GPU-accelerated transition
- Throttle scroll handler with requestAnimationFrame
- Move Footer to App.svelte (global), remove per-view imports

refs #51

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 19:18:02 +02:00
isUnknown
77a1c58573 portfolio > mockup-horizontal : adjust position. related to #45
All checks were successful
Deploy / Deploy to Production (push) Successful in 5m25s
2026-03-31 18:42:36 +02:00
isUnknown
ff3005024f fix page-scrollable footer overflow. related to #51
All checks were successful
Deploy / Deploy to Production (push) Successful in 20s
2026-03-31 17:53:14 +02:00
isUnknown
23a6195e65 article : move block styles to src/styles/blocks/
All checks were successful
Deploy / Deploy to Production (push) Successful in 24s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 15:37:35 +02:00
isUnknown
8387843da0 article : extract ShareButtons and ArticleRelated components
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 15:32:23 +02:00
isUnknown
65ce77b5b1 button : fix vertical line. closes #35
All checks were successful
Deploy / Deploy to Production (push) Successful in 21s
2026-03-31 14:32:12 +02:00
isUnknown
16df036649 play : add play-icon. closes #50
All checks were successful
Deploy / Deploy to Production (push) Successful in 23s
2026-03-31 14:29:24 +02:00
isUnknown
8481dc5f90 add white-paper block type for articles
- Kirby block blueprint with page reference + editable bg/text colors
- PHP snippet renders the card with accessible markup (article, h3, button)
- WhitePaperDialog.svelte: native dialog with download form (a11y: labels, fieldset, autocomplete, focus management)
- Article.svelte: click detection on .wp-block__btn + dialog mount

refs #49

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 19:51:21 +02:00
isUnknown
d218bc47d7 fix footer position. closes #8
All checks were successful
Deploy / Deploy to Production (push) Successful in 5m25s
2026-03-30 19:13:42 +02:00
isUnknown
aa4c8cefdc #45
All checks were successful
Deploy / Deploy to Production (push) Successful in 21s
2026-03-30 19:01:14 +02:00
isUnknown
e5ae2ac64e portfolio : mockup translate down
All checks were successful
Deploy / Deploy to Production (push) Successful in 19s
2026-03-30 18:58:49 +02:00
isUnknown
8375a098c9 add privacy page. closes #16
All checks were successful
Deploy / Deploy to Production (push) Successful in 22s
2026-03-30 18:48:58 +02:00
isUnknown
44af8a9b4e add privacy page as standalone SPA view outside slide navigation
- New Kirby template/blueprint/JSON for privacy page (confidentialite slug)
- Standalone page state in slides store + router handling for non-nav pages
- Privacy.svelte view with background image, text blocks, footer
- Centralize vertical lines in App.svelte as fixed elements with per-slide visibility
- Footer privacy link language-aware (FR/EN)
- Portfolio mockup fix: read from default language for consistent EN display
- menu.php: add privacy page to Kirby panel navigation

refs #44

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 18:43:35 +02:00
isUnknown
b12b839f1b header > nav item responsive font size. closes #38
All checks were successful
Deploy / Deploy to Production (push) Successful in 21s
2026-03-30 18:18:51 +02:00
isUnknown
f815374030 white-paper(s) + panel : ajustements visuels. closes #41
All checks were successful
Deploy / Deploy to Production (push) Successful in 22s
- WhitePaper : cover en absolute bottom-left, overflow hidden sur mobile
- WhitePapers : position relative sur le conteneur
- Panel : fix couleur du tick des checkboxes/radios cochés

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 18:12:47 +02:00
isUnknown
532eb5cfa6 header : ajouter le backdrop sur la page livres blancs. closes #40
All checks were successful
Deploy / Deploy to Production (push) Successful in 21s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 17:34:51 +02:00
isUnknown
a043a8c281 vertical lines : centraliser en fixed dans App.svelte
- Retirer les lignes des views (Home, Expertise, About, Portfolio)
- Centraliser dans App.svelte en position:fixed, visibilité par slide
  via transition de hauteur 0→100vh selon slides.active.template
- Positions calculées depuis la golden-grid (1/6, 1/3, 1/2, 2/3, 5/6)
- Nettoyer layout.css (garder seulement les classes pour Menu.svelte)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 14:13:41 +02:00
isUnknown
9b548ecc12 article > game bloc : always show close button. closes #42
All checks were successful
Deploy / Deploy to Production (push) Successful in 5m23s
2026-03-26 15:44:25 +01:00
isUnknown
0bda4f8c21 blog > article > game bloc : add scroll into view on game launch. closes #43
All checks were successful
Deploy / Deploy to Production (push) Successful in 21s
2026-03-26 15:42:06 +01:00
isUnknown
1cce398ee4 play page : replace backgroundColor with backgroundImage, remove curves. closes #37
All checks were successful
Deploy / Deploy to Production (push) Successful in 21s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 15:07:30 +01:00
isUnknown
3339528d9b play page > item : scale up on hover
All checks were successful
Deploy / Deploy to Production (push) Successful in 21s
2026-03-26 14:50:35 +01:00
isUnknown
80a7b41112 play page : add dynamical coming soon status. related to #37
All checks were successful
Deploy / Deploy to Production (push) Successful in 21s
2026-03-26 14:43:45 +01:00
isUnknown
f087260398 portfolio : add secondsPerImage field to control gallery animation speed. closes #33
All checks were successful
Deploy / Deploy to Production (push) Successful in 21s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 11:56:30 +01:00
isUnknown
9be03113e3 portfolio : remove first vertical line. closes #18
All checks were successful
Deploy / Deploy to Production (push) Successful in 25s
2026-03-26 10:55:27 +01:00
isUnknown
0672841f8b white paper : add asterisque
All checks were successful
Deploy / Deploy to Production (push) Successful in 22s
2026-03-25 15:46:01 +01:00
isUnknown
045c0be583 play page : mobile layout
All checks were successful
Deploy / Deploy to Production (push) Successful in 20s
2026-03-25 13:52:02 +01:00
isUnknown
afda918cae play page : max height on img title
All checks were successful
Deploy / Deploy to Production (push) Successful in 21s
2026-03-25 13:48:39 +01:00
isUnknown
e74e7d249d fix: background-image via style inline pour éviter la réécriture Vite
All checks were successful
Deploy / Deploy to Production (push) Successful in 21s
Vite traite les url() dans les blocs <style> et réécrit le chemin au build.
Déplacement de l'url en attribut style inline (non traité par Vite).
Annule la tentative de correction via generateBundle.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 13:44:03 +01:00
isUnknown
e41a730b4d feat: navigation swipe mobile horizontale
All checks were successful
Deploy / Deploy to Production (push) Successful in 21s
- App.svelte : swipe gauche/droite → même comportement que les touches clavier (navigation entre slides)
- Play.svelte : stopImmediatePropagation sur touchend, blocage du scroll vertical (touchmove)
- Portfolio.svelte : migration du touch vertical (composable) vers horizontal — navigation entre projets, slide voisine aux bords, blocage scroll vertical, debounce 650ms anti-spam

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 13:20:57 +01:00
isUnknown
baab2fb3a1 play page : hide preview on tablet. closes #29
All checks were successful
Deploy / Deploy to Production (push) Successful in 27s
2026-03-25 12:46:43 +01:00
isUnknown
28bb757f5c Chrome > portfolio : fix overflow x. closes #11
All checks were successful
Deploy / Deploy to Production (push) Successful in 21s
2026-03-25 07:23:17 +01:00
isUnknown
65821bddf4 portfolio : require thumbnail and improve mobile style. closes #27
All checks were successful
Deploy / Deploy to Production (push) Successful in 5m30s
2026-03-25 07:14:01 +01:00
isUnknown
2bd531f7b2 fix: autoplay vidéos mobile + remplacement background image
All checks were successful
Deploy / Deploy to Production (push) Successful in 21s
- Home : matchMedia pour ne jouer que la vidéo visible (desktop/mobile)
- Expertise : play-then-pause pour forcer le décodage frame 0
- App : remplacement image de fond scrollable-page

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-24 19:29:06 +01:00
isUnknown
e6062ba2e7 portfolio : ajustements mobile layout
All checks were successful
Deploy / Deploy to Production (push) Successful in 20s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-24 19:10:05 +01:00
isUnknown
cb51e050e4 portfolio : galerie horizontale 3 rangées + mockup conditionnel
All checks were successful
Deploy / Deploy to Production (push) Successful in 25s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-24 18:53:27 +01:00
isUnknown
133651c35d portfolio : animation horizontale — toggle panel + composant
All checks were successful
Deploy / Deploy to Production (push) Successful in 19s
Ajout du mode horizontal dans GalleryAnimation (5 rangées, scrollLeft/scrollRight)
avec toggle vertical/horizontal dans le panel projet.

refs #21

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 14:37:05 +01:00
isUnknown
2cefdd8867 little style adjustments
All checks were successful
Deploy / Deploy to Production (push) Successful in 21s
2026-03-21 13:41:18 +01:00