fix(#3100): user mailings page pr fixes

keep-around/9d11a525a1ee745f785976389c40d7a0601133e1
Rakov Roman 3 years ago
parent 77784a4a5a
commit 3fafdca9a8
  1. 2
      src/features/App/AuthenticatedApp.tsx
  2. 4
      src/features/AuthStore/hooks/useAuth.tsx
  3. 74
      src/pages/Mailings/index.tsx

@ -63,7 +63,7 @@ export const AuthenticatedApp = () => {
{/* в Switch как прямой children {/* в Switch как прямой children
можно рендерить только Route или Redirect */} можно рендерить только Route или Redirect */}
<Switch> <Switch>
<Route path={`${PAGES.mailings}`}> <Route path={PAGES.mailings}>
<Mailings /> <Mailings />
</Route> </Route>
<Route path={PAGES.useraccount}> <Route path={PAGES.useraccount}>

@ -205,11 +205,15 @@ export const useAuth = () => {
}, [userManager, storeUser]) }, [userManager, storeUser])
const fetchUserInfo = useCallback(async () => { const fetchUserInfo = useCallback(async () => {
try {
const userInfoFetched = await getUserInfo() const userInfoFetched = await getUserInfo()
setUserInfo(userInfoFetched) setUserInfo(userInfoFetched)
userInfoFetched.language.iso && changeLang(userInfoFetched.language.iso) userInfoFetched.language.iso && changeLang(userInfoFetched.language.iso)
// eslint-disable-next-line no-empty
} catch (error) {}
}, [changeLang]) }, [changeLang])
useEffect(() => { useEffect(() => {

@ -35,21 +35,6 @@ const Mailings = () => {
if (!userInfo) return null if (!userInfo) return null
const {
address_line1,
address_line2,
city,
cityId,
country,
firstname,
is_unsubscribed,
language,
lastname,
phone,
postal_code,
region,
} = { ...userInfo }
const currentYear = format(new Date(), 'Y') const currentYear = format(new Date(), 'Y')
const onUnsubscribe = async (isUnsubscribed: boolean) => { const onUnsubscribe = async (isUnsubscribed: boolean) => {
@ -57,26 +42,24 @@ const Mailings = () => {
setIsReSubscribed(true) setIsReSubscribed(true)
} }
try {
await saveUserInfo({ await saveUserInfo({
address_line1, ...userInfo,
address_line2, countryId: userInfo.country?.id!,
city,
cityId,
countryId: country?.id!,
firstname,
isUnsubscribed, isUnsubscribed,
language_id: language?.id, language_id: userInfo.language?.id,
lastname, postalCode: userInfo.postal_code,
phone,
postalCode: postal_code,
region,
}) })
await fetchUserInfo() await fetchUserInfo()
// eslint-disable-next-line no-empty
} catch (error) {}
} }
let content const getContent = () => {
if (is_unsubscribed) { switch (true) {
content = ( case userInfo.is_unsubscribed:
return (
<ContentWrapper> <ContentWrapper>
<Title> <Title>
<T9n t='you_are_now_unsubscribed' /> <T9n t='you_are_now_unsubscribed' />
@ -97,47 +80,46 @@ const Mailings = () => {
</ButtonsBlock> </ButtonsBlock>
</ContentWrapper> </ContentWrapper>
) )
} else { case isReSubscribed:
content = ( return (
<ContentWrapper> <ContentWrapper>
<Title><T9n t='unsubscribe' /></Title> <Title><T9n t='resubscription_successful' /></Title>
<br /> <br />
<Text> <Text>
<T9n t='click_unsubscribe_to_stop_receiving_inSports_emails_to' /> <T9n t='you_have_been_resubscribed_to_inSports_newsletter' />
<Email>{' '}{userInfo?.email}</Email>
</Text> </Text>
<ButtonsBlock> <ButtonsBlock>
<ScLink to={PAGES.home}> <ScLink to={PAGES.home}>
<SolidButton> <SolidButton>
<T9n t='cancel' /> <T9n t='go_to_the_main_page' />
</SolidButton> </SolidButton>
</ScLink> </ScLink>
<OutlineButton onClick={() => onUnsubscribe(true)}>
<T9n t='unsubscribe' />
</OutlineButton>
</ButtonsBlock> </ButtonsBlock>
</ContentWrapper> </ContentWrapper>
) )
} default:
return (
if (isReSubscribed) {
content = (
<ContentWrapper> <ContentWrapper>
<Title><T9n t='resubscription_successful' /></Title> <Title><T9n t='unsubscribe' /></Title>
<br /> <br />
<Text> <Text>
<T9n t='you_have_been_resubscribed_to_inSports_newsletter' /> <T9n t='click_unsubscribe_to_stop_receiving_inSports_emails_to' />
<Email>{' '}{userInfo?.email}</Email>
</Text> </Text>
<ButtonsBlock> <ButtonsBlock>
<ScLink to={PAGES.home}> <ScLink to={PAGES.home}>
<SolidButton> <SolidButton>
<T9n t='go_to_the_main_page' /> <T9n t='cancel' />
</SolidButton> </SolidButton>
</ScLink> </ScLink>
<OutlineButton onClick={() => onUnsubscribe(true)}>
<T9n t='unsubscribe' />
</OutlineButton>
</ButtonsBlock> </ButtonsBlock>
</ContentWrapper> </ContentWrapper>
) )
} }
}
return ( return (
<Wrapper> <Wrapper>
@ -147,7 +129,7 @@ const Mailings = () => {
</Link> </Link>
</HeaderWrapper> </HeaderWrapper>
<Body> <Body>
{content} {getContent()}
</Body> </Body>
<Footer> <Footer>
<FooterLogo /> <FooterLogo />

Loading…
Cancel
Save