"use client"; import React from "react"; import Navigation from "./Navigation"; import ModalSignUp from "@/sections/ModalSignUp/ModalSignUp"; import ModalSignIn from "@/sections/ModalSignIn/ModalSignIn"; import { logout } from "@/app/(auth)/actions"; import { useRouter } from "next/navigation"; import { getAuthCookie } from "@/app/(auth)/actions"; import { SourceModal } from "@/types"; import { AppRouterInstance } from "next/dist/shared/lib/app-router-context.shared-runtime"; import pb from "@/lib/pocketbase"; interface HeaderProps { isUserLoggedIn: boolean; } const signUpButton = { onClick: () => { document .getElementById("sign-up-modal") ?.setAttribute("name", SourceModal.SignUp); document.getElementById("sign-up-modal")?.removeAttribute("price_id"); document.getElementById("sign-up-modal")?.click(); }, text: "Sign Up", buttonColor: "bg-pink-700", buttonHover: "hover:bg-pink-700", }; const signOutButton = { onClick: () => logout(), text: "Logout", buttonColor: "bg-red-300", buttonHover: "hover:bg-red-600", }; const signInButton = { onClick: async (router?: AppRouterInstance) => { const authCookie = await getAuthCookie(); pb.authStore.loadFromCookie(authCookie || ""); if (!authCookie || !pb.authStore.isValid) { document.getElementById("sign-in-modal")?.setAttribute("name", "signIn"); document.getElementById("sign-in-modal")?.click(); } else { router?.push("/account"); } }, text: "SignIn", buttonColor: "text-pink-500", buttonHover: "hover:text-pink-700", }; function Header({ isUserLoggedIn }: HeaderProps) { const router = useRouter(); const button = isUserLoggedIn ? signOutButton : signUpButton; return (
{/* Desktop navigation */}
); } export default Header;