4
0
forked from crowetic/commerce

560 Commits

Author SHA1 Message Date
Michael Novotny
585b3bbff8
Replaces Route Handlers with Server Actions (#1050) 2023-06-17 11:18:00 -07:00
Logan
7eb8816854
Fixed misaligned navbar links (#1048) 2023-06-16 13:50:10 -05:00
Michael Novotny
87c385fcd6
Converts to Opengraph Image file convention. (#1043) 2023-06-07 20:57:31 -05:00
Lee Robinson
fecc60eb36
Update dependencies and fix TS errors. (#1041) 2023-06-06 20:36:44 -05:00
Michael Novotny
f5dade74fb
Fixes search page bugs. (#1019) 2023-05-12 16:02:51 -07:00
Michael Novotny
a0c0d10fae
Changes mobile menu animation to be consistent with cart animation. (#1015) 2023-05-11 12:53:04 -07:00
Tobias Lins
9ea5671579
Don't fail when collections are not found (#996)
* Don't fail when collections are not found

* fix another error
2023-04-26 09:26:52 -05:00
Michael Novotny
af21b29b73
Disables Add to Cart while mutating (#987) 2023-04-25 09:38:47 -05:00
Michael Novotny
8ff670d7d6
Fixes quirks with featured and related products. (#978) 2023-04-21 12:19:08 -04:00
Michael Novotny
7de3ae5583
Removes unnecessary async on ProductGridItems (#977) 2023-04-20 13:54:04 -05:00
Stephanie Dietz
acb4ff400b
Updates recommended products to use ProductGridItems component (#975) 2023-04-20 11:27:18 -05:00
Stephanie Dietz
a677c17f78
Update canary version to fix scroll to top. (#976) 2023-04-20 10:40:29 -05:00
Michael Novotny
67a192eba8
Adds documentation on how to configure Next.js Commerce and Shopify (#974) 2023-04-20 06:46:35 -04:00
Michael Novotny
e9a26c2935
Fixes cart item button layout shift (#971) 2023-04-18 12:08:18 -05:00
Lee Robinson
fd9450aecb
Next.js Commerce refresh. (#966)
We're making some updates to Next.js Commerce. Everything prior to this commit marks what we're calling [`v1`](https://github.com/vercel/commerce/releases/tag/v1) as a point in time to be able to reference and still use going into the future. The current architecture of Commerce is a multi-vendor, interoperable solution, including:

- [Shopify](https://shopify.vercel.store/)
- [Swell](https://swell.vercel.store/)
- [BigCommerce](https://bigcommerce.vercel.store/)
- [Vendure](https://vendure.vercel.store/)
- [Saleor](https://saleor.vercel.store/)
- [Ordercloud](https://ordercloud.vercel.store/)
- [Spree](https://spree.vercel.store/)
- [Kibo Commerce](https://kibocommerce.vercel.store/)
- [Commerce.js](https://commercejs.vercel.store/)
- [SalesForce Cloud Commerce](https://salesforce-cloud-commerce.vercel.store/)

All features can be toggled on or off, and it's easy to change between commerce providers. To support this, we needed to create a ["commerce metaframework"](d1d9e8c434/packages/commerce/new-provider.md) where providers could confirm to an API spec to add support for Next.js Commerce. While this worked and was successful for `v1`, we have different design goals and ambitions for `v2`.

**What You Need To Know**

- `v1` will not be updated moving forward. If you need to reference `v1`, you will still be able to clone and deploy the version tagged at this release.
- `v2` will be shifting to be a single provider vs. provider agnostic. Other providers are welcome to fork this repository and swap out the underlying `lib/` implementation that connects to the selected commerce provider (Shopify). This architecture was chosen to reduce the surface area of the codebase, remove the intermediate metaframework layer for provider-interoperability, and enable usage with the latest Next.js and React features.
- We will be sharing more about `v2` in the future as we continue to iterate before the marked release.
2023-04-17 22:00:47 -05:00
Luis Alvarez D
0afe686fe9
Monorepo with Turborepo (#651)
* Moved everything

* Figuring out how to make imports work

* Updated exports

* Added missing exports

* Added @vercel/commerce-local to `site`

* Updated commerce config

* Updated exports and commerce config

* Updated commerce hoc

* Fixed exports in local

* Added publish config

* Updated imports in site

* It's actually working

* Don't use debugger in dev for better speeds

* Improved DX when editing packages

* Set up eslint with husky

* Updated prettier config

* Added prettier setup to every package

* Moved bigcommerce

* Moved Bigcommerce to src and package updates

* Updated setup of bigcommerce

* Moved definitions script

* Moved commercejs

* Move to src

* Fixed types in commercejs

* Moved kibocommerce

* Moved kibocommerce to src

* Added package/tsconfig to kibocommerce

* Fixed imports and other things

* Moved ordercloud

* Moved ordercloud to src

* Fixed imports

* Added missing prettier files

* Moved Saleor

* Moved Saleor to src

* Fixed imports

* Replaced all imports to @commerce

* Added prettierignore/rc to all providers

* Moved shopify to src

* Build shopify in packages

* Moved Spree

* Moved spree to src

* Updated spree

* Moved swell

* Moved swell to src

* Fixed type imports in swell

* Moved Vendure to packages

* Moved vendure to src

* Fixed imports in vendure

* Added codegen to saleor

* Updated codegen setup for shopify

* Added codegen to vendure

* Added codegen to kibocommerce

* Added all packages to site's deps

* Updated codegen setup in bigcommerce

* Minor fixes

* Updated providers' names in site

* Updated packages based on Bel's changes

* Updated turbo to latest

* Fixed ts complains

* Set npm engine in root

* New lockfile install

* remove engines

* Regen lockfile

* Switched from npm to yarn

* Updated typesVersions in all packages

* Moved dep

* Updated SWR to the just released 1.2.0

* Removed "isolatedModules" from packages

* Updated list of providers and default

* Updated swell declaration

* Removed next import from kibocommerce

* Added COMMERCE_PROVIDER log

* Added another log

* Updated turbo config

* Updated docs

* Removed test logs

Co-authored-by: Jared Palmer <jared@jaredpalmer.com>
2022-02-01 14:14:05 -05:00
Alessandro Casazza
de24bd041c
fix: Render item in wishlist properly if ID is a string (#647) 2022-01-16 10:58:26 -03:00
B
f3cdbe682b
Bump (#642)
* Packages Bump

* Code Updated

* More API Changes

* Working updates

* Updated Tailwind Config

* SWR API updates

* More changes

* Commercejs Types

* Commercejs Types

* Commercejs Types
2022-01-13 15:30:14 +01:00
Michael
4b2df2242c
Fixes issue with next/dynamic when running next version > 12.0.3 (#618)
Co-authored-by: mdupree <mdupree@acromedia.com>
2021-12-22 13:19:27 -03:00
Lars Salling
98af5f4615
Remove unnecessary check in the Sidebar component (#606)
* refactor: remove unneccessary code

* refactor: remove excessive function call in modal

Co-authored-by: Gonzalo Pozzo <gonzalo.pozzo4@gmail.com>
2021-12-17 11:55:04 -03:00
Chris Vibert
d8b42acfa2
Commerce.js Provider (#548)
* 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
2021-12-16 16:06:52 -03:00
Maaz
2271864057
Update keen-slider (#592)
Co-authored-by: Gonzalo Pozzo <gonzalo.pozzo4@gmail.com>
2021-12-15 14:24:06 -03:00
Gonzalo Pozzo
ea1bbcf1bb
Fix cart item image error (#600) 2021-12-09 16:41:29 +01:00
Gonzalo Pozzo
d65b2efe9a
Custom checkout improvements (#590)
* Add context for storing checkout information

* Remove unused useState
2021-12-06 18:45:54 -03:00
Chris Vibert
950a7637a5
Fix typo and add missing feature to local config (#582)
* Add customCheckout feature flag to local config

* Fix typo
2021-11-29 10:52:43 -03:00
Nine
82cb719ad6
Feature/hamburger menu (#540)
* Setup Mobile Menu Sidebar

* Setup Basic Mobile Menu Items Styling

* Implement full width styling for mobile devices

* Cleanup

Co-authored-by: Nine <at059214@Abdurahmans-MacBook-Pro.local>
2021-11-25 15:09:21 -03:00
Gonzalo Pozzo
73470c9232
Run prettier fix on all files (#581) 2021-11-25 09:17:13 -03:00
Gonzalo Pozzo
96e990268d
Add aria attributes (#580) 2021-11-24 14:29:55 -03:00
Luis Orbaiceta
c8787865b3
Fix dynamically import Modal component (#539)
* fix: dynamically import Modal component

fixes error "document is not defined" if the user decides to display a modal at the beginning (for ads, promotions, etc...)

* fix: remove spread operator

* remove top level modal import

* fix import path for Modal

Co-authored-by: Gonzalo Pozzo <gonzalo.pozzo4@gmail.com>
2021-11-24 11:00:33 -03:00
Tomek Niezgoda
e7fc93f9c7
Make wishlist's useRemoveItem call in WishlistCard consistent with WishlistButton (#578) 2021-11-24 09:15:22 -03:00
Shaokun-X
179c10a53f
Wrap mobile search bar in env condition (#573)
Co-authored-by: Gonzalo Pozzo <gonzalo.pozzo4@gmail.com>
2021-11-23 16:05:41 -03:00
Grey
0cfbe42d86
Fix variable name (#574)
Variable name should be `ChevronRight`
2021-11-18 11:58:30 -03:00
Luis Alvarez D
582e9257d9
Update Next.js to 12 and switch to npm (#562)
* Update Commerce to Next.js 12

* Switch to npm

* Removed yarn

* Updated fetch type

* Fixed issue with BC deployment
2021-11-09 10:12:00 -06:00
Vinicius Zucatti
c440ff06d4
Fix next/link should be used with anchor as children #330 (#482) 2021-09-23 17:32:17 -05:00
Pedro Vinícius
4b58f6365a
Update ProductView.tsx (#433)
When you navigate to other product page, the options selected by default don't change and the options from the last product navigated are used. Adding a key to "ProductSideBar" component, makes it refresh default options and refresh actual product selected options when i navigate for many products.
2021-09-23 14:44:32 -03:00
Leah Wagner
fd10eba10d
Add title to page and add styling for base typography elements for Text component (#383)
* Add title to page and add styling for base typography elements for Text component

* Remove additional title

Co-authored-by: B <curciobelen@gmail.com>
Co-authored-by: Luis Alvarez D <luis@vercel.com>
2021-09-22 20:40:20 -05:00
Gonzalo Pozzo
1720bd698c
Implement custom checkout (#487)
* Implement custom checkout core

* Fix elements on core

* Add files to providers

* Adapt providers

* Update types

* Update shopify file

* Format files
2021-09-22 19:20:58 -05:00
Federico Joel Orlandau
61d075daf1
Improve a11y on the cart and sidebar (#411)
* Improve a11y on the cart

* Fix button style

* Remove extra space

* Move cart item count to the right position

Co-authored-by: Luis Alvarez D <luis@vercel.com>
2021-09-07 14:14:28 -05:00
Luis Alvarez D
0e7e7b7d5f
Add Next.js ESLint (#425)
* Added Next.js eslint

* added eslint to lint-staged

* Added eslint config for prettier

* Fixed eslint issues in multiple files

* Fixed error in linter
2021-08-02 21:54:58 -05:00
Guillermo Angulo
0603b342be
Update SORT object to access from filter button on mobile (#194) 2021-08-02 12:42:14 -05:00
Gandharv
44ce537b57
remove spread operator from <Link> component (#263)
* remove spread operator from <Link> component

* Remove props destructuring

Co-authored-by: Luis Alvarez <luis@vercel.com>
2021-07-29 23:57:02 -05:00
Gandharv
07dbeb4194
fix login button staying disabled (#267)
When an error occurs the login button stays disabled,
2021-07-29 23:47:45 -05:00
B
a314893f62
Bump API Version (#399)
* Bump API Version

* changes
2021-06-29 13:46:29 -03:00
B
cb6d70570d
New Feature Updates, more coverage. (#385)
* Shouldn't be there.

* Removing

* Removing old libraries

* Updating

* Feature Changes and updates

* Update README.md
2021-06-22 17:19:07 -03:00
Tobias Koppers
1a50be125a
build performance improvements (#384)
* performance improvements

* enable incremental typechecking

* upgrade dependencies

* remove unused dependencies
2021-06-22 16:37:44 -03:00
B
78cc378a72
New Release (#371)
* 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>
2021-06-15 20:23:17 -03:00
Jakub Neander
3b2bf654fe
Updated Saleor Provider (#356)
* 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>
2021-06-10 01:46:28 -05:00
Luis Alvarez D
a98c95d447
[WIP] Node.js provider for the API (#252)
* Adding multiple initial files

* Updated the default cart endpoint

* Fixes

* Updated CommerceAPI class for better usage

* Adding more migration changes

* Taking multiple steps into better API types

* Adding more experimental types

* Removed many testing types

* Adding types, fixes and other updates

* Updated commerce types

* Updated types for hooks now using the API

* Updated mutation types

* Simplified cart types for the provider

* Updated cart hooks

* Remove normalizers from the hooks

* Updated cart endpoint

* Removed cart handlers

* bug fixes

* Improve quantity input behavior in cart item

* Removed endpoints folder

* Making progress on api operations

* Moved method

* Moved types

* Changed the way ops are created

* Added customer endpoint

* Login endpoint

* Added logout endpoint

* Add missing logout files

* Added signup endpoint

* Removed customers old endpoints

* Moved endpoints to nested folder

* Removed old customer endpoint builders

* Updated login operation

* Updated login operation

* Added getAllPages operation

* Renamed endpoint operations to handlers

* Changed import

* Renamed operations to handlers in usage

* Moved getAllPages everywhere

* Moved getPage

* Updated getPage usage

* Moved getSiteInfo

* Added def types for product

* Updated type

* moved products catalog endpoint

* removed old catalog endpoint

* Moved wishlist

* Removed commerce.endpoint

* Replaced references to commerce.endpoint

* Updated catalog products

* Moved checkout api

* Added the get customer wishlist operation

* Removed old wishlist stuff

* Added getAllProductPaths operation

* updated reference to operation

* Moved getAllProducts

* Updated getProduct operation

* Removed old getConfig and references

* Removed is-allowed-method from BC

* Updated types for auth hooks

* Updated useCustomer and core types

* Updated useData and util hooks

* Updated useSearch hook

* Updated types for useWishlist

* Added index for types

* Fixes

* Updated urls to the API

* Renamed fetchInput to fetcherInput

* Updated fetch type

* Fixes in search hook

* Updated Shopify Provider Structure (#340)

* Add codegen, update fragments & schemas

* Update checkout-create.ts

* Update checkout-create.ts

* Update README.md

* Update product mutations & queries

* Uptate customer fetch types

* Update schemas

* Start updates

* Moved Page, AllPages & Site Info

* Moved product, all products (paths)

* Add translations, update operations & fixes

* Update api endpoints, types & fixes

* Add api checkout endpoint

* Updates

* Fixes

* Update commerce.config.json

Co-authored-by: B <curciobelen@gmail.com>

* Added category type and normalizer

* updated init script to exclude other providers

* Excluded swell and venture temporarily

* Fix category & color normalization

* Fixed category normalizer in shopify

* Don't use getSlug for category on /search

* Update colors.ts

Co-authored-by: cond0r <pinte_catalin@yahoo.com>
Co-authored-by: B <curciobelen@gmail.com>
2021-06-01 03:18:10 -05:00
cond0r
0792eabd4c
Fix missing images (#264)
Co-authored-by: B <curciobelen@gmail.com>
2021-05-31 21:34:28 -05:00
B
1bc721de83
Improved Categories (#339)
* Improved Categories

* Improved Categories

* Improved Categories

* Improved Categories

* Improved Categories

* Improved Categories
2021-05-31 17:44:08 -05:00