diff --git a/src/components/common/MessageCommon/MessageCommon.tsx b/src/components/common/MessageCommon/MessageCommon.tsx
index adda6a040..f53469c50 100644
--- a/src/components/common/MessageCommon/MessageCommon.tsx
+++ b/src/components/common/MessageCommon/MessageCommon.tsx
@@ -7,15 +7,7 @@ interface Props {
onRemove?: (id: number) => void
}
-const MessageCommon = memo(({ messages, onRemove }: Props) => {
- useEffect(() => {
- console.log("this fun change; onRemove")
- }, [onRemove])
-
- const handleRemove = (id: number) => {
- onRemove && onRemove(id)
- }
-
+const MessageCommon = memo(({ messages, onRemove }: Props) => {
return (
{messages.reverse().map((item) => (
@@ -23,7 +15,7 @@ const MessageCommon = memo(({ messages, onRemove }: Props) => {
key={item.id}
id={item.id}
content={item.content}
- onRemove={handleRemove}
+ onRemove={onRemove}
/>
))}
diff --git a/src/components/common/MessageCommon/MessageItem/MessageItem.module.scss b/src/components/common/MessageCommon/MessageItem/MessageItem.module.scss
index e1f2d1b49..f2583810d 100644
--- a/src/components/common/MessageCommon/MessageItem/MessageItem.module.scss
+++ b/src/components/common/MessageCommon/MessageItem/MessageItem.module.scss
@@ -8,6 +8,8 @@
border-radius: 0.8rem;
transition: all .5s;
animation: showMessage .5s;
+ width: max-content;
+ margin: 0 1.6rem;
&.hide {
display: none;
diff --git a/src/components/common/ModalAuthenticate/components/FormRegister/FormRegister.tsx b/src/components/common/ModalAuthenticate/components/FormRegister/FormRegister.tsx
index 793218c7c..1cccf6977 100644
--- a/src/components/common/ModalAuthenticate/components/FormRegister/FormRegister.tsx
+++ b/src/components/common/ModalAuthenticate/components/FormRegister/FormRegister.tsx
@@ -2,10 +2,12 @@ import classNames from 'classnames'
import { Form, Formik } from 'formik'
import React, { useEffect, useRef } from 'react'
import {
- ButtonCommon,
- InputFiledInForm,
- InputPasswordFiledInForm
+ ButtonCommon,
+ InputFiledInForm,
+ InputPasswordFiledInForm,
} from 'src/components/common'
+import { useMessage } from 'src/components/contexts'
+import { LANGUAGE } from 'src/utils/language.utils'
import { CustomInputCommon } from 'src/utils/type.utils'
import * as Yup from 'yup'
import { useSignup } from '../../../../hooks'
@@ -32,6 +34,7 @@ const DisplayingErrorMessagesSchema = Yup.object().shape({
const FormRegister = ({ onSwitch, isHide }: Props) => {
const emailRef = useRef(null)
const { loading, signup, error } = useSignup()
+ const { showMessageSuccess, showMessageError } = useMessage()
useEffect(() => {
if (!isHide) {
@@ -40,9 +43,15 @@ const FormRegister = ({ onSwitch, isHide }: Props) => {
}, [isHide])
const onSignup = (values: { email: string; password: string }) => {
- signup({ email: values.email, password: values.password })
- // TODO: flow
- alert('User created. Please verify your email')
+ signup({ email: values.email, password: values.password }, onSignupCallBack)
+ }
+
+ const onSignupCallBack = (isSuccess: boolean, message?: string) => {
+ if (isSuccess) {
+ showMessageSuccess("Create account successfully. Please verify your email to login.")
+ } else {
+ showMessageError(message || LANGUAGE.MESSAGE.ERROR)
+ }
}
useEffect(() => {
diff --git a/src/components/contexts/Message/MessageProvider.tsx b/src/components/contexts/Message/MessageProvider.tsx
index 854fb5ac6..0ccde8609 100644
--- a/src/components/contexts/Message/MessageProvider.tsx
+++ b/src/components/contexts/Message/MessageProvider.tsx
@@ -17,7 +17,7 @@ export function MessageProvider({ children }: Props) {
) => {
const item: MessageItemProps = {
id: currentId + 1,
- content: currentId + 1 + content,
+ content,
type,
timeout,
}
diff --git a/src/components/hooks/useLogin.tsx b/src/components/hooks/useLogin.tsx
index 0e056c2f7..5a000b9b1 100644
--- a/src/components/hooks/useLogin.tsx
+++ b/src/components/hooks/useLogin.tsx
@@ -42,6 +42,7 @@ const useLogin = () => {
throw CommonError.create(data.login.message, data.login.errorCode)
}
const authToken = headers.get('vendure-auth-token')
+ console.log("auth token: ", authToken)
if (authToken != null) {
localStorage.setItem('token', authToken)
return mutate()
diff --git a/src/components/hooks/useSignup.tsx b/src/components/hooks/useSignup.tsx
index 91a5fe186..4842915e1 100644
--- a/src/components/hooks/useSignup.tsx
+++ b/src/components/hooks/useSignup.tsx
@@ -32,7 +32,10 @@ const useSignup = () => {
const [error, setError] = useState(null)
const { mutate } = useActiveCustomer()
- const signup = ({ firstName, lastName, email, password }: SignupInput) => {
+ const signup = (
+ { firstName, lastName, email, password }: SignupInput,
+ fCallBack: (isSuccess: boolean, message?: string) => void
+ ) => {
setError(null)
setLoading(true)
fetcher({
@@ -53,11 +56,15 @@ const useSignup = () => {
data.registerCustomerAccount.errorCode
)
}
- console.log(data)
+
mutate()
+ fCallBack(true)
return data
})
- .catch(setError)
+ .catch((error) => {
+ setError(error)
+ fCallBack(false, error.message)
+ })
.finally(() => setLoading(false))
}
diff --git a/src/components/hooks/useVerifyCustomer.tsx b/src/components/hooks/useVerifyCustomer.tsx
index a4af3184e..d86a5b8ed 100644
--- a/src/components/hooks/useVerifyCustomer.tsx
+++ b/src/components/hooks/useVerifyCustomer.tsx
@@ -25,7 +25,7 @@ const useVerifyCustomer = () => {
query: VERIFY_CUSTOMER_ACCOUNT,
variables: options,
})
- .then(({ data, headers }) => {
+ .then(({ data }) => {
if (data.verifyCustomerAccount.__typename !== 'CurrentUser') {
throw CommonError.create(
data.verifyCustomerAccount.message,
@@ -33,12 +33,8 @@ const useVerifyCustomer = () => {
)
}
fCallBack && fCallBack(true)
-
- const authToken = headers.get('vendure-auth-token')
- if (authToken != null) {
- localStorage.setItem('token', authToken)
- return mutate()
- }
+ mutate()
+ return data
})
.catch((err) => {
setError(err)
diff --git a/src/utils/language.utils.ts b/src/utils/language.utils.ts
index dfd2b9604..921c29435 100644
--- a/src/utils/language.utils.ts
+++ b/src/utils/language.utils.ts
@@ -9,5 +9,8 @@ export const LANGUAGE = {
},
PLACE_HOLDER: {
SEARCH: 'Search',
+ },
+ MESSAGE: {
+ ERROR: 'Something went wrong! Please try again!'
}
}
\ No newline at end of file