@graphcommerce/magento-newsletter 8.0.6-canary.1 → 8.0.6-canary.2

Sign up to get free protection for your applications and to get access to all the features.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Change Log
2
2
 
3
+ ## 8.0.6-canary.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [#2234](https://github.com/graphcommerce-org/graphcommerce/pull/2234) [`530076e`](https://github.com/graphcommerce-org/graphcommerce/commit/530076e3664703cb8b577b7fcf1998a420819f60) - Moved all usages of useFormPersist to the <FormPersist/> component to prevent rerenders.
8
+ ([@FrankHarland](https://github.com/FrankHarland))
9
+
3
10
  ## 8.0.6-canary.1
4
11
 
5
12
  ## 8.0.6-canary.0
@@ -2,7 +2,7 @@ import { CheckboxElement, useFormCompose } from '@graphcommerce/ecommerce-ui'
2
2
  import { DocumentNode } from '@graphcommerce/graphql'
3
3
  import { useCartQuery } from '@graphcommerce/magento-cart'
4
4
  import { useCustomerQuery, useCustomerSession } from '@graphcommerce/magento-customer'
5
- import { useFormGqlMutation, useFormPersist } from '@graphcommerce/react-hook-form'
5
+ import { FormPersist, useFormGqlMutation, useFormPersist } from '@graphcommerce/react-hook-form'
6
6
  import { Box, SxProps, Theme } from '@mui/material'
7
7
  import { GetCustomerNewsletterToggleDocument } from '../CustomerNewsletterToggle/GetCustomerNewsLetterToggle.gql'
8
8
  import { GetCartEmailDocument } from '../SignupNewsletter/GetCartEmail.gql'
@@ -43,14 +43,13 @@ export function SubscribeToNewsletter(props: CheckoutNewsletterProps) {
43
43
  const { control, handleSubmit } = form
44
44
  const submit = handleSubmit(() => {})
45
45
 
46
- useFormPersist({ form, name: 'NewsletterSubscribeForm' })
47
-
48
46
  useFormCompose({ form, step, submit, key: 'NewsletterSubscribeForm' })
49
47
 
50
48
  if (isCustomerSubscribed) return null
51
49
 
52
50
  return (
53
51
  <Box sx={sx}>
52
+ <FormPersist form={form} name='NewsletterSubscribeForm' />
54
53
  <form onSubmit={submit} noValidate>
55
54
  <CheckboxElement color='secondary' control={control} name='subscribe' label={label} />
56
55
  </form>
@@ -1,6 +1,6 @@
1
1
  import { useQuery } from '@graphcommerce/graphql'
2
2
  import { ApolloCustomerErrorAlert } from '@graphcommerce/magento-customer'
3
- import { Controller, useFormAutoSubmit, useFormGqlMutation } from '@graphcommerce/react-hook-form'
3
+ import { Controller, FormAutoSubmit, useFormGqlMutation } from '@graphcommerce/react-hook-form'
4
4
  import {
5
5
  Box,
6
6
  FormControl,
@@ -31,12 +31,12 @@ export function CustomerNewsletterToggle(props: CustomerNewsletterToggleProps) {
31
31
 
32
32
  const { handleSubmit, control, formState, error } = form
33
33
  const submit = handleSubmit(() => {})
34
- useFormAutoSubmit({ form, submit })
35
34
 
36
35
  if (disabled || loading) return <Switch disabled color='primary' {...switchProps} />
37
36
 
38
37
  return (
39
38
  <Box component='form' onSubmit={submit} noValidate sx={sx}>
39
+ <FormAutoSubmit control={control} submit={submit} />
40
40
  <Controller
41
41
  name='isSubscribed'
42
42
  control={control}
@@ -1,7 +1,7 @@
1
1
  import { useCartQuery } from '@graphcommerce/magento-cart'
2
2
  import { ApolloCustomerErrorAlert } from '@graphcommerce/magento-customer'
3
3
  import { Form } from '@graphcommerce/next-ui'
4
- import { Controller, useFormAutoSubmit, useFormGqlMutation } from '@graphcommerce/react-hook-form'
4
+ import { Controller, FormAutoSubmit, useFormGqlMutation } from '@graphcommerce/react-hook-form'
5
5
  import {
6
6
  FormControl,
7
7
  FormControlLabel,
@@ -33,13 +33,13 @@ export function GuestNewsletterToggle(props: GuestNewsletterToggleProps) {
33
33
 
34
34
  const { handleSubmit, control, formState, error, register } = form
35
35
  const submit = handleSubmit(() => {})
36
- useFormAutoSubmit({ form, submit })
37
36
 
38
37
  if (formState.isSubmitted) return <Switch color='primary' {...switchProps} checked disabled />
39
38
 
40
39
  return (
41
40
  <Form noValidate sx={sx}>
42
41
  <input type='hidden' {...register('email')} value={email} />
42
+ <FormAutoSubmit control={control} submit={submit} />
43
43
  <Controller
44
44
  name='isSubscribed'
45
45
  control={control}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@graphcommerce/magento-newsletter",
3
3
  "homepage": "https://www.graphcommerce.org/",
4
4
  "repository": "github:graphcommerce-org/graphcommerce",
5
- "version": "8.0.6-canary.1",
5
+ "version": "8.0.6-canary.2",
6
6
  "sideEffects": false,
7
7
  "prettier": "@graphcommerce/prettier-config-pwa",
8
8
  "eslintConfig": {
@@ -12,15 +12,15 @@
12
12
  }
13
13
  },
14
14
  "peerDependencies": {
15
- "@graphcommerce/ecommerce-ui": "^8.0.6-canary.1",
16
- "@graphcommerce/eslint-config-pwa": "^8.0.6-canary.1",
17
- "@graphcommerce/graphql": "^8.0.6-canary.1",
18
- "@graphcommerce/magento-cart": "^8.0.6-canary.1",
19
- "@graphcommerce/magento-customer": "^8.0.6-canary.1",
20
- "@graphcommerce/next-ui": "^8.0.6-canary.1",
21
- "@graphcommerce/prettier-config-pwa": "^8.0.6-canary.1",
22
- "@graphcommerce/react-hook-form": "^8.0.6-canary.1",
23
- "@graphcommerce/typescript-config-pwa": "^8.0.6-canary.1",
15
+ "@graphcommerce/ecommerce-ui": "^8.0.6-canary.2",
16
+ "@graphcommerce/eslint-config-pwa": "^8.0.6-canary.2",
17
+ "@graphcommerce/graphql": "^8.0.6-canary.2",
18
+ "@graphcommerce/magento-cart": "^8.0.6-canary.2",
19
+ "@graphcommerce/magento-customer": "^8.0.6-canary.2",
20
+ "@graphcommerce/next-ui": "^8.0.6-canary.2",
21
+ "@graphcommerce/prettier-config-pwa": "^8.0.6-canary.2",
22
+ "@graphcommerce/react-hook-form": "^8.0.6-canary.2",
23
+ "@graphcommerce/typescript-config-pwa": "^8.0.6-canary.2",
24
24
  "@lingui/core": "^4.2.1",
25
25
  "@lingui/macro": "^4.2.1",
26
26
  "@lingui/react": "^4.2.1",