fix: asegurar runtime android y diagnostico pos
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
schema: spec-driven
|
||||
created: 2026-10-25
|
||||
22
openspec/changes/fix-android-webview-runtime/design.md
Normal file
22
openspec/changes/fix-android-webview-runtime/design.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# Design
|
||||
|
||||
## Context
|
||||
|
||||
La app usa nombres de iconos MDI, pero el set no estaba declarado explícitamente. El botón de navegación dependía de `d-md-none`, lo que puede ocultarlo en WebViews con un ancho reportado distinto al esperado.
|
||||
|
||||
## Goals / Non-Goals
|
||||
|
||||
**Goals:** garantizar iconos MDI empaquetados, menú visible y diagnóstico claro de stock.
|
||||
|
||||
**Non-Goals:** cambiar el application id, la base local o el flujo de firma Android.
|
||||
|
||||
## Decisions
|
||||
|
||||
- Declarar `aliases`, `mdi` y `defaultSet` en `createVuetify` además de importar el CSS de MDI.
|
||||
- Usar un botón de menú explícito siempre visible; el drawer seguirá siendo permanente en escritorio y temporal en móvil.
|
||||
- Cargar stock desde movimientos y bloquear el agregado de productos sin existencias con explicación.
|
||||
|
||||
## Risks / Trade-offs
|
||||
|
||||
- El botón de menú ocupa espacio adicional en escritorio, pero evita una dependencia frágil del breakpoint en WebView.
|
||||
- El stock se calcula localmente; esto es consistente con el modo offline.
|
||||
27
openspec/changes/fix-android-webview-runtime/proposal.md
Normal file
27
openspec/changes/fix-android-webview-runtime/proposal.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# Proposal
|
||||
|
||||
## Why
|
||||
|
||||
La APK mostraba controles sin iconos y ocultaba el menú aunque los assets MDI estuvieran presentes, dificultando la operación en Android. Además, el POS no distinguía visualmente la falta de inventario de un error de persistencia.
|
||||
|
||||
## What Changes
|
||||
|
||||
- Configurar explícitamente el set de iconos MDI de Vuetify y cargar su fuente.
|
||||
- Mostrar siempre un botón de menú accesible en el encabezado.
|
||||
- Mostrar stock disponible en cada producto y mensajes accionables al cobrar.
|
||||
- Mantener pruebas web de navegación y persistencia de ventas.
|
||||
|
||||
## Capabilities
|
||||
|
||||
### New Capabilities
|
||||
|
||||
- `android-webview-runtime`: controles e iconos operables en APK/WebView.
|
||||
|
||||
### Modified Capabilities
|
||||
|
||||
- `toldo-poc`: experiencia del POS y diagnóstico de inventario.
|
||||
|
||||
## Impact
|
||||
|
||||
- `apps/toldo-app/src/plugins/vuetify.ts`, Layout y POS.
|
||||
- Build Capacitor/Android y pruebas de regresión.
|
||||
@@ -0,0 +1,23 @@
|
||||
# Spec Delta
|
||||
|
||||
## Purpose
|
||||
|
||||
Garantiza que la versión Android muestre los controles de navegación y operación con iconos visibles y que los errores de venta puedan resolverse desde la interfaz.
|
||||
|
||||
## ADDED Requirements
|
||||
|
||||
### Requirement: Iconos y menú operables
|
||||
The system SHALL render MDI icons for navigation, quantity controls, deletion, and breadcrumbs in the Android WebView.
|
||||
|
||||
#### Scenario: Menú APK
|
||||
- **WHEN** the app opens on Android
|
||||
- **THEN** a visible menu button opens the navigation drawer
|
||||
- **AND** breadcrumb and action icons are visible
|
||||
|
||||
### Requirement: Diagnóstico de stock
|
||||
The system SHALL show available stock and explain when a product cannot be added or sold because inventory is insufficient.
|
||||
|
||||
#### Scenario: Producto sin inventario
|
||||
- **WHEN** user selects a product with zero stock
|
||||
- **THEN** the product is not added to the cart
|
||||
- **AND** the UI explains that initial inventory must be registered
|
||||
12
openspec/changes/fix-android-webview-runtime/tasks.md
Normal file
12
openspec/changes/fix-android-webview-runtime/tasks.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# Tasks
|
||||
|
||||
## 1. Runtime Android
|
||||
|
||||
- [x] 1.1 Declarar y empaquetar MDI en Vuetify; verificar que el build contiene las fuentes
|
||||
- [x] 1.2 Hacer visible el menú y mantener breadcrumbs/iconos operables; verificar con Playwright
|
||||
- [x] 1.3 Mostrar stock y errores accionables en POS; verificar tests de venta y stock
|
||||
|
||||
## 2. Entrega
|
||||
|
||||
- [x] 2.1 Ejecutar tests unitarios, `vue-tsc` y Playwright
|
||||
- [x] 2.2 Generar APK final y comprobar assets/metadatos Android
|
||||
Reference in New Issue
Block a user