From cefec18880929e11ac41a45eeefd0d9780487509 Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Tue, 24 Jan 2023 21:42:14 -0800 Subject: [PATCH] Fix cookies expiring after browser restarts We never added expirations :) --- components/AccountModal/index.tsx | 4 +++- components/HeaderMenu/index.tsx | 6 +++++- components/LoginModal/index.tsx | 9 +++++++-- components/SearchModal/index.tsx | 8 +++++++- components/SignupModal/index.tsx | 9 +++++++-- utils/changeLanguage.tsx | 5 ++++- 6 files changed, 33 insertions(+), 8 deletions(-) diff --git a/components/AccountModal/index.tsx b/components/AccountModal/index.tsx index c10ee25c..0567380e 100644 --- a/components/AccountModal/index.tsx +++ b/components/AccountModal/index.tsx @@ -156,7 +156,9 @@ const AccountModal = (props: Props) => { 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 = { id: user.id, diff --git a/components/HeaderMenu/index.tsx b/components/HeaderMenu/index.tsx index 6c229f59..3472f983 100644 --- a/components/HeaderMenu/index.tsx +++ b/components/HeaderMenu/index.tsx @@ -65,7 +65,11 @@ const HeaderMenu = (props: Props) => { function handleCheckedChange(value: boolean) { 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 }) } diff --git a/components/LoginModal/index.tsx b/components/LoginModal/index.tsx index 15d485c9..be2f72c6 100644 --- a/components/LoginModal/index.tsx +++ b/components/LoginModal/index.tsx @@ -133,7 +133,9 @@ const LoginModal = () => { 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 setUserToken() @@ -144,6 +146,9 @@ const LoginModal = () => { const user = response.data // Set user data in the user cookie + const expiresAt = new Date() + expiresAt.setDate(expiresAt.getDate() + 60) + setCookie( 'user', { @@ -153,7 +158,7 @@ const LoginModal = () => { gender: user.gender, theme: user.theme, }, - { path: '/' } + { path: '/', expires: expiresAt } ) // Set the user data in the account state diff --git a/components/SearchModal/index.tsx b/components/SearchModal/index.tsx index e0fa32e9..b8edf073 100644 --- a/components/SearchModal/index.tsx +++ b/components/SearchModal/index.tsx @@ -142,8 +142,14 @@ const SearchModal = (props: Props) => { } } + const expiresAt = new Date() + expiresAt.setDate(expiresAt.getDate() + 60) + if (recents && recents.length > 5) recents.pop() - setCookie(`recent_${props.object}`, recents, { path: '/' }) + setCookie(`recent_${props.object}`, recents, { + path: '/', + expires: expiresAt, + }) sendData(result) } diff --git a/components/SignupModal/index.tsx b/components/SignupModal/index.tsx index 88c96372..a142d348 100644 --- a/components/SignupModal/index.tsx +++ b/components/SignupModal/index.tsx @@ -91,7 +91,9 @@ const SignupModal = (props: Props) => { 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 setUserToken() @@ -106,6 +108,9 @@ const SignupModal = (props: Props) => { const user = response.data // Set user data in the user cookie + const expiresAt = new Date() + expiresAt.setDate(expiresAt.getDate() + 60) + setCookie( 'user', { @@ -115,7 +120,7 @@ const SignupModal = (props: Props) => { gender: user.gender, theme: user.theme, }, - { path: '/' } + { path: '/', expires: expiresAt } ) // Set the user data in the account state diff --git a/utils/changeLanguage.tsx b/utils/changeLanguage.tsx index ff719da6..6420fa80 100644 --- a/utils/changeLanguage.tsx +++ b/utils/changeLanguage.tsx @@ -6,7 +6,10 @@ export default function changeLanguage( newLanguage: string ) { 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 }) } }