Update LoginModal and SignupModal
And adds a new changeLanguage util
This commit is contained in:
parent
fb31d6795c
commit
d737310b2c
3 changed files with 47 additions and 24 deletions
|
|
@ -16,6 +16,8 @@ import {
|
|||
DialogClose,
|
||||
} from '~components/Dialog'
|
||||
|
||||
import changeLanguage from '~utils/changeLanguage'
|
||||
|
||||
import CrossIcon from '~public/icons/Cross.svg'
|
||||
import './index.scss'
|
||||
|
||||
|
|
@ -127,23 +129,31 @@ const LoginModal = (props: Props) => {
|
|||
}
|
||||
|
||||
function storeUserInfo(response: AxiosResponse) {
|
||||
// Extract the user
|
||||
const user = response.data
|
||||
|
||||
const cookieObj: UserCookie = {
|
||||
picture: user.avatar.picture,
|
||||
element: user.avatar.element,
|
||||
language: user.language,
|
||||
gender: user.gender,
|
||||
}
|
||||
|
||||
setCookie('user', cookieObj, { path: '/' })
|
||||
// Set user data in the user cookie
|
||||
setCookie(
|
||||
'user',
|
||||
{
|
||||
picture: user.avatar.picture,
|
||||
element: user.avatar.element,
|
||||
language: user.language,
|
||||
gender: user.gender,
|
||||
theme: user.theme,
|
||||
},
|
||||
{ path: '/' }
|
||||
)
|
||||
|
||||
// Set the user data in the account state
|
||||
accountState.account.user = {
|
||||
id: user.id,
|
||||
username: user.username,
|
||||
picture: user.avatar.picture,
|
||||
element: user.avatar.element,
|
||||
gender: user.gender,
|
||||
language: user.language,
|
||||
theme: user.theme,
|
||||
}
|
||||
|
||||
console.log('Authorizing account...')
|
||||
|
|
@ -153,13 +163,6 @@ const LoginModal = (props: Props) => {
|
|||
changeLanguage(user.language)
|
||||
}
|
||||
|
||||
function changeLanguage(newLanguage: string) {
|
||||
if (newLanguage !== router.locale) {
|
||||
setCookie('NEXT_LOCALE', newLanguage, { path: '/' })
|
||||
router.push(router.asPath, undefined, { locale: newLanguage })
|
||||
}
|
||||
}
|
||||
|
||||
function openChange(open: boolean) {
|
||||
setOpen(open)
|
||||
setErrors({
|
||||
|
|
|
|||
|
|
@ -102,27 +102,36 @@ const SignupModal = (props: Props) => {
|
|||
}
|
||||
|
||||
function storeUserInfo(response: AxiosResponse) {
|
||||
// Extract the user
|
||||
const user = response.data
|
||||
|
||||
const cookieObj: UserCookie = {
|
||||
picture: user.avatar.picture,
|
||||
element: user.avatar.element,
|
||||
language: user.language,
|
||||
gender: user.gender,
|
||||
}
|
||||
|
||||
// TODO: Set language
|
||||
setCookie('user', cookieObj, { path: '/' })
|
||||
// Set user data in the user cookie
|
||||
setCookie(
|
||||
'user',
|
||||
{
|
||||
picture: user.avatar.picture,
|
||||
element: user.avatar.element,
|
||||
language: user.language,
|
||||
gender: user.gender,
|
||||
theme: user.theme,
|
||||
},
|
||||
{ path: '/' }
|
||||
)
|
||||
|
||||
// Set the user data in the account state
|
||||
accountState.account.user = {
|
||||
id: user.id,
|
||||
username: user.username,
|
||||
picture: user.avatar.picture,
|
||||
element: user.avatar.element,
|
||||
gender: user.gender,
|
||||
language: user.language,
|
||||
theme: user.theme,
|
||||
}
|
||||
|
||||
console.log('Authorizing account...')
|
||||
accountState.account.authorized = true
|
||||
|
||||
setOpen(false)
|
||||
}
|
||||
|
||||
|
|
|
|||
11
utils/changeLanguage.tsx
Normal file
11
utils/changeLanguage.tsx
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
import { setCookie } from 'cookies-next'
|
||||
import { useRouter } from 'next/router'
|
||||
|
||||
export default function changeLanguage(newLanguage: string) {
|
||||
const router = useRouter()
|
||||
|
||||
if (newLanguage !== router.locale) {
|
||||
setCookie('NEXT_LOCALE', newLanguage, { path: '/' })
|
||||
router.push(router.asPath, undefined, { locale: newLanguage })
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue