Claude Integration
e2d3b6a686
feat: variantes responsives 320/800/1600 via sharp + srcset partout (Reels, cards, galerie, favoris)
CI / test (pull_request) Successful in 2m21s
2026-06-02 01:05:25 +00:00
Claude Integration
2914e5605a
feat: BookingForm bascule sur Stripe Checkout quand STRIPE_SECRET_KEY est posée
CI / test (pull_request) Successful in 2m10s
2026-06-01 23:35:30 +00:00
Claude Integration
71dd8c1dad
feat: carte interactive du catalogue + refonte page À propos (2.2-2.6k caractères)
CI / test (pull_request) Successful in 2m21s
2026-06-01 23:27:57 +00:00
Claude Integration
1e6acf29b9
feat: dashboard espace hôte (KPIs + résa pending + carbets + activité) + lightbox galerie
CI / test (pull_request) Successful in 2m42s
2026-06-01 16:16:25 +00:00
Claude Integration
a58815ec9c
fix: ajout effectif facettes priceMax + amenities dans SearchFilters (oubli PR#57)
CI / test (pull_request) Successful in 2m10s
2026-06-01 10:21:03 +00:00
Claude Integration
31aa7a4865
feat: calendrier visuel mensuel + carte Leaflet sur fiche carbet
CI / test (pull_request) Successful in 2m0s
2026-06-01 05:27:33 +00:00
Claude Integration
b59b8a0af2
feat(p1): calendrier dispo + emails Resend + amount calculé + best-effort welcome/confirmation/refund
2026-06-01 02:20:38 +00:00
Claude Integration
e79b6dd141
feat(p0): prix/nuit + booking form public + /inscription + /reservations/[id]
2026-06-01 01:34:00 +00:00
Claude Integration
a174f99eba
feat(plugin): pirogue-providers (Phase 3.3)
...
Modèle PirogueProvider (id, name, contacts, fleuves, tarif, description)
+ enum TransportMode (OWNER_PROVIDES, SELF_ARRANGE, PARTNER_PROVIDER) sur Carbet
+ relation Carbet → PirogueProvider (nullable, ondelete:SetNull)
Composants :
- PirogueTransportBlock (server, gated par plugin) sur fiche carbet :
affiche le mode + provider partenaire avec contacts/tarif/description
- Page publique /partenaires-pirogue : liste des partenaires actifs
Seed onEnable :
- 3 partenaires démo (Pirogues du Maroni, Approuague Aventures, Oyapock Frontière)
avec tarifs estimatifs et fleuves desservis réels
- Attribution aux 6 carbets démo :
· Awara (Maroni), Maripa (Approuague), Paripou (Oyapock) → PARTNER_PROVIDER
· Wapa (Comté), Mahury CE → OWNER_PROVIDES
· Kourou Couleuvre → SELF_ARRANGE
onDisable désactive les partenaires démo et détache les carbets démo.
2026-05-31 11:29:29 +00:00
Claude Integration
a7761ca323
chore: wire StayConstraints + minStayNights dans carbet-card + search (oubli PR#30)
2026-05-31 08:59:46 +00:00
Claude Integration
be2391998d
feat(plugins): seasonality + min-stay (Phase 3.2 + 3.4)
...
Plugin seasonality :
- Migration : Carbet.seasonalConstraints JSONB nullable
- lib/seasonality.ts : enum Season (DRY|LOW_WATER|WET), currentSeason() helper
Guyane (juil-sept sèche, oct-nov étiage, déc-juin pluies), parseSeasonalConstraints,
isCurrentlyOpen, SEASON_META (label/emoji/tone)
- Composant <SeasonBanner /> server, gated par plugin, ajouté dans layout
au-dessus de tout le contenu — bandeau couleur+emoji+message contextuel
Plugin min-stay :
- Migration : Carbet.minStayNights, maxStayNights, minCapacity nullable
- Composant <StayConstraints /> client, gated par plugin — pill text
'2 nuits minimum', '2-7 nuits', 'groupe 4+ recommandé'
- Carbet card et fiche enrichies avec les contraintes
Tous deux désactivables : sans le toggle, comportement legacy inchangé.
2026-05-31 08:50:26 +00:00
Claude Integration
5e59202505
feat(plugins): access-type + demo-carbets-seed (Phase 3.1 + 2.5)
...
Plugin access-type :
- Migration : enum AccessType (ROAD_AND_RIVER, RIVER_ONLY), champ accessType
sur Carbet avec default ROAD_AND_RIVER, roadAccessNote optionnel,
pirogueDurationMin rendu nullable + index sur accessType
- Schema Prisma mis à jour
- Composant <AccessTypeBadge> client, gated par le plugin
- Carbet card et fiche enrichies : badge + texte adapté (Pirogue vs Route+pirogue
vs Route directe), section Accès enrichie avec roadAccessNote
- formatPirogueDuration accepte null
Plugin demo-carbets-seed :
- Hook onEnable : 3 propriétaires demo (Yann/Émilie/CE Hôpital) + 6 carbets
variés (Maroni, Approuague, Comté, Oyapock, Mahury, Kourou) avec mix
3 RIVER_ONLY + 3 ROAD_AND_RIVER, GPS plausibles, descriptions naturelles
- Hook onDisable : archive (status=ARCHIVED) les carbets demo via slug prefix
- Toutes les fixtures idempotentes (upsert via slug + email)
2026-05-31 02:56:25 +00:00
c9be24a969
SYS-18: add production deployment stack for karbe.cosmolan.fr (Stripe test)
...
- enable Next.js standalone output and add Docker/Caddy production stack
- add production env template and deployment runbook
- add healthcheck endpoint for container supervision
- fix existing lint/type blockers discovered during validation
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-30 18:01:56 +00:00
Karbé Frontend
7515981336
feat(reviews): avis & notes carbet (SYS-8)
...
- Lib reviews: constants/types (client-safe) + DB helpers (server-only)
- API POST /api/bookings/[bookingId]/review : avis locataire après séjour COMPLETED
- API POST /api/reviews/[reviewId]/response : réponse loueur
- API GET /api/carbets/[carbetId]/reviews : liste + stats agrégées
- Fiche carbet : note moyenne + nombre d'avis + liste avec réponses loueur
- Carte carbet : étoiles + note moyenne + compteur
- /mes-reservations : formulaire d'avis pour les séjours terminés du locataire
2026-05-30 15:08:55 +00:00
Karbé Architect
c2df6722f2
feat(carbets): public search + carbet detail page (SSR/SEO)
...
Implémente SYS-5 : la marketplace publique pour découvrir les carbets
fluviaux publiés par les hôtes.
- /carbets : page de recherche server-side avec filtres GET
(fleuve, dates de séjour, capacité min.), grille de résultats
avec photo de couverture, fleuve, capacité, durée pirogue
- /carbets/[slug] : fiche carbet SSR
- generateMetadata (title/description + OpenGraph/Twitter cards)
- galerie médias (photo couverture + vignettes vidéo/photo)
- description, équipements (catalogue), accès, coords GPS,
capacité, prénom de l'hôte
- robots.ts + sitemap.xml (incluant les carbets publiés)
- metadataBase / title.template au niveau du root layout, OG par
défaut Karbé
- Lien "Découvrir les carbets" sur la home
- Helpers partagés : lib/carbet-search.ts (parse filters + query),
lib/carbet-public.ts (fetch SSR mémoïsé via React cache),
lib/format.ts (durée pirogue, troncature, coords)
- Nouvelle variable d'env NEXT_PUBLIC_SITE_URL (canonical/OG/sitemap)
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-29 22:24:25 +00:00