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);