Forráskód Böngészése

extend the session manager and rename the bearer functions

Sven Czarnian 2 éve
szülő
commit
67f56c823e

+ 2 - 1
src/components/auth.tsx

@@ -11,7 +11,8 @@ export const Auth: React.FC = () => {
     Session.setBearerToken(token);
     window.location.replace(`${baseUrl}/overview`);
   } else {
-    Session.reset();
+    Session.resetLastShownComponent();
+    Session.resetBearerToken();
     window.location.replace(`${baseUrl}/`);
   }
 

+ 2 - 1
src/components/login.tsx

@@ -13,7 +13,8 @@ export const Login: React.FC = () => {
   useEffect(() => {
     Auth.tokenIsValid().then((status) => {
       if (status !== BackendReturnStatus.Ok) {
-        Session.reset();
+        Session.resetLastShownComponent();
+        Session.resetBearerToken();
         setLoading(false);
       } else {
         navigate('/overview');

+ 2 - 1
src/components/logout.tsx

@@ -8,7 +8,8 @@ export const Logout: React.FC = () => {
   const navigate = useNavigate();
 
   useEffect(() => {
-    Session.reset();
+    Session.resetLastShownComponent();
+    Session.resetBearerToken();
     context.resetAuth();
     navigate('/');
   // eslint-disable-next-line react-hooks/exhaustive-deps

+ 13 - 1
src/services/session.ts

@@ -1,5 +1,5 @@
 export class Session {
-  static reset(): void {
+  static resetBearerToken(): void {
     localStorage.removeItem('token');
   }
 
@@ -18,4 +18,16 @@ export class Session {
   static theme(): string | null {
     return localStorage.getItem('theme');
   }
+
+  static resetLastShownComponent(): void {
+    localStorage.removeItem('path');
+  }
+
+  static setLastShownComponent(path: string): void {
+    localStorage.setItem('path', path);
+  }
+
+  static lastShownComponent(): string | null {
+    return localStorage.getItem('path');
+  }
 }