* commercejs: Initial commit with basic product list
* ui: Handle no variants on product
* commercejs: Support individual product pages
* commercejs: Use separate sdkFetch function
* commercejs: Show option hex colors based on option name
* commercejs: Support product search and filter
* commercejs: Enable carts feature
* commercejs: Remove unused API endpoints
* commercejs: Fix adding variants to cart
* commercejs: Fix types for update cart hook
* commercejs: Update README
* commercejs: Add sorting to product search
* commercejs: Add generic types to cart actions
* commercejs: Better cart normalization
* commercejs: Provide typing for sdkFetch function
* commercejs: Refactor product search logic
* commercejs: Update commercejs types package and export types from local directory
* commercejs: Remove unused checkout hooks
* commercejs: Enhance fetcher to allow custom API routes
* commercejs: Fix product types
* commercejs: Add checkout functionality
* commercejs: Add commercejs to README list of providers
* commercejs: Add login/logout auth hooks
* commercejs: Adds comment to sdkFetch function
* commercejs: Bring back empty useSignup hook to fix build
* commercejs: Refactor useCheckout hook logic
* commercejs: Add errors to fetcher function if using invalid resource/method
* commercejs: Remove use of hex colors for color variants
* ui: Fix undefined error when no variants
* commercejs: Handle add to cart when no variants
* commercejs: Enable customer auth feature
* commercejs: Rename public key env variable as commercejs
* commercejs: Remove duplicate customer fields
* commercejs: Use variants API to generate product variants
* commercejs: Fetch all products using sort order
* commercejs: Fix use of normalizeProduct function
* commercejs: Disable customer auth
* commercejs: Show selected variant details in cart view
* commercejs: Update to latest commercejs types
* commercejs: Fix login email
* commercejs: Remove unnecessary ts-ignore
* api: Allow parameter to be passed to login API
* api: Allow login handler to accept GET requests
* commercejs: Add login API for login callback email link
* commercejs: Remove unused argument to API
* commercejs: Add hook to fetch logged in customer
* commercejs: Rename token to match SDK name
* commercejs: Enable logout
* commercejs: Fix VERCEL_URL env variable
* commercejs: Fix using vercel deployment url
* commercejs: Add deployment url env vars to templates
* Replace yarn with npm
* commercejs: Allow checkout submit even without card/address details
* ui: Add loading and cart refresh to checkout
* commercejs: Leave link to issue on TODO comment
* Update docs/README/env.template for commercejs provider
* ui: Prevent toggle loading after component unmount
* commercejs: Handle product without images
* ui: Explicity set loading to false after checkout
* Revert "api: Allow parameter to be passed to login API"
This reverts commit c3713ec6e23f1b423a071a31221069995d419486.
* commercejs: Handle login using API redirect
* commercejs: Adds shipping and billing details to checkout data
* commercejs: Fix types for fetcher and submit checkout
* commercejs: Update README with demo url
* commercejs: Update checkout hooks to use checkout context
* commercejs: Update checkout logic to use customer fields
* ui: Clear checkout fields context after checkout
* commercejs: Remove unused clear checkout function
* commercejs: Import constants directly
* Include @spree/storefront-api-v2-sdk
* Add basic Spree framework structure
* Add Spree as allowed Framework
* Fetch product images, standardize API fetch using Spree SDK
* Include slug and path in products
* Fetch single product during build time
* PLP with searching by category
* Fetch Spree Categories and Brands
* Sort PLP
* Search products by name
* Fix option values collection
* Fix hasNonMasterVariants
* Sort Categories and Brands
* Add configuration to show product options when there's one variant available
* Enable text search for the Spree Framework
* Allow removing line items
* Allow updating line item quantity
* Add __typename to variant options to allow adding the selected variant to the cart
* Use fetch and Request from node-fetch in Spree SDK
* Update Spree SDK fetcher
* Show placeholder message for /chechout and adjust api fetcher type
* Use kebab case instead of camel case
* Remove outdated comments
* Remove outdated comment
* Resolve isColorProductOption duplication
* Type Spree variants and line items and temporarily remove height, width and depth
* Remove outdated comment
* Update comments about cart discounts
* Remove 'spree' prefix from isomorphicConfig and add lastUpdatedProductsPrerenderCount
* Implement getAllProductPaths to prerender some products during build time
* Adjust fetchers to the latest Spree SDK interface
* Add types to Spree taxons mapping
* Revert port change in package.json scripts
* Add basic README describing Spree installation
* Expand README's installation section
* Upgrade Spree SDK to 4.7.0 and add node-fetch to dependencies
* Order providers alphanumerically
Co-authored-by: Damian Legawiec <damian@sparksolutions.co>
* Sort products by available_on when using the Trending sorting in useSearch
* Change the default Spree port to 4000 and update README in sync with Spree Starter changes
* Save primary variant's SKU when normalizing a product from Spree
* Create a new cart if Spree can't find the current using a token
* Add separator to README
* Add missing Error subclass
* Allow placeholder images for products and line items without images
* Add image
* Reset tsconfig.json paths to originla values
* Search taxonomies by permalinks instead of IDs
* Upgrade Spree SDK to version 4.7.1
* Remove references to @framework and use relative paths instead
* Generalize TypeScript and add typings to getPage
* Update fetcher to avoid parsing non-JSON responses
* Use original product image by default instead of resized
* Link to an online demo of the Spree integration in the README
* Flatten fetcher responses
* Include Spree in the list of supported ecommerce backends in README
* Update README.md
* Format Spree's README
* Add link to the Spree demo site in the main README
* Update README.md
* Update README.md
* Allow setting a taxon id for getAllProducts
* Use Spree SDK's JSON:API helpers
* Sort getAllProducts by -updated_at when using a taxonomy
* Remove slash '/' from line item's paths
* Allow filtering variant images by option type
* Upgrade checkout behavior in line with core NextJS Commerce changes
* Remove dummy submitCheckout function
* [NX-24] Display PDP option types sorted by position from Spree
* Supply Spree primary variant if a product has no option variants
* Do not throw an error if a product doesn't have NEXT_PUBLIC_SPREE_IMAGES_OPTION_FILTER
* [NX-43] Uses image transformations when fetching products images
* Use bind to properly call Spree SDK methods and update SDK fetcher in line with SDK 4.12.0
* Fix ESLint issues in useHook
* Support account sign up, login and logout
Also
- Converts the guest cart to a persisted cart tied to the logged in user after log in.
- Fixes issues with use-remove-item. The cart will now properly refresh after an item is removed.
- Uses the logged in user's token to adjust the cart and make other authenticated requests.
- Transparently refreshed the access token of the logged in user with a refresh token. Replays requests to Spree which fail with a 401 error after refreshing the access token.
* Fetch logged in user's cart after login or signup but associate guest cart only after signup
* Support Spree default wishlist show, add and remove wished items operations
* Fetch Spree CMS Pages
* Fix login, handle critical token errors and fix WishlistCard
Fix to WishlistCard changes its props to be consistent with WishlistButton when calling useRemoveItem
* Fix variable name (#574)
Variable name should be `ChevronRight`
* Update get-cart.ts (#474)
include digital items
Co-authored-by: Gonzalo Pozzo <gonzalo.pozzo4@gmail.com>
* Update normalize.ts (#475)
add missing options property to `normalizeLineItem`
Co-authored-by: Gonzalo Pozzo <gonzalo.pozzo4@gmail.com>
* Update add-item.ts (#473)
* Update add-item.ts
include digital items
* Update add-item.ts
include digital items
Co-authored-by: Gonzalo Pozzo <gonzalo.pozzo4@gmail.com>
* fix typo (#572)
Co-authored-by: Gonzalo Pozzo <gonzalo.pozzo4@gmail.com>
* Fix authentication.refreshToken arguments
* Remove redundant comments and logs
* Fix createEmptyCart request to Spree and add option to disable auto login
* Fix formatting issues
* Apply image transformation when fetching images for products in cart
* Replace call to qs with Spree SDK built-in helper
* Upgrade Spree SDK to 5.0.1
* Rename zeitFetch import to vercelFetch
* Abstract fetcher JSON Content-Type checking into separate function
* Rename imageUrl to url
getMediaGallery already provides context for the constant
* Remove return type for getProductPath
The return type can be trivially determined from the returned value.
* Change URL to Spree demo store in root README
Co-authored-by: Gonzalo Pozzo <gonzalo.pozzo4@gmail.com>
* Change label for link to Spree demo store in Spree's README
Co-authored-by: Gonzalo Pozzo <gonzalo.pozzo4@gmail.com>
* Change URL to Spree demo store in Spree's README
Co-authored-by: Gonzalo Pozzo <gonzalo.pozzo4@gmail.com>
* Use only relative paths to /framework/spree from itself
Co-authored-by: tniezg <tomek.niezgoda@mail.com>
Co-authored-by: Damian Legawiec <damian@sparksolutions.co>
Co-authored-by: Robert Nowakowski <aplegatt@gmail.com>
Co-authored-by: Grey <57859708+greyhere@users.noreply.github.com>
Co-authored-by: pfcodes <phil@auroradigit.al>
Co-authored-by: Gonzalo Pozzo <gonzalo.pozzo4@gmail.com>
Co-authored-by: Konrad Kruk <github@konradk.pl>
* Custom Checkout Progress
* Updates to Checkout
* Custom Checkout Progress
* Adding tabs
* Adding Collapse
* Adding Collapse
* Improving Sidebar Scroll
* Modif footer
* Changes
* More design updates
* sidebar cart
* More design updates
* More design updates
* More design updates
* More design updates
* Types
* Types
* Design Updates
* More changes
* More changes
* More changes
* Changes
* Changes
* Changes
* New tailwind required changes
* Sidebar Styling issues with Mobile
* Latest changes - Normalizing cart
* Styling Fixes
* New changes
* Changes
* latest
* Refactor and Renaming some UI Props
* Adding Quantity Component
* Adding Rating Component
* Rating Component
* More updates
* User Select disabled, plus hidding horizontal scroll bars
* Changes
* Adding ProductOptions Component and more helpers
* Styling updates
* Styling updates
* Fix for slim tags
* Missmatch with RightArrow
* Footer updates and some styles
* Latest Updates
* Latest Updates
* Latest Updates
* Removing Portal, since it's not needed. We might add it later I'd rather not to.
* Removing Portal, since it's not needed. We might add it later I'd rather not to.
* Sam backdrop filter
* General UI Improvements
* General UI Improvements
* Search now with Geist Colors
* Now with Geist Colors
* Changes
* Scroll for Mobile on IOs devises
* LoadingDots Working (:
* Changes
* More Changes
* Perf changes
* More perf changes
* Fade to the Nametags in the ProductCard
* changes
* Search issue ui
* Search issue ui
* Make sure to only refresh navbar and modals when required
* Index revalidate
* Fixed image issue
* hide album scroll on windows
* Fix scrollbar
* Changing
* Adding 404 with Layout
* Removing Toast
* Adding Assets
* Adding Assets
* Progress with LocalProvider
* New productTag
* Only images for the drop
* changes
* Empty SWRhooks
* Adding Local Provider
* Working local
* Working view of a LocalProvider
* More updates
* Changes
* Removed react-ticker
* default to local if no env available
* default to local if no env available
* add missing `@` to css import
* rewrite search rewrites to multiple pages
* allow requests in getStaticProps to execute in parallel
* make type import explicit
* add a tsconfig.js file
* use local provider in tsconfig.js
* avoid a circular dependency
* Saleor was not in the providers list
* avoid circular dependency in bigcommerce
* Adding more to the Local Provider (#366)
* Adding more data
* Adding more data
* optimize assets (#370)
* Optimize assets (#372)
* optimize assets
* remove assets
* remove assets
* cart enabled
* Adding saleor
* Changes with Webpack
* Changes
Co-authored-by: Luis Alvarez <luis@vercel.com>
Co-authored-by: Tobias Koppers <tobias.koppers@googlemail.com>
Co-authored-by: Shu Ding <g@shud.in>
* Initial work, copied from the Shopify provider
* Added basis setup and type generation for the products queries
* refactor: adjust the types
* task: relax the Node.js constraint
* fix: page/product properties
* disable unknown fields
* mention Saleor in the README
* setup debugging for Next.js
* Check nextjs-commerce bug if no images are added for a product
* fix: client/server pecularities for env visibility
Must prefix with `NEXT_PUBLIC_` so that the API URL is
visible on the client
* re: make search work with Saleor API (WIP)
* task: update deps
* task: move to Webpack 5.x
* saleor: initial cart integration
* update deps
* saleor: shall the cart appear!
* task: remove deprecated packages
* saleor: adding/removing from the cart
* saleor: preliminary signup process
* saleor: fix the prices in the cart
* update deps
* update deps
* Added the options for a variant to the product page
* Mapped options to variants
* Mapped options to variants
* saleor: refine the auth process
* saleor: remove unused code
* saleor: handle customer find via refresh
temporary solution
* saleor: update deps
* saleor: fix the session handling
* saleor: fix the variants
* saleor: simplify the naming for GraphQL statements
* saleor: fix the type for collection
* saleor: arrange the error codes
* saleor: integrate collections
* saleor: fix product sorting
* saleor: set cookie location
* saleor: update the schema
* saleor: attach checkout to customer
* saleor: fix the checkout flow
* saleor: unify GraphQL naming approach
* task: update deps
* Add the env variables for saleor to the template
* task: prettier
* saleor: stub API for build/typescript compilation
thanks @cond0r
* task: temporarily disable for the `build`
* saleor: refactor GraphQL queries
* saleor: adjust the config
* task: update dependencies
* revert: Next.js to `10.0.9`
* saleor: fix the checkout fetch query
* task: update dependencies
* saleor: adapt for displaying featured products
* saleor: update the provider structure
* saleor: make the home page representable
* feature/cart: display the variant name (cond)
Co-authored-by: Patryk Zawadzki <patrys@room-303.com>
Co-authored-by: royderks <10717410+royderks@users.noreply.github.com>
* Updating the docs for framework/commerce
* Added more docs
* Updated cart hooks docs
* Updated docs for wishlist and Node.js
* Added a note
* Updated table of contents
* Adding new provider docs
* Updated core docs, main repo docs, and new provider docs
* Updated bigcommerce docs
* Updated shopify docs
* Moved configs
* Delete with-config.js
* Added log for configs
* Update TS config based on the selected provider
* set tsconfig to bigcommerce
* Updated readme instructions on provider config
* Added new commerce variable
* Change the default of updateTSConfig
Co-authored-by: B <curciobelen@gmail.com>
* changes
* Progress
* Normalized Products output
* Progress
* Restored Index Agnostic
* Progress
* Reordering
* Moved normalizer to BC function
* Removed Futures
* More Types
* More Types
* More Types
* Fix useCallback
* Progress, Changes types, readme and restoring functionality
* Changes
* TS Issues
* Changes
* Normalizer
* Normalizing more operations
* Normalizing more operations
* changes
* Merge Issues
* Cleanup
* change
* changes
* index.ts broke my tree shaking
* slug
* Normalized Options and Swatches
* Restored Add to cart
* Correct Variant Added to Cart
* Normalizing Cart Responses
* Changes
* changes breaking
* Adding immutable normalizer for Product
* Cart Normalized
* changes
* Progress
* More updates
* Removed some comments
* Add loading state for data hooks
* Bug fix
* Changed the way isEmpty works
* Improve navbar performance
* Added useResponse hook
* added useResponse to useWhishlist
* Added husky and lint-staged
* Ran prettier fix
* Added more cart types
* Moved types.d.ts to the commerce folder
* Minor changes
* Moved normalizer to happen after fetch
* updated useCart types
* Updated normalizer for useData
* Added new normalizer for the cart to the UI
* More corrections for useCart
* Updated cart update hooks
* Removed import
* Progress
* Switch away from global types
* Making multiple changes
* Improved types for operations
* Moved and updated cart types
* Updated the useAddItem and useRemoveItem hooks
* Minor life improvement
* Minor change
* 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
* userAvatar
* 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
* MOving stuff around and adding temporal new files
* changes
* Replace use-cart with the new hook
* Removed old hook
* Improved HookHandler type
* Moved types
* Simplified useData types
* Updated Fetcher type
* Moved SwrOptions type
* Removed duplicated fetcher
* Moved provider to its own file
* Added proper type for fetch input
* 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
* Updated how the hook input is handled
* Add more options to the hook handler
* Final touches to the hook handler type
* Moved useWishlist to use new handler
* Move useCustomer to the new hook
* Added a default fetcher
* query all products for vendors & paths, improve search
* Update use-search.tsx
* fix cart after upstream changes
* Shopify Provider (#186)
* Start of Shopify provider
* add missing comment to documentation
* add missing env vars to documentation
* update reference to types file
* Moved useSearch to the new hook
* Removed old use-data lib
* Removed generics for result and body
* Removed normalizr
* Wishlist
* New changes and initial Features API
* Fixed some types
* Fixed more types
* fixes after upstream changes
* Fixed product types
* Fixed another product type
* Updated type
* Fixed remaining issues with types
* Added a MutationHandler
* Moved the handlers to each hook
* Moved the fetcher to its own file
* Moved handler to each hook
* Added initial version of useAddItem
* Added better mutation types, and moved some hooks
* Removed use-cart-actions
* Added initial version of useAddItem
* Updated types
* Update use-add-item.tsx
* changes
* Changes
* Reordering and changes
* Adding Features APO
* Adding wishlist api
* Implementing FeaturesAPI with Wishlist
* Removing bug with touchstart
* Adding tyni typing
* moved use-remove-item
* Removed MutationHandler type
* Moved more hooks and updated types to make them smaller
* Moved data hooks to new format
* Removed no longer required types
* Removed useResponse helper
* Updated useData type
* Moved wishlist use-add-item
* Moved wishlist use-remove-item to provider
* Moved use-login and use-logout
* Update use-signup
* Removed use-action helper
* Moved auth & cart hooks + several fixes
* Updated cart item, fixed deprecations
* Update next.config.js
* Updates to wishlist feature
* Moved the features to be environment variable only
* More changes for wishlist config
* Disable wishlist
* Removed useWishlistActions
* Updated readme
* updates
* typos
* Updated the way the provider config is set
* Removed features.ts
* Removed bootstrap.js
* Aligned with upstream changes
* Updates
* shopify: changes
* shopify: changes
* Update next.config.js
* 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
* Updated the commerce config structure
* Removed @framework imports within framework providers
* Fixed types
* changes
* Adding extra config
* Adding shopify commit
* Adding env templates to the providers
* Ignore some types
* Adding link for Cart
* Adding customCheckout
* multiple changes to fix the wishlist
* Shopify Provier Updates (#212)
* changes
* Adding shopify commit
* Changed to query page by id
* Fixed page query, Changed use-search GraphQl query
* Update use-search.tsx
* remove unused util
* Changed cookie expiration
* Update tsconfig.json
Co-authored-by: okbel <curciobel@gmail.com>
* Bump and adding dependency
* Adding color checks
* Now colors work with lighter colors
* Stable commerce.config.json
* Updated main readme
* Readme changes
* Default to bigcommerce
Co-authored-by: bc <bc@bcs-MacBook-Pro.fibertel.com.ar>
Co-authored-by: Luis Alvarez <luis@vercel.com>
Co-authored-by: cond0r <pinte_catalin@yahoo.com>
Co-authored-by: Peter Mekhaeil <4616064+petermekhaeil@users.noreply.github.com>