20 Commits

Author SHA1 Message Date
9cdef43e55 Merge version_4 into main
Merge version_4 into main
2026-03-08 18:33:48 +00:00
b29fcea563 Update src/app/page.tsx 2026-03-08 18:33:44 +00:00
66884835f4 Merge version_4 into main
Merge version_4 into main
2026-03-08 18:32:34 +00:00
0195ba69f0 Update src/app/pricing/page.tsx 2026-03-08 18:32:30 +00:00
40569d6b78 Update src/app/page.tsx 2026-03-08 18:32:29 +00:00
889b0484f6 Merge version_3 into main
Merge version_3 into main
2026-03-08 17:34:11 +00:00
da26438c1e Update src/app/page.tsx 2026-03-08 17:34:07 +00:00
55a014bf1a Merge version_3 into main
Merge version_3 into main
2026-03-07 00:09:30 +00:00
d62cd1790f Update src/app/page.tsx 2026-03-07 00:09:26 +00:00
3a28629e1c Merge version_3 into main
Merge version_3 into main
2026-03-07 00:06:05 +00:00
6db75adeea Update src/app/pricing/page.tsx 2026-03-07 00:06:01 +00:00
1f72e6b6d6 Merge version_2 into main
Merge version_2 into main
2026-03-07 00:05:18 +00:00
b532d91212 Update theme colors 2026-03-07 00:05:12 +00:00
acd5edfa08 Merge version_2 into main
Merge version_2 into main
2026-03-07 00:05:03 +00:00
6d2f5c595c Update theme colors 2026-03-07 00:04:57 +00:00
4bcbbc8db4 Merge version_2 into main
Merge version_2 into main
2026-03-07 00:04:37 +00:00
40c8ce4d9c Update theme colors 2026-03-07 00:04:31 +00:00
7c6e21ff85 Merge version_2 into main
Merge version_2 into main
2026-03-06 23:46:26 +00:00
682d1d6c23 Update src/app/pricing/page.tsx 2026-03-06 23:46:22 +00:00
cdd0c935a6 Merge version_1 into main
Merge version_1 into main
2026-03-06 23:28:38 +00:00
3 changed files with 125 additions and 223 deletions

View File

@@ -62,9 +62,7 @@ export default function HomePage() {
brandName="Montois Multi Services"
navItems={navItems}
button={{
text: "Nous Contacter",
href: "/contact",
}}
text: "Nous Contacter", href: "/contact"}}
animateOnLoad={true}
/>
</div>
@@ -79,28 +77,21 @@ export default function HomePage() {
background={{ variant: "plain" }}
mediaItems={[
{
imageSrc: "http://img.b2bpic.net/free-photo/stair-pool_1203-2781.jpg",
imageAlt: "Belle maison côtière Vendéenne",
},
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AanP4tq0gi26KyP6ID7LVKsvKY/uploaded-1772907690471-fpgwof8v.jpg", imageAlt: "Belle maison côtière Vendéenne"},
{
imageSrc: "http://img.b2bpic.net/free-photo/view-beach-sand-summertime_23-2151145634.jpg",
imageAlt: "Vue sur l'océan Atlantique à Notre-Dame-de-Monts",
},
imageSrc: "http://img.b2bpic.net/free-photo/view-beach-sand-summertime_23-2151145634.jpg", imageAlt: "Vue sur l'océan Atlantique à Notre-Dame-de-Monts"},
]}
rating={5}
ratingText="Confiance de nos clients locaux"
buttons={[
{
text: "En Savoir Plus",
href: "/services",
},
text: "En Savoir Plus", href: "/services"},
{
text: "Demander Un Devis",
href: "/contact",
},
text: "Demander Un Devis", href: "/contact"},
]}
buttonAnimation="slide-up"
mediaAnimation="slide-up"
imageClassName="w-full h-auto object-cover scale-30"
/>
</div>
@@ -113,63 +104,39 @@ export default function HomePage() {
tagAnimation="slide-up"
features={[
{
title: "Entretiens Intérieurs",
description: "Ménage complet, nettoyage des vitres, entretien des surfaces. Nous veillons à la propreté impeccable de votre intérieur.",
icon: Home,
title: "Entretiens Intérieurs", description: "Ménage complet, nettoyage des vitres, entretien des surfaces. Nous veillons à la propreté impeccable de votre intérieur.", icon: Home,
mediaItems: [
{
imageSrc: "http://img.b2bpic.net/free-photo/digital-lavender-interior-design_23-2151561164.jpg?_wi=1",
imageAlt: "Salon propre et bien entretenu",
},
imageSrc: "http://img.b2bpic.net/free-photo/digital-lavender-interior-design_23-2151561164.jpg?_wi=1", imageAlt: "Salon propre et bien entretenu"},
{
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-people-eating_23-2149048185.jpg?_wi=1",
imageAlt: "Cuisine étincelante après nettoyage",
},
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-people-eating_23-2149048185.jpg?_wi=1", imageAlt: "Cuisine étincelante après nettoyage"},
],
},
{
title: "Entretiens Extérieurs",
description: "Tonte de pelouse, taille de haies, entretien jardin. Vos espaces verts restent impeccables toute l'année.",
icon: Leaf,
title: "Entretiens Extérieurs", description: "Tonte de pelouse, taille de haies, entretien jardin. Vos espaces verts restent impeccables toute l'année.", icon: Leaf,
mediaItems: [
{
imageSrc: "http://img.b2bpic.net/free-photo/outdoor-dreamy-barefooted-lady-with-long-curly-hair-sitting-wooden-bench-park-looking-away-romantic-girl-straw-hat-white-dress-posing-front-flowerbed_197531-3979.jpg?_wi=1",
imageAlt: "Jardin bien entretenu et aménagé",
},
imageSrc: "http://img.b2bpic.net/free-photo/outdoor-dreamy-barefooted-lady-with-long-curly-hair-sitting-wooden-bench-park-looking-away-romantic-girl-straw-hat-white-dress-posing-front-flowerbed_197531-3979.jpg?_wi=1", imageAlt: "Jardin bien entretenu et aménagé"},
{
imageSrc: "http://img.b2bpic.net/free-photo/kids-learnign-about-environment_23-2149176599.jpg?_wi=1",
imageAlt: "Haies taillées et pelouse soignée",
},
imageSrc: "http://img.b2bpic.net/free-photo/kids-learnign-about-environment_23-2149176599.jpg?_wi=1", imageAlt: "Haies taillées et pelouse soignée"},
],
},
{
title: "Petits Travaux de Maintenance",
description: "Réparations mineures, petits bricolages, interventions de maintenance préventive pour votre tranquillité.",
icon: Wrench,
title: "Petits Travaux de Maintenance", description: "Réparations mineures, petits bricolages, interventions de maintenance préventive pour votre tranquillité.", icon: Wrench,
mediaItems: [
{
imageSrc: "http://img.b2bpic.net/free-photo/top-view-decorative-elements-blank-slate-father-s-day_23-2147684784.jpg?_wi=1",
imageAlt: "Outils de maintenance professionnels",
},
imageSrc: "http://img.b2bpic.net/free-photo/top-view-decorative-elements-blank-slate-father-s-day_23-2147684784.jpg?_wi=1", imageAlt: "Outils de maintenance professionnels"},
{
imageSrc: "http://img.b2bpic.net/free-photo/inspectors-interacting_1098-14279.jpg?_wi=1",
imageAlt: "Petit travail de réparation en cours",
},
imageSrc: "http://img.b2bpic.net/free-photo/inspectors-interacting_1098-14279.jpg?_wi=1", imageAlt: "Petit travail de réparation en cours"},
],
},
{
title: "Gestion Personnalisée",
description: "Supervision complète de vos propriétés, interventions ponctuelles ou récurrentes selon vos besoins spécifiques.",
icon: Users,
title: "Gestion Personnalisée", description: "Supervision complète de vos propriétés, interventions ponctuelles ou récurrentes selon vos besoins spécifiques.", icon: Users,
mediaItems: [
{
imageSrc: "http://img.b2bpic.net/free-photo/creative-students-working-together_23-2147656002.jpg?_wi=1",
imageAlt: "Équipe coordonnée de professionnels",
},
imageSrc: "http://img.b2bpic.net/free-photo/creative-students-working-together_23-2147656002.jpg?_wi=1", imageAlt: "Équipe coordonnée de professionnels"},
{
imageSrc: "http://img.b2bpic.net/free-photo/real-estate-agents-front-building_23-2147653355.jpg?_wi=1",
imageAlt: "Inspection et suivi de propriété",
},
imageSrc: "http://img.b2bpic.net/free-photo/real-estate-agents-front-building_23-2147653355.jpg?_wi=1", imageAlt: "Inspection et suivi de propriété"},
],
},
]}
@@ -178,11 +145,10 @@ export default function HomePage() {
useInvertedBackground={false}
buttons={[
{
text: "Prendre Rendez-Vous",
href: "/contact",
},
text: "Prendre Rendez-Vous", href: "/contact"},
]}
buttonAnimation="slide-up"
mediaClassName="scale-30 origin-center"
/>
</div>
@@ -193,11 +159,7 @@ export default function HomePage() {
tagAnimation="slide-up"
members={[
{
id: "1",
name: "Fabrice Chatelier",
imageSrc: "http://img.b2bpic.net/free-photo/digital-tablet-can-solve-problem_329181-10291.jpg",
imageAlt: "Fabrice Chatelier, Gérant de Montois Multi Services",
},
id: "1", name: "Fabrice Chatelier", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AanP4tq0gi26KyP6ID7LVKsvKY/uploaded-1772842156474-a6oliyzl.jpg", imageAlt: "Fabrice Chatelier, Gérant de Montois Multi Services"},
]}
memberVariant="default"
useInvertedBackground={false}
@@ -214,60 +176,31 @@ export default function HomePage() {
tagAnimation="slide-up"
testimonials={[
{
id: "1",
name: "Monsieur Dupont",
role: "Propriétaire",
company: "Notre-Dame-de-Monts",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/man-with-selfie-stick_23-2148542713.jpg",
imageAlt: "Monsieur Dupont, propriétaire satisfait",
},
id: "1", name: "Monsieur Dupont", role: "Propriétaire", company: "Notre-Dame-de-Monts", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/man-with-selfie-stick_23-2148542713.jpg", imageAlt: "Monsieur Dupont, propriétaire satisfait"},
{
id: "2",
name: "Mme Leblanc",
role: "Résidente",
company: "Ile de Noirmoutier",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/stylish-woman-wearing-yellow-bandana_273609-13309.jpg",
imageAlt: "Mme Leblanc, résidente",
},
id: "2", name: "Mme Leblanc", role: "Résidente", company: "Ile de Noirmoutier", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/stylish-woman-wearing-yellow-bandana_273609-13309.jpg", imageAlt: "Mme Leblanc, résidente"},
{
id: "3",
name: "M. Martin",
role: "Gestionnaire Propriété",
company: "Côte Vendéenne",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/serious-successful-young-businessman-standing-office-looking-camera_1163-4223.jpg",
imageAlt: "M. Martin, gestionnaire",
},
id: "3", name: "M. Martin", role: "Gestionnaire Propriété", company: "Côte Vendéenne", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/serious-successful-young-businessman-standing-office-looking-camera_1163-4223.jpg", imageAlt: "M. Martin, gestionnaire"},
{
id: "4",
name: "Mme Rousseau",
role: "Propriétaire Secondaire",
company: "Saint-Hilaire-de-Riez",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/expressive-young-girl-posing-studio_176474-65932.jpg",
imageAlt: "Mme Rousseau, propriétaire secondaire",
},
id: "4", name: "Mme Rousseau", role: "Propriétaire Secondaire", company: "Saint-Hilaire-de-Riez", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/expressive-young-girl-posing-studio_176474-65932.jpg", imageAlt: "Mme Rousseau, propriétaire secondaire"},
]}
kpiItems={[
{
value: "500+",
label: "Propriétés entretenues",
},
value: "500+", label: "Propriétés entretenues"},
{
value: "98%",
label: "Satisfaction clients",
},
value: "98%", label: "Satisfaction clients"},
{
value: "15+",
label: "Années d'expérience",
},
value: "15+", label: "Années d'expérience"},
]}
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={false}
buttonAnimation="slide-up"
imageClassName="scale-30 origin-center"
/>
</div>
@@ -280,30 +213,15 @@ export default function HomePage() {
tagAnimation="slide-up"
faqs={[
{
id: "1",
title: "Quels types de propriétés entretenez-vous ?",
content: "Nous nous occupons de résidences principales et secondaires, petits immeubles et propriétés commerciales sur la côte vendéenne. Nos services s'adaptent à tous les besoins d'entretien.",
},
id: "1", title: "Quels types de propriétés entretenez-vous ?", content: "Nous nous occupons de résidences principales et secondaires, petits immeubles et propriétés commerciales sur la côte vendéenne. Nos services s'adaptent à tous les besoins d'entretien."},
{
id: "2",
title: "Comment puis-je demander un devis ?",
content: "Vous pouvez nous contacter par téléphone au 06 77 22 14 66 ou par email à montois.multiservices@gmail.com. Nous serons heureux de vous proposer un devis personnalisé après visite de votre propriété.",
},
id: "2", title: "Comment puis-je demander un devis ?", content: "Vous pouvez nous contacter par téléphone au 06 77 22 14 66 ou par email à montois.multiservices@gmail.com. Nous serons heureux de vous proposer un devis personnalisé après visite de votre propriété."},
{
id: "3",
title: "Êtes-vous disponibles toute l'année ?",
content: "Oui, nous proposons des services réguliers tout au long de l'année. Nous adaptons nos interventions aux saisons pour un entretien optimal de votre propriété.",
},
id: "3", title: "Êtes-vous disponibles toute l'année ?", content: "Oui, nous proposons des services réguliers tout au long de l'année. Nous adaptons nos interventions aux saisons pour un entretien optimal de votre propriété."},
{
id: "4",
title: "Pouvez-vous gérer les urgences ?",
content: "Nous offrons une certaine flexibilité pour les demandes urgentes. Contactez-nous directement pour discuter de vos besoins spécifiques et de la disponibilité de notre équipe.",
},
id: "4", title: "Pouvez-vous gérer les urgences ?", content: "Nous offrons une certaine flexibilité pour les demandes urgentes. Contactez-nous directement pour discuter de vos besoins spécifiques et de la disponibilité de notre équipe."},
{
id: "5",
title: "Comment fonctionnent les forfaits récurrents ?",
content: "Nos forfaits récurrents peuvent être hebdomadaires, bi-hebdomadaires ou mensuels selon vos besoins. Nous établissons un calendrier d'interventions régulières et facturons selon vos préférences.",
},
id: "5", title: "Comment fonctionnent les forfaits récurrents ?", content: "Nos forfaits récurrents peuvent être hebdomadaires, bi-hebdomadaires ou mensuels selon vos besoins. Nous établissons un calendrier d'interventions régulières et facturons selon vos préférences."},
]}
imageSrc="http://img.b2bpic.net/free-photo/concentrated-thoughtful-business-colleagues-standing-near-table-analyzing-documents_1262-12289.jpg"
imageAlt="Service client professionnel en Vendée"
@@ -313,6 +231,7 @@ export default function HomePage() {
textboxLayout="default"
useInvertedBackground={false}
animationType="smooth"
mediaClassName="scale-30 origin-center"
/>
</div>
@@ -324,13 +243,9 @@ export default function HomePage() {
useInvertedBackground={false}
buttons={[
{
text: "Nous Appeler",
href: "tel:0677221466",
},
text: "Nous Appeler", href: "tel:0677221466"},
{
text: "Envoyer Un Email",
href: "mailto:montois.multiservices@gmail.com",
},
text: "Envoyer Un Email", href: "mailto:montois.multiservices@gmail.com"},
]}
/>
</div>

View File

@@ -56,9 +56,7 @@ export default function PricingPage() {
brandName="Montois Multi Services"
navItems={navItems}
button={{
text: "Nous Contacter",
href: "/contact",
}}
text: "Nous Contacter", href: "/contact"}}
animateOnLoad={true}
/>
</div>
@@ -74,86 +72,79 @@ export default function PricingPage() {
</div>
</div>
<div id="pricing-options" data-section="pricing-options" className="py-16 md:py-24 px-4 md:px-6">
<div id="pricing-table" data-section="pricing-table" className="py-12 md:py-16 px-4 md:px-6">
<div className="mx-auto max-w-6xl">
<div className="grid md:grid-cols-3 gap-6 md:gap-8">
<div className="bg-card rounded-lg p-8 border border-background-accent/50">
<h3 className="text-2xl font-bold mb-4 text-foreground">Intervention Ponctuelle</h3>
<p className="text-foreground/70 mb-6">
Pour vos besoins occasionnels et ponctuels d'entretien ou de maintenance.
</p>
<div className="mb-6">
<p className="text-3xl font-bold text-primary-cta">À partir de</p>
<p className="text-xl text-foreground/60 mt-2">50 / heure</p>
</div>
<ul className="space-y-3 mb-8 text-foreground/70">
<li className="flex items-center">
<span className="mr-3 text-accent"></span>
Tarif horaire flexible
</li>
<li className="flex items-center">
<span className="mr-3 text-accent"></span>
Disponibilité selon calendrier
</li>
<li className="flex items-center">
<span className="mr-3 text-accent"></span>
Devis avant intervention
</li>
</ul>
</div>
<div className="bg-card rounded-lg p-8 border border-accent/50 relative">
<div className="absolute -top-4 left-1/2 -translate-x-1/2 bg-accent text-primary-cta-text px-4 py-2 rounded-full text-sm font-semibold">
Recommandé
</div>
<h3 className="text-2xl font-bold mb-4 text-foreground">Forfait Mensuel</h3>
<p className="text-foreground/70 mb-6">
Pour un entretien régulier et continu de votre propriété.
</p>
<div className="mb-6">
<p className="text-3xl font-bold text-primary-cta">À partir de</p>
<p className="text-xl text-foreground/60 mt-2">500 / mois</p>
</div>
<ul className="space-y-3 mb-8 text-foreground/70">
<li className="flex items-center">
<span className="mr-3 text-accent"></span>
Interventions régulières
</li>
<li className="flex items-center">
<span className="mr-3 text-accent"></span>
Suivi personnalisé
</li>
<li className="flex items-center">
<span className="mr-3 text-accent"></span>
10% de réduction
</li>
</ul>
</div>
<div className="bg-card rounded-lg p-8 border border-background-accent/50">
<h3 className="text-2xl font-bold mb-4 text-foreground">Forfait Annuel</h3>
<p className="text-foreground/70 mb-6">
Pour la gestion complète de votre propriété avec engagement annuel.
</p>
<div className="mb-6">
<p className="text-3xl font-bold text-primary-cta">À partir de</p>
<p className="text-xl text-foreground/60 mt-2">5 000 / an</p>
</div>
<ul className="space-y-3 mb-8 text-foreground/70">
<li className="flex items-center">
<span className="mr-3 text-accent"></span>
Meilleur tarif
</li>
<li className="flex items-center">
<span className="mr-3 text-accent"></span>
Priorité d'intervention
</li>
<li className="flex items-center">
<span className="mr-3 text-accent">✓</span>
Support prioritaire
</li>
</ul>
</div>
<div className="overflow-x-auto">
<table className="w-full border-collapse">
<thead>
<tr className="border-b border-background-accent/50">
<th className="text-left py-4 px-6 text-foreground font-bold">
Service
</th>
<th className="text-right py-4 px-6 text-foreground font-bold">
Tarif
</th>
</tr>
</thead>
<tbody>
<tr className="border-b border-background-accent/50 hover:bg-card/50 transition-colors">
<td className="py-4 px-6 text-foreground">
Entretien intérieur
</td>
<td className="text-right py-4 px-6 text-foreground font-semibold">
30 €/h
</td>
</tr>
<tr className="border-b border-background-accent/50 hover:bg-card/50 transition-colors">
<td className="py-4 px-6 text-foreground">
Entretien extérieur
</td>
<td className="text-right py-4 px-6 text-foreground font-semibold">
30 €/h
</td>
</tr>
<tr className="border-b border-background-accent/50 hover:bg-card/50 transition-colors">
<td className="py-4 px-6 text-foreground">
Travaux de maintenance
</td>
<td className="text-right py-4 px-6 text-foreground font-semibold">
30 €/h
</td>
</tr>
<tr className="border-b border-background-accent/50 hover:bg-card/50 transition-colors">
<td className="py-4 px-6 text-foreground">
Entretien extérieur avec matériel thermique
</td>
<td className="text-right py-4 px-6 text-foreground font-semibold">
35 €/h
</td>
</tr>
<tr className="border-b border-background-accent/50 hover:bg-card/50 transition-colors">
<td className="py-4 px-6 text-foreground">
Entretien du linge
</td>
<td className="text-right py-4 px-6 text-foreground font-semibold">
30 €/h
</td>
</tr>
<tr className="border-b border-background-accent/50 hover:bg-card/50 transition-colors">
<td className="py-4 px-6 text-foreground">
Enlèvement des déchets
</td>
<td className="text-right py-4 px-6 text-foreground font-semibold">
35 €/h
</td>
</tr>
<tr className="border-b border-background-accent/50 hover:bg-card/50 transition-colors">
<td className="py-4 px-6 text-foreground">
Vérification de logement
</td>
<td className="text-right py-4 px-6 text-foreground font-semibold">
7,50 €/visite
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
@@ -218,13 +209,9 @@ export default function PricingPage() {
useInvertedBackground={false}
buttons={[
{
text: "Demander Un Devis",
href: "/contact",
},
text: "Demander Un Devis", href: "/contact"},
{
text: "Nous Appeler",
href: "tel:0677221466",
},
text: "Nous Appeler", href: "tel:0677221466"},
]}
/>
</div>

View File

@@ -10,15 +10,15 @@
--accent: #ffffff;
--background-accent: #ffffff; */
--background: #fffefe;
--card: #f6f7f4;
--foreground: #080908;
--primary-cta: #0e3a29;
--primary-cta-text: #fffefe;
--secondary-cta: #e7eecd;
--secondary-cta-text: #080908;
--accent: #35c18b;
--background-accent: #ecebe4;
--background: #ffffff;
--card: #f9f9f9;
--foreground: #000612e6;
--primary-cta: #15479c;
--primary-cta-text: #ffffff;
--secondary-cta: #f9f9f9;
--secondary-cta-text: #000612e6;
--accent: #e2e2e2;
--background-accent: #c4c4c4;
/* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);