Compare commits

..

58 Commits

Author SHA1 Message Date
1483354222 Update src/app/page.tsx 2026-05-15 16:45:01 +00:00
52e9dccf91 Merge version_33 into main
Merge version_33 into main
2026-05-15 16:43:32 +00:00
89dfd757d4 Add src/app/pricing-highlighted-cards/page.tsx 2026-05-15 16:43:29 +00:00
cdd993aee0 Update src/app/pricing-highlighted/page.tsx 2026-05-15 16:43:28 +00:00
6006a0c895 Update src/app/pricing/page.tsx 2026-05-15 16:43:28 +00:00
b3af744e87 Update src/app/page.tsx 2026-05-15 16:43:28 +00:00
27848dfc81 Update src/app/comparison/page.tsx 2026-05-15 16:43:27 +00:00
1bdaccb998 Merge version_32 into main
Merge version_32 into main
2026-05-15 16:41:14 +00:00
84d1fe2eaa Update src/app/page.tsx 2026-05-15 16:41:10 +00:00
89a124f949 Merge version_31 into main
Merge version_31 into main
2026-05-15 16:40:00 +00:00
9625e210f4 Update src/app/pricing-highlighted/page.tsx 2026-05-15 16:39:57 +00:00
2089b188d4 Update src/app/pricing/page.tsx 2026-05-15 16:39:56 +00:00
0d8a567675 Update src/app/page.tsx 2026-05-15 16:39:56 +00:00
c2e667bfb8 Update src/app/comparison/page.tsx 2026-05-15 16:39:55 +00:00
bbd4130d04 Merge version_30 into main
Merge version_30 into main
2026-05-15 16:38:08 +00:00
1e8472fc01 Update src/app/page.tsx 2026-05-15 16:38:05 +00:00
3e14daae4e Merge version_29 into main
Merge version_29 into main
2026-05-15 16:36:36 +00:00
70b0fb878b Update src/app/pricing-highlighted/page.tsx 2026-05-15 16:36:33 +00:00
b990e3d931 Update src/app/pricing/page.tsx 2026-05-15 16:36:32 +00:00
800f02c04d Update src/app/page.tsx 2026-05-15 16:36:32 +00:00
83a41d7e9f Update src/app/comparison/page.tsx 2026-05-15 16:36:31 +00:00
2899d5b371 Merge version_28 into main
Merge version_28 into main
2026-05-15 16:34:34 +00:00
3d276f7bae Update src/app/page.tsx 2026-05-15 16:34:30 +00:00
0966b31b2b Merge version_27 into main
Merge version_27 into main
2026-05-15 16:31:40 +00:00
0b81cef451 Add src/app/pricing-highlighted/page.tsx 2026-05-15 16:31:37 +00:00
d14f2c5d37 Update src/app/pricing/page.tsx 2026-05-15 16:31:36 +00:00
a6501fd8b9 Update src/app/page.tsx 2026-05-15 16:31:36 +00:00
7549c60a9e Update src/app/comparison/page.tsx 2026-05-15 16:31:35 +00:00
02e36a8a33 Switch to version 25: modified src/app/page.tsx 2026-05-15 16:30:27 +00:00
1b7d7bd9ee Merge version_26 into main
Merge version_26 into main
2026-05-15 16:29:44 +00:00
621dda645f Update src/app/page.tsx 2026-05-15 16:29:41 +00:00
683cd0e3ff Merge version_26 into main
Merge version_26 into main
2026-05-15 16:29:17 +00:00
b16fcdf3bf Update src/app/page.tsx 2026-05-15 16:29:11 +00:00
9baf262094 Merge version_25 into main
Merge version_25 into main
2026-05-15 16:28:21 +00:00
2155a9ce66 Update src/app/pricing/page.tsx 2026-05-15 16:28:18 +00:00
e13d575f16 Merge version_25 into main
Merge version_25 into main
2026-05-15 16:27:56 +00:00
f1d856a652 Add src/app/pricing/page.tsx 2026-05-15 16:27:53 +00:00
f18382ca11 Update src/app/page.tsx 2026-05-15 16:27:53 +00:00
edc5cc6445 Update src/app/comparison/page.tsx 2026-05-15 16:27:52 +00:00
1abcc657cf Merge version_24 into main
Merge version_24 into main
2026-05-15 16:26:35 +00:00
4485b75d1a Update src/app/styles/variables.css 2026-05-15 16:26:32 +00:00
b430a5ebce Update src/app/page.tsx 2026-05-15 16:26:32 +00:00
159fac70e8 Update src/app/comparison/page.tsx 2026-05-15 16:26:31 +00:00
e9ae83f681 Merge version_23 into main
Merge version_23 into main
2026-05-15 16:24:40 +00:00
9bdada7ae6 Update src/app/comparison/page.tsx 2026-05-15 16:24:37 +00:00
4e731c0df2 Merge version_23 into main
Merge version_23 into main
2026-05-15 16:24:16 +00:00
5e9086ac4f Update src/app/styles/variables.css 2026-05-15 16:24:12 +00:00
11a7ba8854 Update src/app/comparison/page.tsx 2026-05-15 16:24:12 +00:00
cd11cd0bb4 Merge version_22 into main
Merge version_22 into main
2026-05-15 16:22:53 +00:00
5e10de8bb2 Update src/app/page.tsx 2026-05-15 16:22:50 +00:00
c253cc7f29 Merge version_21 into main
Merge version_21 into main
2026-05-15 16:21:49 +00:00
534a589f25 Update src/app/page.tsx 2026-05-15 16:21:46 +00:00
f208212c9f Add src/app/comparison/page.tsx 2026-05-15 16:21:45 +00:00
0969ee222c Merge version_20 into main
Merge version_20 into main
2026-05-15 16:21:07 +00:00
57c7ad01b5 Update src/app/page.tsx 2026-05-15 16:21:04 +00:00
d87743e0bd Merge version_19 into main
Merge version_19 into main
2026-05-15 16:20:28 +00:00
254f5dacc2 Update src/app/page.tsx 2026-05-15 16:20:25 +00:00
f14afd6909 Merge version_18 into main
Merge version_18 into main
2026-05-15 16:19:48 +00:00
6 changed files with 288 additions and 30 deletions

View File

@@ -0,0 +1,51 @@
"use client";
import ReactLenis from "lenis/react";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay";
import FooterBase from "@/components/sections/footer/FooterBase";
export default function ComparisonPage() {
return (
<ThemeProvider
defaultButtonVariant="text-stagger"
defaultTextAnimation="entrance-slide"
borderRadius="pill"
contentWidth="medium"
sizing="medium"
background="none"
cardStyle="glass-elevated"
primaryButtonStyle="gradient"
secondaryButtonStyle="glass"
headingFontWeight="medium"
>
<ReactLenis root>
<NavbarLayoutFloatingOverlay
brandName="Switzerweb"
navItems={[
{ name: "Réalisations", id: "work" },
{ name: "Services", id: "services" },
{ name: "À Propos", id: "about" },
{ name: "Contact", id: "contact" },
{ name: "Pricing", id: "/pricing" },
{ name: "Pricing Highlights", id: "/pricing-highlighted" },
{ name: "Pricing Highlighted Cards", id: "/pricing-highlighted-cards" }
]}
button={{ text: "Démarrer", href: "#contact" }}
/>
<div className="pt-32 pb-20 text-center">
<h1 className="text-4xl font-medium">Page vide</h1>
<p className="mt-4">Les sections ont é retirées comme demandé.</p>
</div>
<FooterBase
logoText="Switzerweb"
copyrightText="© 2026 | Switzerweb"
columns={[
{ title: "Entreprise", items: [{ label: "À Propos", href: "#about" }, { label: "Services", href: "#services" }, { label: "Contact", href: "#contact" }] },
{ title: "Services", items: [{ label: "Dév Web", href: "#" }, { label: "SEO", href: "#" }] },
]}
/>
</ReactLenis>
</ThemeProvider>
);
}

View File

@@ -3,14 +3,15 @@
import ReactLenis from "lenis/react";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay";
import HeroSplitDoubleCarousel from "@/components/sections/hero/HeroSplitDoubleCarousel";
import HeroOverlayTestimonial from "@/components/sections/hero/HeroOverlayTestimonial";
import FeatureBento from "@/components/sections/feature/FeatureBento";
import FeatureCardTwentySix from "@/components/sections/feature/FeatureCardTwentySix";
import MetricCardOne from "@/components/sections/metrics/MetricCardOne";
import FooterBase from "@/components/sections/footer/FooterBase";
import TestimonialCardSixteen from "@/components/sections/testimonial/TestimonialCardSixteen";
import ContactCTA from "@/components/sections/contact/ContactCTA";
import { Sparkles, Search, Award, Users, ArrowRight } from "lucide-react";
import PricingCardTwo from "@/components/sections/pricing/PricingCardTwo";
import { Sparkles, Search, Award, Users, ArrowRight, CheckCircle } from "lucide-react";
export default function WebAgency2Page() {
return (
@@ -34,30 +35,24 @@ export default function WebAgency2Page() {
{ name: "Services", id: "services" },
{ name: "À Propos", id: "about" },
{ name: "Contact", id: "contact" },
{ name: "Pricing", id: "/pricing" },
{ name: "Pricing Highlights", id: "/pricing-highlighted" },
{ name: "Pricing Highlighted Cards", id: "/pricing-highlighted-cards" }
]}
button={{ text: "Démarrer", href: "#contact" }}
/>
<HeroSplitDoubleCarousel
title="See Our Work See What Clients Say"
description="Explore completed projects and real client feedback without interruption Our portfolio speaks for itself"
<HeroOverlayTestimonial
title="Innovation Digitale & Excellence Créative"
description="Nous transformons vos visions en solutions numériques percutantes. Une approche axée sur les résultats, reconnue par les meilleurs standards du marché."
tag="Agence Primée"
tagIcon={Sparkles}
tagAnimation="slide-up"
background={{ variant: "canvas-reveal" }}
buttons={[
{ text: "View Our Projects", href: "#work" },
testimonials={[
{ name: "Maria Santos", handle: "@luxuriatravel", testimonial: "Un travail exceptionnel, une équipe réactive et des résultats au-delà de mes espérances.", rating: 5 },
{ name: "John Doe", handle: "@johndoe", testimonial: "Le partenaire idéal pour booster notre visibilité en ligne.", rating: 5 },
]}
buttonAnimation="slide-up"
carouselPosition="right"
leftCarouselItems={[
{ imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B1CZ8wJvEJetEx867dlBUUa9fk/uploaded-1778687704099-pawini9k.png?_wi=1", imageAlt: "Projet 1" },
{ imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B1CZ8wJvEJetEx867dlBUUa9fk/uploaded-1778687704099-z8ttb3x3.png?_wi=1", imageAlt: "Projet 2" },
]}
rightCarouselItems={[
{ imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B1CZ8wJvEJetEx867dlBUUa9fk/uploaded-1778687704099-xqyy35cv.png?_wi=2", imageAlt: "Projet 3" },
{ imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B1CZ8wJvEJetEx867dlBUUa9fk/uploaded-1778687704099-kuuxuq0p.png?_wi=2", imageAlt: "Projet 4" },
]}
carouselItemClassName="!aspect-[4/5]"
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B1CZ8wJvEJetEx867dlBUUa9fk/uploaded-1778862157558-53z96op4.png"
buttons={[{ text: "View Our Projects", href: "#work" }]}
/>
<div id="services">
<FeatureBento
@@ -91,10 +86,30 @@ export default function WebAgency2Page() {
buttonAnimation="slide-up"
cardClassName="!h-auto aspect-video"
features={[
{ title: "Digital Inflatables Artist", description: "Site à but non lucratif", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B1CZ8wJvEJetEx867dlBUUa9fk/uploaded-1778861460221-euyk88uh.png", imageAlt: "Digital Inflatables Artist", buttonHref: "#", buttonIcon: ArrowRight },
{ title: "FLEX Studio", description: "Site e-commerce", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B1CZ8wJvEJetEx867dlBUUa9fk/uploaded-1778861460221-khgvbcj0.png", imageAlt: "FLEX Studio", buttonHref: "#", buttonIcon: ArrowRight },
{ title: "Sport Air Event", description: "Plateforme créative", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B1CZ8wJvEJetEx867dlBUUa9fk/uploaded-1778861460221-f0q6iebc.png", imageAlt: "Sport Air Event", buttonHref: "#", buttonIcon: ArrowRight },
{ title: "Association LeLi", description: "Portfolio interactif", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B1CZ8wJvEJetEx867dlBUUa9fk/uploaded-1778861460221-vobfgdq4.png", imageAlt: "Association LeLi", buttonHref: "#", buttonIcon: ArrowRight },
{ title: "Digital Inflatables Artist", description: "Site portfolio", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B1CZ8wJvEJetEx867dlBUUa9fk/uploaded-1778861460221-euyk88uh.png", imageAlt: "Digital Inflatables Artist", buttonHref: "#", buttonIcon: ArrowRight },
{ title: "FLEX Studio", description: "Site showcase", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B1CZ8wJvEJetEx867dlBUUa9fk/uploaded-1778861460221-khgvbcj0.png", imageAlt: "FLEX Studio", buttonHref: "#", buttonIcon: ArrowRight },
{ title: "Sport Air Event", description: "Site e-commerce", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B1CZ8wJvEJetEx867dlBUUa9fk/uploaded-1778861460221-f0q6iebc.png", imageAlt: "Sport Air Event", buttonHref: "#", buttonIcon: ArrowRight },
{ title: "Association LeLi", description: "Site non-profit", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B1CZ8wJvEJetEx867dlBUUa9fk/uploaded-1778861460221-vobfgdq4.png", imageAlt: "Association LeLi", buttonHref: "#", buttonIcon: ArrowRight },
]}
/>
</div>
<div id="pricing-highlighted-cards">
<PricingCardTwo
title="Nos Tarifs"
description="Des solutions adaptées à vos besoins avec des options premium."
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={false}
plans={[
{
id: "standard", badge: "Basic", price: "$99", subtitle: "Parfait pour démarrer", features: ["SEO de base", "Design Réactif", "Support Email"],
buttons: [{ text: "Choisir", href: "#" }]
},
{
id: "highlighted", badge: "Populaire", badgeIcon: CheckCircle,
price: "$199", subtitle: "Pour booster votre croissance", features: ["Tout le pack Basic", "SEO Avancé", "Analytics", "Support Prioritaire"],
buttons: [{ text: "Choisir", href: "#" }]
}
]}
/>
</div>
@@ -149,4 +164,4 @@ export default function WebAgency2Page() {
</ReactLenis>
</ThemeProvider>
);
}
}

View File

@@ -0,0 +1,69 @@
"use client";
import ReactLenis from "lenis/react";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay";
import FooterBase from "@/components/sections/footer/FooterBase";
import PricingCardTwo from "@/components/sections/pricing/PricingCardTwo";
import { CheckCircle } from "lucide-react";
export default function PricingHighlightedCardsPage() {
return (
<ThemeProvider
defaultButtonVariant="text-stagger"
defaultTextAnimation="entrance-slide"
borderRadius="pill"
contentWidth="medium"
sizing="medium"
background="none"
cardStyle="glass-elevated"
primaryButtonStyle="gradient"
secondaryButtonStyle="glass"
headingFontWeight="medium"
>
<ReactLenis root>
<NavbarLayoutFloatingOverlay
brandName="Switzerweb"
navItems={[
{ name: "Réalisations", id: "work" },
{ name: "Services", id: "services" },
{ name: "À Propos", id: "about" },
{ name: "Contact", id: "contact" },
{ name: "Pricing", id: "/pricing" },
{ name: "Pricing Highlights", id: "/pricing-highlighted" },
{ name: "Pricing Highlighted Cards", id: "/pricing-highlighted-cards" }
]}
button={{ text: "Démarrer", href: "#contact" }}
/>
<div id="pricing-highlighted-cards" className="pt-32 pb-20">
<PricingCardTwo
title="Nos Tarifs"
description="Des solutions adaptées à vos besoins avec des options premium."
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={false}
plans={[
{
id: "standard", badge: "Basic", price: "$99", subtitle: "Parfait pour démarrer", features: ["SEO de base", "Design Réactif", "Support Email"],
buttons: [{ text: "Choisir", href: "#" }]
},
{
id: "highlighted", badge: "Populaire", badgeIcon: CheckCircle,
price: "$199", subtitle: "Pour booster votre croissance", features: ["Tout le pack Basic", "SEO Avancé", "Analytics", "Support Prioritaire"],
buttons: [{ text: "Choisir", href: "#" }]
}
]}
/>
</div>
<FooterBase
logoText="Switzerweb"
copyrightText="© 2026 | Switzerweb"
columns={[
{ title: "Entreprise", items: [{ label: "À Propos", href: "#about" }, { label: "Services", href: "#services" }, { label: "Contact", href: "#contact" }] },
{ title: "Services", items: [{ label: "Dév Web", href: "#" }, { label: "SEO", href: "#" }] },
]}
/>
</ReactLenis>
</ThemeProvider>
);
}

View File

@@ -0,0 +1,61 @@
"use client";
import ReactLenis from "lenis/react";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay";
import FooterBase from "@/components/sections/footer/FooterBase";
import PricingCardOne from "@/components/sections/pricing/PricingCardOne";
import { CheckCircle } from "lucide-react";
export default function PricingHighlightedPage() {
return (
<ThemeProvider
defaultButtonVariant="text-stagger"
defaultTextAnimation="entrance-slide"
borderRadius="pill"
contentWidth="medium"
sizing="medium"
background="none"
cardStyle="glass-elevated"
primaryButtonStyle="gradient"
secondaryButtonStyle="glass"
headingFontWeight="medium"
>
<ReactLenis root>
<NavbarLayoutFloatingOverlay
brandName="Switzerweb"
navItems={[
{ name: "Réalisations", id: "work" },
{ name: "Services", id: "services" },
{ name: "À Propos", id: "about" },
{ name: "Contact", id: "contact" },
{ name: "Pricing", id: "/pricing" },
{ name: "Pricing Highlights", id: "/pricing-highlighted" },
{ name: "Pricing Highlighted Cards", id: "/pricing-highlighted-cards" }
]}
button={{ text: "Démarrer", href: "#contact" }}
/>
<div id="pricing-highlighted" className="pt-32 pb-20">
<PricingCardOne
title="Pricing Plans"
description="Premium plans with highlighted features."
animationType="depth-3d"
textboxLayout="default"
useInvertedBackground={false}
plans={[
{ id: "pro", badge: "Highlighted", badgeIcon: CheckCircle, price: "$199", subtitle: "Best value plan", features: ["Everything in standard", "Dedicated support", "Custom analytics", "Unlimited projects"] }
]}
/>
</div>
<FooterBase
logoText="Switzerweb"
copyrightText="© 2026 | Switzerweb"
columns={[
{ title: "Entreprise", items: [{ label: "À Propos", href: "#about" }, { label: "Services", href: "#services" }, { label: "Contact", href: "#contact" }] },
{ title: "Services", items: [{ label: "Dév Web", href: "#" }, { label: "SEO", href: "#" }] },
]}
/>
</ReactLenis>
</ThemeProvider>
);
}

62
src/app/pricing/page.tsx Normal file
View File

@@ -0,0 +1,62 @@
"use client";
import ReactLenis from "lenis/react";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay";
import FooterBase from "@/components/sections/footer/FooterBase";
import PricingCardThree from "@/components/sections/pricing/PricingCardThree";
export default function PricingPage() {
return (
<ThemeProvider
defaultButtonVariant="text-stagger"
defaultTextAnimation="entrance-slide"
borderRadius="pill"
contentWidth="medium"
sizing="medium"
background="none"
cardStyle="glass-elevated"
primaryButtonStyle="gradient"
secondaryButtonStyle="glass"
headingFontWeight="medium"
>
<ReactLenis root>
<NavbarLayoutFloatingOverlay
brandName="Switzerweb"
navItems={[
{ name: "Réalisations", id: "work" },
{ name: "Services", id: "services" },
{ name: "À Propos", id: "about" },
{ name: "Contact", id: "contact" },
{ name: "Pricing", id: "/pricing" },
{ name: "Pricing Highlights", id: "/pricing-highlighted" },
{ name: "Pricing Highlighted Cards", id: "/pricing-highlighted-cards" }
]}
button={{ text: "Démarrer", href: "#contact" }}
/>
<div id="pricing" className="pt-32 pb-20">
<PricingCardThree
title="Nos Plans Tarifaires"
description="Choisissez l'offre qui propulsera votre projet vers le succès."
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={false}
plans={[
{ id: "starter", price: "$49", name: "Starter", features: ["SEO de base", "Design Réactif", "Maintenance Mensuelle"], buttons: [{ text: "Démarrer", href: "#" }] },
{ id: "growth", price: "$99", name: "Growth", features: ["SEO Avancé", "Stratégie Digitale", "Support 24/7", "Analytique"], buttons: [{ text: "Choisir", href: "#" }] },
{ id: "pro", price: "$199", name: "Pro", features: ["Tout le pack Growth", "UI/UX Personnalisé", "Gestionnaire Dédié", "Performance Optimisée"], buttons: [{ text: "Passer au niveau supérieur", href: "#" }] }
]}
/>
</div>
<FooterBase
logoText="Switzerweb"
copyrightText="© 2026 | Switzerweb"
columns={[
{ title: "Entreprise", items: [{ label: "À Propos", href: "#about" }, { label: "Services", href: "#services" }, { label: "Contact", href: "#contact" }] },
{ title: "Services", items: [{ label: "Dév Web", href: "#" }, { label: "SEO", href: "#" }] },
]}
/>
</ReactLenis>
</ThemeProvider>
);
}

View File

@@ -10,15 +10,15 @@
--accent: #ffffff;
--background-accent: #ffffff; */
--background: #0a0a0a;
--card: #161616;
--foreground: #f0f0f0;
--background: #ffffff;
--card: #ffffff;
--foreground: #000612;
--primary-cta: #ffffff;
--primary-cta-text: #0a0a0a;
--secondary-cta: #1e1e1e;
--secondary-cta: #ffffff;
--secondary-cta-text: #e0e0e0;
--accent: #d0d0d0;
--background-accent: #9a9a9a;
--accent: #e2e2e2;
--background-accent: #f9f9f9;
/* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);