From bc6f65dc9afa29fbb94038b1cfd5cbee2d87719c Mon Sep 17 00:00:00 2001 From: ertopogo Date: Sun, 1 Feb 2026 02:53:13 +0100 Subject: feat: mise à jour storefront + checkout MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- storefront/lib/storefront.js | 132 +++++++++++++++++++++---------------------- 1 file changed, 66 insertions(+), 66 deletions(-) (limited to 'storefront/lib/storefront.js') diff --git a/storefront/lib/storefront.js b/storefront/lib/storefront.js index b6433a9..ccfe1cd 100644 --- a/storefront/lib/storefront.js +++ b/storefront/lib/storefront.js @@ -1,66 +1,66 @@ -export const cartStorageKey = "lsb_cart_id" -export const tokenStorageKey = "lsb_customer_token" - -export const getStoredCartId = () => { - if (typeof window === "undefined") { - return null - } - return window.localStorage.getItem(cartStorageKey) -} - -export const setStoredCartId = (cartId) => { - if (typeof window === "undefined") { - return - } - window.localStorage.setItem(cartStorageKey, cartId) -} - -export const clearStoredCartId = () => { - if (typeof window === "undefined") { - return - } - window.localStorage.removeItem(cartStorageKey) -} - -export const getStoredToken = () => { - if (typeof window === "undefined") { - return null - } - return window.localStorage.getItem(tokenStorageKey) -} - -export const setStoredToken = (token) => { - if (typeof window === "undefined") { - return - } - window.localStorage.setItem(tokenStorageKey, token) -} - -export const clearStoredToken = () => { - if (typeof window === "undefined") { - return - } - window.localStorage.removeItem(tokenStorageKey) -} - -export const ensureCart = async (client) => { - const storedCartId = getStoredCartId() - - if (storedCartId) { - try { - const { cart } = await client.carts.retrieve(storedCartId) - return cart - } catch (error) { - clearStoredCartId() - } - } - - const { regions } = await client.regions.list() - if (!regions?.length) { - throw new Error("Aucune région disponible pour créer un panier.") - } - - const { cart } = await client.carts.create({ region_id: regions[0].id }) - setStoredCartId(cart.id) - return cart -} +export const cartStorageKey = "lsb_cart_id" +export const tokenStorageKey = "lsb_customer_token" + +export const getStoredCartId = () => { + if (typeof window === "undefined") { + return null + } + return window.localStorage.getItem(cartStorageKey) +} + +export const setStoredCartId = (cartId) => { + if (typeof window === "undefined") { + return + } + window.localStorage.setItem(cartStorageKey, cartId) +} + +export const clearStoredCartId = () => { + if (typeof window === "undefined") { + return + } + window.localStorage.removeItem(cartStorageKey) +} + +export const getStoredToken = () => { + if (typeof window === "undefined") { + return null + } + return window.localStorage.getItem(tokenStorageKey) +} + +export const setStoredToken = (token) => { + if (typeof window === "undefined") { + return + } + window.localStorage.setItem(tokenStorageKey, token) +} + +export const clearStoredToken = () => { + if (typeof window === "undefined") { + return + } + window.localStorage.removeItem(tokenStorageKey) +} + +export const ensureCart = async (client) => { + const storedCartId = getStoredCartId() + + if (storedCartId) { + try { + const { cart } = await client.carts.retrieve(storedCartId) + return cart + } catch (error) { + clearStoredCartId() + } + } + + const { regions } = await client.regions.list() + if (!regions?.length) { + throw new Error("Aucune région disponible pour créer un panier.") + } + + const { cart } = await client.carts.create({ region_id: regions[0].id }) + setStoredCartId(cart.id) + return cart +} -- cgit v1.2.3