From fc616d63164c3d5f654af582dd7a0f6c9b1dba03 Mon Sep 17 00:00:00 2001 From: Vusumuzi Khoza Date: Mon, 8 Jun 2026 09:17:36 +0200 Subject: [PATCH] completed group batch feature --- No file path - using task_progress only | 7 + android/app/build.gradle.kts | 23 +- android/app/src/main/AndroidManifest.xml | 27 +- assets/complete.png | Bin 0 -> 114966 bytes assets/signup.png | Bin 0 -> 112062 bytes ios/Runner/Info.plist | 111 ++- lib/abstracts/AbstractController.dart | 11 +- lib/auth_state.dart | 87 ++ lib/main.dart | 253 +----- lib/navbar.dart | 192 +++-- lib/routes.dart | 282 +++++++ lib/screens/confirm/confirm_controller.dart | 9 +- lib/screens/confirm/confirm_screen.dart | 17 +- lib/screens/gateway/gateway_controller.dart | 9 +- lib/screens/gateway/gateway_screen.dart | 15 +- lib/screens/groups/batch_create_screen.dart | 48 +- lib/screens/groups/batch_detail_screen.dart | 484 +++++++---- lib/screens/groups/group_create_screen.dart | 19 +- lib/screens/groups/group_detail_screen.dart | 732 ++++++++++++++--- lib/screens/groups/groups_screen.dart | 7 + lib/screens/history/history_controller.dart | 203 ++++- lib/screens/history/history_screen.dart | 772 ++++++++++++++---- lib/screens/home/home_controller.dart | 2 +- lib/screens/home/home_screen.dart | 391 +++------ lib/screens/onboarding/complete_screen.dart | 130 +-- .../onboarding/landing/landing_screen.dart | 712 ++++++++++++++-- .../onboarding/login/login_controller.dart | 12 +- .../onboarding/login/login_screen.dart | 340 +++----- .../onboarding/onboarding_controller.dart | 41 +- .../onboarding/password/password_screen.dart | 255 ------ .../onboarding/phone/phone_controller.dart | 26 +- .../onboarding/phone/phone_screen.dart | 491 ++++++----- .../onboarding/register/register_screen.dart | 276 ------- .../onboarding/verify/verify_controller.dart | 109 ++- .../onboarding/verify/verify_screen.dart | 329 ++++---- .../onboarding/widgets/onboarding_layout.dart | 611 ++++++++++++++ lib/screens/pay/pay_screen.dart | 17 +- lib/screens/splash_screen.dart | 2 +- lib/widgets/app_snack_bar.dart | 77 ++ linux/runner/my_application.cc | 4 +- macos/Flutter/GeneratedPluginRegistrant.swift | 2 - pubspec.lock | 68 +- pubspec.yaml | 6 +- upload-keystore.jks | Bin 0 -> 2275 bytes web/manifest.json | 68 +- windows/runner/main.cpp | 2 +- 46 files changed, 4610 insertions(+), 2669 deletions(-) create mode 100644 No file path - using task_progress only create mode 100644 assets/complete.png create mode 100644 assets/signup.png create mode 100644 lib/auth_state.dart create mode 100644 lib/routes.dart delete mode 100644 lib/screens/onboarding/password/password_screen.dart delete mode 100644 lib/screens/onboarding/register/register_screen.dart create mode 100644 lib/screens/onboarding/widgets/onboarding_layout.dart create mode 100644 lib/widgets/app_snack_bar.dart create mode 100644 upload-keystore.jks diff --git a/No file path - using task_progress only b/No file path - using task_progress only new file mode 100644 index 0000000..5338f0b --- /dev/null +++ b/No file path - using task_progress only @@ -0,0 +1,7 @@ +- [ ] Analyze history_controller and add support for filter (status, type, date) + bulk select +- [ ] Update history_screen to mirror group detail list layout (search + filter + select + refresh + new buttons) +- [ ] Add filter bottom sheet for transactions (status/type) +- [ ] Add bulk action bar (Repeat selected, Delete selected) when select mode is on +- [ ] Add scroll-to-load-more pagination like group detail +- [ ] Tone down animation (short, subtle fade/slide) +- [ ] Verify compile with `flutter analyze` \ No newline at end of file diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts index c96353d..1bf05f9 100644 --- a/android/app/build.gradle.kts +++ b/android/app/build.gradle.kts @@ -1,3 +1,6 @@ +import java.util.Properties +import java.io.FileInputStream + plugins { id("com.android.application") // START: FlutterFire Configuration @@ -8,6 +11,14 @@ plugins { id("dev.flutter.flutter-gradle-plugin") } + +val keystoreProperties = Properties() +val keystorePropertiesFile = rootProject.file("key.properties") +if (keystorePropertiesFile.exists()) { + keystoreProperties.load(FileInputStream(keystorePropertiesFile)) +} + + android { namespace = "zw.co.qantra.qpay" compileSdk = flutter.compileSdkVersion @@ -34,11 +45,21 @@ android { versionName = flutter.versionName } + signingConfigs { + create("release") { + keyAlias = keystoreProperties["keyAlias"] as String + keyPassword = keystoreProperties["keyPassword"] as String + storeFile = keystoreProperties["storeFile"]?.let { file(it) } + storePassword = keystoreProperties["storePassword"] as String + } + } + buildTypes { release { // TODO: Add your own signing config for the release build. // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig = signingConfigs.getByName("debug") + // signingConfig = signingConfigs.getByName("debug") + signingConfig = signingConfigs.getByName("release") } } } diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 50096c7..68b35ad 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,31 +1,16 @@ - + - + - + - + @@ -33,9 +18,7 @@ - +