Compare commits

...

35 Commits

Author SHA1 Message Date
621dda645f Update src/app/page.tsx 2026-05-15 16:29:41 +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
daddf5fc2c Update src/app/page.tsx 2026-05-15 16:19:44 +00:00
c0d6bb03f6 Merge version_17 into main
Merge version_17 into main
2026-05-15 16:18:55 +00:00
1c93ac553c Update src/app/page.tsx 2026-05-15 16:18:52 +00:00
f854f1a758 Merge version_16 into main
Merge version_16 into main
2026-05-15 16:15:54 +00:00
b23b4ff545 Update src/app/page.tsx 2026-05-15 16:15:51 +00:00
737075607c Merge version_16 into main
Merge version_16 into main
2026-05-15 16:15:25 +00:00
aa00820124 Update src/app/page.tsx 2026-05-15 16:15:22 +00:00
6628db4e7b Merge version_15 into main
Merge version_15 into main
2026-05-15 16:11:16 +00:00
4 changed files with 203 additions and 117 deletions

View File

@@ -0,0 +1,60 @@
"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 PricingCardEight from "@/components/sections/pricing/PricingCardEight";
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: "Features Comparison", id: "/comparison" },
]}
button={{ text: "Démarrer", href: "#contact" }}
/>
<div id="features-comparison" className="pt-32 pb-20">
<PricingCardEight
title="Features Comparison"
description="Compare our plans and choose the perfect fit for your digital growth."
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={false}
plans={[
{ id: "basic", badge: "Essential", price: "$49", subtitle: "For growing brands", features: ["SEO Optimization", "Web Development", "Standard Support"], buttons: [{ text: "Get Started", href: "#" }] },
{ id: "pro", badge: "Professional", price: "$99", subtitle: "For established businesses", features: ["Everything in Basic", "Advanced Analytics", "24/7 Priority Support", "Custom UI/UX"], buttons: [{ text: "Choose Pro", 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

@@ -3,14 +3,13 @@
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 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 TestimonialCardSix from "@/components/sections/testimonial/TestimonialCardSix";
import ContactCTA from "@/components/sections/contact/ContactCTA";
import { Sparkles, Search, ArrowUpRight, Award, Users } from "lucide-react";
import HeroCarouselLogo from "@/components/sections/hero/heroCarouselLogo/HeroCarouselLogo";
import FeatureCardThree from "@/components/sections/feature/featureCardThree/FeatureCardThree";
import MetricCardFourteen from "@/components/sections/metrics/MetricCardFourteen";
import FooterBaseReveal from "@/components/sections/footer/FooterBaseReveal";
import TestimonialCardFifteen from "@/components/sections/testimonial/TestimonialCardFifteen";
import ContactSplitForm from "@/components/sections/contact/ContactSplitForm";
import { Sparkles, Award, Users, ArrowRight } from "lucide-react";
export default function WebAgency2Page() {
return (
@@ -22,11 +21,12 @@ export default function WebAgency2Page() {
sizing="medium"
background="none"
cardStyle="glass-elevated"
primaryButtonStyle="metallic"
primaryButtonStyle="gradient"
secondaryButtonStyle="glass"
headingFontWeight="medium"
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay
brandName="Switzerweb"
navItems={[
@@ -35,112 +35,77 @@ export default function WebAgency2Page() {
{ name: "À Propos", id: "about" },
{ name: "Contact", id: "contact" },
]}
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"
tag="Agence Primée"
tagIcon={Sparkles}
tagAnimation="slide-up"
background={{ variant: "canvas-reveal" }}
buttons={[
{ text: "View Our Projects", href: "#work" },
</div>
<div id="hero" data-section="hero">
<HeroCarouselLogo
logoText="Switzerweb"
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é."
buttons={[{ text: "Démarrer", href: "#contact" }]}
slides={[
{ imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B1CZ8wJvEJetEx867dlBUUa9fk/uploaded-1778862157558-53z96op4.png", imageAlt: "Hero Image" }
]}
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]"
/>
<div id="services">
<FeatureBento
</div>
<div id="services" data-section="services">
<FeatureCardThree
title="Nos Services"
description="Nous proposons une gamme ciblée de services numériques pour maximiser votre impact."
textboxLayout="default"
useInvertedBackground={false}
animationType="slide-up"
gridVariant="bento-grid"
features={[
{
title: "SEO", description: "Nous optimisons votre site web pour améliorer son classement sur les moteurs de recherche et générer du trafic organique.", bentoComponent: "marquee", centerIcon: Search,
variant: "text", texts: ["Mots-clés", "Backlinks", "Meta Tags", "Trafic Organique", "Classements", "Analytique", "SERP", "Indexation"],
},
{
title: "Développement Web", description: "Des sites personnalisés, rapides, responsifs et conçus pour convertir.", bentoComponent: "media-stack", items: [
{ imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B1CZ8wJvEJetEx867dlBUUa9fk/uploaded-1778687704099-pawini9k.png?_wi=3", imageAlt: "Projet 1" },
{ imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B1CZ8wJvEJetEx867dlBUUa9fk/uploaded-1778687704099-z8ttb3x3.png?_wi=3", imageAlt: "Projet 2" },
{ imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B1CZ8wJvEJetEx867dlBUUa9fk/uploaded-1778687704099-xqyy35cv.png?_wi=3", imageAlt: "Projet 3" },
],
},
{ title: "SEO", description: "Nous optimisons votre site web pour améliorer son classement sur les moteurs de recherche et générer du trafic organique.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B1CZ8wJvEJetEx867dlBUUa9fk/uploaded-1778687704099-pawini9k.png?_wi=3" },
{ title: "Développement Web", description: "Des sites personnalisés, rapides, responsifs et conçus pour convertir.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B1CZ8wJvEJetEx867dlBUUa9fk/uploaded-1778687704099-z8ttb3x3.png?_wi=3" },
]}
/>
</div>
<div id="work">
<FeatureCardTwentySix
title="Nos Projets"
description="Une sélection de projets que nous avons réalisés pour des clients de tous secteurs."
textboxLayout="default"
<div id="testimonials" data-section="testimonials">
<TestimonialCardFifteen
testimonial="Un travail exceptionnel, une équipe réactive et des résultats au-delà de mes espérances."
rating={5}
author="Maria Santos"
avatars={[{ src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B1CZ8wJvEJetEx867dlBUUa9fk/uploaded-1778862157558-53z96op4.png", alt: "Maria Santos" }]}
ratingAnimation="slide-up"
avatarsAnimation="slide-up"
useInvertedBackground={false}
buttons={[{ text: "Voir tous les projets", href: "#work" }]}
buttonAnimation="slide-up"
cardClassName="!h-auto aspect-video"
features={[
{ title: "Association LeLi", description: "Site à but non lucratif", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B1CZ8wJvEJetEx867dlBUUa9fk/uploaded-1778861460221-euyk88uh.png", imageAlt: "Association LeLi", buttonIcon: ArrowUpRight, buttonHref: "#" },
{ title: "Sport Air Event", description: "Site e-commerce", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B1CZ8wJvEJetEx867dlBUUa9fk/uploaded-1778861460221-khgvbcj0.png", imageAlt: "Sport Air Event", buttonIcon: ArrowUpRight, buttonHref: "#" },
{ title: "FLEX Studio", description: "Plateforme créative", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B1CZ8wJvEJetEx867dlBUUa9fk/uploaded-1778861460221-f0q6iebc.png", imageAlt: "FLEX Studio", buttonIcon: ArrowUpRight, buttonHref: "#" },
{ title: "Digital Inflatables Artist", description: "Portfolio interactif", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B1CZ8wJvEJetEx867dlBUUa9fk/uploaded-1778861460221-vobfgdq4.png", imageAlt: "Digital Inflatables Artist", buttonIcon: ArrowUpRight, buttonHref: "#" },
]}
/>
</div>
<TestimonialCardSix
title="Témoignages"
description="Ce que nos clients disent de nous."
textboxLayout="default"
useInvertedBackground={false}
animationType="slide-up"
carouselClassName="!gap-0"
testimonials={[
{ id: "1", name: "Maria Santos", handle: "@luxuriatravel", testimonial: "Switzerweb a totalement transformé notre présence en ligne. L'équipe a livré un site magnifique qui a dépassé nos attentes.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B1CZ8wJvEJetEx867dlBUUa9fk/uploaded-1778687957597-xmzcujf9.png" },
{ id: "2", name: "John Doe", handle: "@johndoe", testimonial: "Service exceptionnel et résultats concrets dès le lancement. Je recommande vivement.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3B1CZ8wJvEJetEx867dlBUUa9fk/uploaded-1778687957597-dqsdv4cu.png" },
]}
/>
<MetricCardOne
<div id="metrics" data-section="metrics">
<MetricCardFourteen
title="Approuvé par les leaders du secteur"
description="Des années d'expérience dans la création de produits numériques orientés résultats."
textboxLayout="default"
useInvertedBackground={false}
gridVariant="uniform-all-items-equal"
animationType="slide-up"
tag="Performance"
metrics={[
{ id: "projects", value: "100+", title: "Projets", description: "Livrés avec succès dans tous les secteurs", icon: Award },
{ id: "satisfaction", value: "99%", title: "Satisfaction", description: "Taux de satisfaction client", icon: Users },
{ id: "projects", value: "100+", description: "Projets livrés avec succès" },
{ id: "satisfaction", value: "99%", description: "Taux de satisfaction client" },
]}
metricsAnimation="slide-up"
useInvertedBackground={false}
/>
<ContactCTA
tag="Entrer en contact"
</div>
<div id="contact" data-section="contact">
<ContactSplitForm
title="Prêt à transformer votre présence numérique ?"
description="Construisons quelque chose d'extraordinaire ensemble. Contactez-nous pour discuter de votre projet."
background={{ variant: "rotated-rays-animated" }}
buttons={[
{ text: "Lancer votre projet", href: "#contact" },
inputs={[
{ name: "name", type: "text", placeholder: "Nom" },
{ name: "email", type: "email", placeholder: "Email" }
]}
buttonAnimation="slide-up"
useInvertedBackground={false}
mediaPosition="right"
/>
<FooterBase
</div>
<div id="footer" data-section="footer">
<FooterBaseReveal
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: "#" }] },
]}
copyrightText="© 2026 | Switzerweb"
/>
</div>
</ReactLenis>
</ThemeProvider>
);

61
src/app/pricing/page.tsx Normal file
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 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: "Features Comparison", id: "/comparison" },
]}
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);