This commit is contained in:
2026-04-24 00:27:14 +03:00
parent 4bf0ab52f9
commit 30592394ef
9 changed files with 246 additions and 86 deletions
+52 -23
View File
@@ -47,6 +47,7 @@ export default function Header() {
const t = useTranslations();
const [isSticky, setIsSticky] = useState(false);
const [loginModalOpen, setLoginModalOpen] = useState(false);
const [loginModalMode, setLoginModalMode] = useState<"login" | "register">("login");
const router = useRouter();
const { data: session, status } = useSession();
@@ -63,10 +64,15 @@ export default function Header() {
const handleLogout = async () => {
await signOut({ redirect: false });
if (authConfig.isAuthRequired) {
router.replace("/signin");
router.replace("/home");
}
};
const openAuthModal = (mode: "login" | "register") => {
setLoginModalMode(mode);
setLoginModalOpen(true);
};
// Desktop auth section
const renderAuthSection = () => {
if (isLoading) return <Skeleton boxSize="10" rounded="full" />;
@@ -97,16 +103,27 @@ export default function Header() {
}
return (
<Button
variant="solid"
colorPalette="primary"
size="sm"
borderRadius="full"
onClick={() => setLoginModalOpen(true)}
>
<LuLogIn />
{t("auth.sign-in")}
</Button>
<HStack gap={2}>
<Button
variant="outline"
colorPalette="gray"
size="sm"
borderRadius="full"
onClick={() => openAuthModal("register")}
>
{t("auth.sign-up")}
</Button>
<Button
variant="solid"
colorPalette="primary"
size="sm"
borderRadius="full"
onClick={() => openAuthModal("login")}
>
<LuLogIn />
{t("auth.sign-in")}
</Button>
</HStack>
);
};
@@ -150,17 +167,29 @@ export default function Header() {
}
return (
<Button
variant="solid"
colorPalette="primary"
size="sm"
width="full"
borderRadius="full"
onClick={() => setLoginModalOpen(true)}
>
<LuLogIn />
{t("auth.sign-in")}
</Button>
<VStack gap={2} w="full">
<Button
variant="outline"
colorPalette="gray"
size="sm"
width="full"
borderRadius="full"
onClick={() => openAuthModal("register")}
>
{t("auth.sign-up")}
</Button>
<Button
variant="solid"
colorPalette="primary"
size="sm"
width="full"
borderRadius="full"
onClick={() => openAuthModal("login")}
>
<LuLogIn />
{t("auth.sign-in")}
</Button>
</VStack>
);
};
@@ -296,7 +325,7 @@ export default function Header() {
</Box>
{/* Login Modal */}
<LoginModal open={loginModalOpen} onOpenChange={setLoginModalOpen} />
<LoginModal open={loginModalOpen} onOpenChange={setLoginModalOpen} initialMode={loginModalMode} />
</>
);
}