From 2e47f7b55d17e0a7c9e1af34648b3b32cc095312 Mon Sep 17 00:00:00 2001 From: Cristian Felipe Cruz Buitron Date: Sat, 29 Aug 2026 15:10:59 +0000 Subject: [PATCH] feat(ecommerce): icono de cuenta visible en mobile + indicador de sesion Pedido explicito del usuario tras probar el login real: el boton de 'Mi cuenta' estaba oculto en mobile (hidden sm:inline-flex, solo alcanzable desde el menu hamburguesa). Pasa a estar siempre visible en el header, y agrega un punto verde cuando hay sesion iniciada -- mismo patron visual que los badges de cantidad de carrito/favoritos, pero de presencia (con sesion o sin ella), no de conteo. --- workloads/ecommerce/components/layout/navbar.tsx | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/workloads/ecommerce/components/layout/navbar.tsx b/workloads/ecommerce/components/layout/navbar.tsx index 227fb11..b392300 100644 --- a/workloads/ecommerce/components/layout/navbar.tsx +++ b/workloads/ecommerce/components/layout/navbar.tsx @@ -10,6 +10,7 @@ import { Button } from "@/components/ui/button"; import { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle } from "@/components/ui/sheet"; import type { Category, Product } from "@/lib/headless/types"; import { useCartStore } from "@/store/cart-store"; +import { useCustomerStore } from "@/store/customer-store"; import { useWishlistStore } from "@/store/wishlist-store"; type CategoryNode = Category & { children: Category[] }; @@ -34,6 +35,9 @@ export function Navbar({ products, categories }: { products: Product[]; categori const openWishlist = useWishlistStore((state) => state.openWishlist); const count = cartHydrated ? items.reduce((sum, item) => sum + item.quantity, 0) : 0; const wishlistCount = wishlistHydrated ? wishlistProducts.length : 0; + const customer = useCustomerStore((state) => state.customer); + const customerHydrated = useCustomerStore((state) => state.hasHydrated); + const isLoggedIn = customerHydrated && customer !== null; const tree = useMemo(() => buildCategoryTree(categories), [categories]); // Derivado de los productos reales (no de un endpoint de colecciones): @@ -62,7 +66,15 @@ export function Navbar({ products, categories }: { products: Product[]; categori
- + {/* Antes escondido en mobile (solo alcanzable desde el menu + hamburguesa) -- pedido explicito del usuario: visible + siempre en el header, con un punto verde cuando hay sesion + iniciada (mismo patron que el badge de cantidad del + carrito/favoritos, pero de presencia, no de conteo). */} +