"use client"; import React, { useEffect, useState, useRef } from "react"; import Navigation from "@/components/Navigation"; import ModalSignUp from "@/components/Modals/ModalSignUp"; import ModalSignIn from "@/components/Modals/ModalSignIn"; import { getAuthCookie, getUser, logout } from "@/app/actions"; import { User } from "@/types"; import { AppRouterInstance } from "next/dist/shared/lib/app-router-context.shared-runtime"; import pb from "@/lib/pocketbase"; import { useTheme } from "next-themes"; import Link from "next/link"; import ModalPasswordReset from "./Modals/ModalPasswordReset"; import {Person24Filled, SignOut24Filled} from '@fluentui/react-icons' import ModalEmailChange from "./Modals/ModalEmailChange"; import { usePathname } from "next/navigation"; interface HeaderProps { isUserLoggedIn: boolean; authString: string; } export default function Header({ isUserLoggedIn, authString }: HeaderProps) { //Advice: Remove this and replace it with proper state management like Redux, Recoil or Zustand const [user, setUser] = useState(); const [statefulUser, setStatefulUser] = useState(); const pathName = usePathname(); useEffect(() => { (async () => { const user = await getUser(); setUser(user as User); })(); }, [statefulUser]); const { theme, setTheme } = useTheme(); return (
{/* Desktop navigation */}
); }