From 73349246942fd402eb1776b7efa8319bb18bc3df Mon Sep 17 00:00:00 2001 From: cond0r Date: Thu, 25 Feb 2021 23:05:47 +0200 Subject: [PATCH] Shopify Provider Updates (#209) * Implement Shopify Provider * Update README.md * Update README.md * normalizations & missing files * Update index.ts * fixes * Update normalize.ts * fix: cart error on first load * shopify checkout redirect & api handler * Update get-checkout-id.ts * Fix: color option * Update normalize.ts * changes * Update next.config.js * start customer auth & signup * Update config.ts * Login, Sign Up, Log Out, and checkout & customer association * Automatic login after sign-up * Update handle-login.ts * changes * Revert "Merge branch 'agnostic' of https://github.com/vercel/commerce into agnostic" This reverts commit 23c8ed7c2d48d30e74ad94216f9910650fadf30c, reversing changes made to bf50965a39ef0b1b956461ebe62070809fbe1d63. * change readme * Revert "Merge branch 'master' of https://github.com/vercel/commerce into agnostic" This reverts commit bf50965a39ef0b1b956461ebe62070809fbe1d63, reversing changes made to 0dad4ddedbf0bff2d0b5800ca469fda0073889ea. * Revert "Revert "Merge branch 'agnostic' of https://github.com/vercel/commerce into agnostic"" This reverts commit c9a43f1bce0572d0eff41f3af893be8bdb00bedd. * align with upstream changes * query all products for vendors & paths, improve search * Update use-search.tsx * fix cart after upstream changes * fixes after upstream changes * Moved handler to each hook * Added initial version of useAddItem * Updated types * Update use-add-item.tsx * Moved auth & cart hooks + several fixes * Updated cart item, fixed deprecations * Update next.config.js * Aligned with upstream changes * Updates * Update next.config.js --- .../cart/CartSidebarView/CartSidebarView.tsx | 3 +- components/common/Navbar/Navbar.tsx | 3 + framework/shopify/api/checkout/index.ts | 47 +- framework/shopify/api/customer.ts | 1 + framework/shopify/api/index.ts | 27 +- .../shopify/api/utils/create-api-handler.ts | 58 + .../shopify/api/utils/fetch-all-products.ts | 41 + .../shopify/api/utils/fetch-graphql-api.ts | 39 +- framework/shopify/api/utils/fetch.ts | 2 + .../shopify/api/utils/is-allowed-method.ts | 28 + framework/shopify/auth/use-login.tsx | 79 +- framework/shopify/auth/use-logout.tsx | 44 +- framework/shopify/auth/use-signup.tsx | 79 +- framework/shopify/cart/index.ts | 2 - framework/shopify/cart/use-add-item.tsx | 81 +- framework/shopify/cart/use-cart.tsx | 95 +- framework/shopify/cart/use-remove-item.tsx | 84 +- framework/shopify/cart/use-update-item.tsx | 120 +- .../shopify/cart/utils/checkout-create.ts | 25 + .../shopify/cart/utils/checkout-to-cart.ts | 42 + framework/shopify/cart/utils/fetcher.ts | 30 + framework/shopify/cart/utils/index.ts | 2 + framework/shopify/common/get-all-pages.ts | 56 +- framework/shopify/common/get-page.ts | 38 + framework/shopify/common/get-site-info.ts | 43 +- framework/shopify/const.ts | 11 + framework/shopify/customer/get-customer-id.ts | 24 + framework/shopify/customer/index.ts | 1 + framework/shopify/customer/use-customer.tsx | 55 +- framework/shopify/fetcher.ts | 59 +- framework/shopify/index.tsx | 130 +- .../shopify/product/get-all-collections.ts | 29 + .../shopify/product/get-all-product-paths.ts | 51 +- framework/shopify/product/get-all-products.ts | 44 +- framework/shopify/product/get-product.ts | 33 +- framework/shopify/product/use-search.tsx | 76 +- framework/shopify/provider.ts | 17 +- framework/shopify/schema.d.ts | 4985 +++++++++ framework/shopify/schema.graphql | 9631 +++++++++++++++++ framework/shopify/types.ts | 160 +- framework/shopify/utils/customer-token.ts | 12 + framework/shopify/utils/get-categories.ts | 29 + framework/shopify/utils/get-checkout-id.ts | 8 + .../shopify/utils/get-search-variables.ts | 30 + framework/shopify/utils/get-sort-variables.ts | 32 + framework/shopify/utils/get-vendors.ts | 36 + .../shopify/utils/handle-fetch-response.ts | 27 + framework/shopify/utils/handle-login.ts | 39 + framework/shopify/utils/index.ts | 10 + .../associate-customer-with-checkout.ts | 18 + .../utils/mutations/checkout-create.ts | 16 + .../utils/mutations/checkout-line-item-add.ts | 16 + .../mutations/checkout-line-item-remove.ts | 19 + .../mutations/checkout-line-item-update.ts | 16 + .../mutations/customer-access-token-create.ts | 16 + .../mutations/customer-access-token-delete.ts | 14 + .../utils/mutations/customer-create.ts | 15 + framework/shopify/utils/mutations/index.ts | 7 + framework/shopify/utils/normalize.ts | 133 + .../queries/get-all-collections-query.ts | 14 + .../utils/queries/get-all-pages-query.ts | 14 + .../queries/get-all-product-vendors-query.ts | 17 + .../queries/get-all-products-paths-query.ts | 17 + .../utils/queries/get-all-products-query.ts | 54 + .../utils/queries/get-checkout-query.ts | 62 + .../queries/get-collection-products-query.ts | 17 + .../utils/queries/get-customer-id-query.ts | 8 + .../utils/queries/get-customer-query.ts | 16 + .../shopify/utils/queries/get-page-query.ts | 13 + .../utils/queries/get-product-query.ts | 68 + framework/shopify/utils/queries/index.ts | 10 + framework/shopify/wishlist/use-wishlist.tsx | 2 +- next.config.js | 5 +- tsconfig.json | 4 +- 74 files changed, 16565 insertions(+), 624 deletions(-) create mode 100644 framework/shopify/api/customer.ts create mode 100644 framework/shopify/api/utils/create-api-handler.ts create mode 100644 framework/shopify/api/utils/fetch-all-products.ts create mode 100644 framework/shopify/api/utils/fetch.ts create mode 100644 framework/shopify/api/utils/is-allowed-method.ts create mode 100644 framework/shopify/cart/utils/checkout-create.ts create mode 100644 framework/shopify/cart/utils/checkout-to-cart.ts create mode 100644 framework/shopify/cart/utils/fetcher.ts create mode 100644 framework/shopify/cart/utils/index.ts create mode 100644 framework/shopify/common/get-page.ts create mode 100644 framework/shopify/const.ts create mode 100644 framework/shopify/customer/get-customer-id.ts create mode 100644 framework/shopify/customer/index.ts create mode 100644 framework/shopify/product/get-all-collections.ts create mode 100644 framework/shopify/schema.d.ts create mode 100644 framework/shopify/schema.graphql create mode 100644 framework/shopify/utils/customer-token.ts create mode 100644 framework/shopify/utils/get-categories.ts create mode 100644 framework/shopify/utils/get-checkout-id.ts create mode 100644 framework/shopify/utils/get-search-variables.ts create mode 100644 framework/shopify/utils/get-sort-variables.ts create mode 100644 framework/shopify/utils/get-vendors.ts create mode 100644 framework/shopify/utils/handle-fetch-response.ts create mode 100644 framework/shopify/utils/handle-login.ts create mode 100644 framework/shopify/utils/index.ts create mode 100644 framework/shopify/utils/mutations/associate-customer-with-checkout.ts create mode 100644 framework/shopify/utils/mutations/checkout-create.ts create mode 100644 framework/shopify/utils/mutations/checkout-line-item-add.ts create mode 100644 framework/shopify/utils/mutations/checkout-line-item-remove.ts create mode 100644 framework/shopify/utils/mutations/checkout-line-item-update.ts create mode 100644 framework/shopify/utils/mutations/customer-access-token-create.ts create mode 100644 framework/shopify/utils/mutations/customer-access-token-delete.ts create mode 100644 framework/shopify/utils/mutations/customer-create.ts create mode 100644 framework/shopify/utils/mutations/index.ts create mode 100644 framework/shopify/utils/normalize.ts create mode 100644 framework/shopify/utils/queries/get-all-collections-query.ts create mode 100644 framework/shopify/utils/queries/get-all-pages-query.ts create mode 100644 framework/shopify/utils/queries/get-all-product-vendors-query.ts create mode 100644 framework/shopify/utils/queries/get-all-products-paths-query.ts create mode 100644 framework/shopify/utils/queries/get-all-products-query.ts create mode 100644 framework/shopify/utils/queries/get-checkout-query.ts create mode 100644 framework/shopify/utils/queries/get-collection-products-query.ts create mode 100644 framework/shopify/utils/queries/get-customer-id-query.ts create mode 100644 framework/shopify/utils/queries/get-customer-query.ts create mode 100644 framework/shopify/utils/queries/get-page-query.ts create mode 100644 framework/shopify/utils/queries/get-product-query.ts create mode 100644 framework/shopify/utils/queries/index.ts diff --git a/components/cart/CartSidebarView/CartSidebarView.tsx b/components/cart/CartSidebarView/CartSidebarView.tsx index 3ceda44fe..cb932247f 100644 --- a/components/cart/CartSidebarView/CartSidebarView.tsx +++ b/components/cart/CartSidebarView/CartSidebarView.tsx @@ -8,6 +8,7 @@ import useCart from '@framework/cart/use-cart' import usePrice from '@framework/product/use-price' import CartItem from '../CartItem' import s from './CartSidebarView.module.css' +import { LineItem } from '@commerce/types' const CartSidebarView: FC = () => { const { closeSidebar } = useUI() @@ -91,7 +92,7 @@ const CartSidebarView: FC = () => { My Cart