From bc2f8bcdaee97282052ff03e6ae2c4615d84dc3c Mon Sep 17 00:00:00 2001 From: chelsey-g <97612806+chelsey-g@users.noreply.github.com> Date: Wed, 6 Nov 2024 14:46:51 -0500 Subject: [PATCH 1/3] redirects to last selected team on login --- src/app/(main)/NavBar.tsx | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/app/(main)/NavBar.tsx b/src/app/(main)/NavBar.tsx index 5e0e3da2..53e25532 100644 --- a/src/app/(main)/NavBar.tsx +++ b/src/app/(main)/NavBar.tsx @@ -10,6 +10,8 @@ import TeamsButton from 'components/input/TeamsButton'; import Icons from 'components/icons'; import { useMessages, useNavigation, useTeamUrl } from 'components/hooks'; import styles from './NavBar.module.css'; +import { useEffect } from 'react'; +import Cookies from 'js-cookie'; export function NavBar() { const { formatMessage, labels } = useMessages(); @@ -74,10 +76,21 @@ export function NavBar() { const handleTeamChange = (teamId: string) => { const url = teamId ? `/teams/${teamId}` : '/'; - + Cookies.set('teamId', teamId); router.push(cloudMode ? `${process.env.cloudUrl}${url}` : url); }; + useEffect(() => { + const teamIdCookie = Cookies.get('teamId'); + if (teamIdCookie && pathname !== '/' && pathname !== '/dashboard') { + const url = '/'; + router.push(cloudMode ? `${process.env.cloudUrl}${url}` : url); + } else if (teamIdCookie) { + const url = `/teams/${teamIdCookie}/dashboard`; + router.push(cloudMode ? `${process.env.cloudUrl}${url}` : url); + } + }, []); + return (
From ac302c9a967c21a6bd99741c767ee7271f2c1595 Mon Sep 17 00:00:00 2001 From: chelsey-g <97612806+chelsey-g@users.noreply.github.com> Date: Mon, 11 Nov 2024 15:10:07 -0500 Subject: [PATCH 2/3] replaces cookies with localStorage --- src/app/(main)/NavBar.tsx | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/app/(main)/NavBar.tsx b/src/app/(main)/NavBar.tsx index 53e25532..f0280c45 100644 --- a/src/app/(main)/NavBar.tsx +++ b/src/app/(main)/NavBar.tsx @@ -11,7 +11,6 @@ import Icons from 'components/icons'; import { useMessages, useNavigation, useTeamUrl } from 'components/hooks'; import styles from './NavBar.module.css'; import { useEffect } from 'react'; -import Cookies from 'js-cookie'; export function NavBar() { const { formatMessage, labels } = useMessages(); @@ -76,17 +75,17 @@ export function NavBar() { const handleTeamChange = (teamId: string) => { const url = teamId ? `/teams/${teamId}` : '/'; - Cookies.set('teamId', teamId); + localStorage.setItem('teamId', teamId); router.push(cloudMode ? `${process.env.cloudUrl}${url}` : url); }; useEffect(() => { - const teamIdCookie = Cookies.get('teamId'); - if (teamIdCookie && pathname !== '/' && pathname !== '/dashboard') { + const teamIdLocal = localStorage.getItem('teamId'); + if (teamIdLocal && pathname !== '/' && pathname !== '/dashboard') { const url = '/'; router.push(cloudMode ? `${process.env.cloudUrl}${url}` : url); - } else if (teamIdCookie) { - const url = `/teams/${teamIdCookie}/dashboard`; + } else if (teamIdLocal) { + const url = `/teams/${teamIdLocal}/dashboard`; router.push(cloudMode ? `${process.env.cloudUrl}${url}` : url); } }, []); From c50b0c9d422ec322084cdf094d02031cdd13b447 Mon Sep 17 00:00:00 2001 From: chelsey-g <97612806+chelsey-g@users.noreply.github.com> Date: Mon, 11 Nov 2024 16:21:02 -0500 Subject: [PATCH 3/3] updated localStorage to next-basics --- src/app/(main)/NavBar.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/app/(main)/NavBar.tsx b/src/app/(main)/NavBar.tsx index f0280c45..f4123b0c 100644 --- a/src/app/(main)/NavBar.tsx +++ b/src/app/(main)/NavBar.tsx @@ -11,6 +11,7 @@ import Icons from 'components/icons'; import { useMessages, useNavigation, useTeamUrl } from 'components/hooks'; import styles from './NavBar.module.css'; import { useEffect } from 'react'; +import { getItem, setItem } from 'next-basics'; export function NavBar() { const { formatMessage, labels } = useMessages(); @@ -75,12 +76,12 @@ export function NavBar() { const handleTeamChange = (teamId: string) => { const url = teamId ? `/teams/${teamId}` : '/'; - localStorage.setItem('teamId', teamId); + setItem('umami.team', { id: teamId }); router.push(cloudMode ? `${process.env.cloudUrl}${url}` : url); }; useEffect(() => { - const teamIdLocal = localStorage.getItem('teamId'); + const teamIdLocal = getItem('umami.team')?.id; if (teamIdLocal && pathname !== '/' && pathname !== '/dashboard') { const url = '/'; router.push(cloudMode ? `${process.env.cloudUrl}${url}` : url);