Serreau Jovann
00a2ebe79d
Add pwa:create:sw after pwa:compile in pwa_dev and pwa_prod commands
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 20:11:28 +01:00
Serreau Jovann
33ae25390c
Add PHP exif extension to prod Dockerfile for PWA image processing
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 20:09:50 +01:00
Serreau Jovann
0fd6aa5b07
Fix PWA commands: use pwa:compile instead of pwa:create:sw
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 20:09:10 +01:00
Serreau Jovann
9a73a235bc
Fix PWA icons: remove sizes/type, let bundle auto-resize from source image
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 20:06:30 +01:00
Serreau Jovann
1fe7033251
Remove duplicate pwa_dev/pwa_prod Makefile targets
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 20:05:10 +01:00
Serreau Jovann
46e4d1c948
Ignore sw.js and workbox/ in git, generated by make pwa_prod on deploy
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 20:00:43 +01:00
Serreau Jovann
17bb88c5f6
Add sw.js, workbox/, idb/ to ESLint ignores (auto-generated files)
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 19:59:09 +01:00
Serreau Jovann
b4150c1248
Remove PWA screenshots from manifest config
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 19:55:33 +01:00
Serreau Jovann
743f2a83f8
Restore PWA screenshots in manifest config
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 19:55:13 +01:00
Serreau Jovann
7c0149b785
Update sw.js from pwa:create:sw, add PWA static paths to Caddy prod
...
- sw.js regenerated by Workbox with full cache strategies
- Add screen.png, site.webmanifest, workbox/*, idb/*, pwa/* to Caddy static paths
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 19:52:20 +01:00
Serreau Jovann
acb7e15b43
Remove manual SW code, Workbox handles everything via pwa:create:sw
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 19:48:31 +01:00
Serreau Jovann
350a6be2e5
Move navigation_preload under workbox config
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 19:46:16 +01:00
Serreau Jovann
99cacd529b
Remove unsupported page_cache option from Workbox config
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 19:45:23 +01:00
Serreau Jovann
d22a02f01e
Add offline page, navigation preload, page cache, and pwa:create:sw commands
...
- Create /offline route and neo-brutalist offline page with retry button
- Add navigation_preload: true for faster SW navigation
- Add page_cache: 50 entries, 24h, 3s network timeout
- Add pwa_dev/pwa_prod Makefile commands using pwa:create:sw
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 19:22:28 +01:00
Serreau Jovann
d150e2677f
Add Workbox asset cache for CSS and JS files
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 19:20:55 +01:00
Serreau Jovann
7669fbca8c
Add service worker with Workbox: cache manifest, image cache, font cache, skip_waiting
...
- sw.js with network-first strategy, versioned cache, auto-purge old caches
- Workbox: cache_manifest, image_cache (30 days, 200 entries), font_cache (30 days, 10 entries)
- skip_waiting + clients.claim for instant updates
- CSP nonce for SW registration script
- Remove sw.js and workbox from .gitignore
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 19:20:26 +01:00
Serreau Jovann
07b40e14e7
Add global Node, HTMLElement for ESLint no-undef in editor.js
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 19:17:19 +01:00
Serreau Jovann
887f0ca918
Move global L comment to top of file for ESLint no-undef rule
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 19:16:54 +01:00
Serreau Jovann
bbbf859e8f
Increase navbar logo size: h-8 mobile, h-12 desktop
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 19:15:44 +01:00
Serreau Jovann
cae5d11bd8
Full mobile responsive for homepage, fix PHP CS Fixer import order
...
- Homepage: all text sizes responsive (320px→tablet→desktop)
- Background text text-[10rem] md:text-[30rem]
- Hero title text-4xl sm:text-5xl md:text-7xl lg:text-9xl
- Buttons smaller on mobile (px-6 py-4 md:px-10 md:py-6)
- Cards padding p-6 md:p-8, text sm on mobile
- Marquee text-base md:text-2xl
- CTA section responsive text and button sizes
- Fix AccountController: sort imports, use Event short class name
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 19:15:22 +01:00
Serreau Jovann
23992638d3
Add tests for editEvent, deleteEvent, toggles, and improve JS branch coverage
...
- Add 8 AccountController tests: editEvent GET/POST, access denied, delete, toggle online/secret, Stripe block
- Add editor.js test for text/element node handling in sanitizeNode
- Add cookie-consent test for banner without buttons (partial branch coverage)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 19:13:31 +01:00
Serreau Jovann
6fab96ab44
Full mobile responsive (320px) and tablet (768px) support across all templates
...
- All text-[20rem] background text → text-[8rem] md:text-[20rem]
- All text-8xl → text-5xl md:text-8xl
- All text-5xl emojis → text-3xl md:text-5xl
- edit_event: w-full md:w-[80%], poster column w-full lg:w-[350px]
- account/index: tab bar overflow-x-auto, events table overflow-x-auto
- admin/events: table overflow-x-auto
- register: tab buttons overflow-x-auto
- error 404/500: responsive padding p-6 md:p-12
- base footer: flex-col sm:flex-row for bottom bar
- Add PWA bundle (spomky-labs/pwa-bundle) with composer require files
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 19:11:02 +01:00
Serreau Jovann
e101541185
Fix PWA screenshots config: use format instead of sizes/type
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 19:07:07 +01:00
Serreau Jovann
44eea74d49
Use real screenshot for PWA desktop wide install UI
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 19:06:35 +01:00
Serreau Jovann
6dd1464e61
Add PWA screenshots for mobile and desktop (wide) richer install UI
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 19:05:01 +01:00
Serreau Jovann
0a83f77c25
Set PWA display-override and portrait orientation only
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 19:04:29 +01:00
Serreau Jovann
e2aa30043c
Fix PWA icons: separate any/maskable purpose, add manifest id, proper sizes
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 19:04:06 +01:00
Serreau Jovann
237b3b23e2
Add 96x96 favicon icons to all PWA manifest shortcuts
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 19:03:34 +01:00
Serreau Jovann
472d741f99
Complete PWA manifest: full name, description, lang, categories, shortcuts, orientation
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 19:02:42 +01:00
Serreau Jovann
c4d65fcdf8
Configure PWA favicons with custom background, border radius and theme colors
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 19:01:08 +01:00
Serreau Jovann
0dd89d1b54
Add pwa_dev and pwa_prod commands using pwa:compile
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 18:59:58 +01:00
Serreau Jovann
f652665a06
Remove asset-map:compile commands, PWA bundle works dynamically via Twig
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 18:59:24 +01:00
Serreau Jovann
e3afbfacf0
Fix pwa_dev: clean compiled assets for dynamic mode, keep pwa_prod for compilation
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 18:58:00 +01:00
Serreau Jovann
759436d850
Fix PWA: remove pwa:create (not exists), use asset-map:compile, fix favicon path
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 18:56:38 +01:00
Serreau Jovann
acfcd1e2df
Add asset-map:compile before pwa:create in pwa_prod command
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 18:55:39 +01:00
Serreau Jovann
681c04bf85
Configure PWA: single pwa() call with favicon/theme injection, Imagick processor, remove duplicates
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 18:55:21 +01:00
Serreau Jovann
a794a10844
Add PWA bundle config and pwa() Twig function in base template
...
- Create pwa.yaml with manifest: name, icons (favicon.png), theme color
- Add {{ pwa() }} before stylesheets in base.html.twig head
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 18:54:11 +01:00
Serreau Jovann
689883b434
Add favicon, PWA commands (pwa_dev/pwa_prod), and prepare PWA deployment
...
- Add favicon.png link and apple-touch-icon in base.html.twig
- Add theme-color meta tag (#fabf04)
- Add pwa_dev and pwa_prod Makefile commands
- Add PWA asset generation step in Ansible playbook after cache clear
- Update Caddy static paths for favicon.png, marker.png, manifest.json, sw.js
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 18:53:36 +01:00
Serreau Jovann
187261170a
Remove grey background behind custom map marker icon
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 18:48:01 +01:00
Serreau Jovann
0a758c0ccc
Use custom marker.png for Leaflet map markers
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 18:46:39 +01:00
Serreau Jovann
b208c7529e
Show full event poster without crop: object-contain instead of object-cover
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 18:44:07 +01:00
Serreau Jovann
4ce562df1f
Adapt navbar for wide logo: remove border/shadow box, increase height, remove text label
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 18:42:37 +01:00
Serreau Jovann
c4e05bc5ba
Add cdn.jsdelivr.net to CSP connect-src for Leaflet source maps
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 18:38:24 +01:00
Serreau Jovann
c1292bb2cd
Switch Leaflet from unpkg to jsdelivr CDN to avoid sourcemap requests
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 18:38:07 +01:00
Serreau Jovann
93ed10c170
Use CartoDB Positron light theme for event map, matches neo-brutalist design
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 18:37:32 +01:00
Serreau Jovann
91b52116c7
Replace OSM iframe with Leaflet map: marker, zoom, geocoding via Nominatim
...
- Add event-map.js module: loads Leaflet dynamically, geocodes address, renders map with marker at zoom 16
- Remove iframe, address text and OSM link below map
- Add CSP entries for unpkg (Leaflet), tile.openstreetmap.org (tiles), nominatim (geocoding)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 18:35:54 +01:00
Serreau Jovann
e2797e9731
Add analytics tunnels to dev Caddyfile: /stats/* and /assets/perf.js
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 18:31:36 +01:00
Serreau Jovann
bc2b386837
Show full dates (d/m/Y H:i), add OpenStreetMap embed below event description
...
- Change date display from d/m/Y + H:i to "Du d/m/Y H:i au d/m/Y H:i"
- Add map card with OSM iframe (300px), address text, and link to OpenStreetMap
- Add openstreetmap.org to CSP frame-src
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 18:31:07 +01:00
Serreau Jovann
de99ca5f62
Event detail: poster 250px left, description right in two-column layout
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 18:29:30 +01:00
Serreau Jovann
1dcf5a190d
Add organizer info section and event contact form on event detail page
...
- Left: organizer card with logo, name, city, social icons, email
- Right: contact form (name, firstname, email, message) sent to organizer
- Add /evenement/{id}/contact POST route with email to organizer (replyTo sender)
- Create event_contact.html.twig email template
- Add flash messages for success/error
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 18:17:17 +01:00