Compare commits

...

5 commits

Author SHA1 Message Date
908308b62e Updated widget 2026-02-04 18:28:50 +08:00
f4ab256fa0 Updated pages 2026-02-04 18:28:35 +08:00
b1024daa59 Added check image 2026-02-04 18:28:26 +08:00
b2715d7d72 New logo 2026-02-04 18:28:16 +08:00
b8bf786920 Updated flutter 2026-02-04 18:28:05 +08:00
11 changed files with 272 additions and 130 deletions

2
.fvmrc
View file

@ -1,5 +1,5 @@
{ {
"flutter": "3.38.3", "flutter": "3.38.9",
"runPubGetOnSdkChanges": true, "runPubGetOnSdkChanges": true,
"updateVscodeSettings": true, "updateVscodeSettings": true,
"updateGitIgnore": true "updateGitIgnore": true

View file

@ -1,3 +1,3 @@
{ {
"dart.flutterSdkPath": ".fvm/versions/3.38.3" "dart.flutterSdkPath": ".fvm/versions/3.38.9"
} }

BIN
assets/esign-check.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

BIN
assets/esign-mobile.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -44,7 +44,7 @@ class IndexPage extends StatelessWidget {
child: Column( child: Column(
children: [ children: [
const Gap(88), const Gap(88),
const ImageWidget(imagePath: 'assets/logo.webp', size: 160, measureByHeight: false), const ImageWidget(imagePath: 'assets/esign-mobile.webp', size: 160, measureByHeight: false),
const Gap(20), const Gap(20),
const TextWidget( const TextWidget(
text: "OCBO e-Sign", text: "OCBO e-Sign",

View file

@ -120,8 +120,8 @@ class _LoginPageState extends State<LoginPage> {
child: Column( child: Column(
children: [ children: [
const Gap(88), const Gap(88),
const ImageWidget(imagePath: 'assets/logo.webp', size: 100, measureByHeight: true), const ImageWidget(imagePath: 'assets/esign-mobile.webp', size: 148, measureByHeight: true),
const Gap(58), const Gap(32),
LoginBoxWidget( LoginBoxWidget(
title: 'Login', title: 'Login',
content: Column( content: Column(
@ -135,6 +135,7 @@ class _LoginPageState extends State<LoginPage> {
const Gap(8), const Gap(8),
InputWidget(controller: _passwordController, password: true), InputWidget(controller: _passwordController, password: true),
const Gap(24), const Gap(24),
// ValueListenableBuilder<String>( // ValueListenableBuilder<String>(
// valueListenable: passwordNotifier, // valueListenable: passwordNotifier,
// builder: (context, password, child) { // builder: (context, password, child) {
@ -145,6 +146,18 @@ class _LoginPageState extends State<LoginPage> {
// ); // );
// }, // },
// ), // ),
ValueListenableBuilder<String>(
valueListenable: passwordNotifier,
builder: (context, password, child) {
return ButtonWidget(
text: _passwordController.text.isNotEmpty
? "Stop typing, login not ready"
: 'Not yet functional',
onPressed: _ignoreButton,
disabled: true,
);
},
),
], ],
), ),
), ),

View file

@ -19,21 +19,27 @@ class ValidateDetailPage extends StatefulWidget {
class _ValidateDetailPageState extends State<ValidateDetailPage> { class _ValidateDetailPageState extends State<ValidateDetailPage> {
final _searchController = TextEditingController(); final _searchController = TextEditingController();
late int _total = 0;
final NumberFormat formatter = NumberFormat('#,###.##'); final NumberFormat formatter = NumberFormat('#,###.##');
final dateFormatter = DateFormat('yyyy-MM-dd');
// final Color greenColor = const Color(0xFF4CCE51);
late int _total = 0;
late List _applicationList = [];
late List _dateList = [];
void _getTotalSigned() async { void _getTotalSigned() async {
final name = await blocGetQr(context); final name = await blocGetQr(context);
final responseCount = await getApi('get-transactions-count', name, null); final responseCount = await getApi('get-transactions-count', name, null);
final total = responseCount['result']; final total = responseCount['result'];
final response = await getApi('get-transactions', name, null);
final applicationNoList = response['result'];
final dateList = response['result2'];
setState(() { setState(() {
_total = double.parse(total).toInt(); _total = double.parse(total).toInt();
_applicationList = applicationNoList;
_dateList = dateList;
}); });
// final response = await getApi('get-transactions', name, null);
// final applicationNoList = response['result'];
// final dateList = response['result2'];
} }
@override @override
@ -64,19 +70,10 @@ class _ValidateDetailPageState extends State<ValidateDetailPage> {
), ),
), ),
child: SizedBox( child: SizedBox(
width: MediaQuery.of(context).size.width - 104, width: MediaQuery.of(context).size.width - 112,
child: Column( child: Column(
children: [ children: [
const Gap(88), const Gap(88),
ClipRRect(
borderRadius: BorderRadius.circular(36),
child: InputWidget(
controller: _searchController,
password: false,
placeholder: 'Search Application Number',
),
),
const Gap(24),
BoxWidget( BoxWidget(
circular: 16, circular: 16,
content: Row( content: Row(
@ -85,81 +82,153 @@ class _ValidateDetailPageState extends State<ValidateDetailPage> {
Column( Column(
children: [ children: [
TextWidget(text: formatter.format(_total), size: 50, bold: true), TextWidget(text: formatter.format(_total), size: 50, bold: true),
TextWidget(text: 'Total Signed Applications', size: 16), const TextWidget(text: 'Total Signed Applications', size: 16),
], ],
), ),
], ],
), ),
), ),
const Gap(16), const Gap(16),
(Column( ClipRRect(
crossAxisAlignment: CrossAxisAlignment.center, // borderRadius: BorderRadius.circular(36),
children: [ child: InputWidget(
BoxWidget( controller: _searchController,
alignment: CrossAxisAlignment.center, password: false,
circular: 16, placeholder: 'Search Application Number',
content: Row( ),
),
const Gap(24),
// ListView(
// scrollDirection: Axis.horizontal,
// padding: EdgeInsets.symmetric(horizontal: 16),
// children: [
// // 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),
// // ],
// // ),
// // ],
// // ),
// // ),
// ],
// ),
Expanded(
child: ListView.builder(
itemCount: _total,
itemBuilder: (BuildContext context, int index) {
return Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
mainAxisAlignment: MainAxisAlignment.start,
children: [ children: [
const ImageWidget(imagePath: 'assets/esign.webp', size: 48, measureByHeight: true), BoxWidget(
const Gap(16), alignment: CrossAxisAlignment.center,
Column( circular: 16,
crossAxisAlignment: CrossAxisAlignment.start, content: Row(
children: [ children: [
TextWidget(text: '23-000123', size: 18, bold: true), const ImageWidget(imagePath: 'assets/esign-check.webp', size: 40, measureByHeight: true),
const Gap(4), const Gap(16),
TextWidget(text: 'Total Signed Applications', size: 12), Column(
], crossAxisAlignment: CrossAxisAlignment.start,
), children: [
], TextWidget(text: _applicationList[index], size: 18, bold: true),
), const Gap(4),
), SizedBox(
const Gap(8), width: 190,
BoxWidget( child: TextWidget(text: '8990 Housing Development Corporation', size: 10),
alignment: CrossAxisAlignment.center, ),
circular: 16, const Gap(4),
content: Row( TextWidget(text: _dateList[index], size: 10, opacity: 0.8),
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),
], ],
), );
), },
const Gap(8), ),
BoxWidget( ),
alignment: CrossAxisAlignment.center,
circular: 16, // Column(
content: Row( // crossAxisAlignment: CrossAxisAlignment.center,
children: [ // children: [
const ImageWidget(imagePath: 'assets/esign.webp', size: 48, measureByHeight: true), // BoxWidget(
const Gap(16), // alignment: CrossAxisAlignment.center,
Column( // circular: 16,
crossAxisAlignment: CrossAxisAlignment.start, // content: Row(
children: [ // children: [
TextWidget(text: '23-000123', size: 18, bold: true), // const ImageWidget(imagePath: 'assets/esign.webp', size: 48, measureByHeight: true),
const Gap(4), // const Gap(16),
TextWidget(text: 'Total Signed Applications', size: 12), // 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),
// // ],
// // ),
// // ],
// // ),
// // ),
// ],
// ),
], ],
), ),
), ),

View file

@ -113,7 +113,7 @@ class _BarcodeScannerScreenState extends State<BarcodeScannerScreen> {
resizeToAvoidBottomInset: false, resizeToAvoidBottomInset: false,
body: Container( body: Container(
alignment: Alignment.center, alignment: Alignment.center,
height: MediaQuery.of(context).size.height, height: MediaQuery.of(context).size.height * 1.2,
decoration: const BoxDecoration( decoration: const BoxDecoration(
gradient: LinearGradient( gradient: LinearGradient(
begin: Alignment.topCenter, begin: Alignment.topCenter,
@ -187,12 +187,12 @@ class _BarcodeScannerScreenState extends State<BarcodeScannerScreen> {
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
Container( Container(
width: MediaQuery.of(context).size.width - 160, width: 220,
padding: const EdgeInsets.fromLTRB(8, 16, 8, 26), padding: const EdgeInsets.fromLTRB(0, 16, 0, 32),
decoration: BoxDecoration( decoration: BoxDecoration(
border: BoxBorder.all(color: redColor), border: BoxBorder.all(color: redColor),
color: redColorShade, color: redColorShade,
borderRadius: BorderRadius.circular(12), borderRadius: BorderRadius.circular(32),
), ),
child: Column( child: Column(
children: [ children: [
@ -220,12 +220,12 @@ class _BarcodeScannerScreenState extends State<BarcodeScannerScreen> {
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
Container( Container(
width: MediaQuery.of(context).size.width - 160, width: 220,
padding: const EdgeInsets.fromLTRB(8, 16, 8, 26), padding: const EdgeInsets.fromLTRB(0, 16, 0, 32),
decoration: BoxDecoration( decoration: BoxDecoration(
border: BoxBorder.all(color: redColor), border: BoxBorder.all(color: redColor),
color: redColorShade, color: redColorShade,
borderRadius: BorderRadius.circular(12), borderRadius: BorderRadius.circular(32),
), ),
child: Column( child: Column(
children: [ children: [
@ -252,12 +252,13 @@ class _BarcodeScannerScreenState extends State<BarcodeScannerScreen> {
Column( Column(
children: [ children: [
Container( Container(
width: MediaQuery.of(context).size.width - 160, // width: MediaQuery.of(context).size.width - 160,
padding: const EdgeInsets.fromLTRB(8, 16, 8, 26), width: 220,
padding: const EdgeInsets.fromLTRB(0, 16, 0, 32),
decoration: BoxDecoration( decoration: BoxDecoration(
border: BoxBorder.all(color: greenColor), border: BoxBorder.all(color: greenColor),
color: greenColorShade, color: greenColorShade,
borderRadius: BorderRadius.circular(12), borderRadius: BorderRadius.circular(32),
), ),
child: Column( child: Column(
children: [ children: [
@ -280,7 +281,7 @@ class _BarcodeScannerScreenState extends State<BarcodeScannerScreen> {
const Gap(24), const Gap(24),
TextWidget(text: qrResult, bold: true, size: 20, color: greenColor), TextWidget(text: qrResult, bold: true, size: 20, color: greenColor),
const Gap(24), const Gap(24),
ButtonWidget(text: "Show Details", disabled: false, onPressed: gotoDetails), ButtonWidget(text: "Check Signed Applications", disabled: false, onPressed: gotoDetails),
], ],
), ),
], ],

View file

@ -10,18 +10,27 @@ class TextWidget extends StatelessWidget {
final bool? underlined; final bool? underlined;
final Color? color; final Color? color;
const TextWidget( const TextWidget({
{super.key, required this.text, this.size, this.opacity, this.bold, this.title, this.underlined, this.color}); super.key,
required this.text,
this.size,
this.opacity,
this.bold,
this.title,
this.underlined,
this.color,
});
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final textStyle = TextStyle( final textStyle = TextStyle(
color: color ?? Color.fromRGBO(255, 255, 255, opacity ?? 1), color: color ?? Color.fromRGBO(255, 255, 255, opacity ?? 1),
fontSize: size ?? 28, fontSize: size ?? 28,
fontWeight: bold == true ? FontWeight.bold : FontWeight.normal, fontWeight: bold == true ? FontWeight.bold : FontWeight.normal,
decoration: underlined == true ? TextDecoration.underline : TextDecoration.none, decoration: underlined == true ? TextDecoration.underline : TextDecoration.none,
decorationColor: color ?? const Color.fromRGBO(255, 255, 255, 1), decorationColor: color ?? const Color.fromRGBO(255, 255, 255, 1),
decorationThickness: 1); decorationThickness: 1,
);
return title == true return title == true
? Text(text, style: GoogleFonts.outfit(textStyle: textStyle)) ? Text(text, style: GoogleFonts.outfit(textStyle: textStyle))

View file

@ -73,6 +73,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.1.2" version: "1.1.2"
code_assets:
dependency: transitive
description:
name: code_assets
sha256: "83ccdaa064c980b5596c35dd64a8d3ecc68620174ab9b90b6343b753aa721687"
url: "https://pub.dev"
source: hosted
version: "1.0.0"
collection: collection:
dependency: transitive dependency: transitive
description: description:
@ -133,10 +141,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: dio name: dio
sha256: d90ee57923d1828ac14e492ca49440f65477f4bb1263575900be731a3dac66a9 sha256: b9d46faecab38fc8cc286f80bc4d61a3bb5d4ac49e51ed877b4d6706efe57b25
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.9.0" version: "5.9.1"
dio_smart_retry: dio_smart_retry:
dependency: "direct main" dependency: "direct main"
description: description:
@ -157,10 +165,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: equatable name: equatable
sha256: "567c64b3cb4cf82397aac55f4f0cbd3ca20d77c6c03bedbc4ceaddc08904aef7" sha256: "3e0141505477fd8ad55d6eb4e7776d3fe8430be8e497ccb1521370c3f21a3e2b"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.0.7" version: "2.0.8"
fake_async: fake_async:
dependency: transitive dependency: transitive
description: description:
@ -173,10 +181,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: ffi name: ffi
sha256: "289279317b4b16eb2bb7e271abccd4bf84ec9bdcbe999e278a94b804f5630418" sha256: d07d37192dbf97461359c1518788f203b0c9102cfd2c35a716b823741219542c
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.4" version: "2.1.5"
file: file:
dependency: transitive dependency: transitive
description: description:
@ -240,30 +248,38 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.1" version: "3.0.1"
glob:
dependency: transitive
description:
name: glob
sha256: c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de
url: "https://pub.dev"
source: hosted
version: "2.1.3"
go_router: go_router:
dependency: "direct main" dependency: "direct main"
description: description:
name: go_router name: go_router
sha256: eff94d2a6fc79fa8b811dde79c7549808c2346037ee107a1121b4a644c745f2a sha256: "7974313e217a7771557add6ff2238acb63f635317c35fa590d348fb238f00896"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "17.0.1" version: "17.1.0"
google_fonts: google_fonts:
dependency: "direct main" dependency: "direct main"
description: description:
name: google_fonts name: google_fonts
sha256: ba03d03bcaa2f6cb7bd920e3b5027181db75ab524f8891c8bc3aa603885b8055 sha256: bf1fe61d4a53420a94cbbd4326e07702d247757926f6955af9667765a8324413
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.3.3" version: "8.0.0"
hashlib: hashlib:
dependency: "direct main" dependency: "direct main"
description: description:
name: hashlib name: hashlib
sha256: "408af9bfb16289d433822635f0b6890e4440b74fe7acd40014983abeef6d33f0" sha256: b12381c77d926cc1a55a6c1dbf6fbbc5c97c05b670e89f6ce3bc59fc673f9dd2
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.2.0" version: "2.3.0"
hashlib_codecs: hashlib_codecs:
dependency: transitive dependency: transitive
description: description:
@ -272,6 +288,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.1" version: "3.0.1"
hooks:
dependency: transitive
description:
name: hooks
sha256: "7a08a0d684cb3b8fb604b78455d5d352f502b68079f7b80b831c62220ab0a4f6"
url: "https://pub.dev"
source: hosted
version: "1.0.1"
http: http:
dependency: transitive dependency: transitive
description: description:
@ -292,10 +316,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: image name: image
sha256: "51555e36056541237b15b57afc31a0f53d4f9aefd9bd00873a6dc0090e54e332" sha256: "492bd52f6c4fbb6ee41f781ff27765ce5f627910e1e0cbecfa3d9add5562604c"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.6.0" version: "4.7.2"
internet_connection_checker: internet_connection_checker:
dependency: "direct main" dependency: "direct main"
description: description:
@ -316,10 +340,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: json_annotation name: json_annotation
sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1" sha256: "805fa86df56383000f640384b282ce0cb8431f1a7a2396de92fb66186d8c57df"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.9.0" version: "4.10.0"
leak_tracker: leak_tracker:
dependency: transitive dependency: transitive
description: description:
@ -348,10 +372,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: lints name: lints
sha256: a5e2b223cb7c9c8efdc663ef484fdd95bb243bff242ef5b13e26883547fce9a0 sha256: "12f842a479589fea194fe5c5a3095abc7be0c1f2ddfa9a0e76aed1dbd26a87df"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.0.0" version: "6.1.0"
logging: logging:
dependency: transitive dependency: transitive
description: description:
@ -400,6 +424,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "7.1.4" version: "7.1.4"
native_toolchain_c:
dependency: transitive
description:
name: native_toolchain_c
sha256: "89e83885ba09da5fdf2cdacc8002a712ca238c28b7f717910b34bcd27b0d03ac"
url: "https://pub.dev"
source: hosted
version: "0.17.4"
nested: nested:
dependency: transitive dependency: transitive
description: description:
@ -416,6 +448,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.5.0" version: "0.5.0"
objective_c:
dependency: transitive
description:
name: objective_c
sha256: "983c7fa1501f6dcc0cb7af4e42072e9993cb28d73604d25ebf4dab08165d997e"
url: "https://pub.dev"
source: hosted
version: "9.2.5"
path: path:
dependency: transitive dependency: transitive
description: description:
@ -444,10 +484,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: path_provider_foundation name: path_provider_foundation
sha256: "6d13aece7b3f5c5a9731eaf553ff9dcbc2eff41087fd2df587fd0fed9a3eb0c4" sha256: "2a376b7d6392d80cd3705782d2caa734ca4727776db0b6ec36ef3f1855197699"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.5.1" version: "2.6.0"
path_provider_linux: path_provider_linux:
dependency: transitive dependency: transitive
description: description:
@ -512,6 +552,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.1.5+1" version: "6.1.5+1"
pub_semver:
dependency: transitive
description:
name: pub_semver
sha256: "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585"
url: "https://pub.dev"
source: hosted
version: "2.2.0"
sky_engine: sky_engine:
dependency: transitive dependency: transitive
description: flutter description: flutter
@ -585,10 +633,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: vibration name: vibration
sha256: "1fd51cb0f91c6d512734ca0e282dd87fbc7f389b6da5f03c77709ba2cf8fa901" sha256: bfb274be6996651d36bf3e3a947d2122767dae255cfb9ce6ce8ee4b38fb56bad
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.1.4" version: "3.1.5"
vibration_platform_interface: vibration_platform_interface:
dependency: transitive dependency: transitive
description: description:
@ -654,5 +702,5 @@ packages:
source: hosted source: hosted
version: "3.1.3" version: "3.1.3"
sdks: sdks:
dart: ">=3.9.2 <4.0.0" dart: ">=3.10.8 <4.0.0"
flutter: ">=3.35.0" flutter: ">=3.38.4"

View file

@ -5,13 +5,13 @@ publish_to: "none" # Remove this line if you wish to publish to pub.dev
version: 1.0.0+1 version: 1.0.0+1
environment: environment:
sdk: ^3.9.2 sdk: ^3.10.8
dependencies: dependencies:
flutter: flutter:
sdk: flutter sdk: flutter
google_fonts: ^6.3.2 google_fonts: ^8.0.0
go_router: ^17.0.0 go_router: ^17.0.0
gap: ^3.0.1 gap: ^3.0.1
internet_connection_checker: ^3.0.1 internet_connection_checker: ^3.0.1
@ -46,3 +46,5 @@ flutter:
- assets/logo.webp - assets/logo.webp
- assets/pat-alcala.webp - assets/pat-alcala.webp
- assets/esign.webp - assets/esign.webp
- assets/esign-mobile.webp
- assets/esign-check.webp