Fix cookies expiring after browser restarts

We never added expirations :)
This commit is contained in:
Justin Edmund 2023-01-24 21:42:14 -08:00
parent f647f98bde
commit cefec18880
6 changed files with 33 additions and 8 deletions

View file

@ -156,7 +156,9 @@ const AccountModal = (props: Props) => {
theme: user.theme, theme: user.theme,
} }
setCookie('user', cookieObj, { path: '/' }) const expiresAt = new Date()
expiresAt.setDate(expiresAt.getDate() + 60)
setCookie('user', cookieObj, { path: '/', expires: expiresAt })
accountState.account.user = { accountState.account.user = {
id: user.id, id: user.id,

View file

@ -65,7 +65,11 @@ const HeaderMenu = (props: Props) => {
function handleCheckedChange(value: boolean) { function handleCheckedChange(value: boolean) {
const language = value ? 'ja' : 'en' const language = value ? 'ja' : 'en'
setCookie('NEXT_LOCALE', language, { path: '/' })
const expiresAt = new Date()
expiresAt.setDate(expiresAt.getDate() + 60)
setCookie('NEXT_LOCALE', language, { path: '/', expires: expiresAt })
router.push(router.asPath, undefined, { locale: language }) router.push(router.asPath, undefined, { locale: language })
} }

View file

@ -133,7 +133,9 @@ const LoginModal = () => {
token: resp.access_token, token: resp.access_token,
} }
setCookie('account', cookieObj, { path: '/' }) const expiresAt = new Date()
expiresAt.setDate(expiresAt.getDate() + 60)
setCookie('account', cookieObj, { path: '/', expires: expiresAt })
// Set Axios default headers // Set Axios default headers
setUserToken() setUserToken()
@ -144,6 +146,9 @@ const LoginModal = () => {
const user = response.data const user = response.data
// Set user data in the user cookie // Set user data in the user cookie
const expiresAt = new Date()
expiresAt.setDate(expiresAt.getDate() + 60)
setCookie( setCookie(
'user', 'user',
{ {
@ -153,7 +158,7 @@ const LoginModal = () => {
gender: user.gender, gender: user.gender,
theme: user.theme, theme: user.theme,
}, },
{ path: '/' } { path: '/', expires: expiresAt }
) )
// Set the user data in the account state // Set the user data in the account state

View file

@ -142,8 +142,14 @@ const SearchModal = (props: Props) => {
} }
} }
const expiresAt = new Date()
expiresAt.setDate(expiresAt.getDate() + 60)
if (recents && recents.length > 5) recents.pop() if (recents && recents.length > 5) recents.pop()
setCookie(`recent_${props.object}`, recents, { path: '/' }) setCookie(`recent_${props.object}`, recents, {
path: '/',
expires: expiresAt,
})
sendData(result) sendData(result)
} }

View file

@ -91,7 +91,9 @@ const SignupModal = (props: Props) => {
token: resp.token, token: resp.token,
} }
setCookie('account', cookieObj, { path: '/' }) const expiresAt = new Date()
expiresAt.setDate(expiresAt.getDate() + 60)
setCookie('account', cookieObj, { path: '/', expires: expiresAt })
// Set Axios default headers // Set Axios default headers
setUserToken() setUserToken()
@ -106,6 +108,9 @@ const SignupModal = (props: Props) => {
const user = response.data const user = response.data
// Set user data in the user cookie // Set user data in the user cookie
const expiresAt = new Date()
expiresAt.setDate(expiresAt.getDate() + 60)
setCookie( setCookie(
'user', 'user',
{ {
@ -115,7 +120,7 @@ const SignupModal = (props: Props) => {
gender: user.gender, gender: user.gender,
theme: user.theme, theme: user.theme,
}, },
{ path: '/' } { path: '/', expires: expiresAt }
) )
// Set the user data in the account state // Set the user data in the account state

View file

@ -6,7 +6,10 @@ export default function changeLanguage(
newLanguage: string newLanguage: string
) { ) {
if (newLanguage !== router.locale) { if (newLanguage !== router.locale) {
setCookie('NEXT_LOCALE', newLanguage, { path: '/' }) const expiresAt = new Date()
expiresAt.setDate(expiresAt.getDate() + 60)
setCookie('NEXT_LOCALE', newLanguage, { path: '/', expires: expiresAt })
router.push(router.asPath, undefined, { locale: newLanguage }) router.push(router.asPath, undefined, { locale: newLanguage })
} }
} }