'use client'; import { Dialog, Transition } from '@headlessui/react'; import { ShoppingCartIcon } from '@heroicons/react/24/outline'; import LoadingDots from 'components/loading-dots'; import Price from 'components/price'; import { useSession } from 'next-auth/react'; import { Fragment, useEffect, useState } from 'react'; import { useFormStatus } from 'react-dom'; import { useCart } from './cart-context'; import CartItemView from './cart-item'; import CloseCart from './close-cart'; import OpenCart from './open-cart'; export default function CartModal() { const { cart, setNewCart } = useCart(); const [isOpen, setIsOpen] = useState(false); const [userIsLoggedIn, setUserIsLoggedIn] = useState(false); const openCart = () => setIsOpen(true); const closeCart = () => setIsOpen(false); const { data } = useSession(); useEffect(() => { if (data?.user.token) { const fetchCart = async () => { const cart = await (await fetch('/api/cart')).json(); setNewCart(cart); }; fetchCart(); } }, [data]); return ( <> ); } function CheckoutButton() { const { pending } = useFormStatus(); return ( ); }