9 Commits

Author SHA1 Message Date
bd62bdf2e1 Merge version_5 into main
Merge version_5 into main
2026-04-17 05:24:15 +00:00
401e495c8d Update src/app/page.tsx 2026-04-17 05:24:09 +00:00
2746151b90 Merge version_4 into main
Merge version_4 into main
2026-04-17 05:22:01 +00:00
b44d6ea762 Update theme colors 2026-04-17 05:21:58 +00:00
27bbd0d04b Merge version_3 into main
Merge version_3 into main
2026-04-17 05:17:45 +00:00
703be72ddd Update src/app/page.tsx 2026-04-17 05:17:42 +00:00
04150bfaf3 Update src/app/checkout/page.tsx 2026-04-17 05:17:42 +00:00
a5421a0a29 Merge version_2 into main
Merge version_2 into main
2026-04-17 05:09:48 +00:00
43dfd7c254 Merge version_2 into main
Merge version_2 into main
2026-04-17 05:09:24 +00:00
3 changed files with 171 additions and 158 deletions

View File

@@ -3,10 +3,17 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import ContactForm from '@/components/form/ContactForm';
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
import { useState } from 'react';
export default function CheckoutPage() {
const [cart] = useState([
{ id: "p1", name: "Roasted Macadamias", price: 15.00, quantity: 1 },
{ id: "p2", name: "Artisan Truffles", price: 22.00, quantity: 2 },
]);
const subtotal = cart.reduce((acc, item) => acc + (item.price * item.quantity), 0);
return (
<ThemeProvider
defaultButtonVariant="icon-arrow"
@@ -22,33 +29,56 @@ export default function CheckoutPage() {
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay
navItems={[
{ name: "Home", id: "/" },
{ name: "Products", id: "/products" },
{ name: "Checkout", id: "/checkout" },
]}
brandName="Nuts & Sweets"
/>
</div>
<div className="min-h-screen py-24 flex items-center justify-center">
<ContactForm
title="Secure Checkout"
description="Please provide your details to finalize your order."
tag="Checkout"
buttonText="Pay Now"
useInvertedBackground={false}
onSubmit={(email) => console.log("Processing order for:", email)}
/>
<NavbarLayoutFloatingOverlay
navItems={[
{ name: "Home", id: "/" },
{ name: "Products", id: "/products" },
{ name: "Checkout", id: "/checkout" },
]}
brandName="Nuts & Sweets"
/>
</div>
<main className="container mx-auto py-20 px-6">
<h1 className="text-4xl font-bold mb-10">Checkout</h1>
<div className="grid md:grid-cols-2 gap-12">
<div className="bg-white/5 p-8 rounded-3xl">
<h2 className="text-2xl font-semibold mb-6">Your Cart</h2>
<div className="space-y-4">
{cart.map((item) => (
<div key={item.id} className="flex justify-between">
<span>{item.name} (x{item.quantity})</span>
<span>${(item.price * item.quantity).toFixed(2)}</span>
</div>
))}
<div className="border-t pt-4 mt-4 font-bold text-xl flex justify-between">
<span>Total</span>
<span>${subtotal.toFixed(2)}</span>
</div>
</div>
</div>
<div className="bg-white/5 p-8 rounded-3xl">
<h2 className="text-2xl font-semibold mb-6">Shipping & Payment</h2>
<form className="space-y-4">
<input type="text" placeholder="Full Address" className="w-full p-3 rounded-xl bg-white/10 border border-white/10" />
<input type="email" placeholder="Contact Email" className="w-full p-3 rounded-xl bg-white/10 border border-white/10" />
<select className="w-full p-3 rounded-xl bg-white/10 border border-white/10">
<option>Credit Card</option>
<option>PayPal</option>
</select>
<button type="submit" className="w-full p-4 rounded-xl bg-primary text-white font-bold">Complete Order</button>
</form>
</div>
</div>
</main>
<div id="footer" data-section="footer">
<FooterLogoReveal
<FooterLogoReveal
logoText="Nuts & Sweets"
leftLink={{ text: "Products", href: "/products" }}
rightLink={{ text: "Terms", href: "#" }}
/>
/>
</div>
</ReactLenis>
</ThemeProvider>

View File

@@ -1,5 +1,6 @@
"use client";
import { useState } from "react";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import FeatureCardTwentyFour from '@/components/sections/feature/FeatureCardTwentyFour';
@@ -11,6 +12,14 @@ import ProductCardThree from '@/components/sections/product/ProductCardThree';
import TestimonialCardOne from '@/components/sections/testimonial/TestimonialCardOne';
export default function LandingPage() {
const [cart, setCart] = useState<any[]>([]);
const [isCartOpen, setIsCartOpen] = useState(false);
const addToCart = (product: any) => {
setCart((prev) => [...prev, product]);
setIsCartOpen(true);
};
return (
<ThemeProvider
defaultButtonVariant="icon-arrow"
@@ -25,139 +34,113 @@ export default function LandingPage() {
headingFontWeight="normal"
>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay
navItems={[
{
name: "Home", id: "/"},
{
name: "Products", id: "/products"},
{
name: "Checkout", id: "/checkout"},
]}
brandName="Nuts & Sweets"
/>
</div>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay
navItems={[
{ name: "Home", id: "/" },
{ name: "Products", id: "/products" },
{ name: "Checkout", id: "/checkout" },
]}
brandName="Nuts & Sweets"
/>
</div>
<div id="hero" data-section="hero">
<HeroLogo
logoText="Nuts & Sweets"
description="Premium Nuts & Sweets, Crafted for Every Craving. Discover our curated selection of gourmet savory nuts, artisanal sweets, and delicacies sourced for exceptional taste. From everyday snacking to memorable gifting."
buttons={[
{
text: "Explore All Products", href: "/products"},
]}
imageSrc="http://img.b2bpic.net/free-vector/flat-design-art-deco-story-pack_23-2149145829.jpg"
imageAlt="Artisanal nuts and sweets assortment"
/>
</div>
{isCartOpen && (
<div className="fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4">
<div className="bg-white p-6 rounded-lg w-full max-w-md">
<h2 className="text-xl mb-4">Your Cart</h2>
{cart.length === 0 ? <p>Cart is empty</p> : cart.map((item, i) => <div key={i} className="mb-2">{item.name} - {item.price}</div>)}
<button className="mt-4 p-2 bg-gray-200 rounded" onClick={() => setIsCartOpen(false)}>Close</button>
</div>
</div>
)}
<div id="features" data-section="features">
<FeatureCardTwentyFour
animationType="slide-up"
textboxLayout="split"
useInvertedBackground={false}
features={[
{
id: "f1", title: "Artisanal Nuts", author: "Selection", description: "Hand-roasted for perfect flavor.", tags: [
"Premium", "Savory"],
imageSrc: "http://img.b2bpic.net/free-photo/full-frame-red-delicious-fruit-slices_23-2147920854.jpg"},
{
id: "f2", title: "Sweet Delicacies", author: "Selection", description: "Handcrafted sweets from top makers.", tags: [
"Artisanal", "Natural"],
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-hand-holding-spoon_23-2149629047.jpg"},
{
id: "f3", title: "Gift-Ready", author: "Selection", description: "Beautiful packaging for every occasion.", tags: [
"Gifting", "Corporate"],
imageSrc: "http://img.b2bpic.net/free-photo/eastern-sweets_114579-8905.jpg"},
]}
title="Crafted with Passion"
description="We source only the finest ingredients to create snacks that delight the palate and elevate the moment."
/>
</div>
<div id="hero" data-section="hero">
<HeroLogo
logoText="Nuts & Sweets"
description="Premium Nuts & Sweets, Crafted for Every Craving. Discover our curated selection of gourmet savory nuts, artisanal sweets, and delicacies sourced for exceptional taste. From everyday snacking to memorable gifting."
buttons={[{ text: "Explore All Products", href: "/products" }]}
imageSrc="http://img.b2bpic.net/free-vector/flat-design-art-deco-story-pack_23-2149145829.jpg"
imageAlt="Artisanal nuts and sweets assortment"
/>
</div>
<div id="products" data-section="products">
<ProductCardThree
animationType="slide-up"
textboxLayout="default"
gridVariant="four-items-2x2-equal-grid"
useInvertedBackground={false}
products={[
{
id: "p1", name: "Roasted Macadamias", price: "$15.00", imageSrc: "http://img.b2bpic.net/free-photo/fried-panchitos_1368-8935.jpg"},
{
id: "p2", name: "Artisan Truffles", price: "$22.00", imageSrc: "http://img.b2bpic.net/free-photo/slice-chocolate-cake-white-plate-with-fruit-crackers_114579-19106.jpg"},
{
id: "p3", name: "Salted Pistachios", price: "$18.00", imageSrc: "http://img.b2bpic.net/free-photo/many-types-nuts-with-space-left_23-2147690256.jpg"},
{
id: "p4", name: "Almond Brittle", price: "$12.00", imageSrc: "http://img.b2bpic.net/free-photo/nougats-plate-still-life-top-view_23-2149646310.jpg"},
{
id: "p5", name: "Walnut Medley", price: "$16.00", imageSrc: "http://img.b2bpic.net/free-photo/top-view-mixture-tasty-nuts_23-2148405863.jpg"},
{
id: "p6", name: "Dark Chocolate Delights", price: "$20.00", imageSrc: "http://img.b2bpic.net/free-photo/top-view-golden-cupcakes-wooden-board_23-2148579267.jpg"},
]}
title="Signature Collection"
description="Experience our most loved savory nuts and sweet treats."
/>
</div>
<div id="features" data-section="features">
<FeatureCardTwentyFour
animationType="slide-up"
textboxLayout="split"
useInvertedBackground={false}
features={[
{ id: "f1", title: "Artisanal Nuts", author: "Selection", description: "Hand-roasted for perfect flavor.", tags: ["Premium", "Savory"], imageSrc: "http://img.b2bpic.net/free-photo/full-frame-red-delicious-fruit-slices_23-2147920854.jpg" },
{ id: "f2", title: "Sweet Delicacies", author: "Selection", description: "Handcrafted sweets from top makers.", tags: ["Artisanal", "Natural"], imageSrc: "http://img.b2bpic.net/free-photo/high-angle-hand-holding-spoon_23-2149629047.jpg" },
{ id: "f3", title: "Gift-Ready", author: "Selection", description: "Beautiful packaging for every occasion.", tags: ["Gifting", "Corporate"], imageSrc: "http://img.b2bpic.net/free-photo/eastern-sweets_114579-8905.jpg" },
]}
title="Crafted with Passion"
description="We source only the finest ingredients to create snacks that delight the palate and elevate the moment."
/>
</div>
<div id="metrics" data-section="metrics">
<MetricCardTwo
animationType="slide-up"
textboxLayout="default"
gridVariant="uniform-all-items-equal"
useInvertedBackground={false}
metrics={[
{
id: "m1", value: "50+", description: "Unique Flavor Profiles"},
{
id: "m2", value: "10k+", description: "Happy Customers"},
{
id: "m3", value: "100%", description: "Natural Ingredients"},
]}
title="Quality Assured"
description="Years of expertise in delivering gourmet happiness."
/>
</div>
<div id="products" data-section="products">
<ProductCardThree
animationType="slide-up"
textboxLayout="default"
gridVariant="four-items-2x2-equal-grid"
useInvertedBackground={false}
products={[
{ id: "p1", name: "Roasted Macadamias", price: "$15.00", imageSrc: "http://img.b2bpic.net/free-photo/fried-panchitos_1368-8935.jpg", onProductClick: () => addToCart({ name: "Roasted Macadamias", price: "$15.00" }) },
{ id: "p2", name: "Artisan Truffles", price: "$22.00", imageSrc: "http://img.b2bpic.net/free-photo/slice-chocolate-cake-white-plate-with-fruit-crackers_114579-19106.jpg", onProductClick: () => addToCart({ name: "Artisan Truffles", price: "$22.00" }) },
{ id: "p3", name: "Salted Pistachios", price: "$18.00", imageSrc: "http://img.b2bpic.net/free-photo/many-types-nuts-with-space-left_23-2147690256.jpg", onProductClick: () => addToCart({ name: "Salted Pistachios", price: "$18.00" }) },
{ id: "p4", name: "Almond Brittle", price: "$12.00", imageSrc: "http://img.b2bpic.net/free-photo/nougats-plate-still-life-top-view_23-2149646310.jpg", onProductClick: () => addToCart({ name: "Almond Brittle", price: "$12.00" }) },
{ id: "p5", name: "Walnut Medley", price: "$16.00", imageSrc: "http://img.b2bpic.net/free-photo/top-view-mixture-tasty-nuts_23-2148405863.jpg", onProductClick: () => addToCart({ name: "Walnut Medley", price: "$16.00" }) },
{ id: "p6", name: "Dark Chocolate Delights", price: "$20.00", imageSrc: "http://img.b2bpic.net/free-photo/top-view-golden-cupcakes-wooden-board_23-2148579267.jpg", onProductClick: () => addToCart({ name: "Dark Chocolate Delights", price: "$20.00" }) },
]}
title="Signature Collection"
description="Experience our most loved savory nuts and sweet treats."
/>
</div>
<div id="testimonials" data-section="testimonials">
<TestimonialCardOne
animationType="slide-up"
textboxLayout="default"
gridVariant="three-columns-all-equal-width"
useInvertedBackground={false}
testimonials={[
{
id: "t1", name: "Sarah J.", role: "Food Blogger", company: "TastyLife", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/front-view-young-beautiful-female-green-shirt-holding-plate-full-fruits-white-sign-cream-wall-fruit-model-woman-food-vitamine-color_140725-35829.jpg"},
{
id: "t2", name: "Mark D.", role: "Marketing Director", company: "CorpGifts", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/man-black-suit-unwrapping-gift_23-2148401448.jpg"},
{
id: "t3", name: "Emily R.", role: "Customer", company: "Home", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/woman-eating-street-food-outdoors_23-2148952911.jpg"},
{
id: "t4", name: "David K.", role: "Culinary Critic", company: "FoodReview", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/woman-sitting-cafe-drinking-coffee-working-computer_1303-14698.jpg"},
{
id: "t5", name: "Lisa B.", role: "Customer", company: "Home", rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/young-african-american-man-holding-raw-hazelnuts-cereal-bar-relaxed-with-serious-expression-face-simple-natural-looking-camera_839833-11113.jpg"},
]}
title="Loved by Our Fans"
description="See why our snacks are the highlight of every gathering."
/>
</div>
<div id="metrics" data-section="metrics">
<MetricCardTwo
animationType="slide-up"
textboxLayout="default"
gridVariant="uniform-all-items-equal"
useInvertedBackground={false}
metrics={[
{ id: "m1", value: "50+", description: "Unique Flavor Profiles" },
{ id: "m2", value: "10k+", description: "Happy Customers" },
{ id: "m3", value: "100%", description: "Natural Ingredients" },
]}
title="Quality Assured"
description="Years of expertise in delivering gourmet happiness."
/>
</div>
<div id="footer" data-section="footer">
<FooterLogoReveal
logoText="Nuts & Sweets"
leftLink={{
text: "Products", href: "/products"}}
rightLink={{
text: "Terms", href: "#"}}
/>
</div>
<div id="testimonials" data-section="testimonials">
<TestimonialCardOne
animationType="slide-up"
textboxLayout="default"
gridVariant="three-columns-all-equal-width"
useInvertedBackground={false}
testimonials={[
{ id: "t1", name: "Sarah J.", role: "Food Blogger", company: "TastyLife", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/front-view-young-beautiful-female-green-shirt-holding-plate-full-fruits-white-sign-cream-wall-fruit-model-woman-food-vitamine-color_140725-35829.jpg" },
{ id: "t2", name: "Mark D.", role: "Marketing Director", company: "CorpGifts", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/man-black-suit-unwrapping-gift_23-2148401448.jpg" },
{ id: "t3", name: "Emily R.", role: "Customer", company: "Home", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/woman-eating-street-food-outdoors_23-2148952911.jpg" },
{ id: "t4", name: "David K.", role: "Culinary Critic", company: "FoodReview", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/woman-sitting-cafe-drinking-coffee-working-computer_1303-14698.jpg" },
{ id: "t5", name: "Lisa B.", role: "Customer", company: "Home", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/young-african-american-man-holding-raw-hazelnuts-cereal-bar-relaxed-with-serious-expression-face-simple-natural-looking-camera_839833-11113.jpg" },
]}
title="Loved by Our Fans"
description="See why our snacks are the highlight of every gathering."
/>
</div>
<div id="footer" data-section="footer">
<FooterLogoReveal
logoText="Nuts & Sweets"
leftLink={{ text: "Products", href: "/products" }}
rightLink={{ text: "Terms", href: "#" }}
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}
}

View File

@@ -10,15 +10,15 @@
--accent: #ffffff;
--background-accent: #ffffff; */
--background: #fcf6ec;
--card: #f3ede2;
--foreground: #2e2521;
--primary-cta: #2e2521;
--primary-cta-text: #fcf6ec;
--secondary-cta: #ffffff;
--secondary-cta-text: #2e2521;
--accent: #b2a28b;
--background-accent: #b2a28b;
--background: #ffffff;
--card: #f9f9f9;
--foreground: #120a00e6;
--primary-cta: #FF7B05;
--primary-cta-text: #ffffff;
--secondary-cta: #f9f9f9;
--secondary-cta-text: #120a00e6;
--accent: #e2e2e2;
--background-accent: #FF7B05;
/* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);