1- import { Dispatch , FC , SetStateAction , useCallback , useEffect , useMemo , useState } from 'react'
1+ import { Dispatch , FC , SetStateAction , useState } from 'react'
22import { toast } from 'react-toastify'
33import { bind , trim } from 'lodash'
44import classNames from 'classnames'
99} from '~/libs/ui'
1010import {
1111 CountryLookup ,
12+ updateMemberProfileAsync ,
1213 useCountryLookup ,
1314 UserProfile ,
1415} from '~/libs/core'
@@ -63,6 +64,31 @@ const MemberAddress: FC<MemberAddressProps> = (props: MemberAddressProps) => {
6364
6465 setIsSaving ( true )
6566
67+ updateMemberProfileAsync (
68+ props . profile . handle ,
69+ {
70+ addresses : [ {
71+ city : formValues . city ,
72+ stateCode : formValues . stateCode ,
73+ streetAddr1 : formValues . streetAddr1 ,
74+ streetAddr2 : formValues . streetAddr2 ,
75+ zip : formValues . zip ,
76+ } ] ,
77+ competitionCountryCode : formValues . country ,
78+ homeCountryCode : formValues . country ,
79+ } ,
80+ )
81+ . then ( ( ) => {
82+ toast . success ( 'Your account has been updated.' , { position : toast . POSITION . BOTTOM_RIGHT } )
83+ setFormErrors ( { } )
84+ } )
85+ . catch ( ( ) => {
86+ toast . error ( 'Something went wrong. Please try again.' , { position : toast . POSITION . BOTTOM_RIGHT } )
87+ } )
88+ . finally ( ( ) => {
89+ setIsFormChanged ( false )
90+ setIsSaving ( false )
91+ } )
6692 }
6793
6894 return (
@@ -88,7 +114,7 @@ const MemberAddress: FC<MemberAddressProps> = (props: MemberAddressProps) => {
88114 dirty
89115 tabIndex = { 0 }
90116 type = 'text'
91- onChange = { bind ( handleFormValueChange , this , 'address ' ) }
117+ onChange = { bind ( handleFormValueChange , this , 'streetAddr1 ' ) }
92118 value = { formValues . streetAddr1 }
93119 />
94120 < InputText
@@ -99,7 +125,7 @@ const MemberAddress: FC<MemberAddressProps> = (props: MemberAddressProps) => {
99125 dirty
100126 tabIndex = { 0 }
101127 type = 'text'
102- onChange = { bind ( handleFormValueChange , this , 'address2 ' ) }
128+ onChange = { bind ( handleFormValueChange , this , 'streetAddr2 ' ) }
103129 value = { formValues . streetAddr2 }
104130 />
105131 < InputText
@@ -116,13 +142,13 @@ const MemberAddress: FC<MemberAddressProps> = (props: MemberAddressProps) => {
116142 < InputText
117143 name = 'state'
118144 label = 'State'
119- error = { formErrors . state }
145+ error = { formErrors . stateCode }
120146 placeholder = 'State'
121147 dirty
122148 tabIndex = { 0 }
123149 type = 'text'
124- onChange = { bind ( handleFormValueChange , this , 'state ' ) }
125- value = { formValues . state }
150+ onChange = { bind ( handleFormValueChange , this , 'stateCode ' ) }
151+ value = { formValues . stateCode }
126152 />
127153 < InputText
128154 name = 'zip'
0 commit comments