Files
andris-carservice/src/components/AuthGuard.tsx
T
Hermes f7a9906add
Build and publish images / docker (push) Canceled after 0s
carservice: initial commit
2026-07-20 20:51:23 +01:00

30 lines
701 B
TypeScript

"use client";
import { useEffect, useState } from "react";
import { useRouter, usePathname } from "next/navigation";
export default function AuthGuard({ children }: { children: React.ReactNode }) {
const router = useRouter();
const pathname = usePathname();
const [checked, setChecked] = useState(false);
useEffect(() => {
if (pathname === "/login") {
setChecked(true);
return;
}
const user = localStorage.getItem("user");
if (!user) {
router.push("/login");
} else {
setChecked(true);
}
}, [pathname, router]);
if (!checked) {
return <div className="min-h-screen bg-steel-100 dark:bg-steel-900" />;
}
return <>{children}</>;
}