Pantalla: Confirmacion de Accion
Identificador: SCR-ALT-015
Modulo: MTS-ALT-001 - Alertas y Notificaciones
Version: 1.0.0
Fecha: 2025-12-05
Autor: MobileUxUiDrone (Eight of Eight)
Estado: Especificado
| Atributo |
Valor |
| Nombre |
Confirmacion de Accion |
| Proposito |
Modal de confirmacion para acciones de toma, posponer u omitir |
| Tipo |
Bottom Sheet Modal |
| Acceso |
Desde notificacion, detalle de alerta, centro de notificaciones |
| Prioridad |
Alta |
2. Wireframe ASCII
2.1. Confirmacion de Toma
+------------------------------------------+
| [Drag handle] |
+------------------------------------------+
| |
| +------------------------------------+ |
| | [v] TOMA REGISTRADA | | <- Success animation
| +------------------------------------+ |
| |
| Medicinas del desayuno |
| 08:00 - Tomada a las 08:12 |
| |
| +------------------------------------+ |
| | [Pill] Metformina 850mg [v] | |
| +------------------------------------+ |
| | [Cap] Lisinopril 10mg [v] | |
| +------------------------------------+ |
| |
| +------------------------------------+ |
| | [+] Agregar nota opcional | |
| +------------------------------------+ |
| |
| +------------------------------------+ |
| | [Listo] | |
| +------------------------------------+ |
| |
| [Deshacer] disponible por 5 minutos |
| |
+------------------------------------------+
2.2. Confirmacion de Posponer
+------------------------------------------+
| [Drag handle] |
+------------------------------------------+
| |
| POSPONER RECORDATORIO |
| |
| Medicinas del desayuno |
| Hora original: 08:00 |
| |
| Recordarme en: |
| |
| +----------+ +----------+ +----------+ |
| | | | | | | |
| | 15 min | | 30 min | | 60 min | |
| | | | * | | | | <- Selected
| +----------+ +----------+ +----------+ |
| |
| Nueva hora: 08:30 |
| |
| +------------------------------------+ |
| | [Confirmar posposicion] | |
| +------------------------------------+ |
| |
| [Cancelar] |
| |
+------------------------------------------+
2.3. Confirmacion de Omision
+------------------------------------------+
| [Drag handle] |
+------------------------------------------+
| |
| OMITIR TOMA |
| |
| Estas seguro de omitir esta toma? |
| |
| Medicinas del desayuno (08:00) |
| - Metformina 850mg |
| - Lisinopril 10mg |
| |
| Razon (opcional): |
| +------------------------------------+ |
| | [v] No seleccionada | |
| +------------------------------------+ |
| | ( ) Se me olvido | |
| +------------------------------------+ |
| | ( ) Efectos secundarios | |
| +------------------------------------+ |
| | ( ) No tenia el medicamento | |
| +------------------------------------+ |
| | ( ) Indicacion medica | |
| +------------------------------------+ |
| | ( ) Otra razon | |
| +------------------------------------+ |
| |
| +------------------------------------+ |
| | [X] Confirmar omision | | <- Destructive
| +------------------------------------+ |
| |
| [Cancelar] |
| |
+------------------------------------------+
2.4. Agregar Nota
+------------------------------------------+
| [Drag handle] |
+------------------------------------------+
| |
| AGREGAR NOTA |
| |
| Medicinas del desayuno (08:00) |
| |
| +------------------------------------+ |
| | Tome con jugo de naranja porque | |
| | no habia leche. Me senti un poco | |
| | mareada despues. | |
| | | |
| +------------------------------------+ |
| 200/500 caracteres |
| |
| +------------------------------------+ |
| | [Guardar nota] | |
| +------------------------------------+ |
| |
| [Cancelar] |
| |
+------------------------------------------+
3. Componentes UI
3.1. Bottom Sheet Container
| Propiedad |
Valor |
| Componente |
CMP-MOD-002 (Bottom Sheet) |
| Drag handle |
Si |
| Dismissible |
Si (swipe down) |
| Height |
Auto (content-based) |
| Max height |
80% de pantalla |
3.2. Success Animation
| Propiedad |
Valor |
| Componente |
CMP-ANM-001 (Success Animation) |
| Type |
Checkmark bounce |
| Duration |
400ms |
| Color |
success.main |
| Feedback |
Haptic pulse |
3.3. Time Option Pills
| Propiedad |
Valor |
| Componente |
CMP-INP-013 (Pill Selector) |
| Options |
15, 30, 60 min |
| Selection |
Single |
| Size |
Min 64x48dp |
| Selected |
Primary background |
3.4. Reason Radio List
| Propiedad |
Valor |
| Componente |
CMP-INP-008 (Radio Group) |
| Selection |
Single + optional |
| First option |
"No seleccionada" (unchecked state) |
3.5. Note Text Area
| Propiedad |
Valor |
| Componente |
CMP-INP-003 (Text Area) |
| Max chars |
500 |
| Counter |
Si |
| Placeholder |
"Escribe una nota..." |
| Min height |
100dp |
4. Comportamientos
4.1. Flujo de Confirmacion de Toma
flowchart TD
A[Usuario tap Tomar] --> B[Mostrar modal confirmacion]
B --> C[Animacion de exito]
C --> D{Quiere agregar nota?}
D -->|Si| E[Expandir campo nota]
D -->|No| F[Esperar 2s o tap Listo]
E --> G[Escribir nota]
G --> H[Tap Guardar]
F --> I[Cerrar modal]
H --> I
I --> J[Actualizar UI]
J --> K[Cancelar recordatorios]
K --> L{Tiene cuidadores?}
L -->|Si| M[Notificar cuidadores]
L -->|No| N[Fin]
M --> N
4.2. Flujo de Posponer
flowchart TD
A[Usuario tap Posponer] --> B[Mostrar modal con opciones]
B --> C[Usuario selecciona tiempo]
C --> D[Calcular nueva hora]
D --> E[Mostrar nueva hora]
E --> F{Confirma?}
F -->|Si| G[Cancelar recordatorios actuales]
F -->|No| H[Cerrar modal]
G --> I[Programar nueva notificacion]
I --> J[Actualizar UI]
J --> K[Cerrar modal]
4.3. Undo de Toma
| Caracteristica |
Valor |
| Disponibilidad |
5 minutos despues de confirmar |
| Acceso |
Snackbar con "Deshacer" o desde historial |
| Efecto |
Revierte toma, reprograma recordatorios |
| Notificacion |
Avisa a cuidadores si ya fueron notificados |
5. Datos Requeridos
interface ConfirmationData {
action: 'TAKE' | 'SNOOZE' | 'OMIT' | 'NOTE';
event_id: string;
event_name: string;
scheduled_time: Date;
medications: MedicationItem[];
has_carers: boolean;
can_undo: boolean;
undo_deadline?: Date;
}
interface MedicationItem {
id: string;
name: string;
dosage: string;
form_icon: MedicationFormIcon;
}
5.2. Output Events
| Evento |
Payload |
Destino |
| onConfirmTake |
event_id, taken_at, note? |
API |
| onConfirmSnooze |
event_id, snooze_minutes |
Scheduler |
| onConfirmOmit |
event_id, reason?, note? |
API |
| onAddNote |
event_id, note_text |
API |
| onUndo |
event_id |
API + Scheduler |
| onCancel |
- |
Dismiss modal |
6. Accesibilidad
6.1. Labels y Hints
| Elemento |
accessibilityLabel |
| Modal (take) |
"Toma registrada. {medicamentos}. Agregar nota opcional" |
| Modal (snooze) |
"Posponer recordatorio. Selecciona tiempo" |
| Modal (omit) |
"Omitir toma. Selecciona razon opcional" |
| Time pill |
"Posponer {minutos} minutos" |
| Reason option |
"{razon}" |
| Note field |
"Nota opcional. {caracteres} de 500" |
| Undo link |
"Deshacer toma. Disponible por {minutos} minutos" |
6.2. Screen Reader Announcements
| Evento |
Anuncio |
| Modal abierto |
"{accion} de {evento}" |
| Toma confirmada |
"Toma registrada correctamente" |
| Pospuesto |
"Recordatorio pospuesto a las {hora}" |
| Omitido |
"Toma marcada como omitida" |
| Nota guardada |
"Nota guardada" |
| Undo |
"Toma revertida" |
6.3. Feedback Haptico
| Accion |
Patron |
| Toma confirmada |
Success (pulso largo) |
| Pospuesto |
Doble pulso |
| Omitido |
Pulso corto |
| Error |
Triple pulso rapido |
7. Metricas
7.1. Analytics Events
| Evento |
Parametros |
| confirmation_view |
action, event_id |
| confirmation_complete |
action, event_id, time_to_complete_ms |
| snooze_time_selected |
event_id, minutes |
| omit_reason_selected |
event_id, reason |
| note_added |
event_id, note_length |
| undo_used |
event_id, seconds_after_action |
8. Referencias
Documento generado por MobileUxUiDrone (Eight of Eight)