Feat: Agregar persistencia de subcategorías seleccionadas por tab
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m8s

Implementa la funcionalidad para que las subcategorías seleccionadas persistan:
- Entre cambios de tabs (cada tab mantiene sus propias subcategorías)
- Entre refrescos de página (guardado en localStorage)

Cambios técnicos:
- Modificado useCatacion.ts para guardar subcategorías por tab en lugar de array global
- Agregada función actualizarSubcategorias() que persiste en localStorage
- subcategoriasActivas ahora es computed basado en la tab activa
- Removida limpieza de subcategorías al cambiar de tab en sesion.vue
- Actualizado toggleSubcategoria para usar la nueva función de persistencia
This commit is contained in:
2025-10-18 14:56:09 -06:00
parent c27da68682
commit 45d4b1d663
2 changed files with 60 additions and 6 deletions

View File

@@ -144,7 +144,7 @@
<button
v-if="subcategoriasActivas.length > 0"
class="subcategoria-chip subcategoria-chip-clear"
@click="subcategoriasActivas = []"
@click="actualizarSubcategorias([])"
>
<UIcon name="i-lucide-x" class="w-3 h-3 inline mr-1" />
Limpiar Todo
@@ -218,6 +218,7 @@ const {
tabActiva,
subcategoriasActivas,
accordionAbierto,
actualizarSubcategorias,
exportarSesion,
eliminarSesionActual,
} = useCatacion()
@@ -338,7 +339,6 @@ onMounted(async () => {
// Cambiar tab
const cambiarTab = (tab: TabCatacion) => {
tabActiva.value = tab
subcategoriasActivas.value = [] // Limpiar subcategorías al cambiar de tab
mostrarMenu.value = false
}
@@ -346,14 +346,19 @@ const cambiarTab = (tab: TabCatacion) => {
const toggleSubcategoria = (subcategoria: Subcategoria) => {
if (!subcategoria) return
const index = subcategoriasActivas.value.indexOf(subcategoria)
const actuales = [...subcategoriasActivas.value]
const index = actuales.indexOf(subcategoria)
if (index > -1) {
// Ya está seleccionada, removerla
subcategoriasActivas.value = subcategoriasActivas.value.filter(s => s !== subcategoria)
actuales.splice(index, 1)
} else {
// No está seleccionada, agregarla
subcategoriasActivas.value = [...subcategoriasActivas.value, subcategoria]
actuales.push(subcategoria)
}
// Guardar en localStorage y actualizar estado
actualizarSubcategorias(actuales)
}
// Formatear fecha