From 794edf902aabd664b3828e010af514f811a487b4 Mon Sep 17 00:00:00 2001 From: Patrick Alvin Alcala Date: Tue, 27 Jan 2026 17:52:39 +0800 Subject: [PATCH 1/3] Cleanup api --- lib/functions/get_api.dart | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/functions/get_api.dart b/lib/functions/get_api.dart index 025b349..139d47e 100644 --- a/lib/functions/get_api.dart +++ b/lib/functions/get_api.dart @@ -1,5 +1,4 @@ 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'; From 809cf7aa5fb5f48d57547fb57a1b5879ef77bb4a Mon Sep 17 00:00:00 2001 From: Patrick Alvin Alcala Date: Tue, 27 Jan 2026 17:52:51 +0800 Subject: [PATCH 2/3] Updated pages --- lib/main.dart | 6 +++++- lib/pages/validate_detail_page.dart | 18 +++++++++++------- lib/pages/validate_page.dart | 4 +--- 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index ca91559..645369c 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_dotenv/flutter_dotenv.dart'; import 'package:go_router/go_router.dart'; +import 'package:ocbo_esign_mobile/blocs/qr/qr_bloc.dart'; import 'package:ocbo_esign_mobile/blocs/user/user_bloc.dart'; import 'package:ocbo_esign_mobile/pages/approval_page.dart'; import 'package:ocbo_esign_mobile/pages/index_page.dart'; @@ -75,7 +76,10 @@ class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MultiBlocProvider( - providers: [BlocProvider(create: (context) => UserBloc())], + providers: [ + BlocProvider(create: (context) => UserBloc()), + BlocProvider(create: (context) => QrBloc()), + ], child: MaterialApp.router( debugShowCheckedModeBanner: false, theme: ThemeData(useMaterial3: true), diff --git a/lib/pages/validate_detail_page.dart b/lib/pages/validate_detail_page.dart index feffb12..c69b0dd 100644 --- a/lib/pages/validate_detail_page.dart +++ b/lib/pages/validate_detail_page.dart @@ -7,6 +7,7 @@ import 'package:ocbo_esign_mobile/functions/get_api.dart'; import 'package:ocbo_esign_mobile/widgets/box_widget.dart'; import 'package:ocbo_esign_mobile/widgets/input_widget.dart'; import 'package:ocbo_esign_mobile/widgets/text_widget.dart'; +import 'package:intl/intl.dart'; class ValidateDetailPage extends StatefulWidget { const ValidateDetailPage({super.key}); @@ -17,18 +18,21 @@ class ValidateDetailPage extends StatefulWidget { class _ValidateDetailPageState extends State { final _searchController = TextEditingController(); - late double _total = 0; + late int _total = 0; + final NumberFormat formatter = NumberFormat('#,###.##'); void _getTotalSigned() async { final name = await blocGetQr(context); - final response = await getApi('get-transactions-count', name, null); - log(name.toString()); - log(response.toString()); - final total = response['result']; + final responseCount = await getApi('get-transactions-count', name, null); + final total = responseCount['result']; setState(() { - _total = double.parse(total); + _total = double.parse(total).toInt(); }); + + final response = await getApi('get-transactions', name, null); + final applicationNoList = response['result']; + final dateList = response['result2']; } @override @@ -72,7 +76,7 @@ class _ValidateDetailPageState extends State { children: [ Column( children: [ - TextWidget(text: _total.toString(), size: 64, bold: true), + TextWidget(text: formatter.format(_total), size: 64, bold: true), TextWidget(text: 'Total Signed Applications', size: 16), ], ), diff --git a/lib/pages/validate_page.dart b/lib/pages/validate_page.dart index d0ac073..a704202 100644 --- a/lib/pages/validate_page.dart +++ b/lib/pages/validate_page.dart @@ -69,7 +69,6 @@ class _BarcodeScannerScreenState extends State { final qr = value.substring(35); final response = await getApi('check-qr', qr, null); final result = response["result"]?.toString(); - log('result: $result'); if (result != null) { setState(() { @@ -103,8 +102,7 @@ class _BarcodeScannerScreenState extends State { await blocSetQr(context, qrResult); } - void gotoDetails() async { - log('qr $qrResult'); + void gotoDetails() { updateBlockQr(); context.push('/details'); } From 621d2f1614edd48a244fd0ac079b5fd39c4ab1d1 Mon Sep 17 00:00:00 2001 From: Patrick Alvin Alcala Date: Tue, 27 Jan 2026 17:53:06 +0800 Subject: [PATCH 3/3] Added dependencies --- pubspec.lock | 12 ++++++++++-- pubspec.yaml | 1 + 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 2994471..3523d5a 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -29,10 +29,10 @@ packages: dependency: transitive description: name: bloc - sha256: a2cebb899f91d36eeeaa55c7b20b5915db5a9df1b8fd4a3c9c825e22e474537d + sha256: a48653a82055a900b88cd35f92429f068c5a8057ae9b136d197b3d56c57efb81 url: "https://pub.dev" source: hosted - version: "9.1.0" + version: "9.2.0" boolean_selector: dependency: transitive description: @@ -304,6 +304,14 @@ packages: url: "https://pub.dev" source: hosted version: "3.0.1" + intl: + dependency: "direct main" + description: + name: intl + sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5" + url: "https://pub.dev" + source: hosted + version: "0.20.2" json_annotation: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 293276b..85df586 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -22,6 +22,7 @@ dependencies: hashlib: ^2.2.0 flutter_bloc: ^9.1.1 vibration: ^3.1.4 + intl: ^0.20.2 dev_dependencies: flutter_test: