Update LoginModal and SignupModal

And adds a new changeLanguage util
This commit is contained in:
Justin Edmund 2022-12-25 16:14:35 -08:00
parent fb31d6795c
commit d737310b2c
3 changed files with 47 additions and 24 deletions

View file

@ -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({

View file

@ -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
View 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 })
}
}