From 89fdcce6139a1f5bb2c9c67196cb59df5f24ec9e Mon Sep 17 00:00:00 2001 From: Patrick Alvin Alcala Date: Mon, 26 Jan 2026 19:02:41 +0800 Subject: [PATCH] Added qr bloc --- lib/blocs/qr/functions/bloc_getqr.dart | 14 ++++++++++++++ lib/blocs/qr/functions/bloc_setqr.dart | 14 ++++++++++++++ lib/blocs/qr/qr_bloc.dart | 14 ++++++++++++++ lib/blocs/qr/qr_event.dart | 8 ++++++++ lib/blocs/qr/qr_state.dart | 5 +++++ lib/functions/get_api.dart | 1 + 6 files changed, 56 insertions(+) create mode 100644 lib/blocs/qr/functions/bloc_getqr.dart create mode 100644 lib/blocs/qr/functions/bloc_setqr.dart create mode 100644 lib/blocs/qr/qr_bloc.dart create mode 100644 lib/blocs/qr/qr_event.dart create mode 100644 lib/blocs/qr/qr_state.dart diff --git a/lib/blocs/qr/functions/bloc_getqr.dart b/lib/blocs/qr/functions/bloc_getqr.dart new file mode 100644 index 0000000..e70a36c --- /dev/null +++ b/lib/blocs/qr/functions/bloc_getqr.dart @@ -0,0 +1,14 @@ +import 'package:flutter/widgets.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:ocbo_esign_mobile/blocs/qr/qr_bloc.dart'; +import 'package:ocbo_esign_mobile/blocs/qr/qr_event.dart'; + +Future blocGetQr(BuildContext context) async { + try { + final qrBloc = context.read(); + qrBloc.add(QrGetValue()); + return qrBloc.state.value; + } catch (e) { + return ''; + } +} diff --git a/lib/blocs/qr/functions/bloc_setqr.dart b/lib/blocs/qr/functions/bloc_setqr.dart new file mode 100644 index 0000000..b7baf11 --- /dev/null +++ b/lib/blocs/qr/functions/bloc_setqr.dart @@ -0,0 +1,14 @@ +import 'package:flutter/widgets.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:ocbo_esign_mobile/blocs/qr/qr_bloc.dart'; +import 'package:ocbo_esign_mobile/blocs/qr/qr_event.dart'; + +Future blocSetQr(BuildContext context, String value) async { + try { + final qrBloc = context.read(); + qrBloc.add(QrSetValue(value)); + return true; + } catch (e) { + return false; + } +} diff --git a/lib/blocs/qr/qr_bloc.dart b/lib/blocs/qr/qr_bloc.dart new file mode 100644 index 0000000..a336e98 --- /dev/null +++ b/lib/blocs/qr/qr_bloc.dart @@ -0,0 +1,14 @@ +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:ocbo_esign_mobile/blocs/qr/qr_event.dart'; +import 'package:ocbo_esign_mobile/blocs/qr/qr_state.dart'; + +class QrBloc extends Bloc { + QrBloc() : super(QrState('')) { + on((event, emit) { + emit(QrState(event.value)); + }); + on((event, emit) { + emit(state); + }); + } +} diff --git a/lib/blocs/qr/qr_event.dart b/lib/blocs/qr/qr_event.dart new file mode 100644 index 0000000..4277819 --- /dev/null +++ b/lib/blocs/qr/qr_event.dart @@ -0,0 +1,8 @@ +abstract class QrEvent {} + +class QrSetValue extends QrEvent { + final String value; + QrSetValue(this.value); +} + +class QrGetValue extends QrEvent {} diff --git a/lib/blocs/qr/qr_state.dart b/lib/blocs/qr/qr_state.dart new file mode 100644 index 0000000..05016e6 --- /dev/null +++ b/lib/blocs/qr/qr_state.dart @@ -0,0 +1,5 @@ +class QrState { + final String value; + + QrState(this.value); +} diff --git a/lib/functions/get_api.dart b/lib/functions/get_api.dart index 139d47e..025b349 100644 --- a/lib/functions/get_api.dart +++ b/lib/functions/get_api.dart @@ -1,4 +1,5 @@ import 'dart:convert'; +import 'dart:developer'; import 'package:dio/dio.dart'; import 'package:flutter_dotenv/flutter_dotenv.dart'; import 'package:dio_smart_retry/dio_smart_retry.dart';