From 79633c721cb570fd290a4feb2318d5537c5495f5 Mon Sep 17 00:00:00 2001 From: Patrick Alvin Alcala Date: Wed, 4 Feb 2026 10:36:47 +0800 Subject: [PATCH 1/4] Added new image --- assets/esign.webp | Bin 0 -> 6392 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/esign.webp diff --git a/assets/esign.webp b/assets/esign.webp new file mode 100644 index 0000000000000000000000000000000000000000..6397515bf89731e524bf840fa4d3e4472640b708 GIT binary patch literal 6392 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 Date: Wed, 4 Feb 2026 10:36:59 +0800 Subject: [PATCH 2/4] Updated page --- lib/pages/validate_detail_page.dart | 96 ++++++++++++++++++++++++----- 1 file changed, 79 insertions(+), 17 deletions(-) diff --git a/lib/pages/validate_detail_page.dart b/lib/pages/validate_detail_page.dart index c69b0dd..ddd2cf8 100644 --- a/lib/pages/validate_detail_page.dart +++ b/lib/pages/validate_detail_page.dart @@ -5,6 +5,7 @@ import 'package:gap/gap.dart'; import 'package:ocbo_esign_mobile/blocs/qr/functions/bloc_getqr.dart'; import 'package:ocbo_esign_mobile/functions/get_api.dart'; import 'package:ocbo_esign_mobile/widgets/box_widget.dart'; +import 'package:ocbo_esign_mobile/widgets/image_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'; @@ -30,9 +31,9 @@ class _ValidateDetailPageState extends State { _total = double.parse(total).toInt(); }); - final response = await getApi('get-transactions', name, null); - final applicationNoList = response['result']; - final dateList = response['result2']; + // final response = await getApi('get-transactions', name, null); + // final applicationNoList = response['result']; + // final dateList = response['result2']; } @override @@ -63,11 +64,18 @@ class _ValidateDetailPageState extends State { ), ), child: SizedBox( - width: MediaQuery.of(context).size.width - 90, + width: MediaQuery.of(context).size.width - 104, child: Column( children: [ const Gap(88), - InputWidget(controller: _searchController, password: false, placeholder: 'Specify Application Number'), + ClipRRect( + borderRadius: BorderRadius.circular(36), + child: InputWidget( + controller: _searchController, + password: false, + placeholder: 'Search Application Number', + ), + ), const Gap(24), BoxWidget( circular: 16, @@ -76,7 +84,7 @@ class _ValidateDetailPageState extends State { children: [ Column( children: [ - TextWidget(text: formatter.format(_total), size: 64, bold: true), + TextWidget(text: formatter.format(_total), size: 50, bold: true), TextWidget(text: 'Total Signed Applications', size: 16), ], ), @@ -84,20 +92,74 @@ class _ValidateDetailPageState extends State { ), ), const Gap(16), - const BoxWidget( - circular: 16, - content: Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Column( + (Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + BoxWidget( + alignment: CrossAxisAlignment.center, + circular: 16, + content: Row( children: [ - TextWidget(text: '23-000123', size: 24, bold: true), - TextWidget(text: 'Total Signed Applications', size: 20), + const ImageWidget(imagePath: 'assets/esign.webp', size: 48, measureByHeight: true), + const Gap(16), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + TextWidget(text: '23-000123', size: 18, bold: true), + const Gap(4), + TextWidget(text: 'Total Signed Applications', size: 12), + ], + ), ], ), - ], - ), - ), + ), + const Gap(8), + BoxWidget( + alignment: CrossAxisAlignment.center, + circular: 16, + content: Row( + children: [ + const ImageWidget(imagePath: 'assets/esign.webp', size: 48, measureByHeight: true), + const Gap(16), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + TextWidget(text: '23-000123', size: 18, bold: true), + const Gap(4), + TextWidget(text: 'Total Signed Applications', size: 12), + const Gap(4), + Expanded( + child: Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [TextWidget(text: 'Dates', size: 8)], + ), + ), + ], + ), + ], + ), + ), + const Gap(8), + BoxWidget( + alignment: CrossAxisAlignment.center, + circular: 16, + content: Row( + children: [ + const ImageWidget(imagePath: 'assets/esign.webp', size: 48, measureByHeight: true), + const Gap(16), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + TextWidget(text: '23-000123', size: 18, bold: true), + const Gap(4), + TextWidget(text: 'Total Signed Applications', size: 12), + ], + ), + ], + ), + ), + ], + )), ], ), ), From fb6e542106011a300447e2dd1bb55eed590b29d0 Mon Sep 17 00:00:00 2001 From: Patrick Alvin Alcala Date: Wed, 4 Feb 2026 10:37:13 +0800 Subject: [PATCH 3/4] Updated box widget --- lib/widgets/box_widget.dart | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/widgets/box_widget.dart b/lib/widgets/box_widget.dart index fa9eb85..d47e058 100644 --- a/lib/widgets/box_widget.dart +++ b/lib/widgets/box_widget.dart @@ -1,13 +1,12 @@ import 'package:flutter/material.dart'; -import 'package:gap/gap.dart'; -import 'package:ocbo_esign_mobile/widgets/text_widget.dart'; class BoxWidget extends StatelessWidget { final Widget content; final double? circular; + final CrossAxisAlignment? alignment; // final double? titleSize; - const BoxWidget({super.key, required this.content, this.circular = 8}); + const BoxWidget({super.key, required this.content, this.circular = 8, this.alignment = CrossAxisAlignment.start}); @override Widget build(BuildContext context) { @@ -20,7 +19,7 @@ class BoxWidget extends StatelessWidget { ), width: MediaQuery.of(context).size.width - 30, child: Column( - crossAxisAlignment: CrossAxisAlignment.start, + crossAxisAlignment: alignment ?? CrossAxisAlignment.start, children: [Padding(padding: const EdgeInsets.all(16), child: content)], ), ); From e57f8af97dd185192e7a5e61eb741bfb2f652171 Mon Sep 17 00:00:00 2001 From: Patrick Alvin Alcala Date: Wed, 4 Feb 2026 10:37:43 +0800 Subject: [PATCH 4/4] Added new image asset --- pubspec.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/pubspec.yaml b/pubspec.yaml index 85df586..3123689 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -45,3 +45,4 @@ flutter: - .env - assets/logo.webp - assets/pat-alcala.webp + - assets/esign.webp