import { useNavigate } from "@tanstack/react-router"; import { useState } from "react"; import { AuthDialog } from "#/components/store/AuthDialog"; import { ProductGrid } from "#/components/store/ProductGrid"; import { SiteHeader } from "#/components/store/SiteHeader"; import { useAuth } from "#/hooks/useAuth"; import { useCart } from "#/hooks/useCart"; import { useProducts } from "#/hooks/useProducts"; import { navigateToRoleHome } from "#/lib/auth-navigation"; export function StoreHome() { const { user, login, register, logout } = useAuth(); const productsQuery = useProducts(); const cart = useCart(); const navigate = useNavigate(); const [authMode, setAuthMode] = useState<"login" | "register" | null>(null); async function handleLogin(request: { username: string; password: string }) { const user = await login(request); setAuthMode(null); await navigateToRoleHome(navigate, user); return user; } async function handleRegister(request: { username: string; password: string; displayName: string; }) { const user = await register(request); setAuthMode(null); await navigateToRoleHome(navigate, user); return user; } return (
setAuthMode("login")} onRegister={() => setAuthMode("register")} onLogout={logout} />

Store

Shop Cymelle products

!open && setAuthMode(null)} onLogin={handleLogin} onRegister={handleRegister} />
); }