From e0618ea3c444a361bffc1697fae8041551184c52 Mon Sep 17 00:00:00 2001 From: Patrick Alvin Alcala Date: Fri, 12 Dec 2025 16:39:12 +0800 Subject: [PATCH] Added bloc --- lib/blocs/user/functions/bloc_getuser.dart | 14 ++++ lib/blocs/user/functions/bloc_setuser.dart | 14 ++++ lib/blocs/user/user_bloc.dart | 14 ++++ lib/blocs/user/user_event.dart | 8 ++ lib/blocs/user/user_state.dart | 5 ++ pubspec.lock | 96 ++++++++-------------- pubspec.yaml | 2 +- 7 files changed, 88 insertions(+), 65 deletions(-) create mode 100644 lib/blocs/user/functions/bloc_getuser.dart create mode 100644 lib/blocs/user/functions/bloc_setuser.dart create mode 100644 lib/blocs/user/user_bloc.dart create mode 100644 lib/blocs/user/user_event.dart create mode 100644 lib/blocs/user/user_state.dart diff --git a/lib/blocs/user/functions/bloc_getuser.dart b/lib/blocs/user/functions/bloc_getuser.dart new file mode 100644 index 0000000..12e0a71 --- /dev/null +++ b/lib/blocs/user/functions/bloc_getuser.dart @@ -0,0 +1,14 @@ +import 'package:flutter/widgets.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:ocbo_esign_validator/blocs/user/user_bloc.dart'; +import 'package:ocbo_esign_validator/blocs/user/user_event.dart'; + +Future blocGetUser(BuildContext context) async { + try { + final userBloc = context.read(); + userBloc.add(UserGetValue()); + return userBloc.state.value; + } catch (e) { + return ''; + } +} diff --git a/lib/blocs/user/functions/bloc_setuser.dart b/lib/blocs/user/functions/bloc_setuser.dart new file mode 100644 index 0000000..d433dd0 --- /dev/null +++ b/lib/blocs/user/functions/bloc_setuser.dart @@ -0,0 +1,14 @@ +import 'package:flutter/widgets.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:ocbo_esign_validator/blocs/user/user_bloc.dart'; +import 'package:ocbo_esign_validator/blocs/user/user_event.dart'; + +Future blocSetUser(BuildContext context, String value) async { + try { + final userBloc = context.read(); + userBloc.add(UserSetValue(value)); + return true; + } catch (e) { + return false; + } +} diff --git a/lib/blocs/user/user_bloc.dart b/lib/blocs/user/user_bloc.dart new file mode 100644 index 0000000..d7c5526 --- /dev/null +++ b/lib/blocs/user/user_bloc.dart @@ -0,0 +1,14 @@ +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:ocbo_esign_validator/blocs/user/user_event.dart'; +import 'package:ocbo_esign_validator/blocs/user/user_state.dart'; + +class UserBloc extends Bloc { + UserBloc() : super(UserState('')) { + on((event, emit) { + emit(UserState(event.value)); + }); + on((event, emit) { + emit(state); + }); + } +} diff --git a/lib/blocs/user/user_event.dart b/lib/blocs/user/user_event.dart new file mode 100644 index 0000000..3c9b4be --- /dev/null +++ b/lib/blocs/user/user_event.dart @@ -0,0 +1,8 @@ +abstract class UserEvent {} + +class UserSetValue extends UserEvent { + final String value; + UserSetValue(this.value); +} + +class UserGetValue extends UserEvent {} diff --git a/lib/blocs/user/user_state.dart b/lib/blocs/user/user_state.dart new file mode 100644 index 0000000..6e75251 --- /dev/null +++ b/lib/blocs/user/user_state.dart @@ -0,0 +1,5 @@ +class UserState { + final String value; + + UserState(this.value); +} diff --git a/pubspec.lock b/pubspec.lock index 031a2f2..b0f3ddb 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1,30 +1,6 @@ # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: - adaptive_dialog: - dependency: "direct main" - description: - name: adaptive_dialog - sha256: "46e235feb99475d36a55fb6a424fe4e4aea1235c41089b847c4a20087582f029" - url: "https://pub.dev" - source: hosted - version: "2.6.0" - animations: - dependency: transitive - description: - name: animations - sha256: "18938cefd7dcc04e1ecac0db78973761a01e4bc2d6bfae0cfa596bfeac9e96ab" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - appkit_ui_element_colors: - dependency: transitive - description: - name: appkit_ui_element_colors - sha256: b88a7c35d440fa3ac75222d0e2b7e3259200e531e33b5d2468e358119f3481dc - url: "https://pub.dev" - source: hosted - version: "1.0.1" args: dependency: transitive description: @@ -41,6 +17,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.13.0" + bloc: + dependency: transitive + description: + name: bloc + sha256: a2cebb899f91d36eeeaa55c7b20b5915db5a9df1b8fd4a3c9c825e22e474537d + url: "https://pub.dev" + source: hosted + version: "9.1.0" boolean_selector: dependency: transitive description: @@ -129,14 +113,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.1" - dynamic_color: - dependency: transitive - description: - name: dynamic_color - sha256: "43a5a6679649a7731ab860334a5812f2067c2d9ce6452cf069c5e0c25336c17c" - url: "https://pub.dev" - source: hosted - version: "1.8.1" equatable: dependency: transitive description: @@ -166,6 +142,14 @@ packages: description: flutter source: sdk version: "0.0.0" + flutter_bloc: + dependency: "direct main" + description: + name: flutter_bloc + sha256: cf51747952201a455a1c840f8171d273be009b932c75093020f9af64f2123e38 + url: "https://pub.dev" + source: hosted + version: "9.1.1" flutter_dotenv: dependency: "direct main" description: @@ -216,14 +200,6 @@ packages: url: "https://pub.dev" source: hosted version: "6.3.3" - gradient_borders: - dependency: transitive - description: - name: gradient_borders - sha256: "492bc88ab8d88a4117a7f00e525a669b65f19973bea7ee677f9d9de7603bf037" - url: "https://pub.dev" - source: hosted - version: "1.0.2" hashlib: dependency: "direct main" description: @@ -264,14 +240,6 @@ packages: url: "https://pub.dev" source: hosted version: "3.0.1" - intersperse: - dependency: transitive - description: - name: intersperse - sha256: "2f8a905c96f6cbba978644a3d5b31b8d86ddc44917662df7d27a61f3df66a576" - url: "https://pub.dev" - source: hosted - version: "2.0.0" leak_tracker: dependency: transitive description: @@ -312,22 +280,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.0" - macos_ui: - dependency: transitive - description: - name: macos_ui - sha256: "09fb51d65b6a2d328ba5aa429ba0f7aabad5bc770193ea6e49da9f29bf95d835" - url: "https://pub.dev" - source: hosted - version: "2.2.2" - macos_window_utils: - dependency: transitive - description: - name: macos_window_utils - sha256: d4df3501fd32ac0d2d7590cb6a8e4758337d061c8fa0db816fdd636be63a8438 - url: "https://pub.dev" - source: hosted - version: "1.9.0" matcher: dependency: transitive description: @@ -368,6 +320,14 @@ packages: url: "https://pub.dev" source: hosted version: "7.1.3" + nested: + dependency: transitive + description: + name: nested + sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20" + url: "https://pub.dev" + source: hosted + version: "1.0.0" nm: dependency: transitive description: @@ -456,6 +416,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.8" + provider: + dependency: transitive + description: + name: provider + sha256: "4e82183fa20e5ca25703ead7e05de9e4cceed1fbd1eadc1ac3cb6f565a09f272" + url: "https://pub.dev" + source: hosted + version: "6.1.5+1" sky_engine: dependency: transitive description: flutter diff --git a/pubspec.yaml b/pubspec.yaml index d66982f..958ee4a 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -20,7 +20,7 @@ dependencies: flutter_dotenv: ^6.0.0 dio_smart_retry: ^7.0.1 hashlib: ^2.2.0 - adaptive_dialog: ^2.6.0 + flutter_bloc: ^9.1.1 dev_dependencies: flutter_test: