Squashed commit of the following:

commit 408d6eb7583470eb84fd0e85895f97dad864b981
Author: Alex <alex.hawley@vercel.com>
Date:   Wed Sep 4 21:28:45 2024 -0500

    added content

commit af62089872de543c8f741c3092f431a8b790feec
Author: Alex <alex.hawley@vercel.com>
Date:   Wed Sep 4 20:43:02 2024 -0500

    fixed product recommendations

commit 5c921be7b1eab4ea3b4acc922d2bde842bb0c5c8
Author: Alex <alex.hawley@vercel.com>
Date:   Wed Sep 4 20:33:28 2024 -0500

    fixed cart total

commit 63e150e822ab0b4f7690221ee5d1eafaaf5f930a
Author: Alex <alex.hawley@vercel.com>
Date:   Wed Sep 4 20:14:47 2024 -0500

    fixed update cart

commit 85bd6bee403e19c7b3f66c0d6e938a8432cee62b
Author: Alex <alex.hawley@vercel.com>
Date:   Wed Sep 4 19:00:42 2024 -0500

    remove unnecessary cookie usage from sfcc calls

commit 2401bed81143508993fdd403d9d5a419ac8904e5
Author: Alex <alex.hawley@vercel.com>
Date:   Wed Sep 4 18:55:39 2024 -0500

    fixed issue with broken getCart

commit f8cc8c3c3c1c64d7cf4b69a60ed87497ad626e65
Author: Alex <alex.hawley@vercel.com>
Date:   Wed Sep 4 18:23:03 2024 -0500

    updated lib/sfcc for guest tokens

commit bd6129e3ca15125c87c8186e9ff27d835fb2f683
Author: Alex <alex.hawley@vercel.com>
Date:   Wed Sep 4 15:19:40 2024 -0500

    added now required channel_id

commit eeb805fd11219d8512c1cadefe047019d63d4b60
Author: Alex <alex.hawley@vercel.com>
Date:   Tue Sep 3 17:43:27 2024 -0500

    split out scapi

commit e4f3bb1c827137245367152c1ff0401db76e7082
Author: Alex <alex.hawley@vercel.com>
Date:   Tue Sep 3 16:55:11 2024 -0500

    carried over sfcc work

commit 2616869f56f330f44ad3dfff9ad488eaaf1dbe51
Author: Alex <alex.hawley@vercel.com>
Date:   Thu Aug 22 15:03:30 2024 -0400

    initial sfcc work
This commit is contained in:
Alex
2024-09-04 21:47:12 -05:00
parent 694c5c17ba
commit 83856a4941
53 changed files with 2236 additions and 1147 deletions

View File

@@ -1,7 +1,7 @@
'use server';
import { TAGS } from 'lib/constants';
import { addToCart, createCart, getCart, removeFromCart, updateCart } from 'lib/shopify';
import { addToCart, createCart, getCart, removeFromCart, updateCart } from 'lib/sfcc';
import { revalidateTag } from 'next/cache';
import { cookies } from 'next/headers';
import { redirect } from 'next/navigation';
@@ -114,5 +114,8 @@ export async function redirectToCheckout() {
export async function createCartAndSetCookie() {
let cart = await createCart();
cookies().set('cartId', cart.id!);
// set the cartId to the same duration as the guest
cookies().set('cartId', cart.id!, {
maxAge: 60 * 30
});
}

View File

@@ -4,7 +4,7 @@ import { PlusIcon } from '@heroicons/react/24/outline';
import clsx from 'clsx';
import { addItem } from 'components/cart/actions';
import { useProduct } from 'components/product/product-context';
import { Product, ProductVariant } from 'lib/shopify/types';
import { Product, ProductVariant } from 'lib/sfcc/types';
import { useFormState } from 'react-dom';
import { useCart } from './cart-context';
@@ -27,7 +27,6 @@ function SubmitButton({
);
}
console.log(selectedVariantId);
if (!selectedVariantId) {
return (
<button

View File

@@ -1,6 +1,6 @@
'use client';
import type { Cart, CartItem, Product, ProductVariant } from 'lib/shopify/types';
import { Cart, CartItem, Product, ProductVariant } from 'lib/sfcc/types';
import React, { createContext, use, useContext, useMemo, useOptimistic } from 'react';
type UpdateType = 'plus' | 'minus' | 'delete';

View File

@@ -2,7 +2,7 @@
import { XMarkIcon } from '@heroicons/react/24/outline';
import { removeItem } from 'components/cart/actions';
import type { CartItem } from 'lib/shopify/types';
import { CartItem } from 'lib/sfcc/types';
import { useFormState } from 'react-dom';
export function DeleteItemButton({

View File

@@ -3,7 +3,7 @@
import { MinusIcon, PlusIcon } from '@heroicons/react/24/outline';
import clsx from 'clsx';
import { updateItemQuantity } from 'components/cart/actions';
import type { CartItem } from 'lib/shopify/types';
import { CartItem } from 'lib/sfcc/types';
import { useFormState } from 'react-dom';
function SubmitButton({ type }: { type: 'plus' | 'minus' }) {