Merge version_3 into main #5
@@ -10,16 +10,6 @@ import { useBlogPosts } from "@/hooks/useBlogPosts";
|
||||
export default function BlogPage() {
|
||||
const { posts, isLoading } = useBlogPosts();
|
||||
|
||||
const WHATNOT_LINK = "https://www.whatnot.com/live/glowtheory";
|
||||
const navItems = [
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "About", id: "/#about" },
|
||||
{ name: "Live Shows", id: "/#live-shows" },
|
||||
{ name: "Bundles", id: "/#bundles" },
|
||||
{ name: "Reviews", id: "/#reviews" },
|
||||
{ name: "Contact", id: "/#contact-support" }
|
||||
];
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="elastic-effect"
|
||||
@@ -37,12 +27,14 @@ export default function BlogPage() {
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarLayoutFloatingOverlay
|
||||
brandName="Glow Theory"
|
||||
navItems={navItems}
|
||||
button={{ text: "Join Live", href: WHATNOT_LINK }}
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Shop", id: "/shop" },
|
||||
]}
|
||||
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"
|
||||
menuButtonClassName="!text-[--accent]"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -76,4 +68,4 @@ export default function BlogPage() {
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -12,12 +12,12 @@ 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.", 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/minimal-assortment-beauty-products_23-2148961325.jpg", alt: "Glow Theory beauty products with a soft pink glow"},
|
||||
],
|
||||
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"]
|
||||
}
|
||||
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"],
|
||||
},
|
||||
};
|
||||
|
||||
export default function RootLayout({
|
||||
@@ -1404,4 +1404,4 @@ export default function RootLayout({
|
||||
</ServiceWrapper>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -12,15 +12,6 @@ import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
|
||||
import { CalendarCheck, Mail, MessageSquare, Sparkles, Timer, Tv } from "lucide-react";
|
||||
|
||||
export default function LandingPage() {
|
||||
const WHATNOT_LINK = "https://www.whatnot.com/live/glowtheory";
|
||||
const navItems = [
|
||||
{ name: "About", id: "about" },
|
||||
{ name: "Live Shows", id: "live-shows" },
|
||||
{ name: "Bundles", id: "bundles" },
|
||||
{ name: "Reviews", id: "reviews" },
|
||||
{ name: "Contact", id: "contact-support" }
|
||||
];
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="elastic-effect"
|
||||
@@ -37,12 +28,17 @@ export default function LandingPage() {
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarLayoutFloatingOverlay
|
||||
brandName="Glow Theory"
|
||||
navItems={navItems}
|
||||
button={{ text: "Join Live", href: WHATNOT_LINK }}
|
||||
navItems={[
|
||||
{ name: "About", id: "about" },
|
||||
{ name: "Live Shows", id: "live-shows" },
|
||||
{ name: "Bundles", id: "bundles" },
|
||||
{ name: "Reviews", id: "reviews" },
|
||||
{ name: "Support", id: "support" },
|
||||
]}
|
||||
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"
|
||||
menuButtonClassName="!text-[--accent]"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -51,7 +47,7 @@ export default function LandingPage() {
|
||||
title="Glow Theory"
|
||||
description="Elevate Your Glow"
|
||||
background={{ variant: "radial-gradient" }}
|
||||
buttons={[{ text: "Join Our Live Show", href: WHATNOT_LINK }]}
|
||||
buttons={[{ text: "Join Our Live Show", href: "https://www.whatnot.com/s/xeIJ5XNt" }]}
|
||||
mediaItems={[
|
||||
{ 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" },
|
||||
@@ -183,7 +179,7 @@ export default function LandingPage() {
|
||||
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"
|
||||
buttons={[{ text: "Join The Glow Fam", href: "#contact-support" }]}
|
||||
buttons={[{ text: "Join The Glow Fam", href: "#contact-support" }]}
|
||||
buttonAnimation="slide-up"
|
||||
/>
|
||||
</div>
|
||||
@@ -219,7 +215,7 @@ export default function LandingPage() {
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterLogoReveal
|
||||
logoText="Glow Theory"
|
||||
leftLink={{ text: "Customer Support", href: "/#contact-support" }}
|
||||
leftLink={{ text: "Customer Support", href: "#contact-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"
|
||||
@@ -228,4 +224,4 @@ export default function LandingPage() {
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
import { Suspense, use, useCallback } from "react";
|
||||
import { useRouter } from "next/navigation";
|
||||
import ReactLenis from "lenis/react";
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import { ThemeProvider }21
|
||||
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
|
||||
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
|
||||
import ProductDetailCard from "@/components/ecommerce/productDetail/ProductDetailCard";
|
||||
@@ -74,15 +74,6 @@ function ProductPageContent({ params }: ProductPageProps) {
|
||||
await checkout(getCheckoutItems(), { successUrl: currentUrl.toString() });
|
||||
}, [cartItems, checkout, getCheckoutItems]);
|
||||
|
||||
const navItems = [
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "About", id: "/#about" },
|
||||
{ name: "Live Shows", id: "/#live-shows" },
|
||||
{ name: "Bundles", id: "/#bundles" },
|
||||
{ name: "Reviews", id: "/#reviews" },
|
||||
{ name: "Contact", id: "/#contact-support" }
|
||||
];
|
||||
|
||||
if (isLoading) {
|
||||
return (
|
||||
<ThemeProvider
|
||||
@@ -101,12 +92,11 @@ function ProductPageContent({ params }: ProductPageProps) {
|
||||
<div id="navbar" data-section="navbar">
|
||||
<NavbarLayoutFloatingOverlay
|
||||
brandName="Glow Theory"
|
||||
navItems={navItems}
|
||||
navItems={[{ name: "Home", id: "/" }, { name: "Shop", id: "/shop" }]}
|
||||
button={{ text: "Cart", onClick: () => setCartOpen(true) }}
|
||||
className="py-4 px-6 md:px-8"
|
||||
buttonClassName="shadow-md !bg-[--primary-cta] !text-[--primary-cta-text]"
|
||||
buttonTextClassName="font-medium"
|
||||
menuButtonClassName="!text-[--accent]"
|
||||
/>
|
||||
</div>
|
||||
<div id="loading-section" data-section="loading-section">
|
||||
@@ -147,12 +137,11 @@ function ProductPageContent({ params }: ProductPageProps) {
|
||||
<div id="navbar" data-section="navbar">
|
||||
<NavbarLayoutFloatingOverlay
|
||||
brandName="Glow Theory"
|
||||
navItems={navItems}
|
||||
navItems={[{ name: "Home", id: "/" }, { name: "Shop", id: "/shop" }]}
|
||||
button={{ text: "Cart", onClick: () => setCartOpen(true) }}
|
||||
className="py-4 px-6 md:px-8"
|
||||
buttonClassName="shadow-md !bg-[--primary-cta] !text-[--primary-cta-text]"
|
||||
buttonTextClassName="font-medium"
|
||||
menuButtonClassName="!text-[--accent]"
|
||||
/>
|
||||
</div>
|
||||
<div id="not-found-section" data-section="not-found-section">
|
||||
@@ -200,12 +189,11 @@ function ProductPageContent({ params }: ProductPageProps) {
|
||||
<div id="navbar" data-section="navbar">
|
||||
<NavbarLayoutFloatingOverlay
|
||||
brandName="Glow Theory"
|
||||
navItems={navItems}
|
||||
navItems={[{ name: "Home", id: "/" }, { name: "Shop", id: "/shop" }]}
|
||||
button={{ text: "Cart", onClick: () => setCartOpen(true) }}
|
||||
className="py-4 px-6 md:px-8"
|
||||
buttonClassName="shadow-md !bg-[--primary-cta] !text-[--primary-cta-text]"
|
||||
buttonTextClassName="font-medium"
|
||||
menuButtonClassName="!text-[--accent]"
|
||||
/>
|
||||
</div>
|
||||
<div id="product-detail-card" data-section="product-detail-card">
|
||||
@@ -257,4 +245,4 @@ function ProductPageContent({ params }: ProductPageProps) {
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -30,7 +30,10 @@ function ShopPageContent() {
|
||||
getCheckoutItems,
|
||||
} = useCart();
|
||||
|
||||
const { checkout, isLoading: isCheckoutLoading } = useCheckout();
|
||||
const {
|
||||
checkout,
|
||||
isLoading: isCheckoutLoading
|
||||
} = useCheckout();
|
||||
|
||||
const handleCheckout = useCallback(async () => {
|
||||
if (cartItems.length === 0) return;
|
||||
@@ -41,15 +44,6 @@ function ShopPageContent() {
|
||||
await checkout(getCheckoutItems(), { successUrl: currentUrl.toString() });
|
||||
}, [cartItems, checkout, getCheckoutItems]);
|
||||
|
||||
const navItems = [
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "About", id: "/#about" },
|
||||
{ name: "Live Shows", id: "/#live-shows" },
|
||||
{ name: "Bundles", id: "/#bundles" },
|
||||
{ name: "Reviews", id: "/#reviews" },
|
||||
{ name: "Contact", id: "/#contact-support" }
|
||||
];
|
||||
|
||||
if (isLoading) {
|
||||
return (
|
||||
<ThemeProvider
|
||||
@@ -68,12 +62,11 @@ function ShopPageContent() {
|
||||
<div id="navbar" data-section="navbar">
|
||||
<NavbarLayoutFloatingOverlay
|
||||
brandName="Glow Theory"
|
||||
navItems={navItems}
|
||||
navItems={[{ name: "Home", id: "/" }, { name: "Shop", id: "/shop" }]}
|
||||
button={{ text: "Cart", onClick: () => setCartOpen(true) }}
|
||||
className="py-4 px-6 md:px-8"
|
||||
buttonClassName="shadow-md !bg-[--primary-cta] !text-[--primary-cta-text]"
|
||||
buttonTextClassName="font-medium"
|
||||
menuButtonClassName="!text-[--accent]"
|
||||
/>
|
||||
</div>
|
||||
<div id="loading-section" data-section="loading-section">
|
||||
@@ -113,12 +106,11 @@ function ShopPageContent() {
|
||||
<div id="navbar" data-section="navbar">
|
||||
<NavbarLayoutFloatingOverlay
|
||||
brandName="Glow Theory"
|
||||
navItems={navItems}
|
||||
navItems={[{ name: "Home", id: "/" }, { name: "Shop", id: "/shop" }]}
|
||||
button={{ text: "Cart", onClick: () => setCartOpen(true) }}
|
||||
className="py-4 px-6 md:px-8"
|
||||
buttonClassName="shadow-md !bg-[--primary-cta] !text-[--primary-cta-text]"
|
||||
buttonTextClassName="font-medium"
|
||||
menuButtonClassName="!text-[--accent]"
|
||||
/>
|
||||
</div>
|
||||
<div id="product-catalog" data-section="product-catalog">
|
||||
|
||||
Reference in New Issue
Block a user