Merge version_2 into main #2
@@ -1,42 +1,26 @@
|
||||
import type { Metadata } from "next";
|
||||
import { Halant } 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 { ServiceWrapper } from "@/components/ServiceWrapper";
|
||||
import Tag from "@/tag/Tag";
|
||||
|
||||
const halant = Halant({
|
||||
variable: "--font-halant", subsets: ["latin"],
|
||||
weight: ["300", "400", "500", "600", "700"],
|
||||
});
|
||||
|
||||
const inter = Inter({
|
||||
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 = {
|
||||
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,
|
||||
follow: true,
|
||||
},
|
||||
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: {
|
||||
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;
|
||||
}>) {
|
||||
return (
|
||||
<html lang="en" suppressHydrationWarning>
|
||||
<html lang="fr" suppressHydrationWarning>
|
||||
<ServiceWrapper>
|
||||
<body
|
||||
className={`${halant.variable} ${inter.variable} ${manrope.variable} ${dmSans.variable} antialiased`}
|
||||
>
|
||||
<body className={`${inter.variable} antialiased`}>
|
||||
<Tag />
|
||||
{children}
|
||||
|
||||
|
||||
132
src/app/page.tsx
132
src/app/page.tsx
@@ -8,29 +8,29 @@ import ProductCardThree from '@/components/sections/product/ProductCardThree';
|
||||
import FeatureCardSixteen from '@/components/sections/feature/FeatureCardSixteen';
|
||||
import TestimonialCardSixteen from '@/components/sections/testimonial/TestimonialCardSixteen';
|
||||
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() {
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="hover-bubble"
|
||||
defaultTextAnimation="background-highlight"
|
||||
borderRadius="pill"
|
||||
contentWidth="compact"
|
||||
defaultButtonVariant="hover-magnetic"
|
||||
defaultTextAnimation="entrance-slide"
|
||||
borderRadius="rounded"
|
||||
contentWidth="medium"
|
||||
sizing="mediumLargeSizeMediumTitles"
|
||||
background="none"
|
||||
cardStyle="subtle-shadow"
|
||||
primaryButtonStyle="gradient"
|
||||
secondaryButtonStyle="layered"
|
||||
cardStyle="glass-elevated"
|
||||
primaryButtonStyle="shadow"
|
||||
secondaryButtonStyle="glass"
|
||||
headingFontWeight="medium"
|
||||
>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarStyleApple
|
||||
brandName="Cartonique"
|
||||
navItems={[
|
||||
{ name: "About", id: "about" },
|
||||
{ name: "Products", id: "products" },
|
||||
{ name: "Testimonials", id: "testimonials" },
|
||||
{ name: "À Propos", id: "about" },
|
||||
{ name: "Collection", id: "products" },
|
||||
{ name: "Témoignages", id: "testimonials" },
|
||||
{ name: "Contact", id: "contact" }
|
||||
]}
|
||||
/>
|
||||
@@ -38,44 +38,44 @@ export default function LandingPage() {
|
||||
|
||||
<div id="hero" data-section="hero">
|
||||
<HeroBillboardDashboard
|
||||
title="Sustainable Furniture Reimagined"
|
||||
description="Discover beautifully crafted cardboard furniture that combines elegant minimalism with environmental responsibility. Durable, affordable, and entirely recyclable."
|
||||
tag="Eco-Friendly Design"
|
||||
title="Le Mobilier Durable Réinventé"
|
||||
description="Découvrez du mobilier en carton magnifiquement conçu qui allie minimalisme épuré avec responsabilité environnementale. Robuste, abordable, et totalement recyclable."
|
||||
tag="Design Écologique"
|
||||
tagIcon={Leaf}
|
||||
tagAnimation="slide-up"
|
||||
background={{ variant: "plain" }}
|
||||
buttons={[
|
||||
{ text: "Explore Collection", href: "#products" },
|
||||
{ text: "Learn More", href: "#about" }
|
||||
{ text: "Explorer la Collection", href: "#products" },
|
||||
{ text: "En Savoir Plus", href: "#about" }
|
||||
]}
|
||||
buttonAnimation="slide-up"
|
||||
dashboard={{
|
||||
title: "Cartonique Sustainability Hub", logoIcon: Leaf,
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-green-leaf-minimalist-chair_23-2149678906.jpg", searchPlaceholder: "Search furniture...", sidebarItems: [
|
||||
title: "Cartonique Centre de Durabilité", logoIcon: Leaf,
|
||||
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: Package, active: false },
|
||||
{ icon: Leaf, active: false }
|
||||
],
|
||||
buttons: [
|
||||
{ text: "Browse", href: "#" },
|
||||
{ text: "Customize", href: "#" }
|
||||
{ text: "Parcourir", href: "#" },
|
||||
{ text: "Personnaliser", href: "#" }
|
||||
],
|
||||
stats: [
|
||||
{ title: "Products Sold", values: [5420, 7890, 9340], description: "Sustainable pieces delivered" },
|
||||
{ title: "CO₂ Saved", values: [12, 18, 25], valueSuffix: "T", description: "Vs. traditional furniture" },
|
||||
{ title: "Happy Customers", values: [2840, 3950, 4720], description: "Worldwide satisfaction" }
|
||||
{ title: "Produits Vendus", values: [5420, 7890, 9340], description: "Pièces durables livrées" },
|
||||
{ title: "CO₂ Économisé", values: [12, 18, 25], valueSuffix: "T", description: "vs. mobilier traditionnel" },
|
||||
{ title: "Clients Satisfaits", values: [2840, 3950, 4720], description: "Satisfaction mondiale" }
|
||||
],
|
||||
chartTitle: "Monthly Sales Growth", chartData: [
|
||||
chartTitle: "Croissance des Ventes Mensuelles", chartData: [
|
||||
{ value: 45 },
|
||||
{ value: 60 },
|
||||
{ value: 75 },
|
||||
{ value: 85 },
|
||||
{ value: 92 }
|
||||
],
|
||||
listTitle: "Recent Orders", listItems: [
|
||||
{ icon: CheckCircle, title: "Cardboard Chair Delivered", status: "Completed" },
|
||||
{ icon: Package, title: "Eco Desk in Transit", status: "Shipped" },
|
||||
{ icon: Truck, title: "Modular Shelves Preparing", status: "Processing" }
|
||||
listTitle: "Commandes Récentes", listItems: [
|
||||
{ icon: CheckCircle, title: "Chaise en Carton Livrée", status: "Complétée" },
|
||||
{ icon: Package, title: "Bureau Écologique en Transit", status: "Expédiée" },
|
||||
{ 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">
|
||||
<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}
|
||||
metricsAnimation="slide-up"
|
||||
metrics={[
|
||||
{ icon: TreePine, label: "Trees Saved", value: "12,000+" },
|
||||
{ icon: Recycle, label: "Recycled Material", value: "100%" },
|
||||
{ icon: Globe, label: "Countries", value: "45+" },
|
||||
{ icon: Users, label: "Satisfied Customers", value: "50,000+" }
|
||||
{ icon: TreePine, label: "Arbres Sauvés", value: "12 000+" },
|
||||
{ icon: Recycle, label: "Matériaux Recyclés", value: "100%" },
|
||||
{ icon: Globe, label: "Pays", value: "45+" },
|
||||
{ icon: Users, label: "Clients Satisfaits", value: "50 000+" }
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="products" data-section="products">
|
||||
<ProductCardThree
|
||||
title="Our Collection"
|
||||
description="Handcrafted cardboard furniture designed for comfort and sustainability. Each piece is durable, stylish, and 100% recyclable."
|
||||
title="Notre Collection"
|
||||
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"
|
||||
animationType="slide-up"
|
||||
useInvertedBackground={true}
|
||||
gridVariant="three-columns-all-equal-width"
|
||||
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">
|
||||
<FeatureCardSixteen
|
||||
title="Why Choose Cartonique"
|
||||
description="Compare traditional furniture with our sustainable cardboard alternatives and discover the difference."
|
||||
title="Pourquoi Choisir Cartonique"
|
||||
description="Comparez le mobilier traditionnel avec nos alternatives en carton durable et découvrez la différence."
|
||||
textboxLayout="default"
|
||||
animationType="slide-up"
|
||||
useInvertedBackground={false}
|
||||
negativeCard={{
|
||||
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={{
|
||||
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">
|
||||
<TestimonialCardSixteen
|
||||
title="Loved by Conscious Consumers"
|
||||
description="Discover what our customers say about their Cartonique experience."
|
||||
title="Adoré par les Consommateurs Conscients"
|
||||
description="Découvrez ce que nos clients disent de leur expérience Cartonique."
|
||||
textboxLayout="default"
|
||||
animationType="slide-up"
|
||||
useInvertedBackground={true}
|
||||
testimonials={[
|
||||
{
|
||||
id: "1", name: "Sarah Johnson", role: "Interior Designer", 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"
|
||||
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: "Portrait professionnel d'une femme d'affaires"
|
||||
},
|
||||
{
|
||||
id: "2", name: "Michael Chen", role: "Sustainability Manager", 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"
|
||||
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: "Portrait professionnel d'un homme d'affaires"
|
||||
},
|
||||
{
|
||||
id: "3", name: "Emma Rodriguez", role: "Architect", 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"
|
||||
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: "Portrait professionnel d'une femme créative"
|
||||
},
|
||||
{
|
||||
id: "4", name: "David Kim", role: "Eco-Conscious Entrepreneur", 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"
|
||||
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: "Portrait professionnel d'un homme"
|
||||
}
|
||||
]}
|
||||
kpiItems={[
|
||||
{ value: "98%", label: "Customer Satisfaction" },
|
||||
{ value: "45+", label: "Countries Served" },
|
||||
{ value: "50K+", label: "Happy Customers" }
|
||||
{ value: "98%", label: "Satisfaction Client" },
|
||||
{ value: "45+", label: "Pays Desservis" },
|
||||
{ value: "50K+", label: "Clients Heureux" }
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
@@ -175,15 +175,15 @@ export default function LandingPage() {
|
||||
logoText="Cartonique"
|
||||
columns={[
|
||||
{
|
||||
title: "Product", items: [
|
||||
{ label: "Furniture", href: "#products" },
|
||||
{ label: "Customization", href: "#" },
|
||||
{ label: "Materials", href: "#" }
|
||||
title: "Produit", items: [
|
||||
{ label: "Mobilier", href: "#products" },
|
||||
{ label: "Personnalisation", href: "#" },
|
||||
{ label: "Matériaux", href: "#" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Company", items: [
|
||||
{ label: "About", href: "#about" },
|
||||
title: "Entreprise", items: [
|
||||
{ label: "À Propos", href: "#about" },
|
||||
{ label: "Impact", href: "#" },
|
||||
{ label: "Blog", href: "#" }
|
||||
]
|
||||
@@ -192,18 +192,18 @@ export default function LandingPage() {
|
||||
title: "Support", items: [
|
||||
{ label: "Contact", href: "#" },
|
||||
{ label: "FAQ", href: "#" },
|
||||
{ label: "Shipping", href: "#" }
|
||||
{ label: "Livraison", href: "#" }
|
||||
]
|
||||
},
|
||||
{
|
||||
title: "Legal", items: [
|
||||
{ label: "Privacy", href: "#" },
|
||||
{ label: "Terms", href: "#" },
|
||||
title: "Légal", items: [
|
||||
{ label: "Confidentialité", href: "#" },
|
||||
{ label: "Conditions", href: "#" },
|
||||
{ label: "Cookies", href: "#" }
|
||||
]
|
||||
}
|
||||
]}
|
||||
copyrightText="© 2025 Cartonique | Sustainable Furniture for a Better Tomorrow"
|
||||
copyrightText="© 2025 Cartonique | Mobilier Durable pour un Meilleur Avenir"
|
||||
/>
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
|
||||
@@ -2,23 +2,23 @@
|
||||
/* Base units */
|
||||
/* --vw is set by ThemeProvider */
|
||||
|
||||
/* --background: #e3deea;;
|
||||
--card: #ffffff;;
|
||||
--foreground: #1f2027;;
|
||||
--primary-cta: #1f2027;;
|
||||
--secondary-cta: #ffffff;;
|
||||
--accent: #627dc6;;
|
||||
--background-accent: #627dc6;; */
|
||||
/* --background: #ffffff;;
|
||||
--card: #f9f9f9;;
|
||||
--foreground: #000612e6;;
|
||||
--primary-cta: #15479c;;
|
||||
--secondary-cta: #f9f9f9;;
|
||||
--accent: #e2e2e2;;
|
||||
--background-accent: #c4c4c4;; */
|
||||
|
||||
--background: #e3deea;;
|
||||
--card: #ffffff;;
|
||||
--foreground: #1f2027;;
|
||||
--primary-cta: #1f2027;;
|
||||
--background: #ffffff;;
|
||||
--card: #f9f9f9;;
|
||||
--foreground: #000612e6;;
|
||||
--primary-cta: #15479c;;
|
||||
--primary-cta-text: #e3deea;;
|
||||
--secondary-cta: #ffffff;;
|
||||
--secondary-cta: #f9f9f9;;
|
||||
--secondary-cta-text: #1f2027;;
|
||||
--accent: #627dc6;;
|
||||
--background-accent: #627dc6;;
|
||||
--accent: #e2e2e2;;
|
||||
--background-accent: #c4c4c4;;
|
||||
|
||||
/* text sizing - set by ThemeProvider */
|
||||
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
||||
|
||||
Reference in New Issue
Block a user