GraphCommerce® is a headless storefront replacement for Magento 2 (PWA), that delivers a faster, better user experience. Fully customizable (React, Next.js) and open-source.
OTHER License
Bot releases are visible (Hide)
Published by github-actions[bot] 8 months ago
646db64
- Solves an issue where the billing address of a logged in customer would not set set when a shipping address was already setPublished by github-actions[bot] 8 months ago
eb14696
- <WaitForQueries/>
will default to loading, restoring the previous behavior. This might introduce , this might introduce an additional spinner but prevents a flash where it is shown that there is no cart2fc62cd
- Do not show the a product thumbnails when there is only a single image.#2205 d67c89d
- Deprecate the allowUrl option for useCartQuery, it was already enabled by default and should never be set to false.
(@paales)
#2205 3fbf3da
- Solve an issue where the user would be presented with the Session expired dialog when the user would be logging in during the checkout process.
(@paales)
d67c89d
- Deprecate the allowUrl option for useCartQuery, it was already enabled by default and should never be set to false.3fbf3da
- Solve an issue where the user would be presented with the Session expired dialog when the user would be logging in during the checkout process.Published by github-actions[bot] 8 months ago
Published by github-actions[bot] 8 months ago
3228ba8
- Images are not spread anymore but instead are contained within the borders of the image container.Published by github-actions[bot] 8 months ago
#2195 207cd41
- Documentation on multistore setup added
(@paales)
#2193 317250a
- Updated docs to reflect featurelist more accurately
(@paales)
Published by github-actions[bot] 8 months ago
Published by github-actions[bot] 8 months ago
Published by github-actions[bot] 8 months ago
Published by github-actions[bot] 8 months ago
770a309
- Fixed a bug concerning customizable options. Customizable options of configurable products are shown again in the cart.#2177 816d789
- Change sorting for customer orders in Descending Created at order
(@LaurensFranken)
#2191 13ffa6b
- When a user was logging in from the checkout react would be caught in an infinite loop and thus the page would hang
(@JoshuaS98)
#2187 09a2cc3
- Do not try to automatically invalidate the current token and fully rely on the Session Expired dialog
(@paales)
#2187 ee969bf
- After signing out the currentCartId was still returning a value causing the cart to be shown after signing out
(@paales)
770a309
- Fixed a bug concerning customizable options. Customizable options of configurable products are shown again in the cart.13ffa6b
- When a user was logging in from the checkout react would be caught in an infinite loop and thus the page would hangPublished by github-actions[bot] 8 months ago
13ffa6b
- When a user was logging in from the checkout react would be caught in an infinite loop and thus the page would hang13ffa6b
- When a user was logging in from the checkout react would be caught in an infinite loop and thus the page would hangPublished by github-actions[bot] 9 months ago
770a309
- Fixed a bug concerning customizable options. Customizable options of configurable products are shown again in the cart.770a309
- Fixed a bug concerning customizable options. Customizable options of configurable products are shown again in the cart.Published by github-actions[bot] 9 months ago
816d789
- Change sorting for customer orders in Descending Created at orderPublished by github-actions[bot] 9 months ago
Published by github-actions[bot] 9 months ago
#2187 09a2cc3
- Do not try to automatically invalidate the current token and fully rely on the Session Expired dialog
(@paales)
#2187 ee969bf
- After signing out the currentCartId was still returning a value causing the cart to be shown after signing out
(@paales)
Published by github-actions[bot] 9 months ago
Upgrade docs 📖 · Previous 7.0.0 release notes ↩️ · Previous patch release 7.0.1 ➡️
A big thanks to the contributors who made this release possible! Here are some highlights ✨:
Special thanks to all these contributors: @Jessevdpoel, @FrankHarland, @mikekeehnen, @StefanAngenent, @JoshuaS98, @Giovanni-Schroevers, @bramvanderholst, @hnsr, @carlocarels90, @action-simon, @KMalkowski, @paales and all others who helped out!
Support for all customizable product options (except file upload) on the product pages and in the cart. (@Jessevdpoel)
Wishlist will now support configurable products and uses the <ActionCard/>
on the wishlist page. (@Jessevdpoel)
Changed the layout of the succes page. Uses the <ActionCard/>
to match the design of the cart. (@Jessevdpoel)
Accessibility improvements for the frontend: Added skip content link. Removed empty buttons from tab flow. Gave focus to elements (such as the menu) that appear when after clicking a button. Improved aria labels where needed (@FrankHarland)
Added a new Gallery Thumbnails feature that shows product thumbnails below the product gallery on the product page. (@mikekeehnen)
Added a new 'Session expired' dialog that is shown when a GraphQL query or mutation returns a graphql-authorization
error. This error is returned when the user's session has expired. The dialog allows the user to sign in again and then the query or mutation is re-executed. (@paales)
Added a new enableGuestCheckoutLogin
configuration: During customer login, GraphCommerce queries Magento to determine whether the customer account already exists or not. If not, the sign-up form is shown instead. To restore previous behavior, set enableGuestCheckoutLogin
to true. For Magento versions, 2.4.7, 2.4.6-p1 and up, 2.4.5-p3 and up, 2.4.4-p4 and up, the following setting must be set to Yes: Stores -> Configuration -> Sales -> Checkout -> Checkout Options -> Enable Guest Checkout Login
(@paales)
Added a new <CartCrosssellsScroller />
component to render crosssells in a horizontal scroller in the cart. (@StefanAngenent)
Created a new <RecentlyViewedProducts/>
component and render it on product pages. (@bramvanderholst)
Order details page in the customer account section is completely redesigned to be more in line with other areas. (@StefanAngenent)
Provide instant feedback on availble attribute options when making a selection on a configurable product (@FrankHarland)
Performance: Added new <LazyHydrate/>
component to improve the Total Blocking Time and implemented them in, <RowRenderer/>
, <ProductListItemBase/>
, <Footer/>
and for the <NavigationProvider/>
. Reduced the TBT by 50% on the homepage and other pages. (@Jessevdpoel)
Performance: Change the critical css injection location to be in the head instead of tags in the body. It had a number of negative consequences, such as the famous "flash of unstyled content" (FOUC) and the re-paint and re-layout required.
Hygraph: Add Dynamic Row UI for property UI field through a custom Hygraph application (@JoshuaS98)
Breaking change: Removed the legacyProductRoute
configuration option from GraphCommerce and all /product/* routes. (@paales)
Developers: Added an eslint warning to restrict the import of useMediaQuery because it causes more trouble than it solves (@paales)
Developers: Support for Github Codespaces added: Created ./devcontainer/devcontainer.json to automatically run Graphcommerce (@action-simon)
useFormGql
. This will allow redundant mutations to be canceled. This is enabled when the experimental_useV2
prop on the useFormGql
hook is used. (@mikekeehnen)debug.sessions
config that allows debugging sessions. Enable with GC_DEBUG_SESSIONS=1
in your env or modify your graphcommerce.config.js and a button will show up on the bottom right. (@paales)<WaitForQueries/>
component as it slows down rendering. The 'feature' was necessary for the following use case: When hydrating a component that was server rendered and was living inside a <Suspense />
component. It would cause an hydration error and this was the workaround. With useSuspenseQuery and React 18, this problem will not occur. (@paales)<SidebarGallery />
would start jumping around if a user clicks the next button multiple times in short succession. (@Jessevdpoel)showButtons
prop to <ScrollerButton/>
(@StefanAngenent)googleanalytics
and googletagmanager
packages, allowing it to be installed in any project. (@Jessevdpoel)@connection
, @export
, @defer
and @nonreactive
in schema, so they can be used, in queries (@paales)configurable_product_options_selection
to be stored in the localStorage
so queries do not need to be re-executed when the page loads. (@Jessevdpoel)<CartFab/>
would not always properly reflect if there are items in the customers cart. (@paales)<CartFab/>
wouldn't reflect that there are items in the cart when a customer refreshes the page after adding a product to the cart, without viewing the cart. (@carlocarels90)<UpdateItemQuantity />
component now accepts textInputProps
to be passed to the <TextInputNumber/>
. (@paales)<SelectedCustomizableOptions />
, so items get more spacing and elements accessable via sx prop (@mikekeehnen)<EditAddressForm />
when addition field is null or undefined (@JoshuaS98)<ProductListItem/>
images caused by line-height. Images are now perfectly square as expected. (@bramvanderholst)<ProductListItem/>
would break words in the middle of a word instead of using a normal word break. (@paales)<ColumnTwoWithTop />
component from the <ProductPageDescription maxWidth='lg'/>
component. (@StefanAngenent)<ProductListItemSkeleton />
component and added support to the productListRenderer
. Used for the new Recently Viewed Products feature. (@bramvanderholst)defaultConfigurableOptionsSelection
(@Giovanni-Schroevers)per_page
configuration in account for the search results (@paales)children
to the <Footer/>
component (@Jessevdpoel)<a/>
tag wrapped anymore. (@carlocarels90)<Snackbar/>
component now accepts an icon when severity is set to info (@bramvanderholst)disableBackdropClick
prop to MessageSnackbar to allow page interaction without closing the snackbar (@bramvanderholst)filterNonNullable
method would collapse TypeScript unions because of the Simplify<>
helper, this is now omitted retulting in working unions. (@paales)<DismissibleSnackbar/>
component to allow messages to be shown only once (@bramvanderholst)@graphcommerce/*
dependencies to peerDependencies
and resolve remaining peer dependency issues (@paales)<RowColumnOne/>
to show an important message which, after dismissing, will not show again (@bramvanderholst)framework/config.md
more nicely, so that we follow a more typescript-esque style and inline the enums. (@bramvanderholst)#2112 15a2037
- Make the "Search" string translatable and fix typo. (@carlocarels90)
#2172 279599e
- Updated examples in the documentation to reflect the changes made in GraphCommerce. (@paales)
#2119 6adb2e7
- Clarify texts by adding formatting and correcting spelling. (@carlocarels90)
#2104 d0f1f5a
- Document workaround/patch for broken cart error handling with Magento 2.4.6. (@hnsr)
279599e
- Updated examples in the documentation to reflect the changes made in GraphCommerce. (@paales)#2155 6a34c4a
- Added AddProductsToCartForm context provider to the recently viewed products demo to fix a bug surrounding a form that was null. (@Jessevdpoel)
38ec023
- Make sure the DemoRecentlyViewedProducts doesn't render without any items (@paales)
#2111 35f3d3e
- Only show network errors in development mode. (@Jessevdpoel)
#2048 13e23e4
- Wishlist will now support configurable products and uses the <ActionCardLayout/>
(@Jessevdpoel)
#2018 750aa6a
- Changed the layout of the succes page. We are using ActionCards right now to match the design of the cart. (@Jessevdpoel)
e33660f
- Accessibility improvements for the frontend: Added skip content link. Removed empty buttons from tab flow. Gave focus to elements (such as the menu) that appear when after clicking a button. Improved aria labels where needed (@FrankHarland)#2085 3c92993
- Fixes issue where the <SidebarGallery />
would start jumping around if a user clicks the next button multiple times in short succession. (@Jessevdpoel)
e33660f
- Accessibility improvements for the frontend: Added skip content link. Removed empty buttons from tab flow. Gave focus to elements (such as the menu) that appear when after clicking a button. Improved aria labels where needed (@FrankHarland)
#2157 b1afcd0
- Solved an issue where the Previous and Next buttons would become unclickable for Scrollers. (@Jessevdpoel)
#2066 3b1f585
- Add showButtons
prop to <ScrollerButton/>
(@StefanAngenent)
#2045 1ac1e09
- Make sure the product image gallery traps focus and scrollbar doesn't disappear suddenly (@JoshuaS98)
#2011 da821af
- Added a new Gallery Thumbnails feature that shows product thumbnails below the product gallery on the product page. (@mikekeehnen)
dc86f2f
- Log the related element if the ScrollerProvider couldn’t find any children during load. (@paales)
#2099 ff796b8
- Support for all customizable product options (except file upload) on the product pages and in the cart. (@Jessevdpoel)
#2127 124e6c9
- Made all Magento dependencies optional in the googleanalytics
and googletagmanager
packages, allowing it to be installed in any project. (@Jessevdpoel)
124e6c9
- Made all Magento dependencies optional in the googleanalytics
and googletagmanager
packages, allowing it to be installed in any project. (@Jessevdpoel)#2048 4a29bf7
- Include @connection, @export, @defer and @nonreactive in schema, so they can be used, in queries (@Jessevdpoel)
#2048 072cd14
- Allow configurable_product_options_selection
to be stored in the localStorage
so queries do not need to be re-executed when the page loads. (@Jessevdpoel)
bf5ae89
- Remove requirement of toplevelAwait for graphqlSsrClient and solve logging issue in cli (@paales)#2095 519531e
- Fix Hygraph CLI (Management SDK) | Add support for updating and deleting enumerations (@JoshuaS98)
#2169 eab3f0b
- Solve issue where a Hygraph DynamicRow conditions were missing fields in the OrCondition (@Jessevdpoel)
df385d9
- Allow muiltiple rows for each Dynamic Row entry in Hygraph (@JoshuaS98)
#2182 a93c312
- Dynamic rows would break page rendering if there was a dynamic row but no page returned (@paales)
4df891a
- Add Dynamic Row UI for property UI field through a custom Hygraph application (@JoshuaS98)#2114 5b63623
- Added support for the alt attribute for images inside Rich text areas coming from Hygraph. (@StefanAngenent)
#2071 6876939
- Added support to add css class names to RichText elements from Hygraph (@FrankHarland)
#2075 34dee45
- Added the customers order number to succes page. (@Jessevdpoel)
#2018 750aa6a
- Changed the layout of the succes page. We are using ActionCards right now to match the design of the cart. (@Jessevdpoel)
#2184 28b7e6e
- When a customer would return from a payment gateway and it would erroneously query the cart GraphCommerce would immediately create a new empty cart while it shouldn't. (@paales)
#1999 6d7ed0a
- After signing in the <CartFab/>
would not always properly reflect if there are items in the customers cart. (@paales)
#2089 4b6bbf0
- The <CartFab/>
wouldn't reflect that there are items in the cart when a customer refreshes the page after adding a product to the cart, without viewing the cart. (@carlocarels90)
#2170 f3e906f
- Solved an issue where the inactive cart would set as the current cart when the customer had signed in, checked out their cart, session expired and tried to log in again. (@FrankHarland)
#2107 2f51504
- Remember email adress when going from checkout to signin/up form (@FrankHarland)
#1999 ab834fb
- Added a new 'Session expired' dialog that is shown when a GraphQL query or mutation returns a graphql-authorization
error. This error is returned when the user's session has expired. The dialog allows the user to sign in again and then the query or mutation is re-executed. (@paales)
750aa6a
- Changed the layout of the succes page. We are using ActionCards right now to match the design of the cart. (@Jessevdpoel)'@graphcommerce/magento-cart-email': minor '@graphcommerce/magento-customer': minor
Added a new enableGuestCheckoutLogin
configuration: During customer login, GraphCommerce queries Magento to determine whether the customer account already exists or not. If not, the sign-up form is shown instead.
To restore previous behavior, set enableGuestCheckoutLogin
to true. For Magento versions, 2.4.7, 2.4.6-p1 and up, 2.4.5-p3 and up, 2.4.4-p4 and up, the following setting must be set to Yes: Stores -> Configuration -> Sales -> Checkout -> Checkout Options -> Enable Guest Checkout Login
(@Jessevdpoel)
2f51504
- Remember email adress when going from checkout to signin/up form (@FrankHarland)#2108 b9ab035
- Added a new <CartCrosssellsScroller />
component to render crosssells in a horizontal scroller in the cart. (@StefanAngenent)
#2099 ff796b8
- Support for all customizable product options (except file upload) on the product pages and in the cart. (@Jessevdpoel)
#2018 750aa6a
- Changed the layout of the succes page. We are using ActionCards right now to match the design of the cart. (@Jessevdpoel)
#2179 2e6afd9
- The <UpdateItemQuantity />
component now accepts textInputProps
to be passed to the <TextInputNumber/>
. (@paales)
#2183 afc8810
- When updating the quantity of the product in the cart it could happen that the form would become out of sync with the actual data. (@paales)
#2079 98799e0
- Updated styling <SelectedCustomizableOptions />
, so items get more spacing and elements accessable via sx prop (@mikekeehnen)
105a1af
- Disabled ripple animations on all ActionCard ‘Select’ and ‘Change’ so the rendering is more subtle during checkout. (@Jessevdpoel)105a1af
- Disabled ripple animations on all ActionCard ‘Select’ and ‘Change’ so the rendering is more subtle during checkout. (@Jessevdpoel)#2115 105a1af
- Disabled ripple animations on all ActionCard ‘Select’ and ‘Change’ so the rendering is more subtle during checkout. (@Jessevdpoel)
#2118 0cdaad2
- Fixed bug where if the customer created a new address during checkout it would not be persisted when navigating back from the payment step. (@Jessevdpoel)
#2093 112b041
- Created a new experimental mutation abort feature inside useFormGql
. This will allow redundant mutations to be canceled. This is enabled when the experimental_useV2
prop on the useFormGql
hook is used. (@mikekeehnen)
#2115 105a1af
- Disabled ripple animations on all ActionCard ‘Select’ and ‘Change’ so the rendering is more subtle during checkout. (@Jessevdpoel)
4fc2fda
- Solved an issue where the currently paginated page would be included in URL for the subcategory, resulting in a 404 error for some pages. (@Jessevdpoel)993f655
- Compare button didn't have a proper hover state on the product page. (@action-simon)#2175 a6bcb87
- Autofill country dropdown in CreateCustomerAddressForm so AddPostcodeNLAddressFields plugin works by default (@Giovanni-Schroevers)
Added a new enableGuestCheckoutLogin
configuration: During customer login, GraphCommerce queries Magento to determine whether the customer account already exists or not. If not, the sign-up form is shown instead.
To restore previous behavior, set enableGuestCheckoutLogin
to true. For Magento versions, 2.4.7, 2.4.6-p1 and up, 2.4.5-p3 and up, 2.4.4-p4 and up, the following setting must be set to Yes: Stores -> Configuration -> Sales -> Checkout -> Checkout Options -> Enable Guest Checkout Login
(@Jessevdpoel)
#2091 5b865d3
- Order details page in the customer account section is completely redesigned to be more in line with other areas. (@StefanAngenent)
#2048 a5c6550
- Allow passing skip to useCustomerQuery and useGuestQuery (@Jessevdpoel)
#2170 f3e906f
- Solved an issue where the inactive cart would set as the current cart when the customer had signed in, checked out their cart, session expired and tried to log in again. (@FrankHarland)
#2107 2f51504
- Remember email adress when going from checkout to signin/up form (@FrankHarland)
#2128 2320f8f
- Fixed bug which caused region to not be set properly if user swapped countries in the checkout process. (@Jessevdpoel)
#1999 ab834fb
- Added a new 'Session expired' dialog that is shown when a GraphQL query or mutation returns a graphql-authorization
error. This error is returned when the user's session has expired. The dialog allows the user to sign in again and then the query or mutation is re-executed. (@paales)
#2166 304b816
- When a user is logged in the modal is dismissed immediately without showing a succes page. This speeds up the interaction with the site. (@FrankHarland)
#1999 c11f3b8
- Created a debug.sessions
config that allows debugging sessions. Enable with GC_DEBUG_SESSIONS=1
in your env or modify your graphcommerce.config.js (@paales)
#2087 42c33c6
- The message when the email was updated was unstyled. (@StefanAngenent)
#2082 2e8d19c
- Add 'Current email' translation (@StefanAngenent)
#2098 ca45472
- Fix <EditAddressForm />
when addition field is null or undefined (@JoshuaS98)
#2133 133f908
- Added new <LazyHydrate/>
component to improve the Total Blocking Time and implemented them in, <RowRenderer/>
, <ProductListItemBase/>
, <Footer/>
and for the <NavigationProvider/>
. Reduced the TBT by 50% on the homepage and other pages. (@Jessevdpoel)
#2099 ff796b8
- Support for all customizable product options (except file upload) on the product pages and in the cart. (@Jessevdpoel)
#2048 13e23e4
- Wishlist will now support configurable products and uses the <ActionCardLayout/>
(@Jessevdpoel)
#2083 ca493c7
- Filters which are not yet applied and all options have 0 results, will not be shown anymore. (@Jessevdpoel)
#2160 89b58be
- The ProductFilters and ProductList queries would only run after the hygraphPageContent query would be resolved, although they don't depend on each other, now they run in parallel. (@paales)
#2048 8d4f1ef
- When a product has a discount price, render that on the product page (@Jessevdpoel)
e33660f
- Accessibility improvements for the frontend: Added skip content link. Removed empty buttons from tab flow. Gave focus to elements (such as the menu) that appear when after clicking a button. Improved aria labels where needed (@FrankHarland)
#2058 16dc488
- Provide instant feedback on availble attribute options when making a selection on a configurable product (@FrankHarland)
#2164 5224755
- The filter bar would completely disappear when there were no items returned. (@Jessevdpoel)
#2150 59844cd
- Solved an issue where the same product could not be added multiple times to the cart without reloading the page. (@Jessevdpoel)
#2077 0d2cb22
- Removed unwanted space below images caused by line-height. Images are now perfectly square as expected. (@bramvanderholst)
#2160 154cd12
- The name of the product in the <ProductListItem/>
would break words in the middle of a word instead of using a normal word break. (@paales)
#2007 f59c276
- Crosssell behavior now properly shows for the latest added product. Added latest submitted variables to be retrieved when using the useFormGql hook. (@JoshuaS98)
#2048 0335dd9
- The product page will now also load all information that a ProductListItem will load (@Jessevdpoel)
#2076 f860e68
- Forward the maxWidth prop to the <ColumnTwoWithTop />
component from the <ProductPageDescription maxWidth='lg'/>
component. (@StefanAngenent)
#2077 5f4455b
- New <ProductListItemSkeleton />
component and added support to the productListRenderer. Used for the new Recently Viewed Products feature. (@bramvanderholst)
#2099 ff796b8
- Support for all customizable product options (except file upload) on the product pages and in the cart. (@Jessevdpoel)
#2048 13e23e4
- Wishlist will now support configurable products and uses the <ActionCardLayout/>
(@Jessevdpoel)
#2115 105a1af
- Disabled ripple animations on all ActionCard ‘Select’ and ‘Change’ so the rendering is more subtle during checkout. (@Jessevdpoel)
#2028 dd5499d
- Solved an issue where the quantity selector was not working for bundled products (@Jessevdpoel)
#2099 ff796b8
- Support for all customizable product options (except file upload) on the product pages and in the cart. (@Jessevdpoel)
#2048 13e23e4
- Wishlist will now support configurable products and uses the <ActionCardLayout/>
(@Jessevdpoel)
#2048 bc90852
- When selecting a non-existing option on a configurable product page, the price would be updated. (@Jessevdpoel)
#2058 16dc488
- Provide instant feedback on availble attribute options when making a selection on a configurable product (@FrankHarland)
#2146 3c19305
- Display the details of configurable products in the cart. (@mikekeehnen)
#2137 df507b1
- Don't render pseudo-locale in HTML lang attribute (@hnsr)
#2159 17a5304
- Prevent aggregations from being excluded when executing the defaultConfigurableOptionsSelection
(@Giovanni-Schroevers)
ff796b8
- Support for all customizable product options (except file upload) on the product pages and in the cart. (@Jessevdpoel)ff796b8
- Support for all customizable product options (except file upload) on the product pages and in the cart. (@Jessevdpoel)e661106
- Created a new <RecentlyViewedProducts/>
component and render it on product pages. (@bramvanderholst)e33660f
- Accessibility improvements for the frontend: Added skip content link. Removed empty buttons from tab flow. Gave focus to elements (such as the menu) that appear when after clicking a button. Improved aria labels where needed (@FrankHarland)#2160 9091dbb
- Make sure the search link in the header is a soft navigation instead of a hard browser navigation. (@paales)
e33660f
- Accessibility improvements for the frontend: Added skip content link. Removed empty buttons from tab flow. Gave focus to elements (such as the menu) that appear when after clicking a button. Improved aria labels where needed (@FrankHarland)
#2160 fe37229
- Take the per_page
configuration in account for the search results (@paales)
#2067 3406794
- Prevent HandleRedirect errors by filtering out empty URL values from the candidates array. (@carlocarels90)
#2140 b34d85c
- Solve incorrect redirect when locale has own domain (@hnsr)
13e23e4
- Wishlist will now support configurable products and uses the <ActionCardLayout/>
(@Jessevdpoel)#2092 1edd198
- An error message would be shown when a payment was sucessfull instead of when an error occured. (@Giovanni-Schroevers)
#2124 3bd80b8
- Fixed the issue where a guest returned to a empty cart after a canceled payment with Mollie (@mikekeehnen)
#2133 133f908
- Added new <LazyHydrate/>
component to improve the Total Blocking Time and implemented them in, <RowRenderer/>
, <ProductListItemBase/>
, <Footer/>
and for the <NavigationProvider/>
. Reduced the TBT by 50% on the homepage and other pages. (@Jessevdpoel)
#2073 05ce566
- It is now allowed to use children inside the footer component (@Jessevdpoel)
#2018 750aa6a
- Changed the layout of the succes page. We are using ActionCards right now to match the design of the cart. (@Jessevdpoel)
#2161 cc5c636
- On certain breakpoints the Product page gallery had additional padding applied. (@Jessevdpoel)
#2138 a057d62
- When viewing the homepage the logo will not have a <a/>
tag wrapped anymore. (@carlocarels90)
#2004 da21357
- The <Snackbar/>
component now accepts an icon when severity is set to info (@bramvanderholst)
#2135 7b017f5
- Fix incorrect canonical URLs when i18n domain routing is used (@hnsr)
#2077 727d100
- Fixed ItemScroller component className. Changed from SidebarSlider to ItemScroller (@bramvanderholst)
e33660f
- Accessibility improvements for the frontend: Added skip content link. Removed empty buttons from tab flow. Gave focus to elements (such as the menu) that appear when after clicking a button. Improved aria labels where needed (@FrankHarland)
#2108 7fc4bb9
- Removed the 'NoSSR' functionality from <WaitForQueries/>
component as it slows down rendering. The 'feature' was necessary for the following use case: When hydrating a component that was server rendered and was living inside a <Suspense />
component. It would cause an hydration error and this was the workaround. With useSuspenseQuery and React 18, this problem will not occur. (@StefanAngenent)
#2004 d608830
- Added disableBackdropClick
prop to MessageSnackbar to allow page interaction without closing the snackbar (@bramvanderholst)
#2048 695f40c
- The filterNonNullable
method would collapse TypeScript unions because of the Simplify<>
helper, this is now omitted retulting in working unions. (@Jessevdpoel)
#2066 3b1f585
- Add showButtons
prop to <ScrollerButton/>
(@StefanAngenent)
#2045 1ac1e09
- Make sure the product image gallery traps focus and scrollbar doesn't disappear suddenly (@JoshuaS98)
#2105 185f9dd
- Fixed bug in Chrome where the mobile menu wouldn't open after the first selected level (@mikekeehnen)
#2004 94e1ae8
- Added <DismissibleSnackbar/>
component to allow messages to be shown only once (@bramvanderholst)
#2137 df507b1
- Don't render pseudo-locale in HTML lang attribute (@hnsr)
#2125 5224ee5
- If there is an open menu in an overlay, pressing the escape button now closes the menu instead of the overlay. (@Jessevdpoel)
#2004 53947d3
- Implemented 'Message' variant for <RowColumnOne/>
to show an important message which, after dismissing, will not show again (@bramvanderholst)
#2121 a5da6ff
- Change the critical css injection location to be in the head instead of <style>
tags in the body. It had a number of negative consequences, such as the famous "flash of unstyled content" (FOUC) and the re-paint and re-layout required. (@paales)
#2093 112b041
- Created a new experimental mutation abort feature inside useFormGql
. This will allow redundant mutations to be canceled. This is enabled when the experimental_useV2
prop on the useFormGql
hook is used. (@mikekeehnen)
#2007 f59c276
- Crosssell behavior now properly shows for the latest added product. Added latest submitted variables to be retrieved when using the useFormGql hook. (@JoshuaS98)
08f1ae1
- Added an eslint warning to restrict the import of useMediaQuery
because it causes more trouble than it solves (@paales)2e46389
- Render framework/config.md
more nicely, so that we follow a more typescript-esque style and inline the enums. (@bramvanderholst)#2156 69b816c
- Updated dependencies. Fixed trace-to-tree.mjs to debug build perf and added trace-to-event-format.mjs for compatibility with about://tracing. (@paales)
#2078 5f409e6
- Added @graphcommerce packages in node_modules to nextjs watch options (@KMalkowski)
#2129 dca4490
- Created ./devcontainer/devcontainer.json
to automatically run Graphcommerce after opening Codespaces (@action-simon)
#2113 6306182
- Moved all internal @graphcommerce/*
dependencies to peerDependencies
and resolve remaining peer dependency issues (@paales)
#2172 279599e
- Updated examples in the documentation to reflect the changes made in GraphCommerce. (@paales)
#2116 e0e5e82
- Node.js version of gitpod updated to node 18 (@action-simon)
#2113 77b1bac
- Upgraded to nextjs 14.0.2, and updated other related dependencies. Removed @mui/material/modern alias as that doesnt work in combination with nextjs 14.0.2. (@paales)
#2169 eab3f0b
- Solve issue where a Hygraph DynamicRow conditions were missing fields in the OrCondition (@Jessevdpoel)
Published by github-actions[bot] 9 months ago
Published by github-actions[bot] 9 months ago
Published by github-actions[bot] 9 months ago
Published by github-actions[bot] 9 months ago
a6bcb87
- Autofill country dropdown in CreateCustomerAddressForm so AddPostcodeNLAddressFields plugin works by defaultPublished by github-actions[bot] 9 months ago
3c19305
- Display the details of configurable products in the cart.