DashboardView: tabla de épicas, columna descripción con modal, auto-delete drafts, notificación inline

- Epics reemplazados de cards a tabla con columnas: código, rol, título, descripción (modal), HUs, estado
- HUs tabla: nueva columna Desc con icono ojo que abre modal con descripción completa
- enrichHU ahora incluye description en el objeto
- pushDraft: al recibir 200 OK elimina el draft de Dexie y refresca
- Notificación inline (esquina inferior derecha) reemplaza toast global que no funcionaba en Tauri
- Eliminado useToast / ToastNotification (no funcional en Tauri)
This commit is contained in:
2026-05-29 15:28:59 -05:00
parent 9909f16229
commit a4245017f8
3 changed files with 104 additions and 45 deletions
+2 -1
View File
@@ -89,7 +89,7 @@ export const useWorkItemsStore = defineStore('workitems', () => {
return { id: null, name: '', employeeId: null }
}
function enrichHU(hu: { title?: string; id?: number; status?: string | number | null; status_name?: string | null; priority?: string | number | null; story_points?: number | null; acceptance_criteria?: string | null; criterios_aceptacion?: string | null; assigned_to?: number | null; asignado_a?: number[] | string[] | null; asignado_a_names?: string[] | string | null; assigned_name?: string }, initiativeId: number): EnrichedUserStory {
function enrichHU(hu: { title?: string; id?: number; description?: string | null; status?: string | number | null; status_name?: string | null; priority?: string | number | null; story_points?: number | null; acceptance_criteria?: string | null; criterios_aceptacion?: string | null; assigned_to?: number | null; asignado_a?: number[] | string[] | null; asignado_a_names?: string[] | string | null; assigned_name?: string }, initiativeId: number): EnrichedUserStory {
const h = parseHierarchy(hu.title || '')
const rawCriteria = hu.acceptance_criteria || hu.criterios_aceptacion || ''
const criteriaList = rawCriteria ? parseQuillList(rawCriteria) : []
@@ -100,6 +100,7 @@ export const useWorkItemsStore = defineStore('workitems', () => {
status: String(hu.status ?? ''),
priority: String(hu.priority ?? ''),
story_points: hu.story_points ?? undefined,
description: hu.description || '',
acceptance_criteria: rawCriteria,
criterios_aceptacion: rawCriteria,
initiative: initiativeId,