Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 760c160133 | |||
| 75bb9acf85 | |||
| 0023469f04 | |||
| fb9690cca2 | |||
| f09faef608 | |||
| 9bd1331b7f | |||
| 4993581306 | |||
| 49d28b4032 | |||
| 74f70a148d | |||
| db6768ce2b | |||
| 5a79fe047c | |||
| e9f690f3f1 | |||
| 9be2cab580 | |||
| 8c991ffabe | |||
| cd981f9463 |
40
src/app/cart/page.tsx
Normal file
40
src/app/cart/page.tsx
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||||
|
import ReactLenis from "lenis/react";
|
||||||
|
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
|
||||||
|
import ProductCart from '@/components/ecommerce/cart/ProductCart';
|
||||||
|
|
||||||
|
export default function CartPage() {
|
||||||
|
return (
|
||||||
|
<ThemeProvider
|
||||||
|
defaultButtonVariant="text-stagger"
|
||||||
|
defaultTextAnimation="entrance-slide"
|
||||||
|
borderRadius="rounded"
|
||||||
|
contentWidth="medium"
|
||||||
|
sizing="medium"
|
||||||
|
background="circleGradient"
|
||||||
|
cardStyle="glass-elevated"
|
||||||
|
primaryButtonStyle="gradient"
|
||||||
|
secondaryButtonStyle="glass"
|
||||||
|
headingFontWeight="normal"
|
||||||
|
>
|
||||||
|
<ReactLenis root>
|
||||||
|
<div id="nav" data-section="nav">
|
||||||
|
<NavbarStyleCentered
|
||||||
|
navItems={[
|
||||||
|
{ name: "Home", id: "/" },
|
||||||
|
{ name: "Products", id: "/products" },
|
||||||
|
{ name: "Cart", id: "/cart" },
|
||||||
|
{ name: "Checkout", id: "/checkout" }
|
||||||
|
]}
|
||||||
|
brandName="E-Store"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div className="pt-24 pb-12">
|
||||||
|
<ProductCart isOpen={true} onClose={() => {}} items={[]} total="₹0" buttons={[{ text: "Proceed to Checkout", href: "/checkout" }]} />
|
||||||
|
</div>
|
||||||
|
</ReactLenis>
|
||||||
|
</ThemeProvider>
|
||||||
|
);
|
||||||
|
}
|
||||||
40
src/app/checkout/page.tsx
Normal file
40
src/app/checkout/page.tsx
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||||
|
import ReactLenis from "lenis/react";
|
||||||
|
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
|
||||||
|
|
||||||
|
export default function CheckoutPage() {
|
||||||
|
return (
|
||||||
|
<ThemeProvider
|
||||||
|
defaultButtonVariant="text-stagger"
|
||||||
|
defaultTextAnimation="entrance-slide"
|
||||||
|
borderRadius="rounded"
|
||||||
|
contentWidth="medium"
|
||||||
|
sizing="medium"
|
||||||
|
background="circleGradient"
|
||||||
|
cardStyle="glass-elevated"
|
||||||
|
primaryButtonStyle="gradient"
|
||||||
|
secondaryButtonStyle="glass"
|
||||||
|
headingFontWeight="normal"
|
||||||
|
>
|
||||||
|
<ReactLenis root>
|
||||||
|
<div id="nav" data-section="nav">
|
||||||
|
<NavbarStyleCentered
|
||||||
|
navItems={[
|
||||||
|
{ name: "Home", id: "/" },
|
||||||
|
{ name: "Products", id: "/products" },
|
||||||
|
{ name: "Cart", id: "/cart" },
|
||||||
|
{ name: "Checkout", id: "/checkout" }
|
||||||
|
]}
|
||||||
|
brandName="E-Store"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div className="min-h-screen pt-32 px-6 text-center">
|
||||||
|
<h1 className="text-4xl font-bold mb-4">Checkout</h1>
|
||||||
|
<p>Secure payment portal under construction.</p>
|
||||||
|
</div>
|
||||||
|
</ReactLenis>
|
||||||
|
</ThemeProvider>
|
||||||
|
);
|
||||||
|
}
|
||||||
297
src/app/page.tsx
297
src/app/page.tsx
@@ -9,6 +9,8 @@ import HeroBillboardCarousel from '@/components/sections/hero/HeroBillboardCarou
|
|||||||
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
|
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
|
||||||
import ProductCardThree from '@/components/sections/product/ProductCardThree';
|
import ProductCardThree from '@/components/sections/product/ProductCardThree';
|
||||||
import TextSplitAbout from '@/components/sections/about/TextSplitAbout';
|
import TextSplitAbout from '@/components/sections/about/TextSplitAbout';
|
||||||
|
import TimelineHorizontalCardStack from '@/components/cardStack/layouts/timelines/TimelineHorizontalCardStack';
|
||||||
|
import FeatureCardEight from '@/components/sections/feature/FeatureCardEight';
|
||||||
|
|
||||||
export default function LandingPage() {
|
export default function LandingPage() {
|
||||||
return (
|
return (
|
||||||
@@ -18,206 +20,117 @@ export default function LandingPage() {
|
|||||||
borderRadius="rounded"
|
borderRadius="rounded"
|
||||||
contentWidth="mediumLarge"
|
contentWidth="mediumLarge"
|
||||||
sizing="mediumLargeSizeMediumTitles"
|
sizing="mediumLargeSizeMediumTitles"
|
||||||
background="noiseDiagonalGradient"
|
background="circleGradient"
|
||||||
cardStyle="outline"
|
cardStyle="glass-elevated"
|
||||||
primaryButtonStyle="radial-glow"
|
primaryButtonStyle="gradient"
|
||||||
secondaryButtonStyle="layered"
|
secondaryButtonStyle="glass"
|
||||||
headingFontWeight="medium"
|
headingFontWeight="normal"
|
||||||
>
|
>
|
||||||
<ReactLenis root>
|
<ReactLenis root>
|
||||||
<div id="nav" data-section="nav">
|
<div id="nav" data-section="nav">
|
||||||
<NavbarStyleCentered
|
<NavbarStyleCentered
|
||||||
navItems={[
|
navItems={[
|
||||||
{
|
{ name: "Home", id: "/" },
|
||||||
name: "Home",
|
{ name: "Products", id: "/products" },
|
||||||
id: "hero",
|
{ name: "Cart", id: "/cart" },
|
||||||
},
|
{ name: "Checkout", id: "/checkout" },
|
||||||
{
|
]}
|
||||||
name: "Products",
|
brandName="E-Store"
|
||||||
id: "products",
|
/>
|
||||||
},
|
</div>
|
||||||
{
|
|
||||||
name: "About",
|
|
||||||
id: "about",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "FAQ",
|
|
||||||
id: "faq",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "Contact",
|
|
||||||
id: "contact",
|
|
||||||
},
|
|
||||||
]}
|
|
||||||
brandName="E-Store"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="hero" data-section="hero">
|
<div id="hero" data-section="hero">
|
||||||
<HeroBillboardCarousel
|
<HeroBillboardCarousel
|
||||||
background={{
|
background={{ variant: "sparkles-gradient" }}
|
||||||
variant: "sparkles-gradient",
|
title="Style That Speaks Volumes"
|
||||||
}}
|
description="Discover premium quality products curated for your modern lifestyle. Fast delivery across India."
|
||||||
title="Style That Speaks Volumes"
|
mediaItems={[
|
||||||
description="Discover premium quality products curated for your modern lifestyle. Fast delivery across India."
|
{ imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BYkvOiW4e2ve8KGBTgSVIQr79g/premium-clothing-showcase-hero-banner-fo-1774673703512-e98bd6df.png", imageAlt: "Fashion" },
|
||||||
mediaItems={[
|
{ imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BYkvOiW4e2ve8KGBTgSVIQr79g/professional-tech-gadgets-display-on-a-c-1774673703226-5b5b7faf.png", imageAlt: "Tech" },
|
||||||
{
|
]}
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BYkvOiW4e2ve8KGBTgSVIQr79g/premium-clothing-showcase-hero-banner-fo-1774673703512-e98bd6df.png",
|
/>
|
||||||
imageAlt: "Fashion",
|
</div>
|
||||||
},
|
|
||||||
{
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BYkvOiW4e2ve8KGBTgSVIQr79g/professional-tech-gadgets-display-on-a-c-1774673703226-5b5b7faf.png",
|
|
||||||
imageAlt: "Tech",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BYkvOiW4e2ve8KGBTgSVIQr79g/artisanal-handcrafted-goods-on-a-wooden--1774673701932-56720ca7.png",
|
|
||||||
imageAlt: "Artisan",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BYkvOiW4e2ve8KGBTgSVIQr79g/modern-lifestyle-accessories-displayed-n-1774673701205-3db5b547.png",
|
|
||||||
imageAlt: "Accessories",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BYkvOiW4e2ve8KGBTgSVIQr79g/luxury-jewelry-or-small-item-focus-on-a--1774673701273-3a5d2eb9.png",
|
|
||||||
imageAlt: "Jewelry",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BYkvOiW4e2ve8KGBTgSVIQr79g/dynamic-fitness-clothing-and-gear-active-1774673702505-7b766b92.png",
|
|
||||||
imageAlt: "Fitness",
|
|
||||||
},
|
|
||||||
]}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="products" data-section="products">
|
<div id="products" data-section="products">
|
||||||
<ProductCardThree
|
<ProductCardThree
|
||||||
animationType="slide-up"
|
animationType="slide-up"
|
||||||
textboxLayout="default"
|
textboxLayout="default"
|
||||||
gridVariant="three-columns-all-equal-width"
|
gridVariant="three-columns-all-equal-width"
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
products={[
|
products={[
|
||||||
{
|
{ id: "1", name: "Premium Jacket", price: "₹2,999", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BYkvOiW4e2ve8KGBTgSVIQr79g/high-quality-fashion-jacket-white-backgr-1774673701444-4d77b32f.png" },
|
||||||
id: "1",
|
{ id: "2", name: "Wireless Audio", price: "₹4,599", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BYkvOiW4e2ve8KGBTgSVIQr79g/modern-wireless-headphones-clean-design--1774673701251-3b3d5bf6.png" },
|
||||||
name: "Premium Jacket",
|
{ id: "3", name: "Leather Handbag", price: "₹1,899", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BYkvOiW4e2ve8KGBTgSVIQr79g/handcrafted-leather-bag-high-quality-mat-1774673701846-dcc8cc5a.png" },
|
||||||
price: "₹2,999",
|
]}
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BYkvOiW4e2ve8KGBTgSVIQr79g/high-quality-fashion-jacket-white-backgr-1774673701444-4d77b32f.png",
|
title="Trending Now"
|
||||||
},
|
description="Our most popular picks of the season."
|
||||||
{
|
/>
|
||||||
id: "2",
|
</div>
|
||||||
name: "Wireless Audio",
|
|
||||||
price: "₹4,599",
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BYkvOiW4e2ve8KGBTgSVIQr79g/modern-wireless-headphones-clean-design--1774673701251-3b3d5bf6.png",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "3",
|
|
||||||
name: "Leather Handbag",
|
|
||||||
price: "₹1,899",
|
|
||||||
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3BYkvOiW4e2ve8KGBTgSVIQr79g/handcrafted-leather-bag-high-quality-mat-1774673701846-dcc8cc5a.png",
|
|
||||||
},
|
|
||||||
]}
|
|
||||||
title="Trending Now"
|
|
||||||
description="Our most popular picks of the season."
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="about" data-section="about">
|
<div id="tools" data-section="tools">
|
||||||
<TextSplitAbout
|
<FeatureCardEight
|
||||||
useInvertedBackground={false}
|
title="E-commerce Toolset"
|
||||||
title="Why Choose Us?"
|
description="Free and paid tools to streamline operations."
|
||||||
description={[
|
textboxLayout="default"
|
||||||
"At E-Store, we prioritize quality, authenticity, and customer satisfaction. We connect artisans and brands directly to your doorstep with minimal friction and maximum reliability.",
|
useInvertedBackground={false}
|
||||||
"Whether you are looking for the latest in fashion or essential daily tech, our platform ensures a smooth shopping experience tailored for India.",
|
features={[
|
||||||
]}
|
{ id: 1, title: "Marketing Automation", description: "Mailchimp (Free tier available) for email campaigns.", imageSrc: "https://images.unsplash.com/photo-1552664730-d307ca884978?q=80&w=200&h=200" },
|
||||||
/>
|
{ id: 2, title: "Advanced Analytics", description: "Google Analytics & Shopify Insights for data-driven decisions.", imageSrc: "https://images.unsplash.com/photo-1551288049-bebda4e38f71?q=80&w=200&h=200" }
|
||||||
</div>
|
]}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div id="faq" data-section="faq">
|
<div id="strategy" data-section="strategy">
|
||||||
<FaqBase
|
<TimelineHorizontalCardStack
|
||||||
textboxLayout="default"
|
title="Business Growth Roadmap"
|
||||||
useInvertedBackground={false}
|
description="Step-by-step plan for scaling revenue and profit."
|
||||||
faqs={[
|
textboxLayout="default"
|
||||||
{
|
>
|
||||||
id: "f1",
|
<div />
|
||||||
title: "What payment methods do you accept?",
|
</TimelineHorizontalCardStack>
|
||||||
content: "We accept UPI, Credit/Debit cards, and all major digital wallets.",
|
</div>
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "f2",
|
|
||||||
title: "How long does shipping take?",
|
|
||||||
content: "Orders are typically delivered within 3-7 business days across India.",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: "f3",
|
|
||||||
title: "Do you offer returns?",
|
|
||||||
content: "Yes, we have a 7-day hassle-free return policy on most items.",
|
|
||||||
},
|
|
||||||
]}
|
|
||||||
title="Common Questions"
|
|
||||||
description="Everything you need to know about shopping with us."
|
|
||||||
faqsAnimation="slide-up"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="contact" data-section="contact">
|
<div id="about" data-section="about">
|
||||||
<ContactText
|
<TextSplitAbout
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
background={{
|
title="Why Choose Us?"
|
||||||
variant: "sparkles-gradient",
|
description={["At E-Store, we prioritize quality, authenticity, and customer satisfaction.", "Our platform ensures a smooth shopping experience tailored for India."]}
|
||||||
}}
|
/>
|
||||||
text="Ready to get started? Reach out to our support team for any queries."
|
</div>
|
||||||
buttons={[
|
|
||||||
{
|
|
||||||
text: "Contact Support",
|
|
||||||
href: "mailto:support@estore.com",
|
|
||||||
},
|
|
||||||
]}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="footer" data-section="footer">
|
<div id="faq" data-section="faq">
|
||||||
<FooterLogoEmphasis
|
<FaqBase
|
||||||
columns={[
|
textboxLayout="default"
|
||||||
{
|
useInvertedBackground={false}
|
||||||
items: [
|
faqs={[
|
||||||
{
|
{ id: "f1", title: "What payment methods?", content: "UPI, Cards, Wallets." },
|
||||||
label: "Shop",
|
{ id: "f2", title: "Shipping?", content: "3-7 business days." },
|
||||||
href: "#products",
|
]}
|
||||||
},
|
title="Common Questions"
|
||||||
{
|
description="Everything you need to know about shopping with us."
|
||||||
label: "About",
|
faqsAnimation="slide-up"
|
||||||
href: "#about",
|
/>
|
||||||
},
|
</div>
|
||||||
],
|
|
||||||
},
|
<div id="contact" data-section="contact">
|
||||||
{
|
<ContactText
|
||||||
items: [
|
useInvertedBackground={false}
|
||||||
{
|
background={{ variant: "sparkles-gradient" }}
|
||||||
label: "Support",
|
text="Need consulting on your monetization strategy?"
|
||||||
href: "#faq",
|
buttons={[{ text: "Reach Out", href: "mailto:support@estore.com" }]}
|
||||||
},
|
/>
|
||||||
{
|
</div>
|
||||||
label: "Contact",
|
|
||||||
href: "#contact",
|
<div id="footer" data-section="footer">
|
||||||
},
|
<FooterLogoEmphasis
|
||||||
],
|
columns={[
|
||||||
},
|
{ items: [{ label: "Shop", href: "#products" }, { label: "Tools", href: "#tools" }] },
|
||||||
{
|
{ items: [{ label: "Strategy", href: "#strategy" }, { label: "Contact", href: "#contact" }] },
|
||||||
items: [
|
]}
|
||||||
{
|
logoText="E-Store"
|
||||||
label: "Privacy Policy",
|
/>
|
||||||
href: "#",
|
</div>
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "Terms of Service",
|
|
||||||
href: "#",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
]}
|
|
||||||
logoText="E-Store"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</ReactLenis>
|
</ReactLenis>
|
||||||
</ThemeProvider>
|
</ThemeProvider>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
46
src/app/products/page.tsx
Normal file
46
src/app/products/page.tsx
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||||
|
import ReactLenis from "lenis/react";
|
||||||
|
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
|
||||||
|
import ProductCardThree from '@/components/sections/product/ProductCardThree';
|
||||||
|
|
||||||
|
export default function ProductListingPage() {
|
||||||
|
return (
|
||||||
|
<ThemeProvider
|
||||||
|
defaultButtonVariant="text-stagger"
|
||||||
|
defaultTextAnimation="entrance-slide"
|
||||||
|
borderRadius="rounded"
|
||||||
|
contentWidth="medium"
|
||||||
|
sizing="medium"
|
||||||
|
background="circleGradient"
|
||||||
|
cardStyle="glass-elevated"
|
||||||
|
primaryButtonStyle="gradient"
|
||||||
|
secondaryButtonStyle="glass"
|
||||||
|
headingFontWeight="normal"
|
||||||
|
>
|
||||||
|
<ReactLenis root>
|
||||||
|
<div id="nav" data-section="nav">
|
||||||
|
<NavbarStyleCentered
|
||||||
|
navItems={[
|
||||||
|
{ name: "Home", id: "/" },
|
||||||
|
{ name: "Products", id: "/products" },
|
||||||
|
{ name: "Cart", id: "/cart" },
|
||||||
|
{ name: "Checkout", id: "/checkout" }
|
||||||
|
]}
|
||||||
|
brandName="E-Store"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<ProductCardThree
|
||||||
|
animationType="slide-up"
|
||||||
|
textboxLayout="default"
|
||||||
|
gridVariant="four-items-2x2-equal-grid"
|
||||||
|
title="All Products"
|
||||||
|
description="Browse our full collection."
|
||||||
|
useInvertedBackground={false}
|
||||||
|
products={[]}
|
||||||
|
/>
|
||||||
|
</ReactLenis>
|
||||||
|
</ThemeProvider>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -10,15 +10,15 @@
|
|||||||
--accent: #ffffff;
|
--accent: #ffffff;
|
||||||
--background-accent: #ffffff; */
|
--background-accent: #ffffff; */
|
||||||
|
|
||||||
--background: #ffffff;
|
--background: #000000;
|
||||||
--card: #f9f9f9;
|
--card: #0c0c0c;
|
||||||
--foreground: #120a00e6;
|
--foreground: #ffffff;
|
||||||
--primary-cta: #E34400;
|
--primary-cta: #106EFB;
|
||||||
--primary-cta-text: #ffffff;
|
--primary-cta-text: #ffffff;
|
||||||
--secondary-cta: #f9f9f9;
|
--secondary-cta: #000000;
|
||||||
--secondary-cta-text: #120a00e6;
|
--secondary-cta-text: #120a00e6;
|
||||||
--accent: #e2e2e2;
|
--accent: #535353;
|
||||||
--background-accent: #E34400;
|
--background-accent: #106EFB;
|
||||||
|
|
||||||
/* 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);
|
||||||
|
|||||||
Reference in New Issue
Block a user