Saltearse al contenido

QrDataValidator

Utilidad para validar y procesar códgios QR. La clase QrDataValidator se encarga de verificar la validez de la información contenida en un código QR y gestionar flujos de navegación o mostrar diálogos informativos en función del tipo de acción del QR.

Importación

import 'package:togie/utils/qr_data_validator.dart';

Métodos

MétodoDescripción
validate(bool isDebug, bool isDelivery)

Valida los datos del código QR ejecutando diferentes flujos según:

  • El estado del usuario (logueado o no).
  • El modo de depuración (debug) o condiciones de entrega.
  • La acción asociada al QR (invitación, reserva, empleado, togieId o inválido).
_invalidQRCode({String message, void Function()? onContinue})Muestra un diálogo de error indicando que el QR es inválido y ejecuta la función onValidatedEnd al finalizar.
_redirect(QrData qrData, bool redirect)Redirige a una nueva ruta basada en los datos del QR o muestra un error si no es posible redirigir.
_infoWidget(Widget infoWidget, {String message, void Function()? onContinue})Muestra un diálogo con información adicional y, opcionalmente, un botón para continuar el flujo.
_showDebugDialog()Muestra un diálogo de depuración con información detallada del QR para ayudar en el diagnóstico.

Propiedades

PropiedadTipoDescripción
qrDataQrDataDatos del código QR a validar.
pushScreenboolIndica si se debe hacer push de la pantalla en lugar de reemplazarla.
onValidatedEndvoid Function()Función a ejecutar una vez finalizada la validación del QR.
QrDataValidator(
context: context,
onValidatedEnd: () => (),
qrData: QrData.fromQrData(state.pathParameters['qrData'] ?? ""),
pushScreen: false,
).validate(kDebugMode, false)),