added content for legal sites
All checks were successful
Create and publish the Docker image / build-and-push-image (push) Successful in 2m4s

This commit is contained in:
z1glr
2025-10-04 13:18:24 +00:00
parent 0b6e7dc892
commit add1516362
4 changed files with 166 additions and 18 deletions

View File

@@ -9,10 +9,10 @@ import React, { useEffect, useState } from "react";
enum AuthState {
LoggedIn,
LoginScreen,
NoLongSite,
Unauthorized,
Loading,
}
export default function Main({ children }: { children: React.ReactNode }) {
const [auth, setAuth] = useState(AuthState.Loading);
@@ -39,19 +39,21 @@ export default function Main({ children }: { children: React.ReactNode }) {
zustand.getState().reset();
}
if (pathname === "/login") {
if (loggedIn) {
router.push("/");
} else {
setAuth(AuthState.LoginScreen);
}
} else {
if (loggedIn) {
setAuth(AuthState.LoggedIn);
} else {
switch (pathname) {
case "/datenschutz":
case "/impressum":
setAuth(AuthState.NoLongSite);
return;
case "/login":
if (loggedIn) {
router.push("/");
} else {
setAuth(AuthState.LoginScreen);
}
return;
default:
setAuth(AuthState.Unauthorized);
router.push("/login");
}
}
})();
}, [pathname, router]);
@@ -61,6 +63,7 @@ export default function Main({ children }: { children: React.ReactNode }) {
return <Loading />;
case AuthState.LoggedIn:
case AuthState.LoginScreen:
case AuthState.NoLongSite:
return children;
case AuthState.Unauthorized:
return "";