61 Commits

Author SHA1 Message Date
c87e28c55b Update src/app/page.tsx 2026-02-21 22:38:46 +00:00
4232094b78 Update src/app/blog/page.tsx 2026-02-21 22:38:45 +00:00
ecfe65f735 Update src/app/page.tsx 2026-02-21 22:38:07 +00:00
9fca07ea1a Update src/app/shop/page.tsx 2026-02-21 22:35:56 +00:00
2b33242278 Update src/app/shop/[id]/page.tsx 2026-02-21 22:35:56 +00:00
d936a97733 Update src/app/privacy/page.tsx 2026-02-21 22:35:55 +00:00
c6bca78e11 Update src/app/page.tsx 2026-02-21 22:35:54 +00:00
5b5dbea3fe Update src/app/blog/page.tsx 2026-02-21 22:35:53 +00:00
62e744dc3c Update src/app/styles/variables.css 2026-02-21 22:33:28 +00:00
bb9e6fea20 Update src/app/styles/base.css 2026-02-21 22:33:27 +00:00
e8ec252371 Update src/app/shop/page.tsx 2026-02-21 22:33:26 +00:00
102ec71791 Update src/app/shop/[id]/page.tsx 2026-02-21 22:33:26 +00:00
6c83f1c37c Update src/app/privacy/page.tsx 2026-02-21 22:33:25 +00:00
e115747b5e Update src/app/page.tsx 2026-02-21 22:33:24 +00:00
ce6e958e4a Update src/app/layout.tsx 2026-02-21 22:33:23 +00:00
040838f8c7 Update src/app/blog/page.tsx 2026-02-21 22:33:22 +00:00
e3d428740e Merge version_6 into main
Merge version_6 into main
2026-02-21 22:22:42 +00:00
a47a0c3b35 Update src/app/page.tsx 2026-02-21 22:22:37 +00:00
53938f4712 Merge version_6 into main
Merge version_6 into main
2026-02-21 22:21:57 +00:00
5599f7516d Update src/app/shop/page.tsx 2026-02-21 22:21:52 +00:00
51dd7c429b Update src/app/shop/[id]/page.tsx 2026-02-21 22:21:52 +00:00
47f8ca468f Update src/app/privacy/page.tsx 2026-02-21 22:21:51 +00:00
0bd0a95da4 Update src/app/page.tsx 2026-02-21 22:21:50 +00:00
82a1966d73 Update src/app/blog/page.tsx 2026-02-21 22:21:49 +00:00
20a19c302b Merge version_6 into main
Merge version_6 into main
2026-02-21 22:19:28 +00:00
e4c3df49dd Update src/app/styles/variables.css 2026-02-21 22:19:24 +00:00
68afccf438 Update src/app/shop/page.tsx 2026-02-21 22:19:23 +00:00
b7f789973e Update src/app/shop/[id]/page.tsx 2026-02-21 22:19:22 +00:00
c4e0d5d16a Update src/app/privacy/page.tsx 2026-02-21 22:19:21 +00:00
68affe776e Update src/app/page.tsx 2026-02-21 22:19:21 +00:00
9b47456760 Update src/app/layout.tsx 2026-02-21 22:19:20 +00:00
fc41963461 Update src/app/blog/page.tsx 2026-02-21 22:19:19 +00:00
8d55049771 Merge version_5 into main
Merge version_5 into main
2026-02-21 20:27:22 +00:00
6d098d075e Update src/app/shop/page.tsx 2026-02-21 20:27:18 +00:00
4b39e5bd23 Update src/app/shop/[id]/page.tsx 2026-02-21 20:27:17 +00:00
be4b6468eb Update src/app/page.tsx 2026-02-21 20:27:16 +00:00
94b3cbc6cd Update src/app/blog/page.tsx 2026-02-21 20:27:15 +00:00
06ba0e1726 Merge version_4 into main
Merge version_4 into main
2026-02-21 20:26:09 +00:00
3b323d51cb Update src/app/shop/page.tsx 2026-02-21 20:26:05 +00:00
b10a9024c1 Update src/app/shop/[id]/page.tsx 2026-02-21 20:26:04 +00:00
9e58f90385 Update src/app/privacy/page.tsx 2026-02-21 20:26:03 +00:00
f6183e0ca5 Merge version_5 into main
Merge version_5 into main
2026-02-21 20:24:40 +00:00
2c93ff4ae2 Update src/app/shop/page.tsx 2026-02-21 20:24:36 +00:00
1f653a8f82 Update src/app/shop/[id]/page.tsx 2026-02-21 20:24:35 +00:00
5077fa9226 Update src/app/privacy/page.tsx 2026-02-21 20:24:34 +00:00
9cc25868ef Update src/app/page.tsx 2026-02-21 20:24:34 +00:00
9dbc031ed3 Update src/app/layout.tsx 2026-02-21 20:24:33 +00:00
d397aa7679 Update src/app/blog/page.tsx 2026-02-21 20:24:32 +00:00
224b2982f8 Merge version_4 into main
Merge version_4 into main
2026-02-21 20:23:20 +00:00
a44bbf4810 Add src/app/support/page.tsx 2026-02-21 20:23:16 +00:00
8a7139baa6 Update src/app/shop/page.tsx 2026-02-21 20:23:15 +00:00
c74978929e Update src/app/shop/[id]/page.tsx 2026-02-21 20:23:14 +00:00
8601109ead Update src/app/privacy/page.tsx 2026-02-21 20:23:14 +00:00
f33eba33b2 Update src/app/page.tsx 2026-02-21 20:23:13 +00:00
fdbead97f4 Update src/app/layout.tsx 2026-02-21 20:23:12 +00:00
d18144b41d Update src/app/blog/page.tsx 2026-02-21 20:23:11 +00:00
2ea3ba2560 Merge version_3 into main
Merge version_3 into main
2026-02-21 20:14:44 +00:00
6256b1c7bc Merge version_3 into main
Merge version_3 into main
2026-02-21 20:13:59 +00:00
29df51c4a5 Merge version_3 into main
Merge version_3 into main
2026-02-21 20:10:44 +00:00
d8d039ffda Update src/app/shop/[id]/page.tsx 2026-02-21 20:10:40 +00:00
698a46c955 Merge version_3 into main
Merge version_3 into main
2026-02-21 20:08:24 +00:00
9 changed files with 424 additions and 263 deletions

View File

@@ -1,39 +1,39 @@
"use client"; "use client";
import BlogCardTwo from '@/components/sections/blog/BlogCardTwo'; import BlogCardThree from '@/components/sections/blog/BlogCardThree';
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay"; import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay";
import FooterBaseReveal from '@/components/sections/footer/FooterBaseReveal'; // Updated import
const posts = [ const posts = [
{ {
id: '1', id: '1',
category: ['Skincare', 'Tips'], category: 'Skincare',
title: '5 Tips for a Glowing Complexion', title: '5 Tips for a Glowing Complexion',
excerpt: 'Discover our top secrets to achieving radiant, healthy-looking skin that glows from within.', excerpt: 'Discover our top secrets to achieving radiant, healthy-looking skin that glows from within.',
imageSrc: 'https://img.b2bpic.net/free-photo/minimal-assortment-beauty-products_23-2148961325.jpg', imageSrc: 'https://img.b2bpic.net/free-photo/hand-holding-bottle-beauty-product_23-2148496466.jpg',
authorName: 'Lee Coral', authorName: 'Lee Coral',
authorAvatar: 'https://img.b2bpic.net/free-photo/studio-shot-sensual-woman-pink-suit_197531-16807.jpg', authorAvatar: 'https://img.b2bpic.net/free-photo/minimal-geometric-pattern-wall_23-2149673909.jpg',
date: 'Oct 20, 2023', date: 'Oct 20, 2023',
}, },
{ {
id: '2', id: '2',
category: ['Live Shows'], category: 'Live Shows',
title: 'What to Expect in Our Next Live Show', title: 'What to Expect in Our Next Live Show',
excerpt: 'Get a sneak peek into the exclusive bundles and new drops featured in our upcoming live event.', excerpt: 'Get a sneak peek into the exclusive bundles and new drops featured in our upcoming live event.',
imageSrc: 'https://img.b2bpic.net/free-photo/online-workshop-demontration-beauty-products_259150-60056.jpg?_wi=2', imageSrc: 'https://img.b2bpic.net/free-photo/hands-holding-various-cosmetics_23-2148496467.jpg?_wi=11',
authorName: 'Ariel S.', authorName: 'Ariel S.',
authorAvatar: 'https://img.b2bpic.net/free-photo/portrait-young-female-dentist-dentistry-concept-dental-treatment_169016-67131.jpg', authorAvatar: 'https://img.b2bpic.net/free-photo/minimal-geometric-pattern-wall_23-2149673909.jpg',
date: 'Oct 15, 2023', date: 'Oct 15, 2023',
}, },
{ {
id: '3', id: '3',
category: ['Cosmetics'], category: 'Cosmetics',
title: 'The Ultimate Guide to Pro Cosmetics', title: 'The Ultimate Guide to Pro Cosmetics',
excerpt: 'Learn how to use our professional cosmetic kits to create stunning looks for any occasion.', excerpt: 'Learn how to use our professional cosmetic kits to create stunning looks for any occasion.',
imageSrc: 'https://img.b2bpic.net/free-photo/foundation-bottles-advertising-arrangement_23-2149511243.jpg?_wi=2', imageSrc: 'https://img.b2bpic.net/free-photo/woman-holding-makeup-brush_23-2148496463.jpg',
authorName: 'Glow Theory', authorName: 'Glow Theory',
authorAvatar: 'https://img.b2bpic.net/free-photo/minimal-assortment-beauty-products_23-2148961325.jpg', authorAvatar: 'https://img.b2bpic.net/free-photo/minimal-geometric-pattern-wall_23-2149673909.jpg',
date: 'Oct 10, 2023', date: 'Oct 10, 2023',
} }
]; ];
@@ -42,23 +42,25 @@ export default function BlogPage() {
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="elastic-effect" defaultButtonVariant="hover-magnetic"
defaultTextAnimation="entrance-slide" defaultTextAnimation="entrance-slide"
borderRadius="rounded" borderRadius="rounded"
contentWidth="mediumLarge" contentWidth="medium"
sizing="largeSmall" sizing="medium"
background="noise" background="none"
cardStyle="gradient-mesh" cardStyle="solid"
primaryButtonStyle="primary-glow" primaryButtonStyle="gradient"
secondaryButtonStyle="radial-glow" secondaryButtonStyle="glass"
headingFontWeight="medium" headingFontWeight="bold"
> >
<div id="nav" data-section="nav"> <div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay <NavbarLayoutFloatingOverlay
brandName="Glow Theory" brandName="Glow Theory"
navItems={[ navItems={[
{ name: "Home", id: "/" }, { name: "Home", id: "/" },
{ name: "Shop", id: "/shop" }, { name: "Live Shows", id: "/#live-shows" },
{ name: "Support", id: "/#contact-support" },
{ name: "Privacy", id: "/privacy" }
]} ]}
button={{ text: "Join Live", href: "/#live-shows" }} button={{ text: "Join Live", href: "/#live-shows" }}
className="py-4 px-6 md:px-8" className="py-4 px-6 md:px-8"
@@ -68,7 +70,7 @@ export default function BlogPage() {
</div> </div>
<div id="blog" data-section="blog"> <div id="blog" data-section="blog">
<BlogCardTwo <BlogCardThree
blogs={posts} blogs={posts}
title="Featured Articles" title="Featured Articles"
description="Explore our latest insights" description="Explore our latest insights"
@@ -79,13 +81,22 @@ export default function BlogPage() {
</div> </div>
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterLogoReveal <FooterBaseReveal
logoText="Glow Theory" columns={[
leftLink={{ text: "Customer Support", href: "/#contact-support" }} {
rightLink={{ text: "Privacy Policy", href: "/privacy" }} title: "Support", items: [{ label: "Customer Support", href: "/#contact-support" }]
},
{
title: "Company", items: [{ label: "Privacy Policy", href: "/privacy" }]
},
{
title: "Resources", items: [{ label: "Home", href: "/" }]
}
]}
copyrightText={`© ${new Date().getFullYear()} Glow Theory`}
className="bg-[--background] text-[--foreground] py-6 px-4" className="bg-[--background] text-[--foreground] py-6 px-4"
linkClassName="text-[--foreground] hover:text-[--primary-cta] transition-colors duration-200" columnTitleClassName="font-bold text-lg mb-2"
logoClassName="text-2xl font-bold tracking-tight" columnItemClassName="text-md"
/> />
</div> </div>
</ThemeProvider> </ThemeProvider>

View File

@@ -1,23 +1,25 @@
import type { Metadata } from "next"; import type { Metadata } from "next";
import { Plus_Jakarta_Sans } from "next/font/google"; import { Inter } 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 plusJakartaSans = Plus_Jakarta_Sans({ const inter = Inter({
variable: "--font-plus-jakarta-sans", subsets: ["latin"], variable: "--font-inter", subsets: ["latin"],
}); });
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Glow Theory - Premium Beauty Wholesale Live Selling", description: "Elevate your glow with Glow Theory, your Miami-based source for luxury beauty, skincare, fragrance, and cosmetic reseller bundles through live shows on Whatnot.", openGraph: { title: "Glow Theory - Premium Beauty Wholesale Live Selling", description: "Elevate your glow with Glow Theory, your Miami-based source for luxury beauty, skincare, fragrance, and cosmetic reseller bundles through live shows on Whatnot.", openGraph: {
title: "Glow Theory - Premium Beauty Wholesale Live Selling", description: "Elevate your glow with Glow Theory, your Miami-based source for luxury beauty, skincare, fragrance, and cosmetic reseller bundles through live shows on Whatnot.", url: "https://glowtheory.com", siteName: "Glow Theory", images: [ title: "Glow Theory - Premium Beauty Wholesale Live Selling", description: "Elevate your glow with Glow Theory, your Miami-based source for luxury beauty, skincare, fragrance, and cosmetic reseller bundles through live shows on Whatnot.", url: "https://glowtheory.com", siteName: "Glow Theory", images: [
{ {
url: "https://img.b2bpic.net/free-photo/minimal-assortment-beauty-products_23-2148961325.jpg", alt: "Glow Theory beauty products with a soft pink glow"}, url: "https://img.b2bpic.net/free-photo/hands-holding-face-cream_23-2149544901.jpg", alt: "Glow Theory beauty products held in hands"
}
], ],
type: "website"}, type: "website"
twitter: {
card: "summary_large_image", title: "Glow Theory - Premium Beauty Wholesale Live Selling", description: "Elevate your glow with Glow Theory, your Miami-based source for luxury beauty, skincare, fragrance, and cosmetic reseller bundles through live shows on Whatnot.", images: ["https://img.b2bpic.net/free-photo/minimal-assortment-beauty-products_23-2148961325.jpg"],
}, },
twitter: {
card: "summary_large_image", title: "Glow Theory - Premium Beauty Wholesale Live Selling", description: "Elevate your glow with Glow Theory, your Miami-based source for luxury beauty, skincare, fragrance, and cosmetic reseller bundles through live shows on Whatnot.", images: ["https://img.b2bpic.net/free-photo/hands-holding-face-cream_23-2149544901.jpg"]
}
}; };
export default function RootLayout({ export default function RootLayout({
@@ -29,7 +31,7 @@ export default function RootLayout({
<html lang="en" suppressHydrationWarning> <html lang="en" suppressHydrationWarning>
<ServiceWrapper> <ServiceWrapper>
<body <body
className={`${plusJakartaSans.variable} antialiased`} className={`${inter.variable} antialiased`}
> >
<Tag /> <Tag />
{children} {children}

View File

@@ -2,40 +2,39 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay'; import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import HeroBillboardGallery from '@/components/sections/hero/HeroBillboardGallery';
import TestimonialAboutCard from '@/components/sections/about/TestimonialAboutCard';
import FeatureBorderGlow from '@/components/sections/feature/featureBorderGlow/FeatureBorderGlow';
import ProductCardTwo from '@/components/sections/product/ProductCardTwo'; import ProductCardTwo from '@/components/sections/product/ProductCardTwo';
import TestimonialCardFifteen from '@/components/sections/testimonial/TestimonialCardFifteen'; import { CalendarCheck, Mail, MessageSquare, Quote, Timer, Tv } from "lucide-react";
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal'; // New imports for replaced components
import { CalendarCheck, Mail, MessageSquare, Sparkles, Timer, Tv } from "lucide-react"; import HeroBillboard from '@/components/sections/hero/HeroBillboard';
import TextAbout from '@/components/sections/about/TextAbout';
import FeatureCardTwentyFive from '@/components/sections/feature/FeatureCardTwentyFive';
import TestimonialCardTwo from '@/components/sections/testimonial/TestimonialCardTwo';
import ContactCenter from '@/components/sections/contact/ContactCenter';
import FooterBaseReveal from '@/components/sections/footer/FooterBaseReveal';
export default function LandingPage() { export default function LandingPage() {
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="elastic-effect" defaultButtonVariant="hover-magnetic"
defaultTextAnimation="entrance-slide" defaultTextAnimation="entrance-slide"
borderRadius="rounded" borderRadius="rounded"
contentWidth="mediumLarge" contentWidth="medium"
sizing="largeSmall" sizing="medium"
background="noise" background="none"
cardStyle="gradient-mesh" cardStyle="solid"
primaryButtonStyle="primary-glow" primaryButtonStyle="gradient"
secondaryButtonStyle="radial-glow" secondaryButtonStyle="glass"
headingFontWeight="medium" headingFontWeight="bold"
> >
<div id="nav" data-section="nav"> <div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay <NavbarLayoutFloatingOverlay
brandName="Glow Theory" brandName="Glow Theory"
navItems={[ navItems={[
{ name: "About", id: "about" }, { name: "Home", id: "/" },
{ name: "Live Shows", id: "live-shows" }, { name: "Live Shows", id: "/#live-shows" },
{ name: "Bundles", id: "bundles" }, { name: "Support", id: "/#contact-support" },
{ name: "Reviews", id: "reviews" }, { name: "Privacy", id: "/privacy" }
{ name: "Support", id: "support" },
{ name: "Shop", id: "/shop" },
{ name: "Blog", id: "/blog" }
]} ]}
button={{ text: "Join Live", href: "#live-shows" }} button={{ text: "Join Live", href: "#live-shows" }}
className="py-4 px-6 md:px-8" className="py-4 px-6 md:px-8"
@@ -45,16 +44,12 @@ export default function LandingPage() {
</div> </div>
<div id="hero" data-section="hero"> <div id="hero" data-section="hero">
<HeroBillboardGallery <HeroBillboard
title="Glow Theory" title="Glow Theory"
description="Elevate Your Glow" description="Elevate Your Glow"
background={{ variant: "radial-gradient" }} background={{ variant: "plain" }}
buttons={[{ text: "Join Our Live Show", href: "https://www.whatnot.com/s/xeIJ5XNt" }]} buttons={[{ text: "Join Our Live Show", href: "https://www.whatnot.com/s/xeIJ5XNt" }]}
mediaItems={[ imageSrc="https://img.b2bpic.net/free-photo/hands-holding-face-cream_23-2149544901.jpg?_wi=1"
{ imageSrc: "https://img.b2bpic.net/free-photo/minimal-assortment-beauty-products_23-2148961325.jpg?_wi=1", imageAlt: "Beauty products with a soft pink glow" },
{ imageSrc: "https://img.b2bpic.net/free-photo/minimal-assortment-beauty-products_23-2148961325.jpg?_wi=2", imageAlt: "Beauty products with a soft pink glow" },
{ imageSrc: "https://img.b2bpic.net/free-photo/minimal-assortment-beauty-products_23-2148961325.jpg?_wi=3", imageAlt: "Beauty products with a soft pink glow" },
]}
mediaAnimation="opacity" mediaAnimation="opacity"
buttonAnimation="opacity" buttonAnimation="opacity"
className="bg-[--background] text-[--foreground]" className="bg-[--background] text-[--foreground]"
@@ -67,37 +62,24 @@ export default function LandingPage() {
</div> </div>
<div id="about" data-section="about"> <div id="about" data-section="about">
<TestimonialAboutCard <TextAbout
tag="About Us" tag="About Us"
title="Discover Glow Theory" title="Glow Theory is your premier Miami-based destination for beauty wholesale live-selling. We specialize in curating exquisite reseller bundles featuring top-tier skincare, fragrance, and cosmetics, alongside daily product drops. Our mission is to empower beauty entrepreneurs with access to the most coveted products in the market."
description="Glow Theory is your premier Miami-based destination for beauty wholesale live-selling. We specialize in curating exquisite reseller bundles featuring top-tier skincare, fragrance, and cosmetics, alongside daily product drops. Our mission is to empower beauty entrepreneurs with access to the most coveted products in the market."
subdescription="CEO: Lee Coral"
icon={Sparkles}
imageSrc="https://img.b2bpic.net/free-photo/studio-shot-sensual-woman-pink-suit_197531-16807.jpg"
imageAlt="Portrait of Lee Coral, CEO of Glow Theory"
mediaAnimation="opacity"
useInvertedBackground={false} useInvertedBackground={false}
className="bg-[--background] text-[--foreground]" className="bg-[--card] text-[--foreground]"
cardClassName="!bg-[--card] shadow-lg rounded-[--radius] p-8 md:p-12"
tagClassName="text-[--primary-cta] font-semibold"
titleClassName="text-3xl md:text-4xl lg:text-5xl font-thin tracking-wide" titleClassName="text-3xl md:text-4xl lg:text-5xl font-thin tracking-wide"
descriptionClassName="text-md md:text-lg font-light mt-4" buttons={[]}
subdescriptionClassName="text-sm md:text-md font-medium text-[--foreground] mt-2"
iconBoxClassName="!bg-[--primary-cta] text-[--primary-cta-text] rounded-full p-4 shadow-xl"
iconClassName="h-8 w-8"
mediaWrapperClassName="rounded-[--radius] overflow-hidden"
mediaClassName="object-cover h-full w-full"
/> />
</div> </div>
<div id="live-shows" data-section="live-shows"> <div id="live-shows" data-section="live-shows">
<FeatureBorderGlow <FeatureCardTwentyFive
title="Join Our Live Shows" title="Join Our Live Shows"
description="Experience the thrill of live selling with daily product drops and exclusive reseller bundles on Whatnot. Don't miss out on the best deals and the latest beauty trends!" description="Experience the thrill of live selling with daily product drops and exclusive reseller bundles on Whatnot. Don't miss out on the best deals and the latest beauty trends!"
features={[ features={[
{ icon: CalendarCheck, title: "Upcoming Shows", description: "Stay updated with our schedule and never miss a live event for the freshest drops." }, { icon: CalendarCheck, title: "Upcoming Shows", description: "Stay updated with our schedule and never miss a live event for the freshest drops.", mediaItems: [{ imageSrc: "https://img.b2bpic.net/free-photo/hands-holding-various-cosmetics_23-2148496467.jpg?_wi=1", imageAlt: "Upcoming Shows" }, { imageSrc: "https://img.b2bpic.net/free-photo/hands-holding-various-cosmetics_23-2148496467.jpg?_wi=2", imageAlt: "Upcoming Shows" }] },
{ icon: Tv, title: "Watch Us Live", description: "Tune in now to catch our current live broadcast and snag exclusive beauty bundles." }, { icon: Tv, title: "Watch Us Live", description: "Tune in now to catch our current live broadcast and snag exclusive beauty bundles.", mediaItems: [{ imageSrc: "https://img.b2bpic.net/free-photo/hands-holding-various-cosmetics_23-2148496467.jpg?_wi=3", imageAlt: "Watch Us Live" }, { imageSrc: "https://img.b2bpic.net/free-photo/hands-holding-various-cosmetics_23-2148496467.jpg?_wi=4", imageAlt: "Watch Us Live" }] },
{ icon: Timer, title: "Countdown Timer", description: "See exactly when our next exciting live show is about to begin!" }, { icon: Timer, title: "Countdown Timer", description: "See exactly when our next exciting live show is about to begin!", mediaItems: [{ imageSrc: "https://img.b2bpic.net/free-photo/hands-holding-various-cosmetics_23-2148496467.jpg?_wi=5", imageAlt: "Countdown Timer" }, { imageSrc: "https://img.b2bpic.net/free-photo/hands-holding-various-cosmetics_23-2148496467.jpg?_wi=6", imageAlt: "Countdown Timer" }] }
]} ]}
animationType="slide-up" animationType="slide-up"
textboxLayout="default" textboxLayout="default"
@@ -105,8 +87,8 @@ export default function LandingPage() {
className="bg-[--background-accent] text-[--foreground]" className="bg-[--background-accent] text-[--foreground]"
textBoxTitleClassName="text-4xl md:text-5xl lg:text-6xl font-thin tracking-wide" textBoxTitleClassName="text-4xl md:text-5xl lg:text-6xl font-thin tracking-wide"
textBoxDescriptionClassName="text-lg md:text-xl font-light max-w-2xl mx-auto" textBoxDescriptionClassName="text-lg md:text-xl font-light max-w-2xl mx-auto"
cardClassName="rounded-[--radius] p-8 !bg-[--card] border border-[--accent] shadow-lg" cardClassName="rounded-[--radius] !bg-[--card] border border-[--accent] shadow-lg"
iconContainerClassName="!bg-[--primary-cta] !text-[--primary-cta-text] rounded-full p-4 shadow-md" cardIconWrapperClassName="!bg-[--primary-cta] text-[--primary-cta-text] rounded-full p-4 shadow-md"
cardTitleClassName="text-xl md:text-2xl font-semibold mt-4" cardTitleClassName="text-xl md:text-2xl font-semibold mt-4"
cardDescriptionClassName="text-md md:text-lg font-light text-balance" cardDescriptionClassName="text-md md:text-lg font-light text-balance"
/> />
@@ -117,9 +99,9 @@ export default function LandingPage() {
title="Featured Bundles" title="Featured Bundles"
description="Discover our curated selection of reseller beauty bundles, perfect for elevating your inventory. Available exclusively on our live shows!" description="Discover our curated selection of reseller beauty bundles, perfect for elevating your inventory. Available exclusively on our live shows!"
products={[ products={[
{ id: "bundle-1", brand: "Glow Theory", name: "Skincare Essentials Bundle", price: "Live Show Price", rating: 5, reviewCount: "1.2K", imageSrc: "https://img.b2bpic.net/free-photo/online-workshop-demontration-beauty-products_259150-60056.jpg?_wi=1", imageAlt: "Skincare Essentials Bundle" }, { id: "bundle-1", brand: "Glow Theory", name: "Skincare Essentials Bundle", price: "Live Show Price", rating: 5, reviewCount: "1.2K", imageSrc: "https://img.b2bpic.net/free-photo/woman-holding-face-cream_23-2148496464.jpg", imageAlt: "Hand holding face cream" },
{ id: "bundle-2", brand: "Glow Theory", name: "Fragrance Discovery Set", price: "Live Show Price", rating: 5, reviewCount: "890", imageSrc: "https://img.b2bpic.net/free-photo/close-up-variety-cosmetic-products-desk-isolated_574295-5284.jpg", imageAlt: "Fragrance Discovery Set" }, { id: "bundle-2", brand: "Glow Theory", name: "Fragrance Discovery Set", price: "Live Show Price", rating: 5, reviewCount: "890", imageSrc: "https://img.b2bpic.net/free-photo/hand-showing-perfume-bottle_23-2148496465.jpg", imageAlt: "Hand showing perfume bottle" },
{ id: "bundle-3", brand: "Glow Theory", name: "Cosmetic Pro Kit", price: "Live Show Price", rating: 5, reviewCount: "2.5K", imageSrc: "https://img.b2bpic.net/free-photo/foundation-bottles-advertising-arrangement_23-2149511243.jpg?_wi=1", imageAlt: "Cosmetic Pro Kit" }, { id: "bundle-3", brand: "Glow Theory", name: "Cosmetic Pro Kit", price: "Live Show Price", rating: 5, reviewCount: "2.5K", imageSrc: "https://img.b2bpic.net/free-photo/woman-holding-foundation-bottle_23-2148496468.jpg", imageAlt: "Hand holding foundation bottle" }
]} ]}
gridVariant="uniform-all-items-equal" gridVariant="uniform-all-items-equal"
animationType="slide-up" animationType="slide-up"
@@ -138,37 +120,38 @@ export default function LandingPage() {
</div> </div>
<div id="reviews" data-section="reviews"> <div id="reviews" data-section="reviews">
<TestimonialCardFifteen <TestimonialCardTwo
testimonial="Glow Theory has completely transformed my reseller business! The bundles are always top-notch, and the live shows are so much fun and informative. Highly recommend joining the Glow Fam!" testimonials={[
rating={5} {
author="Ariel S., Reseller Queen" id: "1", name: "Ariel S.", role: "Reseller Queen", testimonial: "Glow Theory has completely transformed my reseller business! The bundles are always top-notch, and the live shows are so much fun and informative. Highly recommend joining the Glow Fam!", icon: Quote
avatars={[ },
{ src: "https://img.b2bpic.net/free-photo/portrait-young-female-dentist-dentistry-concept-dental-treatment_169016-67131.jpg", alt: "Customer 1" }, {
{ src: "https://img.b2bpic.net/free-photo/beautiful-young-woman-looking-camera-home_1301-4258.jpg", alt: "Customer 2" }, id: "2", name: "Jessica P.", role: "Beauty Entrepreneur", testimonial: "The quality and variety of products in the Glow Theory bundles are unmatched. It has been a game-changer for my online store!", icon: Quote
{ src: "https://img.b2bpic.net/free-photo/happy-business-woman-white-shirt_23-2148095748.jpg", alt: "Customer 3" }, }
{ src: "https://img.b2bpic.net/free-photo/beautiful-young-woman-looking-camera-home_1301-4258.jpg", alt: "Customer 4" },
{ src: "https://img.b2bpic.net/free-photo/beautiful-young-woman-looking-camera-home_1301-4258.jpg", alt: "Customer 5" },
{ src: "https://img.b2bpic.net/free-photo/beautiful-young-woman-looking-camera-home_1301-4258.jpg", alt: "Customer 6" },
]} ]}
ratingAnimation="slide-up" title="What Our Customers Say"
avatarsAnimation="slide-up" description="Hear from our happy resellers about their experience with Glow Theory."
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={false} useInvertedBackground={false}
className="bg-[--background-accent] text-[--foreground]" className="bg-[--background-accent] text-[--foreground]"
testimonialClassName="text-3xl md:text-4xl lg:text-5xl font-light text-center leading-tight mb-8 max-w-4xl mx-auto" cardClassName="rounded-[--radius] !bg-[--card] border border-[--accent] shadow-lg p-8"
starClassName="text-[--primary-cta]" imageWrapperClassName="!bg-[--primary-cta] text-[--primary-cta-text] rounded-full p-4"
avatarGroupClassName="mt-8" testimonialClassName="text-xl md:text-2xl font-light text-center leading-relaxed mb-4"
avatarClassName="ring-2 ring-[--card]" nameClassName="text-lg font-semibold"
containerClassName="max-w-7xl mx-auto py-16 md:py-24" roleClassName="text-md text-[--foreground] opacity-80"
textBoxTitleClassName="text-4xl md:text-5xl lg:text-6xl font-thin tracking-wide"
textBoxDescriptionClassName="text-lg md:text-xl font-light max-w-2xl mx-auto"
/> />
</div> </div>
<div id="contact-subscribe" data-section="contact-subscribe"> <div id="contact-subscribe" data-section="contact-subscribe">
<FeatureBorderGlow <FeatureCardTwentyFive
title="Get Notified Before We Go Live!" title="Get Notified Before We Go Live!"
description="Never miss a live show again! Join our Glow Fam community for exclusive alerts on upcoming bundles and daily drops." description="Never miss a live show again! Join our Glow Fam community for exclusive alerts on upcoming bundles and daily drops."
features={[ features={[
{ icon: Mail, title: "Email Signup", description: "Receive email alerts directly to your inbox for new shows and products." }, { icon: Mail, title: "Email Signup", description: "Receive email alerts directly to your inbox for new shows and products.", mediaItems: [{ imageSrc: "https://img.b2bpic.net/free-photo/hands-holding-various-cosmetics_23-2148496467.jpg?_wi=7", imageAlt: "Email Signup" }, { imageSrc: "https://img.b2bpic.net/free-photo/hands-holding-various-cosmetics_23-2148496467.jpg?_wi=8", imageAlt: "Email Signup" }] },
{ icon: MessageSquare, title: "SMS Signup", description: "Get instant text notifications when we go live with exciting new bundles." }, { icon: MessageSquare, title: "SMS Signup", description: "Get instant text notifications when we go live with exciting new bundles.", mediaItems: [{ imageSrc: "https://img.b2bpic.net/free-photo/hands-holding-various-cosmetics_23-2148496467.jpg?_wi=9", imageAlt: "SMS Signup" }, { imageSrc: "https://img.b2bpic.net/free-photo/hands-holding-various-cosmetics_23-2148496467.jpg?_wi=10", imageAlt: "SMS Signup" }] }
]} ]}
animationType="slide-up" animationType="slide-up"
textboxLayout="default" textboxLayout="default"
@@ -176,8 +159,8 @@ export default function LandingPage() {
className="bg-[--background] text-[--foreground]" className="bg-[--background] text-[--foreground]"
textBoxTitleClassName="text-4xl md:text-5xl lg:text-6xl font-thin tracking-wide" textBoxTitleClassName="text-4xl md:text-5xl lg:text-6xl font-thin tracking-wide"
textBoxDescriptionClassName="text-lg md:text-xl font-light max-w-2xl mx-auto" textBoxDescriptionClassName="text-lg md:text-xl font-light max-w-2xl mx-auto"
cardClassName="rounded-[--radius] p-8 !bg-[--card] border border-[--accent] shadow-lg" cardClassName="rounded-[--radius] !bg-[--card] border border-[--accent] shadow-lg"
iconContainerClassName="!bg-[--primary-cta] !text-[--primary-cta-text] rounded-full p-4 shadow-md" cardIconWrapperClassName="!bg-[--primary-cta] text-[--primary-cta-text] rounded-full p-4 shadow-md"
cardTitleClassName="text-xl md:text-2xl font-semibold mt-4" cardTitleClassName="text-xl md:text-2xl font-semibold mt-4"
cardDescriptionClassName="text-md md:text-lg font-light text-balance" cardDescriptionClassName="text-md md:text-lg font-light text-balance"
buttons={[{ text: "Join The Glow Fam", href: "#contact-support" }]} buttons={[{ text: "Join The Glow Fam", href: "#contact-support" }]}
@@ -186,41 +169,45 @@ export default function LandingPage() {
</div> </div>
<div id="contact-support" data-section="contact-support"> <div id="contact-support" data-section="contact-support">
<ContactSplitForm <ContactCenter
tag="Support"
title="Customer Support" title="Customer Support"
description="Need help with your order, bundles, or live show purchases? Our support team is here to assist you.\n\nCall Us: 786-919-1243\nLocation: Miami, Florida" description="Need help with your order, bundles, or live show purchases? Join our Glow Fam community or contact us directly. Call Us: 786-919-1243. Location: Miami, Florida."
inputs={[ background={{ variant: "plain" }}
{ name: "fullName", type: "text", placeholder: "Full Name", required: true }, inputPlaceholder="Enter your email"
{ name: "emailAddress", type: "email", placeholder: "Email Address", required: true }, buttonText="Sign Up for Alerts"
{ name: "orderNumber", type: "text", placeholder: "Order Number (Optional)", required: false }, termsText="By signing up, you agree to receive promotional emails and SMS from Glow Theory. You can unsubscribe at any time."
]} onSubmit={(email) => console.log(`Subscribed with: ${email}`)}
textarea={{ name: "message", placeholder: "Type your message...", rows: 5, required: true }}
buttonText="Contact Support"
imageSrc="https://img.b2bpic.net/free-photo/medium-shot-pretty-woman-indoors_23-2148879269.jpg"
imageAlt="Beauty customer support representative"
mediaAnimation="opacity"
mediaPosition="right"
useInvertedBackground={false} useInvertedBackground={false}
className="bg-[--background-accent] text-[--foreground]" className="bg-[--background-accent] text-[--foreground]"
formCardClassName="!bg-[--card] rounded-[--radius] shadow-lg p-8 md:p-12" contentClassName="!bg-[--card] rounded-[--radius] shadow-lg p-8 md:p-12 max-w-2xl mx-auto"
tagClassName="text-[--primary-cta] font-semibold"
titleClassName="text-4xl md:text-5xl lg:text-6xl font-thin tracking-wide" titleClassName="text-4xl md:text-5xl lg:text-6xl font-thin tracking-wide"
descriptionClassName="text-md md:text-lg font-light mt-4 mb-8 leading-relaxed" descriptionClassName="text-md md:text-lg font-light mt-4 mb-8 leading-relaxed"
buttonClassName="min-w-[12rem] px-8 py-3 rounded-full shadow-lg !bg-[--primary-cta] !text-[--primary-cta-text] hover:!bg-[--primary-cta] hover:scale-105 transition-transform duration-300" buttonClassName="min-w-[12rem] px-8 py-3 rounded-full shadow-lg !bg-[--primary-cta] !text-[--primary-cta-text] hover:!bg-[--primary-cta] hover:scale-105 transition-transform duration-300"
buttonTextClassName="font-semibold" buttonTextClassName="font-semibold"
mediaWrapperClassName="rounded-[--radius] overflow-hidden" inputClassName="px-4 py-2 rounded-md border border-[--accent] focus:outline-none focus:ring-2 focus:ring-[--primary-cta] !bg-[--background]"
mediaClassName="object-cover h-full w-full" termsClassName="text-sm mt-4 opacity-75"
contentClassName="grid-cols-1 md:grid-cols-2 gap-8 md:gap-12"
/> />
</div> </div>
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterLogoReveal <FooterBaseReveal
logoText="Glow Theory" columns={[
leftLink={{ text: "Customer Support", href: "#contact-support" }} {
rightLink={{ text: "Privacy Policy", href: "/privacy" }} title: "Support", items: [{ label: "Customer Support", href: "/#contact-support" }]
},
{
title: "Company", items: [{ label: "Privacy Policy", href: "/privacy" }]
},
{
title: "Resources", items: [{ label: "Home", href: "/" }]
}
]}
copyrightText={`© ${new Date().getFullYear()} Glow Theory`}
className="bg-[--background] text-[--foreground] py-6 px-4" className="bg-[--background] text-[--foreground] py-6 px-4"
linkClassName="text-[--foreground] hover:text-[--primary-cta] transition-colors duration-200" columnTitleClassName="font-bold text-lg mb-2"
logoClassName="text-2xl font-bold tracking-tight" columnItemClassName="text-md"
/> />
</div> </div>
</ThemeProvider> </ThemeProvider>

View File

@@ -3,28 +3,30 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay'; import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import LegalSection from '@/components/legal/LegalSection'; import LegalSection from '@/components/legal/LegalSection';
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal'; import FooterBaseReveal from '@/components/sections/footer/FooterBaseReveal'; // Updated import
export default function PrivacyPage() { export default function PrivacyPage() {
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="elastic-effect" defaultButtonVariant="hover-magnetic"
defaultTextAnimation="entrance-slide" defaultTextAnimation="entrance-slide"
borderRadius="rounded" borderRadius="rounded"
contentWidth="mediumLarge" contentWidth="medium"
sizing="largeSmall" sizing="medium"
background="noise" background="none"
cardStyle="gradient-mesh" cardStyle="solid"
primaryButtonStyle="primary-glow" primaryButtonStyle="gradient"
secondaryButtonStyle="radial-glow" secondaryButtonStyle="glass"
headingFontWeight="medium" headingFontWeight="bold"
> >
<div id="nav" data-section="nav"> <div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay <NavbarLayoutFloatingOverlay
brandName="Glow Theory" brandName="Glow Theory"
navItems={[ navItems={[
{ name: "Home", id: "/" }, { name: "Home", id: "/" },
{ name: "Shop", id: "/shop" }, { name: "Live Shows", id: "/#live-shows" },
{ name: "Support", id: "/#contact-support" },
{ name: "Privacy", id: "/privacy" }
]} ]}
button={{ text: "Join Live", href: "/#live-shows" }} button={{ text: "Join Live", href: "/#live-shows" }}
className="py-4 px-6 md:px-8" className="py-4 px-6 md:px-8"
@@ -42,18 +44,21 @@ export default function PrivacyPage() {
{ {
heading: "1. Introduction", content: [ heading: "1. Introduction", content: [
{ {
type: "paragraph", text: "Welcome to Glow Theory. We are committed to protecting your personal information and your right to privacy. If you have any questions or concerns about our policy, or our practices with regards to your personal information, please contact us at support@glowtheory.com."}, type: "paragraph", text: "Welcome to Glow Theory. We are committed to protecting your personal information and your right to privacy. If you have any questions or concerns about our policy, or our practices with regards to your personal information, please contact us at support@glowtheory.com."
], }
]
}, },
{ {
heading: "2. Information We Collect", content: [ heading: "2. Information We Collect", content: [
{ {
type: "paragraph", text: "We collect personal information that you voluntarily provide to us when you express an interest in obtaining information about us or our products and services, when you participate in activities on the website or otherwise when you contact us."}, type: "paragraph", text: "We collect personal information that you voluntarily provide to us when you express an interest in obtaining information about us or our products and services, when you participate in activities on the website or otherwise when you contact us."
},
{ {
type: "list", items: [ type: "list", items: [
"Personal Information: We may collect names, phone numbers, email addresses, mailing addresses, job titles, contact preferences, contact or authentication data, billing addresses, and other similar information.", "Payment Data: We may collect data necessary to process your payment if you make purchases, such as your payment instrument number (such as a credit card number), and the security code associated with your payment instrument."], "Personal Information: We may collect names, phone numbers, email addresses, mailing addresses, job titles, contact preferences, contact or authentication data, billing addresses, and other similar information.", "Payment Data: We may collect data necessary to process your payment if you make purchases, such as your payment instrument number (such as a credit card number), and the security code associated with your payment instrument."
}, ]
], }
]
}, },
{ {
heading: "3. How We Use Your Information", content: [ heading: "3. How We Use Your Information", content: [
@@ -67,13 +72,22 @@ export default function PrivacyPage() {
</div> </div>
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterLogoReveal <FooterBaseReveal
logoText="Glow Theory" columns={[
leftLink={{ text: "Customer Support", href: "/#contact-support" }} {
rightLink={{ text: "Home", href: "/" }} title: "Support", items: [{ label: "Customer Support", href: "/#contact-support" }]
},
{
title: "Company", items: [{ label: "Privacy Policy", href: "/privacy" }]
},
{
title: "Resources", items: [{ label: "Home", href: "/" }]
}
]}
copyrightText={`© ${new Date().getFullYear()} Glow Theory`}
className="bg-[--background] text-[--foreground] py-6 px-4" className="bg-[--background] text-[--foreground] py-6 px-4"
linkClassName="text-[--foreground] hover:text-[--primary-cta] transition-colors duration-200" columnTitleClassName="font-bold text-lg mb-2"
logoClassName="text-2xl font-bold tracking-tight" columnItemClassName="text-md"
/> />
</div> </div>
</ThemeProvider> </ThemeProvider>

View File

@@ -4,12 +4,12 @@ import { Suspense, use, useCallback } from "react";
import { useRouter } from "next/navigation"; import { useRouter } from "next/navigation";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay'; import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
import ProductDetailCard from "@/components/ecommerce/productDetail/ProductDetailCard"; import ProductDetailCard from "@/components/ecommerce/productDetail/ProductDetailCard";
import ProductCart from "@/components/ecommerce/cart/ProductCart"; import ProductCart from "@/components/ecommerce/cart/ProductCart";
import { useProductDetail } from "@/hooks/useProductDetail"; import { useProductDetail } from "@/hooks/useProductDetail";
import { useCart } from "@/hooks/useCart"; import { useCart } from "@/hooks/useCart";
import { useCheckout } from "@/hooks/useCheckout"; import { useCheckout } from "@/hooks/useCheckout";
import FooterBaseReveal from '@/components/sections/footer/FooterBaseReveal'; // Updated import
interface ProductPageProps { interface ProductPageProps {
params: Promise<{ id: string }>; params: Promise<{ id: string }>;
@@ -76,21 +76,26 @@ function ProductPageContent({ params }: ProductPageProps) {
if (isLoading) { if (isLoading) {
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="elastic-effect" defaultButtonVariant="hover-magnetic"
defaultTextAnimation="entrance-slide" defaultTextAnimation="entrance-slide"
borderRadius="rounded" borderRadius="rounded"
contentWidth="mediumLarge" contentWidth="medium"
sizing="largeSmall" sizing="medium"
background="noise" background="none"
cardStyle="gradient-mesh" cardStyle="solid"
primaryButtonStyle="primary-glow" primaryButtonStyle="gradient"
secondaryButtonStyle="radial-glow" secondaryButtonStyle="glass"
headingFontWeight="medium" headingFontWeight="bold"
> >
<div id="navbar" data-section="navbar"> <div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay <NavbarLayoutFloatingOverlay
brandName="Glow Theory" brandName="Glow Theory"
navItems={[{ name: "Home", id: "/" }, { name: "Shop", id: "/shop" }]} navItems={[
{ name: "Home", id: "/" },
{ name: "Live Shows", id: "/#live-shows" },
{ name: "Support", id: "/#contact-support" },
{ name: "Privacy", id: "/privacy" }
]}
button={{ text: "Cart", onClick: () => setCartOpen(true) }} button={{ text: "Cart", onClick: () => setCartOpen(true) }}
className="py-4 px-6 md:px-8" className="py-4 px-6 md:px-8"
buttonClassName="shadow-md !bg-[--primary-cta] !text-[--primary-cta-text]" buttonClassName="shadow-md !bg-[--primary-cta] !text-[--primary-cta-text]"
@@ -103,13 +108,22 @@ function ProductPageContent({ params }: ProductPageProps) {
</main> </main>
</div> </div>
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterLogoReveal <FooterBaseReveal
logoText="Glow Theory" columns={[
leftLink={{ text: "Customer Support", href: "/#contact-support" }} {
rightLink={{ text: "Privacy Policy", href: "/privacy" }} title: "Support", items: [{ label: "Customer Support", href: "/#contact-support" }]
},
{
title: "Company", items: [{ label: "Privacy Policy", href: "/privacy" }]
},
{
title: "Resources", items: [{ label: "Home", href: "/" }]
}
]}
copyrightText={`© ${new Date().getFullYear()} Glow Theory`}
className="bg-[--background] text-[--foreground] py-6 px-4" className="bg-[--background] text-[--foreground] py-6 px-4"
linkClassName="text-[--foreground] hover:text-[--primary-cta] transition-colors duration-200" columnTitleClassName="font-bold text-lg mb-2"
logoClassName="text-2xl font-bold tracking-tight" columnItemClassName="text-md"
/> />
</div> </div>
</ThemeProvider> </ThemeProvider>
@@ -119,21 +133,26 @@ function ProductPageContent({ params }: ProductPageProps) {
if (!product) { if (!product) {
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="elastic-effect" defaultButtonVariant="hover-magnetic"
defaultTextAnimation="entrance-slide" defaultTextAnimation="entrance-slide"
borderRadius="rounded" borderRadius="rounded"
contentWidth="mediumLarge" contentWidth="medium"
sizing="largeSmall" sizing="medium"
background="noise" background="none"
cardStyle="gradient-mesh" cardStyle="solid"
primaryButtonStyle="primary-glow" primaryButtonStyle="gradient"
secondaryButtonStyle="radial-glow" secondaryButtonStyle="glass"
headingFontWeight="medium" headingFontWeight="bold"
> >
<div id="navbar" data-section="navbar"> <div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay <NavbarLayoutFloatingOverlay
brandName="Glow Theory" brandName="Glow Theory"
navItems={[{ name: "Home", id: "/" }, { name: "Shop", id: "/shop" }]} navItems={[
{ name: "Home", id: "/" },
{ name: "Live Shows", id: "/#live-shows" },
{ name: "Support", id: "/#contact-support" },
{ name: "Privacy", id: "/privacy" }
]}
button={{ text: "Cart", onClick: () => setCartOpen(true) }} button={{ text: "Cart", onClick: () => setCartOpen(true) }}
className="py-4 px-6 md:px-8" className="py-4 px-6 md:px-8"
buttonClassName="shadow-md !bg-[--primary-cta] !text-[--primary-cta-text]" buttonClassName="shadow-md !bg-[--primary-cta] !text-[--primary-cta-text]"
@@ -154,13 +173,22 @@ function ProductPageContent({ params }: ProductPageProps) {
</main> </main>
</div> </div>
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterLogoReveal <FooterBaseReveal
logoText="Glow Theory" columns={[
leftLink={{ text: "Customer Support", href: "/#contact-support" }} {
rightLink={{ text: "Privacy Policy", href: "/privacy" }} title: "Support", items: [{ label: "Customer Support", href: "/#contact-support" }]
},
{
title: "Company", items: [{ label: "Privacy Policy", href: "/privacy" }]
},
{
title: "Resources", items: [{ label: "Home", href: "/" }]
}
]}
copyrightText={`© ${new Date().getFullYear()} Glow Theory`}
className="bg-[--background] text-[--foreground] py-6 px-4" className="bg-[--background] text-[--foreground] py-6 px-4"
linkClassName="text-[--foreground] hover:text-[--primary-cta] transition-colors duration-200" columnTitleClassName="font-bold text-lg mb-2"
logoClassName="text-2xl font-bold tracking-tight" columnItemClassName="text-md"
/> />
</div> </div>
</ThemeProvider> </ThemeProvider>
@@ -169,21 +197,26 @@ function ProductPageContent({ params }: ProductPageProps) {
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="elastic-effect" defaultButtonVariant="hover-magnetic"
defaultTextAnimation="entrance-slide" defaultTextAnimation="entrance-slide"
borderRadius="rounded" borderRadius="rounded"
contentWidth="mediumLarge" contentWidth="medium"
sizing="largeSmall" sizing="medium"
background="noise" background="none"
cardStyle="gradient-mesh" cardStyle="solid"
primaryButtonStyle="primary-glow" primaryButtonStyle="gradient"
secondaryButtonStyle="radial-glow" secondaryButtonStyle="glass"
headingFontWeight="medium" headingFontWeight="bold"
> >
<div id="navbar" data-section="navbar"> <div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay <NavbarLayoutFloatingOverlay
brandName="Glow Theory" brandName="Glow Theory"
navItems={[{ name: "Home", id: "/" }, { name: "Shop", id: "/shop" }]} navItems={[
{ name: "Home", id: "/" },
{ name: "Live Shows", id: "/#live-shows" },
{ name: "Support", id: "/#contact-support" },
{ name: "Privacy", id: "/privacy" }
]}
button={{ text: "Cart", onClick: () => setCartOpen(true) }} button={{ text: "Cart", onClick: () => setCartOpen(true) }}
className="py-4 px-6 md:px-8" className="py-4 px-6 md:px-8"
buttonClassName="shadow-md !bg-[--primary-cta] !text-[--primary-cta-text]" buttonClassName="shadow-md !bg-[--primary-cta] !text-[--primary-cta-text]"
@@ -207,7 +240,7 @@ function ProductPageContent({ params }: ProductPageProps) {
sku={meta.sku} sku={meta.sku}
buttons={[ buttons={[
{ text: "Add To Cart", onClick: handleAddToCart }, { text: "Add To Cart", onClick: handleAddToCart },
{ text: "Buy Now", onClick: handleBuyNow }, { text: "Buy Now", onClick: handleBuyNow }
]} ]}
/> />
</div> </div>
@@ -221,19 +254,28 @@ function ProductPageContent({ params }: ProductPageProps) {
total={`$${cartTotal}`} total={`$${cartTotal}`}
buttons={[ buttons={[
{ {
text: isCheckoutLoading ? "Processing..." : "Check Out", onClick: handleCheckout, text: isCheckoutLoading ? "Processing..." : "Check Out", onClick: handleCheckout,
}, },
]} ]}
/> />
</div> </div>
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterLogoReveal <FooterBaseReveal
logoText="Glow Theory" columns={[
leftLink={{ text: "Customer Support", href: "/#contact-support" }} {
rightLink={{ text: "Privacy Policy", href: "/privacy" }} title: "Support", items: [{ label: "Customer Support", href: "/#contact-support" }]
},
{
title: "Company", items: [{ label: "Privacy Policy", href: "/privacy" }]
},
{
title: "Resources", items: [{ label: "Home", href: "/" }]
}
]}
copyrightText={`© ${new Date().getFullYear()} Glow Theory`}
className="bg-[--background] text-[--foreground] py-6 px-4" className="bg-[--background] text-[--foreground] py-6 px-4"
linkClassName="text-[--foreground] hover:text-[--primary-cta] transition-colors duration-200" columnTitleClassName="font-bold text-lg mb-2"
logoClassName="text-2xl font-bold tracking-tight" columnItemClassName="text-md"
/> />
</div> </div>
</ThemeProvider> </ThemeProvider>

View File

@@ -3,12 +3,12 @@
import { Suspense, useCallback } from "react"; import { Suspense, useCallback } from "react";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay'; import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
import ProductCatalog from "@/components/ecommerce/productCatalog/ProductCatalog"; import ProductCatalog from "@/components/ecommerce/productCatalog/ProductCatalog";
import ProductCart from "@/components/ecommerce/cart/ProductCart"; import ProductCart from "@/components/ecommerce/cart/ProductCart";
import { useProductCatalog } from "@/hooks/useProductCatalog"; import { useProductCatalog } from "@/hooks/useProductCatalog";
import { useCart } from "@/hooks/useCart"; import { useCart } from "@/hooks/useCart";
import { useCheckout } from "@/hooks/useCheckout"; import { useCheckout } from "@/hooks/useCheckout";
import FooterBaseReveal from '@/components/sections/footer/FooterBaseReveal'; // Updated import
function ShopPageContent() { function ShopPageContent() {
const { const {
@@ -46,21 +46,26 @@ function ShopPageContent() {
if (isLoading) { if (isLoading) {
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="elastic-effect" defaultButtonVariant="hover-magnetic"
defaultTextAnimation="entrance-slide" defaultTextAnimation="entrance-slide"
borderRadius="rounded" borderRadius="rounded"
contentWidth="mediumLarge" contentWidth="medium"
sizing="largeSmall" sizing="medium"
background="noise" background="none"
cardStyle="gradient-mesh" cardStyle="solid"
primaryButtonStyle="primary-glow" primaryButtonStyle="gradient"
secondaryButtonStyle="radial-glow" secondaryButtonStyle="glass"
headingFontWeight="medium" headingFontWeight="bold"
> >
<div id="navbar" data-section="navbar"> <div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay <NavbarLayoutFloatingOverlay
brandName="Glow Theory" brandName="Glow Theory"
navItems={[{ name: "Home", id: "/" }, { name: "Shop", id: "/shop" }]} navItems={[
{ name: "Home", id: "/" },
{ name: "Live Shows", id: "/#live-shows" },
{ name: "Support", id: "/#contact-support" },
{ name: "Privacy", id: "/privacy" }
]}
button={{ text: "Cart", onClick: () => setCartOpen(true) }} button={{ text: "Cart", onClick: () => setCartOpen(true) }}
className="py-4 px-6 md:px-8" className="py-4 px-6 md:px-8"
buttonClassName="shadow-md !bg-[--primary-cta] !text-[--primary-cta-text]" buttonClassName="shadow-md !bg-[--primary-cta] !text-[--primary-cta-text]"
@@ -73,13 +78,22 @@ function ShopPageContent() {
</main> </main>
</div> </div>
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterLogoReveal <FooterBaseReveal
logoText="Glow Theory" columns={[
leftLink={{ text: "Customer Support", href: "/#contact-support" }} {
rightLink={{ text: "Privacy Policy", href: "/privacy" }} title: "Support", items: [{ label: "Customer Support", href: "/#contact-support" }]
},
{
title: "Company", items: [{ label: "Privacy Policy", href: "/privacy" }]
},
{
title: "Resources", items: [{ label: "Home", href: "/" }]
}
]}
copyrightText={`© ${new Date().getFullYear()} Glow Theory`}
className="bg-[--background] text-[--foreground] py-6 px-4" className="bg-[--background] text-[--foreground] py-6 px-4"
linkClassName="text-[--foreground] hover:text-[--primary-cta] transition-colors duration-200" columnTitleClassName="font-bold text-lg mb-2"
logoClassName="text-2xl font-bold tracking-tight" columnItemClassName="text-md"
/> />
</div> </div>
</ThemeProvider> </ThemeProvider>
@@ -88,21 +102,26 @@ function ShopPageContent() {
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="elastic-effect" defaultButtonVariant="hover-magnetic"
defaultTextAnimation="entrance-slide" defaultTextAnimation="entrance-slide"
borderRadius="rounded" borderRadius="rounded"
contentWidth="mediumLarge" contentWidth="medium"
sizing="largeSmall" sizing="medium"
background="noise" background="none"
cardStyle="gradient-mesh" cardStyle="solid"
primaryButtonStyle="primary-glow" primaryButtonStyle="gradient"
secondaryButtonStyle="radial-glow" secondaryButtonStyle="glass"
headingFontWeight="medium" headingFontWeight="bold"
> >
<div id="navbar" data-section="navbar"> <div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay <NavbarLayoutFloatingOverlay
brandName="Glow Theory" brandName="Glow Theory"
navItems={[{ name: "Home", id: "/" }, { name: "Shop", id: "/shop" }]} navItems={[
{ name: "Home", id: "/" },
{ name: "Live Shows", id: "/#live-shows" },
{ name: "Support", id: "/#contact-support" },
{ name: "Privacy", id: "/privacy" }
]}
button={{ text: "Cart", onClick: () => setCartOpen(true) }} button={{ text: "Cart", onClick: () => setCartOpen(true) }}
className="py-4 px-6 md:px-8" className="py-4 px-6 md:px-8"
buttonClassName="shadow-md !bg-[--primary-cta] !text-[--primary-cta-text]" buttonClassName="shadow-md !bg-[--primary-cta] !text-[--primary-cta-text]"
@@ -130,19 +149,28 @@ function ShopPageContent() {
total={`$${cartTotal}`} total={`$${cartTotal}`}
buttons={[ buttons={[
{ {
text: isCheckoutLoading ? "Processing..." : "Check Out", onClick: handleCheckout, text: isCheckoutLoading ? "Processing..." : "Check Out", onClick: handleCheckout,
}, },
]} ]}
/> />
</div> </div>
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterLogoReveal <FooterBaseReveal
logoText="Glow Theory" columns={[
leftLink={{ text: "Customer Support", href: "/#contact-support" }} {
rightLink={{ text: "Privacy Policy", href: "/privacy" }} title: "Support", items: [{ label: "Customer Support", href: "/#contact-support" }]
},
{
title: "Company", items: [{ label: "Privacy Policy", href: "/privacy" }]
},
{
title: "Resources", items: [{ label: "Home", href: "/" }]
}
]}
copyrightText={`© ${new Date().getFullYear()} Glow Theory`}
className="bg-[--background] text-[--foreground] py-6 px-4" className="bg-[--background] text-[--foreground] py-6 px-4"
linkClassName="text-[--foreground] hover:text-[--primary-cta] transition-colors duration-200" columnTitleClassName="font-bold text-lg mb-2"
logoClassName="text-2xl font-bold tracking-tight" columnItemClassName="text-md"
/> />
</div> </div>
</ThemeProvider> </ThemeProvider>

View File

@@ -11,7 +11,7 @@ html {
body { body {
background-color: var(--background); background-color: var(--background);
color: var(--foreground); color: var(--foreground);
font-family: var(--font-plus-jakarta-sans), sans-serif; font-family: var(--font-inter), sans-serif;
position: relative; position: relative;
min-height: 100vh; min-height: 100vh;
overscroll-behavior: none; overscroll-behavior: none;
@@ -24,5 +24,5 @@ h3,
h4, h4,
h5, h5,
h6 { h6 {
font-family: var(--font-plus-jakarta-sans), sans-serif; font-family: var(--font-inter), sans-serif;
} }

View File

@@ -2,23 +2,23 @@
/* Base units */ /* Base units */
/* --vw is set by ThemeProvider */ /* --vw is set by ThemeProvider */
/* --background: #f7f6f7;; /* --background: #f5faff;;
--card: #ffffff;; --card: #f1f8ff;;
--foreground: #1b0c25;; --foreground: #001122;;
--primary-cta: #1b0c25;; --primary-cta: #15479c;;
--secondary-cta: #ffffff;; --secondary-cta: #ffffff;;
--accent: #ff93e4;; --accent: #a8cce8;;
--background-accent: #e8a8c3;; */ --background-accent: #7ba3cf;; */
--background: #f7f6f7;; --background: #f5faff;;
--card: #ffffff;; --card: #f1f8ff;;
--foreground: #1b0c25;; --foreground: #001122;;
--primary-cta: #1b0c25;; --primary-cta: #15479c;;
--primary-cta-text: #f7f6f7;; --primary-cta-text: #f5faff;;
--secondary-cta: #ffffff;; --secondary-cta: #ffffff;;
--secondary-cta-text: #1b0c25;; --secondary-cta-text: #001122;;
--accent: #ff93e4;; --accent: #a8cce8;;
--background-accent: #e8a8c3;; --background-accent: #7ba3cf;;
/* 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);

77
src/app/support/page.tsx Normal file
View File

@@ -0,0 +1,77 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import FeatureBorderGlow from '@/components/sections/feature/featureBorderGlow/FeatureBorderGlow';
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
import { Mail, Phone, Tv } from "lucide-react";
export default function SupportPage() {
return (
<ThemeProvider
defaultButtonVariant="elastic-effect"
defaultTextAnimation="entrance-slide"
borderRadius="rounded"
contentWidth="mediumLarge"
sizing="largeSmall"
background="noise"
cardStyle="gradient-mesh"
primaryButtonStyle="primary-glow"
secondaryButtonStyle="radial-glow"
headingFontWeight="medium"
>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay
brandName="Glow Theory"
navItems={[
{ name: "Home", id: "/" },
{ name: "About", id: "/#about" },
{ name: "Live Shows", id: "/#live-shows" },
{ name: "Bundles", id: "/#bundles" },
{ name: "Reviews", id: "/#reviews" },
{ name: "Support", id: "/support" },
{ name: "Shop", id: "/shop" },
{ name: "Blog", id: "/blog" }
]}
button={{ text: "Join Live", href: "/#live-shows" }}
className="py-4 px-6 md:px-8"
buttonClassName="shadow-md !bg-[--primary-cta] !text-[--primary-cta-text]"
buttonTextClassName="font-medium"
/>
</div>
<div id="support" data-section="support">
<FeatureBorderGlow
title="How Can We Help You?"
description="Choose from our support options to get the assistance you need, fast."
features={[
{ icon: Tv, title: "Live Show Support", description: "Get real-time help during our Whatnot live shows for immediate assistance. Visit our page: https://www.whatnot.com/user/glowtheory" },
{ icon: Phone, title: "Order Inquiries", description: "Contact us for questions about your recent purchases, shipping, and returns. Call us at: 786-919-1243." },
{ icon: Mail, title: "General Assistance", description: "For all other questions or general inquiries, our team is ready to help via email." }
]}
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={false}
className="bg-[--background-accent] text-[--foreground]"
textBoxTitleClassName="text-4xl md:text-5xl lg:text-6xl font-thin tracking-wide"
textBoxDescriptionClassName="text-lg md:text-xl font-light max-w-2xl mx-auto"
cardClassName="rounded-[--radius] p-8 !bg-[--card] border border-[--accent] shadow-lg"
iconContainerClassName="!bg-[--primary-cta] !text-[--primary-cta-text] rounded-full p-4 shadow-md"
cardTitleClassName="text-xl md:text-2xl font-semibold mt-4"
cardDescriptionClassName="text-md md:text-lg font-light text-balance"
/>
</div>
<div id="footer" data-section="footer">
<FooterLogoReveal
logoText="Glow Theory"
leftLink={{ text: "Customer Support", href: "/support" }}
rightLink={{ text: "Privacy Policy", href: "/privacy" }}
className="bg-[--background] text-[--foreground] py-6 px-4"
linkClassName="text-[--foreground] hover:text-[--primary-cta] transition-colors duration-200"
logoClassName="text-2xl font-bold tracking-tight"
/>
</div>
</ThemeProvider>
);
}