diff --git a/src/app/shop/[id]/page.tsx b/src/app/shop/[id]/page.tsx index 23bc474..e08f869 100644 --- a/src/app/shop/[id]/page.tsx +++ b/src/app/shop/[id]/page.tsx @@ -1,180 +1,39 @@ "use client"; -import { Suspense, use, useCallback } from "react"; -import { useRouter } from "next/navigation"; -import ReactLenis from "lenis/react"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import NavbarStyleApple from "@/components/navbar/NavbarStyleApple/NavbarStyleApple"; -import ProductDetailCard from "@/components/ecommerce/productDetail/ProductDetailCard"; -import ProductCart from "@/components/ecommerce/cart/ProductCart"; -import { useProductDetail } from "@/hooks/useProductDetail"; -import { useCart } from "@/hooks/useCart"; -import { useCheckout } from "@/hooks/useCheckout"; interface ProductPageProps { - params: Promise<{ id: string }>; + params: { id: string }; } export default function ProductPage({ params }: ProductPageProps) { - return ( - - - - ); -} - -function ProductPageContent({ params }: ProductPageProps) { - const { id } = use(params); - const router = useRouter(); - - const { - product, - isLoading, - images, - meta, - variants, - quantityVariant, - selectedQuantity, - createCartItem, - } = useProductDetail(id); - - const { - items: cartItems, - isOpen: cartOpen, - setIsOpen: setCartOpen, - addItem, - updateQuantity, - removeItem, - total: cartTotal, - getCheckoutItems, - } = useCart(); - - const { buyNow, checkout, isLoading: isCheckoutLoading } = useCheckout(); - - const handleAddToCart = useCallback(() => { - const item = createCartItem(); - if (item) { - addItem(item); - } - }, [createCartItem, addItem]); - - const handleBuyNow = useCallback(() => { - if (product) { - buyNow(product, selectedQuantity); - } - }, [product, selectedQuantity, buyNow]); - - const handleCheckout = useCallback(async () => { - if (cartItems.length === 0) return; - - const currentUrl = new URL(window.location.href); - currentUrl.searchParams.set("success", "true"); - - await checkout(getCheckoutItems(), { successUrl: currentUrl.toString() }); - }, [cartItems, checkout, getCheckoutItems]); - const themeProviderProps = { - defaultButtonVariant: "expand-hover" as const, - defaultTextAnimation: "background-highlight" as const, - borderRadius: "pill", - contentWidth: "compact", - sizing: "largeSmallSizeLargeTitles", - background: "circleGradient", - cardStyle: "gradient-radial", - primaryButtonStyle: "double-inset", - secondaryButtonStyle: "layered", - headingFontWeight: "light" + defaultButtonVariant: "expand-hover", defaultTextAnimation: "background-highlight", borderRadius: "pill", contentWidth: "compact", sizing: "largeSmallSizeLargeTitles", background: "circleGradient", cardStyle: "gradient-radial", primaryButtonStyle: "double-inset", secondaryButtonStyle: "layered", headingFontWeight: "light" }; const navbarProps = { brandName: "No song", navItems: [ { name: "Home", id: "/" }, - { name: "Shop", id: "/shop" } - ], - button: { text: "Cart", onClick: () => setCartOpen(true) } + { name: "Products", id: "/#products-section" }, + { name: "About", id: "/#about-section" }, + { name: "Contact", id: "/#contact-section" }, + ] }; - if (isLoading) { - return ( - - - -
-

Loading product...

-
-
-
- ); - } - - if (!product) { - return ( - - - -
-
-

Product not found

- -
-
-
-
- ); - } - return ( - -