diff --git a/workloads/ecommerce/src/components/catalog/CatalogRouteBoundary.tsx b/workloads/ecommerce/src/components/catalog/CatalogRouteBoundary.tsx
deleted file mode 100644
index 0beef24..0000000
--- a/workloads/ecommerce/src/components/catalog/CatalogRouteBoundary.tsx
+++ /dev/null
@@ -1,29 +0,0 @@
-"use client";
-
-import type { ReactNode } from "react";
-import { usePathname, useSearchParams } from "next/navigation";
-
-type CatalogRouteBoundaryProps = {
- children: ReactNode;
-};
-
-/**
- * Fuerza el remontaje del árbol del catálogo cuando cambia:
- * - pathname
- * - category
- * - collection
- * - section
- * - búsqueda, orden u otros parámetros
- *
- * Esto evita que useState/useMemo conserven filtros de una navegación anterior.
- */
-export default function CatalogRouteBoundary({
- children,
-}: CatalogRouteBoundaryProps) {
- const pathname = usePathname();
- const searchParams = useSearchParams();
-
- const navigationKey = `${pathname}?${searchParams.toString()}`;
-
- return
{children}
;
-}
diff --git a/workloads/ecommerce/src/components/navigation/CategoryMenu.module.css b/workloads/ecommerce/src/components/navigation/CategoryMenu.module.css
deleted file mode 100644
index 18159ca..0000000
--- a/workloads/ecommerce/src/components/navigation/CategoryMenu.module.css
+++ /dev/null
@@ -1,89 +0,0 @@
-.navigation {
- align-items: center;
- background: #020617;
- border-bottom: 3px solid #cbd5e1;
- box-sizing: border-box;
- display: flex;
- gap: 30px;
- min-height: 72px;
- overflow-x: auto;
- padding: 0 32px;
- scrollbar-width: none;
- width: 100%;
-}
-
-.navigation::-webkit-scrollbar {
- display: none;
-}
-
-.menuButton {
- align-items: center;
- display: inline-flex;
- flex: 0 0 auto;
- flex-direction: column;
- gap: 5px;
- justify-content: center;
- min-height: 44px;
- min-width: 44px;
- text-decoration: none;
-}
-
-.menuButton span {
- background: #f8fafc;
- border-radius: 999px;
- display: block;
- height: 3px;
- width: 22px;
-}
-
-.links {
- align-items: stretch;
- display: flex;
- gap: clamp(28px, 4vw, 62px);
- min-width: max-content;
-}
-
-.link {
- align-items: center;
- border-bottom: 3px solid transparent;
- color: #f8fafc;
- display: inline-flex;
- font-size: 16px;
- font-weight: 800;
- min-height: 69px;
- padding: 0 2px;
- text-decoration: none;
- transition:
- border-color 160ms ease,
- color 160ms ease,
- opacity 160ms ease;
- white-space: nowrap;
-}
-
-.link:hover,
-.link:focus-visible {
- color: #ffffff;
- opacity: 0.82;
- outline: none;
-}
-
-.active {
- border-bottom-color: #ffffff;
-}
-
-@media (max-width: 900px) {
- .navigation {
- gap: 18px;
- min-height: 64px;
- padding: 0 18px;
- }
-
- .links {
- gap: 28px;
- }
-
- .link {
- font-size: 14px;
- min-height: 61px;
- }
-}
diff --git a/workloads/ecommerce/src/components/navigation/CategoryMenu.tsx b/workloads/ecommerce/src/components/navigation/CategoryMenu.tsx
deleted file mode 100644
index ac81c74..0000000
--- a/workloads/ecommerce/src/components/navigation/CategoryMenu.tsx
+++ /dev/null
@@ -1,87 +0,0 @@
-"use client";
-
-import { usePathname, useSearchParams } from "next/navigation";
-import styles from "./CategoryMenu.module.css";
-
-type MenuItem = {
- label: string;
- href: string;
-};
-
-/**
- * Menú principal ARI Shopping.
- *
- * Hotfix de estabilidad:
- * Se utilizan enlaces HTML nativos para que cada cambio de categoría
- * realice una navegación completa. Esto evita conservar estados obsoletos
- * del catálogo cuando únicamente cambia el query string.
- */
-const MENU_ITEMS: readonly MenuItem[] = [
- {
- label: "Juguetes para bebés",
- href: "/catalog?category=Figuras",
- },
- {
- label: "Educativos",
- href: "/catalog?category=Figuras§ion=educativos",
- },
- {
- label: "Muñecas y peluches",
- href: "/catalog?category=Peluches",
- },
- {
- label: "Acción y aventura",
- href: "/catalog?collection=Marvel",
- },
- {
- label: "Mochilas",
- href: "/catalog?category=Mochilas",
- },
- {
- label: "Variedades",
- href: "/catalog",
- },
-];
-
-function normalizeUrl(pathname: string, query: string): string {
- return query ? `${pathname}?${query}` : pathname;
-}
-
-export default function CategoryMenu() {
- const pathname = usePathname();
- const searchParams = useSearchParams();
- const currentUrl = normalizeUrl(pathname, searchParams.toString());
-
- return (
-
- );
-}