4 Commits

Author SHA1 Message Date
5cf12af764 Update src/app/styles/variables.css 2026-03-04 08:45:07 +00:00
75f555c759 Update src/app/page.tsx 2026-03-04 08:45:07 +00:00
86f3a80b65 Update src/app/layout.tsx 2026-03-04 08:45:06 +00:00
2b8b8c4f03 Merge version_1 into main
Merge version_1 into main
2026-03-04 08:41:42 +00:00
3 changed files with 86 additions and 104 deletions

View File

@@ -1,42 +1,26 @@
import type { Metadata } from "next"; import type { Metadata } from "next";
import { Halant } from "next/font/google";
import { Inter } from "next/font/google"; import { Inter } from "next/font/google";
import { Manrope } from "next/font/google";
import { DM_Sans } from "next/font/google";
import "./globals.css"; import "./globals.css";
import { ServiceWrapper } from "@/components/ServiceWrapper"; import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag"; import Tag from "@/tag/Tag";
const halant = Halant({
variable: "--font-halant", subsets: ["latin"],
weight: ["300", "400", "500", "600", "700"],
});
const inter = Inter({ const inter = Inter({
variable: "--font-inter", subsets: ["latin"], variable: "--font-inter", subsets: ["latin"],
}); });
const manrope = Manrope({
variable: "--font-manrope", subsets: ["latin"],
});
const dmSans = DM_Sans({
variable: "--font-dm-sans", subsets: ["latin"],
});
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Cartonique | Sustainable Cardboard Furniture", description: "Discover eco-friendly, minimalist cardboard furniture. Handcrafted, durable, and 100% recyclable designs for conscious living.", keywords: "sustainable furniture, cardboard furniture, eco-friendly, minimalist design, recyclable", robots: { title: "Cartonique | Mobilier en Carton Durable", description: "Découvrez du mobilier écologique et minimaliste en carton. Artisanal, durable et 100% recyclable pour une vie consciente.", keywords: "mobilier durable, mobilier en carton, écologique, design minimaliste, recyclable", robots: {
index: true, index: true,
follow: true, follow: true,
}, },
openGraph: { openGraph: {
title: "Cartonique | Sustainable Cardboard Furniture", description: "Handcrafted eco-friendly furniture that's beautiful, durable, and entirely recyclable.", siteName: "Cartonique", type: "website", images: [ title: "Cartonique | Mobilier en Carton Durable", description: "Mobilier écologique artisanal qui est magnifique, durable et entièrement recyclable.", siteName: "Cartonique", type: "website", images: [
{ {
url: "http://img.b2bpic.net/free-photo/high-angle-green-leaf-minimalist-chair_23-2149678906.jpg", alt: "Cartonique Cardboard Chair"}, url: "http://img.b2bpic.net/free-photo/high-angle-green-leaf-minimalist-chair_23-2149678906.jpg", alt: "Chaise Cartonique en Carton"},
], ],
}, },
twitter: { twitter: {
card: "summary_large_image", title: "Cartonique | Sustainable Cardboard Furniture", description: "Beautiful eco-friendly cardboard furniture for conscious consumers.", images: ["http://img.b2bpic.net/free-photo/high-angle-green-leaf-minimalist-chair_23-2149678906.jpg"], card: "summary_large_image", title: "Cartonique | Mobilier en Carton Durable", description: "Magnifique mobilier en carton écologique pour les consommateurs conscients.", images: ["http://img.b2bpic.net/free-photo/high-angle-green-leaf-minimalist-chair_23-2149678906.jpg"],
}, },
}; };
@@ -46,11 +30,9 @@ export default function RootLayout({
children: React.ReactNode; children: React.ReactNode;
}>) { }>) {
return ( return (
<html lang="en" suppressHydrationWarning> <html lang="fr" suppressHydrationWarning>
<ServiceWrapper> <ServiceWrapper>
<body <body className={`${inter.variable} antialiased`}>
className={`${halant.variable} ${inter.variable} ${manrope.variable} ${dmSans.variable} antialiased`}
>
<Tag /> <Tag />
{children} {children}

View File

@@ -8,29 +8,29 @@ import ProductCardThree from '@/components/sections/product/ProductCardThree';
import FeatureCardSixteen from '@/components/sections/feature/FeatureCardSixteen'; import FeatureCardSixteen from '@/components/sections/feature/FeatureCardSixteen';
import TestimonialCardSixteen from '@/components/sections/testimonial/TestimonialCardSixteen'; import TestimonialCardSixteen from '@/components/sections/testimonial/TestimonialCardSixteen';
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard'; import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
import { CheckCircle, Package, Truck, Leaf, Home, TreePine, Recycle, Globe, Users, X } from 'lucide-react'; import { CheckCircle, Package, Truck, Leaf, Home, TreePine, Recycle, Globe, Users } from 'lucide-react';
export default function LandingPage() { export default function LandingPage() {
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="hover-bubble" defaultButtonVariant="hover-magnetic"
defaultTextAnimation="background-highlight" defaultTextAnimation="entrance-slide"
borderRadius="pill" borderRadius="rounded"
contentWidth="compact" contentWidth="medium"
sizing="mediumLargeSizeMediumTitles" sizing="mediumLargeSizeMediumTitles"
background="none" background="none"
cardStyle="subtle-shadow" cardStyle="glass-elevated"
primaryButtonStyle="gradient" primaryButtonStyle="shadow"
secondaryButtonStyle="layered" secondaryButtonStyle="glass"
headingFontWeight="medium" headingFontWeight="medium"
> >
<div id="nav" data-section="nav"> <div id="nav" data-section="nav">
<NavbarStyleApple <NavbarStyleApple
brandName="Cartonique" brandName="Cartonique"
navItems={[ navItems={[
{ name: "About", id: "about" }, { name: "À Propos", id: "about" },
{ name: "Products", id: "products" }, { name: "Collection", id: "products" },
{ name: "Testimonials", id: "testimonials" }, { name: "Témoignages", id: "testimonials" },
{ name: "Contact", id: "contact" } { name: "Contact", id: "contact" }
]} ]}
/> />
@@ -38,44 +38,44 @@ export default function LandingPage() {
<div id="hero" data-section="hero"> <div id="hero" data-section="hero">
<HeroBillboardDashboard <HeroBillboardDashboard
title="Sustainable Furniture Reimagined" title="Le Mobilier Durable Réinventé"
description="Discover beautifully crafted cardboard furniture that combines elegant minimalism with environmental responsibility. Durable, affordable, and entirely recyclable." description="Découvrez du mobilier en carton magnifiquement conçu qui allie minimalisme épuré avec responsabilité environnementale. Robuste, abordable, et totalement recyclable."
tag="Eco-Friendly Design" tag="Design Écologique"
tagIcon={Leaf} tagIcon={Leaf}
tagAnimation="slide-up" tagAnimation="slide-up"
background={{ variant: "plain" }} background={{ variant: "plain" }}
buttons={[ buttons={[
{ text: "Explore Collection", href: "#products" }, { text: "Explorer la Collection", href: "#products" },
{ text: "Learn More", href: "#about" } { text: "En Savoir Plus", href: "#about" }
]} ]}
buttonAnimation="slide-up" buttonAnimation="slide-up"
dashboard={{ dashboard={{
title: "Cartonique Sustainability Hub", logoIcon: Leaf, title: "Cartonique Centre de Durabilité", logoIcon: Leaf,
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-green-leaf-minimalist-chair_23-2149678906.jpg", searchPlaceholder: "Search furniture...", sidebarItems: [ imageSrc: "http://img.b2bpic.net/free-photo/high-angle-green-leaf-minimalist-chair_23-2149678906.jpg", searchPlaceholder: "Rechercher du mobilier...", sidebarItems: [
{ icon: Home, active: true }, { icon: Home, active: true },
{ icon: Package, active: false }, { icon: Package, active: false },
{ icon: Leaf, active: false } { icon: Leaf, active: false }
], ],
buttons: [ buttons: [
{ text: "Browse", href: "#" }, { text: "Parcourir", href: "#" },
{ text: "Customize", href: "#" } { text: "Personnaliser", href: "#" }
], ],
stats: [ stats: [
{ title: "Products Sold", values: [5420, 7890, 9340], description: "Sustainable pieces delivered" }, { title: "Produits Vendus", values: [5420, 7890, 9340], description: "Pièces durables livrées" },
{ title: "CO₂ Saved", values: [12, 18, 25], valueSuffix: "T", description: "Vs. traditional furniture" }, { title: "CO₂ Économisé", values: [12, 18, 25], valueSuffix: "T", description: "vs. mobilier traditionnel" },
{ title: "Happy Customers", values: [2840, 3950, 4720], description: "Worldwide satisfaction" } { title: "Clients Satisfaits", values: [2840, 3950, 4720], description: "Satisfaction mondiale" }
], ],
chartTitle: "Monthly Sales Growth", chartData: [ chartTitle: "Croissance des Ventes Mensuelles", chartData: [
{ value: 45 }, { value: 45 },
{ value: 60 }, { value: 60 },
{ value: 75 }, { value: 75 },
{ value: 85 }, { value: 85 },
{ value: 92 } { value: 92 }
], ],
listTitle: "Recent Orders", listItems: [ listTitle: "Commandes Récentes", listItems: [
{ icon: CheckCircle, title: "Cardboard Chair Delivered", status: "Completed" }, { icon: CheckCircle, title: "Chaise en Carton Livrée", status: "Complétée" },
{ icon: Package, title: "Eco Desk in Transit", status: "Shipped" }, { icon: Package, title: "Bureau Écologique en Transit", status: "Expédiée" },
{ icon: Truck, title: "Modular Shelves Preparing", status: "Processing" } { icon: Truck, title: "Étagères Modulaires en Préparation", status: "Traitement" }
] ]
}} }}
/> />
@@ -83,35 +83,35 @@ export default function LandingPage() {
<div id="about" data-section="about"> <div id="about" data-section="about">
<AboutMetric <AboutMetric
title="Cartonique transforms waste into beautiful, functional furniture. We believe sustainable design should be accessible to everyone." title="Cartonique transforme les matériaux en mobilier magnifique et fonctionnel. Nous croyons que le design durable doit être accessible à tous."
useInvertedBackground={false} useInvertedBackground={false}
metricsAnimation="slide-up" metricsAnimation="slide-up"
metrics={[ metrics={[
{ icon: TreePine, label: "Trees Saved", value: "12,000+" }, { icon: TreePine, label: "Arbres Sauvés", value: "12 000+" },
{ icon: Recycle, label: "Recycled Material", value: "100%" }, { icon: Recycle, label: "Matériaux Recyclés", value: "100%" },
{ icon: Globe, label: "Countries", value: "45+" }, { icon: Globe, label: "Pays", value: "45+" },
{ icon: Users, label: "Satisfied Customers", value: "50,000+" } { icon: Users, label: "Clients Satisfaits", value: "50 000+" }
]} ]}
/> />
</div> </div>
<div id="products" data-section="products"> <div id="products" data-section="products">
<ProductCardThree <ProductCardThree
title="Our Collection" title="Notre Collection"
description="Handcrafted cardboard furniture designed for comfort and sustainability. Each piece is durable, stylish, and 100% recyclable." description="Mobilier en carton artisanal conçu pour le confort et la durabilité. Chaque pièce est robuste, élégante et 100% recyclable."
textboxLayout="default" textboxLayout="default"
animationType="slide-up" animationType="slide-up"
useInvertedBackground={true} useInvertedBackground={true}
gridVariant="three-columns-all-equal-width" gridVariant="three-columns-all-equal-width"
products={[ products={[
{ {
id: "1", name: "Minimalist Cardboard Chair", price: "$129.00", imageSrc: "http://img.b2bpic.net/free-photo/abstract-minimal-concept-chair-bowls_23-2148835332.jpg", imageAlt: "Minimalist Cardboard Chair" id: "1", name: "Chaise Minimaliste en Carton", price: "129", imageSrc: "http://img.b2bpic.net/free-photo/abstract-minimal-concept-chair-bowls_23-2148835332.jpg", imageAlt: "Chaise Minimaliste en Carton"
}, },
{ {
id: "2", name: "Sustainable Work Desk", price: "$349.00", imageSrc: "http://img.b2bpic.net/free-photo/resort-foyer-check-reception-sign_482257-67418.jpg", imageAlt: "Sustainable Work Desk" id: "2", name: "Bureau de Travail Durable", price: "349", imageSrc: "http://img.b2bpic.net/free-photo/resort-foyer-check-reception-sign_482257-67418.jpg", imageAlt: "Bureau de Travail Durable"
}, },
{ {
id: "3", name: "Modular Shelving System", price: "$249.00", imageSrc: "http://img.b2bpic.net/free-photo/volunteer-selecting-organizing-clothes-donations-charity_23-2149230517.jpg", imageAlt: "Modular Shelving System" id: "3", name: "Système d'Étagères Modulaire", price: "249", imageSrc: "http://img.b2bpic.net/free-photo/volunteer-selecting-organizing-clothes-donations-charity_23-2149230517.jpg", imageAlt: "Système d'Étagères Modulaire"
} }
]} ]}
/> />
@@ -119,19 +119,19 @@ export default function LandingPage() {
<div id="features" data-section="features"> <div id="features" data-section="features">
<FeatureCardSixteen <FeatureCardSixteen
title="Why Choose Cartonique" title="Pourquoi Choisir Cartonique"
description="Compare traditional furniture with our sustainable cardboard alternatives and discover the difference." description="Comparez le mobilier traditionnel avec nos alternatives en carton durable et découvrez la différence."
textboxLayout="default" textboxLayout="default"
animationType="slide-up" animationType="slide-up"
useInvertedBackground={false} useInvertedBackground={false}
negativeCard={{ negativeCard={{
items: [ items: [
"Harmful production process", "Non-recyclable materials", "High carbon footprint", "Expensive shipping", "Limited customization" "Processus de production polluant", "Matériaux non-recyclables", "Empreinte carbone importante", "Livraison coûteuse", "Personnalisation limitée"
] ]
}} }}
positiveCard={{ positiveCard={{
items: [ items: [
"Eco-conscious manufacturing", "100% recyclable cardboard", "Minimal environmental impact", "Lightweight & efficient delivery", "Fully customizable designs" "Fabrication écologique", "Carton 100% recyclable", "Impact environnemental minimal", "Livraison légère et efficace", "Designs entièrement personnalisables"
] ]
}} }}
/> />
@@ -139,33 +139,33 @@ export default function LandingPage() {
<div id="testimonials" data-section="testimonials"> <div id="testimonials" data-section="testimonials">
<TestimonialCardSixteen <TestimonialCardSixteen
title="Loved by Conscious Consumers" title="Adoré par les Consommateurs Conscients"
description="Discover what our customers say about their Cartonique experience." description="Découvrez ce que nos clients disent de leur expérience Cartonique."
textboxLayout="default" textboxLayout="default"
animationType="slide-up" animationType="slide-up"
useInvertedBackground={true} useInvertedBackground={true}
testimonials={[ testimonials={[
{ {
id: "1", name: "Sarah Johnson", role: "Interior Designer", company: "Modern Living Studio", rating: 5, id: "1", name: "Sarah Johnson", role: "Designer d'Intérieur", company: "Modern Living Studio", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/successful-businesswoman-ready-challenges_1163-4336.jpg", imageAlt: "professional portrait business woman headshot professional" imageSrc: "http://img.b2bpic.net/free-photo/successful-businesswoman-ready-challenges_1163-4336.jpg", imageAlt: "Portrait professionnel d'une femme d'affaires"
}, },
{ {
id: "2", name: "Michael Chen", role: "Sustainability Manager", company: "EcoTech Corp", rating: 5, id: "2", name: "Michael Chen", role: "Responsable de la Durabilité", company: "EcoTech Corp", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=1", imageAlt: "professional portrait business man headshot professional" imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=1", imageAlt: "Portrait professionnel d'un homme d'affaires"
}, },
{ {
id: "3", name: "Emma Rodriguez", role: "Architect", company: "GreenDesign Collective", rating: 5, id: "3", name: "Emma Rodriguez", role: "Architecte", company: "GreenDesign Collective", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/portrait-young-pretty-woman-sitting-table-trench-coat-working-laptop-co-working-office-wearing-glasses-smiling-happy-positive-workplace_285396-65.jpg", imageAlt: "professional portrait woman designer creative professional headshot" imageSrc: "http://img.b2bpic.net/free-photo/portrait-young-pretty-woman-sitting-table-trench-coat-working-laptop-co-working-office-wearing-glasses-smiling-happy-positive-workplace_285396-65.jpg", imageAlt: "Portrait professionnel d'une femme créative"
}, },
{ {
id: "4", name: "David Kim", role: "Eco-Conscious Entrepreneur", company: "StartupGreen", rating: 5, id: "4", name: "David Kim", role: "Entrepreneur Écologique", company: "StartupGreen", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=2", imageAlt: "professional portrait man professional business headshot portrait" imageSrc: "http://img.b2bpic.net/free-photo/close-up-portrait-young-handsome-successful-man_1163-5475.jpg?_wi=2", imageAlt: "Portrait professionnel d'un homme"
} }
]} ]}
kpiItems={[ kpiItems={[
{ value: "98%", label: "Customer Satisfaction" }, { value: "98%", label: "Satisfaction Client" },
{ value: "45+", label: "Countries Served" }, { value: "45+", label: "Pays Desservis" },
{ value: "50K+", label: "Happy Customers" } { value: "50K+", label: "Clients Heureux" }
]} ]}
/> />
</div> </div>
@@ -175,15 +175,15 @@ export default function LandingPage() {
logoText="Cartonique" logoText="Cartonique"
columns={[ columns={[
{ {
title: "Product", items: [ title: "Produit", items: [
{ label: "Furniture", href: "#products" }, { label: "Mobilier", href: "#products" },
{ label: "Customization", href: "#" }, { label: "Personnalisation", href: "#" },
{ label: "Materials", href: "#" } { label: "Matériaux", href: "#" }
] ]
}, },
{ {
title: "Company", items: [ title: "Entreprise", items: [
{ label: "About", href: "#about" }, { label: "À Propos", href: "#about" },
{ label: "Impact", href: "#" }, { label: "Impact", href: "#" },
{ label: "Blog", href: "#" } { label: "Blog", href: "#" }
] ]
@@ -192,18 +192,18 @@ export default function LandingPage() {
title: "Support", items: [ title: "Support", items: [
{ label: "Contact", href: "#" }, { label: "Contact", href: "#" },
{ label: "FAQ", href: "#" }, { label: "FAQ", href: "#" },
{ label: "Shipping", href: "#" } { label: "Livraison", href: "#" }
] ]
}, },
{ {
title: "Legal", items: [ title: "Légal", items: [
{ label: "Privacy", href: "#" }, { label: "Confidentialité", href: "#" },
{ label: "Terms", href: "#" }, { label: "Conditions", href: "#" },
{ label: "Cookies", href: "#" } { label: "Cookies", href: "#" }
] ]
} }
]} ]}
copyrightText="© 2025 Cartonique | Sustainable Furniture for a Better Tomorrow" copyrightText="© 2025 Cartonique | Mobilier Durable pour un Meilleur Avenir"
/> />
</div> </div>
</ThemeProvider> </ThemeProvider>

View File

@@ -2,23 +2,23 @@
/* Base units */ /* Base units */
/* --vw is set by ThemeProvider */ /* --vw is set by ThemeProvider */
/* --background: #e3deea;; /* --background: #ffffff;;
--card: #ffffff;; --card: #f9f9f9;;
--foreground: #1f2027;; --foreground: #000612e6;;
--primary-cta: #1f2027;; --primary-cta: #15479c;;
--secondary-cta: #ffffff;; --secondary-cta: #f9f9f9;;
--accent: #627dc6;; --accent: #e2e2e2;;
--background-accent: #627dc6;; */ --background-accent: #c4c4c4;; */
--background: #e3deea;; --background: #ffffff;;
--card: #ffffff;; --card: #f9f9f9;;
--foreground: #1f2027;; --foreground: #000612e6;;
--primary-cta: #1f2027;; --primary-cta: #15479c;;
--primary-cta-text: #e3deea;; --primary-cta-text: #e3deea;;
--secondary-cta: #ffffff;; --secondary-cta: #f9f9f9;;
--secondary-cta-text: #1f2027;; --secondary-cta-text: #1f2027;;
--accent: #627dc6;; --accent: #e2e2e2;;
--background-accent: #627dc6;; --background-accent: #c4c4c4;;
/* text sizing - set by ThemeProvider */ /* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem); /* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);