From 856a9b97bf2c6840b01443b7efb1be6cea8e663e Mon Sep 17 00:00:00 2001
From: Miqdad <ahmadmiqdad27@gmail.com>
Date: Thu, 18 Sep 2025 10:29:10 +0700
Subject: <Miqdad> fix hydration issue

---
 app/lib/camera/component/hedear.tsx | 37 +++++++++++++++++++++++++++----------
 1 file changed, 27 insertions(+), 10 deletions(-)

(limited to 'app/lib/camera/component/hedear.tsx')

diff --git a/app/lib/camera/component/hedear.tsx b/app/lib/camera/component/hedear.tsx
index 2a8bfc6..81f5d01 100644
--- a/app/lib/camera/component/hedear.tsx
+++ b/app/lib/camera/component/hedear.tsx
@@ -1,36 +1,53 @@
 // components/Header.tsx
+"use client";
+
 import Image from "next/image";
 import { deleteAuth, getAuth } from "../../api/auth";
 import { Button } from "@mui/material";
 import { useRouter } from "next/navigation";
+import { useEffect, useState } from "react";
 
 export default function Header() {
-  const auth = getAuth();
-  const route = useRouter();
+  const router = useRouter();
+  const [mounted, setMounted] = useState(false);
+  const [auth, setAuth] = useState<any>(null);
+
+  useEffect(() => {
+    setMounted(true);
+    try {
+      setAuth(getAuth());
+    } catch {
+      setAuth(null);
+    }
+  }, []);
 
-  const handleSigOut = () => {
+  const handleSignOut = () => {
     deleteAuth();
-    route.push('/login');
+    router.push("/login");
   };
+
   return (
     <nav className="fixed top-0 left-0 w-full bg-white border-b-2 border-red-500 py-4 px-4 sm:px-96 z-50 shadow-md">
       <div className="flex justify-between items-center">
         <div className="flex items-center">
           <Image
-            src="/images/indoteknik-logo.png" // Ganti dengan path logo Anda
+            src="/images/indoteknik-logo.png"
             alt="Logo"
             width={120}
             height={60}
             className="rounded-full"
+            priority
           />
         </div>
-        {auth && (
-          <div>
-            <Button size="small" onClick={() => handleSigOut()}>
+        <div>
+          {mounted && auth ? (
+            <Button size="small" onClick={handleSignOut}>
               Logout
             </Button>
-          </div>
-        )}
+          ) : (
+            <span className="inline-block h-8 w-16" aria-hidden />
+          )}
+        </div>
       </div>
     </nav>
   );
-- 
cgit v1.2.3

