Componentes comunes - FactoriaF5-Asturias/project-p5-digital-academy-team3-restaurant-frontend GitHub Wiki

MainHeader.vue

Se utiliza en páginas públicas y en AdminView.vue. Muestra el logo/enlace al inicio, Login o Logout según la sesión, el contador y acceso al carrito, y el icono de perfil cuando hay sesión. El perfil apunta a /admin para ADMIN, /kitchen para KITCHEN y / para otros roles. El contador suma las cantidades almacenadas por useCart().

MainFooter.vue

Muestra el logo, copyright y enlaces a perfiles del equipo. Se incluye en páginas públicas y en la vista admin. La cocina tiene su propio layout y no utiliza este footer.

Componentes de interacción compartidos

  • OrderFilter.vue: filtro controlado mediante modelValue y evento update:modelValue.
  • OrderCard.vue: presenta pedidos y acciones de estado.
  • CartItem.vue, CartItemsSection.vue y CartSummary.vue: contenido y controles del carrito.
  • MenuSearch.vue y MenuCategoryFilter.vue: búsqueda y selección de categoría.
  • SalesSummaryCard.vue y ReportDocumentsSection.vue: resumen y documentos de informes.
  • AdminSidebar.vue: navegación del panel admin.

Comunicación

Utiliza props para datos que recibe un componente y eventos (defineEmits) para comunicar acciones al padre. Para estado compartido entre ramas distintas de la interfaz, usa useAuth() o useCart() en lugar de acoplar componentes entre sí.