From e7090af3da7abac0d9f5cea0db69f05e90b1262e Mon Sep 17 00:00:00 2001 From: Andreas Malvino Date: Mon, 2 Jun 2025 22:39:03 +0700 Subject: [PATCH] first commit --- .env | 2 + .gitignore | 45 + .metadata | 45 + README.md | 16 + analysis_options.yaml | 28 + android/.gitignore | 14 + android/app/build.gradle.kts | 44 + android/app/src/debug/AndroidManifest.xml | 7 + android/app/src/main/AndroidManifest.xml | 45 + .../com/example/bumrent_app/MainActivity.kt | 5 + .../res/drawable-v21/launch_background.xml | 12 + .../main/res/drawable/launch_background.xml | 12 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 544 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 442 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 721 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 1031 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 1443 bytes .../app/src/main/res/values-night/styles.xml | 18 + android/app/src/main/res/values/styles.xml | 18 + android/app/src/profile/AndroidManifest.xml | 7 + android/build.gradle.kts | 21 + android/gradle.properties | 3 + .../gradle/wrapper/gradle-wrapper.properties | 5 + android/settings.gradle.kts | 25 + ...usi Sewa dan langganan aset BUMDes (1).png | Bin 0 -> 42141 bytes assets/images/air_bersih.jpg | Bin 0 -> 82539 bytes assets/images/avatar.png | Bin 0 -> 348594 bytes assets/images/bukti_transfer.jpg | Bin 0 -> 46695 bytes assets/images/gambar_pendukung.jpg | Bin 0 -> 14084 bytes assets/images/kerusakan.jpg | Bin 0 -> 73259 bytes assets/images/logo.png | Bin 0 -> 47583 bytes assets/images/logo_lama.png | Bin 0 -> 1442908 bytes assets/images/meteran_air.jpg | Bin 0 -> 63983 bytes assets/images/profil.jpg | Bin 0 -> 66635 bytes ios/.gitignore | 34 + ios/Flutter/AppFrameworkInfo.plist | 26 + ios/Flutter/Debug.xcconfig | 1 + ios/Flutter/Release.xcconfig | 1 + ios/Runner.xcodeproj/project.pbxproj | 616 ++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 99 + .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + ios/Runner/AppDelegate.swift | 13 + .../AppIcon.appiconset/Contents.json | 122 + .../Icon-App-1024x1024@1x.png | Bin 0 -> 10932 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 0 -> 295 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 0 -> 406 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 0 -> 450 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 0 -> 282 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 0 -> 462 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 0 -> 704 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 0 -> 406 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 0 -> 586 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 0 -> 862 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 0 -> 862 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 0 -> 1674 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 0 -> 762 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 0 -> 1226 bytes .../Icon-App-83.5x83.5@2x.png | Bin 0 -> 1418 bytes .../LaunchImage.imageset/Contents.json | 23 + .../LaunchImage.imageset/LaunchImage.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/README.md | 5 + ios/Runner/Base.lproj/LaunchScreen.storyboard | 37 + ios/Runner/Base.lproj/Main.storyboard | 26 + ios/Runner/Info.plist | 49 + ios/Runner/Runner-Bridging-Header.h | 1 + ios/RunnerTests/RunnerTests.swift | 12 + lib/app/bindings/auth_binding.dart | 25 + lib/app/bindings/home_binding.dart | 1 + lib/app/bindings/petugas_bumdes_binding.dart | 30 + lib/app/bindings/petugas_mitra_binding.dart | 13 + lib/app/bindings/profile_binding.dart | 1 + lib/app/bindings/splash_binding.dart | 25 + lib/app/bindings/warga_binding.dart | 11 + lib/app/core/theme/app_theme.dart | 1 + lib/app/data/models/aset_model.dart | 84 + lib/app/data/models/foto_aset_model.dart | 41 + lib/app/data/models/paket_model.dart | 54 + lib/app/data/models/pesanan_model.dart | 79 + lib/app/data/models/rental_booking_model.dart | 1 + lib/app/data/models/rental_item_model.dart | 102 + lib/app/data/models/satuan_waktu_model.dart | 37 + .../data/models/satuan_waktu_sewa_model.dart | 53 + lib/app/data/models/user_model.dart | 71 + lib/app/data/providers/aset_provider.dart | 1099 +++++++ lib/app/data/providers/auth_provider.dart | 535 ++++ lib/app/data/providers/pesanan_provider.dart | 187 ++ lib/app/data/providers/supabase_provider.dart | 1 + .../rental_booking_repository.dart | 1 + .../repositories/rental_item_repository.dart | 1 + .../data/repositories/user_repository.dart | 1 + .../auth/controllers/auth_controller.dart | 242 ++ .../auth/views/forgot_password_view.dart | 376 +++ lib/app/modules/auth/views/login_view.dart | 368 +++ .../auth/views/registration_success_view.dart | 266 ++ .../modules/auth/views/registration_view.dart | 549 ++++ .../list_pelanggan_aktif_binding.dart | 11 + .../bindings/list_petugas_mitra_binding.dart | 9 + .../list_tagihan_periode_binding.dart | 11 + .../bindings/petugas_aset_binding.dart | 15 + .../bindings/petugas_bumdes_cbp_binding.dart | 9 + .../bindings/petugas_detail_sewa_binding.dart | 13 + .../petugas_manajemen_bumdes_binding.dart | 27 + .../bindings/petugas_paket_binding.dart | 15 + .../bindings/petugas_sewa_binding.dart | 9 + .../bindings/petugas_tambah_aset_binding.dart | 11 + .../petugas_tambah_paket_binding.dart | 11 + .../list_pelanggan_aktif_controller.dart | 94 + .../list_petugas_mitra_controller.dart | 93 + .../list_tagihan_periode_controller.dart | 106 + .../controllers/petugas_aset_controller.dart | 217 ++ .../petugas_bumdes_cbp_controller.dart | 217 ++ .../petugas_bumdes_dashboard_controller.dart | 147 + .../petugas_manajemen_bumdes_controller.dart | 183 ++ .../controllers/petugas_paket_controller.dart | 253 ++ .../controllers/petugas_sewa_controller.dart | 314 ++ .../petugas_tambah_aset_controller.dart | 210 ++ .../petugas_tambah_paket_controller.dart | 393 +++ .../views/list_pelanggan_aktif_view.dart | 581 ++++ .../views/list_petugas_mitra_view.dart | 720 +++++ .../views/list_tagihan_periode_view.dart | 691 ++++ .../views/petugas_aset_view.dart | 1291 ++++++++ .../views/petugas_bumdes_cbp_view.dart | 518 +++ .../views/petugas_bumdes_dashboard_view.dart | 1322 ++++++++ .../views/petugas_detail_sewa_view.dart | 2054 ++++++++++++ .../views/petugas_langganan_view.dart | 1 + .../views/petugas_manajemen_bumdes_view.dart | 914 ++++++ .../views/petugas_paket_view.dart | 700 ++++ .../views/petugas_sewa_view.dart | 682 ++++ .../views/petugas_tambah_aset_view.dart | 871 +++++ .../views/petugas_tambah_paket_view.dart | 932 ++++++ .../widgets/petugas_bumdes_bottom_navbar.dart | 149 + .../widgets/petugas_side_navbar.dart | 302 ++ .../petugas_mitra_dashboard_controller.dart | 48 + .../splash/controllers/splash_controller.dart | 28 + lib/app/modules/splash/views/splash_view.dart | 197 ++ .../bindings/order_sewa_aset_binding.dart | 75 + .../bindings/order_sewa_paket_binding.dart | 22 + .../bindings/pembayaran_sewa_binding.dart | 9 + .../warga/bindings/sewa_aset_binding.dart | 16 + .../warga/bindings/warga_sewa_binding.dart | 34 + .../order_sewa_aset_controller.dart | 2364 ++++++++++++++ .../order_sewa_paket_controller.dart | 443 +++ .../pembayaran_sewa_controller.bak | 1115 +++++++ .../pembayaran_sewa_controller.dart | 1202 +++++++ .../controllers/sewa_aset_controller.dart | 471 +++ .../warga_dashboard_controller.dart | 180 ++ .../controllers/warga_sewa_controller.dart | 710 ++++ .../warga/views/order_sewa_aset_view.dart | 2178 +++++++++++++ .../warga/views/order_sewa_paket_view.dart | 981 ++++++ .../order_sewa_paket_view.dart.remaining | 470 +++ .../warga/views/pembayaran_sewa_view.dart | 2154 +++++++++++++ .../modules/warga/views/sewa_aset_view.dart | 1805 +++++++++++ .../warga/views/warga_dashboard_view.dart | 758 +++++ lib/app/modules/warga/views/warga_layout.dart | 75 + .../warga/views/warga_profile_view.dart | 455 +++ .../modules/warga/views/warga_sewa_view.dart | 1493 +++++++++ .../warga/views/warga_sewa_view.dart.bak | 2851 +++++++++++++++++ .../warga/views/warga_sewa_view.dart.clean | 2851 +++++++++++++++++ .../warga/views/warga_sewa_view.dart.fixed | Bin 0 -> 267064 bytes .../warga/widgets/app_bottom_navbar.dart | 154 + .../widgets/custom_date_range_picker.dart | 517 +++ lib/app/routes/app_pages.dart | 210 ++ lib/app/routes/app_routes.dart | 48 + lib/app/services/navigation_service.dart | 136 + lib/app/services/service_manager.dart | 68 + lib/app/theme/app_colors.dart | 234 ++ lib/app/theme/app_colors_petugas.dart | 100 + lib/app/theme/app_theme.dart | 153 + lib/app/widgets/app_drawer.dart | 477 +++ lib/app/widgets/custom_button.dart | 1 + lib/app/widgets/custom_text_field.dart | 1 + lib/main.dart | 82 + linux/.gitignore | 1 + linux/CMakeLists.txt | 128 + linux/flutter/CMakeLists.txt | 88 + linux/flutter/generated_plugin_registrant.cc | 27 + linux/flutter/generated_plugin_registrant.h | 15 + linux/flutter/generated_plugins.cmake | 27 + linux/runner/CMakeLists.txt | 26 + linux/runner/main.cc | 6 + linux/runner/my_application.cc | 130 + linux/runner/my_application.h | 18 + macos/.gitignore | 7 + macos/Flutter/Flutter-Debug.xcconfig | 1 + macos/Flutter/Flutter-Release.xcconfig | 1 + macos/Flutter/GeneratedPluginRegistrant.swift | 26 + macos/Runner.xcodeproj/project.pbxproj | 705 ++++ .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 99 + .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + macos/Runner/AppDelegate.swift | 13 + .../AppIcon.appiconset/Contents.json | 68 + .../AppIcon.appiconset/app_icon_1024.png | Bin 0 -> 102994 bytes .../AppIcon.appiconset/app_icon_128.png | Bin 0 -> 5680 bytes .../AppIcon.appiconset/app_icon_16.png | Bin 0 -> 520 bytes .../AppIcon.appiconset/app_icon_256.png | Bin 0 -> 14142 bytes .../AppIcon.appiconset/app_icon_32.png | Bin 0 -> 1066 bytes .../AppIcon.appiconset/app_icon_512.png | Bin 0 -> 36406 bytes .../AppIcon.appiconset/app_icon_64.png | Bin 0 -> 2218 bytes macos/Runner/Base.lproj/MainMenu.xib | 343 ++ macos/Runner/Configs/AppInfo.xcconfig | 14 + macos/Runner/Configs/Debug.xcconfig | 2 + macos/Runner/Configs/Release.xcconfig | 2 + macos/Runner/Configs/Warnings.xcconfig | 13 + macos/Runner/DebugProfile.entitlements | 12 + macos/Runner/Info.plist | 32 + macos/Runner/MainFlutterWindow.swift | 15 + macos/Runner/Release.entitlements | 8 + macos/RunnerTests/RunnerTests.swift | 12 + pubspec.lock | 1023 ++++++ pubspec.yaml | 111 + test/widget_test.dart | 30 + web/favicon.png | Bin 0 -> 917 bytes web/icons/Icon-192.png | Bin 0 -> 5292 bytes web/icons/Icon-512.png | Bin 0 -> 8252 bytes web/icons/Icon-maskable-192.png | Bin 0 -> 5594 bytes web/icons/Icon-maskable-512.png | Bin 0 -> 20998 bytes web/index.html | 38 + web/manifest.json | 35 + windows/.gitignore | 17 + windows/CMakeLists.txt | 108 + windows/flutter/CMakeLists.txt | 109 + .../flutter/generated_plugin_registrant.cc | 23 + windows/flutter/generated_plugin_registrant.h | 15 + windows/flutter/generated_plugins.cmake | 27 + windows/runner/CMakeLists.txt | 40 + windows/runner/Runner.rc | 121 + windows/runner/flutter_window.cpp | 71 + windows/runner/flutter_window.h | 33 + windows/runner/main.cpp | 43 + windows/runner/resource.h | 16 + windows/runner/resources/app_icon.ico | Bin 0 -> 33772 bytes windows/runner/runner.exe.manifest | 14 + windows/runner/utils.cpp | 65 + windows/runner/utils.h | 19 + windows/runner/win32_window.cpp | 288 ++ windows/runner/win32_window.h | 102 + 245 files changed, 49210 insertions(+) create mode 100644 .env create mode 100644 .gitignore create mode 100644 .metadata create mode 100644 README.md create mode 100644 analysis_options.yaml create mode 100644 android/.gitignore create mode 100644 android/app/build.gradle.kts create mode 100644 android/app/src/debug/AndroidManifest.xml create mode 100644 android/app/src/main/AndroidManifest.xml create mode 100644 android/app/src/main/kotlin/com/example/bumrent_app/MainActivity.kt create mode 100644 android/app/src/main/res/drawable-v21/launch_background.xml create mode 100644 android/app/src/main/res/drawable/launch_background.xml create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/values-night/styles.xml create mode 100644 android/app/src/main/res/values/styles.xml create mode 100644 android/app/src/profile/AndroidManifest.xml create mode 100644 android/build.gradle.kts create mode 100644 android/gradle.properties create mode 100644 android/gradle/wrapper/gradle-wrapper.properties create mode 100644 android/settings.gradle.kts create mode 100644 assets/images/Solusi Sewa dan langganan aset BUMDes (1).png create mode 100644 assets/images/air_bersih.jpg create mode 100644 assets/images/avatar.png create mode 100644 assets/images/bukti_transfer.jpg create mode 100644 assets/images/gambar_pendukung.jpg create mode 100644 assets/images/kerusakan.jpg create mode 100644 assets/images/logo.png create mode 100644 assets/images/logo_lama.png create mode 100644 assets/images/meteran_air.jpg create mode 100644 assets/images/profil.jpg create mode 100644 ios/.gitignore create mode 100644 ios/Flutter/AppFrameworkInfo.plist create mode 100644 ios/Flutter/Debug.xcconfig create mode 100644 ios/Flutter/Release.xcconfig create mode 100644 ios/Runner.xcodeproj/project.pbxproj create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 ios/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 ios/Runner/AppDelegate.swift create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md create mode 100644 ios/Runner/Base.lproj/LaunchScreen.storyboard create mode 100644 ios/Runner/Base.lproj/Main.storyboard create mode 100644 ios/Runner/Info.plist create mode 100644 ios/Runner/Runner-Bridging-Header.h create mode 100644 ios/RunnerTests/RunnerTests.swift create mode 100644 lib/app/bindings/auth_binding.dart create mode 100644 lib/app/bindings/home_binding.dart create mode 100644 lib/app/bindings/petugas_bumdes_binding.dart create mode 100644 lib/app/bindings/petugas_mitra_binding.dart create mode 100644 lib/app/bindings/profile_binding.dart create mode 100644 lib/app/bindings/splash_binding.dart create mode 100644 lib/app/bindings/warga_binding.dart create mode 100644 lib/app/core/theme/app_theme.dart create mode 100644 lib/app/data/models/aset_model.dart create mode 100644 lib/app/data/models/foto_aset_model.dart create mode 100644 lib/app/data/models/paket_model.dart create mode 100644 lib/app/data/models/pesanan_model.dart create mode 100644 lib/app/data/models/rental_booking_model.dart create mode 100644 lib/app/data/models/rental_item_model.dart create mode 100644 lib/app/data/models/satuan_waktu_model.dart create mode 100644 lib/app/data/models/satuan_waktu_sewa_model.dart create mode 100644 lib/app/data/models/user_model.dart create mode 100644 lib/app/data/providers/aset_provider.dart create mode 100644 lib/app/data/providers/auth_provider.dart create mode 100644 lib/app/data/providers/pesanan_provider.dart create mode 100644 lib/app/data/providers/supabase_provider.dart create mode 100644 lib/app/data/repositories/rental_booking_repository.dart create mode 100644 lib/app/data/repositories/rental_item_repository.dart create mode 100644 lib/app/data/repositories/user_repository.dart create mode 100644 lib/app/modules/auth/controllers/auth_controller.dart create mode 100644 lib/app/modules/auth/views/forgot_password_view.dart create mode 100644 lib/app/modules/auth/views/login_view.dart create mode 100644 lib/app/modules/auth/views/registration_success_view.dart create mode 100644 lib/app/modules/auth/views/registration_view.dart create mode 100644 lib/app/modules/petugas_bumdes/bindings/list_pelanggan_aktif_binding.dart create mode 100644 lib/app/modules/petugas_bumdes/bindings/list_petugas_mitra_binding.dart create mode 100644 lib/app/modules/petugas_bumdes/bindings/list_tagihan_periode_binding.dart create mode 100644 lib/app/modules/petugas_bumdes/bindings/petugas_aset_binding.dart create mode 100644 lib/app/modules/petugas_bumdes/bindings/petugas_bumdes_cbp_binding.dart create mode 100644 lib/app/modules/petugas_bumdes/bindings/petugas_detail_sewa_binding.dart create mode 100644 lib/app/modules/petugas_bumdes/bindings/petugas_manajemen_bumdes_binding.dart create mode 100644 lib/app/modules/petugas_bumdes/bindings/petugas_paket_binding.dart create mode 100644 lib/app/modules/petugas_bumdes/bindings/petugas_sewa_binding.dart create mode 100644 lib/app/modules/petugas_bumdes/bindings/petugas_tambah_aset_binding.dart create mode 100644 lib/app/modules/petugas_bumdes/bindings/petugas_tambah_paket_binding.dart create mode 100644 lib/app/modules/petugas_bumdes/controllers/list_pelanggan_aktif_controller.dart create mode 100644 lib/app/modules/petugas_bumdes/controllers/list_petugas_mitra_controller.dart create mode 100644 lib/app/modules/petugas_bumdes/controllers/list_tagihan_periode_controller.dart create mode 100644 lib/app/modules/petugas_bumdes/controllers/petugas_aset_controller.dart create mode 100644 lib/app/modules/petugas_bumdes/controllers/petugas_bumdes_cbp_controller.dart create mode 100644 lib/app/modules/petugas_bumdes/controllers/petugas_bumdes_dashboard_controller.dart create mode 100644 lib/app/modules/petugas_bumdes/controllers/petugas_manajemen_bumdes_controller.dart create mode 100644 lib/app/modules/petugas_bumdes/controllers/petugas_paket_controller.dart create mode 100644 lib/app/modules/petugas_bumdes/controllers/petugas_sewa_controller.dart create mode 100644 lib/app/modules/petugas_bumdes/controllers/petugas_tambah_aset_controller.dart create mode 100644 lib/app/modules/petugas_bumdes/controllers/petugas_tambah_paket_controller.dart create mode 100644 lib/app/modules/petugas_bumdes/views/list_pelanggan_aktif_view.dart create mode 100644 lib/app/modules/petugas_bumdes/views/list_petugas_mitra_view.dart create mode 100644 lib/app/modules/petugas_bumdes/views/list_tagihan_periode_view.dart create mode 100644 lib/app/modules/petugas_bumdes/views/petugas_aset_view.dart create mode 100644 lib/app/modules/petugas_bumdes/views/petugas_bumdes_cbp_view.dart create mode 100644 lib/app/modules/petugas_bumdes/views/petugas_bumdes_dashboard_view.dart create mode 100644 lib/app/modules/petugas_bumdes/views/petugas_detail_sewa_view.dart create mode 100644 lib/app/modules/petugas_bumdes/views/petugas_langganan_view.dart create mode 100644 lib/app/modules/petugas_bumdes/views/petugas_manajemen_bumdes_view.dart create mode 100644 lib/app/modules/petugas_bumdes/views/petugas_paket_view.dart create mode 100644 lib/app/modules/petugas_bumdes/views/petugas_sewa_view.dart create mode 100644 lib/app/modules/petugas_bumdes/views/petugas_tambah_aset_view.dart create mode 100644 lib/app/modules/petugas_bumdes/views/petugas_tambah_paket_view.dart create mode 100644 lib/app/modules/petugas_bumdes/widgets/petugas_bumdes_bottom_navbar.dart create mode 100644 lib/app/modules/petugas_bumdes/widgets/petugas_side_navbar.dart create mode 100644 lib/app/modules/petugas_mitra/controllers/petugas_mitra_dashboard_controller.dart create mode 100644 lib/app/modules/splash/controllers/splash_controller.dart create mode 100644 lib/app/modules/splash/views/splash_view.dart create mode 100644 lib/app/modules/warga/bindings/order_sewa_aset_binding.dart create mode 100644 lib/app/modules/warga/bindings/order_sewa_paket_binding.dart create mode 100644 lib/app/modules/warga/bindings/pembayaran_sewa_binding.dart create mode 100644 lib/app/modules/warga/bindings/sewa_aset_binding.dart create mode 100644 lib/app/modules/warga/bindings/warga_sewa_binding.dart create mode 100644 lib/app/modules/warga/controllers/order_sewa_aset_controller.dart create mode 100644 lib/app/modules/warga/controllers/order_sewa_paket_controller.dart create mode 100644 lib/app/modules/warga/controllers/pembayaran_sewa_controller.bak create mode 100644 lib/app/modules/warga/controllers/pembayaran_sewa_controller.dart create mode 100644 lib/app/modules/warga/controllers/sewa_aset_controller.dart create mode 100644 lib/app/modules/warga/controllers/warga_dashboard_controller.dart create mode 100644 lib/app/modules/warga/controllers/warga_sewa_controller.dart create mode 100644 lib/app/modules/warga/views/order_sewa_aset_view.dart create mode 100644 lib/app/modules/warga/views/order_sewa_paket_view.dart create mode 100644 lib/app/modules/warga/views/order_sewa_paket_view.dart.remaining create mode 100644 lib/app/modules/warga/views/pembayaran_sewa_view.dart create mode 100644 lib/app/modules/warga/views/sewa_aset_view.dart create mode 100644 lib/app/modules/warga/views/warga_dashboard_view.dart create mode 100644 lib/app/modules/warga/views/warga_layout.dart create mode 100644 lib/app/modules/warga/views/warga_profile_view.dart create mode 100644 lib/app/modules/warga/views/warga_sewa_view.dart create mode 100644 lib/app/modules/warga/views/warga_sewa_view.dart.bak create mode 100644 lib/app/modules/warga/views/warga_sewa_view.dart.clean create mode 100644 lib/app/modules/warga/views/warga_sewa_view.dart.fixed create mode 100644 lib/app/modules/warga/widgets/app_bottom_navbar.dart create mode 100644 lib/app/modules/warga/widgets/custom_date_range_picker.dart create mode 100644 lib/app/routes/app_pages.dart create mode 100644 lib/app/routes/app_routes.dart create mode 100644 lib/app/services/navigation_service.dart create mode 100644 lib/app/services/service_manager.dart create mode 100644 lib/app/theme/app_colors.dart create mode 100644 lib/app/theme/app_colors_petugas.dart create mode 100644 lib/app/theme/app_theme.dart create mode 100644 lib/app/widgets/app_drawer.dart create mode 100644 lib/app/widgets/custom_button.dart create mode 100644 lib/app/widgets/custom_text_field.dart create mode 100644 lib/main.dart create mode 100644 linux/.gitignore create mode 100644 linux/CMakeLists.txt create mode 100644 linux/flutter/CMakeLists.txt create mode 100644 linux/flutter/generated_plugin_registrant.cc create mode 100644 linux/flutter/generated_plugin_registrant.h create mode 100644 linux/flutter/generated_plugins.cmake create mode 100644 linux/runner/CMakeLists.txt create mode 100644 linux/runner/main.cc create mode 100644 linux/runner/my_application.cc create mode 100644 linux/runner/my_application.h create mode 100644 macos/.gitignore create mode 100644 macos/Flutter/Flutter-Debug.xcconfig create mode 100644 macos/Flutter/Flutter-Release.xcconfig create mode 100644 macos/Flutter/GeneratedPluginRegistrant.swift create mode 100644 macos/Runner.xcodeproj/project.pbxproj create mode 100644 macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 macos/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 macos/Runner/AppDelegate.swift create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png create mode 100644 macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png create mode 100644 macos/Runner/Base.lproj/MainMenu.xib create mode 100644 macos/Runner/Configs/AppInfo.xcconfig create mode 100644 macos/Runner/Configs/Debug.xcconfig create mode 100644 macos/Runner/Configs/Release.xcconfig create mode 100644 macos/Runner/Configs/Warnings.xcconfig create mode 100644 macos/Runner/DebugProfile.entitlements create mode 100644 macos/Runner/Info.plist create mode 100644 macos/Runner/MainFlutterWindow.swift create mode 100644 macos/Runner/Release.entitlements create mode 100644 macos/RunnerTests/RunnerTests.swift create mode 100644 pubspec.lock create mode 100644 pubspec.yaml create mode 100644 test/widget_test.dart create mode 100644 web/favicon.png create mode 100644 web/icons/Icon-192.png create mode 100644 web/icons/Icon-512.png create mode 100644 web/icons/Icon-maskable-192.png create mode 100644 web/icons/Icon-maskable-512.png create mode 100644 web/index.html create mode 100644 web/manifest.json create mode 100644 windows/.gitignore create mode 100644 windows/CMakeLists.txt create mode 100644 windows/flutter/CMakeLists.txt create mode 100644 windows/flutter/generated_plugin_registrant.cc create mode 100644 windows/flutter/generated_plugin_registrant.h create mode 100644 windows/flutter/generated_plugins.cmake create mode 100644 windows/runner/CMakeLists.txt create mode 100644 windows/runner/Runner.rc create mode 100644 windows/runner/flutter_window.cpp create mode 100644 windows/runner/flutter_window.h create mode 100644 windows/runner/main.cpp create mode 100644 windows/runner/resource.h create mode 100644 windows/runner/resources/app_icon.ico create mode 100644 windows/runner/runner.exe.manifest create mode 100644 windows/runner/utils.cpp create mode 100644 windows/runner/utils.h create mode 100644 windows/runner/win32_window.cpp create mode 100644 windows/runner/win32_window.h diff --git a/.env b/.env new file mode 100644 index 0000000..147e576 --- /dev/null +++ b/.env @@ -0,0 +1,2 @@ +SUPABASE_URL=https://jyrmkggbszzloxyibcwf.supabase.co +SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Imp5cm1rZ2dic3p6bG94eWliY3dmIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NDIzNjQzOTUsImV4cCI6MjA1Nzk0MDM5NX0.bAG51o1cou2HTtNt-lHpl722mBQ5-qv4uZbx6mJgfOw \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..79c113f --- /dev/null +++ b/.gitignore @@ -0,0 +1,45 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.build/ +.buildlog/ +.history +.svn/ +.swiftpm/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +**/ios/Flutter/.last_build_id +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies +.pub-cache/ +.pub/ +/build/ + +# Symbolication related +app.*.symbols + +# Obfuscation related +app.*.map.json + +# Android Studio will place build artifacts here +/android/app/debug +/android/app/profile +/android/app/release diff --git a/.metadata b/.metadata new file mode 100644 index 0000000..d77a4e0 --- /dev/null +++ b/.metadata @@ -0,0 +1,45 @@ +# This file tracks properties of this Flutter project. +# Used by Flutter tool to assess capabilities and perform upgrades etc. +# +# This file should be version controlled and should not be manually edited. + +version: + revision: "c23637390482d4cf9598c3ce3f2be31aa7332daf" + channel: "stable" + +project_type: app + +# Tracks metadata for the flutter migrate command +migration: + platforms: + - platform: root + create_revision: c23637390482d4cf9598c3ce3f2be31aa7332daf + base_revision: c23637390482d4cf9598c3ce3f2be31aa7332daf + - platform: android + create_revision: c23637390482d4cf9598c3ce3f2be31aa7332daf + base_revision: c23637390482d4cf9598c3ce3f2be31aa7332daf + - platform: ios + create_revision: c23637390482d4cf9598c3ce3f2be31aa7332daf + base_revision: c23637390482d4cf9598c3ce3f2be31aa7332daf + - platform: linux + create_revision: c23637390482d4cf9598c3ce3f2be31aa7332daf + base_revision: c23637390482d4cf9598c3ce3f2be31aa7332daf + - platform: macos + create_revision: c23637390482d4cf9598c3ce3f2be31aa7332daf + base_revision: c23637390482d4cf9598c3ce3f2be31aa7332daf + - platform: web + create_revision: c23637390482d4cf9598c3ce3f2be31aa7332daf + base_revision: c23637390482d4cf9598c3ce3f2be31aa7332daf + - platform: windows + create_revision: c23637390482d4cf9598c3ce3f2be31aa7332daf + base_revision: c23637390482d4cf9598c3ce3f2be31aa7332daf + + # User provided section + + # List of Local paths (relative to this file) that should be + # ignored by the migrate tool. + # + # Files that are not part of the templates will be ignored by default. + unmanaged_files: + - 'lib/main.dart' + - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/README.md b/README.md new file mode 100644 index 0000000..29a8fa8 --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ +# bumrent_app + +A new Flutter project. + +## Getting Started + +This project is a starting point for a Flutter application. + +A few resources to get you started if this is your first Flutter project: + +- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab) +- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook) + +For help getting started with Flutter development, view the +[online documentation](https://docs.flutter.dev/), which offers tutorials, +samples, guidance on mobile development, and a full API reference. diff --git a/analysis_options.yaml b/analysis_options.yaml new file mode 100644 index 0000000..0d29021 --- /dev/null +++ b/analysis_options.yaml @@ -0,0 +1,28 @@ +# This file configures the analyzer, which statically analyzes Dart code to +# check for errors, warnings, and lints. +# +# The issues identified by the analyzer are surfaced in the UI of Dart-enabled +# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be +# invoked from the command line by running `flutter analyze`. + +# The following line activates a set of recommended lints for Flutter apps, +# packages, and plugins designed to encourage good coding practices. +include: package:flutter_lints/flutter.yaml + +linter: + # The lint rules applied to this project can be customized in the + # section below to disable rules from the `package:flutter_lints/flutter.yaml` + # included above or to enable additional rules. A list of all available lints + # and their documentation is published at https://dart.dev/lints. + # + # Instead of disabling a lint rule for the entire project in the + # section below, it can also be suppressed for a single line of code + # or a specific dart file by using the `// ignore: name_of_lint` and + # `// ignore_for_file: name_of_lint` syntax on the line or in the file + # producing the lint. + rules: + # avoid_print: false # Uncomment to disable the `avoid_print` rule + # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule + +# Additional information about this file can be found at +# https://dart.dev/guides/language/analysis-options diff --git a/android/.gitignore b/android/.gitignore new file mode 100644 index 0000000..be3943c --- /dev/null +++ b/android/.gitignore @@ -0,0 +1,14 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java +.cxx/ + +# Remember to never publicly share your keystore. +# See https://flutter.dev/to/reference-keystore +key.properties +**/*.keystore +**/*.jks diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts new file mode 100644 index 0000000..e6322dd --- /dev/null +++ b/android/app/build.gradle.kts @@ -0,0 +1,44 @@ +plugins { + id("com.android.application") + id("kotlin-android") + // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. + id("dev.flutter.flutter-gradle-plugin") +} + +android { + namespace = "com.example.bumrent_app" + compileSdk = flutter.compileSdkVersion + ndkVersion = "27.0.12077973" + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } + + kotlinOptions { + jvmTarget = JavaVersion.VERSION_11.toString() + } + + defaultConfig { + // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). + applicationId = "com.example.bumrent_app" + // You can update the following values to match your application needs. + // For more information, see: https://flutter.dev/to/review-gradle-config. + minSdk = flutter.minSdkVersion + targetSdk = flutter.targetSdkVersion + versionCode = flutter.versionCode + versionName = flutter.versionName + } + + 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") + } + } +} + +flutter { + source = "../.." +} diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 0000000..399f698 --- /dev/null +++ b/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..7fa42f4 --- /dev/null +++ b/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/android/app/src/main/kotlin/com/example/bumrent_app/MainActivity.kt b/android/app/src/main/kotlin/com/example/bumrent_app/MainActivity.kt new file mode 100644 index 0000000..22ba111 --- /dev/null +++ b/android/app/src/main/kotlin/com/example/bumrent_app/MainActivity.kt @@ -0,0 +1,5 @@ +package com.example.bumrent_app + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity : FlutterActivity() diff --git a/android/app/src/main/res/drawable-v21/launch_background.xml b/android/app/src/main/res/drawable-v21/launch_background.xml new file mode 100644 index 0000000..f74085f --- /dev/null +++ b/android/app/src/main/res/drawable-v21/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/android/app/src/main/res/drawable/launch_background.xml b/android/app/src/main/res/drawable/launch_background.xml new file mode 100644 index 0000000..304732f --- /dev/null +++ b/android/app/src/main/res/drawable/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..db77bb4b7b0906d62b1847e87f15cdcacf6a4f29 GIT binary patch literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAj~WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8bpbvhu0Wd6uZuB!w&u2PAxD2eNXD>P5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..17987b79bb8a35cc66c3c1fd44f5a5526c1b78be GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xx&nMcT!A!W`0S9QKQy;}1Cl^CgaH=;G9cpY;r$Q>i*pfB zP2drbID<_#qf;rPZx^FqH)F_D#*k@@q03KywUtLX8Ua?`H+NMzkczFPK3lFz@i_kW%1NOn0|D2I9n9wzH8m|-tHjsw|9>@K=iMBhxvkv6m8Y-l zytQ?X=U+MF$@3 zt`~i=@j|6y)RWMK--}M|=T`o&^Ni>IoWKHEbBXz7?A@mgWoL>!*SXo`SZH-*HSdS+ yn*9;$7;m`l>wYBC5bq;=U}IMqLzqbYCidGC!)_gkIk_C@Uy!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d5f1c8d34e7a88e3f88bea192c3a370d44689c3c GIT binary patch literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..4d6372eebdb28e45604e46eeda8dd24651419bc0 GIT binary patch literal 1443 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/values-night/styles.xml b/android/app/src/main/res/values-night/styles.xml new file mode 100644 index 0000000..06952be --- /dev/null +++ b/android/app/src/main/res/values-night/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..cb1ef88 --- /dev/null +++ b/android/app/src/main/res/values/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/android/app/src/profile/AndroidManifest.xml b/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 0000000..399f698 --- /dev/null +++ b/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/android/build.gradle.kts b/android/build.gradle.kts new file mode 100644 index 0000000..89176ef --- /dev/null +++ b/android/build.gradle.kts @@ -0,0 +1,21 @@ +allprojects { + repositories { + google() + mavenCentral() + } +} + +val newBuildDir: Directory = rootProject.layout.buildDirectory.dir("../../build").get() +rootProject.layout.buildDirectory.value(newBuildDir) + +subprojects { + val newSubprojectBuildDir: Directory = newBuildDir.dir(project.name) + project.layout.buildDirectory.value(newSubprojectBuildDir) +} +subprojects { + project.evaluationDependsOn(":app") +} + +tasks.register("clean") { + delete(rootProject.layout.buildDirectory) +} diff --git a/android/gradle.properties b/android/gradle.properties new file mode 100644 index 0000000..f018a61 --- /dev/null +++ b/android/gradle.properties @@ -0,0 +1,3 @@ +org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError +android.useAndroidX=true +android.enableJetifier=true diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..afa1e8e --- /dev/null +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip diff --git a/android/settings.gradle.kts b/android/settings.gradle.kts new file mode 100644 index 0000000..a439442 --- /dev/null +++ b/android/settings.gradle.kts @@ -0,0 +1,25 @@ +pluginManagement { + val flutterSdkPath = run { + val properties = java.util.Properties() + file("local.properties").inputStream().use { properties.load(it) } + val flutterSdkPath = properties.getProperty("flutter.sdk") + require(flutterSdkPath != null) { "flutter.sdk not set in local.properties" } + flutterSdkPath + } + + includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") + + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} + +plugins { + id("dev.flutter.flutter-plugin-loader") version "1.0.0" + id("com.android.application") version "8.7.0" apply false + id("org.jetbrains.kotlin.android") version "1.8.22" apply false +} + +include(":app") diff --git a/assets/images/Solusi Sewa dan langganan aset BUMDes (1).png b/assets/images/Solusi Sewa dan langganan aset BUMDes (1).png new file mode 100644 index 0000000000000000000000000000000000000000..f2f6e290de6cd4c5f8d4fbbd4b938c28649bdf48 GIT binary patch literal 42141 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≦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 HS;YSVQ?qwy literal 0 HcmV?d00001 diff --git a/assets/images/air_bersih.jpg b/assets/images/air_bersih.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c24d13d1459bb7a7667ec2d66db2e28e65ed6a8d GIT binary patch literal 82539 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

)h30x+S+@Db&7K;TNzf<39c2z*0wf
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

}+@1@}0); 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 &PVn)o_^e(dgLM_i&{;Be{#Cst|yXQ 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

FQ%ah^8fwHIw;aALw+H5>fDTt^OPO$ND2$DGz}> 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 +#D)Ub(%#R_<=@mGRjCd_aT0Gm(yrKWeB8 zdgdU5%t*`XhY2d#?~D&)6$uS{dr{etHnILVuy=NLDriF2I`<&Q=qog>`+;#&fs>+5 zA)d}>KKIqIE8=(=P#}i`#!0K)fbS8*%Hfn_-E?78*CMM#Ph}eh}vDn%w zVf@ z=Po=D*D5S5yO?Bm9{Nah2KP|Tl0jmTp&><;A{T_W-^ZfrX03+c)_TWLyyw+#d?U0M zW?3ubeZQ20sD<_@bYtU&vqkeRLvZwl^SvpnB0`Z1&&5f|LXq#)5+$m1RGK1j$G)9A=i9k!O@EbyNH{Eus27}yGleW^tm&}hdahA` zhN7&IKTCNiLk|K z#(DhD$Z)S*Se!4@yS;L_ajQK4#KrQ7OXteel)5PyirZ>`9HVO^qCqg=o4#RsG z8*vz(XrnJ+xrU?U?J$GIy*`JcJq(Br0)nJ@W>60Y8G_YEzEKw;qYGFpf#x`terqen zhE!#oXrFuGg$#|0l*3$9nt_^O@>H~s@epx_cQXo{Cx6=_O@##tN7Ny2>jn&}riRXG z!tr^8Xe^ zF%MWw(i}#)i12u>Q6Fx4-Ye~aBTeBZGL?Q(z$@?-aI`^G=q76|1N-HiGJh>K()L@_ z=iDkR71DbB{lC|@{}=g&)l>Zrt)D^RXggX3tVN|zwjcgq;Y>SNH?}kOOm#FehJXkA zrD97HJdv(zLZRHgm%s0)v|PIfN9lxSJ}I!p-*@jWm4E){e=dJ|?@zJsIQKAVz>ErQq4N0Iv*mDat(-YKUtWCii)DD28Y;(SxO+sf zb9wjO_sX@~OXVlO`(ye2-R&|wceYH==IO)(14I{905(3}KMD+)0@rJ*zH5XwMK!T8 zPQ1vHvaP>>`W#C^R@TbwOcr&~>_dYjGCC-C?%vK)jALUVh}=ND z15Q^Vi@@Xpk!++8O8BV;)q873Jdo{LlZqJoNCxfwDjdekZ~SAyhd?sSAX@LV@>2FnUy7 zO99}$q8tT`AyOix5Li_RxcOWh3ZM3KH=W!RS%!w&DG)`2ytAbML{$n{;vQ|M!pi@L z;HZ%i+-J6vNLa5w0#HH3`&qDX#YT)M)ZOq1-7H*^Yr{<`YL%jC1(Cv4lfNBb(Z6U+ zA*A9{xG3oSZ9hf-(n+nbVa@S>6(|3R(`;3Q-$OP(fo>p0s6(`M~Ui~hOBKB!1k==AmQIEx}t*vfje zT>tv(zb@bT`|tLhzj+>G##=|^$rz<&cgn%;e%aaFiGo%W0|({7nUOL(a8w?-a;7}< z-1FtvZ@yRF`VjMeupDh~l?TtAE}wbs(Q@VTnR4g$Qu)Q3ACzzZ0YaC?Gw3W34!7k0afJK+UW9=09NJ@&g4%j& zX12djnLK{Dmw$6}vyqNRxK3tTWf)j2z@a=M$b}oizoK2fj}tA{R^xi!NgnrCzVelz zRWQp~utpmw5V%jlCReHBN&zOiaAAvV+|-)5n%1HTO>d9vX@#~ZihFsF*=V*si>GI} z5er9JB~8DK8W81+pcQ8E?CO~0Z@w3$i>g>QZcN|7b9q;2`^m|E_?`TE_zfBpU1iBV zJfA*5iI{3_8~L91;%#oxy6=nURz6gutWXJyr8)A+F;ocA2RTss@Azmzc)fF_Vv*0| z-KLWB9P50@yN3l?OBAXET(fb)aTPwU723eK@PB!0uJJn2t&|q+Q%Sj>w7wVvL+0!+ zarJ-_k*;7yREs0cHnga_6|yQi`$4}V<$r)`ddLtgF%(YjJ%HFx|LtetSmW7p_5y)} z0*$s+4t6LiG*DKTmr8eYxqSZe>GH(+`Lb|fp_GxS^2ZzN<-h;SYh`O^w+tU0m(ye8 zW#RN#`Q~4~Qa=0ibLEZSzFq$ACqFOmF0GfL>4h>nL6k$LVQb0Sb^sP9&JbP-xMMz9 zw;bTW_%AIlmE+^2!0<^~oQZK@d^fkZVr-F7{CM;{&&46!dG6C+?nQaGp>F@6Lt@RGOJMzi2p(ML;t+#Oo0$A*`2UHQ0G{d?MnD1HIxW5^=69!da|*`f zYI#oxiILGVIYm0~NGSHOylRO`#y-=@)3Im!+t^mx#rFt5oqDWS3LPbCO9xa~E;ac9 z?!HCHn%oLt1)iJte%iov-&E$TL25OmQlrY2){ zwUOp~hHNp`j=xrzR!d7AXnA?Yp!cX~T~|?b2yQ(x{fLvL0Dnedun$3w=HKakaPl+QAI`PGqU+o2VQmdsS1U3B-LNtaOjbUR#5GG+Z4~<65 zDHDk_r-5okCc;o8HGtV=c>00%EDjopaK+)qzo?(k%Z-NV56aCV>Y2&L>7KxMXa$iK zd?3%FQ{Caw{#j;p;&|sWQ?7P13@)yes zFT9Yb@AwdVw{I?MuIPb)Li5pF`S9GhRMqx)gak7e}e7DuYJa>xcqfGf> zEcMp2eliC?9etYZgxnF-kI+c7?xez-mWBev+8;VABOZ4@xqP|zw!OzEp}+l9_N1y3 zaVnr%1*tio#hFr|i^yAxL2AQ(@Lu*=D%F!PD(7D60W%-Oq#|~lT7}GeRJ>YG{=ZeE zZM&ek7(=Z+9hUBamagj4AT{P$>O<>+xpM8QaFsJ!2+|X)tLqVRMYbA_HO9j=yTxIl zqoZYgWu+W!@0M=wxJ>SElxNP3m(M?WwLJLDQ{@Lgd87Qp_kLE^j!M}jd5b8kqfQy_ z9hRfr^>TjURQdWVFPDw=o$~L$d8@4ShD({8E~Dckp)5v5vtD%8+ATqYkRXOaF*`L& z!=9XiLP7S7`Oo-d57vZk;2!%(0vP8!YEeg|)6>tt+>^(3)5sMu^Kh3fdWiCi)oVUF zHW`8vp@}fkglf@KAe(9;de#tu&}3=JZ+VTAOzkul2<_nc&_ z0?JZW %!3myrd@N`H3-yG6DT7(DtWaToGE)Y_^hiYM;yT#diRwbMm4W@nUw$*{ z=TZ?3)PV*Q5!f&OA3@WVhM_MC4BOr}-RdEcjCJdr;(Jjj&(kywM`Eq7+m53`Qv{}o ztcm0%1AU8%-Td6c-)$_c2#M!9zw*K@hp1_-V86egAvkKxvphBLQdwL7LvK0HlNw;| zr5HdXZFXLAqeJ1yggav_6uk5=kaQilcB~bae7C!mW&MnVXoUg z)7($1A|4na=oagI zZ+oZglWll-P^ONy%5&$&%jcfFS{{A=)8+gB_N($YfA^zueQmo8O>z+BXz3BEMJ2I; zQqIp#mjCmA|KG~Z>o?0!-*~IsJ?xhCGFZkYM$5&E50rz$;|Q0f7#0UPME&2xWh&_(p<_fZz%#2Lkr#k8#+^QMVo2!+BIHI$&TupG8Ja`E zfIuA^PeiRC7FE-+LylOknOVl)nb3gHg(e^=g3o9>$H?<+(uK*Ip{?{yUQ7hIyS>@3 z$dB;+%fJ4sJY*Aud$=EIfuchBTYiUyPzxPUFiQlRr8lKeTp#?Ol7}ezmUHGkw%_}l7X`UsN+rVg%rpPe zIvEIuu#`r-Zyhf!5JTNsnu2FYyYNm6?qTAaae(Lr7>IU3i-9U zl{6!5L*O!(mO3CKjs791xla&>d^~&RbkYlM3KkWE=E5Z24YQjUb0d?W8Ouw~oXvy? zG!xpu1;+CfpvhfPV_`A|6>Vp!GY^*Jy$Ev`7CGJwJ{!!~J)RjTCyqwm=!ay;3*(TB zOsUd|l9a~I(Jswhvc^ccC1gduwL4f3jl-c*v&y`O_VP}~V{K(AxMKb$DdJ0CekG_C z(A)k2^(s!P9jO5||KP&7Hv66n+#ji&b|Z?eRR>1YqiAZnijw$Vw8T3#RrSQXnN&cb*lM;^2%Y;i~v!2K`&?;JJ+II-s$*BNhm;gURZZK8SmU$C?c)F=8#AFo&~P+bPt}VRU#^H zO>mHIE6la%M9ESdf)=flbY5oacT07syVKH`)yJ4OD{{8QNAIJUBu8GO%sC&@E zGCtfdyPI3(VC6=6a&fGD^75JT#aCV|yT?Q2Z@&G5a&39H{OQ)+vawAzA@vo8%E&;k zJTNz1{+F+Ox$JK3lsDeHR(^l$UO5<_DxINjoB>H}f7IUIKM2_oap=4I@tszgikH2D zP)6{2%sT7AF$+qsI_jyl%g@AE9)=r03LnACU-_#ZgDO(uA~zf;4x|g}bc4xfF~|#x zXFo=q^Bn@mm|I@NB4D!MGYuq$M?p}b-J~=geDJ}(=Ga=xLJ~ZO&VaPSF*iFK&>zPO z&*WWvN2l>3q9C9b3~6!$Yg&VbIHDbMMwBto$q=z{B-Yqq1h^S=UN_twh!{b}inGw3 zdgke94}uye4h7KNj4jO&8?%O@$X$let6Y#=kDqa`3)qFPiLX*pz(p1MDj40!t?=-E z7raO;HblKo-c^CF0HCd{aFCBterORD2 zKP-NE)F{zc(QFC?`co^qRZ5{X`vnTpG+GxTMG_GdELvw4Btqy)o$yZMy7gc1j1xK` z9c2C^2}jDoFf!4g_vk}$PEQoV3BR9IMMj#0aIG1l%)Pw50^0RNyA;GKc;C?qQT}%A zAxPLCzDvRFx@iTiYm|G9UQzK_B*-}uVJnFFf8T%&r4xXvp0L5#X^{ymK)tTv8y{T@If7-jyPb0JaDT6KzWlZSsi$z{!Q70{4c-)aU*JB;q+pj;f5t}h!)O*-y%&NI58#@6EWaiuldz(J|{`D ztL4)~weoTbYc@g@7OI}=7U{O;r2>Fwo(O}%i0Y7^Y|)7uOabq_OLw?dq;y2UT$jc0 zhhiaWy0-#9lt(qmMEH!gVO12e=l_O7xsF8Nwuy0O!Ru^^(+)bA%4xMY#)dr6HrnN; zSLkb!6BDaoQ%EXwp%=WaMU%FrRgli33dV8>3VW#n1)>(F(Hc6`QV3@Fl$%+^6>B-o zg-p_^mEW9Sg{T5Ltf3ln%d_NFX;Vvwge5UZ3{ECOxXxNiskO!wz&t~t>$~oEGSX(1 zuw%n>wPKIz=?a1iuEkIEw}1P$Wqk#coM@%ppa7PZS4wYtqf8%emWLOo%cm}%D_?r$ z%VqA|`SPv*{*UF?Z@wFcU>+TlrhZh;pFLYX^VHMj-nAR$=y<5S{?7a5PtXqM&X?h_ ziKywjzP?$;CdMO!HV$khLStwo1hRe7>Ws*r0j$Jy-ru@)t52s&F_7JhHG*u6Xp~MK z)*2w@=&*ENdgU8ELNeF{CIk?glgHfjf*)-)6g(At?5WwgGD#`OhP3Ayajbad3wbUL zBXo?TduUXcdIOYC+YTX_4xJLm{7|TxjxR6W4XKQl;ayw{I*y}u20BsV4Ng+?1SFXY zd63BbXp^-YqNsB%Xb~DJ;^wmM!D&`Bf4m001BWNkl=qZPU>f?*M~8&vKyl^|#>5f9JIV)UuF;Qi>AW78sA zdEh+JHAD9JUb9%l8K|rZ46ZRUWpp$VtQ3a)Y_zSK(>#xLg89wyQ1IoX^}y8|1MNIG zW+K&((Hs?#1{$lUIEVl>mqWP6JZ9fh7-I6*Qx$4~BoUo+a}pPQ&_6wZy^u%Y;Bd{l z&MHT10fUTl%o2V2JOz~V3o_&Zw#hkfm2JCcMY0MIu49d}MwlCE4iuLTJo}{Z?$cE{ z8sT`RDi~HqMrkAx5BU&uPlgbNMHS(JjNfr6T}liPHVJ1Mdtq-kt_uYpnT2^^E$6Gf z_M_Lz+RAD~JMHXo`bVd%-n~;g8!Kg|Tgp@C7s{n`=gM=>KU+p7C(2KL`KzdlGCMm{ z#)z;g-7-5hTYmiGpO&{ixL)pXsO@04%wN1%dJ!)?8t9g!E@TfNGfw#JQspf<-S9yj z9!0ip)Z-=^1^)r13IJVoztRV)Eh0x4W8@Z@ZO9x>lc0VC)I{fnFTL869H$&(lHXZ~ z95$Jhw;=gzMX}U^R9{~x6H}Sm<^(cmAi7u_2S;UXHLLVcXa-aYVx-RQ7{@N}CB4AC zaw2kBx9;35r%q*-8Vd_#n(?f|k#f9GeOju*udhdZ=j8ZAJR9f2-eEdY+(1TJAiy~v ziPga(ML5l>`_xlUm5IqTzr#$7B#kVsD54TE zvEV1hGf=v%&C1f%G!q%RS=~(SCRP|JC^gymTpmxPM7yGBN#%7FHjYV{jm=5G3hom# zGCl6n3$1yXh%3ie>qBI!u=B`i1%8X*h+CD4u&@g44*^S^)0)jCvgh4Fxp0IOXZRf* z#zBFiGK4N0p6h6{W2oR(Xeh+|E#l%HkgohF*BfHhj)BfWQ8xd_B#mUCCW(Q+>7VOB zM5vNdu`>UxO}SPr2@xS{g72(dt2GcO_eSh@3SAWff9ss(Sz25wQ`bPNcr=eiaVS)( zjA^B~cj!wf|ACXSQK+};ooBmNe2?#M*O*E~3t4MPE2TB%-+KG4^8N3Buj~Ta02ai( zF0Vvn!uI-FS?unWPhEYeOm@hmE9KPrh4P6f9xpo_Eq2%|+grQk&9~n#*Vi`6AD7q4 zPIs`Z@9mbkg@rOXIYp#r2vh3FP*WTrgX|%~iG@Xfv|zP-QI5o0az6cbhJ<7Rqeil zKv*HrqGa0eXw>~(-^h9iyR~5T%v3t@c&Vw=-n*)WA z1D)uOHd*;9@~{cW?v*Hz{OYTJ5mX43?a|;q|KK1^)Ha-n@4~4#F;(5J<8f!0GxxFw1>&z3Z#>3AAgEKG1gGk@54{c0MzvS)t2&S#t_Uo^P0^ zbEah@`sRJDg=3p|x8u$C{F4q+k%VGD+%K=c{;Tq|7Z*Ixcey#KTXP0Tk)LVA-Sw224n@7iGV|TlpnwyVmVEg-r zWqM{hj_~0W^zB{h4a3v-0zf8bp2(ZeO>kLWSxwHjrY$d#ytSLo$}?vd1Mu9ueJADv znt^551LYEf{n;;mJwnD<9Mnr-(eiK#e8(}!Lsh%=vR-K<84Qn>XPE5jbdm^|(=mQ{qt^AWmkLi*7P0)+$D^SJ`og_`q`g3XQUGemQalg|)+hq+dT zWgxm<@8p>J>S$?ASc?cT2O?@I3EP!wDN&XDev6pMR21d&TcOKuP_9Ciwj*%Ta;jwv zOQLHLGVeg?h1uLIWol+RghG@Utn*A^^N3!k#oXJmx__JW$vd0+=C)>k!rghA4Z2U86i4ALOQ6l!>V7nZX0k(f!&Yn6|IJ$mxs9Pq6hNEP_+SYa% zBvE5zv>cC5mZgo2vPJC`4x^o)3t>AqKOY%n95u##62&k$NbGk4Ijtc6&av&qN$IB- z7bBLJdB9NyRT@-HISRU>GuVydTpxb$r_$|q%Fy6I+1uVMozK7Wji47|h<9mj&Uymx7Lo7$2W3Pe1*1xq16mKXgl8i06PU(JI9XT(hX<1h86CmXI1<8MU}BYVs@0j6QHfiW=e0Tr8T4yie1)&1hnScn!Zj`X&Ws7G6<+rEthZ z5XO${d5;^OV$f|HTU3;3y)`|%7P!`-7M9jQzRUUIHwrz3N?pR(?JhBH(F$u_?g+g%O^|aTZ3@RtixbqyYGnwE7>8AnorwCGO!FiOc<{9iK{tuc{u@a-pdRCb- zHd+9Irb(5r#c+%aQh-Xa@NDlBoeK(FD_X=-JggtuuHxW(`D^GtikScAjW^2Q|J~n3 zDb&54?MS;PLE-Moy)p<#y}VjDjSzv`LAhhK(pH>e6O(27^w}~rHC48@cFM-`YPom& zPMJG1UuI_KYAx_mI)IxhbfH?aC{7~&w%@_)vY&etea~aMZr!{Y^g^%!+Z&NYG0+_< z`y7sYbX1n^-6>I|utAt2%;x46 zBH#GlavoRiF%}`nYIqpg9fW3`Idi&DJ2xjhks*ynLpUi+Ac7a+hCro;=EDy^(hn)y z+{~(9&QiW41;P^}dqd<49QT!h>Qf1bncCKZwX!>i0Yn|{rD6U3uiqaK=j=AXH&q*F) zBil~*Z)+tu#;!;DE1lz7;2PE!bC@Wd+9X+Eh_Td3t`KM3Rq7&K=a|nGlnU+p+htRNCdjUbPoy2tp|l;J z6apIH!XcRvUA4C#XQ_n(9UbZ;UCJnQI=u)EKv~R8O_k24U;0}3sYCl7Bs#+UCl8sk z-*APzXx2M$|Ca-{~g>a8wUM3nZ-B?{VWa{@%U2 zWqfix90=wx!y!jd@_s!x3ojr%P&GfG3?ejxSk7*4Xa>g`mLgBQilp+=4}|#o+Gbpr z8v+k~dX44AK<6Paj*rU4%U8>veeEleg_avP=>)#Vsn_Z0-A?Y4AGxqovso`dvo;ZV zA|X+M!cCzmHz|Vib4@!1qCA*1i2{sCO+G4*%+@saJ=W9ZdIe(pF6-0U&Q|D}X{94X z^IJXYvltHIYF)RS~;go0GXNt+YdN{#dpFLes;b2!>>+M>0kvq>eV;#KHqP58a* zm(N{83f!g6e==l1yLpUv)@FdqE5$*>)_+zbs0bQj2v~pz11S{8Lnfk z7tvsA-RRfQf>a5&>!ZD2+UZ0wXThO32I}CTy#3Bw7Ef##7_{4Fu)z=%bGXZ$=@UI1V1P98w@nTM9}jG7*kJmm817w+JXWz;U z3hCoJ+TPrW&_t0v?KR3P4raw-iz5C)n%Y?cV*j{xSOvbwgO)xQSvhzh8H^wuBrqYQF09>je#l&ml+?8s3@ zB0)Wa3~GUTy>!CTjq-PN&I(@&7w*;U8aq)2BCI#E1I9odKp?zv{fz^%Z>lr$JUAnF1b=23LE;OFqo(*v04No@cX^^qCSC1 z2+kU>>AGlzPrfUoS+p2bwpwjwIBLCckI%9_Dr*IJDAPLEts?HD=Za+cP64V?N0DVo z$xehqdHOQ6LU7$BdDr{fL%TtRN%iDDXxDknW1O&?^rP07mUHai+8%ye16WId?^R&D zpHS0pfBV~IeQiA=8t@&#`)ZlQ-slqPuor$J=oo}I{Awh<^p0bX!(ZdOB9ehV@Ef@h zYj1nEOx1)YeGGlaanxH$%T24<_CrA&AEXtlrOn^Sf_qDM%g)w%3SDClHA#3WjU#3+ z93&;BJV)V>k(G50M#{|_*ZRm0fg$(BweYPp44Obx#K0NThT!FMj_9C42zBZ$co?L@ zl4n}5JUFkzgD4NkK#)a-mkzTic_NUd1Kda= zRLwgVY#+_U@kvR!w5XK+iemUJm!{dB&&y5cCTWFwAfI|BnY4sLh2Qi+FhYAfp zh0ea#Y?eoD(Y$;nzsIVXEsE9A#yIdU+TU`nAL~0>q|OcZ`7aevQUW4B$Ja6A|FpBE zI5fk#26I=T<$8$knY&uomT}`p#S)6=C>@{*c>1l=5Wipu-l$zn9DAO2;E56J6W6v@ z7S9YS0L9iQYrk)iw!&4R&3BGpJ2omk+s`}N&@^Pj8*jW3h0k|3xB3NVkOTCKAB5jb ztsipz`t^7Zd%ArNdthQ>vdqmdq@ZQIIs+lIsFy%ugHc(|5B+Dn_}oxi_bKm=0+H#|s?>%$}AKnsuJ{$UW-a*Aqee#g0G z$4N(kiW$)0&MJqAi2$!lM?tk{biPOEB4B~*6w%S_TUQ4+LMGVhU8- zBpUX)`}&x}bkL~tdv`67?9H?m5-`vw~PL)#IUi-s59PB5j&V0B* zxA)TG2=s^0ote&}EF3EZoxowKRH&Po{{L7Zj$ML@q(l@#Zj?}(HS5xO<@f*F)tfe1 zb{uD#k^5d%S$m-h009u72#^3I3J@uh>XwGhnV+hUt+qCk%%)`=GcFp^^nseuLIOh( zJ5YO7u9fQ@dtQ&{-aw^UT4vt7_nbHp9`3Kd?%~e;7%wSEzOI3A?YQ1ZQ)o;zV3dVa z7LXOuW*OC4X-(dvN9a7epPU~l2bC~C$HO$NTfh^~($h0T2@HMUVqlV|Uetm{-n2xv z5Y!#_6zTHJxZ&ATDCM3`#!u%hvYWV10SJvy09L=hpK~rppdhFakc?iGa;qoqdzs4* zKKP*h&%gU0Q;L&0v`!44!3lt88qjZ>4(PTqqw!~ETYs0 zjVYh*>=b;bo%scFHy5%|lPcDc5BKJpOb!Ce#KFMzw^^U!HL)s!L4XG1Uc6a z{jj;w{_=-EY&UP;oVwx)IPXcPjQNFFMmGxA4A;D|QAa-)3bjOldx4SJ2Cud`K?_5X zWQENQ9!|PbI3k;)V>V7H648L%Chs+JJ|b|QDTb!a(to5rbmOCl2O}^lTF2_Oc^;`4 zUgLMiSNEwek+_j@l^vhwD?zH$dPdw>k@^|krT6y2;q$*s7cV4$2EV7$Wo|&aQY%t0 zDwjH4SqejiI2t{lMam%FPd6Cw#jJ~nhyNklL5iHN>nVmB2@z4Ad9kPio?Y4JcRfmi ziW(@Dl1j=oaX!rq@R^tkpGjmGs#Y>qny*vJ@?)Z|M!V*%D6$&^`LWW8=F=6{KBQ}_WJ9u7s5FuLRhC$bUAofw7c5g z6tfw(R_+*4MuJZ~2+ENAGbseoC=8DBX3(On>89+Z44>{i&2>1+XO;tJp?R?NRSMcv z<#v@m6T`!^K|s1uUc-qePo=*qj|FyxLI1R+(#?&i)N(|3Kf*nbwjD-rVG`Pi*v0K1L;zVZbU=OxntwnYyhL~ ze!kq=atl>@3Qydp=ai+2!_Avb*0Vs|Kq?ikt)ftw$=&LX`;&XsVVmB#vDLiG>2ht9 zZjfg;NN~D2afD}ab~-)SFi)40euP(rK2u;7aAY2w3+^-0Ii6xh^O@@1-J9p^pZ2s!Y34O3b43jr>n#u7U>X z@_BR6^$J5>wMpvf#yF9w&`~S#ilP^5omekF$8|#uKyz8Jqk{+ygRZ@@CS}D>b%Q#@ zgB=4tnE_@0|tgL)3Qp~`)K7)sc zv0j6xym$!u6Oj(W{pim|lgdycy+0OdB#f^FyJ!f$voU%d*`Uf^7dFbHD{S(LbJC|P zBd+oCE8ob0h{cr>HW8;AAnrJ|2zujAuE%`x3_Kr77d{slpfY7{RnCPL3gJoZcn>)* z6`Kgm0x{Ghkki$okNmCA&3KrL5lN$Tb>~EYQzhK_Q|~M48WFK$)rHq3kLS=8lbcNU z)%&YNRP@=j1ZvKD>eJi|vC#Hj)C-UzKbQIBfB;S&De2 zgF3qE;lsANR;6jl=Y<|iL7(q_@4rl-2IP#mAX+*W$5!h-N{7+~S#lB5dzROhr$+^y zD1{2nO@*gGA{bmdDOR0>@-P66-w-f+4H2Pa3=|CKcP%@{><4?* ziIYioletJd55mMk(|bwI3#H5X>QqnSY;>#R&V25@zj(jB_uhMXRyj02r-Dif*urA9 z6X|`=yg%xAKljj~Jozazm+6tgBBw zTi20;Etj`1CGRnvX(#7Fx+*yC#~krB28wXwnSW^zU3`s$bC)KSonKXXpPUuFpaE3j z#CxK-VecrbOmI!FPl^&_8)*#{YAKyQ_U`(tpyHKvibDXT(iIi!i76v0F}xI%F3-!H zx?bf`O}etEV3XXV#y90L(}sOHmB7*roFYQYy~JeCY|!{}Z?Dh8fR23z6{tpe^o$&< z@6`aPtTjH$FwZga@p=QlE{+jHpWeQGC(UkY zJj5tnnz`|MCBkwyf|r zXksQ0>p-p=t`!#9V9gtU^6gA2)&ixwv9VT>{~mu2j4l?RyoNta(pDhcak3-&`!RjWr13B``lRa$toYcA~&EYOeI0KL68*L6TSZN!Tv$K zl<@h?H^<94sTkw55?-AmN$_5*)#0-mvx3hN?yFZWXU~z^w2W{^p;D2*IA6!BQEKKT0LrtK($;VEWvodb%57X>Q(e$=DBG;Zf4(ds*4+Bf=<`i4+B`>L4 zn`(YVgIQ`*O2pd48b*#s#VD1gTp9Ytq_}HexWw-H(q@$lgWZ`dZ^I_mjD*+OL{^$n+yf9xxN(v z7YzVUi0=7l&Eume0t0DK9<9)iCBl7Y(Zq9IT zQPLpUuPdQYA)Vu89r>0rkxMfhMTEkA%W%%p(D>WHpvXp61 zSKcq#3+ILQMcB1wWgJjY7{{&6jTk>X2vVcUo0@O)y*8_gSJyqXMGiHrPu*!fAKg}J zK8U(iDEytVP@cMn2WgzbT z&~2F4oofPkD14Ei>sShEc4$Y}ozH1tRkSK)))hI9p+5!D*Ltf6Me32kzMu8lM(SX^ z2hTbpym)|}!&ct(4E)>Yc8|rlbi+MTS+1E>l65n99%PMf!cYy)Cqc5*wLLgYGhB*z zaa5QC5<5?J5}RUwzxeXY?eN)AWg;BV<#!>J0lJ7fFnlG!;OSn~+cneDI(&fed-Ms{xoJ4Lw8AcT1Yp=gi3is*LaJtlo zL{U*!7v&el0eO#$wz3{e$!n=C-h&*EA3uym0r4@hJe0vVCtB3RL-QpPW+AJvI&~Zt z+r{n68S|^JezSe}hyO21cWG&%kV!vo3W}n0Lo93pzEu!KNZ4}_j{ycGGV6H_W15!vW|F|Lv0VzKZjlJDEw z=cx33ug~#3B0>nl(e=$KFUnl1=*NvHdQ*A2p>$_;M@N@cgXjj2XRr5ICRu<}zgNoX5t8^{W6M)e(Nv58~ zapfzEw9131>ruOz>=ca~_skllm^D&SsM6=)cm5y6b5OMxq&$o<aUH{o@Y!qvSLUsE9$A}&Mqytl$@8dW_313~qCb8TUE!aV?FK`^RVH`dq8(dsDBvD$?maikMNldM)fX-b-K&#S0QG1F_N$ z52(`u<+$HYk1M5%OegFYp8@G|ytin+XVZM$ImcQE?$3Vslk`Y~%wXe@W??dP+#d26&(6cG-g)We3<~82IygQ& z2s#;+E}u^g-Nlt~B78mFd7Q}w&T|rq4FD`hnTXm%x8YMLINo^@H>mswh!nKTL=s5i zaKxK$ey9EGzyDjejFp=R`OkzWLAoO^DhGkKRJ2;nEH0@rXQz#nG|I8@oZo))&Gz2= z?^ou-QVAT_W*$bUz&?kHP9b%(D%>N&3~x6yYm^roH=%qeKZGbDaPX2?C^xfQbkIHo4uvt8WEo3S3X7NQ^g8uw9`WO zzVg6b`QzcJ;6^Z@;dCs@n(LMh7X8qS2wW~R^VmBn=nXKg(c|H7Q7Ln%qU6393O$0+ z(-4e|`$5I7SCG$lg)1GS%oSl)DTx|QQdXfEKKS7G0a3SKxZPG)*4tNKeG$b-O;yXfM9hqS<6X2<^dfR zT6M0no_KC54$i&(7yosVjd8-c_KhfAESjz%g+|B_K?qH;3VNUy z+If_2TB;w_;fv+v#UOQ1c7k+Ce<_qY*Xjfp6TxE36~~1|cySk*ytA|LH*df5PW$HT zuSfB0tQA63h!q^8v~GCrsr44ko}bOSrOIuK;8a{9ExD^Hill;l7dnGsyhp)j%~)XO zS4A2{o)-5N+|yMYH;AazYpOI58s0Z}9(W_DM@P0i#$qf%$Q-Mpn%n&?Ci(1O% z^1E?tyJV&UpJU9tkNM0YlnMMQ0t}xE)lw;dMZ2uDjnrB$M9SP4ysFJudAcGduA6`z z0UGGA?lv3f0GUb zh1dOE&R99rVDp|(Swow96}sb*clW(qV+1c68_~ISxTBQkDuqvu*Z2kjwO{=5=j}iK z$?JHM05IkuMsjpjE7z^`7ua+SrYoShg z-oJk@wLo|tG8i~|9Ds&#?zP9IBJBscN|7Wu-B_TWDuIGR>2e|9G{TP3eeJc^Qr-}y z$R^=%1UWui7q==Cpr4-xh2%uj;!3!;Z2Cnag_U;;r$RG0CBv(O9eop;}Dw_bRmf^hKH{mZId@{L?Wg=Z&a6#%bO03%9&;3!qD3XE<)3P!=< zc5CaK*#syE6^clgpPm+TEDA0siy-*r&bUUM!s#hN>+92O43&XMLA0Fb?kK|XbI+vx z^@A@OBHqh)&{+?}aUIqz$EoM$I(InZxW@FhjH^|JH?Hrz=!#Yj<#7}(-_&JB&PsVN zwawL8Tl7M|CH(T86}X%gXJ?)Q9^f0h(&d?$|J2;*-G(o0ZM3!J3WCN!+McI0Wh$Sk zoW?az1U(%H>I9f;FN!M!Sw>u?%UE;tJ5=8)HRb|1I@^}qhl_HY08?`?5`dcbpSX?daTJq3Z{36kPfXALOV zxOw41<=VpkPbMkY1+4%z!E=|_Rt1Ji33KYL>Nx>oX9=Xy8G_&#_aSMS3;`7pgY+Z_e5!PSFn)c5hoV&5R#)7|$)ez>-TwY= zdb1IT;0q%Fde4cXbLfHU?L`pJ1>}Es@7?W1j8Bp!@Hc<+H|>pYeJj<6f)pmDtPlc~ zk|j#m!yR!mOd9UIL#*_B>2rx|o}h>k#BX z=~54*GE?f*TnYJVTOLYAGDeL>f~38MK&&5?VLLhD_Vzm^i&l?vBTo;1F>Q2zqRxhGr) z6|eFwqV{jSJq?G*Tof6wb5f~~zE@f=<5`+Zw$#sm{)_hi{L8;a>GHngXVjiJZcB@E zZFjGZn3FDc^VSOiU^yfONLyPC@Z8+knj(6tmF2W-n@jt#YU5MQN(rPfCOVvOe~V7p z{UrPA;IPfT^Zmchi8KOf*}Oe6s#OAE5M+WNURbJ9iHYjY5wM~V$$69&9eNocnF5^Z zqJAYVJ_|v+9u~9OsR$E8X^IetU@IsVoZFq1}w+uDvQ8$+07mHb(J3*ubMX& z53N!OPv4`{ZWOM??;?2r=Dt!AQ`fem*&z5H$Py{XP;|P%xslVYdBYX2d$I9U0L~4^ zW|0Yp0#aHP4>s^M~d!qcT|8fPYxTnD{<}?O{ zpYyXL#=7fq<5SMEz|M#!l>uZ_C9PNG`1zczur$^N%)x;<_oJUAWvnK$^?beJt%x=s92^FPUcY%Gi%;4PlZt?#peQZq zfd(froXiSQ$I3z6+SqIl9^8vkC+V2?@9!NXc=gdoA4Q2mVOS_Iw;yEXn~TBV>$+gy`q3ysnMS8p-wL_cz~qtNr+| z{we`A#ui@s?4)V{bhngiO_2-5M^=`rz60eWd-j70fb0p;q5?5m?bO!j$5K_+y6Y^m z$cWEksYMF>Jt|#Y@lXnIT|Ku{ge20Aa4u95xaghFFa{M?+)0m557n*`gzCpVrGE^D zs8oEmaa|mnV`mJ!CUUOzo0VVGsBo3?%wMKU}1_1>} z-P=wXzzti&`6)fvCY2J$7xO#PEv!5Af=U=_1G!`4<%HUNDFVGF?rk7$xzijYO~!RZ zVvhFPl&#@VHZ)?4&&&q*tsuj3xS#aA6|K5(%gUuJc+#T@1a+cuP#S7b0J+Qk+oftU(3Z^}N_^8eO>G%I@N;?+%sxH6;z?fVjz673L`o_!C z8V73|RRn^Y1IZOs`PfhlxOA&LSk*ZoN3I%D^7?AKdWHUHhY5m#fY}UJuU)O;F)Pb$ zGC!;JDpC-AUA%C)EiYFZiKuOKxw((-2S^zKV7#7Gv2ck(!}z5#s@nTfl9#MnDVR?T%nC~FXzVp-MB&bJpiY`B2-cnqC;J};-!m!ddiuT9)4o9LzYK}wnAqB$UpjnmlNV(`rs)YHUhDoJm zfX-*qg)U`NiXq0G_DbpayAlIWI~9~AR04``%VO!hwNSjZUJF%)tp@=YnYcx-UIuXR ze^6tSMow;}G%<%FuPDRQN*U8&=|O=sK{mFz=e^;xhn(2;ejr9L;#`hMaGW3Kjcc&) zMs8FEUF%Y*m?~k{SEI-4a>Jfx)WeeU;U3743NG@O9N#*`qyiij-}7FNbbv}$FNN2W z%e+`YCuLo^7Ikajtyi{ir;*IZD z_Zg;?+P?Si-sMEvf14oW2sRBTK}aZD7amme%B!#D#*d#q`FaV+Zpqys;Y(<*&W2g$ zL|eHFWJWxB@~F6@<>hw$>h&O90#}rCq$?*}AQM19jN`q2sdPgD#Kqfamo8n-1K?ePi{8;Pcaw%$2H}zMKmB?k&N^P0*2MJCWT07Jd2-V zB|WcFx~5-+>2+xtIzu2@pQ04vj7bu9n-6tPcYt@+8Qp~dx zH3*n!DQUFtM5vIZ&B;ENt-PmlD90#qyjvJECiU_M6RJq0@ zl6YR}ir~tsSE?P9l8Rmh<8?J?D&8pt)ANDdaD3kE1rbf^15bOY)xnt{)FAVvP+K_& zLBaS1GB;K`-Y8ncjlpL`TG9)wwec$97wPp{Eo zjagBrs3_~zDGOymcin4oeT_~4Ntb)Zf(t9+oFb5(H;sd-m*O>ePUmsFj`Hd{F)p6Z zwI3BT%AwG1#V$m$Jg?wnltq=H?;8z|?-#x5S?J+t!1H))WT3al9T@iWWcXq-7rW zjyWgE-9>-tO>i$j5EN*F*JtH1rQ6ONt7q+&i$=wKwH727x7dW~0ut@MDQepNZC|56EPR`tu$2;v&@8p?t z?Q;nKUP>tvup1YhYcru$pSF^hxrfM8E6gNNTqd0I+S=FhL5*(O(wm<_E2nl z3Oj4U|8?`m%n3G(g37h{W)13|EdHz`u?R(h1nCB)cNbUz;x#vho8F&34{|Ufr1FaD zNU@tt1?a|L{Y0<4pRw!O&J=waOce#sjNk?plV#1kQtcn!Jbd#~kS7W1UQ6Y}JcxYY zbn#?Z&mh?zunSsDPIDbsCTd+qoV6?WeFr|d#|@&`=_WyDOzN&KW>2VmG-_tB%=dii zaZb7CNEL{#^+q&uK#1r~wlyjbylTaEsmAZ5U|Ch@Z1dKA}8u6awK=<5cxJOPg zjz+8mkZ(MqjY%y3T5ye zL0DUjFfK2yO_iILT0ZT<=0TH~)I$nJF>Xmjj zsm+1FvFQ{{PK6M|Aze&GWw3#9p&YMYzdB93p(wh61Klx|4g|cy#^Q1B8@Fz@AOHBr z?HjMWlFbCtWwX}g&N?)BPv$Kp9NGLL=H3jE@yKbB&7q4ZrJ*1tAlGv><<{L~rJO3j zWh#-Jv}iyf)+6x58A_Mq&<0j?xmb?~#&Rh*kuG!R#u(A9n{E0mAjHmHjzVv4tMja~ za0BXz@Hg@#QrCSg_p=NK*Hvkz+J4&gR3lP&R05MwIw;2|;Dy<9j7r-L38y_?h zEl>*-{T5N{HF%u^>P4WmyH|#%X6hJ-2cFrr&-Y)Na1;LZwypR3pp>X=2=LW9>qIvf&Da z_WGOW=k4Ma-5{zMIeCQ~ir}VfnCj#-p90+6_tN&IDD)@;YR}G>1>@l?>*xdn^|3bc zkx2nrUCl#QWu_{r#zNTDm**Rg9E%(okDDJ9_0GHRw0GZqH>qN&C2>x1ok9X@tHoDq zY2~UQ-YL97AWe@!Ywdl?##NTZ$Z@$zSOB>(uc4Al21>W8++X)qB7eiU?03G%xq(1^MQdG`Pa*V90ht2S#b57oqL8n80hH8u^T&&&N)GS0XBpPq_F ze{b(#8mzQMiWwFlT@E5}$}Z_zy^c1baI-MF+B|O(5tp?r7aTk(D13Kd7cD~J6)i1<@rZfy^BTWR^=!VaC57`857?n zKNU?^e)Re@)+#3zrU;yIDGz!CBF-|t=-fKV=C$=gM)W!&TjfF;i}y)$O$}QQrkPGD z4ZwARFwgpl(H@vrR=JjFSH-K+7wM|V`5RqhY0)S>ifpB_9$hgiCz`)_4+j|@-ut}$ z{ont6GMg9^pW%9>uP&^vq>vZKhs)p~@0FH1lane2Pl_r@2xOd;Tn&vKS{>fOm_<*~ zChPTYzdK3Qbl`VGDV(QS8&Lh$o!jlgrOUaH=!W+i#oyex5V?^XWw9N2o1C_X4=TSl zt%qr$yttTy6CBG!!50m%8l-C`0Hc^p=Bp>#StY7dH4MefBBgl6v!kzd+SDB?PHuMM z$;F>3!BTGg&GWhVyv8Ajcfa?&_MPv1H%0}dfefH@Ln|!J2N9Klg8!xV=yLd))amW1 zDqK5Owx2^MNS33>JqX1dc#13)xcbg>W6E<%MWA$@SEHThpD%i(nnRN6L#6<8 zDGDsqU9Z8^ZpJZ;0lO%vQ|?wq%dT;|W)KmF>L?H9lJMSJq(an<==Udow-RXo^L>g6t_G8h3gg04Ix z8;EC0MY8=my_nLMy=4)t-!b?;C!e8AtbfnF|AW6u!5fs|(J>Xl7Sptm0bIZJLR;Oa zW2ho2E?}w&Xf;;9-@sZ1se!xuxE&uI#;Pa?ObUuInG5stX#@#nz+%`90Yr+@<+`@r zVL`Yr|J&u5=uy=Z5XqQ)>}&Ev+&2U_H6`}<1M^XsJPT;p99RCPwA(ko_3ie?8*gMn zRYal_H-HGiahKa%$iUBx++JUGkwSv+6`YA>ct%g~*Ui3S<(YBV4 z;_rOD@}pdh^A`g&6zbs~Qay6MQKpkws+r2Qc*v3+d14Ky#$ToFSe)C@h$_R%hM&pn zy;zP0(YfbY$ZTS69KXg!BPgRxpL*&^zf2&kSUzi zys}CQ@Z8Xt07e@93D;75NQr3-g>aCqD(p@(%yMfDe7YG=J2iY~78T7lp|Y9?6a zg*$Hz+?}Tn^AMaE!+N-w)XpVGmyJp8EPr$D3W8N+cx@F5p%f;F6eX@gIN&5xEKr@= z(jds+X&gqS9a~&%opu{9|k{zw&DP)|+qTthF0D$b|GGlJFNH%oig(OlqDp zg~AupHiq783g8q~babmF7CnvVFbJt9uJi0;L_bJ2hfE3)jA$}SxEmjZlMOQCQqR*W z$j^<))D5W{Ez09Q(l#O$u4je_bCGCwpLaKb8`O=cfzaI@T|(Z&`?-#5=LY0HdLJqj z#!>HOY?W%q^$=vnR_-2NaVcHqR;8qjxG|h}#y3XoJ(}#Zo4vpo4iAo|nGsSxDuJYn zbw1fOat$hqU3|RCQq(FUcm56LDnFTz;kdNxt1=sTTCc5g_HXG2`BU$W(iJTV2AoqB zEZ5>odGl|_=eS1-V)VX7;4r1P=1bu?KN>;ijUqH$leHYj#%p7+*!Y5DD-XA7UpW5) z5VnFIprjOj=!7r6{IYnj_4R!7J{M%}yi$ie zgu%U3s_-lz-4UH>(Yd#Idpw*pDqdg8lp3~_PDP(Y*Se_y51Tj6{x6L1gKk0@XmQr>3WY5c^6$*ti+%dbqmCOsp^RxRMG;5p;6 z{sPFCd19@CbU~=e(VbgpJA3pRTW+^*y^#93I|ql;cIcu=-A<6M%2dVR!c}#42>>kHWn;R~#rc7kG_H23bci2~r$a9wy`Fb*_!FM44($J>tmb zR46!FOsb6$aTY;gd;8r#ZGZCCcXAIF-V&2M7YK^BEt^{#QLa?DV(fJwqLTF|LsZz! z>;~0K@cC52{ET4s+)x98BRX1LtzeLwRHd5@bv|jw{a}m6&wFAF;6g^FsDNl_M)a(5 zVk5a3MUDKAvGUB!tHDLC=UINQsX}wpyK%V}%63Er+{g4PIbi=U(&o95J924Jx~7^T zM^=_Xv8|>TUA25yDUBY2ibCa};VZE4bqawovHn@NXT@=f0(F5yn{jNmk8dnEq5eq3Hc~NN>uH|zw zFDm=zJr)C98aF+iF}SO-7i_R^G;F-z?^5t}NW^hzEPP()L8b3c#$BgqYk&B8)4xb- zy?6h93V1;;M2>q4F?ABa1wQxQy}Rwf{d?`>kNz0_Z~^eOTv;N}3&gJuj_L%TK*(nk zfT(khkL$1wvNC$1d^Y^&_4hCv#B!VHChyN-MI5hg;Kd5590A!9)$Y73%!0O z?_r|lbfFAbAjSY^YfEGvw*E)ZuXstVBf`P;|MEvaYA=4{)hVZFu%MIxZNbml>e@;= zz;03QkGc%K=nCmeaJ?g9bED|`s4Q7{H$s$97w%D+@}3#r`t{VV=anu(qoVR>3FRa? zttw&esgd#i8i&zc6e&n`@cE$Ij@I}rMPj^{r>LGs)FKgosyxTPMNs_ISgNEMYsqEB z6QHC31J0*1SjuNHX?yWRI_(s6)w33y17vBW6-2KF(tOS;Y*NQ$aVvGR8JpJ%<&pML zvo0BKs#3rNS1Ny)_agfm9iB^9PjGY;!3@^YY8zXmbmT z?en|$vV}#9yw|3A7cXvyZzUg=2V!wh!u(Cj7$}V6x<-Gc5zfv}+rx*PQmfNa3>w5_ zU$LuKuBQb%LdxI~DuY09G+P&|Xbzh~)XMKn0QVPJa%~V1n~ncr%?OHdJ?^bAbDa2l z@4eS4(cUQAFkI;;D$FNLoQH@s4($N2|D$n z$o`-Es|Yz95ngGd>IL&z?j3i(w?k5qjYyz|G|S=i+A4i5F!LZ{;W{E5@8Jf;aQa*p zj`6-c--x(GF^<>u7m@gr|Epv?IH4j?-t?{rc0mI$Zux)akI#o!54T!tDzzc{)MZua zdJpGIr0cqHZ|C9kq=IN7a*<>d9lhClHjHzlL9cvb>JJoBWeir#3jNl3)3}=*(K>JZ zZHpikjtE}GqbD&c!O_cbUU{FiUhYMmfS%RidOHu}dW^4eUH7W@aF6h}GUXBb7^~r6 zNappd4uxp^N2E@<0Oe77%;!{Yl`&rT;8P*t;+~mzJu{EPla}%9=&B@f(@FJHd;FLVC^KZu{G!{Y zl+66;TT0L8_v!Qs{w1Hn+Pf$qACO+5MD0f{~n*}6e;g#3E*)}c|MWH3lrlrz*Yi(nz z7K_rAaMjt!Nn2Wu(uM2Q6+|!$3i*sGQa1zdi7VHUssiJ^MK1(6`I2jNv6)YDai1NQ z%foe5LbVZT=2+=sBeHcJ6;wVqx~Fa;QHjXW%#nVHRyp|D5lN2j`RIv|_M>}iFil0fv$K~>p7C`v zZPF>A2Y;DI6;XK*bUmIGzL&PDc?ZGHvI|teyk{E0?=^g#ukqTBUAjuds9VivkO`G4 z>#I8r4I`R#jz%iSb>#hm5-BJC=U7K2sIiJC+UrS(HXSPzoO9@XHBc9gNDTKAl{ zFFyaQot?~1Y4O0E1Ytl3-OldQw!E|w?hvJ$w&hE7_C0U6@7!rLx8zz_DRK+BKAVz< zJ3j>t!qZX4ZmW2=v-8HukQ^3Bhu!(MLZz~~78l}`*IsMi`R;d>QKM5AdgeBjyJqKB5fs8UR$Oie8F0t5Z48ySKb%-mOSg!F1CjS8gED(3sG!Qk8E; z<}l=AkWWMAvoa2NJ3TO;*?CQmynZ^*xmB4l7LaZfQ?x(@>rkdKJgIX~hK9e{BgdRV zOOX~{uhuPGM>HIzM^;KdVHai6Tcxu%IHAb#P@h9%>H0$rE#|;S8CyLD72YISL&amN zxHQ@rah00JjQL;;IjGd-K_lV+`00G9^va9yBo^Z-&qTBqvZOnw22QAZ4xTYQ|%Yq*M#^pzc0pL;z?Ed|B z_scKi)e?CG-I8zb-r3@W8689LZfUUF=2JU7hKgeC%hfT2J%cV{>=!RxXpbH}EYIkz zx4t)7qWM}sJIqR7xpFlKY%(|Bo*fs0V32;H#n}`qYwOi?ZGSI`_baPaDvgsH%ZqdA zFK_n3Sb*g5qepG~Qq{RNz``JTaD+Q+M@_zFF0Ul7oEMj*f9ePyssNd8izRvVjj?!?B9!sZATqB>Q=B{UXq`Xn_>5MfVK#mh~ z3bPa(G#qZGt#;r6nM+U%*JQ4pulcjDS8sFwL_wZWpsC7N%J+UP!{LY;C$o0-dO+dQ zdj}MsMQ?@cB9LWBN?v$vTx}Kwa{gkY6%({S&dqPTv`xvZpKNzcF{20c={fgo6cZ#0(3UpkL z*Z7>3#_+CDyy%e!ckd-TXd}7()xS~2d-=+hoQ{mHTV83~7q_DWcAoCkdTwo`dScOv z)z^-~I0U69j1g8RhU+8~g>ZdXetE4{2#mo@QBnCXXh7xb^foLrJk9 zJQT>Y6lndVKulWT^z;-J4F7xj7cKo&0h4!CEFLl2{`J#>yaj+Jnax}w$_eQz*&mrjE zQ}>niHv>T=qXOZl^Cr4CLY(&wsYuR)%08#V24pmP5{29fP$Uzf*V@Q)V^pJtOX>2t zoTQ8*sKPv?AhI7k1}`t0IXdPzP}2#bV;Fj z4S2vTGA%iU?;%!;xy!`7!U#u zziNF+?#)2hs0$NPL-mrU!Wo$rX+TNZM~=QOP3z>Aa-CKFKRc%MWEBkN=$(NK z?wxce4rZL3wo4Z;x0hb|MtkA*i|yrCUrq2Zg4jq=Due~sW9t*>gO%0d!^$O^wa%ttSu)1R{Ge^@fHQl;@p+6U*WxuO7!GZH@!4lF6ts}Sv*#Yj z#3<9OxB27jbLgh>WGipJa>(m276uf3gl?I8>#g@EJm|*Og%HK`f5*0v<3?ce=+IMK zA8T5qr`cXpqonhz6U|1*_=o83){vbD%~elC(?u^ApM z3p7_~65^i$%L%d)_CmQ8h}zkC8e!yQ3Z*00*EZV=FWzZ4Z{2RU zUwSF9zo-qm3fQh2_irT%9;M55X981H0{2Kkjm}w(icoi%8V$P2DrDW85n+tTR-~t3 zIcEroUc)H(ZaNjS?j^6garqo`B=;yP;3onnYOt~4^X?}19+j@aLQ$*8Ax69xGk1;T zUE@5`*X$ERT8x^x_g|AkD>&E zK&f1}PZ#SdaL;}521$}<&3P8)D(Pe0Q&8#hENhG9wbVweqsAT#AhV?EWKf}_mK+cF7d6;Xi)%tlhkE zvwifRe@w+K(x(od9Yk?65qwSs3tu7^$3!yW37+N5a#iAASgK9|al_U*z0^}yNU=J6 z78D?Y&=t4-!_mQU6h6m`;mj0l(n89b9W+vs$-BFG`-OJ-%C&au&YiY>`Es6RcaKi6 zRZOKmTO1Qgm!dbiPjsVIk>J`^<+M`PDh0`U7EiRNaJtF(j2m`D3A~TbOQUcvc|B3^ zNC^a~^>3A){HNIoo{~}7xyjkVkVE8z?PpC@v3yliU_KL!|!yJ-8}HB zsBKF-?#j$q3^+kiv!NFjtNNM>W%NQox_TZea+OS|ub#(Si0G5lISJW83-6&?B6^Gz*7RvySZG@pF6Q%(AJ!Rx+FzAJ%)u%SXKih+ zx4Cb<{%4cp)01}P+O@U_34CFzEw8Sn)FK6G;6&g!%`m`?E;LAW5vsnQCI^q4QP4!S za6fFHefCMJS)sHj$H=5?Zf?XC!!jV$@_j@HX~Q1AhY0u)%Cb_R7!ODA=*>pk_D2sM zwC#%*qojGixq%Aq_Jzys-u1wP{COe^Xe4^EndqU~PIQ4cvy1fdV0;3X;_ZkBg%=d_j zcwSR|9FxjeH0?&vlB0C_A4+h_NB3eX{GG~fJ%Zfjbm|r}Mo}9J%kR9#806RF=(5Rr z3ZWY;N~a?*U0G57h>Vlg)7@rKHnFd<@R{S&C@ok4WPrDd|oIV{kPm}qfCmMGmQ zEBM2Hupq&j-gTHwg}j!6o8)9tRm~z#x2nqVt@0|vbjC5p>4sM>T*m}pTPeQsm`b7X zJJj1bC$yG}vf^1?;}{g;30o+bMX>e6ozSsM4UB{*2K<0Vh z^M=poA5ppTrGY~~sGvu0MBp+i-LC@(5bVsT8FW>N^3ySi*!?@z<*4z~b7~ogRT~zBoiXx^JhN6SJ*2u)BAra-nQ%)A;S~Sv#-0jtrz=z@3iBweDwEl!EbAQ( zloT~M#V+vaXptkT)tT1~hdqybgYoO*(6w^D6k3rHV-zjPITw{t0m?$P6+A1HUI?7e zk)~JATxBo|S(V#spiMV5?%~kM!i{Cukh*p+z33^xUVk8n9%RV+?i1Wx3Q}Q>K^yS^ zx{|QyO(~Ts!x@Fu$6sqwMW}g}cvGng))Vx5AGKPm>JAaNv7eA6koN54IDzAIcj$bz zsMDY*DMYyAnUnr(M&WZWN>PHkj&VmTA6&U8SHA_wAnTEVDomKQh}_uDyi-2D=8^K} zJwXi|=*@D6?Ag5D4`)QVrBHnF^y#zL>5;5g&n;(eRCc3xCbeShKqV*OVEpw}DQ{Dh z+~YF*t$~o*^8L&isJ9S$Q3+BWQVgPCt`QmRah4c~?xpeUT!ZI({N!o-?6c3??#|N$ zCQ-oblfB*DcK_~IIVb^zgp7sXPOrq%fKK!v)fg$bQ-+$NSLmp!uP~!Ds%A)ZUI4|j zHuu_VZ%uMM@qE%QZC`C$m$utuTz%T5Z*OP85p;uLx{q97`(nA|TyTGPH(ep_-@g~P z{vfGi)s|ee!*znXda((P+L0TJ>y~ys$rh-Bzh!AlA&>x_99;UUogffLL1l0yOg_Oq zCN_C-ou9+Xp`@Tj5FU(1EOFen<@P6k@@Bhq<#Ol?PQXpzi8nV2P4?VCs)&)3%=|DO zu0KYZ6|U6k%my!^5VcGLRlVAjXhnpp!0KYFhb<^-n zj!pM{yykRM3;~JJZ5*>77&CzlgB4!aXDYN;hDW3tLpPk|=ibOwP#PYHLAIecmj;dN zMIo~>TV+P@KLfAD$;Kp1x$bd(oy(E-(b(yYm@(mcIPRG@FiDTV@(`AybV+GEI;>i> zJ}cw2WmR#wg>yd8K+h7h{fA;XSJX7`k5GZ!l1<3E0s+-c4lpr7p8ODzVT9sOb|BG;mN z+3Dmg=oY#O89qBXYXCqLeHGiUED@fO@$f9X21PUXt#7?EVN$4@OG8K+vXM%K6@d2~ z`8y^NYXD!$g${N}`#EhlZ{CQdKp}GMj=__Qi_%3Qh_dXu$%68E4;qkS0n&!R=6@G1 zU7WhWL>j4INk@wVa_&y+*ko}`Rp5gMV`A78JZMl#x;?B_!5xy=QwJ8lm<)uK_R2S3 zYd3G*Y}c;cjI!l?btT17@yn{&q?|mUv56F zxx%VYiVPI^D8}x3x@ip5@yx|B7Fvm`(}Oa+hr(*`^G zXU-TGpR;74C=j{HtfM~^E)-W?s}!9^gSp~$X(<(<%2gxc zI%~8wh8i1-Bzavu8s;XEa>v(mtT%+MLHQ}4TIF4aU!h(UQZrBikrfOQH334h(KUfcn!;3DHc@t zd6E|IPj{XspN+q-UcVNhWdU|~_uKZBE7MLBRQBSWJpwCfkC0kYlKZQ4aq)sGhz3J1LiXb)`B(a1C7+#_Y!6x!EuYl=YrTT5w&Z ze6F`D@}vy^(^zQDMXKX{qVzgHItsCySR=z2Ml`?}d1g@q*A%U*oZV1ziW)0l7rn_- ziuy_^&ni_(BS=v&<{WJ4=kG;Q^0;~o7WzSb5L0m7cn*G7aY@Or87zc7B2nfvDNS^b z=m^eD$aVNVJZS$`>ALC1O&Drs$cuHOlD&Y^EiQ8*dAjLx(N8;#UIue*azFIKhzwPX zt{-EvD2hsj&sK1!(%5v1LHQ_n4L5sDZ$v6#ib%WbJ)&sd%a=U7UYhHlYb}6Ciw}05 zm_KA7-1$mnp77m3!;8WiHOD5D+~aKlL*-wZ4!xpbd>`e`i` zsBsaOv-+NazHux$?M6R&cqjVVC(zNOmW(GyH<{obNlvctQ6>Jv?UHJCPPLy47ZQzp z?e%Z93l}f6OP8-yu!9nfE422mG&5d;&s|?D_f;WtlW6g|C+T7?uA65}@)zkU6e0;X zizs1qKUMU204hK}#~LWGqFwIAq9Q;e0u9feD*5x%?jEd{0ksiX`dL12q+O&dfA;U_bjXcGp^fvFK*dl=E()2?JexI;$BnHqP$^EwGXz~!9O0>ZQ5B3cNS7>_)8o@{$sXF!2s55qhf+S? zSH&|L0u|%vJuzpv&B!dj$E(WG^*RM8PtClH=-hx0ugPz6f+)G0Yf4cv%y3HC5I z@koyAkPv_KJQp^L+f)W!XMU>0y|+f#dnh9+bd|44m(Oc7%D7cbV>Fn`BWrI~4~Gw! z_YoAhU#k|v!gRdOzcdWJ7U69imaP5DN@Sad5y>2Bv|KXa{{Ct7mzX9)(LO5v%^RbL`D zg;qs}#Z>9aWqEJ8Diw!FEgQXG)9Z6R=1SDdXEVQ@ZyIYGh;n$3C}%_qaO!egA|DMg z0R<@v4FK=WI`o4P7}lV13fEKEIXrzCNGS^GqbZu>1Xfojj0Lxl>vL^n45P0rsuAP* zDk3%|*EdI5!=>SI4&CI=b;hPEpqk|;hv$44@n^jpvu~$BBKh4<7O^(!! z2v8$2dN_r!d-j1n_j-(?=6M!K(%a+tcvk0}^|ZdLd&9Njo&gKJI-H7;y_`V!U`Ram z$7i57ocj^k`gzf`vLG;#Hd9F}UsHwLGcoi~1SJ|QW)*QrnxX7l0#* z7jFzsSJ35}c*L1?oqO^2cP4O}TUWN**44{Fe5XWZTT5OUK@-xZ$Q&@yJ#A}fn|xeC ze7H~2deu4DdGe%3W*1T@f{9{7VKLnBGWka79y)33t97iof--DqEM>V<3XblsZbJkCp&4o_Xc>9l2tZCBRnSAhVNMvE zN=77L;7GwpOPC&%QlRAKR7fH@$B3}jbCghtFx?E?gE7iWJ6@5Ujc^ zKr-VL>%QKbak5ERZ{82GWqd(Q3-ejmaBO{!_@BthxkpA2Xi*kpRmmpTJH?5LM&R=z zAB29Y>^q9}HSX!gt_+6R8mSpizNH2P1GPr80p$i7`LdAi zO`a`Ap>FiGv_0>^PXcL?VGwl>gyV7l^FRM{`}E_F+M|aLLwN!O&0*$eYP6gj1?9r= zqjWhXm}aFXr|A@p{tD2eZ(a9D81LcnVVk>k^Nk5j*j6{U+9uWb*E#8R*v^hm+T7xN z+SIsN-E_J&ld}pq&@~}$!|7>GsBK^cPU#0k3*$=tf?h~k%;IvgB0##(7i2wvDj(dt zmwaG?U+Wv2={XM~x_Re?_SOCSWx;USPN?X$oFY4GtLstl6-}>htS3j$s>lvJY}zKT zs1xOO9#ECQ$v zH*4vwYv^X3qVCR-nq5*yAd9yoZH(Wcrbea5|MJ&3r?DPX?RE|3e!5$+ROZ?Dv_=E{SJC(_f|YCIsiiqbP)+heQvStBWf zX_tU$-YO>~$;PN=hnzG*`NoKx9H*+4ysLFcMC~H2y3bkaF>^1`uEr*4HQ*sV(KAnY zYo5B(qoQ;t`NzCJ0ZTGVsQpYDTkl$sb?+WRK#Lu1yCICL-D`eC2BLJSQL>x+d#EWV z!+Q3Dz(M7%QsiDd%ZPlD$tcMbF9KatEDB@IH}9=l)CN`yLC?BdlR?Cn6ph9-L9b*q zRA7(a1sndJG{SDEG)VkZKB?)V(nVe(jg!_s{P4r}%U}Gw{r-2q3!p+4;)$k!`Fa53 zlfB)fymF=?;14SEqyEbv=bR z*qEG0e|CJ>RyGPj@S4$Z9x6vaPdW9`34Ven2ZvR!^5nE_U%Q;Liu0`k97OJ*3g(v< z;?{GVm<1x^0cCyv{@qxJ@J9-s|-4?5X zWu89@t@2ZGVdX7FcB8AWv6e3$`FyDb#_4CDrv=JD&Wa<^raOBVT(-VrHdY@vUYBjwkkSyoOyk`Qw7f#775%P z=itQLOE0}Kxpn*Hwy}9BD3pr0JS^3?&L$|&OL-XiF^fNtoW8WUQk)jTzqTIKdP>pl z$)sI>;YNG(_)%M&Uz(OqE2RsyKvFyDXqEJS6nX*vtx~b(+ES`Lt&+w?vUZ}yw6tyw zra711RrdS1aosrlZIN;nzx0Ly4^IzD8;n)8rbf8a1ciJHp^SmF zDFTVYs3WrcWJA{YYko_~RWTO~E1W9cmz^P)E7r4~bG5kLg^u>RGLO9UKpJrd4}NHv z4BGI%s+-(Pc=k<-TxGq^3S~+Aj65TI1z-VcLmnCT?hf^%C%In&%KgL{^CfRz=n~$2 zR?C2UY4F&zMAUhHkI8Gy7)z8a=~b&sQM!zYrCT)6EC3hE z1XRz#8H4K`b&p1bHS+M2dywmX_Q|L1XFvN{`}CualK{YaUb=X(S}p+^mX_Pzv!X-E x>R_LvZ>k0ZUR)Vk5)<$mHa6Fj?n)r-{|Aa|geH6EYw7?1002ovPDHLkV1ggtsj2_~ literal 0 HcmV?d00001 diff --git a/assets/images/bukti_transfer.jpg b/assets/images/bukti_transfer.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4be923a2b0a27eeeabc73e4d300fed5aceeba8cb GIT binary patch literal 46695 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 A{{R30 literal 0 HcmV?d00001 diff --git a/assets/images/kerusakan.jpg b/assets/images/kerusakan.jpg new file mode 100644 index 0000000000000000000000000000000000000000..460b92d13357b73904200109e49c599bdf7c30e2 GIT binary patch literal 73259 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 literal 0 HcmV?d00001 diff --git a/assets/images/logo.png b/assets/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6b746ec4438b4366bee207476043ad9bd323b36c GIT binary patch literal 47583 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

nDjwzK_ZI>r<^f0j&+OO^V*Q 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

h0&B&@b?6SWu>#zLjC$;^!KL>a3 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

QCtRaV(8Tyq(sh@ORvFnSfY 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

GXu3ca~gsU1_aH~-Llnp+2(Kepd| z%Ko{Lm19JK5AJPlWdl&3c`*|iaRt9tid{Zw1KIZ^N> z{zT=_%9XMw8c-&jGz}1Ry$@;#` zOt=vGPADBQK?y2FX%g4?P6lvf1;}uVq){HpQ*R{?6;dzrQ}w9osIM8~35rPn4NSWh zd^No!82>oB^tnn~0<9|jWY+5@U?nq|)kb`*Y8-Ijk~TZ!`9dLA3Il~uL1c&lHuhnM zL1J$pbCSUm6#(@2WEIxaCEAJ!qJPRRY`YDz<*96FU-rnQYHxGyd8G|C-es<7W$f@p5_3*#t-!ZsdO6E4@R!i*H5J}fIPRc zJ_MH5ZQFLhOufTW!akoh7AVp6`BzG^Ao8>WZ^{9P$npeqZ-do&d$LZ;#M3Rg*7)}aJteD_Ev(>mGwaPq8v zzNS>RaCY8=aezE~rGR!e1I%cy+aa9Y^LeLfBVj`x>CWcFl+vxrSwBZ}p0#Ve66%Sr zslF+%-jIKi%*^rm{_1?de;ffVD=h}~(APGw{}ovnoI1~bv_Mw`h}+IH{#=)2UePgz zi^J{@=Q;9kq#dgdscNPWfd} zHh^YI(&fi-uGlE|9;Y`QroG?yFV4;7Blwt0zqin{N#EY+cD+O6BBEv6dQuJyK+kmI zfO;pNAI`|_F0RTNUHz2dgjsnMg&c+W34AX7Q37}t(l@ewrE$-DD#BbLWx3-u2@FOj zlgCwh)a#!PEfUP`TN^ti^^Gdm0=SgwUV@+<>?ExZq?v8Y;nU(KmGnR~Vc!o#@Wb~W zbi?S*|@F!+>pzcZ!jQ4ChE zr=7`eELQLf{&-}9uvYaT0iO9(RQOrvc<`j#nw;&*Anf8fGnq2JHy9+XDoZjH`UxIM zmVGxE@jR{3oktlE=itsiH<3}w);(M{yPb4U)ZV;g3Hhy%Mr zvZnPs3|Ooch{X?Hg-W3ENC|(3zG(F<;mv3ywELYKq8Zitx;N0zTGiOdU@?iFn7QEphFI>%U#a!84Lt8)XYKRKXUy8hEBmLLd;P3OjPLb1)slxA zMB}nAGkwfWhu!@tkt(hc8ig|3rHq0LAhZ?X3`*zN8z<&NN$MXqdUBV;lP0=OT$2WtcSXvd#}u!e?-i*)};pR5fnGZ=|`9ul~K# zsQ!=t_y5Il!9)$ed;qfyUCE#p9(xUy0(K~QiGd@Dvf!pF$3w7GWFE`xF;U^ymWfrT6~u*B zhOXw_WsPIwBsOza=h(qakpV4OwU7e--;?T>D2zt^l(I%KpX-Orpu3AGQD$d{Nj{3lvL{>p?9 zEU6X0=%0kFO7^6sx4Og``i#Gl$j+%2sHCKGt?~dq`UQariKQ^PW0Hv;>Ro|zQkeqa zoPOnk=)3^8PVkh{E@Qj(vq2dT*X!d9_)Q;Rg42OkTPiadTf7UCswaeqARW$C_H*vA z$6N|F&L4d6q7HvuIZ?0E2S6lfsjQbNej}y$qz>&QeO@~Pq>}v`&v-ZuKu*9sF1?B@ zE#v#z6cPv4X`EF`=c9@#^Nz_*yZlbgPMe9erJuItRJg?2&esO`kBaZTWHS8jlp&I) zSlOxM00Dx+rj~=uqbnT;=k6Iy@X392n?>(|B=O1aW)e;KDr`c%?@dr^ywq<1Bq^l^ ze!T?7T5x#IJIET6ShWl{`S`Va^*5qJY{gZ#~MD}C`=0Q!-FC0A@ek(Ip9n2566 z`A!ezVp+zTU~IGY)eAO8IXA!>U@P)B^UBNy*3ly+4cUtaW*`GC@Mr|ot%A941&7;!}6B4u!cO|_}NUMJ~c^S$Y{m41j;s>`^xS}e-)ad~>SYWXjygymP z)2dXvoufPBSx(@Fsh4=!oI$S**vIa+eSOJ#F}zt+4*Tl8jtaYTF?lt)Lq4p*OoU}4m%fjr>CL=Ues;{pREu@Sn6v>)_F0CgVNP;^ zS;rPdoJ9Y*SiDL8JlSo_AwPTG^3Y^CrpE3+cKp75DO#Z#XR!zrj2~X+C0R!i;G{RT zGjdcI?~yb=z{n)til8|IDK&98Le5HcuQOAu{xT>NW%%~q3$7mS zLznlbXSErS0{|Ij3>4rcvUJuEj(fmNv_A2vTL+7Rc#4Lpact`cHd)XLEqaRJVbW^uD_co~$1xmnLLLElhPuHoh0F zfCzkp!{~NNOOhBQU8SUSelBMgIH6txPx1aC=@V#7+yoSUD?Niwov$`DMK$p%zzZuGqNziLz`q!)7POH=_4 zn=?t&6#M6UifsG+H-q-Se2(SbRU;%GJ~F)2Xia_;V$*Wpxx-Ylbo4`OzpA`3VF$2Q zy_sEvs|UM)zJv_aV;i+=Ri|`*uZ~NAm>P|)5yMzso^oK;79@5547wY|&?qf!nbA|7 zN|4fX4`i0`+a4C?Dl(t>*@MpgV4qtAbLd^L&(4kT8GB~PXlx9T%{QR#F!?T{q;#F> zBI|-fSR0?!WiClc)0empTRP*a5fNlotPsyR88S}*skiZ>5#nfZp@W&joRGY{(gn9^(n@ zUx=uJ;5E)q6=8oWsW;kjd>eI*bK)E`7k#iXM^3D+g&pf})|CgpoIGQFaKk)Q3H19y z8MYxVQ-Vn=@&J6$m(kA3J3oNKw9Ouoy}E0q9o)HZ&`eAZW#Ks9IcB%wga*^Z$y1&; zTkbY$4@SU%bcCy%QSKkXROB!{jU$eY%rc;{Yse;Abd`)Zw^HoyHE25eapCpP_s>7h zrJHiV{ukgrA}fT!GI+qKBH-QWks4(mXO~N5j(9(mA|>P9WD!=G&kChVWYqm%4*@|2 zFzU92qxoSZcwbFGW7b{pjLWasPz1;=RsgJ7qzXaz@uurLgb;;;-ix`w>gd`2BoUxJ zuiRb>+!W>2GYsrRi790){cs!uxgy_&fhb%XCYkRLc{21=A~q)KRR3=8s`Bi@R|m<8#SsDQBzF zUH?C2$Xh*cCgkq9*f@>KrR$*=FPL$1zT?$Rd8sSNIujyk5ekdj*Ba~+OCX~eMQ7l! z(0|jcp&jGC1Fpjigv~AQp&S<2X$)^he*}{2E5`~^73Pb1qpvCW1R1S7f`Lt_xBdaJ+`oD*B6&8$pD&OZi7u`9cy{=G38@X0V zPs=-Zd=B=Zz`o(M%J?S%%C?uaLFYZAI*)psO;Un;71g<;lmmLx!0h*p?C))RFXWxn zb+A8D+80!#b7zTzV3xGlDIqx(EOSG&kb&}r=>GVO7J-!{w*2fQZi0~F`O?PZ2YT^E zdSPSHl+PWP8@uJg{<*94zZ;wNi=wKce+9@!_JW&)4IhGBwcJKo$hzJ{mpRMm@KMGq zZbb*!Z2xZvqrN7QGjE0ikLjOiDQE3@;4%M&)S?~;;| z_I}?DA>L%eaX}x(i#+Hra((L0Xm;3b=(xk3C+jS16jl<JqPX=LS8>>uq< zE#$dgtW+cE*#w@(GS~CQe^VxAgI~M-wP|0T#UgL@$tE}E+2ox~TL*$GS+<&2E=I`y z)KRIYSZ!jwNsD6rzy9C3UZZ43?hFge$Wlp^HzK&=(tC}QpD}|D z{gNK0X2;ECb!+O+nK%LZV0TxJ$qrNi4q)7y0}OPwqj>2}1HX#%M!K4_KJrireSTaM zg5bOiYf9iyRD)Lj==v`Gs~=(nKkYScBV7-M+_JIyd|YV<@02L>ulAY7aZ-mG!xQFs zhpokk_FGc;ogN=MuQKcQoqcf{pmgr*Y)WRa*DBZ|dWhKh=S+x+3<7(UeX2?(v;f%{ zX%8WLGf;=`3;-_5ei!%UvvOPsuyhzIbe(sA3C!7MSkKbk<=anNL&}+ATWwTlnZF^d zjx0t+R;O5LKKD+wOcx5 zbx~e`Qgr^!A@dykZU*pV#iYO@(MxCLA?4FTrjIT?ZMO|M%) za4gfVS=lKnOQzgwd6!|C9VAz4AN#dI3b4@U{Fo&OuxYG4jEXYd*=2^01n72l4H}|C zElIb@NJlqt(t4Z`%IG58E!l?JBTbB_$!UuD488tuzW0Nk&b*n+Z2u@Sl`3O_(3D4V zfBm(s%MR$_ooh<<9O-8OvAKU{h@6i9K!5A#jEjzwCCjj^X9~AGCQ~)xj3ekfBr0YFeBOp9s}f@^L`ueujI~C@{awvV-TOfR=sU33jpy6rF_>b z_q##E&US50eeTsQL?Qn`0c1bk`9KWLT4Ku;9b;kCcVJ(~mhD^cE7f|2)m>Ej6q)G^ z26G!sZPi58L#rFgx>zb`mUfGNG|VWlE^~^I$YyT(mCeuj^Wv{97QY{WEV)G`ZJ)W@ z8n4p(-!Px037n78NBzjehU#!P2arnALKnk2>xU-0k4&IpuxwdJ|9~Qi5yWBI|?&Z&IWnk-TYV zwv8}8DFjq-5om0y5L_)`0%fBFaKr0FA7_%Qu&FtRB5~_?em#3m`Psw+il}UnI6Twn zZ2My5|5V}};kVxzNIttF(M3xQHabyI{(Tim=Y51T`f&ZsXHp!fQknKXG8GepUcJsV zZ{!m-#L%x?*`oxvFwn}w=n*L}drW_AFL0ucRE;dkm2m{kV= z5x|CxsiS%vJZlbqYE<=;X0m$GpE?rFzkbnfRWs@P7Vj#}b2R#WhAUX{UWR)FRf9uG z|HwEybDZ5Ve{wKFW)~gM;RZI79rpO@wXFFb>5stde9k*rgE$hmQKJYUZZP=qE!l7C zUZJq~$=DMlo-*l@QlwP|W+Uk6IVI*+*a*!0Q<`gMkUEcW?XR5asdu28ypkY@^Go&#!ARsRi0o!HP%J;3~n#8qsMl5jceg`9G6(5+$fTdgcYt zjr`JaVD_JY#7^nYPWm|D5Iu(hFU>FRb_{ybtLghH><-S`J!g;|`7ZC zC;)~*+*!uFxXVih=6zTLO>_X~mLZ0c^`ov_VRAxJ$!!3#eUZqXfx>F+JRS25Q*|Ge z?q*wjj-!wVxbp=VXYcjZ^#MSHa+Z=A9Q6YUk?&WbM<4rGQYOs14UOq7C6yj+*}e?i zRGEKay$?ZN@nL1Azn7dCdS@YgLv>{QL=?B)f8=m;iSn{L_jD{y8(Oju#3uSu(X zXZ+I~h}yR9RH^hRllt}Z&tG}C-{kkuFX4xias8F;S`rA`664#~=+OgEAO2nkQgIF9 z*dO5se2lG>ZWd?ajIhtFPAdKID^rl1CP|GS{81^%c3fM=M`}p>^WF{qDaAUAiSTnX z(sPb75ntH-H`BH$0d@43;h6ElBL|IFzMqL80}eZZNYUmnrIh8yP%pXC2N@y*Iim{^ zbN5LAx>d?-l0LRW%A6++!DVoXB>k5cz^9*_h!jF2a!(@QmG2>A%3YOdu_bBB_uo@g zY8lUw%)}n|J7))iwd74h;{JLhJ-vj!xdI>14z(WX-5Qm1EDer+#y#5g;P+xDv6ZJ-f8yRoiB$gP#r+es%`G4V+94xH66)mG+I2jJ>Jc%fLov`@MU=)dW?w zlh5m7X9x;1=j&0un+Os#sA;ErBePTj8Mfk8&u4|O#M$~6mH=rHWb)f~G#qsRNIDtpQQP1*44+)`JTiwt}1Ch zr}{X~34S_w=wJfLiNPc|4twbLef;M=X{Sc^bT)44R36P}?hgXj^RP6r4pORqMzqqE zD>MvOqqF}-*}#m^TPJipmmnmNlnq-`hpG2Jyw#!Y*%i!MTjfhQ%wh5cvVwETk=PYJ zTd8%3&wG=Z#=5~%lB$hIk>#xhp!}t$b^C&Ikl6_yqRMjy2wF={)d7=DOBqV3BxaLT zqNRMmwQ4F`fsHI5G|)Ol;m{`>3m!Ck9V3>~lH`x-lD-{qF~w3SlH zg}+bh*NY$eZBwKoLTVik(4+6CJnX{>yxMZQ!D+PYFjlvHQc7uO&siq=!0u1WijU(O zN}*M8q87#!MH`F|qydQh+$qR~eZkpQ1P3R2aqgLPZ()vr0<`+PC0Y6TxSRF?+3ulW z7r_*QlIJ#(dcoX)QL;I})SVr*7|7El-C6*l$LF7Cv_kuRb_mU+=avgKmLia(Yz>Ec zC+DT@Yo8lKCQ4x$bhSnYMo8K+PyZq;H8|fV0GK2rG8)=Fv_WmdOQaIwCKJg_i3HSb zgl_p_nxOUBhngwM{cGvIAgN2TkWO@a5;r*5X~Nr~|34_t z;zaf+pxery)q9q+yDd4&&{YUHuLBb82L6QvkYB<>_p_aX3vksvCEc5u{y1#j)cWk`ullI<=q{O1kXL^G+?8e6zjx93LBHZxBU?X! zsIdJyTKyIHAldx*(90RUpv+)z6=)XzTfZJZYvwid2BF3U2mJG>q)x>Ze)hrc=Z$lQ zSMPZ$LELBq^UdZpa|N1eKNGILS{EQV+SFimqe6QcF7N1QFjYRqRhba^oVk=m{ z#leWG)e8|oL^s2tPv&7zRd!XXdcY9IvJH9Hoyv$eVDckCc6DuaQ$gPMNar{I2EVa^ zC&8@)vy17y<#(#*D1&jc=6N)lds(qop7BDpYG3P_(BY8OxCy;;xT3eQ!swv<4&OnC zD?r8bW5ZpPILL40AQt>%Gkkn#Fb5YDgW3 zNbG>0$$j>*JUQgNk$d)QXS|ACc4^HUi2+xNQG9($j03lWcgP|yKVsGuVQ+70J(gC zE+=u|>K?Q7K)s+-EtmT8V3*SHigUWN0~juVpjy(erD{OND7}peqjmKP28Po1yO*8M zzWEFBkaFM+FvexncSbXLmG_RS51=6+BgXX5 zJLEI)&>1_dOHjDElmLLSpx$J-F$!MVahRrW$KtG3rk10&V*nF@%QWKh;d}sXK;^eR z#KD`8rCZL<_Lv0fDp*v`Hoc$6M&@QXp^`QI{I>%PEw4ZHdoG|>DJ4y2WMDX(vj}*8 z<-)x(mei`t9ln(}isPPAdWHhLdaglG*tG#{*KE~6!?-TkBy0IP1P5%!1u2M=+@2E< z#CM0L*dEH>fpo>ep`&ynDj_^^nH04f_EOl`4t8&Lqfz z&kWt>CmF|=wEf}F-lUp=pd5z0UVZgZ!okIlgg+32K(ixRgOY zT~c5BUvx?u4dufo4_PhCPB`~#AN9S&1^p63+#_SkgfRK@k;5V5zZsFMC5jQlmpG!D z>Y34bE?CCcW7o!}&pH9c&3R13Ojl=<1Th{>Z)G!MVUq2iR8|qV2IRFd#Bc29-@rJ> zhHb^(RnJ;K6AjL{8qjO~T<4`ZtE|%O{Ci3NIjV!WcQA4!N?%LA8drV-cKh~z-v(|e zGo&izG?=UIW`cX#vkM0q!zXtF8lgk+W3qm@O)=Fjkk1n?WAwX1r;2K|Qs0nARHseO zcnjPh!=z?qQ|5*!!BBZK(WI52Y%g5|5LwB+o^bc}mpyMVtYQF{@lNcu2=XpTm}eYZ zJ1ny9D&}~aY8z*@i+8cm&;H_CGSFeM?&b95E7dx6eSyWWc2GBV$8kXHr-N2s&>i8UMz;x^ zb>9S3r`pD7oXqP6Zzj1$O?7dDAN#4h6cmLz@L-hLdHxP`x_Uv<7j`H4GEJp~t zpIzwi6fKQo^wP0a=c*?a!sBYPZg>4Gb~X;El{uvYN(WmoRqYrE0L4_MkIY}V;5r@z1S$p1_pbg^ww?c?d+Vp_c??9 zl4P%7GiJHf4_>T^8>`*g%kLdEvAA!`qIS5#0s#1BF9gcQm$6%t+)8tUsm47+$4qco zbU(aY=6B^iyK))YoR{T07|#K)PaR5-?yGotM2wkJNcRO}7(;a~qjZ#k66dWJI_-gI zeozz|VLoCnLMiOD8L^jb@+TK8Ab_mRbjI-fH{;7gF%ryV3c6YHG$EAE--m66mDRxL zQ+g|fOcB{Zz7K0&l60=>*x3(3Z*vlcvJsSPyFkPDg zW92@!0M8p1SJ8_E&L$|j9%b-Kl`DGO=Fl6Yt*z-&rlks?>pOg`C&=mm%(UNTy?f_8}$|-R(Hl759M{nO@0tNfK$i1`Deul97+R}2D-96g%KpJTt%UUX& zbd<^zGtN{sXmE6HDbX|PUy&iTadu@5q=w|*?GUL6YD!ynr`g||8hM3MDh2?0WFtl+ zicc7J9am91!^6MpEPu+#vunPKfn&)$@}Gvm{+7#YewN~#nZHG6et>oKUy`2M-aVK0 zI&k_9wmh50M{z6P-D|GHkS9=0#wFSFdMbpx9brKX%dHD0@chGT(;&KBozFa$5OTrj zBc*LdpSiOLIW1HnFjo&kXG%22C-w46(S+H8_J^LPH~ zoOhD%5>ubj_ymfI3~1EzBYQL6zL0)Sbl?5%axiyh`&q^3snf?E`2b`=W;#pUqRGy$ zKK?ETKJAJ7WwLX~NT)})iomO^BYWrVWJ1r*jMu|pR+CJYoy^t&jZ!(~XFu$cG3jK& z``+9Ox(9f7cI4vV92}RJNIhasscki8(%;j*1Kko!N*u;OoXq^-#NR=)2Qng+kF5|c zu5J_ls>*s~^2tK=8}I9TcILS_hf;=rF8-?5CfK(_#07xNI0MyrM>1Iqx^)#H6(oGW z`J2~A_S36l75|}enR;DiY+B~OyuGzc!6``Oxua=H?q&NmlgdABYf@SpF9cVgwtbxs zNn8fR`IeUSWb;fJTbQip2C6g+%_@`^69snSyb@4x|DzAy=~m(h_otf$X~_12KWD#LWj&9) zxY-WPL2n`J{es8Xjgj7Uv z>m$x`dB%pFGw)E!Y@rDWGe6&<+ePLZpSp@Aa)zLWi=5RBR{TvZj))A-dF9{iaGS7| zbgT8`%IgxJyhMMP#8C#OONoC>#zTlz2-g^Si0@+|YiVZ&L|;7E_TA;!zL?;*Ou`#T0=5`EiaDM-H2%!YKOh z8iP?Z|J9I*riZJ`iW`L}Nll<$0th2S87EIV1{geHX>B+zL8~*x^mZ4YduY>1A2v=W0adS7 zNEzOee?I;2ccnRiKK7Ga_M=-R)#I#5#r6S+HyR?dSILh0@6J5&$TnuL-`-$AqA$HJ z0q3J1gil~czNxZu$nYH}4VmIk!XdkY;-&YIQ$;Pde)6dmj_6p0`497eqiNG^M)h^ZLGbxP(%$ukGL<%O=@=>+3>B zkN&XJA~UAVu0|Xs(Q`YLqeAjlsSkGnI-h{n<1;o{%SUv=r?`8tMg!RN{@WR&_z4)&w%kpSU4#!_~GmLN? zwCe}(u@5uc3Ykh^_IEx2(jwz30PD`_R{C0EultcQO}{$QVcD4bR>ti*;u$c?(Qk>q zwtY%zN!w9ch)<6}%&=(+||!8ueikF-HR5}kJSO{k&ks(xcYx*zgB384`U>%Ln=gWDp!GW06W|-{$<`uh(5M$ zhxuk1Qh3p25#JmLJ#m({`=j*#o}mSKLL}rF+ie$+-)DVGk^gm-xsdONL`pW|NUu>z z zG3U`Fvv$POMaagHbR-$ z8y0)Sbn_TT{EzurBXm0~v(45Re{SytTmYxE04XK21*;@jz*ndSLw2O!U58pYLieP+ z=VqgnesE{Di+|n>21f9TUXSolpYr4*)I6s8+3`9m?)f5?OF`$HVqcr6~-7}xg zf$+1i-8$bpAS$5Q|3+Vbm|Xt;TxoM12wGMwPMOsmbZhR}UdKtFx+;S}_xTM7`0{h) zp0%Ux+dA`RDS!G9I9jmkA(qhrfHLwi@`UUstnwLEg2~T+Yiiq2NKRP$h6Ph{(M>2U#F1(wdc(9pn?xisQ?h$Bw#0?b=``bDncF&%kG%Wr00| zgdkyNXDv*5vU7%e*)E)Iu@1ykTA)-ap7Wj%fq4n)?Lo zTNYmSn(QBr>j07~7`v0f$UQ$eRLhnJ=s`ka(G0{dz)kMCJ1&hoeP|~$7>M~AY+GHp z{FZ&dJPYiziKO^f1>9s9>#dc@s)wNS+3%iiJ;(a!&x#*N(16^GcJSE2xvljWvNjQ% z49sG^o$j&!DP#$~E;ESxv<2DMjuJO>ta>)Bp$8@d z^NVkfesR&Kdu2y}mouNBJy;Cm*(ssKCwWpkX?o-`lJ#!WAXw_sX$Qjo+zjL$>E|kh z+Z)25+sI4yNT)AXejbBM^!r7hOP2Z`A&S)`CLfi~68(oVdX0gox*_UwCbYf)nmk;~ z$&|M$i6AWjYXUogCDc;=DXZ3Ym+}}q=krfUUBeu&uaZ}ACF{0&$@RF^lDnBv{peM% zfNlTm;b0<1LZ*hywkA~-qdJdm_u(BMS46aaT4+^oPyC1p`7MQx6$4p=_j)8<2Ub69 zZC1dwQiZ~1ha6s766?+O*XrL*v|>_)WXOq{$C5XI0SSq=t$FTtfcEx+zf2YN==93^q z_Ef`j4m$lN7<^n7&~4Rg$zu$WbdmyIuj%`9vb;C=v@J9F@>9Ku%z-R0;|sP!503xg z>^XrWbfk0n8NKl#I4UyK=%;eeC31dwbc9?f~ zp^PmxJDwr9z)1(}aF79D^GmmDO7r+WQ;}Km&+&OB)mj37p2=oN?vNaO_qMo6A}VZE z%2mfswKtmg7ukr<_Ip;1&TR!mW;jKrRJymBOpivtp>*e3;#vrv4nbmZNqi@C)iR&T zJ-#JiNus9~ecdF%lz~!?q;Tf*I*?Am2acoi`w!(%DNuTc;O+3j&X4<|Q`DM1n6wIb zXRJTh&Wh=y%0zL!8G!Lc4hFqo0Ykifdw4X@2C(W6D?M+&NQO^kKkukrj#J4%W3blH zA>od+U3T5GQ+Dh32B0M-b1Rt#0?G3RDlVtjGN0-gH28YeJqW$_|Pw>z$vb zcW|A_De1psqVKtpNj|+WB2VcaJ9;N?O6mR1{DlxNb~5!kyO1v`J;+hs-{qz)9rnUw z3Pe?b+JFD9{`u(w-twFQFTDt!`=4?ZQZgUdIlnl-mru~Ps4%_zeE$Bl`j7HlOl=%m z#ab9u`y8sccL!d+gF^|Zc5tQjB_8Z-PulBs_&yx6Vry}Z!cpNob&%EXil)|!mw z1w6Q2h<1v#SGBgdMrLta8zj`#mZnOnvS{S(b9Y6fWwi^i@h2yPLQD1yK}06`Iq%pC*hC-Hk|o6N^1QSy@V>ggBr1)?Yr(FE7MwHI+LVFl2_cODr2xe z4utG#53O^&=V-xiWVLX$CKd`}lghAbAEBXN88EXL;^1eazu5650kDASXfT_82oKp!+lG2oqkKszx-XXD_t5rkQCT0h$)ll0aV=M zaVczwkd<@(b57|`m*R;9on+1C{jgE36KcGzHmN$KQqe-I**jmj}1}mrXh#j5V!?GB7%dGlQnV)0ud{)E zl4`{~kOK*k1ZF20L^aA*W`}$)ai7-bYz2rN$UP=bP31*LC;U*lBmrG{HaxpHpZH+y zrJQQHyELV6%k=-25$|F4?h+OBct3Axty?Uz3d=8QqwB+dO49somc?X(PxvO2##H$* zFKbj4zxNkwO0et9_Z&O?l2nw5P6U|~JUE?yvIiM(Rmu0AEiI|@3H$;k1Nit%e;1Ii zM^7;%g1+7j!AOn{Z- zX~a3_1BpoWLu999g24ffLB6I807`28QI+BUXbzPhq6dpC$Uwlv+06?8ge+OC1EM3) zc5;2GAlg7^7(#UMF*>0<0C52`=D4l99)b%2HwB45a!L5(mWA>twQ$*kkAYHD5p`y5 zZS0A7%8^$AcR|_$`eWBY2n08TF6fKT&obimTNSgS+_JYYw0`9t>dbmk7yiLM;P-G? zRkoXu-8;+S)Y`=0w4oIy0Y`R%`yiQ7f^FDrKmR=hDhK=6kI2qhj{nKrat@LIiS8-b z7#ldH!RPvPA3ZudJXH)zbieu^#bDq|%<#=@rq3zbrTW}1XH>L7y0U>_H%bED@?Ax$ z4>Y*#;F}S*{#-O5m0JnP&%~Zt!2OE|B;$ha9lH9lXR zv;J&ngq(6Y_$C4JUZW&{LKg4O_lu-LzEt1`@-7YkY*}{IAlc6&>93drkpTSIMRhX7 z#xKRYp9z^i*iZ0d=1ZJ8q7A{?>6sTl?jYwDgvc-%U+U|`PoqaW1XNU| zwPh&n-^P)ChRe^kK@uMA#T;|mq)f&CxvORPnXm06vT4OOWQ&JrrdALyBi!lW#*>V~% zT&{3h^%oHuNq75SJ>A_3;{J;S?g^%Q59MZBKG_K~G+~-Yt(?;AFfTiv=M|uHKVSnP zzq25qTlCH*Rfh4}Nr_VS0|z}!r?-sk&=Dn3($?uhS*5(9swu6<5j|4o_zq5F)>|Rq zOup~)1|;dRTSSC$vjO|;vFD83hZErD3!n7qrr(tbzaCUFiFKB6QDMj)Kf@i93~NNn zP|y8AhhQWBPF5n{57=_nh;m|uB+r>iwg5Kokb5IxKOj!+zI+UrsCv<>%og|I} z2pIBH55dj4FG-_InQYe!Ky{y2COgjkEO5j&*yt)sOZhg2lQ%YqtK7`v`)iEZ!O+8~ zKC~9Fp9T7lFu*?_7RFwbu zdb$tQBm-$!s=jswfMWd}&2#CiD|%ofc+|Z-cE|=Q(#+LE0QMwUIkq1UCfU{y0ELX4 z<81pQlYBjK3gj)SRvxuFZIFW6K~Ofjfjry@#fh3I#8n@Iwr89H*r7WFN`J{jlVU&h z0#Q$(c8RN0Z>gKGSrt7AQHicsN%Xio_~=)M1t2p_(Rn_uK5x z#`hcYb9|R-fxmxj%ZA9oTkp4?9gT zft!$53*3EZy?9=gpVQn96Wi>kEbw)^iH*jgCsI+SJE8&@8>FWT~0ZmsAht@=vh5tg1^6i`VC)S zTorvO?03<=X|k#rC|Xx^pp?XnAhogAj_K(TQIYX)wz2V3qs(Nun$1#O6~U@)WY;yO zZ0XtVg@!MEeOydL_hsc) zX-k&ZKVQxDIi(G88-L)<@3i`_nChQ4IODPS-{q2IKcq=k9GQc#n*rOFNUU+^PdSk2 zQg+T4CC+J!vN^Z4GNkg8Ugj~}Pv+3E#ZlL91HUsbap3zKC54?WVww=(Jljygh#l4! z502$8Hm(-K&Ku}8x{$NM{&>U7hB)?dEvC4;^0+MMsvp7w*`j-2KR94Sy*e^2sUf@- zvH)rVB4v*8epa_Vl4_VylmK5Ll;0{ow{_7j_25m5INY zA?BZ@G<*|5{Js)M2GjUhlF-thag%4ekrdiE;p_z*ApTLkZP@jBc3GF~Q!YLl+&US8 zdbSC4 zG~O`Myxd5AUxK1*c2kc3QtLzwX&g&mY*;JC8C9wVMSp_>`%8^~|^Db3y z8wNp@c_Rv$#m}De`2CU`pVpS~IheV2-dH~$vcJ0{o#me|jSa`JJs^F!l^+`$#}}Ec z;n@ct`T~1k+9IY7T(_h$2eUP5zH|?Qa!}uyHG-mMS|}>y^2r2elq6?uZQX;(Bv*Mbk6!=Cw(=_MuKVr$o!6NT7=`Rf=qg0al!P8Vg%LI^}$obfjdWjZn zfn~ll^;`RNVWbD+pWeunc|^90DfmF>?MGOxhoL&{*^S z8Qyu(<*ESF2j@~Q&H6C>ews&Fo0s6xHpeoMN+rpe-+?%*c`K|qV#Js;7W&Zgu3jcl zcX=oAVO~K~-tP><(M{%7CQ6dk%#QIj7gXqk)ZDg{D%GV|mEVbTo}tPhAgiSe+#7V@ zrc^d8DT6|8bl@BZt@uMBXU^&ou(w==)c8RvmqIRR(%;P4ZtrRAKBOITF#eeY@HaESCfk8jEK*8ZL+i^;2mZk#GbQB zz}Y5eJS3?AnisILRRgUZY*o^(tPH_;u;|&1E^tiMs2}t>&mDW+PAJS%CNVLb&JDyj zU^DXlWUQr^@Lgiu$F;UhvUzd4MB_ur0N?Q)h5*LL#vl97z$fFT?Z3!Yzonn9u&_;h zLZ-gl%bp>0JQy}mjdv$$wSh%n=SP#tC26&UU;22v zC~J4nV4|%(gswz+g5~21a#$v%N)PWN{ep)#ah2d*TT$xd0M|1POT?U=1corS#<%lU zql7@uAVcfop$f_RZc^5M=5|_4#L0ujCU(_wG_0Bo$uJsCA@8Y7oLHt{s98cGT_ywh zu@#n(!Vk}rjIl{MYC-btwB)$14@9Vl{2Edz3h7{^JA*7=PDilsoq}h_og7 zeji%$ZVP+v`9kghyq;6F7;W_a2htuC=TdmT?m74jNFr&)h`1{x> zkq}H9TWxy|trq-@acxfato^Jtn!XQ{fi?znow!#iGbt=I0bWIx>lOmoR+=u#XNL7T z5=?(y2IAagmkinl5UAGcAfdMg7@Lt9s-t^m6T%4X{kV&>!u&c@A8`u zi7>*MODSh_DIbii-0zVRnRf`?VQT<)ql85$#Mr16chvL{O@)hM0yLjz%;n02++|Y> zI6dkM2t`)9j^;d?dnjkF4VD_Cqz0_!e7oqQqhv+a{G8vGG80&)e{*_8p7WXwbi#bM zJoWsZKbW!vKV*sY&UaXf2xlqLD<>v{*RgT9loINdk2!w^ZIsfVmFmQwwTzx{j1G`W zr_y65$}p4SFDeIX4gV>ZN&DyCyR3Quy8Qm%13PVfyyqBjj(^5$(H^;s!OwqHn);U)mtrPKzBZ6 zrUsmkGHv;m2xi^ScWWS?eD}kKgvxWOmW;UQq6e=g<7&G&$+WB0$7PxUcInjvN$3`3 zYB=wZM9K}d|F`$cJ7Kmg<$BfE$2bkF$*c!Ptkn*Rl!N zAg*y+31CvqJ^1u=Az8M}`vTzs2=~v{u%3FeP^Y$xF8%Xel-b5ESJI(m@6N;EAH8JD z%(g}al*Yc^o+T?)*Q@{VuQr?W_F_KhB*3G-WH;y8fOX8WG7%VeNd|4m{sL%_ZQI}g zlu}3tKd-^#fjmAI)6IY=pj5TCUqh8({`}+rk{v4%RHz}o04E*)qa~ibznnQKJ)RAe za{ZCI*msXjy#pZb$RYr-$#h)5_j9RWL_Y4kYjzD(dkHlUBravx2x;HjqSXd=HJAa{d*j{nynlIPYe)(gC@2=vHg z6_0MU#pjM^2$U?RJB#nk4hg;!ihR}{)RLom?Ztp0rcAg@sA1cnUi4QvIW!lC+FH1)XE> zs92tX#MCFa>#1Kex>!#;~ zopgmJ_eZtu?Z|0J%-9|w7bDg0qXRyJ)}J%xm8vFuf1#&S(l{~F4EVc>t)0~?(i!Ws z2&T}@dfQ-*Xle7aM$RraqainMDmw}vsd;T&4B#b!O2yl|+Op-qKdB?fJvFgE1(_Jz zgcsq?`!<0#^8}E~py!O~Q+tlZ>DA7y(CBlP$O^6qX+C*}vVNM^u8ki#G=Dyi_>ax7 z6SMs8Q9IqSY;VK1`~u!FW+_<`FXLWA=VY^fAiWg=LS7vL6%Kd}M1nKJnr$tZdYL(T zqkZ9!0+Jclb!Y(XK?$c+PcQhNNttohib-+yIxb{3zHwHo4h(0c7(?KI4L0+%sxAz? z{Cp?ipp;4N$fu5Pkg64O*mW=_DRuU-q-|k4F{X6t+IaEj-lYq0?DLifox_$0KkN2T zQAyD#clp(Q=Jaf5<&m?ygnN&JD&iQ6AE2OAJ7+)-POg9vuKA+B<@#527`U-A$XeCpj7~~9bd)+u*dRlD!a z6&T|O{rhCHnMCah1BS@#Fq}8LodEerQeQoSZLhSL#37elQpFa77^lfVK?mPWz#%I8(APcDfD;o#?V0XKi4ueH%TM;F4C4=zD``z$huX2 zcW1c)9}H!(4!?lcwIIVziXFaYd1#I9&(B{ur!p=1R^kP>V5fq4Dt~8rWUiQg z=Vk3%UY#0JQ6=q;=mfVlFFx}`FW@!4oMDEihn0BP41i03>A|LqX0z#4p38Kp$Vs{0 zRGVa`WyyE)+DW&WC2(<7g(jgljT?-hFMPJE8}!BBQ3dS%OOVDchbS4HHCK{nT)69r z#EQTgBL|{u`LzE1^wOQ&waJ({A?!&LV59NEwmHf0C0|=*)XJOOR8sL9T%c(EiL?wIVJ0-)V(bbHD_6z6Bv%IHOfe(#i;bBw8IS5 zW3!LARj!+fHFnEZi1<~niZv+pal38i^ut{z`IgX_-=D+}LU>~XXTLxC?cs*lDQsC< z#d^GXARCVUh_xayCAUCUN!jMo#RefkSPwRZr}g^UT4J}J_=#k(P3Z5y-$~o8@q2VK z>vi)SAF5=((?18%J=lqnGDk>tJo^G0RuHfaS(WMt?G~2evvcPD_xc4B4#WekzQ~8& zwaJa?av)BnQG)fUaZIA=W^xnNfU=lvbdFKE~H2`Ev3ZN7k^4{|+fOI@O~)Kg%$Jej7AYSg*iC6s`PD?8LaRWrFIX_SV1}^(WU*~@nZGT{8BQ|8?RKha zdd?t@PJXeHndILuEb5GsA$PSCpWO7}0mvn7kk|Zk7`Dow$14xJ>+yiEIEnMv@S#g~ zdXJz@l(_}2W=Q*jZ?Z4ts{~b%5%t^iI;;2&M6SlIF9a{mMvZFPALi;@ZMB2VAVbx* zOoS}q6j@QPk~*|MobPH4j>6-SIJc(1g8&AV$YPCG&!3Z z$SvgR6Dcjwk#hQ(HkK0e^H|5H6P1UwduLNjr6f6I*OAVj(q@s|Rwf9$O!+9~goDkJ zkgaQQXuocIkmsw5*SYoOo;Dk}_NNmx)MmW8-ZC_=)_Y6d3Lw%1?cJZ%bd%Yz9ASoKZWpwoH3KRLIL) zS0Q?p$|n(!(@rvB@B5zPb8!IX-QB0{Q$3gA zu1{-x!(byS08fK|Pvs)-z%>2QOZwT*CV1xVG}0ZNU#$+umo7NJ#!=2pmVSVMQfi?v z;lU%wVzyT-puB_aVb$r$JNiC0GftJrA?ROLr4965rVoK7syIj-RiAM1s=u;*{wH`8 z_5osmiS?b0H@urGX25lAOmwM4N@C-!jLfCCwo-urVlI9P;W1(941eZM@B>N@a7y}h z>`!ll0r}{rifho5$Yqj9!HgpKJ=o`wb~syUG*9q>?VpeOXj=oYk5Vc`sMJUmWsQBN zW@S2emv^3NNRBr7lRJ=T?Mvcrg-X+2aT@BzTnXe03g#*TD^>k+x#NuibKc4hStbOb zJosOsvZ?OX8OS%%g7@mC!5lkNYS!-Yz4az6ooOayF8jPXz17M%JifnPLS;PL$;%Mj zGIhYF4XIbn@HlXQXF&Dpmd_6x!>)FL7rOlSPbY0Vgo3N)^#S5L@iP8>ZuiVk_d+`8g!GV2QeC#I?Lm-;- zaRs%Lpk3uzNyve2Z1Z7-YYre)-=YFD@Dva}7*<`d-+d0OtW4xE@=@81k{)QAI zX5}tm!Cj10B5&vfUVsf_dk?|Im)n|P8r|LL}fhAVtZbcShz+s(U)c0m5U{>t-K?2?T zun$3{hJgf>VUDu%|4L1BX51Qs41=3!RH=#uQ}u!5jI1}uyw z%zgzh!Nh2mIg5}#7-#_wiUP3=vP++3n4dVzD0}*Awk%UPr8y=;a9Wx-*z7cEHklvU zK^Foi3`dOh$fZ?JYkOSGY8L0==XP>!EZDra2=L4jJJ9k|C4&+aeO~hZEGZM!mj4E^Q8G(EVIb zSOwVkG0tZHvh|7I-S) z>~lY4-_KuR3VF{Men3$jX&xroPe~U?OmJS0Wix@0eb({2)p_6PnDIOWYX|n&+2lCb zXAOLlsdWkRxI!VIK*gk9XD=&YMUfjx`g3qXCUVLw^@&cYcsbk4Zj)fXGn}fZg2}lh z3*HY2Wx{@Z(-9Aq??eykN!7+7Q20bl6{5rEb_8g_mK*`#G4xZRSVdVUG$SPeRw;rQ zbY|TywU&M^k%bLNc14!K0fACVNFgtydxxP$`kx%AK$c`qf_($;LmJ>&5M<%9cw$e< zJ~TFV+qcf6G!q2jJMNmT5U5-uZ}|s#=ODILobwD@QKb+IEs+)37OtTLcI{X|6z^RL z@=+NwUOVv^9X*oE)`O-xvgdc$b*fb$cHt>p?%R6(yF?%Nv{LH*RH=^iR0CiFe*M0C z_w`eVF(Z=l9SnmAv7enRMu=nX%jN%rgmQ08(<=fM4^jTp8%($d+*!HI%rYKUI<>0`^k&u)4#2^s08v1$zqW;+%d<$ybn_R=9HFeXb?N1}2to%P z<6W_{7hCy~wm#GTIEk%l=U zYB1?6`4WQOm6-YcM;X9Y*q`i}ADeI!I)eh{tfL3av#28{?noA`e`0X!`cu*8e)iC@ z<$^e$CA$JP5_I`nQ!-8k4QuComHZAt{cb|JKY#C53tKRv-@)pZnE^pg4w=~_+De4w z$I#)mU&I3M*_a%Df|D9TL$x+mB|Q*H>X3jU6OFkU>LbmA8?mEU>NeH<@ECOv=?O<&91yBERi|nc14Ghlm7s(>(C_V%3l;KL# zx;VXogWUza!UQOf&L(ig*&cZ9Ibp5+kK0Dt4=%w*lTn z!O>x$&})y_Y*Eth<3Dql1vC@YOR*(I3sU4KRm73)!7iMxb{X@?LUCR`5f8nBBT4tK z_TQ(<<-sUsDZ*uAp>jU>c5jt{N#;^C?NsSE^ay1yDMZ3)(Wm6{i1D;F1Chq4&!i!%oH|YHwB#6IK+VaPSXIG)_IL3chta1A`3)z@Q_|wV}HNH5BHG5A~0|bh4Lb448<_13E^9{aDD5XN9jx%0i*z~iZ*x^!T zR=*OAw>&H138=wP(4lt#WP%KN+QxlKE~y>@D(*dfmjouJ}2vRij11Alh?rvJ!D{y=ofO9ii{29=e+|vgMjr>*R%2y z15aG`0=@zSkZDcH@89HSW=S@c09!s|{jhyJYY`lW{OOzN^m^M9s9>lr=0t!{0jQbd zU>+=42a~JGCe%=6KtE*sLD8mT*8OO@H}m1L#Jp4j^Mmu$dk-hQfAJaxD5BqV-m*R4 z-?DFV1zbw=lBv)KP{cNd^ucG|gF_(D@kW?N*9N9|05{s1PBzlj(^ki`DRf6c>2MSL>anM#KA{tp3jd`Hb)-A~3x z8ipz2d`Boog?dQi<7MDKP3n5YKoqp%X9VOC+#CWOp5e>XNn=GF+C-h zlUaxMd&fb+%yA#?6FY)U7|w%CxQ;w4Me*x;WeoY4*6LL!DK?|@=Wcr;cwivUn$J{` zxPoZSz*yCl{x~11sJh$&Gu7xQHXai2sJ8lK2eq-)#q%sec|w4lR|MA_bY%MiJV;{b zgNwSU0uzBz`&ll*)__+xvBLKiq(((Q1s)JTgDu(kpqNTO zNAwQbhG(uzogkFWm5Nri0hqkzsn#SR0KQvN``t&SOXZ)5e}517X^i=7%N*zr_g)wK zt)eZMyYJHc6_p#v4J60cY=%V2%q?Jj+ChDZeC@Yi4tO)0 z6VQJ>RTwlnuvImG4gv%AimC>{MLd0l1;aZ0Rsm&2Cs>Vu+`L3Q-^^PAPasuQp6*)- zEb|P292{BIybixg&-3#|kgI-RZG(BJBY_l1&upp5bmJr@#-#KUPNferm~4(S;_ijJ z4yIL`WqB$51NYX-@bBn)oYEWI`>n6sH?8x$?@Y;<2t>@7(%WBeWz0Z?6+v+^$gQHI z;~++|^K#&VW}zdgE}3DFW8}4R4`kC)8b&{N^Zr?vlL_)6C5H3v1NjEAnD!x^qq?PL z7DlQO>-V+9b3D6R0jE%;M9|;aTvw<1n?>|U!u#UdngA-wmLc~GG7v8Tag8< z%=Pk2f+l;$yppr$tPilpi4GYEJgd*&f%L`6x_nm1=V;EK$dB3%o($Lv9As)RdQ^Il zdj_oHX?~ot;^3P>idiRA@dUNcgeg}D7~B5<#!;X4J=L4_Nubs>fJ}pbKYuTnmd?)2 zs3LX&B<4w4ayC@<&xgD6#PnqFixp?HgFmU1)ea2gEIkzSc!knHHXJGC+(z(c@j>L* z--VYrpEiQ0^*hEK4w`a4kU#jqgRPd_lRI)|-CackvFw>}7Cx_-cJqO%Ru+0`1>*?9@ zW_ac`7y0*FqdHz=*4aM=shascZV`#0rSvwTA{z>7`)}Shz0P`nUf65@!`pSnS@~mL!u#SEcD9zYVtT7FY1=8i zeg_gSI~8r15FtLldA}ji zkaGJ|4BwuS^k=e9$($Qx+zg{s5+U)K*XJ+^V4o!%ihG@UOZH2g?`fGD!{&Et1kNT= zQk}ISaK&bUfB0U{s{t4P+!`26XWxMTz=lo8=;^J1RHrS=)hgj}Lkvy?LijGdcX@(8 z#Z0Zppc!ZIseOnVtc@*f=C~LR75-Kbg~mPAOk^nR3&~QG8HeG>%qqFFWYFsy9Z;t> zTqEYT6!__r+?iOa1mXVq*5ep(YS)Ut?L#HkgXAIKJ8SGw5E*4qbPH&i!l`P8gC}Y7#)hShm-$@~?qZ&3+2d1Zz^?a>ujEnb~$KeF* zn!Vb-&~iXBisERq#}!~)cHqjIh+?=EXLwPvf*lLXI6-QhM;vDykVfy|6~KUr0YF{{ zEb^?$&ZL@PBO6T%xAc-pTnTH{5 z3ls(?%Fmu9fB=%|M*|F2jAuomCl$Pw@!=JjQJBF|iIY-Q)gr(Q@S4yN4m1i7U8fz` zKc%O%f$K!ZO8Y*U6q!=N^Z1Nyn9la1Rc+pV9a1#Q*=P%A4AYk)Zxw@yqYV*GAygZ(tuN(fZri*Eue1wK(rDd_fcXK|iZz)PLtCIpwmx9eQ?P*EMT@QkYjF5W$|s1|5LYuJsecuJnSCErBb> z-OT&wA>}_7M3`9H)WPa0 zb;k2h?&%Hg*Zu^YY1Y{MYl1G#_lE)&v_p3UoXY6!$`vMU9-o3@Su|4@dzL;L`9i=Qs^ zNNMfQeWbUV?kqt)Vje=#aykBv-Wlh%7%ul`w#dBglJn<#%zE2{yorQ|$%u9tX_SG8 z(ADeyq)xkNvUNX1f;k}}S&kBXMbW6F=;-oCMg*wEF}x_z!HomHR`rD&0Hoi@{abO> z5HUY6$5ukI1Fnf^yIw+O63Wc$A8WEnhw1+#rF7(}RG{?xw1tdmdOU}ERcG#OQfUM8^ii#gCd;F45LHPs3yHh-iHY%|XP z(Jqt9LxNplufbSTmuk1eUB1i}t(YUrG#H zoU0^`H^!3#_p`+9d%humGw%xU!RLn78Biy#ZzI>)qI#h#B`b#qwH8u^F3 zF#Mlw(-D<3A_m);Lvj_`Y39u(5y_<`5z%?R*pzW=@R=>=k*B|3JA_+ihhx49LCQh+ zPA~!&gCi;HLj(X?BZ)3~^_z`*G8H~d8^yk}D-vEdjVgh?I6L4x1C=KdM8gfA#3ey< zbFc=@b241%Spllb?@4c8hldVjzvhfozv7zfWzx)GVBcZoF!mWh7k1c2xwNZ$W&&dc z;q5`U(OCiFOlI%p#8k8Yywt` z0MA7^bJ3?}&{rww(04EU+F1+{9p2iZBod{tWJn0WtqYGGa@#rE=T%hJCwV!`3&5y= zT>ta-U}3BRKB^wMN1y(s)|N457jbSLif;DEb_*R#b#UUS;8_p#mWpOiY>I>|^sP*~&QWFzD8Y zqk%i){wnt$auY_nUVC>0A<=nWN%uo!;ccdq?IpvCMyX2YIdW=?CUKm4vJ(=|&j7^! zoKZ448P4Io7IyIE$s~$Q zG%G^t{zIkpdvp6;p1c+PG5OUO2r-yTl|4H>rudN7?m?E}5M^kQ< z(2R8c{QTIf(YS@9WcJ`kaxQHhHJTz5-Ja{??gM19@zLdYz=1E&5F#r6qL|}RBh9TP z*X$Z*{bWIq8#35-oR7tS<_&@ze4kDBsA#Li?zwUb?76n`bGC!;uF)(BrX`A2eu=N1 zqn&3Jdl@4Z;#sA)U8DT`#!xTOn&Ay^1*}v<%OFh7bUSI2w!LYR2Vk(BKR`gLY!?Ba z1oZREwQ5+o_rbi7aXGY_ZPL)&Xwb}gcu(w(+%}8c zB=|My$@^{Q{3x5`I{FrJQ<4XomUVztg$+Tn_lz8!^Acu_lC)fftGL^P z?1z|$PwUT+V?V3F%lk2}F~$FOcYuavH}6{TvLhZfO$UH`J0Qk1ro{{Cg$AuEdP zvdYGBSAuBdA#Im_oP-QxBPM6brb;JFHy+18iY)=<;CcIDXVu5|Rr0{9Kk34*s^(sesfXtD00&RlP>E6upwiLjACZFkN z!xxnqap_U|GJ8Ccf6HU#GUd9%Gs^+Y80cgl?eHGwXnU5zf=`z-KG&bw=Q!B=Ft<`3-Sb*n!rr z>Z`04THxw)x_syVpR0dOvLwrqFfj$pd$vLm&QM61{qL;90RGTVVK=8*sw*?X{a&+k z@K7jT)=5$s4?56w!C52cuogJ{qBVj)9%;+%DH|YEKkpPU)cOJ#203-D9WG>99Ek%Q z;n|lIdt?IC!;o70&tUUa0BoJpF_}JR6IKjyOu&gf@qOB_ zx!*I(xhy+*{tU;<;H+MqPVT@Hvve|o8gP-1 zX8zIoLeiiYQa`=G2FGd#qy0CRX$`raRhg;&v^x7-8yjhOzV4ilsPYTeVWt$2-HU7cC4rd!Vt-*hl%enKs zU$Vr8vC~Esl6$gsq9c_)f3*i}(+g1va3I}ZW>5Ipun)n+>uQsZZeySQyATz^Z~t4L zRY;h2@*xXy3M^hZ1kK@B)oc9Ol3wH8ZnutT>t+Ty5rtKK1QCbXe)rafj?z+yPDEZp zT&zw$w9&Ox0)e4oK*-it?0+u4BoDr}e3|?+E{(0-_)Bo0>Q$`?_B_+K#yhwwHdLIE z9Lr3mI0-!O_<>75*Hmh~W&D(lB~P2cF+pN~-PkHuLm2aGoPe>;4z1FU&)<=${U>C! zk8{DlERv3|s1I-X$Lvr3)E`+7eo4B>vhDcL#2RY?A8g@~`oNPinfHY0I8;!;7~)G^ zYRj6A1K3$jKZkz~KCbbZx_rNznI6$C?yK};|LXMa2Sn#d^*P71A^SO^|G^3a2I*dJ zK&d~GQsR`7B#7@Ub^^)oGW>APAgGhmV-6~t$a zAba*fs5>@OnbNtOwOQplpxC)5*`N{s=|YkA{k-*|T=I@|AER#4$aYX~0)mrnA#m-B-~OVkE;X%}%yd z|D!nO?E=^hfz6_?bu4b z%Jy%+ZS!6l%5{sN3NkmeAA#+^ndZ;M!c9CPeV@I%Ev>4N35T^lH1-#$z zxGH6ZRGjK$735``B{x?FA>>Z{ndw;@&8<|rEK=8(1uMuI$i**gglrT*ii(zmmmWT+ zBY!8xS$n`RhQxp0QtPCXk0>deWeiP2|` z{df@I1v%_7>pAm)P=NG$>{%`I7?ksg^AC9adM0g(H>#$a;?H@`VxZy!02f-(iuBp| zqH4r8jAs&nRQNOQ+5>#?3CjvR&Nsn9eWG&KB4FG@usl{%3=gPvN#mAIenLpuhP>DW zpILRtaX=kaCU4um2S|sgEcrWZ*16;Zgg)<4GJI}M|2OLhs79Fv9|Kv~@hyKr0&vTC zUqYv_HD0Idz-A`*!y(o41zz_RA! zLC8;hPp`?@H$C&(^ZVMR0?>nsvl{rQ@v=X5%;1?R!Bf_Uyr)63NxZ#td7ioFTjYE4 z3}n>wgio#07Y~yKe~J>nw1;d+*qrkmKJdrRC8VmB3Lfia4_QrpvWM!M+*51!pANv6 zzsSj-y7O1;Sm#bw8v8pFp)R>kc6s^xN^47h8PyN@nw<1{V*8gj#C6$69Z|M|q#R{0 zz1A7`*{{)4G69|#BI|9Oe2B3Tu>o1_2_8?mJ`u!_-Jf3>oRcm4bldTnRn6mV3jL8c zo%kxaO$4|2tqsu3J`jJsjMm0(MBY zW4o(*zm=VTX@yE9R%8ED_D(gFGLxfZ;;u@XK5Vtf)SFVJI3#q>_P(T^t2{RE;J^17 zB%$lMZL4zaQGBZ6S6*fCz$^(v;sGJ%(ODBQqe>9*gQcu$oKbA9j75XvG6->#%#d`c z|H0Qy>>o8>OB~KSc$vHBqa22xmMZDMtJD45W$9+ec{XJOgvDWP-d0SS^lv>AP(x5L zFVBlHR*b}JV^4XXH8gyk!%~@-YcgT z7ilAypkl6Pd8Q8p5TP1aN~-;`j+PUEc-x^>2pU|*tAHfFk4xS6E9G^s44*h9jrS1G z+h>Ggh{WfZ3;?**IH(Aq8Ax4ClZKm#{uAEY8gUjLlcLbpmghH=WE3(_}yN8Y#Bp)5^$Ko_xpDk;edm} z0E``*AL#=Xf;{RSWmrGRFctZklKCyUd~3S2@2ZI;M{NIG z0`m>P@m-b4Z3m;%dT1%IsVV{yJKP8OV$!XZ=}rfhcYS6FLaIH~E!nx@9(G)bL$DX{ z-l|K{Z45b%Ng`{KgONXff7*nsLO=SrE)#wnoft?|*+w@*OUY+W0KeX59y2zidYH9(a2_olu4(qb)ea-71h*}Ko7rc@s7BU1Q(qz#*3D`2+l_F$3 z5$xe}LvR3Fi_E6up}&{5sjLI1@7|%G1+$ac?|;u(FSgOy8a>#E*sJkkBbRZSlpLx9 zHp4bDP{O}}9nv|UtN?w<819b?k@S^(N@QMi1LoXjQP?s+{^#dx7hNqt(3U`jY4yTq zx=3mqY}gH|3E-D={Hou?K5P4Cw;lkT@MD3lMT?zFnDeB@8U=#da#cvy{>1@>u)Tq! zTbhT)uzi#=`+4J(U~7d>?Yf{N!E-XmnFWJsur%&VrQ9&uCsWS{dljU@3?KZ&pob4f zVkEtppJ%(Vv9q{gXAf66RtBFOd^CB!!344W<6F<1oNIk3sr9Gq`Ch=V&0HNeb^tr)KW+u^ ztLtwLumiVmJn?K z=34F_Fhf*cQW05CF@iKuSzwq+n2Dbm1-se%~*%UH9NhUDkYQA5;3bo&g z+)*nnuLCX*S*2Yy+iqT$`hlk*XV4eP+4V)UM10^uz53B5CmZ`IRsCZEzU9JY?>tK^ zRP>d^m`T>9ib@RV^NV!kPf}VN&OZ<*?8Dh9h1ousj?>wd-mg+f#AHu@va@&b;Iftf z{AD1qQ|=<)6Sf|@M@Jtpd| z<_pq$T~>$__KPO_v#Rk-6b^&If2sE{;cYnVBkx3&- z#R>oi#2~El`J|;{VUC-72Xn45ZbyR zIhQ%rlyu@ewzPk%e3iO&JL0Q!`(%-~q+1)g3DL79mjSoIcj*Iv)y zN%h!LYaX(g=U<8waHi*w5YhnKDy-)R*iunbWLYyw-=ENTZW38Ze!kJAeaLA15B9ab zJ@1}3;}TAniTm5ifwTPiYRAldG;vS@OjKHVa-i&eUk<9}5L91B-k z+0R|ftPutUlGi-OdP;Ud%KT(|GRLETGaE9nbFlEGplv&;8NohwY)!>fg_wbK#9oHu zXl!8#;P9k^D*zqx=H|3O7!d64G}SkjxlJ${dz397qXUpjmhzhoL|}^EB@aB1U>)Es zzrXFr%AUe9l7oV6(qC1O3Pr8S7T$3+Y$1Ugvb#=nRcz{fwX${FvP6pBO`E!a@)vz z?T58XqHAfv0NPfm$Nko0CvT9M4CFF(Xulvk{kyaAr;q~k&4^gG6_}igo&*HjR;gE6 zE$JY{B&_Yes}4K&t@u=0P-mGOFXn4l_Fj!bCOMeuNa|Ia1dB~BfN~Gm_t<~q-;kPa>zSgiHW;Sn zvZtcz(N==lHsI3>j!H*%g=k-}_+i3zWk4EqLNq6_qKypN#wX4-F8neRFUHL(V?5(k zZgUlANoIyDFxq+#$9iqKW$AM?L!K6Uf^6M-VDR+=$(r(S@iR44<(6%MkLe>}(;96b zj^CnGJ}t60n<>9EIRh!EXkx6QguS-C?dL8zcGJmrVOOMVjX(^PjTa_pJ_6VA8SkjV zyzZ@HFU_5?XAe;k(~wgk2jZ9Ry)1L(ep&m$k}~l2Kg0H@uqb4*s7%d1Fb-Im&YyO3 z|DEM!uElY_Bo9Ne6Vhz_U(GMK2QHEE_+`e>(X=2|a2a^LC1?HX?%SQ`Nr_X51kOy- z1&i>;V^8(Ur#mP zk2PA6U6|L-w0{H~K#{*cKv+M2r&x-w{H_5Io8UNmCN=tplGA++kQgnF()Ow_gr%GK z&qF6Uk+Km%FpOT2M784H`Jz!n8A^*`Di{br?JCBy6bf;R5|3nm_?3q{kQRs38ZyJ_ z@i*bY?>%zvv;*qdsi{X>kLI;Wq2lv$m(j*1{|Qvrfhd7$JRqK9%f8ob!}wU%j2l^o1f-gvA6)44eGyej&gh=UrLJ_6hNU zdQX|I@6S-SFGPSESk5Nb9HoAqn83TMx8kI%=sv#r#3Nuqi+uU_yJM^S*um2PaJD-i z85jb(L=cL+o_vv=aRG)2(Pc%X_Ep$+m&Z|_2nn>=Q_frlk^Qd!6@TuW*dVW^@0``n z=6sHhK~ci?06wO^g{^eO6JYz3aZBxqNJ%31_zntHD$NG2HtV&!POA1c>K2{4pwJd zqJIhPW)cW^FqU3#gz#sTRb9Dsu7yYK7PXZB5A75$ zW!9O?;87jTo%6Q)YS@C(y$~)I`Yw~zzw4{)lh_Q!RV0~O?QFW+$759dc3o8Qgb>Bf zXAPO}ntaHxVn_hURN$e+FYt!edoBKAO{EdIy-LC$pR3%EU(CfX@<$8zx2 zdwwBS>V8IK-k25imTgg0-HJ2u1U5U=Arjo-5I&L&fB50%RMo7GA|?O|ndfTOJp-0@ zSqEDH;&$cVWx*;0egdKWh`WV!RdAl$n?gofCi~9n0$2=Ad2u^;6#Mv3S&?`3S{p50 zGSe7^DkYQbpgt#vhAn=2_X5jzM@wD*gK&JwiB^hPY~;wkR&1v%V_@|Hcaka8Rm5%S zt(R6OTRY>jw3pP+IS`x`8US{nMZQQWnJx9R3`n8Q2u^ze$#tp z`Era#!ZA4Ut6X#Yw5y+%Apaw!QW=p}=d_MygASWe zgWm2Bfsy|=WjR>Ctk-+`o}HNo6AA-EqI}M05kaq%giu~G!|&rSe3mbjS=PU-DHS@P zog*n8Dh~Wy;OKdE9dUeThY5JL-DezUCp@9@<&vjSO8=@Zt2~M$1c>BImwq)2c38#w zRWN-p#5Xex#H%}qcXdN3M44wQFMsC;Y%)%g{$VU6SgS2nHT!J$$cDVvzN?y)O80?p zXAzPKD8+Kx!C~wJM)W9?{g82L$U>kiYlwxk;-Yb`Nj4KX2;?aF4qCGO_M|;yAig-Fg^MqGl&$ zeeC#u%5b_5Y}aM+44B{DEBy~w8yWAnj#!#F9)v%vc2L1=cxRmq8^|_&#TW?n5k;L~ zfq(OPA@}RjwJ^t4bSv7wSr7Ts|BwOO|A*lQ9OZss>b=gY?tTSW(O@sdT!1CxBG_A{ zl(-e8>eb?!)OJG#%{=-b%UioZo&|1loyb0FASnqRX z#*qt?EA`ot$iV7ke4jdIztnd0C=?jQcOf=ItW1dVnWLh@%Du)#_Dn4$Cn4-k%545o z)<@n7p!Q&!v2#_EJ#5@X8XqvKdMUl z~v(QUWP=1FBSKzs~+U!$I5AqR-=vL9c(`AW`=W+LV-zNk0%YpdkyY{kKgkyuH=SzW z4jv+op1Ddn)$2Q9&d>|M_q+yw)r$`8rcH0bu#3;vRqwc^)`Po^hd&$Mw5Po7A>Ci{ zcfGcGNqX(***|6d;lz+_=^r4fWn5`lN)b0nzcv0Wk~j=>_}?)}=_j)tcPmJoBKA9NY+ToUi4C!8q<^Zz zl2-+bZHsfL#{UU_0CAs94xPj+wse*`E7<6?86-h8*!q(6zC0g^(T;Am@UP306|kmM zGso50&rtnMjwz0|`lam|V%p|cshH~dDytJqWUI&}TM{QOq}`IKg1`ijZ-H}rwt6PQgq%D!pRwg>H@5vKiBN*0c+Drer?s>jzxHiI1B4Lh?A(C{SvRV@1T11cI$6Hxh;sO?6BVb zOSoj&SAwKDeXv7IB?Tqhjq!&ks%h!Z@>EaV&u-SWs3-+su-b!VFYXGU;PNRzH7Sut z^xrmTUOLhNu~hG$GEAeOod?HN1i&Vz=rPamGIrMb#U}{>20JZ*)LyWZtWu_yPwJ1e z`<4J8Q<<~(-c)$xO`krf&zL*LZ}ezm9WMJNt%|jh*;#D)bnosq8TkH!-nU?#QQlE0 z?FpmN{(V`GWB}t{&Kcq-{C>#oBtm6d1R%;KZmnUvg7w2v^>$s>%L6b!^2cj&AUN{; zRnq%hroovv#lZU*7ov{dxOXETA?8eu*d8Vr2XxY(xd#RlYT9l!pB+F`Ds0uByl$1c zGig5r$mlA=`n($dR{eS^bW>UqB=to$ zzK@lI_6_3Tb`!9bjI;W6TaU`Y)?z2Om4$|x@e#Lj5yY%+buB;ZL6(cm0dgTyV`tUv zb;tw`gT;qaAjtM~aK|}K5_y#DY9k%rZftY`9ki_tSTHl4Af&cN?uzaQDZb}!Wn*zJmSp@bT{6jH}+HhZ5Z-Z8C6 z(ZBSyUo{GP0^ItsFD5PqBXFE7$Io3G>qtM?};dGT||NZ#A_pqB` zuXV2&HWv;#z0(~#&@cAsJu(w0?VznD%FFp7|KKyRzV3+Woo_x){j+^db`{%S8!W>! zVGpAY6Z>V$XnjiH49KVuzvJMtupPICu1Sg6@| zJj8y)XX*t`mEfPa!`S_$>Ru zdFcpMP`}?NpxDp4Z%WPq3Sn=D+a;hsA$=|InZTdY=lwb0fFR3BzSm6V#-3FDP>Z>T zlG1VzFjQeQDN{p1L_hU6ER5kPsJVmQ@vH{E7x#T2_rO-1l5w`QWcz4|5McGn<~PGG zJmnm>_MMe}`Vp@e)XZIWE~iZ*4&w$kB_QHl-DdRlz#&&xC^^_*NzxskcL)KVsP--eAKI5LV46#~ar zbDaYT@*zG4p_g?^mZg2K{tOCXOU`hFomOe}xT*$^e!G4%>x0kPd|V4%6mm!46992+ zvCi->a-&&Fl%-_pC4HnB0Mtxr7;AuM`rB~(WTlzm;l@X^+#Zm?5IB0zF&tIk;;SWy;2ux=DslrrLLI-7T zO}2m>X+X7;%ds0h`pTWXJujJMe<|&nT0H=_&tI4JY^wt9GGwzpJKOsxgLMa8QUCZ3 zvUjl{A?!kI9a${vQPZcMySIAH!GRzHpG9A0$nF_}hjVG(MfdIcj~r^Tqwm+>9=u#H z9+7zu`yGvbq7E&UG4a#>|LqEaUe*2qK+Eu4Zw1w|3?Q7B?M9sI|XFuDs zf`F+jZLI{ZE4@>c&hn1<>9d6z^Xu zkjo(O&Tkme?^)eeRTN^q2(2FX(HxV@e<3Cuh}cSGzi0FCzu>{Xs)!MX>4~tNyI0Pz z>!ByE6nK9wz?buGNj+D(TUvvuGwML#*9RZA#9;2drwlnOJKF@w5`j}c_nhhV6ktYU zbC;kpdU(*L9q{DkcM_HzVt zLSh3pE+e}Mv-10wYhrXgY*BlZzDBxM1T4}-1|2onIc;VmpoHTx!&a1bLzaF(MB!qJ z_LWo-r0l8GX~G|uoOM5%dL+u&*VBZY?a9P=h=YKc-ju8P9H;vF#IoJMnOXXpwk?!- z;4YWEdO7(8&$et*XSG%JvFKTyW@qVO+|@F)46v%M609TdF72g8=d1AGJuUV)#(n^=d^h#<+`Clq#ilCv6`p->vem zu?WR?ZL)mW&n4(nIM%w%y@x!eRU*cJ)$(kE3@cMvZZ{wm@+_-B=ZC?c$-D?iy%0CZ zn{mVCHc|0puwa~D?w>OF%zyCxbJv`q zxyVQ9r(TfRyK&n79+NkH@-_rT_DS{4XlMt4xxZTJPj%qWS%3Rh%ec<}jid}udL>9p zx6=p!5k6vfSxbswi1JrJcI4Bf``J}}**q=Sg0>(2ObOu1U~t>ST*y;nf~DW|11@`hXS8cQGHza!B2m)%Gcz2D zN+nlZP(`qUT#~#FFl0^vZv9^Q|BKkG_ez2jEL%qj)E;N(OzuHuYjtJxIkCLI@U>?H zz$1Xr(dwVDhjQ-s-7ljyV73z3?@E9z-C9CP#gNryo==8Sy{aUS-DdZQijacfK`%Iy zKXBC%FS7o4_3lD;eD?>xkpnrMz!3Onm?e^)awr%|eEaAGt4{+wuYs5T({hO?Cp5)_*rZ`TLAd{<(E0D2-?KY?FWf z?UfTmLyz5hLWT^;gelT6}bI)(AXpBo)xZ{-XIf55dd_HnGYm&n8&z>&bU9wVUGrMG2 z(U@uwA+z&iAH_zFO(HLUZ+nWH@b`}ipn8J@hN=rE60bt=MSotG-!E(LY_CHqO4@(6 zBeJY@DpHWsY_LF-m1>Kf_z6*|1pPwUQiAG4Z_V)1#r}QnEf#l=Gq<0n73S`TvvJ8Y z`nc!kO8Gv|@CfPL%8zp|!k&z7e#&aJZ*T$e()$gF&Age!mmA!L@5*z}OLFM7?R#QB zHw4>$Vb%G%)s+JV2Q)J1PZfoQGGiCa8~O0>nHz@4BzA(f(%YsrxI%xBD|G7|@w=<3 zamgdSdwYFRMd|Z8Ak|Nn9A|J)XO{(IU#WYQG!Ga0k6rB=nN4$WTnWsuAzOe0rR)xe z`NM8FApOZw$xdleYyp%Ea)l$nc`3#+wr%wdukqi{+G%Fhn02`C*l$>m%9+e$4A=qe zJ2dleS>MmlYRQli6mOi7w9nk{2LgZcP|OS%S3*<*rwL|};}-+|srDR$`7&cxMEZv1 z3FGw$K*am`askB-xH8$>;*}cb#1i@a-i74!EdEpb&ob zp}3)r>{tTWfbUb-XOX!lu$$TWz%uwK@K-9lbe>_}y=w-y)FoTplUZJ-hio6NkY z-V^*VkH7%|O8ZDE1D1E616=ujQXop;XPHN@Vxy3)sRuk&6iQGqOU7--8P*rsj}BxN zl~TIrkMo^^C5KJ9j>WIBBZCISSmF3vVdYQ=Td9O`#A$uYyC3vVh-@c-^ zzF6bfwx6y2Dmk|<_?@?u{&=^ysNm!rPsaM9E^iZfd^*spT+&R zQoHG)kB{-p=;vMMf-Cj&1;>zyzP}8r{W5a1rd(BSRb0s1WHjUVc3t(E_L;g1hUBTd zLy#_*X1y;xzC~7d&;8g^KW=aO9g=4Mv6_DfGK8YQ+VO+Cy8h_G;Urt$8C%Uu74BgGGCbSL(9OJ4J!!_Ja;*sL23xGX-xrR1x-o7wgv9hY(;2OYe{ic8 zwlzKPtU{q6+-qRq&3O1xaExhl3el1*HngJ zcLmA5*n<#yG4D9r>b}H7YfV@@KHpcYT2)JB@@L;Axuvsjb>tke)RNpeKTQl)IwHXF z02YpT*2EX>0JEys?`ByT>xUrX^^ugbpO1gH@LR;rMOB(470pB2`dS9owvV4(`fTed zNG5zR#LMB%+K=c5Tj~85$O7(uleELQaOusE4}VZggX;#&ls?ugtW?<8%merh7O?}m z;6`#OW&(HUFFVBX#QHE(@}P(?y?vMEGMkAZ$Kmgw9A|vE=vnnci4Z;DmCPQ3FeS1* zfR(N90N)?epZ6P{BaA5mUI7FOqfI8E(mRfEgs5N*M<}9X(VjlgEu8AR zr7K$ojrTf;w?ppx*%iPAkbMS-yFNN&z8*NgQ{^$NkW4iFcHENXEgY3fS*z#r6|%Mg zqsRjt(-;X46q`2!jT+Qr(xU$PonX|qSnGY~69XZY9+*CY5Rq|g-61=)Y_DAaAxESk|4|y+>A~m~a{Zq~)W3*1;{r*s~v@G62mStFmUt!iwP} zXh`&pA@DK7=EoTgFEC7DX zh8Ovo(mVV>f_5tv@BL_p83OEycj>Tg+wh~yAijiNzkS1jXh&Ej%eB~+v<-B?3jbgq z;xnSQEPb~th?U8^I_;OiO}V8R?1|c0PCArUArk=j+>>o?pQQX|d4kElDjffBCi~ap z(ofr)KCth1l=e^lzA3)nm*M{zr6f9^o#4f-6?2(VP5yVozgQ3W{Ni`Ay2~Y{u}A?z zd@pJ5#r8@Dca3mmM|W{QHVT0MmwR68+sCdshzMv|h>DUy5vuek67F&1K|uiv*nVswLT2=vAQWrF+RUhO{?yTN^q zKB5Lvb^};>M)(5=Q4;|IZ)Fxl&HQ9c1Bwg1@}DP(_`aWIP|COG0k6yrIn=Hm>`qJe ztB+1Lx1_8*+hCS9*iD+T8Oi-@Y>>~)2X8r=9O))l#TJIh!dOnZdaqu{A}R>$El=c* zNk=|1h|u=EPf2I(AHB6`_zrKD@vuO$og%2(RDLB8$h)Nf+@L!B#R`U0-`#~sG6D4J z%CYN{5fj+P$IAV$bv^4#yW@ul9JT0KA1+M}@v|?jdhM$p^w(8c=qO}LX+2YCN#^YG zGvL1;{m#q8e=T}*I*7&=g6U& zzWBg+ZdLDo6)@7ZV+7YN?kTcyf!gR20rf;qvCmz(o6&Yg`}lbj*&2dQ z>~-2Jj=bbKBlBH-xOpQF*ccrKl&i1NRYCk^Nb%%%^5?|~RNq;5XPSx0ta*dSGtX$;5AQMzV~5cN?6$oSe;XU^7;3trO2nQ` zMHQr{mas1ET@5y&S~SE6_xHuFlJr0R?jN!*m~~gK-a_y761=a^G#|8jzs=Ho?!I{K z@;tYV{r~SScvx=5Za+9T7;g;Sl@-e%yxR_>bV)X)yG^d1A5d-HWWR1AD$hEoY#x)5{7J;n4fRXjl;> zd5<#hBst6Ts_a|{$~>Fl!CByxH}CZPkUS~z1@P_Yf;!S`m8`tKO=(Xq`fM+2pU>F@ zgFdsT1gYVGEzwt(9cYIo=6ym`4B*T`JPHN(Tykep?1=<(xqHvCd1r;G)CESCtGWQe z&iH%p3(QM?-Y3}@S-$yw?|5GaHpw`V9nA6z=_7zFdY?PX&@^M4#%cSrhRqFO^p7ps zoHr%V6NcA;M{dsQ3J~Z7e>qRzW^-S5w#9m7;i)9KM~rNv`c z>L&mz=M9j2e&j{b73+`ZT=h>D()U(suV*1cl3>;A7ky8DpT5sC0CLu-HhQRgz6Gcc z&-Yh-L2V)X7t8IvnjP}?wOlAW*|#7!>cH2<1A-{~3=_5lLXT&G-O^jkR%e&=x5D!} zUimW%mY+LwFAAHw$V)1out&+dk-@M{#~IzTOZ_k^D*6p3cAVH>{~MwoU{Mk8oOS#D zvW=wxtN#3itq3oo|M$9KnsS;92?;eTbmIkhftthdRWU#OAL)!1iMQ>XgTSem4K% zzx{ztpML@~`_t*V63YP6-ob1Dus#Og{~;iYd~}Hxu40-!COh^Xz3kWuggAU`t^e+w zToJNct9hMt@bS_z#o_yLoE&LnsgGoIX1}+z&x=oWo7p1=S8u&XaCBO{xTsXRrM)fq zDeECw;GtyGpPV1>Zz&}JpZFD>tdv&!hy2Xwk+b(N{>GJ2yx}a^2OAW5i|k=*rdIW5 zAD^yob!qB7vTp0^?T6-6CTc4hz&)SMdxw)AK(%K)sFQ$NR($!V;^*sZ*T(QWc-imV zz6zW<|9HX=rih&g_TW%_CM)gZWYfPj(6524y&yC;BA?-Nshg*;r*-ucOjV65c&<97 zkCa{P=4Dgydzop#N2oL&I+^xj5^Y?*~dN$ zJ=r9$Se7Ioh+E0H? zF357oQx`Giv`f`j1q=z`ee#y? zXhb%k@NdeXNZ;>IKv`*{vVW;gvJWk9efSid^xw+4B(EZmi69}+CshwY<`$?0Z$?LZ zL`%`;K(HHbA?h#P@6*|@-MSud5#vX1?ng%wlWrl-s-{-&x7AKj*CnA#;6<;)@Vb z4&kf+)&*sUczW#K9ec$9>D{lb9)a5)soI&<_3*s(Ql(FE*F&Pr2D;bK##8bdJ00#C z&exZ}CITdkJWMl6n*Ow{l>Zk%wqcENG!nqL?(WSREz_k}S&?K%h4G*-Cc(CmddhqJ z%&#zFE0_7z>Y?3Y>OJ5WgHzvee%wZrsk4_oz?z_8we)!LyRW{C5G6q_Zxlwm&Zu?y z3ds}MUoH$EEN}vcxAJ|3Qp+4l+ejuj4=7)Z^FDs5#_3ycezdtniIg*)5))TZX#YLE zu2-ImqiPc>`<8Tpq>k;Y{vikyV{3!)j+w(vcKaubc@1Bj{pZLaE^venuF2ZOKC;5> z)|sgEy#Bc+%kRK8+RNoZTx8In%laB;4xr=xR9|Mt&b#zG75Tc<^Y3InD5v#6%Huf@ z1k4jrs=$*2pf0<|2A51ADS>=uLfG-zOg+jVHh_6E~52J$i&J+C9O=CpNzZ& z7ziEbZpFWQzKQ?$t%SVMO?+>B-saOr&mg~Yd(`#OKXn5hi}SBNDCl=mhOY{c!5Qy8 zn$j8}?e*XmRTPrJ&F{b^bWgC_I^S)(z znzw8p$+!mdTo$b*^{|N}I)QvAU7A2nkiNA_)yZW6RbNJEGx3hftF`TMFS*+{Ehn$> z5_Zbi%69GM-}I}}%gU43EqMhm*Vsqq7joxwoEXaj_iScU{`u?%-0es2ANiGW^^1JV_@$pOpbib2Y_6bahVxdj$T-ii@lCH1 zXc^yc9)$OhvW?5@tP{*~rb9)^tOwG)IRigczsA?2Wt3T>nE%=k&m*Dgcw7-M2Hy7Z zx#zTkme1~;U{*Idl!`oKNLi8W`uvNA>I{FN|A@_Ng_g*z3A& z4q{(pCoETW_)OBt{Tho=xiFERV}LyKVguxd1`hD3UMb^oKPS6LTmpHXzk&q|FU2zC zlD7Uy*{228FYe|1RtWdWn&CIQPF)Gn(HTjbHbdKQZ=!ijLZSCsIi5g>oTDfm5nAI{ zO46hSi44Y!+{}-kWe&wgpIc}1mha)v_5LYyX$F88r;+mU0Iis0U;>BLKTIG_tSSF5SU|P1H+E5wy=a;e zpu!Tyup5oaJvZyVuM#B~^x99W_K)jY-JWzUnbCzc3}8z@yJ_{dLrR&Seuh_(am)&> zhV+>j0Rp*o&8+_9;Sb9@T>HciSDtc851K1wzq^#uT|4I$0bV_@W_I4$!ToSP+Yir> zp1t%7^#OMGl>6@AA)tOfGGnvHccrat*R^A=$O1}j1bII{p{3>&@^tfeE?^_|X*w`!XwmY@=2hcCP!q zN)OqwMdCAodM{v<9{n8vh>>vS<@s1=yy>gD?2w7e$A%LdkQI>i_%3UTDdxpCg9j(K z=w-<@)qNnPU=dQjSOl@2>tL`O(r9G^tO}@Gx4`V^9fu3mj}1E6r@@BI1%%%Kq<|l{ z0hInE51?}TN+V}|Y#)*pOX)g-r5^&JOI?3wUtan-A4$`Vxkyz6WWeLk_+P%S^#z4H z9xB&0`Zw#$`;+oEXFFoYq8;tS)Ub*W1;a;AgO6>=j z$l4@6_gd5V1J%xB~|lS|g!pY<|{zws%< z`TE_9a??6F?em~YBz&~Pw4dwj?;jw>0;2Qp1dQ(M$F2`xuS(ft?Bs<56BplLe>khm z&apY|paJV2dhOly{=BycGSmm$G91;Q&-vs8W|`ES>Wv_yCsk+!Gu~pc*ywy1c7#CT z32`}YY#9i*f#`C-x)Ih>4Qa2h2gxI<_Zp#L4Xb8Kc#n%}QVuKC>I=BU9W^9m86m#t#2fVaKFA}L0;wq26JWHe3?@&(99a@Rl?^4ve*`eU*h(I{fN$o(g$JHE@0C{LZ#Ku2pXmfcTIp21ANu zOi(KRE!p5*Z}v$d0J{^?(+0WpK7NN@Y5x{1=O-zBl+KKUPxIF#?!Z3A^uNaVBabpC z#_bx+Pm8RseM5mAuUW3@aLpkK=FsRhPW*gRQT@T5_a{%knyad??T7m?e(g0T<7~I` z{iZZW3;sk|7Q0H~Q#Di#)%mAo){8~>CNcS~HZ7Z(Q4?LTEEpffe#d{69IzX&EJ1TB z$+ae7p6VkLmln7(Kyq?y(kf^hX&d14b1da|dpl%U>~UWkia&cH4Izn=1Q=Edo?a)Z z6WNxAgab+jZusM>u`yt`3GSXE!6pbn%jC_H1LtKp`r#ytrIS$ihp!XeFWVquANc#( z=f0zR0{mZPlDpP}&2A@R6gAGCpdOb1YfC9z_K^nI=`--YfPiR&vfwrE@oWqNFVE!+ zz$zK#*7qzrBcFe>@k;Bn!CWZ}q=RSF4-ml(E4xK4*B9fm6{Tv|qJ_9*6@+)y^_Lf+@y`oj@7H zDIl^WwS&D{F?XR3n6EyC;98YoF+!R9h3~EQe;GcroK`gYt) z7^-iYLDrRZi&AR`Bo1DsfMQpb07}q}Asb=~YE!Mw&1L>~D@D7@_fJYz(a+i@=|b>Q zkXUQ$Z3CE+EJM|&rIeo!6Tej^H&za~Jn>(ur+rtZRF6b(_8q5$Ogn2%kX2^>yX{a? z?V3#h>afC)N|zP!7tD^P2>5)l2EC;tQqptka$$qxt=9fA)N#xATj^;w$x%HLgy;fr zSGtVSV$^c)fu%O&&W5a{d30IYE#Ga2xY@;RQ%!Z140c=rLQnsF_AO@!VR#ij_0aQ) zQwpJjjhmLMdN|LN_+~zWt3p`ID%-j*heMVvC})w4wXB4Q450ZcIubZ>R*);i`A3FG zAy<|*3kyP{7hkEKxJ%tx6*`!3$j4N95~*DVopuBzD5AY8&`;dOY7Ve?!$Lf5ru^@{ z*X(b(Duf>;!+*Wsn~yEe3%Gjaz$GBPwjn_Ag|xiH+TP}X!Y0<9e5lGj?~zpj$YM4) zli!@oaKEr())SC~xo`s31kWL8Lrj)*^K6iih2*Kr@aVFRRqY^S$Zi^8>ER-gB zzx5l9yVykf+AyZ=g?i^mx7^v(TyW%WzdHXK@Ku;oXY`(Yx_t!1omR|q!QRN{zANqP ztWeq=Rnq@5P5VE#dc{rox!lqCM?N&Vx!NZ|BU+Ry2FbP_JQTHa%oc2h?5D(6s|WcC zNwv?OPy2GFOLokOgI8<)z`8_|Z#L=HU1V6}k)x-erTf{6* z7L*__G8^Yew$iTU$N7NR3V)xI<}YNA^*5LWakY$dC&8zOfy(C_C*&&X_o{ja!b{k& zmabho_}-)mn=Eb+D*^C+=le1@B=JPrjhBk(As!i$e9LU2EAcN-2X;&7+U|HmmYB;_ ziE-br1pr-mf`x{dlDIXq)s)#43Op!ny%)F}XY8FT!whuoL@R0LHm6xS3$b@rv%p+e zTtNI4CGWe+rD`&gT54=T4{cv-%J)hwSA3D?9Jlek6@8W2FO)rH&);HL*K3om_xt@y z67wMUJ;j3-C54n5rKh-55DxswWA}1sAH+YPj8Ig z;#ojZWGpiQIawh6bD*RWk%slAE>o}>OzN&_?e$}*?9Ak8ETfdW}%2Yux-nUn-6 zjAiN8Q0*vk4fo5j8W*cm1~ zNd>%=vdg_SX#>WXHnNkxJ}FFd?xrANs*oq<1^mj_5=h$Vwvu7@$6-8WLaYFiLr;t| zXvt&zGO2){ewa+HJHv}qXzCppcXJ>x*edK$`k$Kf>?>pG7Ij@mQVQTR(*EH-mjI#n8}1{0?EjWpk8K1~c&qvbIq3ydo}Q9L z2%(U2w`x0_tUru>YPScSs;AXRk;e>rEk5(%Z@=F8fMvohvcWL${w4y&ykEjLvE2px z4U=-fX>}xUN@N36Msr(UdXtj@)ZX+nDOshM0zsJlI>9*n^Sp-c*p~!wd%9J{;Kft| z*r;h&dYH?xTJ5x&ec%?2ullX3^y)c%8+71GE~!L`jUVo}iZ>-F);>4+d_dn`7xbqa zq^ea_#%S}76&zOjC;bpmAMv9Q-&aYo_Yu*tZ*|?0X(>qIfSSGYh@D<+#LS@7_@=c! zx-wvtJ?8$i{eb7PSw?*_YNhp^)UKw<=4|fjawEQj1jZ2cUCS_7A~IxySozD|@h-z4 zFCX~}NY~k1gV@3!5NHg;66r|~hM{TofSiBY*<3(}A!b?+)U;u+uO2_R0o4Q*CUem% zRi4W7mJHiUMNoWl5%66KbX1&EuWibkteT?#012{sk~|!3ACeX!+%|&Y-<||f%j!+x zix*Okzwdm$@lR>#3I0fo>PCrEHQ(#lexO zqGfAA##AggtLq=x3I0beGfO0Pfn>&2+(&mx-)6A=;KwE3Lh6kF%q?#3m2}rX``5$+ zgZ-PKLPn+cZ3lj|lthp-7veWFjj7?Rqx0ao`I%v|v8LE&N(chk&VHDEyz=#IvDx1* zYsU$d-R>Hb7aN`1FP?CIScy**UyA*C@)pt0*r3UGzN#AT$Imn*m3Bi`2S}8r|GD~C zA~xHzxw>{IaMZLy)Jx;p1~2cY?|nxr%|B&IfARdrTmfOo>ef|SXj|`iWo23;g=yFc zfneP4$IJcre51e6F4E6?>Tn_RiQbr(-}|=xJ(_?IyfFr;qFac~o#U2w*yi$D4ku(- zbV_V{Ku`1%mjZ=ebm7&i{?Gr<|E-|!&Hm-3PrSb%%;g$5s2E<*dtEf{moO;sJ9%Kn zUUuQ?N(p`snByR}b(3bV{E`=+vS9vIY$T3z&7i9ON2^S3b`g3fvwkPvVCHq(1Bj-? z#WGOO0I+|u{jZocuisU2g>x`iaXF(C9?no+P!nf;1{Mi|jWZr{8A`p2A}=3V|9y7( z%wKt$tQbU+;UrBad-O5Yw(SHF5q3;?9Uigs*uAea_*EFVWD8|5-p?658y_3TFsc~_ zWW)11Sf7M$K2}cPjO2>`nEhvYyTF3UtNMDJT>kC*G3(!EX!iqcUGEVa;{Bqas{oU| ze|~w2C~SaGaUPPHvtI(IFwR}sV@yFKC5Ob1M?|bL%b`_#qjtaV?jKSqvKJ8Nrg-ho z;T7`r&iuna~E4hw>;C{V_w&TnLv?&v~jIbJz;{!Gr zCw#0@hUnDD{qKOP^h`gDGyOgM&0}V_jmVmdefid-|}36y~&QTqxY+RyKzvQSoi*3uS_N-lfR!1n`OnR z*eXqpRF7(2f&tq*;jB~Id{eCDz1zKW;O|V-3TJ|CSM0BDR*L@`eJE*JM^&OtMEDPa zvR%lZ{XT!6WHjs?Q%cMQD{C2j&a4W2Ue5zjvTEEzIRMIFxn%caJ1zsF(dtjFe^R*( ztsY6Qo#>NyLPk6}_tDlrz00bvjEb%TEP}oI%cf?QfaQIa0kOpe=N_VK89eCh;MXIp zEh?QRH+_Gu9s{UdSB>p{cdXb9f)cIYZ$)c0`Hp37&gr*p`ceh(1)U})3jbshH64d9 zBua68Ya)^$?jh)O){?+V%ZGWGZfV@=l+4SzNz zm@1c6;eQAF5i--|@v^t=>&mdf4h{k~TgX@8;)!xc}>MM_=kr`R+F* z@t*HwJ>ADuK8qpp=UR_EWQ(>P@Nw0jM#E+v-o70CsVz4lZbC9%duXLxJ|L1&Msn#&ap@S;yzSgQtRg=uNu6Z5f_8SgCUxr zdY`#uR&I}-eadDILC`E9{bsZk_`jAQ9bEdf>fciN@{v11>X^Daw?b4lSgdleOT4nm zn)Ly1bo9QgD-GW8D&vpjzBF=R$z7DsA#(x}9}e~(GhjJ8#u+^D3jkx^zzd7+Jo^6g z`QYTa>XHbZ_K9**(3@7UFI68lTWno1>B_Qz!ASXM_DrL2S|(z0abe#Yh0mqcWmBb; zUKOfuR87`l5;&3hB;aWj|8`OD*O%raUHzLl`1)Z}JsE6Zi5DtyPCtCO}O&>=74nnwy_67(B9qlHXg+QkDgK}trvqL;er6qwMS=YoHi@jILQvO3RY%*%Pq0iir&%8a&dMz3xi6$Ux%bd1D4 zDOo22O-z(hF6;6~dVM1J(@6{v>h}FMXY4i|0%s9OS6zR#dT$otTdiUjyvr;fw*v_0 zhhBSLM2x-|$VESH`43vf0u0^}=k+J8AntqlyWug?#089FN`_Jir@rS?$0VfRzdDt5W@;-{aunX34}?i1#--#vcJxDpdo0jJ-j* z1ODvTzIik%RkIRJ_>VE5o?p4@EQa!^yZ-7|9`_rsKLmuy60>mJb^{b=!=ZD~15IfqlH75OHFJtp;+daEwMPHyK z6Yf42@PGhc+v@fPg1^U`b6j#70QaYq#apF9oR|=N`#D?ZV4ik3En9OSLU5fXvAKUq z3FAzjNRM92ZWUDu@5zzXtE2{7m9t0vh~Z_f?Wt}8s|KI^nS|@IQ?7u^{;_NE>((D< z)cc4?31Xs})v@SrS-$PRGFNGTfmz@*zVCzCpmL zz-xhzIeWLM*AILx)&BFp5V&}-uk;O|OgrH#QPJc9(@ES!%@Ujkd#>JhB=GTD*6CMY zawNfe@qQ&=#ufVYhjW&SvVXj9Emd_q+XA8sg2VXag`l<(|HD3qa4WK(FLv%(2q}Uc zC3vmOsQ7F~v0r`kLUj4ep@@{~vB7uR{*K~}O0Adn5(V?&*X;iayPZ32C6rG~U}=b* zoa{+_AvwVGgZL@44P^iMj!sSi6w_{-oi}lWtImS(W0!yX^9SPfg~*c@9LCdOi9mf-XIiF<;oyu&H2d6I=l0Q z_301zR@_PEsyW`Hwg=)Fw2It2`3%4zxdpa>)oXmClLARt#z%*!hb##>#tYiTee#hc zPO1`;REd3a$1w6Hk_Po95VEdWORP|IK%14+6RGaO*mZknTUDk zA;D$gZ1#0`^hueG@uv(Wi}Q$#sUo^_151oee2;G{ipAQ&y#SDq&*hh!-h1IVi+#7H z-N$Q2QoXTtg9>K@rk6H1%0f%dh+(+J+=;ZHm>;q6%n+%MtiZ6%LvNf(u!lgl%H>#_ zOa{QZm|M|5EO4dbrlhPi3*oav09fC7Tvk@!fG~wEf8;?b$~r;Iw_>boO*$ZRo|}+t zg;X~)BF64>7&T)IEeDpPR#xl07->DGATq`#JK#Y$N6w_=GG+UNu33g(G6wCv#%d3! zK^MXCoQCvIMX;cA5^+pW*btO)TIi$FHdEGx$NHL~T1p^X4n(#}%GBtbyBx&+tH-wS z`LfgAA71fhvJTOve-7fbB|_$;Qs# zlPxiRsOK`;7mVpS0%*vBm!y9PTH1WF!Xz2{lmItDnN7;`5g{rnUVLPUYi-LQrYWs; zkw~GB_&MyTcB!H$z|N}r4@1;8VQ^mScan$o>?ctCil4777LQ`K^Z~R&4&* zwx&c>08VKgQ!5#ahiTh}mjQRe2lhU`@01NPAsVD&xe#q2Yd~I<*lJ75ur%9-SAVW_z;^N@QW{a$x@Ni+t_4$G`o~w|{%6 z)SEv4IV;t;`oK0M7%qMCqi6f}r`J-s!4R~@hlLf(=7gKGFuu*{l&)fkInNQqjGUni z#xrkq(-BN6Z)Re|ztWCT{(P}@#PcJ^X|WfwtxB6Z+ewAO{^;fEs!i1{seXKx#XzyB zH2ZXI5oa$D5*SqxmEN!A&+6*W-c$pDt%m;QxmK zw(rNY?S@La=j?KPPR$&yp|Ilyz4@95SksT4z_8-S-=E;o-*wLuqVVVWiL8+OvF$P_ zR{F6!%!S8Ju@ciab^Z7PTfdi0kIhWARpcZk z2v;S%=})JXsXxE9$R&`?VzTxz7g!6zqFfo?)7LVT?io>KS47l)4)mR2#1!@TOE~x1 zy#b|q_T(oCl6uk>x+Y^&rm2tsiNUZF{8wXKI0F&Pn>4oI&6{oRX}@+o>2zml2MGQY zvsmf}pA@UBZ-!dh4}MIu<;rK|ulWm*a`{?%9Bv<_F|dise*x(>(k=*d*FwN6m-owr zE`ebE2oYfOhMgeu6ISY0HJ03pV8?sOt-Y7B;!h^p8k|>+9puB_SS@`i1|9#RfU?r1 z*F95Sm+af`khk#2gX3>~C5$=)ct3%o2zd5`uOHCvFjWaPs;4y`A@8h8l%IR&#VnNH zAt?EiM$xMPZ5h_mIDfJMOBPf(gCQXC{eA5L#43CSZ5m{}`!{fsm8Rp2Vi)LzcA)eg z&~?eQ4aKv`pJSOGjFB3SfD*FHn%13TbrS%8f1j}uiv6sBWXp$^fO~%p2JgCmN4#Wk zqDpG|3$N}|?U7TLxrdc3f{+n1wCcy;IBzvuKP1rOJ@xt7_Qr%S5Lx6ddX$OhaT*~H zLPUI7m}?8FmGqDeDW#lB_5AFw|ALj+?yPcjwvDGJyYfP!R4diRmcNiGR2>Zr^YwUe z$2(0~Iz&m%xqQY`Y&~dCo-XdKk?q9(o(ECi=TbtKfqo_TA$Bre$gOtNOt-eTc*yuH z`o)>{@_PtyRs9U_PzQg68bI{P*R6ork_*A zz3~C*g~fPMMxq~EjIS}N^q?P{MS1v=)dXkVvL%?<9up=O%sL?cVAtodEcTc*nrf+A zFL%D@u`{g4m* z{vnfQCgdYDGu$ggutuZ5BO&U;)k+zw38Cb;@pBd;dSm@5eoa?>*lkkr@k5lKG3k$N zxHYu2A~@;dK&KCcf9SM0yFs`E60V(-z|bjDm?UD zAW)SdnRwA*E(F0xg`9hs93LV6tHe&cP=D?tj$t)ni^m^uLde3~$b{Ld37KnuQHL zCj2c5*l1=b7*_clH>PZV9Kt{_lq7~EerE~2OG|L6uEc$rm6Sf|F6I;<6V2zO(!=e< z1k35ypXiTN&zy}eWgdYpM%c}3)>WC^AraS$zPZ%<2-4}F=mLqHlA zL$D^BLm+fKi}Gp`lwdM+gb#nHp!2?Q*xEm(dxcP8HLvMhmtglPyQ>!g zfl-#^6d?hG1E|P*faT9+&X&BRbHAy-VPO!IS&TOfle0NCe*T)#+|Y_~sRpcN&4a^p z`TdMkx0Ym?;92s}iq`{V!U~tP{{T^E`xFIvI`@vwtX`$j5EflrZk`OMDoS)k>6yJ?U@CHzGfxN;z46)4E@jR|sUV;Vh5BrX)a#jQ_|{QP$lo>S8Uo)H1a7hC+F*T>ftgns1{k8x zp&%gdFSzNo&)tB-k96uzpjzCgds>}1OUCdyJDiyz`y*3J^w)A5#|w#8GI?kp<3QhI zJxVt;?13~MQF7|O`6;j6s+M~@v0dGfmp!1FvU3sK6^R8cL}{hTi1_49g_*_M)M}gf z@6wX=unabKgW-Pr+W(b+*e2=GP8H;#b}4`U2%8alBHf=m;CtjeBytm*vX3ucjC1GJd zv;%fc(yoH(KO%PdGm`ia)XxRiE9TTgiY9_saEWJG{A{cUmIu3POhin7NxTFuH=+DZ z!Vt7Y_BOMVlB#~sIwuyflnt|)qNkGzi1C^3n?_5WZumq6c`~P;&XPaQHQ$MW8TCJ9SEZ9jyZVR!nG5(y&&K)8eu*q}r&d(N z@e)h(r!|8d&(YTB?mJw7;m0OdrE8|>MW4`@;~kSKgzU89qTIhUjaBr zt%tt7l+L}<1@DRzTPc+ci&JvH*WUMwAw9_BF{b}np|vjaedN-@^bPI)`LaL~*L#B# z^6qMaVxA31ph#dG@3hXqJ4?CRw^$X1b1$69ruVRwH8tt^DM0up`-HI!EEEdpQr!PT z+Sd-PpR=yZ=kGrLJI?RvFliW~{S2~a@)&8=0M1GWaI)Uyccs^!v}KTp&!&fauP;zo z>3Vfx^Z?tscgzWvBHK95TCN>6!-ly+1P<09vLE4ttr8=3%qL<{GZ-v3gF zF&)Ty2*L)*~w<6il+EQ~bm7Kco`JtUA}W0lOZ&;Q{J-*w;l{G#z)-Q0#<6+<7p ziq;+Ur0d8>J2@ORrp8`>@I5xn6|j5W$>;9kIkH++^uPk#B9d{ml|0575kAv8*YaNY zVtuMV8TpPkFX@IQ*8b>{2_`>U>7Rz(=W-Ck){V*lGO`CAdgMcB0*-g;vLwQJ-^Ghp z7r6+0L+s!vl{T#684m~auf%@(^R;O+!-gV*XP*NcILHamn3m8_f8Qu8N;9KoIzjdR z_uy^f#-akTnnH!(NGiK4%bR)T6DCCI*xBuSCa&#CKe)xMFKo^@ily zFY_wtTPqtcjc4DsFUOA4$?4~7eA=3ns@7ouCE6HdlnYs^zb32Pg3=&f8auX)-@!g8 zxJjuR;Vg^3YC+~PRMF;`^`|5-S|QK)u4lnlpZ~#IV3+;5Rr8~ppMOlGVIK@>+Xe3O z;H~+Y4@BJ!p#RnN&*i_A7sf~+OBsmK3w%b@dcpnFB~}KE0;Z9xlCpV4KX%&57=rxl>^p54Q$?k-75<(j zSQze~1U;C{el$$`Hylq2{=yR17j$Gq?iVOHsB!C6>xTCc08~J$zx`BNo5avEiHZYR zZ|Z-aV?4p&LNS`!#kjfqZ=0NPeH#%Ze1?XS;lkK{lvV1{5w8PS#6g?x4gy zn7@%2#+T0eCY@G9Q>dk{?)_1&i5iU#d_D^D3eqD-IC&O{O`faR0JpRkNj6KuecK@ zHXHq}Cm4P|c%V??I-NS3|Dz|?QzxP_!{W9DJlHR-9M0LsB=gYqRS*RBI$Q#0R))L( zV86)$#7^`N?hBDq$T#=%)Zy!r<9SJUE|KgWGENyjBKcuE|6=G9 zt;j)sL5PJV%wF?-zwAx(fd6*&CLNOCwTl42O$F(Tdoj%E^H2b3y$bwN$%E>$hObJu zr(DuE+C=k865nhYDydP zpWzJ4Z2nM*(F{BB_eb#%6eSq4^GL<{R2l#4Q;4v?4&H%X$%@kdw^~iIva1VH11)Bf zrTbIqbwARRN#*6f>yj7;gy9c{sx!<>X>5^sO{u%KDSfrPHT|1kK#hG*z`G?^gp{(H zYae~3tnF7R%KT0Choy_cH%bJ>QJITCz#s#qzkFXW1E1CzB`N|I>}pQC={(U@rC z^&nk6 zP(`nPoV2S~_Suueer#o{qE4)PLq9J zLvl}_n z`E0{y{kXr=p_2O5Oy8}i=Tk+7r`I4gz^XqTHi~=CKfWDehU_0iZ|MtgBr!}PJ_dV| z=39dQ-Mza=AYih-4}(~@@m95`vxS{-b)MxTXPq+TrW~J?5ZEX7ZIG9~??|w-Rr=S2 zV=&h{V(!OW_HWN`f$kK-R#%Gl^s`gb@#8o@XRdOJ%G11*B%}{Mv ztCZo_PrH`Iv0cTN-v809i_4q<|MoXaMd;Pe%ciA87r4i5y=79$Vie-um8*qcun0Ii z?RDBF+=A6y^=Z<{VxJ4ot+YHjkhwnnrE+RL_hDG2 zXch8jc~oAoX`j!`MxsOr9y{>0cKGgnU*9TA>rC`zS4#D>Sre0|?hQvSMN;G;PGJ6q z(A%&tsQ@f7&xo*PhaqiMTD``2Y%ysnm@$dU08JB;t1E{ug7w%Ep(nwaBM7Na?LA+J zXSe|IvzU)Qd$e1w&eU8i^pXG4FNvRF))|!ODJ}V2zkjwB%osQBM(*~rm#f3D6B|u6 z!acZNpJiJ&QXM^=1BP57&gj@T?5N3B+DMAo5qdxJhPNB(Y`us@I^@yD=hT^Xw;1f_ zv%xKe{TghAP4Zsx$n1;!QDiu_<*u~-@YDwTyJQ@lS}p6O-Rij7Bg+!syb6QLO9P|h74n(bg?t+%C1L+xmp!$Oesh=R_J1A#~e9`H(pOXGcYIzWzrYNIdXI6Gq zvNI??*9XOE6~muk_NnACsG3jk>kPX~c$3j;AuyHR8wY&Zr5ffpeV{b>>IMR}GZ4W$ z0tiJemJDp6t^QhPk={5^c=XR`)H(0fde0^ia(Y%ZEB*8}`}H1A7hN3sYqe##zp`U_ z*8H$DzU|U0>Fz#)?`IaXAJ)Bhf*ID=`yR(VMw<|3b%ww=7e<(eU0((78$;grcP07- zX%Preuku`ou)|9^e@f=RAtd3P^|53)imE?h%YFh3n8X!942GQGdPC-Kd%(sfW7_m< zOBtLefQ9d*aU?qDmQ&u8r;dY`uF}idZkaU57Rb)$PkHa}{=p0z(0IZ#1V}ylR+tn_ zY|f7^%?#_&%2V5XHa?UuOBpoeC#9cKUxrNqx-C5q1Kx7Y+(6~|9`sY=0KDTyMW3&q zTbsUXo27Sm$WR0toweoPDJ%u2c3| zka44%#Zh&E#SKes6CNg2k~yQ&Dxf|!rgG1*Poyti$OWo9O`rT%eV>W)09ZX0{oX~z@KziwGMZpme5SK{-&~E7u6H%I&$iNf z82cEV7u83xt@*o}Pu>M#Qq-`U!2TTfO7#9ew9}OBKtR&(nRQ#vA4x+mF*Z%4_n-vY;0)v{;i6)veg(2Ytj7s2+ z2A>4vhtSTjQ7tobHh>a9&4AEQE*C`WBX*j&?Q4bM+PX}%X9!lw1JCBGe7tFkl9-|w zu<~=nRP{_<;4!t9&oO>`cJw=k(z@yDE@lUSqqDKd z?`jO^-)~pgPC59;=1Qr8ApYE;%FER%nY**tu-VLK5k4TgDOWTEeN^alzsJ0~;038t z{p0*{c_AlBCat7;(`rLSO05%&W!vR*DrL^kpvtAkm4!Yqd=o#9Tr2|Xc9SGcT#*=( z*D6k5{9@*s>0N2n)^?2%@Dc;wqcY_MS_+irarYH+U$O4a;-x+}SJ0`I= z|3llFEXQ0);FxR`f3F#UX3z5kb|0QD{qf}lmmfe;C=}zXw|06=Z;)H@#s2QG>#)_9`{LiO+090MG_Ze#VW@+XT$+Rb4H?1Z7p_ z?AS*x^fAbn5lKLk&kEVKezB2*+{wTIdIUy~b{~1w8M6|qO>}6z3T7>L?gLJPKRuyH z(my`4`cdX)beFt}>CsSv^aYTv26zGDCc1dvkzD^!iK7{YQfw4pCIQY&W%+e~q6nHF z)$45M-3G}z6X*z$K9EMK6^`K#Z{>yZB&f}|y`3B5A1Tm}h+`Zc>nQWTZdg`8P z;^1p2+61LZrbcOXWu$NEpVPERFIsK;$H z$Zvn{^~1O!+MM0${VD;XA2tV;6>T!m!daT&dGqXgG%LNCjk0djc*pZkit~Rf4-p_i zwpEb_U9Womle4?s*e#6Kn4HT!fjKa_{@%-MrdliZhWFNGIg>jHCHNdj)4HtR8ExAx z??rcoPR}x!5<9x}voLrrU#+qPz)k6hJ6+-azx^EEebff)B(!P*6mM#3V!HI}@&hiE2l08~8b?l2Yb5K)%)P z|F2IJJsdb^QD1<(y4e~I@W-}b{Ff%d-2yWB>{nJmw_m(^KX+vRP9>d7>-U1yNhbB= ze${&861Ad*o6j-qs@smDI|J)!JtjA<=RH{AO65!YkJ%T1NG+|LwTMA{JW{f$zNAu$ zL`6uB2^m-rAroA}b8Lp}eWan~f`=SGd)R^Wy)M-}E~LC5yXfHropjL%B^Id}pL zp!NB73E6dJ!GYpY9QP4PXH)qrAJIoIAXwJb^Y6@i`qyAXd_(?@^E?dD#e{H@Jr&<- zfANobSpSAOL`nv?lQz<n>~^h0ur>W|zr@?NugitOZIkB&s~v!#OIfL^7n9^EVJoI)su`T9NAvAj{H!g+ZX zLoUXnV1@7Hqk`?{QtBkExv~kUE0ySa~N6m*-Jz8%rBr&YDZfyLp-q) z$k$a(?6_qs=Qay2ny*V}%9(G4@d`N_do#Med*Ud`?X}+iB4QeQGn3a40r>a$Td&9~ z&HOW&1bIlezf_jufgY@FCj^<*B@VUtd#gjpt=ef)2W`ceL=WvACcuZNU%!v zP$g9Hq_)M)xn5G{3B=8Pg&K-r==>M;b@tc$+0%ShuM#-b#f~YP6$W4lR)ISt{Yoj5 zy*~D)TsuKKr3-N)ErRi%n3v z0PXZfugG}yexO>Tsh7m#<)&_6jo+%1EJRW3ChjlU$^_T_d|BX8u@}|~l2uz7ayGRI zuSj1lIO+7eJiru(rj6wb@osjgJIx@=TR ze%G=yeoD@iBg5{aeZQ%-+?GLapYI%G!{HtZVVNyRpQ1du@`k0m9 zsMIidA30F{$$g>A@T$jM*}-6{a|8=YEDp12by;Cs0)7=IKxu32CV&6+fBM-&uMEzm zV#gpME=#19_jJ?4x|~bCH=yC?^E=b5BU5oG>z@~AJtAQ5`c_erT|Mw$(&l{DpRO)F z{ej4-)}IAOH(|NHs*WwOdhoMT=3xLJA(PF5T*fwmnW$(H_uNeWmavbIk-J|;t=GUt z?aW4=S6UA&jYH}0n>N=juB;iTRjsE}CG#r1kMTQ;7fySVNsaMYKqh@X;soIM3EQae z3=|C0qqH%oyyx14(<0A0pXL>Eb^Y`UX!IRgR+<2>>&I{Exh#J7o*o70(YvI59s(uK z-=!1SroCZ^gKv5&qXg49Xds>eT=OPaACn2i1`V=-0XiolJV^r0le0?JsY&K#NpY(7 z=J1SP4DxALTd%qRT|2ZxPz5tGj_DWTdubhNZSV;&Ysu(XPsq+gR0<;X$VdT*IUUcD zcx<=PlWJWVIB;DvkBXI#3&9ZGd?$E^`v!+CErkZbO(o!-QdN(CMkDoen{7e@v=Ruf z^k=)?LuOBnNgLa*XGOOk0Z|96XA8sUq$|b>sQ{?_(&;NKbz_*{)5MgUrE9P--l zIiv0wNF$k4!hVN#12##d+0`JR8tI1YR*bmf2JZ znhWwJ8O^o+X3pO*&d^msKXVDJFFqT`H`s5N#!%i~RA32w1HqD3TF}In1NL0p(~Oi!@>4LvPReX!_-)1)=;Y4 zn#71n%(VV|`N?b}n=8mqe{R-OW*|Rk_vak9BhcXP&P533YlYkczgE%MBYEalz))m zbmJ(k^fnGC3z=^lXo6ytB{}ZxTrcIUB{J=Pm6@EofBxbmDX}ZZ-HXlGb0l)GfC zla2OlJu}a_-zR?!VbFi6pjK9;Rqifx3Z`5(dgMolnfe?a=dc)eXS`sFW1(|aZ8+T< z*o#3RSkhmaEhe*T#Ncwbsgj;=Bx21&wwE8134y`+ESYsX;lFDEv-lazX-iwK7D%?$ zJzHOf+h^3ezVKP*I7pca>RDfEN?STIqkRl~xU~()&e_SrRx)or;_`StSF^GcyiIe$nN&8E6K|9G0Nn(YoWuC#= zFaxNmFQ}H}(!FP|g`?{aTP5vUf1Zmfbvo<77}@FPCn%IM;XQ3uUoWhUx9y1U!_K-{ z(`UPP{d#<7I)#c1r*MKrX|~k-j(E04&mEjR{{zT|%@z()*x(Yw$~HC@;f;UD+z=%b zU7vleF-qo=4a;oZbka+3mcGK`V&Fshi)6_KFS{Wn?heY5O`U!a#ctZG*o{< z(XOyl4rokh&zI@z_-^;w{!6>hQfjF&v1(?5U{eI@O(xL)zHb?qyq|mt`DP;RU!B0XC zd(W;J2VjG#P-%RuF{QxXKFdXKBz?g_emx1M2SS8QFrmfCSY;;5jNTBTY30%|l<%L3 zgV^`i#EH-6RmyEPz0CUTNwpxhzz1Jq-gnhr8Gfw@oKbq3A9`ZawsOQ7_pJ7r-~Yvr z6+}b7%F5TXab%mF9rRzApiB1EPA2wfHTp|tnaY?V(PPg2Rfa2iD@$x_Fnfrjv<%yR z`ObYlVt0IowWeyz_5<>h*ygD{`{$ocWc%SHCoYFDY}~%wk;LY|oFke0#9>xhY+0{f z+CcoU@rz}`$HJ#exFTWkeRd50r2TinaDFtg#q3h?t*;vG{dJ-g{xsErkql;xgw ze!g3KkR|>9dBRl4mh@Fc$XJ0CMe z+1yw4Q*D7=6lYEaw9hXU9;j&@l2y%SZ1m}$R_fh{K4(wh^?IvB_Vpd4vYuwWLP?Y? zbI}Qi((jMd5s*hwg|zb$xf>A(Nm(^!BWZBzUZ#M#A*1&Aj?3*7R#fjyHz<1a zB$L%ql#m+I*54;bBCF|?1{o9tWES7}r!5N1YqhNY>k72xTy?kg2BD%rxal_TV*%VT#lGWm#f~R_-Uj1O4bY%Af2|H5sWTc$xYfV&jzXTn&&O!MdW$&am|{ z!Oq<1dbV8V-DmUs-@Y}3Rq@|@+^nAB+5DYX4tGR=mLG=^NIZNbgw^QFtBEH|(J!3*h z4PYESwOxD3{`HU3br!JrE|X7kh7TKcR=g;Iq)Ovq7J{oZEF@LSaKrqE@;^P!Sh0bn zm+cIa>PcM~WOj(i7C|3@%ENa^{G4sU+iNhgWO}-kwPLHj-pFPa&p@`^Je`E+WgAyA zL3AKtynfPXz!Rvg)&Px^PDg`4j)g7#7vfBN{$*y#06G}ypU>#^J$Ew6=zh_15^V}W zHmM~o=}KVt^>p_#P`jaC1@SS?$Tm8@V4UIkgb#T){k$P`^aXI7|4@RRI+5wjAVNNt z;4vgz6`4@!W-amT{Uo766{QA$_GNV)0O(xi{1XKflZ+SZqcNCV^rwb8@{FJ?!nS9)I{% z{h6zERPhp2WrophF5+3WrGBYm(*rRPeJk)ES|5B2!8-V-<~@`2QZW-qt(!}*oKuS_ z`X4S=?`64fLyvOSRESK@``eiCBuO`9{tm zk>i$-%!!g#^GJPF&KU9}#hB}&l}Q8iZ`JmB86ZuyS)l}<|JsB>XCE@KFZ000DvC_n z_P7#@iXSStD$mkiRo~?N8~NI~EV@S5Qg|h@i)SHe=QhCwvxy#e>_ZZ0&DoL-j{{E? zh7!MBmBxlow+{^N2fr-Y@AOJ!hLhu;cFRtSc=NNa#`=3WECwgl@v2e1!OZ-(!JZpz zgYF$E;)6HdN~^_(6eN=f*}T_bu{N=|j)2HqJ%`dCuzMk>Oq3)($0l(vsVE7)C)Xka zH}>o+?QU zFi{j%Yd@jH5 za;dK$ykfvnG;e8_XTx2fhasZu>rZxEUv}!VXSH>ugDFFm?5txbGcZJw_UhkZOnIgb z9azsz+%8C`M-IR;k=uZ9lvPJhGRN{~`1wAf=-KD1qTufw!vKtNUTNnLeZO^6l0`W@ zFEIt7!q2kfvn7Jj#%b>L8m8<{vU50JRw9T3AdBH1WD&QdzxwIV4lzVVtsmO*k6q{I zF0)73_uHx&bxKxoGy62Irf=<5(SK;r*Q98j;U5gkF}x)QT-yiU#rdYS=%!k!JXc4y zHQBcDY_q{(l=d96*bi(d%y%3(<^OJ5Z$0wf>kM-GF*w?8f~dYfOTTCI!A9p{eHC&d z0~MFwhVZZ)x?OX%e+Ff4e@suIbxNAF`I0PU#sGHEz@kq6Yi;XJxzH;qgC|=diw?d2 z0Q(G@yI}MjT^%7(oZo-mvp(QowBOtSnv|m^I0^xT4cvOD4Cn)Y>QUyV6hvNtk@jZ* zSRP<)Lmmi+OpLB~rROotR0{!Z#~P5oPrHiaGB&5+&e)-14}qO^SPWP7oRSQLj82r0 z+x_N`WDwdLkW=yu8vfZp%>kL7kBk^V)B`|Wv_GJx@SP7pW-2}~pr|OlEwAsyh!w_W z$;kD-{*Kn!+0~jJHGE-Z_@d*(%}0a z4z84r9c_ap07^eVTAbewRcZjKsg$`JEGDb&@3&@EwVr9E?LHMe-ooJW+01-Uz+SK` z8%GiZ=4poKtJs+Uv~jTHY8Co}D?|@}zD;(HfEdDk*KIgko}sX;CcMhZjt+yLDE%6O zBUhm5^xf?*2A}RGu&zZ14Ep{q*hsJ`e7~DBDA#^hUQ--Ed+IL}p`vs<6_KcuWegLW%_ci)Dq46%{fUlBEM|# zV@Q2<2wr398``=59E=cnT2%{3I>yJFXVlL|F8sncS+q%5Q2lFH0rA1Cjb|pEg7(WK zj?}2()|aUq+sRCgBalMxTSr2ZeMQDC>thxE?ArS0vPG`A-@vh`L*@>=Bi6VIc>oJ9 z#KD<63vd$W8On>Wf5~H^$2CWkbZmS}*+`;cE=GwY?yCOZ|JVQTE@(1*V3)N@fOi~@ z`n?A$lqzQrLi^qrfo{QciY!xw9pU9ySFSkXU{%^@^ytyNK3q>g2f!#SP4?{;&cgk5 z0hEfPbsaUvh{ppn?7Qv_QYrgh&C(~Es1tyV6!h?$%72rC0%bNK>D(=D|Y(^+=1JL@^siej_eVWm-#;bi}xiv z%V1z@8$^(>FRcxgWR49V+0e*ErkdJ^?Pa1f4AOgcW1o4i70-vW?+=7*1wxP=!H8Kc zY_xx;_v#NYCwkOyTD7dAIeF~!MLy7fCKA$iM8bbY>GYR zg$`E0CjAQlKV3G@El_6Pk*D^(zcOi8FGjj@1mFEU%^r3@M{Jq`LKBG~A22|cc`h)% zZv@E%R@G)OOexu31w=d_yS=AptLwX+brr3?y{X|3W+l119jz84?VvB#S>F#>FkMu#zM zlS)4VL;36>mY%ae&W<>mpg6y$5w;u`_DN;JY@h!5JDuMM#`8JFnvjXCMkc}2hhlIqT#%EE)bFedsh{48mi&buv z-`AgZUiGx*ZwQR))9>o@(-qQ(N|adEVAXmU*nR7v@oB>6#{TFslRz8D<{jId@o@0U zl?Sgcd)^cDfH`gRS`X_#Ri0UL8B`oLp|TCwPqIjoE2H|Ksw^0rZ%2T>sl-rkm9xmnO9dq#4_lsfipSD6Md_|B<) zMrf3ze)JFUS!6JqDubAtEfz7Y&d?zQe*XT>@RE(CD+N*|yR^)g;!fAYu5!1|9_m1> zs~hHGl7d(!^yR4sTAowFvbf@DgT zwR!fsASKKBGEAsz;bvlJ33#5q{w0d+ZAd`E_6>W+VN;FE&y-;>Dkt|%N)WE`|hfyJ|GpB zvdPAvgPW{EK}huY+1lq-v{U4FY^ogewNk}aCl8;y3lJh@veG^bV=H7#Qn4W>6)(~A zZ{vjT+h0@4j`xGllpgx?0Y3i$_SWg8lsMLZh1*T*$XZ9|C;Rc_r|YLB0kBe!t9n{} zWOQ^g!B_fKCDHEke0EL=nCTy_!2g`{=MlR=Io&G#uhM{Z6PWd_rn=Qcr6X5Y`Loi$ zp3nBwmubmhvjT4^pa0qqRQyd3^Hh9S#%3mLQc(ny!2Ts@G}>O~87&qmHo=cWbMngzudGbmp^H`{@9KuUxQz-$^i}23ty7kJ87h08~DMdI@D}w(kR9 zvQ!n^OD*yqBbv|a!wvzYAULJ%(d&Z2XKmTAeV_lff;Kt`K^hGcXSZ)V7?tIv;+Iwz z*rMuJCcQQ4K}+uZ!QJ45n`=>)BMb)S2$H6PyHwd?nji*53Z@`7UCv(?d(2e z7fAs0l;$-)9%f_dZwMqZ4}dDL8hHRT)dkE>nV(7)S5+`zj*0?tqOc)8)^`sVefjSY z@-McpZvK-uYvBj9KSS>jD!tl}zxB^Q(^9o3)GuPYXTzkRnS~q^dK)$z5z@ORNt5*t z@qI}X;+*75Ub%W{AnZNtoOY=4-#fms0rGu)cy5J$L|I&_;k$$aEPPatuDaq~T3_m) z&M@bU?p;mZk)|U;;55Ljqt&o-Gef8sTfDrBl=q$Q`~>N`qrdXZ`}p>F=qchm?CC{c z=UYwwbh)bQA=UxqVnkxcjc+#D3v5z`<(jIoL*M<+~YH+-l5gMJKJ67aoQvUTb?C(~*Fo?kp&~CHm3uM!WCI0^t zFoNOxWpb1GEw!@C(x@7xEEH_F z5UK)14=_A+3X)*P_A~6qD=q(L!z#t_I|)B^(QG=kT-Tm0J>qKb_^at z{>s612Dvo)9SXNZX<@A%g2qwwOW#iVMxv$-3M3Di>~bITuB7J(2QH8Q_6NZ>CYucy zjTQ{VU4WytQdizgd8jXq0Bfa6i9V!H0SH2^T7mZAi;5SU$JzLjsz#kw4^HZaHPuoMT?$N7hb&>rK$YccMc=Wo zG2BBm8k_P|-!Msw{<5VwD>FH2Vh^#Q98kR& z+xq>If<)w52`DW74!TWj18$KWcgB5kmlm};kY_^BW{he+m9`#vO<7vH>N1#qo-E-+ zz7|>Q^)M)#Mcr=jC%9y#`d|Crr}WQgK8Vr8c`yy{G9gvT5QU6RWy-hNVa}E}8Nl8D zPX2BP&)mV*y7ZN~5z{Ud>RGA3HnYj^$r$kin) zN=ikaN~=d%b?NJZ;c98;&B&_&H2g167Tp}$6I0DK>^V!dx`Qop=YxMLn7);HowqtNI_6 zW=VvQ)jo_8JiXReSE+5DLRX!TGe@ldfmc#1Ae&=l>%b5kNBu7sr!VpK@CnbxKbF3h z4R~(Xw%x5$;PLZ+ z6D8IBGZmqdWgsd10$Xrz1F4t_ex}5IMCE?EV!a5_-ssP${$Ky+|JQ7kycXwQ7%!wb zS@y#`$;dO9g8F?9sm>YXva*;pK~mSpycyWc1-BOUXM9QuBb8vv{V!Y?##bvcR%WkT$tVGE);puG)P$<8;3`i_M=?^`Ef0>! z(80yoYUK&ElxijbdYh2yfbJ7 z#UGn_g9bZ}$ZoQV_3p<>3AVX>zw=5Dfb47?vKgn5wPq&mq@)VFNAHl8UD4Vx-~GRB zw|&8}ov2rx5uj9b!~we`rAIptRVm3-GJCc!nQ)wcS4r>ts-DNTX5ZZY{f8s7CXKW; zddlR_PgOg2fsFJgr<2k)ym9rb`6>NUh7=K0_?oi0Vt-b3+9qzm8o^4O*p<2~N--Dk z%$EA`WqsO!lWu0VmQ?@FyWaoS800*U0n*}-3j1(-#>pyYC|@YZcWfV@lG~sZ5N5(? zl5LH=EP&_`nu(jDTsQ&Tc-*||UCjewD$D4VWAAUpQpn~w&EafpZ>oM6M|xk$ZP^i) z=x1Za4}>b)f!tnTD|FzaGhO|Rsoy6c(BJV5L5fk|{fqHc)#@KN=JT0@X(3j3On|t< z>U*!W0}RAkB>>82wKT7Tg46^!ka;{u<&nWYndgE~D8RV0&!c%Bmo$$3Zl#PLuz1C{ z)l_QuK1de-w2+Zeq&hE{;4RzPra!YfZF=~NPCl*l&ObF(dn;X5)jv!7;gUh##Yel! z=i1aFKgfSF_wfidk5>Pb?dZ-b>j;UbU%li0-`TxZE?}YUtWzjD#1mt_BX5In24`kn zdVSd7qb?QlucgXj`rx6G^$Y)!Rs!2clXCUWhi87W*k8*Pox6SnvQMMlzfa4!pVnLk zt<-vV^w+7V{Mz@lb8i5w!@a%S zy?xlnF;R zK7#Ki@h2#-0Rlq4pL~l7mgnI-3;XeW#$7T{Z>jb2ZV+ZWv}6A1+7AaD0~zwmQwGDX zTumv0I@IaY!?cg|s`k}pc*(0D-_|^v?Zb2FE&whQ6z~|6zsKZMk7#|5zc*le3tbz$>joTYC z|1I*|ekt(VH>7!@zY8WxJVNgADyQ{r!~&`-^L32xu+_nofmH41>~b*N7{u!O>|Y@p zJ6b*8K)1+?+=Z+Y(3>cijg7)>Q*+GUsan;Koat6H@7F4enx zt(;mp#-c)J>v2lQy^FFjVX}1L>?gtv6D>X7bBXKBFp7>5ft}(CUDg1o|9U0>tIrQW z-V~>QrDn;@<ZxX(vvBTtqF$eT+n+&Ljm4>_eEALScILqLdd%%(%b)ABoJasa#xe~dZpd)l_ zV@L^iGV!T3>BucN*Hrto>f||hl@<^?J*qN#m9>Dvcx^q-?&9PtmQB{3W$${mw`V+6 z5RxI+tXD-(9+9+x?MPLB1}#PQw|?%k{mc(URCT+j>zG!;+)lHEluU2FN0mM81mWE6 zb2f!a4`z8Z*)B7uSvIpj`TT>?D}oa{+ayS&cJLP6e40P|k>5c5vfRXZ ze?4!JAF`(rdkDd6v&jk6qYBMZ_1TA7+aSP%XEKdq#p8loX$5HpDq#ax+J2N$)R2Q| zTevwC``wRy%OmfIPb<}L@JR4m>q<5hCH=I2l}<;3gMPKoBbsbyN|tXT?R$c>e19-Lx0X4Tk~*#sEe_bq*?FrQ2pr}*jCCg+q#q@H=W>r zR~am&WPP6EGY#UOJSw(Yv@}GP9_f?O1T&SgaI%7BoVFx#R4I?{&}LG-_;-TA=8fxT z_Q@It?L+=)n>jtPTm0U$E{|>e^mM`-+D!ng`tzV$xvEc_?BOQ_efG)c_$0)y)z0$; zF3LO*2fd#0Vf(QSt}VCZybvE397x|F+%oa_Zk^slVO{2rWbJpKA7N-PV{$%TNeQR% z2gq0H3&dZS2KNO<9!7l$tyec}?ShZ~t*DEDqyI&zwCZFp`fcXeRRnKx)30^Wa&3JW zaGF;!7VlBuO_%EbyG*suE#>Q_H5}hkll&5GVoHWQ0s2A+>}vn+}qEB4bwNcG9$;zL)JMQi_~yP#EVu zWg9xNCHO`XE4w6GgipXWn+%JbxovX0BxGn`de7gF0)~oyUxRd+ILYfqMjV3e zcMf{>&8!gtKR;j6H>6dRn)!X*+GG5&A>Ss6*{_8>{U}?QP_>uTdbp!#z{JkQ$QQ{c2#2(>j_Q)58N%7xBdcr*<6Gvl z0m$Yh?UBz2`3<)W&PrQN;m3O~c`db`S1BO*;;2~?T^>x^34zSg*JXeumw-4Z#yPEQ zZD7O=yymlW?>|1=2htH5*Uq_8BFaOFiN8k&3SK=3)?Sui#SU9QrVrLm--4Pf5pVK- zdf$?6Rmj?ijpS*b`~BKiQIHbBe+WGeBM$nfN_I*jIA6(pKx)HAv0( z>-i}$Kf1(9V)TZ9npJXUJV2$7OcCtg6vhAsbO@MgoBimkdIEG^b{fZkNi8LYV3v@XtT{cbq+XB`H1f z$e;Jv{!yxAYj5H~&iqQWQ8bxAJAxnx#F5SRrEE!G3>nuE|E*Libzw;U4fof5Zlv z@u#d?#hu6g*rw>5?fmoEEHe3&FQM16;L$%6Jrvl>h9MS9DJ95ku_Hssq~6J z0j9cazvpbUY9CQw>A)b2H?02t5Qhel&*_)%Xs_qhxYC0NH)-&>}YEVKv@JH$P@2(XZ>Q7{ow68ow7Z16OWfhkx); zHD^<@O(0-KL#I1Ir7M=)_Ot8ZS{PJ*2R-QMZs~{}l~jNFg4FujdL#~rDuJs1RA(f^ z8`4@;SFS7q&dIYPv#V7GGr6i@^&YrgiK*hZ^Sq_Zm08VIID~%r&JbUE*aN^+J_>jcG43{*26pYl&X%g@XQwj`wLt0bmHr@|~)V5NGQloLnzZ~q3_~!o;d}MI%`Q#Pk zBla?;p?p4?avAP{c)y=b7SHffsq+M`;$JHPjqP8~v1;_zKV7X!l{Amni;e)QpATQY zH&@hpF(Syq|tzvI` zhjR0P{|2wGezc(qNMi~Vu+xV_} zjL8U?!;iw9e8P#NjIn+$;AsXW*$YBv;BvbI6loI0 ziuX#%=^2WA3uo)|=AG9S5*di*p>HMxoXvZ$(n^nmu`c=hol;VU1cjL^GAqualKZGO z^G>#ph)hyiJuKVCOc*mjvwNckP1E2)zkWm0V9jMEp$iUDPzY!uPb_#8&#Ag`-z{U>?8y zeHS2U$|e38?9}CV{o}n&5;z*p{0KWh?xTXIpJT(jK8Nvogt)%dK-8NggWHX5i}!L4 z=^==`p?iuPQjvrm%M1XK^{vVKqg&no>7CW4lh6O|mIt)o=@eBJgTxYq6mmo$62cVf zcB#-X$aN5^sS7MT#5&oRQmPr6o@1?7Y!=xW?J})emd^wtm5fz?L(cT+gv)v29GiRM z-Tun6NaV~;b!I^1y&!_Hq0yNoSZeIR;|Wd&N{e$#3_V8b^!R-`>R@J_QJ_R~%OKAm z#Nf_)t|B7y4Gg&HjZH8tQElU=@c$oWeQZddx4vLHN40^+WqWEh?7M4MAP#M9A}aVQ zTciZrkVO->K3~S3R<7Na3(J`2vIIf=b0ZH0$moVpYy!VUep<>9;O5Vq{b0_EAkiTo zH&Kz!eL1^E32(AyY5mAhBCFyuNG$eTl3w*Q-yv4~`qzSF`^IN?&f4!rdH}n)mo>RA z1i)gcE?{ysYSU6Pmr=dI4!MtQxnA`RA6`jiDQKzH(riRsAsz2Ol|fL}fpSNfHo$k?Dx`U%FyXYr@~ z3hkc0KrOgUN;Pe8XOLvI^0V#g-?ohxU)uL%re z%{hD8^o4`)Ee1>wZAO_Sp%BdZ6+G7K^P_> zwrLX_e6x;Rj~w$+`W|Y(MDp$>!&+e6dUcEW{k9fApw2r2g>;bdoF0P}oWc@@3FA?zU zVG$Q7?fJ$;#6Aw6*%7DlIr9J7MJHLlRBAj^A(+mH3pIf=UOah0YY%kja+iedXm zrtyx(vjq3}Lv4M}3g({C*)EDoQ@I|4HDtq+Blb>ZD-5Ma`T~L71ULcpU;l?D1}5e4 zCGBgb{tR#H=UB9qLe}c~k^8(opz?7r`7n6ln$T)7uox`$3B8qKZ>ZaqcLBnWSwh$x z#QV7?k4US8hyN5MC3Pg(1EOfC(2`5=4&*GO8!8zEkvYH_UY0w*Z^aErX)=1N5ElSO zz{ZO~FAP*`!Q=!goG~E^tS(d56A){~v^jv4ejK2k%{e9gnaGJ_0YW`RFFaX6m$W=& z#RCB2P%Mnw^{x64bMCjzMn^iDV5watV0rrq6iKu0^JSA${t^)HU$KlhFeUrGmWgGO z@r%)aXmu$ZAvWJ&Q>!XKgdP>2^E82X&YwWy-q)VNyS&@7S`BH?a)uV*o9y$e$3G)| z;JU*!_s<=#gXP5#K$>JIPpW4&Lt4o0#zU{x_lHag@b8E5nk#=~s&qbb>4J7zARYpy zw{`uAaq@AXO+R8P6_U|75VsGH_#5)cCEWk&GEPc=od7J9DmvJI$v|{KXINHGN zz`ZzcMbAsA8adprmP^zdeU7Xx&c*hjRd#$`NCUm%U%7G#d+(S z?NE?7AyIG?dw=iyjeM#K;>uMFeYIawwX@3B!}Ou@cV|<-iS2$aY&z@6`r5|mlbkPr z&ninE$)%1M<0IGt2=Le@)%gYNKr$<7OWVi>J*r(r3tQjtLHAku;A52sd-y=gc-WEO z_lZt0{IJThkbw^t?k`1KO3Ake?$P%;joz6M>9;9RT*I_)hg>@UriL{!ZEZngnxPSjb!5XaE1n`nM!YmYqoxQ^4YI z9L;NyLXmFHe`u_910VEL*gC~s^4HlrGh!`wGh7skn^ezsUoCL0;1o&O4sylpi^_f4 zj|$zN_~)FReyW-v%3~g`hD@yq8C77ie(n=2g43QK8|2`j@zYP|A08XsuL%5kpd@C- zKFY}e0{a98RKB@DuB7=#AS{(WW$Hh0MCk|DJfs%?kXC{WDlA>Md(HLGT(b3d4ndZb zm5L#XrnEjbs^XQb^Zp#z5uX*i=zvl`Isv(#N(`hcL=f=9u#xj^mH|@4|c1!L4_6HZBg4Z>(~`efkL) zzA5)+gc+T9{}5Zb;NG*dEI{JKcG5d;vf3wkQ}$M}UUzWXEFp8JAsVD?+87?L2wEC) z%t2f)v0_(w*H0*Or-bbtKX2b;o`-Y7_J*unBIuoKT7*Ildwa_4^VN)t*@pJWR1_1d zl)fbshsp+rY`tgHHEb{QT?t>8`7v+P!rh?n!#7&(XUPr|S|9eJ9tncJUF`mA<*-aS zzHDU$?5=l4M|&Qgb$FAc)odcp0|m?23i-UU{TT?c8^aMlrZvP%B+e?G|Idj;>RMy} zd49Jdeb}6$nMAt8W7_1TAh5B+-+h7ikI$VY$5So(&PTG3*lLBrUQ~Q!#kntT_PO8n zPk8H~DC0Nu@_NUKP?362>5x z__d_hMvN%+rvMg$QW-Q(4DOWfzY%p=QaQ7&fPpGNU-PMAz)tgJ{#gq1)GLfOir;+~ zpc?g&{z)4IePp6E^zQM}SMJ$~l6q%x(N)Fk5YYQ#@)Xywu$O>dO%HblfcWR< z_+`Hsd<{U@B{#z8UYwfoEQ8T1KmWHu=$FT6SQ<3ZK)W>bx2l>>|FSX3peILh0FuYB zHYCV&`V0?~Sf%X&{2Cwj5xG2v?^sP+tz{I}%nYN=RTMd^MY{pHVVXfFZWc+iA;kYNd( z6ZhvqYL<<(o9KlJHIhE55876HuIp^8988=>Z)5fKerNs&l1%4{<7HHj52uYmJF4j@PPIYy^xtx>VTk0Ew$7$8U4Uf0k7GAnH759L90{ z{C&iI&1NQg%2~i8X%5vPan%rPW5Tdw7mm+#IJ05SOM>km_JryE%vG2Jln^8tW^4@P z0yQ#_%@qNyzkv7<)0OrzKtIHQNgciI2{?Y(2%Xpt5bu9ihCzaHmy7#3&suwr-)tuO z4>qn@LD~s$itm@)>0ShgLy!|6HYQ<*?0txCWZqf2!XG`0GBx_h;8i6fr9F!(gR{YY z-Sr=35&Ky9Uk71;PTryP2RT5nQTFetwofgd$Z9Ge8Jys15(0tkWEvBYfY@&L z{eQ@XzS)2=go3L#$jEluPw*mCDC{Jgl0E{+hU8GqR*N`u)0*#x?2*=%{a4&~%j@Bg zLl=1_Aya_C+N6PtTgVLG(cB=rW;o$B8D6v~03t=JjZ3+0kF!Asx8v3qB|1AnK0dfPt6z-ks<4Crn38&=t@o*4K=|)~zkCEic|+QD z$XesWn}pA?|GH(nRwVYlOPk~ z92x8$0?){ADS@@Hujbz@XZOljzyKGV<+IH^8Ivn#G4Q9>_tlb7CXY=j2)||QK;=sA zD1qM~NZhSP?nU2u91sL|R=2Wx7-917H8Y7Mp5IvYqq0DIzq7%#Mt&w6eMV-y;5_Bc ziLc!2Zojwz<+Xez>4$+MkR;oS9beK?i3bMw>q2(71Q@$rY;O`=cZlUgbKBqxP@!bd zmH??o7~I7jFQ6QZTB^k^Z{*xat-npuGXeYgu|-8IPX@GJ&e#6+O4n&<`1!RN86Mi$ z)ol2==&@FJORi?6I~Pr zta9_E&E5w@WiRM0_x!sXEDCG|%rLT2m{M!rDJz#(&DdnS#1=q^Vx$jBEsQSHAYrny zdWwpyA7#qQQ9#g1kKla)WaK-UJZbygN;c3@($dSAyUhWxdJC}2b6#huPK?w@zgYo0 zUpo+!73_6X&bSPm$OJScV}4Kq9>6>n)<)M~ja=9b7=jj=cw7~j2n;V*&3)$3{7 zE;N|j>5q4}9yf(>+DigR4^Mkg^TK!fa_zB zeB+1&u$N~Vgv9c;gRGwW+c<3la|~R7T|?AKfLq0jIuq-4HnrvG`8!t`omhTJE&=qj zdAQn%?xPD~fK`7BPQrpa6HsfxW+FTUixwXhS~%c91y{3bW$1W$A?s zIz#S=tdE`SkU@`b6_5N{fjG}9SMTub2`Cylv)=t}pf=3ah~p5gDT7Da!F#}ztjzPr zzB1B#4IbJDyJU%H1JEOVc|IKvHdJd)>!0~YoDcU|0PW}jGH4HqlU$!W|BDTu1?>i$ zz8kakoU^3tP)-X+%)3@){XPG5S6B1C1*EW>8}#zkDcOf!DkrXz;ca_iC%wAC97^ZnSAYqh;~lYH()KYeo#}-SP{?#y z`^8s96+rum88x*=N=d8Qm4)yN(E&mmNq@h%wXX-A_Ym4|gM_q< zeI==mhs#X@$GdVKRd|Gq?N9*u+-y$p@2Tu3zMI!0m>^JWutTY$jNZlp_;r<4&P}uz z{M_I83wHYj=WIDkpqITGB1`FD)GY*%cO+zB^mOmt^?oM+n&_-4;5xBKA?haJdUQqg z2j;>n-BPv>tltt78QWYEGX(~K82>9-PZ9{qcJ1nWww-$wzMAoTO4VLA^GKyk5l?^> ztksuyucJ#}epD{>tc{d5`7&J)tM<9huG_@4}RS3QpS|ge-8T|1) zUz^{*Q?@T)?;GDx1id5P@kUI4Dv7jYPyXQB`4+8=ksc{=96_)T`;I(}Ef-wir0Z6} zk1~5skhWcu0#&c~Uxohz%Wm&^JJI<&e7S->D)*1*5Z@r+e(z+z`Mq*U(#9Py5 zlw;eXDpxF)b?owPl8Kv|5Mr-q-SS6rAZI%a@Wa2)C#6KaRLb_1^#^g5H~5}XWyO9e zjupP_>dvPOzfJr%1;rP?`-{Ux-@W3;$FYlu4LKdpYr1avnde_4mzNj)NEo;q$noQ( zC8U2^AE^eYe>rFH$5#9fy7Guq6-i@Jy@O?ORhTwh`uMx7S$8b6s+b_E1OL4A%gv)@KfH$vO zkc1P}v1(}3<|m0d+Zpfx5v!gS4jZ!@axQ4C#^jlXp z9N*~(LIEix=t$suAw#M}?@_DzkK?ivtxu_fLw?B$j-U79fbRKQ>tNSNBvaZx;K}Ez z*n0U(%p7M}V)#q}`u>kdnFc4hyl;UNcYKlO1St6hXSmIjdctQfQ@OIh*>2!{8_;9J zGE56MCL47EUIDlT7?zYtt2SOJRF~?X-!(l)i)JuzRyC6%jywE&ncLv+x|){mb;qkj2_3@MK&lL#EC1btpX_>xl4-Rk|8^==;zvDE`n4l*@6m~h zNc7&%uYNegU>RY}y(F#f+t~sn`G^GUX2t!U?rdmPdj1C80mxnMV15S6Wu`+{YkQZ6 z`=CmsxZ9AQA<|OWkUq;g$LCX!6v_6>jxFWPCIXSWlAwhMl5*CP#&^3FNox~gJd2@Y z0EdxAM?JkdJ|P@SWI8Lctl#Om7xdbhT!u_5Z9vt>EjvZfT=s*iVZ~i+BR&F$IGxHH zze}R35C-n!hcJK~>iNjvlrqpN(}K;Tlg&+~7qVslTg%{Y$T-|P&vn1C-J?7|2xmz> z^mu{7ZK=E?-a7JcgG<}*d6fxwUbZLl{y~P^@i`=*t?LZm_ZZTPuT(K0mB7UF6R_Vf z6&Z->VX^^x{5u0F?JrzJFt z7W|r)@P?#&sSLW7@hu%ckK~J8HTaI5!+wSst*h$)FCg?8w4V3@`%&_%O1|=9f7B)# ziv{G_rgCp=;??|XWiPZN*K4w4AT@(~f|6x&>5I|(A!f%$ZNcuz3P)W=wz%T+%fKx` zZcmYc^I5im8=0%3N+98oLDqe{$!p{hmIHv5lRHAC$iPqH>9#bUYj_Rh-6=V9YP17HU}F3qksB z*2XySPJF8Id?u`$BpG4_neE7(<_;$0L@>2f<5^n9xY#hY>PtZF^G@0NjI;l9YdfKr zu;?FMboN6bMm^$y`(!}n8#tY_9c=<|KBZTFsuo)<&K&H}_`NLoElp5Gz9nbF4o03^x}+sae2@hgHc_w)Sid#ODovu?@} zeb&)(3#XjF4ZZ|P+1qp z*@q@bpUqxzeVa*xeU~8h43Q24&@S>{^4)1nfEIgx?NqIwPV;|HGEyhKWWg+uF&{dJ zEALLw*}Q`dX>N(XCws{8W3f%Hy5iwehL{dhodq~g-sj)YzOq2V57imSR1cQKF~^?Y z`w!CS%|TI>%bjt|-nu|99D9C4*50{ZwKvyfv=X>pWlg9>^+Rs(ZE)q$kD6rXuQZ;Z ztt#w?Gp_g3mgD*ws9q{QkpNm`@k1qMmEJ`sUB>ruj-Ta|U;EmAu#v-je*x4g&x}pd z&<2Kos=6DvsM?dIPiqP88fOSvuP^N0FfZyYbkAD!2tyuj&fWS{l^y=K3oWX zzl&s9sQ#=6kai~^d>~`6(OKX5YtOsO?Ew8Sg;A^U*=)c`um&kNzjv?>?EcsA z&*{fb+J89+j9pPb+#Jj$S`y+vq(_pE1%jXR=Vc8X#s2zwm{a2WssT^M$I8{3c0D6~ z|B>`ReSeGpuD+WDgSW95S6^DfoIlEU{<;I33jSaqm`j!`&U%TdRNHV08kv9uQ@e7k zm`8M#p8evEwTyYKFW>5pD-txp*|xWRc&1yNPuzru33e*yMw}ZY&4jzcjzEH|yms)9 ztaRf87I@IwRWo4Al+Q%}V(VXPMX<7;tF|Th7hl4j?pB-h?%zt_W-T~HvP#iOZxpc0 z491TfS>Ehl47wb@_}ms#uhv?KXUhHSN^n zfS)Dp@VX~KmhZjt{ZNX~`2G$y%TMHue&RnFGhc;h#;yICpxA26DiZ}u_W$5LVGrbX z%8*M#+&kEz2H-9R9dKE_sshV5?|Z80?33z0=&wn~ zxEF>01Rv)7zTFsvL5YJlc~LyX1wg!my1EysltYT3i7>`9l3ruSj8W`I$TbeSSq z5)+ZH4=`XDgKK=^gI=Q=$HC`$pXS|QYmo_`Rg|))%X*uH2p3Ur*sl0trvA;yqoqIf2o-|dwLc&I&>B92%5tRAbT z90{LUCvs>Y^-W22m@yE$`hK)JwX>FKca;Ic}D(BFk!?F&SG3jImnKsFo4;gD_CxiTi`jv{AQko zTE$NGeT*(m`P^2)aRw&E^Lx&^_V0U=2^~y{|GpM11*A-74z%T^B1hMNqT2EhnG|LE zRkQElETl(3R@wQTIH{-|o~aVd@fQWTF+WbBFpf=MXnDG* z;>=^pS)u4wjJD^Z+L4>7!0L{Jk0q?fe!;J9~hN8~nD?0+gxp!e_-3 z3>6ZE{C#N!>VBooKj(fc^xZtW4H>tkks|Y~Aa!gU8I+66w(x=X>7+qBM#&BpxkE2W zlh4gv;}(0-=}*ZlZ4fw*@FD@Buf%>9$lknJ9N~q083(5>GfYdHLEy-P;R2GfZY(k@ zywq+OfB||^D(U>Wt8q%6uT>j_d9G0@)p+fxLhp>k-)+`Edg%%s1G=+o5_iZdz)NIs z8vlAVJ3Mk{lT_$$Qnd?VJ*SK{`@l%{ZOWj@-n3kV!T4|l=1aQ$gT%>Jp2rkNyN#;z6;L-qP zf*+$_8cK1Wgg&w=D>HFi=#S5Z&&S@L$@kptZ~nWr`W3PkZrFHht28YObw261?SvcD zo!6#T^;!Pgg>yyl!I*L(@|!>V-T%k`_}^deG36vV_+*KbN-CLc>IIpD!+@d1VObgJS(1O(j2b~3&L>%G zA*gu_j(Y)u74m{nf@0&4L|~TS2L`F6)L)kVtOjvp6$c?#GqeG10C{Do2KsVuhS&f& z_`KopW1UH{H`y)%h?4ZxQQvO?VoG>3l&WG#e=a1Mv{vgM=IcFX zz>5unLH*scMqMm(WOY_vdEWRmJ4v#!$$)ddmivHi+`;(#GlZp7cB)nCx%!wOo=M|Y zFWxB;U|nRgw!J{#Rh>iTk7w6a7v;?8X&kJBn;~Wyeu?@;g4CduL4QT?5|CjTq9SNg zC4&$o08Y6q7AbP?l4m>KXEAULHIJDMP)o}Px7{kGDr5)gMJ9AN`z~C%pDKXLPRf4Y zAHF-RZvsU>ad8a#VY_2%H4Z>$ob66FwzlFUEUy3EyjhXNv9+1YS>GWWUF?7N*Ie`> zWZ!6D|5LpcM;3Dc>HDLLamwV4>}b#EkLsosW<_pcc`TfHk29P**`~=GjCRI?e#cx*I8|g8JD?%3K6>?QmOXyUmd#8w=VA{^ zAJt(!&XNy$m~;9Ke2T2p?a>ZDrUFBmg#N{@&-&lUJx`@omfdUazbSx^ZfVX7M4Eu# zG7F@hm*p|h6I&7!ka{SmQ_UF?I4bzURQVYuaASv^F{ip_rJ|#paVRLI1tJG*9;PD|wf(EYIYf_3pH!sjKt3lC09x9&=Dbz~u^nEmRyx z{7zK_B*MhMQbp9yMqgb>(E?|s3Py~UdS~Wj(>U<43)vQ}Z~!W@&IEjZjM9<&=jLTpiKfsIQnpaHiRFZh$B=yq#OvYFu^@Aq0! ziAxN9kX0dNQ zWt9zzZUTbPTV&KaKl|Art9}#@kkT?p_`B|*R0)f>4zA%+VB;W#8M5SjR{HOkqlU_0Tna?oQy5~!9ww3@qv3jL%l z?-aJtan?1NGmMy$onz<C|eyf>KQsi z(00joIV)@hGz*JiLXkRI6~1>gTTPQ5Q8CdzWS1bAOnBeD1J&Of4v4`!^<(_X4%y0M zhR|6mssFsDCY-m=HIvzk>D`WZXnZd(GmKN5zl)WQ9fsX)626;d$AO))ml6b;L9k)~#Z& zWmbuPr!=$%_?jUolZ8<^*k60q(%j9qNdh3xBT_w<+@CqMcQN?$+Mm7oWp#}{+O%Rd zZBy|E1Vy(GHr~IxliUHmGuriM8GhETVfB4z0ODF;>%dB?l~sHRc)=TrM*0mZ=$Zci zGiOSciE0w{58$*LD{_EZ8#Kdn$e*KpzJx)L#aySOCBz5+p0>VwJR`#w?I1(oS{2z*<*-!$%54(rt-J_c6WWVu&}|b_8<C%eo z!w(tk`=_=SaY=SP^P)5tpKL8Ees_abT>iGbDNrpw8yPB*Y!owB^g=0_Jee7)Q+(H< zyn9ODkvyx5^IV+v&y*|geeNc~@YSjf`r)~1^WjbG*dVpf8$sAO{GV082nLf zc&)h421WneTGZIzZ3|)bd@1Cw-n<)Zmah}w^k0=BABEzFgw*W)`H^OqGz`h5O8i#e z>b_;dgJ5fnIlahf9OI2iB(Ivk)|=v;g6YPI9Gyo3ZoHavgE8Fqqw>I4Vj`nHV&DP~ z1ldpY#kSep2nUO-5^P|UMh<@veUwjVBpouUW6{m~Wr}qs74JF|zU%g5*Wxp)elDOy zU(R`hpb##zkW6R90o`h6;{v?J9)xnaXnIu(<7p)`yW5nfcxat3*}~zAEEGK@x zdi#Z-QKs@o1fd?6A4}WInx{G?QRLz<$cPNW za(`a!Y~acnAOGH#(j#GhJGa+(u!y#0V9{UYA!lcgAn-V6>*nNK`TS%oN}|muW#=*} zH^=wK``6!bxfk|t36RSy_I7(rP}jvX=U(Or8JP#XRm@^(0>^i5uEx>h{@Q`TwsqVW zxT)P+=d5%ufp*F2o18q`2Nr-+I(ZC*?XPyY6BY2|H_qJUWtRauJA$|5^W&Ei1eG|d zKFXGaV%V3aU*-!U^Mp_vX=k%wQw%sBpa}@~#ApKUJ2ocb;Sq)@c`E(*AZ>SwnKj5< z=XF`bN8drVY>@O;)XYzAyD)R5>p_JzlyK+nJgmev_rswV;USsXS^Gi2U4GZ;=)H-t z5L+4(hPIFU2&}XWA4rFjjBxf!pZ85M>Kbv973Rn*j?;zD6xrv!42ugr{ zQ+dNCBrZ2?i2tN5AOGaC(6kuboBIyZ&LaPY;n^4KMybq|L<_Hi_yiNQ0yuBp+bGZ`j`TP=g% z!Ztf{FyQnaZ)xY!l$P}065Ap38KZskKL*Y*^I5eUB1K;_Bn#a;uPmf^lvHJ9a(2~c z|BOtGt=X$?tpIIw5A0GsZt*xFd3pY_zv(#WEn4DA31KYyvgbp!1Y(EfAC0oqs!c!`d)>=3>>qK z(#UPMzMrf6G3@R~E}Y94RoVo)_1zc5O5fT73sN$^7+aM|iJ=*yT{NZ7)c|Y0ET{x& z4!pAp)I$(`69Z;Tb)X8@n~JmMN9Vk|gG|vtcBx!)AAOf+3FMeA`f?}KrGNg8+pFh8 zwiz(@%_Yv62shY``nnnEe#CNrN*l_`6GW^HiY4=+6RwcuMKw~{C%X-4q?^{L4=&%W zOLYwpGnY%c{`r(qVRMUW4OOY;s zD8;DK{l~;qNCcx#CvpZ=`m@~=on(#X-#36}J;i3>9W=Xq>1+vBSgQd4oh%>L^-ux_;6FvS7Nh93h$ZzOavCYZs$LcG}Fh)o6|E;_^<6L^ob%ePb2p(1$k_YXaLf0dRL?V0TJql@5u$1lfWGu{&6oy`V*T1{QINUUl9z)d7^j5(C>~8U~eFMCXe-TUpS^EwODs3?&>6) z!8|`yg0F+q$uP}e}KaaC`zfAO6hcUy#R}6 zOkjTj2>wL;lAisG+@{CXI)scOHwkCD5V{_@;veoU2F(GS z2a;)|` z{Cr+4F_3byZy)Wfi*K_Xy*4d=Y0{gHe-O4X?Wq%`DciW6$Mki$82u}M_DzYl{?NHH z@IUD2vCMhEqtEP13niFxGtlTXPmX-YRsQ%FrL|8=nBwbz=#x2l+fs;{&#OFDsc`WZ zeLaf;QjE!B;vVM(egMealY-8R%Z@%rNlh_f2-)-uT~$`6OrU#J^NZ$ulH82=i}GC>w7k zCswsG58IjUBkgi zn~=aHO4S5M;T5$d%^yCFKL`J8(5$o7f;Yagqz}R*iO6XuW&d@KZwXSwN2DV9)*DcUg5L z2*aQalI>)z+>UPn;mZ4QJGb~bVZdwOS7oC)8&Kw~qAT@ZdV}s5ppgB)l|JABnAur$ z%0v>#sXQ5zEVHX90-Ur#(W{mwD*+kQ<7S_5KLs#8R4N$`>*pRFRb+JxIDU;_0L-QIN9Eu!S)wRn)({Cc z+v>sjo>uys_C0S|?qrfeDf@w~fBR9JssaZfbxNLIyuJWK;?h7HnoBye>b$Y1==~uwek}D0yx>TpuQGKNa`Gt-y2yDIJthEH& zTzcP*oLx~#M{d8t8D7QaL>GRt=so&3fY&~rDS=Z}mFf>tp-bwsSzX&S|GCew)aQ?~ zDb9eF3J-Midv$aMC+eeh_VQ8|e^q^a@gABz?#B?Za;b4BqM;Ae8}29^P4Gmg8@z zpc!qpz=5G{+=3#20AaL3pv-*Ic{2l6J|+RT-zV*Pnq*%32QW!)ok^z4_G%J zbP3)M**D-wdB9uxhNY%DO8B@`RcP%(0FUa~Q(+7I{PX-98E8w?2?SDArt_O*@A}AK zf?1NntCHA!li5Zpsn1=URHgMJCwRQd0i}(VLQuasBDvqoSx{~9{ernsXUOg$U`WYO zjmb_4GE0{4i%o4Q^HUS%Z z1C8KJ^duKCWV?d}bGOwReb{&Gx!f)QEYPig8}RmE|H^Xt-&sg16@T7+ia}~%94C^{ z(e$SGT^Y<;L1~y>0Eco^Z4iZ>$C-0|G-;(M#q1V$Q78a zS&Qiw0eo0z4iA2LeJGgs_JOzT1dcP>Y@7MBi?(%GapGJUAHgA4rr+C5JYtR8gUIVXEc8+jKClJ`8T+%?8B)h z6}X^F9t1{#rIm-5Hnbrput0*tkb51>bme4ixITiki=(V5`u6g>1}cSzNrg)Vq+)!W zC8Bg;YIW4RuwUS&4+cq5yuzqhU=1D!I7|BPosq*N`@%qK4Pph@Vpw1Dr3nNd79*1B9I6|*rzLim+vZj zSxwfI>T5DHy|xH705}#^1Tj_pcQA=^mT^T z>YMU2U})=P$E#)8-(p93+5u$&JVJE&{(bf*nYmy-P#QCreSWacPLP%}IFLa(&=6}T zyIj%Yl|2h{p6-|btH~(25B3i`^UB&!Du<-kcb{_Gdmq5pefLW>!+fJmvK>iZ%F`3v z@T`rUTnL5!&4^hGWMCJdC5va^az>Pal`}?dUDrryZ zf^zRA*FtusptaTxh%<_vEZGL#8@;HP>0RF3;Mv`ky}a zDM>fMz8DDVGcxh|V>c-q$LavsulwK`4i_0pr4FS5%Ynt0Reo@^wn0}ahLX;{gYUru zN~sp>FR}0Y%;6l;aWyToI48< z*`n_`|I`D5Ds2XOZpe=WdSqauhSOAN6sRAwO*tsW#WjMmbUm#s*j}wrY;L@2)!MyYH7mUV%#iAp`;2cK?r*@y z*SatV404Ts?k;>P3xB$0FC#&N*Gv;UW18^zy)-9r3a4fGFS*8klmE~)|qS_ zhdre&=RqR+{?kbMcgtlIq8|oUtuQQul6Z)O>5`ocPu8gNULWf{zInq1bK&wYd@x%+ zTUMovKl^?c!x}@(4TZ@XSW!7>6Mcm+0t*7Yi&pxo^pRy40rpj9;xWVCm8n&BgE6`P zQTa|gnO90?MKizv-_8(_HX8#R)Lu$h%nVwAeZ)uRJ3|Dakmc-6h9`+ZXpg9G3>{@d zlmpjIV5v2hmLGneKt3?^z?_nEuu@&Vk8HIS|EyT0^smX*2=nc8vthYkqqivwG%#G! zVrX4~HT^x`IIc?|=+=Oi^ru_&Lnl~ccvkj6H^6EDu+Grfd#{tPQl(6MVu+d{HAniM zbM{&j%UepIb3gvX^QuP(h$=?#k3ayb-muCJ#@Q{5E6!*B%t?Ms)-~hlc7hvHEDpb| z|GIYCHv&s>!j(({oyMjdKx;E0yu+R8Wm+(V1DT=y0c;Dh^Jy!EPy(g2Qu^bkxbLae z2OHj2)t}FgtfW_gie2e#AX47qk$0A~tr0$hzkNR62`x)q8&vpt$nNocm;Yz5=n2VM zdze7e=YP3#O?$`_dSd{~>;@h8!>e9~g;o|HW^1s6_$M+#*y@7FLz)I~bpZ;6UH&H7 zW>(49+>A!5sjecBzk1HSh1$^A6+a3P!k7xbHmg;I$?X50fM;|Q1TV<1;{g6uC z8*-=Q3S6}vZJqocvaRvNc6NLKczZ|A3p5&u$8G@F(k@}#$@`VpG1b{F7cbQ8vICP;`#4I zBtWg`xaEA9$)NAlU>?W$r_CJmF6f6x1!(6Z3b$4vv}qy!)N=swIt8 zncXlUi^{>_B`}b5Imc|xF|0M=rt#jT=~36!N#(~3Rfc|A2fKPRKoq>_|G7eErs+TT zkvX7+AQ8dPr5Y*r72QwrKwzo_)w^LN_DR?NKV*Wy^#7hlf0Ad7o!&}Qf40x^-+m5( z(7jP?X+|GJ$CMKtvjUBLA^#V_pX+Rnb4^Zcc*d5`MLS#7h`LO)1JoBAoo7a}2L#}*e=sWluqA7Lsm!R8! z%`>g;-xpZRKIvx2-wcGo2a!1*wmHN3OI4%qi$0cT=fo+7NVqcTi@s^D<}1zphot%p z=GtCqVxRtjZ$grMi&1XHJ|O_*s)t>roIk7BT+3JPS2FQ2HTs8$NDz8AZA$+%<#`yX zrc7+3Aw6C&BEvLL;}r)HSEFX7-!OuAphw(QWax1PdndD-Sx2^nK{>Y(!?_lR=wP#9 z8mT?a+!aBsH`okC0VoYdUlpiER**p-{ejsk{J#yOF$^raw1B<&SwHfhb_I|exO@d; z(?8B2N|au>IB-5o^%(aZ>?3D$wpBuRs}km4vKVBy6eIS4(yhWCly>k^z%g|r6L3OZ zwzG-%S^Kg(uP91LfIAQ}1TQ{b+tkt{PN-a%JDc0IakvbRr<8o6v=MT+)l*E<)>{$u zfxk;&7oZb`}In&VQa^C;9)TarM0E0ak6&eT?a#J z0MrZ}x;XGE))4bPrMrQu0|`A6^fyyTAfDMM4e0s>f~xc-Ljr|#iw$hZ7XZCY3~ex_ z4a5cs)n;mKOS&@4JlQ}2tOOyT;Mg7LSJ6Riu-t|4vZIZBmy|63jBGEnTB)w4U7D}9 zY}c0W4Y&XWsK@6&&!Fs7QQIXlGYyY5Rx1|gt+u16` zkWR7*-^zkuR(lP5onq6;1xy~~8Irz+iXD7$kNR^vTUu|f#xhUVWP6BZK%*M{?n^Jo zO0VB5ldDYYHmUKaw@oBuJGQ$mx6StsJ(E_%yJUJu_?DIoQO+Q~8U3yWNO5>C7!)K* zN;hw{TWtpYcPJ?DKo6<=KzgOc3gTdX?SpdmNjjL&b5)yxw*BgCRrScEaJTz}^LLZK zgPfX6K*686MZ>o2-yE-S#!DRrM#cuJ|D5TaP)p-%dT`C)TPL1t2<+nI-4krmkngQe zQ|y-4=r5#RwTdn{$>i14=oFLe`)C8ZFRfNqlA#(+wbpX|VV5@hwTZ2e$3qLs$kFVC zjN)DNk|#xJvnBzH_B~BVg3tc)n_nQ6<|EBBF^lM_ULKk_6G}rISl9vtP2kZL+`XORuYxjz<5mD+2EY zj}A7|)5vYJ=LECcepw^FJ@=AShvDFp7BL56o&iHLZ~QE_@ALecB((>13e0zdcWDWT zO;S+C9nV3Xb~}2kyg{FdDemmv4;}M>#Dl(8(@*a*E8D0~wACPYv0@3DtC?lY9Z&40 zhd9O| z|9^8Kw6GDKif`>{&i!=zl1!nxl{3)Z(bb)Ut{S8!K3jYyFvs-zhsdPw-*z!8T78hl zf4DK9gBD=wwji>C5k6&rZ8qO*wF*hjJNUQ}@hn8dfZP6W|KtA?m&gZHC?2vq4(~&r zW&W=NvjO8LAa}WCg$Ok@ssXIswO#=Cy3!XwHe^^?E5Vt>sRa(J9lUi^YW#dD1Cffd zK&gHP=?sC^7`OfuSJrd-8!Sj+?IO&@U${irS?`T$tCDNp-Xk4Y(kb-`kU`-q>PfjV z3T@wn!Z$|s3n3#0Tg{RM9KO#JMoE%^*#z(t*h|`SDGm3S3BqITjzi#1{ix?@$WP{^ z0bv!EY?3+gGsPIz_F_rfyNbcm4P!j$tA#vScq@WI=k}iR61!?ee(c+`N~!9+`wQ84Pig%^xL5@n`#$J{3dm zK0x&R*L5NHU7F-GmMB5D7GNH={y`k&yhiprD1%(;!#P8$UT5xyd#K!_3}9|D7glnwFq{y<{7$UvcyMmXRdjFHb?Lii^b5D+ z5>Zy&$s?fp8_ltoO4(rqH<`-xYt}bz6S^r|Ea{*B%q#Egv;F|Je*Zk9G12Mw9urVH z6yaV-b>Xp)muKt!^F8;G!hsVd1Il0qf1*TbVjRx)l+JolYu5zW|71xvYSETpM-J__ z1GinY{!O`!Fm@h+s-_1vdWlR=ut;G0@SMral?l!fabwO!?|Y@2=n;P|V;wOlmFJi; z4mm{`Dw${RPCu+o}=_7lm*ulrXU3!he#3K_^dxYg3+ zjXvAWF57?#7>mqD7CN>R^8JG#Vmf;7G=5>8`xF;#u~AeQ&pP&$@v1B|-=6@Vu(>UeVg?cMT3q zr=(Z-mQ2`RxnhzArU?%AXQD<+cy1)E*r9hHzr@%kG!^XBs}C+Y$Io`7+Xc2ZK{5-m zAJ%_XCG)w!8Ch4)XDHZo>giPQL_Hh&L8x5brIujm{r7u<8AIIFv+Z&sv+E{Q0JGy0 zT3gkkAN*^F6ZjAQNiayY_W53P6+aQe;hxd?N?jF)s5PW@V@NH$2{^KYGW{P}0~3&3 zaWpj7_`qBVaOZkmS`2Z04weBSn$|Sql%}?HxfO;S(Y^s*<3o>erwmdW^`*37w3+$J zJKhu=%?s@NmB-Hi;!uRS4s+tlYAe2DQ-8*%R!Yr^+wy;xc3_17-zeoerP3o&GQ=y4 zQ<)*Y$(98W%NeC=pYNPz2QpF2#AsR)7>I7y|yT*oRbg${NSqKtD^ z+aD)2rBvnAU<5Blz5wCaRO!Gf9`rWvUk-#O#>1|nD6P+pcP_Z?Xb0IS6=hIo2c^7$ zfPS$!>r!lg6WlcK;!OZ%d!5X1T z&$>-lmRR3KU!f~UXlb#QDkPDQ*%b^sfDbuQld0}fop*kze#$xZ8ozqgII@%fn_`V= zZOL>Mvn3J=6@(ea`WC~))D6zj}cGCM6g2k5E zL$0x!6Wh-^Ap!tm*PSghBi%A(_2mo$pgJA`zyWg~GSfplE#H4@gGIeP3!BiHzBHoK&o&tb(Pr;sm!q|`u82sO7#y?{MxqmjJm#`EaRuYC@e_rbb?qW zkbm|A16cPv-d9LcLtyxb?4ioA$Tkzf`$R9GK&|w_w^*MHAlr(BkuvKevml})JA>gu zRztGZmDwb0Kqv7KqT*i5DM3wLbhka*#tXVWl|E&C8qRdj`N>Df3f>95d_y`*r;Y;u zru}Fxs|Guy2fKa-LZjr@Y_4TW$VqfC#Dbn4L2FmEwO~`5&BcQ zJLd<5prq~>E6sdsTigyE`G^vw4Jq@_-ZSk$Nn1YKq5dGAT#eH|F`c)aV8dziD`d}e zSnkSal75OgN+NP)1R1Q6>RXa&pPZJ00*3|Y8Uqh&;nThn3@S>l3SzvL4<4H?g}hSw z_{&(s{xB5qGc<`tBBhYDOzM7|*e0@g0Q zFr2Lm1n#om2FYvsqs>acK`EbCe(BN%_^8P>wQv@A&u#Um%1hhnWss(N#p-d+EJ5x%awbFCY%7q5x!!Gh_&&vR`x*k^V|v`de7I-W&K`N) zkBw}0N`H9=g1XzY*@N|>^O)jf2r@)1Wlwt_ohk+7w(OMde7g~&DS`H812i?k;~lRp zD+)ByE`VX&fct4Sfy79Ckm>`sh2ZC|I52}#G2F7Hze|EIWYUk#5ZTQV46_kI#byFp zj2Aro=IX`-Ny-W=KbN1sSut8B zrTJZAyfb$*Ssw#E??k^MIY&!ZPc7*e(C}PWh%l<_{tQao+C#uo(l`I)IV9!Ef@Jf? zI@|Rr^H;L7T*z3(*%qFJmL zRB)(AJ&o}R{*b{F_gK_S*Zq-+5$#Rm*&ixx`TpKBl~hPe-_K|cWiCkRlH4pwpzR=t zAii5!;pbs)ti_tU6-(5EZe}X-dG8h$I^jZfOoke|`s~?xrR?~QGkzEd>zoPbV5L@M z_Wu07wq4D$Kt$jVtpB+qa|9+2-?Z?QPy=9XxK#rJtMbg120gV2&l_Xybg#Z(KG_z0 zl>`gT6X<@d>J66rLvl)6RdaqE!6#R*zN#Z+2u$hzWuN#?fgdgTm`bi~wH!&)%&rPP zcFR!!?oFbKm%Q=g=#^&!m2{8leoueUk(boK#>ZCAVb~~kOu_=-uW!3Lri{sa&Y4Ez zAbY8N|2Y3X%n_Px$B1u?cuw?mq*R+tNUTeYG2&^&JfPOx5W}^VIcZHE?n~Xfn(zKr z9cakN7BU+jKQ9o+SbbFl%W})X$IPo4>Cf+&YC<)$chIkpsg{AXi~4<*yxxF=DvBFo z$k_SbQeEpC#u1F?4Br*DNYbv6y#@9MUtH~6l#72V8Zsi^Ys0r+)wccvzYBc77UqtY zcg7B;;zMFJBZQ+Z0B1Y;uQLz2Oncb=jIe*!M$47|)U78sKX1EZ(je6bqMFG+U*M)~ zI>6|pvY`K!+iR|rIdaap`?Ko%XDgT40e7Ui%*APZ0w+VlBR~7$PaM7&JNWZm>5=&8 zE{155R<`|=N?jv6thS^2xAv&lh@15@E4NMGS=`FeAzS{BqfE`oV3}8ldAK)iRU2 z08GedB>>cH3y3u7qD?fxjdhFZqZq7d+DnuJ_gzzpoRZB#_CFO&vnZQ6>#$xwCug6} zTigF5ht)RrWhVm-y`Z9Qj06=BlNgA_AqE=i`MhE|L(7MNpseWsrdYQc2XsSmJ;%UJ1Y}< zA;cmN9st@7gqw_&E|nC#ciaXg2D|(PW4-e^aUh7$XjD_u_4j&m(d@9k?r09s%TYE6d|)E(4m0bYe!O~HCF%h9)7NE zdbG7fi7{E0tE;RH%^E zi1T+QD0X(}a>-ar_joROntTXz`$g?!&L6k-^F5rvcyO$ZP_UIjpJfnk1bwy7#F1lULWtBxKu) z+&1QMfp!eV!?z-!J&?7ECim6-*E+`-S96#6NvqxBI$5_}66}?j>M^U`pZouNmSoYq zV1Eh{m^*50k@0m_jke}{)kC*0u?Z&fNIt!>}6ECh3nzD{v^EN3vtON?z5qi`slnL(wGdrUjrZbXQ1pkvAzD8%+C zecyR!nzoi7e|zgO(MJqQ#s4+KC6C;j-PX~jeH!4iXQP#9>t7db6a|5X=s6ynH&_l^ z$;Z9>8$DU&&l>yNd4BwQ{XA2zOuFU3=KT4jIE@;r6*WuZT8?Uyhk2(99@|7wzqd{7 z`Yc|lc~-S8_uE?F_1IZCJMFecui7>a3e#Y})*M+9 z(?z0f#)$j(cjAs}9rlSclcd}3M;({4 zr<}`9-O4e0ZrFM`)Al#*9qY)glW?qzK;X{AUmr~a8pxiVIQof_;dFjh%GD}|oRuDl z+ztx=%2zxa;R7_lt}10nfZDN>_Li%k4DxMF9o@7E0W@aiM( zH4a_L2tMbXVPmdH2BoS1NH#_O{8`_#88Y1PtZe#jJe8g)-t9gp_Z<1oz4Fk(e;GT&CnZ(=srfl|Nq-F8D&KeZc>9NY<9Cxpy~eo8j<{ew)t9&R z&+d-c8qY$pyg}e1xedtd9 z?-(G+;K87xki%XF9QL;^15T6Kucmaql=Y)JN8bs_@*~szN@(l2mF8fB`t;f_O>@4p zoerNI?CMxb4g3bjkL0-LT5o>STg6@!ablsxP_&N8g+y zWCBnJi*j_w;Hm29>vUpF|r=6>6gVO4kU7F9ob2X}SJnDl`$L+MS`lNs8_Z{5~0jtJ0hEPrQ5P<`1;E>%n_N^blB>JCc{bB}XDS_;X4Ke6C zClVEXj;|f$?yTP~NxiFTZA0f24E|?%hh&}~dB7cjiybHwI?<%g{fQwM30_Xo`zlRe zeN;5K`srf(Ht%l$TeE$lqEgGjl9tT>W>oXYp8v`wb%JjW0-~-vcDa=SfFlC`5d)|U zjPKt-4q+Q)qT0_z=5H*^&x7K(yVQ#PeHB2%a~T`_oDcr(^}`+p2VR0)+oY<^VCiPX zoFU7S&)Fm}duf(~dt0r4bYvhqCw8*j4mjghjz=x}|CK+(+)3^44+Hfw?;zE;eO~{2 zV>0^Z-&KE9IV7qu;pu~HO7a7o|7=saml5}Pm_4FYPf4$J*MVK%q1ANOlpr4VpCRkY zNwiH~m2to2oWf_`?IKI7XCFa`z+MF7svr|WX@c`qV+^+CMt%asQ#p}ghq(5YOBvsJ zcq-&&m+G@Tq?$JRQya>UcCg=}zGH*70ZMtwxa}Boe+GOB*b9j@8FnawYmz}ja`cP6 zDaQ?{u;r?}O<*dU1Fq6v@8s@m*5ChrH}POxVmc}uQn*q;*Qd%WLW>0z=x zXFTA5f36^4MT%tv{gbO-reeRXv%6Hn5~gm;?4L51hh$H=dMG|V?a5o+tJyZO8*(CN zUeObOk$p2ZXI0*$PY5@us5~~Ry64H>XmoCg(v-y*9*pU7hz)@x)&J%H`TtSPY~R-g zp}7d0y8%?ZTL97x6y)bUk#s)E;No*Yb|DcIelpnxU-Mi5&-H=29}T07XZ7!&1)bso zRdS%fdNY&rX6d>gqsFMuHQ+V1D}1IhY++TO_i=!c`8{UZolzW>>df{O-#+U^9bb-W zGNCoV@foe@{OKFA_bL-`v=YyX!jznoYqOS>YyzL{%zA}@=3>IQ#2`tx2#A*LCnLF) z3eG+@lm&wXy9FK6W-ny~$pZAe9mvf}ks?db0|(*$IWr==(CNxpxrO z%vCp2ndJbhFPWnHlfs5-DF3xFO>#pD6Zx!AjQvXz-L16Pbtp)4ekg3TGd=_&_iV=5 z0U7s6DREuOj;LzLBywLtoVp#V+j7vL#5p+!*?LV6iwzQT~T@7#L#>S*yIiD2hRz;?P%a03SF;+cA@zu7sIawKXZ3_rKpAG#A@w za4=IIR+Rt)N7#Th0eFXuX<)Ge;5zg5eE?3g@=xy8h0;a@2 z_u*mwEFdk}%>wW^%N?p1vT8<||6laQTSY&87xzyaSCvcnGLgRO0ei~>@@x#ItaNPN zOSG)44Cf`vcQ=JYuUXIwjNB@Lnons@nX0Wy8SJ@%YLkQ_3qJ`2TBU#3bglf{Q^<8I z{keBSZUam;Ow_Gi`f;O^3ZT{Y@}@<^GB>#tWi@U#l4NM54Th_dp6DM&O_Lp;Q43x$>D!WPbQ4AM0qCULW}mF*^X@d`*5S*K4v1 zzkxmLV1ThrbfH*#bms4q{wd3F7JK)Q7jRvvFgTE_$ z2UGM(-pnf3 zp?Ycz(GsxXtD8Q15j-~coFMPN`_!!mMb*b*%}N$OwsiJB>Xp zE`_w-VQoTR8N3}LrRGYXTOYS0?n+*n`ZA^ImMAjHLkUjS45)40hAUTl9ScnrOv=s;<~ zDq_OuZb)83bXy7g$Z~>0$-)s~W#$jh@hW(Vs;^*>*H(xXGxn*%o|*)^D*cJ!?;?Io z(tKJ_H% zGL&3@%Dn6mMEe*xY6NrGQXgKkz4k}`-g|l#-DM~M@__lQ!DHZ^Gl@~m06H^}mG4nI zxZ7-?oGHE~jrW{)N!dDZ1E)utIXFwd&z+;J+PG87G%4S~RZV)#&E_-CLM0o}VHhCk z5M{r4wl3VH)Rm!4E$4mzSh?dUId`v#1m3I=;BgrAtV;JeNW#+OaU z@g_i@R3XHb)RLBQ`1!B$3Fzjo_9Z*JsZE5w9weI}5zZp`>I*)J&r-P~dZAzsN<&f3G$rwsNp{$%EX zq@E`)Z6KiClq9X+|5#6^k-nVKkN&N3(Isd_{x%7v4Rp86eJ-aw8l9hf)+lo%jRD8W ztdN_%Q{LIJ3Y**)9r3Kc^6HSC z`Sf}Al9`eFq1{*U7Ea*L+RxyS#-6vNb9?3FQ!8n?*%&xB<0W~xjF*Z2ieX~_tYsK= z$-X$q_-zrWQ+tquGEOp3*a{o8liZ5USW2RrUhvH%*a$a<%Ym3L%i9Min+7l35__O2 z>(MI#&T5?^FwUg$oci{&B@n3Azls83cq;(G!Z7FT1?>NXq?=5;2B6RDd%HD1!;j{% z)Jmyq?=x(sVK~n!-M=Tfef5Azglp2v8_S0&G)1|fgM|c(-H5U0 z!fB^rhQ#oH_%?Q}97F_xT2s1}1qL6?dCt~D10PGQZc0+meoqWj5!B}Y-cY_mj!V*i zR001L^56wy4!8;u#GgM5;2HvOk9F`3*ZCR#RU-$-nA8ry$#;Bm3l7h%vGNGcun;(Jb1;ifa0e(a z-rJiWUNBlE)!+MFVVK3B&Wqx7<}4(8sfPIU|7OQ|fN=;S3<9#Gb#`@4c9Q? zmc^?S^!xo@izEBzuS?qcF-ZQp5S4@B$HJM}_8GiN8l3)#4K^@3@rr{ZOF+oIFA=b7 zg=Aeumfe&6^K%3r{~9o=Qhzx=GH7~s?srX8Ydl|ZnRLs00?Y24vmmKs&+QioHFnNI zD!SI8?@&mf`XS&A_@8?63kjB1871f}?A{u~QuYLMjL%Fl7!aZ2yQmzP+;{VtBi9cZ z_`kt#oPK$eiwgUzv0WbevTtps!T>~4yz_0P;wH92u?W1A5->QmXSr;*5;5GtfVe+$ z5s}4K`YZE((<7H+wzpDzwf1cQYL-cpJ?sy)JvdY!+?M_Tdm$fp%ghUy>LiZv{Y;fU zDrvSo@ZSHD4`*rH_-9J@ALQPZykX|P%ypeDv3>SW*sl;>wjVwhw!)D5e^Lc{JlRW%1I@MlrIU}#) zbwxync;rr|KF!~N3w*{qOqX-ph^<}8Wm3Wzp#EIeu4>yB<^Blt+xLFUI5Jo}F1CyJ z*mYg8+ZhlU-)-DjCCz6HTz{D{7Q*JwcHK$~!-73I$@^cfho@h?= z*1l{Qe%JGYRF&N3bf2tCi481)H^Z;L;k`*|;2%G9So3*y2VZReZ#}M`KQlo;*uTu` zd8g+0xYz*hw^BV2UAvm5)Sv54MMDMuU*FkxA^WL7X+G~ep7?M4TRU50w=vQ4Kf@s5 z@q24hTaei#COd;BZKdr2FZ#RoM)nQnEL{0K*t}uj)#898EU?F!3(_+7y!F{WWP{Z8 zyZiP0xta0gM9k-xb%`lPe%it|apq5dy8kr#2-IQcCEf3W{qkqC?B#cgKU?Uttul5( zP5D$wpLcdw98qy(P8s;>yL6AGHJOC4^f#H#W)F60gD=7O)orHDKL+IP$~u4FsW{KJ zlzedxYg#qyI0&Y%1><($4S{%->Z8J-(#AlaBH5QG=zwL6VamKWOT>4SF6D?2Cwzb} zn+z&oEO&Tylq_IVx7dJu`)&)x%$5F_+mP(gvuWI2?gfVeK=T^ID65GE@E*f-{w&ZZ z3}e|@^Z%Cgp$B%zkQNHk^X5q;^Bxv+$e!wy3IOfwn>}@jAOqtS!ned{6=185&L5MR zuQm`8=S_$Us|_H-2^Lx2V#Q&FNc#95wYrY_+#gmET~fVwO@Ma;GG_sc&(mPxOc4D8 zk+Y>+F>qdEs062TwA12KnQ;>&x3e%OUP9}*Rc8%Xr9U%Zo8WB;l}sCDQn_`fmB1vt zgTI0^YWdm7oY}mc1#k*bpHZD5@V`GG3SC++=Jy$NR3m4ZsZNqgeS3TKe2^xlZ0i`1 z)0n{4)7vxpk2v#&lpqsZCFu|6P_;eH)!2t$Q@7*!&!|N5@e-rrFn>6ZOey$Ke}Wx6`v$$<0b(gK=16mV4DXJ1F&tJ{}5D}OeobK^39#@RsinQ zef$95li&PFP&M`Q3Q9x~0 z?D+sd+1lo3!!N_o9M?~xsONv=goYfi>$_!DA7?AmW1pdVx~_7Zwk)Uq zeJX!=_S$qRH1@<271e_fU6k58Uf7Y6uPv+yhUbUq@Q>=#b&xxdn3RXBQ_-2^3-)hJ zoZ;y`uVF^te0;_W5Z#u*XF}}#lY7}ux$33wOD?7mq2gmd(IS+^3*W6U#9I!osKW%y!W@BPQ z+P*zoRZ=@7;Ulo|?#v>V!gkt~4kS-OWE#`nsZFHDKjfd^v+;Hq$krr>V<5pWsp77$ zJb#C3rn(=`Vi|7mup!ltFlv-F5jV1*KhJaA4}>Io1@a+dfp4&buZONz20hF-+THRD zms#dJjxBI%Y%pvfd4PHjx0OC<^Cek9LPX*3Yme&^OvtXqaujH=!JcRzGQq&-%fG$F zbhfbrn=}j$VuF1#n41ZR)9x5bz!^r!##pa+OH8fAGGq{iD636|rur%$E0oxQaO%MP zKCd}Z25X%!bnt!xaEo%{S=VD>KLK_IvhGW*XW+3+KiMWff`M88 z0a&VE;3-1nDs3MOXJVF6Z{Sz$>+p(Xo{}A$a(`A1x{r$IQ)9SVawPyP+rZM2-Ry&r z;yD^{*X3Zqa$dUiM=bIHLsn%;I2l0umES!~c4~J@F%r`BVFzh3=nokn3smJSl!tE- zSSLtH`A3JOYHbOsav#S%?!}Jj0ELpl@So2pCAbrfJZv=B%)Six2?Rq5dHo!j%s>9O z;za$dU4O`eHj{=%%ad2<0j`{P>_lSA7K61~_lz=J&@#h{$W#GTZMNBW$STCvbL35F zcjrlYz5`PZ=Jc(joJP{wP6Q*9Mi%9ryko4h)$Qfq&P~Gs!v_4LYVJMyIsHxw;K*PLBr?3Xszd zVvb(p0g)W9^2#9vc$-6srsBBKZJn(!tJt4Z7sXFuGc7hIRhP+DDa6unPn{B20-J3g zlI>^p%YJM%MOZ8Up-%m6#?s%C()n2uL{;90EVr`MpEe-xCQ$#6e{KixK@<^(n_|W zCJ1cnQ<0G@h5enu#>BVdt4)=D>(4Vt%tLZxGZe(L!HdC2r!eVQ7ayaQd77YAMTeQlo=j9b_f*fad8FGjnd24y$P$Y*T51<&-o&TSN`|LkDMdXjV3)(dl>JOH538eWoIx++Fn#_RGu9 zVve!KLc)Idv%I_IyW297EZeK@1orazHR~4n3|b=;xoFLC72;|ABmrbXhoIK5CGz}4 z`9KbvV2v3Hsm=E%zy_<1+^;XSgC4T2jsK{eLOU5%D$U7x@xD_lUm1Lwil1PNB4BWlj0-AO5;8sGN}wEfStmXz@FiaqBqx`zOkN z{j8UH3O;YWc~)a@Ke2zZE;5WZ}b~S8P;eE{O+kCNnLWRLXG8=dYuyvq>o%Br1z=B9yu~lq#2%WJkN1 zD*|EQWf=WspvH`|Gb<=S8^kvM8^N+V&jWE+J3PS_aQ@5DpG}3tfz&IvQSacL%`S~( z=8K~Wn{_BdBU?Kt*dHaRQ>A~ydI&DxcBPmCYGYy}Oy6+NIvzWX2%Ht+223GfF~I*q zRz!dnU`6mgKw^SG@jZ4Z=mN1ogcs9;fi$KtV_ijg?4ZISdARPl3VtIHSA97V`GKHRiMs>71 zvYGy$p2;is01gIySO4h%+9u`MU*wx2T4;yhP!_BKRVzSb6@)p zwEFXVv__|nPDAvxHR`v|EEEw8j}5pS48C=R{{K2~IG+~~S52m)Jh{G^yD-h3U+IOC ze($@oZ`n)s|1KfXk0@?CyH4rt_wo~|LlBHCVe;0{D!qY z;MvLMmwRBV?)JjRpLhcG%Mcf!7ApG3*90Ums7?*wdsTATK|f+2ykwvV36gfK1dfB; zW@dods)MhnZ9Ds|)X1;0z+@7h5Azv=AS(SpcuOd-FE z=SvYqCqT?U{GPv)>c<2v{CgJ}vx<%lq&Fb-j`R=1SM@`eQ@e zT=h3o9+v#^UK1aA`I-D)Yy~)D=OP&Yx#GgFeJj(Xjy#JAQMpf^bnjMg`ivmw%ChMp z!BSQyKP*;@EtSfN!j}mfI3EGCaj5Off&MFf^X;%pQF%7_+8lrrYnJc7Ihy+bN|JVQVzXO0<8n3lU0H!K8LkHZ2Wn!wUHEk%vq4(wY7ARx&x`?v|JcH;W zxEZwb%B%owUqCCu!gPN)$j81RkZW%T!ypUrk7nC&l?{UrD+B%wsZNisJVADcEv272 z?0Pv9l3_j;J^*6?YaVP$b*^SoGKYYYiOz7F?&h3&vlH%9gE#?%2T(nP*(CjdA>Vtlz}ioK zXZp!yj`uu9GB!sA0Tt^FBbfD&HQM204h&KzS^RA65NMZ-Vp6Miz~FR@f=eDxSUUpb zz2D1|!{SnwVfjoI3mFGzn;59VsZMEor~(1A=e5`BmIu2W?xSk=rH7quCac~^O39b= z9q*xy;p6xJDF6@v&U<@0x%UBYW|}(=NtNNm$qfG*t0B{RS#g#3ij#D*gR&`{lfeZi zLVy09t0S+x>4FJ0s!|U#`F}vtGVcr+{nv*(ghEb_l`=4?igp7X<|~%WI}*W{MVJ|Ui6Kv%-Lz}R|IRWhwL5vv|=aaia(AB`{J|SIVtzoF0ukIavNY( z+Ms6JL1g0Qe6F%6-Zfxf*91qGb}(4ZKSm*5hsRZNgQ*lSNEWLbuX4({%df?-FOmV+ zn^6KwumHhEl}U=B)c&JA$6)DY2Gj4qI}fUWSDECJJ0Z(+X>a0=q*S-10z-S|-Xs3c zIsqX%vWs*^n)m$iRU1T4ASqQ2KY@o6LbLXHZu9}49!$r%JAvPi7>SPa`!%h91pvl} zbvp}O$7lX+1PqYx7c3CEx_`a^P$AIg5wQX8<~U=}FQ4y&>7mSbgPnhB9ewkNngN%* zfubg&3;f`(V`kR9nsbaJ{|k3MdGw4V$bnn58A(g<YE8-!;w`cJ1K*U8Oww%5AXC zfjWuSkhPYXGa4Q!L2T7yv9^0I? z&3Omnt^LmEiH*c$t>~ba*q{4DC|Z|tevUDn%<}yd_GSXx{W;*iya<=*;I1D#sq)#k09~U4 z8Gk7oeom5djG^B(!Un+Yu8^G@XefZ`aG5x({pX78R$Ld)iu1nR&j83Qw?;Y%!(ypa z1YHRPVbv7|*GA+1Mg@1IKE`mdbjxZIaKK?tqB(-oWSi>u901x)U_E+HS#4H1Y|m7A zh|hgMs>{7^$p#}iv?<)z!~CPK*`cBMF2T!b^(z~pkNe$@T)W~hYr$}1KfIs`UOHhf9uV2xN|SF0e-;ZEy{zgGzo;M8+^enfgACErIm`|QB(fg4)d)Ty=5WSK?r?EFQO~sK~@{6>B;tBpshA*anPxe{@wrD zC^;k1DLD4CRmP|Dh54-589N37Y1y{TVU3P#KTkorU`qmQ z=jR|>faQkMZ5im|II{LmlU~F8cRdUX0G#i-2lA7uSS@+4k{KR!I{~JI?$3R84>0yo z5~;x71ll2B6f^uBS+d%QIRM7&dYuUl(!Y_XHIvD(`644TA$K8#XTwCzd?u{J?Z zPfivQdQBYvg?Q!sBeMw<#lH~ma&9DN|xh_e5eee5M=^a8oaaY`WN3y!P8 zKslI_hx|4`ChK@F@}Cno2~wK=wkpT%%e`wCOUcO3%440Qx}Qnb5X&v}8v?%pGU8q4 zE@*P~76H{>c!a>u;{mnE|D7LL5HKuk%eXDBO1dA!Xl;3Ffo^z+`ahc4$nk}x%rOY9#2=7;mcZn@6nIF^Y=L@ ze)4Fn=I_q4hJafiy7pg6>2g+YZnkh7bQmhlk1cF;dzO347p*-gu+GfNew8cOz9zUQ zY%wG&0+D{Q8GWUcJ-TqZnBIT)GqQr#ZHNDz6#6e8nPf^#a?ZWt(;?tPNVl_m9c(8l zZ4RCZrT0%TAwahl1J|3UCCLMhujgjn+-++<0`d+Pmb{6{HvEoB(IkC?%_F~<0FrVq z5jS#xlIn!+Ui-b6yrs;zic#^V5sXV~lSQSFSh=HeP|N%bb&y>YMbf#_zq7Ked4BfZ zW1U-leb`dtFgFwP69UGH27`mXSe2G=G9;IU-R+fNkQsT6ByA-15-TPk{Ml>U$^6ze zHqWLDPtwPK#!mml0h#Z$@;CU>WW`Gg3A9LZfr-#*oOzirWcbepz$#JI15sYVD(S_y zt?^(($g=vu7bSYtwK(oUDBr^$!EpxFdWE;BO2k25<}Q^0Af8+Fji?rf07-IHr4Pk( ztD?`Ol|hFBH@d|tdTW9UVJ8`CQu0UVKS>?u#^gxi+xh}wkU~eh?1-Gk1UrxAFt9{Gh$`%chzhQb%bR}iV2=Z z2LCVr<9}bp4PzSk`-8_Zmg2)_zdS#ebNI?-4;xhRKUr;N1@#|>#mxXFGe%?>k{jz` zDAnLF5ZqHPX{g!NIwP_tPE`3)$2s5Gk-P*@d9Z3LI+Ntz1p;^of?LiQWP)y(qlE$h z#aVD?;kW?dfb&6dmEK2Kbf0BwiHA%VK>$0@2E*ZO^hou`UeDg|@QW9WWo!3BD-K;h z#yyi{^G`BVT*(jf?ksTwT1-F*lI4@vRP+(EG-%>&zAoXHK_ zmwVr=UU5Em?{XvqP0H7u_^e$qIRLBfeBTAMbJlzI){3ucfw|w{ybMYHG=aGy!w*cw zNqGQU!bMkv#Hjh3XWLhP5U&!=HmwjbRHqES&!tQ;!B@%W>&8U6rum z3l(DLI55iL1-wBrXw1|2BYm8PR z`J)HEKCOC_?UeiF24d+lurbCMx!MvgNWq^Q$$_gDeCpYUDHwG-x=V@SPBn)#5JuWZ zdGNH_@7l_fi5+o3bpeeTljV;JV$P%4zHzbApYO}h5ym~4_aTMM`OpSZkc25`A0`pI z0dhQur`v(?<|`wgmbcTC8IO@fs%Y#d$gD_9MBD&9)jNOLPJTCjCzTnWbt(Zr+1AW~ zS#UKbhmQVPUMeNvuFL>6>tl#q2I%Q~6&#W)MSLzHUq33Ecwg5lYD+AI3}Aomq)*!p zbUw1-$zXj1@C!JluS@6p&$eBG=c}I{|2uK0f<)9$w%r0XpFs6^cI+DGEv{9hkI&kWmf!L;LR9`;^Nrpt_?v zLf#xu$2v$g}dyQTOQG|wcl->zqzxq z{A5;feqJJuD6f0RR9=L_t*CVi5AC0+ei7+;%3fZ$PI6yw48C z{lKyDyO8m^q}CeUe?i1$drZom`~J#q5h%6vC1AF{E68m@lqHDI-E zR{_@$G}^(#Le9RYv!rr0Y)dttW#QKzfVF0fp}guE!R80MNMN$bN{XNM3Q==`4YG;7 z3oeRXbvuoYsG_5yB<(Wy=Uw%PZ70|)gBi9bC3$9hTlk%ku)9B-Ft7u`CwYF*#p+{b zZus4d$9^j$3#?=!tRakRZEZ=kMacxbOa#2`PHUO|>-()5`R))OvwFW|^i7--!x6t} zSxU8D9k3{};J3Yqg^#d15{uWeEZ!tku^eRAyBDwZaZQvPkzlh^iIThg}V%GEAiQJ%q7znVSJH7dSZC3rpCuMk_@(%R0vyr!ryQ zPz&&uypD}`Z(+dWY|_gOtJ>#fAdBq%2C}2MtY!(>f{`Y@BBhs80V>>Qf`KwKcsIKm z;>GuB2G{>RlqGpEPW=!V00zFc(tB#(zC_LM9^%I&zjtZvzi!~$?fZ35{;jc&0tHai zjkCiDtbFvcb!!wcxXt}s3_{INYRW@=kT3!5g1J|{XXqbR_#5352_*%jKRM|13*Bqu zuJgAfLeZP0(QeO(i{I=FMsCCE54pvFg%GiP%`2Pl(g~O@8R(y|yQ3b+jhY3)zIPaO zo?kthZ)lGY1DfvYb-=M#u<>42V6qQ!bVPH)c&ez2v^<4GoOnvHtnLx}<+4%1@i?8p|HXcGKxWiXY6^B~V zKX*HARvD8%H;u?~=WB-($Y~tF>hoFoSxeO)WMR8h_%@_y&M$UdWM8E_pFBC=_Tuke z{eS!XcPV&TPJN&MbpLD@9YEQB`>|%AX{lU z*ym%DNCG0#V@MRB_yaUk8jarF`|Qz3o2W^7v59=iB!S)t;pGbTHw!)u(yBZ01ZnHju8umx)05 z*#Jlm2EM0MDcetwXg$#dKdelyS>xwB*R3U^a^J|kAsq2v1>hln75VY|4aw8#>lp^C zk220OB7G#*8U^C8k^&+aY6DcW!Xsz&72@Lnw6VuR!9&j zXYig6v`|c6T3^`08G_qcw*Hd`O*z|C?!9dXUK@~=hoMXkb;yubOVj#4?ZLkxL>@e7 zgSMhKWoT8OmZ)G#a)6eUj6p1{1Gto?4^An4~l-OkFkOoz47cKXq$AtTC$ zeW!U2?E=nlI|~~t)T(md*dVXj3EeT>*FV?t1pba4Dia@35)(53%G;_#Zi4eG1Q)*Wsz2`ChS%qh&X#4l z zY_hJ@ppS|f0`{~ZJ<75G@mG@S`n!f_u5Zng?aCVX*6Y`OHrg{9$?Axxm+SU;O zWPU%Z>xAR?T|#bRD`$ZlcCwCxm7(lhN7DxL4rR|eSOZqJF_iDe_R+xT%3$0!*zekG zYM7G#W;VDUNY)t!W!4YdjV~G%VBb$8wbbeVRoI$!4}C*WUiVeEq{{?eE#K4Vj_@7EgZCA!E`Q1FNIf(OgfCADt*9z^L>G zmYp{E&Cz&^Rqu@)Z(;ksaFFo0;Mk&>uEptAL3#w1Sb{XOf!x(nOV zR3qIbc5D9h%1-^1mw+jm(Zku=SAWD2v;N;z7WjMB2Bu=&Te8GKT2mJt;P?CCWZgr2 z@NK1HO0P4UW+2kC9-8a11c&7GzH)u_=gQK-1CcbCJZ+OO`n}VdZTFD=Xx-BfZYs@n zb%FC5z4j#6GIFcNZJ$rt9)ESzv(0GTNz4Pz%^3Uym+OD~zyBW_2zD6wN*1z~bTJcC+jks? zl0Bnvw9ckT%E|*DI!tGg4G=kenAij{lWY;fS_m3nLD^3&i18$Atzi%Ak_>W`(?HGa z??hRPpy$VER=Z5;Xq4T`W}a@Ic#Tk%c)z#zQ7DYblK0%nX&A(2!a4@`<9$>MLeWmj zhduFqG@hV5(tl0L{0uP6+CQ-BfZPst7_MPEhZ|>=g$k+&#;|lGOGw;sz#~O@OL$H3xuHfXD&Q( zCXs4Va%p3^S2p=jvgkkA$C^}Ve#@EA#s7B#@U5d{aXtp%}UAh*a>_3wnMY6Df7J?>klyHD>^Q=my zCpJOYVExQ;iU0lpO|P-Un~CxO$iuX5eTzdZ@0VLb7iwoV5OW#y-A3X-;%EhWh6@#`0Oe z=N(%lu-6g$%n1WKvm%TMvM(xCTJ?*^V*Ye3NM)Ir_WXxCZvE4?82Q0AV8~ezdAL`d z=aTQjm*JsNX_@fR=2m#wA%{Jm=l4L^C>3YuyOL47&(<6jgB~9qx}S*(+d7o5M}?f+ zD^;M*%#*hpXyZV$mDvc~X^b(!RQ-+mCgFiioKz6Xtu2ELlEvBH-L6#1FjH=8=K2;2D9alZ3qcVfmhJb7B>Q_oj5!8%MGNoM`BpSBZ zC%#z{$ZKZE*dr*jn5Gy!cjN$!tY>q_t1;+bO%t5khu=@?L-iH>etpBNvf5zS$vEsq z5=){@fGQ`)2luB2DFaMB zXU$~S?*QP&PMgpE@%s}T@a{J===5K4 z)oJ|CC@m8g|Fd$U%vI_6uWa0bJ*j}4@#JwU&y5HJgb-2!Jj+h9kP+PU47+X1_f-4p zE+6*8#9mIjzh-&PJT-P{bCAv|%&Tm&romh4XSh~WQ> zJYZw?c`|K24!p=(O9DU|WIy}V6ja5X_bQNqMoa~Q{CC{LOiM!}+{=dDM+6u+o@c1? zkN`uCGoy7sH5t-xT(%?xEPK?O`&WC7%kG0l$aW&U4tF-1ztT=B&zbx&SOs9v_s2SM zPF>Pp7XiCVX3p;1cBU(g@mw?NsjA5N35Qr|DX2m#^Y>&P|9h!4_oQ`968C8Y4>)RP z{&D`o&`dX^ik~l8Ws9$~p@~SVQ~nEZ1ZXFt;f!(4#Io!}fByhcgF&x1jEKb2TL+ue z;}7qjm>MHuZ91m&m33~ujxfqL{HM+XbZwF+=PN)$Ldz;`P+_ak1lh;;k7M_07UZXW zk6mQw$^3=*Q^^@v9ok%6QIcTEU*{^0)91$!`rXb?kP#xx_t$_FXVmKW|1>zADdvm> z*drNLQvY!$&TwCCRf4XZ#S?!V;P28OYZ zEt7=@#<`{X!0h zW9Lu;nqXGaKlC*%9SJI8hX)-G8L0#u-D`6lOj>4+s7fPPxcJaP4^E@^@_%P{Qj%-;YKSsL5XOK)rO ztR1p)dWWkycqU_u?p1RJhfL0<=&iqQ)tVQu-{2MhJ!(#2T01BxafY+NZ@;fRFQxSS zEU-o`2V$++%xRy``csjs*d*>_QvPrKbUWfp+;FNsKFSGW4Deh$$mNaXIjxUWXE05UTH9lZ5HSpUpl$iNttb`p3? z`ly1+bF3A~{~})ivD@S1#|FPGUE_vs3;n2+97^Qh@R`I1GT~~NpWr{+V*u`5j9$dA z@4DP;`BBrBH^$e&;zK~k6h@uff+A5-{Wx{hpWYB?{7k0Pw-A&jrB$vnIlAblH2*%6 zDN4!nK-k@v=$hU{Ub3070h$a2#;$PY7@pM~bHSX`0lx(g|5OqoVnB3cH4nu zd#O<2bL(p7;fgyr3H-q!wlUfL^HYBP<0nEOZdJ=I?c|cMUk)m;aY))Fp5o{$I()TB z&W+W}>LIt5<*DJNP8AMGpzJdODUW7S3>okYe+0-B-1{zM4cswejLoY=MA5A%h|i3e7#2ZpR~ixD!rvH#T9~e z$!PldE$kN~<@1Iy*%E%M`-nb3nDT9XXv(Wj0R-s#B@pYRbLuhYF$5*4zJZ~9#K`Hh z&eZ3d-$6Lf3rhO7vY%amys6UdPd5L#IlxZC%y!CmY`nK5tDgJ&yS0Wx>UFv&M!IU- z84|Eha}=U{ot?P}wj@c-Q^j+0Uuu^ro^i>42J2M4veK{GnF$Q2LT<=%kV=3$CO-Ng zV*s@TWz_&yKwzAN_#GL#Tge!5qehMC1FdWDSZby3#?>M&jd!qqZ15;?QbR^nJ)n8`xR+Z;qt?a+4e-D)tF$_qdoLNp^`vwZnb*)(@TaT;of=mJl;tnmEp|4Aq`rsp z?9%z`U>HCD2cc99X=(#3x6{0L44I~53zR_DF=k2-F`V>n=AXzxmpnAHLNt+`-2Z;I z4XEn#fo!QRT0k)B-43z*-QYy-2aj@)WZ|tlcUn+xI8Ui9+O&#BN z&bKnOjh)GdI|UsXcm`b0+T-FGzj{Dp7Ez&HWT48Iq8;AYhtg&OlG_Y-Y*ihyBy{3K zR^^Ur-~Xsm7KnYj2^70bl5U{G?@+!QznFdEDNW&o&x;g6imtJ143fJpS}(Lh)As<>_{CO{dH`%FI!p<&SRNEbj3O(Ut0sTO!c= z$xtq4TS=*9H+u#l9kv}<;(JZDuYnS2+kzV90)oUiAN0VwGzN1R6FuGFRrlJu$ zQq&d2CChl`o1#zuswZF;oszSGR}5+6_l9z6pUdZaDyrdb?W#`QcMj{o(ESW>Tf9dl zr~MKH(KsO9b-(zNe~}3Urj9ekHKF0St5}px2BLrCbDRrlObJ&AxCAue)%r*89W-)b z{mxQ4$}qs<{NjStv#o6dii>3%NQ$-PA0~FqIPGJr)5r4(TKf2`g0$%Q_WkZSK-+mQ z72IG+&pPxFs`gj-x-m|kTdus&U99Pf56FR%pM|$^dr^EO?=u%j4L*qSU(0Y_y??4{ zM-KEyWRr)WNLt+cS~fm;UK9A60J_j+)jyq7R?m?16*!x@5d^Xo|G&OSatlWq+J4S$ zh?5-3`BXnGp=oEt&ve`-@f~F|#WT$b@f*_UqC;2w!V*e%24WweAU4fNIuL1t9lS&P zVcjL;9M4{~1X+kGEqQ;p&0EnGVrdT!rA;8d{EV{EN;8hjrrh444{{=Ac2xi8|MCA> zu=l3gV;p7B(&K%#b*NFnnJT5FnB(*9Uw%BlD=yP-OqtVKK;beANrGT zB7^+z%|pGj($Hdn=2e2$1Tg%1wY;9JbdUFBzlsehvleRQ`;FCfkG{zOx9OC;Y74FU zsd@q3P)RbnbNpG6Z%Tpvoq(`qy{T{zhDqFg;9UKVL$VVN58JnO`wfJuXH+aVlzO!o z&bX!4=@qVZ&?}BNAkXi#*@h`qfBR?WYKH>l9wVQ`{C2PfK%A0ji*d;yz?%2Za5;4d z7J?A{lgkWeW&UM=uoso{^&ps?t$Isoc-t~^;djp9?7iptUnb{npZ9epB)efb2Q*3v z0yY2Bps~?ivQay93R(KPR9^x(fPSht2D`Y7v|e`S4%Gw!8?%|P=~5H4d|S5SdwuN! z_@uOysZ{h#+M)lm|IiPRY!RgTSwiS~_DU-QqzuFuK#BaVo9nCo{`BeJ28hfTH;B;# z#`(uX$83vI+DNFf!KhT&?^#`XN0#AOKJ&SmcJFGuvqKyWV$Rrqb=y}T0;LNeONQH0 zNC1~j4|#6vuQ%7ejTudFb=jtHv0Y7oY|h>9wCX-k#T)ooJ`XxSWu4!Fe~4gR>0kNJ zinYPJt>GFVdRS6+N;vb>lG_Q6j2{TlrXSf~`X`;NiF<)TS_>VN+29TYyGw~pd}X?` zCt~|qGu|=guj#dZvrat2z!SPZbzOb+=VSu1mbRwR@P6XmBkTE=pYJJYlnoUGpa9di zA;2=z*SpO_@_pEkmtMOLpsw^*BEL!Xslpow(tioC0g>M4ez(fP{mE&zL*J0~+L;9W zdwl-dfvY>m>pO*CuhGn(O8?XNhs>v(UC3y!8qD_MyL}3={;C?us(-5c+L%o;U$;^%iG@5bCZ3;U282ZAKJ|lJef|!1V{;4t;Uq-QKS(Mt^aaSw zrl3don5S)WTq2U5^=4LMzK#0&y!y2GPXUZ6o%?D8FFXfRhUv zy#TD}W4c#2`)}5<*o=L}c7rNA#`Mh~=$Brk;*gWom>J!3RF~e_eHXv*u7krUWZhkY z-|1$5Y5L^&>|+JGcii)YDp}U7gcZdJYN+>n8wdymiKAi?eONs^>jZiM#{dGJ&-Xj3 z%kaAAZ~P1~z{bwVnF>1AMRa1K?!iB!)Qd9^#*1rly=R z{Us!(q(70ZyO0_XVzOOGXThBU;PiC1 z;-bu2yz*4&$LQ{4;q9w#?aYew0mf$63v^Qc7QiqyI+w}vCm>>PUbNuvMBiuh4U{#M zp{6ng16%!~7Uoa;ss8JOAi+33^IvyNB~^c_zJO z&^n$qcd^U+C3sjrZ{$CVDsj~J(@u;B49E7(TyG>ePiG>}#%r^Kja>O=0GH}CHT#yO zmD$Fo#3l?6RsUqtE!an7qcr%<$`ztB$S0Sv8(gZey)il>qh&Iy+aJ~6RYCCa^z}YM(nhgm#}Ylx0=oYnbCCV==vm^+kdHP~3BGE-&suMwo1w17Fj#5!U7m;J-$t(P zj9w-)GJcLZ6r%BiTF+bu;b&9!VZ{Hg|YXqQrZYs$Mr~!($S|+nHb-qjkB1` zAnCskV5D*oyQXja&PTSX7yMCo_UA*GR`4Gs;a$uih<@`~qk-hBI4A{wdlrNAK_n&k zeO^1W0ft0HbH?#gFSXK{BNQC|zDf!71o0QJkl8|aepWFLnCCZ%i2Q9Z4f(Ft`U8g+ zA;Ji(5r`Q{hhY4QGWs7()x;N(wm_rG9ix7{cb#@CO4(P`H%qD;a}sC8j?}yl1msnm zUp|iwOkrGh7SsCudBPos#8G}TZa1ksJlfJH%3!NjVqg{oxtJfc0UkItD=vO8Y2gE$ zXfOQ5s2idq?TYwm?;K@z$K>u33cs_l3!>pA$&|L{P9nVh!DlN4_SAv&9}c5}m$fY> zOY&rp{4yAu!*U1mU0QDcP7->|c_5ohl6Nc<lTyXm?Z3ZrmZBI_3KUmN;@EP zMjo~W1wS)5GlFHnd`UYc-K9DyyL1_I{}|7E{BP-PFEYg`cUBH^X3J z38uCGbc7pYu+|_`p!A$uNCW?;1AqzZ5U?ld>+_gh{eZj{TMQihkH}z*iGv;DR?_Y= zAL*0(Va|0X-#x+U`y)8Zgk;IRjsV3km&Rju`g&!6ogJs{b#p191M!q|=H~fb86%`=xsajfDK7q+1ww@m$4ZmGe*-TSV7h(9L%`}wclc{@9La3AG6IEW-|W`yE<#dK0^WZ5Z3#9ZQHeG5F}93S`kO z6e0bZpX+Xyi=pRzdcD&4Vd+0J;q%9NUHxq!4b^7y^Z3682kC6&)sG*f{nQ&E)DSyu zS=d&Eb^C(MeP!O3&;!W?P~QtWluF`vc>7)GsTKJ0F zA%;h({215PZYJ880nk}`C{ddXd-K_2? za}4Y}F7_(6D}JeF2&}BLpQP!(^&1Jy4du=Tdgo^{cWiYByLB&-p9a|q=IeLP4x-{e zAxetDdDTG0!oT}hZ~XB{X-XJjkE-760op4P>^ZP505nSbm%iZ87ChOP_jtC|Gp!Jk zFI9rl_5h8f`LpaXOU4f!TWG(0X$N!RB>FhT{r1C;{CZ_h!I)5cGZLIUGYQtKj&3yN zSBjqN8xqQA)DxU%Tah+4S7ek2plK-|%YTjgr^{7uZu5V{S(ORc`q87c0oadM6Vhvk zy*Y<>oqmDS_}%7;pv)ia>c;p&1mVhqGgTU}h0j~c6#Nu|=D7wek`>h{AOEZzO2X0G z%;vR4rmgAjwb%}`gKr@16)vsN`Rg-Jk2{ya`4`Dl2WKx1@Dra|I*lMRJ~AXqd_Q(` ziAGoC6#?+Yf4D7Z{;RdYRZRA6i+inlaBSAsv?W>_kM3M2EcmcHITOo_<2G8PZ>mC_ zpiA}4#(6c1aR%F3$BCRdAt`(}8$a-+L3*XD`%BPQY#hgP^yi)?oP>QhNt~N%2tY$VAmoR&T(vX zGI)^z7}^gQ`CK%VoZ2{Ns(G>u2DlUS!k+^{tJNv%nSLz2 zSJ^)nGU`h&*LaXv<_m=3|Fo;J(I-D^FQ^541^C4AnbQAxrbT#=9oo!H~{QT0S@E3Daixkc~`IGzVhocw4IReuhM^b(V?T6e>zqArwe(;`(DAGCXg|Z z%A{U{cZ0p$VSDSf*w^*?1(N7i?V zflrxgY@hle|32y7vPZvPGIh1yDaTKybY8`T1UZcuI@5i1w=8cSR-FJzK0hO`or_jl zVmy@_87FuwoOX@$Q4!QAT+Y{}&^XzWR1L786koHXiX=bZj8{3PrQ+zvLO7Z9HJlZxMewq+hdNGe6I%g*}=L1_Itwueg|Ebbny+lhD6%|Am zSs`e>anhyq*{A2bMn99`ouM`A;hY=X)^bU+&78ix=*X35e>eoW(&};+i9g-O@+X%| z)2H5U50lElVeD7ER?P6SwN**6qtCxd<7a?hsBs&DsGe~3TCZPtvk(#(B{)yD2Negg zucAC2`3u(gc$6MMGPvc`(Rcr+OU;$+Wjmu=F&8G+SV*}zWHE&1VL{C!5ChDA@I!1; z@$)5lD@*)GeafmyUF)IGHW^It=6A8L(Ls~77rfDvHj>mlAzSC_+_Qm0G1us;)_?Fr z!7#a>*onm}y3+hvH<@D)zf$obyuVvBVy}uyPs+o;+4xwK?5||9(4=|K=fL#HD-jEu zk1fLG?Omh=tH5B%T4gw5e=@G9|JeUYn}xM40WT5<^bfw!hzu`TX@T!6rRw#3u}mBu z?qpQ7igLWCG#_MN0^*VhsdJ@lY&fnG1aUbQnXJvdaq#l0QCBbbI0$_{#d5Hf$f7Ed z)|}F%x-$No_$$9Bwj(Tw86S`R>8G;-9~AmICBNrEABVQkLMLbi@#d|1GZ8qKp3+yT z);tojB(On@c#<}ytGD$nlkaC+-Gtvc#IGTq3KHJrw&kX?pZkhdVEXY(D9#7gOgu4b zM`69-N=B+bwSn}*MGCQNefMxl&b^uGg@3-CM26({U@GQ$|J%>@xRoYTNbe>Z>VNxx z{2vbJsKgyW_y3Qpe_6C;$&G7417ha=iV}INaYZ&&QmOv`zqrCt4I2iJqa-u)6LZDc-ZJ=z>Df#Hf<8D66CuNKLNyg$n~IajCd^H*g>9YdRzU6 zH8%hT%W2CQPy}9g13L%m1PFQdwx{X2!I*m$>jN$g&bdyEyp6H5cG~rO5(hgr05zjO zX|s@&nCV6he)?@t6o=Il!j zmI17DhU_Cs7(j~>rmQB+*D?!o(2n}+Ee{w>8GXXO5re@brFZ}2xmrsaST_7F z3|v#d`nlzEg^@T5rYV;_=o|q~C(~90>X-{>jPe$xF3*0=I>q9%%>JT(bDe9PlVc2L zZo*)%J;;4(08N12rxcUtekp-_f+TJ?CR@N@By&u)@|8vxjy2@q$p zds=h8ertbrE*iN@tgYCQ0Z0Mlw+m_m(N(mobFrGx(*sV}a%x5C0xQrJL~x?V> ztw%HOl2LUeoq>dod6`d-el&jMlJP%hpCL)TCpez^z$^W;g{^r1ti4JJYqDGp>;VU4 zuRQf&J7x()W1q%^`SYhU*gJsOLGPeY+=4d-vmu&K4|}N7fH&8M%K>xj&RyA+<8_-x zW3%u1(_;$K&izME^Un_f`AStq-fW+C;M2smb8r6$9N?jNt^ylP2$TJtvwo<~*xmz9 zLn4RdvaRE^vB|Ob!lxBFGn~V~oYkByPmev4P@T2W&jxyD+_C;AN@$h28^YJ6w0Jd~ z=jm0)^$`_3ggR$1=C*9a{yvd7XO3tC5d>8ttRhHxwk4+4^ZDLC*{S%&lxdF>4YihO zkcSF#F^HcKX?Yo8Z|?oK{*;n|-P7`>y@#8L+j)EG)1R9L%?|K!c8Bc@6GM5 z{+?5Z095)-S$Chl{-{g+md`qOGo{;SY{Dr?iqTP4<~4>PNib#h5QKOJs|s8bdvKeH zOkO?A;|PvTKXnCRCfKy#DBEWm5-M;T!CK%|D~qF`KdU+tRnJ{ygOcAB+?d2|*!XRL}!26q5zi(wt>2p_7{onun|6^qfFf85unVJ>GJY~T2_P``t z`2FPooO8kY4j3GO_A|v%n!FQi`@Dm*PpJp*^_ELxn6#qkb++W@V4y#ECFbI2q56rP-34VqoC_M3Why z#IOOO&QP}0pZh~`vq=H-hk@@6j2ygDhFk`%_3*!Shoyvhj@fdiQE5@vcSr3CnY3r7 zRTb_r!46<*ZGVP2RNPuElO>h1dpCwQL{+G)Oj1tt!-+QYdQ#(l~pQzAtUHiAFA=eUoLpChkoJq0Y4x zIK;e1T809kth*5;lV0I*6(=Ku2#Ks&T@ac;e+kJmu7;W;PuG6&y#;^cGw+iw>(x#_ z!Wm`#%ZSgL{C(s+#n85Yb~v*HV(fJaOHRlDo^gzJwn9Y#U?n{#gBn>4q@yM9zPBFc zoO^1$I*eJ)p6bkzSp6HzWqL&a(b$Ww`R~zf1k%JDz4V=`hWUrh%##K53BULt%bH~F z-&iRB&T(*dhnWqe31BqDL4r#%jR%k;vP~oG15=)-Ds!W*kOIP8E}J0DcycDu(v*X{e;sw!;Z$%WTIoFB4fiW6Dj zW+Eyi78qblEUhm)@RS(>>4$uD^oP7P_Hf@jFGQ9*QTNW75oAkb{3+TNt^ZT+%831I zh%P@zbU1pR84#CB_7#1nlw_b>aZesl=g-&~HUZt}xpmdP+SN%G)(s4lU@m{od7$mV zYSpP+)FwmnJg(-r!F4dzH(*q<`q-GTLH6x=ma|#YR3iC*zl+O~{K(1JekGAW=1z77 zN7_5+(w)Lb1z};m-t)WnW%(Tp0pXb7sBtDkPYDwlfG;6JJqlv-JkNr`qMt z*$Dv`AG^dM5M(!I&5_sU87XDh^i=6&+zAYGhX4q4~8&L(E?;6L?8DgGUFNI#O zUtum+T`3pV^5ZKD{{RO1Q~>W?-aza6(v!+n@Xrw}M`?Lp1sxC>NcdXj|5E4i2@)DgcuYr89Sp@8+gIfpP1J;zg7=XKCRRZpDp1>Yw>%|U(s*nGHR<>I*vjJ*c|}! ze>i^}PGPeceO4e+-ew`umYcj}-j&jevEdlO^iE;48{i|IKKfCjGO`hJU+J^G z=UvVOPQdAET1r=VF0wH*zh(Tx&N>qr$1*BPLu-wO`+L1>HQ8fb#wX&kcNdn83IirR zSNfqR(>0wj^3HED^v?fw<&)NRyFR41G6M4EUq!FD0kU^bV~kMD3|G{-WP(@S`5oVOkZtaX(xRXLyCq7P z1C)Mt^4)ssv60N6!+?nN(jpw5QNS6WVlDx_#`LPXcbA**xwrYqzgxX`U~%`11NZd# zxl?K@cA6{03m>`Ui@*`Kfpf4U7VnxhW7g+XhomluOhR2_Ui3suZH5zhF^ky-P*s+f zv0~1&=HZ+l7)(mZpSmQ^L+@-qy-9?1Ovt(QM9vrrxz)YrJetZ?7;35O!6H5DTmk^x zn%y8M^F3QItxsrL#+k=cA7XmM501G)w95+8`~nV8JQf-q|4Ud z)uQj%wxfE~3Mq@9Ab_lrilE{4a{BwLdqNFza`JCi*%^ z5ni0DGuL2oCchJTZ?)>J?X5o+TlLe(8$lpG#r`GM(RLvu zQ#I{tN}zzvkDnZ0s7VA7lA!}5Y*=%@oNFa#>c3mU3X)zm>f?c`=@*?7y(Z{5d>-pz zzrZcNpq2aZ!I`WaeV{RN>id};Zac)fmf!W6;}=SISqp#p2}-QKHcX|_(+?|z{b#9( zshovcZlWM7tY#;;i7HokTmGAVTs@gdaEI?L=3~8A2J`NQBn51yG64C8JO~X?7AR$p z_cl!H!Txc(6Sv`iI89pQBXkSd2TAHP{6abZ*?AWPt-*5=xL8Wn(k3Y;0V$XrQr7SP$R`4>VqQp} z+A7z4h+Cp8Z_ifjggh~ET)KMsR8d)q4LIle^Yr@9$J893-;>}tax{-|K}Zsf^!jH* zUYwAoef!4OCP6&59-rx_^~O~VA;y_eaB^M{f{k6u{mcIKfi-W5*)_WHh9u8_=OyAl zWuKz5?4HF*Yi>QCYRDL4D7!?DddRU@nVU>dasN|p{UhER;)y&Tqa*$A5auJFX9i79 zY_{*P&;7FcAiIL--Nre z?K#$~2m3l;*{XeGUs$ny$Hcp<7JOcg6QtV`rMsEMz)B@2Mc$RKSa15cG3{n)qL^^hdMm)1Gpd0N6xfY)jbUo~|NunGfzc5sw`G)!7b;qcZw z_>Ir0Pe~fTWq|nu_lSABp7mguoB;te zJj1kWfq6HY(i3K}EpV_4t|UCCHq-BhN>$U{SYRsAmHNJ;kuTM^z8(A7EoX zpnd8?WTfQEPBZ6IWL6w-Sw{{=vD*gEal9Q*3TYIU{O2HS_a9Wd?7wUOJvc^#L7!iS zz;r#3a}Bdk=Bj^sAW~wO7eN0Cl8Jyw252b_>we_Oqout!xoyc!W6?%Fr!@K*I~2~B z0gdjZlumn+;6Q|Qdfgu1^^3l%OZ~%&Ol-#w;>YKkVNTh7>=k6lCq&bMY^u;%WpJ&M z=6N`~qU_BY?|6{O3`QM*Qw=ixnEbKA6v4UA;843aDm|X&2pReCS&&8Y zxw*G6KdB_0>S@|Fbnr$DD_U`*+76wDj zq~EsE{XO>azmW!?If)hv`@!c`r{pp6G1wu4mUyZY+cZAM128Ha*h?U6AP8~5=cc!E z0CYIo5|3;E&<}|!2ol|=24!rCr zKG@6t@A^A2^T}0^$XWaBJ@>M~u08=*!$Q9f2@K@-P_5!Q5XSPy5o+QJIZ)a7DrN<; zv6bx*N>z(44s=q=&*|Z$zJa%Sm89=m(wld$3$!0sJIp+5Bj)7HP2#8hYs32A>I9>%lUB=eng!BL%H&^B!N%#?y} z1?V~Kk6nt5xG&W&*6-t>4Lb5zabH*T=AFO9!i#-Ql5X$?@$ZmIk+V1VsUZ(@Wr{lLR&wlH!= zI=u}40jOjyg3q_F0oJo6einS$F>irgZNN7o3xM)^X`q2g_8qS?z`?AST0o;67-2)u zTR~KnpRYYz#eE^*vx0PurEyo@sr>$u0Z9m=q5v|)KusolShV|d*$I+Mt4PUT+&!>1 zFh@QwSN9&W$Tt9D3?OHKT#f)>1_6y+W^|F~9$-MKb^uuBLa2(8!^RYql@Z`r>f0wi zqa2q55bEzb?|L{RdWgiV0vu4)>$wpxL2oO)yr(`pNsGR|Bh{99BD-?waat?7&lU(2EmvvNB5r54@nV#UFWPlo057Q;D9IX^eOiX6}%1Z?c0gIZls-+%?#{=0;9EwenYWbXMfd~Qp+bw86I zSA8zuLvsCG23WGLoU{I7G#@a;J5kD8WFuW{dT!wA7j`dyIb+ZOj${Ws!P|SzGgL2_ z+(2XYXZ?cBc~9P6u{arO8XW4uO}*v+vGXQG>^XP!BPY-r={!4tEPCPi&;L+Ul=;^G z0a7qJZ%YqgdrE1gxYP4}kLiOoKU^N5R>m!-rG6z>Y`n-Fay7;T3&N4-^*>ZYCWsa@ zD-58Kk1hp2#_qdKFKvgh1D3(v(jZ^ZDd|V4d+h6}qhGbl(TBjL$b9u^-d?|b7z(I! zCC>r=e1tRvd;S?r0>Dj>kqQ7|o1_E)y1ryg43=Cz?ctRKnfNaZ0JEgDGg5HE-n~vH z&Ox@(Uh0qeIs_Q~3()}H3a(3l{2QJ%-!-+tZ813SIM=2>g(PXcbM{#$wq#aH7Cx-e ztkIuJ|00UbjGI%>CjjCM6$Kh;e*66Yv=4~J!igX3b!NO=I!%@!5(6 z0QdeR`qh2EWx^*x!3w$Mq9yHCjj>=qPvaBa+xGa?CTKU@f+Cv+A1gwGiJ(|;3)_aGZfa*8+Mp9fS}79 zmpd;e&X(VQV)uJ-Q{vlTo!m?vQ2~Z6-C^TWW^YOO;X_Q*hkrgf0`L^Rz3`uXs7&!w zcX`8?38;pPE|+kPJc)CMtsv|!51Q?jf9BY@e87-c3zCuycMim{i{RsahNr;8^fbbs zQo7+#EiDL3oCB9Wj}1m?gRL0Zx#Zuo_1w3RRh>bC8g~nNhZVR~$8LCz& zo5-ec){`=0jOfUvPX27lvK~ysXq~5&=Uemnfw};|a<;WP#^uLRM6~X#4F}}oExNZV^tY`Ha&+I@YQ9-8pmg!z5mkdgkvi>ivN-o99jD>gQE!zY< zbVbTG4uji=vOR+bRq1(dc0HN)rrM=GHsF=K9x)}bu-R!Ru;pxLdAe2eIM8TGud|h> z44wl0o{_2^N{s93Eq48sR6nvS83wa9ipz}MZS*>KnD1`eD*MISl}h=yO|^m03n}Pc zIac;{0;ptbtO%3o>}`-aV$EiP?Sg>PlMWPpx2$MHZWN!AGpUdRP{)+2AACYGAcwV? zLpDaSG^_mfnk;@?trSgt?gcvHr!dNGNQ}ctl`_O zp`kZfSM{ShzXknwMoj)*t}?)Gi?%E+S%zO*pVQuP9{?g(0uD@+*AoiD8=ZP`Ii)2s zAh~0Q_VbZ3PsA^sf7!Pjjmv(iU~|sA;qW~^#pc`-ze_HJ_PFKEZvsk`6|Az;ihV-y~R&aJ-g4m_oBR$AhweS|AJEDH$K|1LX#`Sew*+VeN7sa^~*?w?B)i0uj_Z0y#$; z{1GtN|IcEO7wo2#G=n=*5i*g9DDJuT)MphRrX_%CAU>EeVH<2&slQf|cE*T)r?*G1 zhmCvR##7k**EXetk$4W=-#|{kB<}tK{j{cBay_y>R6^R6ub^G7{<9`5?v@C0~ zTj!t*8a-3`D=kA<7!y86yMwUnGNF={=Y>g~tI){(9sIDu;Gr$fVv@OjThlK=i#CIz zG4QQ(m3I4F2H_xZM6GN#J0IdTG3SUuDdQ5`NwC|1WUtIhke&fqzHLwZ-TqeE9Y)%r zU2#$ZKxA)l81o(Q5a-1|mqztGv=)S8V|wYtNq!tAz)u8|wtdCK?>GR;`Qv5C1kLZT ztMtLZlrjOjB)@-3WO_cs;y9NU)0e3<0N`c--&PdlnKf&GMV6Ywx*$K2F=T~G1XZhB zAEndhcM-}dseYRC=hE}p+!RVf_WI0aq$9T|t{p3e0>HN`sCu*|c5yBM-~<|yozXg` zE|;^bw zFj!yVuw#A#qHB$aGEse0&JZ>^B0!%>eZYjI-BJ%S-&})P42UKACoGZH^TRgcA#esU_s6du02RC$#b1%m4`P` z`sVkrJ)h`@cpt#nVH)w>HX+V0L(}^6eB9UHfaF6$pl1`y;FX6o1+Fk-Wmk3zaGsBy z5iJ6~*pOMtx<#+*yq=fA=ZuCR6{Je0WHg`i#0G7)>oXBNLq)O6^&Z-KxcZ?~a}sW2 zD-M0+^z0t=+FLn91}%CZ+cPdX)lC^PYCPmSI8<-+u$P;=0DI{@9{MNjSDnLlXG_7Z1lH7VP6s~!EO_1 zpkrIo4+N+7^P4q(Nr+VamtOrGAf5Qd)uffP4H##1+BSP&O)_+=;;*HZ+}P(CNl)u} z4I)p_!16o8p^~G(V-4M%ZjyosfUg zLCIu=_3e@#_7e>jN+Ls8YC}87Z!*-rle)57RAr@ltb9gQx+K4eOVx)eRjyy`JRdUD zF(0qDL_@gCsk~>N$};|`Z?P>P(aWQ1S;2hi(GHzF#5i#l9XkwJ=4VVs{bEX2GSni& z#4nzF61l!>L=_na6UEOIQbFC4b*p>*KxX$8cYore!0bDRWMrb5c<4F){lWeflROhA zH9|0n3)X6A?e|tGRs7XXLkQIIGnIBejECBWxCU{B`?SOE@i@M)STgC?z#}?3eKro<;W}{>$#D4GToT)N1|14;yGsDpFy0Tr@U&nN z{b}cU)RQ&}v%l0Z!o-fN1;+h%FU)Cbk}5s5h2c%+X($&Dn1m=wxmzZ?tDNyPD~j2f zrK4Qt%)JT5IOW?>o6DX<*vut#_EB5P#P+T`8P=?!<%pK{9MS@T;=dR! z9I@@hP`$z0IF$Q%T)BY^M1x@BD>F3(hz8_mC|yXk%#$dlbd>CK8#hfPQ7++39ODZ&!?RL0193;4)53>JGM~q zb{ZE5FQZ(dbP#Q*TRAZSg2(^60}gVWFx+ViY3|5v4z`v%s4a(wvwz0+FJ$KiknPE{ z)8*;0ta+ZVjvOi-KC9t!W_P8L&v8XNd)B>I#z053D?uKLudw)8eqE^m=-P4r9*p%; z?iM0a_*=c`2hZtMelMSib3CQ#_aAp&^QTw;QkUm!|Dik5tmA7U!w|z0rceHb-BKXH z@(cmjF$gw_YFMv~}hoSUSuzs3nn|nq!8IYFl9iP=CQD-E1o;DF|i#bjt1pW}4QiS3i||;M>WZ zc`<;pf9U72Oref|8)E^~z* zJ}U#wi{MtH+X_6nSZ=stk8;+*{jC2S%*tZNNn~>E@5UAPyz1y~b&DfcA~LshWhG+K zN>RbnoPYOHm9~eu*tr7ZhN?$T)^uWR3S0lqeeS^B)n8H^jbW2!ZL^I@n;3G$09db)RfsSK5> z8}KeUF#c{2Y>Po_W$&&ch!IcD!>iXI6p+~Dgp3%-NGoM)wWXt}+^9H#iSUvk>%Q-n zZ|R^?RM|u?sMd@vQ7&#quW`xEFwfhk zwLTb~1iZ&=cAQp7l`4@1lu~jSkhb!2k_BxHLqH7G5bI^NEP49$z5^An;h1I2-+=Ya zj>pK>1v_UbOLJfRU%i?0zkiS5axWn`aWo3}&M(aBwFyC-11|C5jzh+|3>~}hJyWIEdslgJH;5P{XuXQS7WjEmaK9{`6`o;ld zMs5};jh`W{qSFcB)yiAzJFAgSoF1nDwz^J zl;8(EzI9w~{6_wgk%Dv*86GMVY?lDqoYmAZ7BSm*2?9V*h^y*$fFs|rXSJrsc0Rxr z5@NK;goyDwx*02iw{GeD9k*ni%!a_X@V!P;6|r|hB4&v@N~X+l>Br8ir6pb{C9QHs zdn(EBwKu_H!p0xS`~d2wN`LWx`Tb3H^gid}x@WfUcw#g5Y=y1GCQnJv!9BEI?5v5W zUh|#0n=_@SAT1+Wb$!r0_y!KDfEq5Y954w%%=Yp6>>J!RZCy-Rb;bX2a25NL1W4yU z&eetZm8m5HBj^7lJM)=?t1WEfpE^S^7xgAwPGEvvSpMVt=lE&lCEGtvpjS%2gAuXm z&cM1l?j@Pf1m@Xda5r>8#I*51tWnMD3Y5UAnDs(e&ZwRU@U>G-Isfc`fQw2i7Xz7< zY7(#IbZ`{wG{bC+8rAXknRo8i7V|~e$~Fdi8EooAfwQOniEDpWIG%AE;=1$ndnZDP z4e+y`ZmOG%aTB<$t*OkSF)K|GkALp;Eg>JbEM$JuH_4g=FFnztKqP-&LnLnX zF4oe+!DEl`a|&@g%3AbiOOJS_x;}GGsULh-;*PX}ekdf%qKV zc!VmZ=h(LTQ)=qWLKwCsT9aV9D#(_oeX zLPZZ6L*0PJ7+rp0Gl?+X+kVgtJuz^y^J%GG#YILR>}WbwWG;(*TTfHU8;8A2o=_fL zX0XiN5DT(LmDvHu=fW6Uf9WxR>Pk5z4pmK=J40Q1ZblwQ-b^sxX%)Hzhh`9s-T?jp zLP~BIai6V~*v2_7JV47Cx;u6Rrfbex#{=Ec3g(GqB0YU^R-fZ7}4$nez$&x+} zOfgmj>YK%gQ_(%=02Kjv9q9ZpNUpM|IJ8etO}s*Di9zmWhYJpSnQJ>!zcoxip(EG@ zy|v$8ab|$4zcMiBD!s4I)T}S2Lm`zUWl!seDRpa5?#J1~>fV7i0k8p_3kLN$KY~PF z!Uh>2rZ({UQ+mZ(-S4$ane~Y^kHD zn5p!T<-0^SWM+v0+m$$nm-FhI&8*R!vz2s8+4q;3?QwScIaIGWGrR2;8@R+~+`&|K z?Ea;IG!sCx_9a7+?gaMP*GgcLtgN5s=uL@uKEA@O9o{#jUd}N?wP<7Dyj<3T?j^|X zSx4?O@vNIk8PK-Dgj|%;hdk#sAV`)a)oT-<^wJ)MjR35qg{T4X?{P7%`^8KBG6om> zd)}iRiuxHg=JG=4V0^CpnIFbL_o)RO(ck!hXmovKTJ@ShQfxvmQ8SNJ?^ZI!zvRT-Q&iC7XodfX`qOfgecM#V48EkVvBf6L9KhJHd`{`t3r|3hOw^#?^_WD4v_5k;>?TBUzwg<~N0o__Z9!_n zvxyA`AQ!~Pyw>p$`eX)AGPu69C9;rs+uyubeBQWvKs@(=XWeFNpfVYRS(e{luxFfx zMq3rhRLk7dzBp|XhamLngUsPor>EP6^(L?l#A9$cO1htlmM@o<*59oC1yuaqI2HvA7E@5_)Ke}NfYn4AxD zBos|G?(M3&%Ak>6JGAH6$XY-NyxTw9mCR_l#7O~pEvZptspf$Rqz|VI#Cqg|lZ|7^ zL#?tJE*Y1UpQm~u@W@%ZS2d4^n#l(oMyCJ~6$f^q4Z#XX`f4Ric`L=ME+r~u+GfhA zR17exvIA@XSyn}5-@JQDo~4z$etw?U{e=dm2{i3Msvj$%Za?n51Ds5h0ozma$kYGp z;?ebf37}0@4EOVp0aO*cRb}UdHusT!3`z44JhyUW=%5EU5y;9}_^yHjfmBJLior$< zb~vJ?_c5bPmc_#aDG_2YQtfa1osKNO59jjo9jT*odC$FNfbPNBjWrEzx`P=R8kj@v$>=rlRDVXr1~&JlXhWkGi^4^>B8rtomw5w$pK(KF9j> zU%CQ`_ZE8WlNBe7?lBM$GB5r7(=s5T5-F@#%GBohryf+fJw+vY*4i1{eymd&a5<4b zJ5yJc6)UOiq_GO}9`3Tz0(Lw0FE+IqHoAguhpQrsIb!&pAXnCRDNLgW%}E-sZ|vjy zsrJ8{`%Q1B!T#fx5jACc5T56_3?7?Sak3-Nnt_zV8rkL?DZA@6+BS-7=g1}nOjmP9 zeS^oR7Ra)iqsHvsBF7l+p6y4R<|Q{du?H@|CR5grROl=x**b;62y6FH_83* zUiue$ApZ9#bxW?&`|*6^^_+$8|3dEP#?LHEVK1%F%t z4Qi_39P5Bf2uym!U|8$cv;!K?;|%g|1!9Qpg7(d zP)`#(j0v^J_fu!2^K9bgp`swGKZ7$fmD5>q$*mTWQjsx5n^xiif?+wJkBp}>;{+ooUL_c*VP1)eke>Jk>?WpFqB20m z8E0Epl4{6b@JsogyKj$vv5Df2E19hxl3IGx0yoBdeetQEiQo-Gp6ZO0XqTj?T%lPV z9UEypoN-TdGVj8FhE(?c^$xh^E-yiDY(@ev za&ktKIXtmD5VDOP6!z*M9QWLjiICH0)OywR?iBb@xUC4JS9j)>X787vcV}=Ev*jR* zNCaH`drWkX_Sy3<&$N;QZ{};5M6;aO_MD5oGGip^>6O*ku8ih&P|(<)_=-AI0xNB= z(%H%m@I%EEUo!Li_sb4vSmW+)Pg0>6V46rFvE;ighd80NH997TW2HjEHDqEoJ(#4R;mez?M&jP%7^=yYk`u} zG!yRD$Rt<9N=<|HICuW8iSlemF*M~M;Be^YQ!d-|;0Hp)9ho%>J0h~QQvY%6WJHFN z=k7A2D6Jz%)q&>d^idBX7)*1$QrZJfC0IXt-0`fVzU3E>45|r)%!o%x2&%++sFZ2W z0f{wI)lUU$eE~coYD}l>g7vQTTc$SEdgJJ2VaXKT;uH7SfFt|E^=Ki7ow^z!xq|NddL5n^tJ%%k?9db0ME+?Yc zuJ(Ivgo^RE1iHFFOM>DkS)QTx#)KbE$WHV+_ovBdBFt08#StPO_%aZvGX|A_=ANiuNJn{7*Lj_;$Zg%J8l2vk9_iJ0gD90 zg*=Q#ZmYY&4JxYnm5HQEl@v#p5`p?jlk!ZKb3#(p&(@$+27HyQz0c=VJdeL?H}{}M z-j0L*1yhj;46X}l@eP8s$IWFO6O|rt=D<;s%c!vr582<~p_vfIxg)tvfM+=H#iyj- z=N;`Y2{LO`&(Q;r&fF$nYl2mt`O^|MlXCqddeV%5AP!Q=7ybUJO(KUdmHoQPy4-R# z(*&DtWx{;Q>D$942Os$OkfuwIUN9feesUWm6?T9&pPvA>GRPTQMZn?2TB;n3znZp` z;PTRUivSya@&sJCU(o?bO#-yp?*dBLKaBO|WnyNhf}jTbBZ(@nUo>#%8u861!;^7n zACj2VuKyqVST%01gk%`NGiG$pswC}fE9|SL)K4v`>Z`xOtS9y}XW(iFe(hEisp5A_ zs#i5fr~L1klw~7fd6t6sMfYxMiFsI=6VuqPIZIP-Q=v3N?Ni~$F|#*bzq0!@5A@cY*n9LPN_Wba9(iUq46TYZ$F!J2rL+x z)UtnY67xXJoI@qnLls^}TzoDSU#mN8R=P8wb~t0>gCzodj;cpJHx9Wijc4uQ+d~_n zozs$cVjfT-E3jGqJIAiRU+i?Xh6JTstIiU|xw;+)`dhh(uS;6B$NERHh|(?!v!KlA zN(F}nnF{z$1t51C0-k5>=sUji$oE)bGbc~M`ThHU{7=3hyhnnm>=*x(dCm1FqO3Z{ z^vHp3f}x^O*wt--tg+F}L`AfG!E^>|jVP6bROr4Ficd18eJ^mTcQ9Jn(rrc}#$l(J z&r#RU`-LaL-I$dsZ2+PxP7)cBd5;H`odP6ioqq<^JXH+;0Fcf7j7Ugu^euZy0N`&u z$!g^c5YS{eytDF9&L8$70S894i)e|80|u@MP_%+oC9j`as!)^Iv$}8nO9_lm;YGymMif4V4UCyp; z5I--aN7g_nM9%c*}QTFwE6I}vGQ?^<=JHZBK(4l199GKttQ#J*>cKFl2 z>9+t<-Ao}z7Llbm);r7ovcTaIV-oH^r2N&T_f?ccR}MPlnWw*3A037qHB(!Ck|EFl zW=FSVmx~<+#t0i^dxJz3?{B}VC3eirZ4k1%!)wKh&y=?Jyk;wXHo2bOf#^?~*G?-_ zW2arpsV$=yx{d74Q6?5=!hS~rPV3a)+KL=<0G7dy9a^-{*$@N8S2&SuXpx;xK!69( zQI5R#N8IZ=O;_^FopVssX2(w!nT1&|K6YM!utUG^sbMH1|2xm%7lpXYkhWw#2=K_} zJtdvL_^FYD?N@VLEs$ZJZv8kew-){1fD?Vr7}59nJ%SXmohk-DraxrMQWa+(?-96G zijX>sk#gSiAwY+~|K6XO@Bky6{hXD***(yHhW;yNd>q{=2b_*QJUFn{*MJqK zoIyU;|6kE38?!Wit}9dE2jxxx=(MT@2c#c7a)f%xxgvs$lsAqnCj@1Z`c(3Igzy(*3*$cCO^1y`Rl29txWNWNA`Lj}NYM$VxY@1`bke+GfeMfmqA)4x+@23wQ!Ui4b;)87;xzw{?cRuzXd=fub+N{(q@x{k6 z)T#icfti_s;K!JczaC{M^g7n(P@-MeuF`Lt`8XnB@x+cDikb^skKG*X>pfq~7ia~` z$-J63#ObW<=&a)k4nhcPQK1qt zH7B5&}M?5f9xFoAD@_`bXzgcunYl+1v0SZVc6C~+E{}wJ^@6_0rbwPY2t#E z!$%fvilR{X$tOx}JFlW`r|npDAlAS{EqwdMIYnGHJh%M-sRJ0Z%tCN7YOamBa?0KW6W2^ zzJ>id9}+9`r*t1TrVdf4&;1*#7U#2%SXx_JQ#!$!-J176s+lC+ZmKvC4OYqa5DR-V>IhJl1e6a_PY$k zu7ajA;~6{JK98nPqN)8I+w_KQ%VRuBA9KoVFJnw_UkQk9w7Z+_6QwY~25cPtuBaLM z-7xf#?^6yYu*-ehVsfHl7V%pr_yo()2(#h}@< zpg9AULJ;rjG_r5TT6}(1=**oX5IH&kVEtjQG8bacBx?&snO;fG)5mabP-Rk+?oNh7 z1>v~w8=rER>OGUu0Q^4GMu;T>gXm1;Z`U8f^gmtnw(gg$Pq_dqK>q%#rS0j>^AGoP z9zyOpt5=JFqRUfW$yNZhv8_4mQ#SClVK|3#S^ml2H36@PeAeYw{ccb#2))aub|!gq#2N(QmaR!8mvU_T_6?#JMseOjk95EoWi z4=AiB0WJxJ$ZLY0i8{O5J)rY`Uf0Sb6tQsGyszfZ;vjD;oLq0sg(vlTHPDO)_IvER}|QpSc^HGZ!6 zUe)a1PcX<>hxADvbbJ&x{b;cNKgb6NssR%cw0RhEd~5uj1OFpelf7daVnx2Lz?RCx z$WZUtjJ-cess3~zM!81 z$ecv`wpO2)Dq3v)+I{>6By~rQxVOP4g+|!-B!le-y%YNr7@}#y@*>v|IXQfO_;3#F zk6dSh+1X$=>$^?D%*w!9=p;cXZckcUgg6j|-M!$En`0*mhT&?Xc4whfdw zbu7lRFf9&K$eH+|1poZ2;!}Jd7r){Pw^HZgX9Xh<$%d+x;~)#ivTa}W*v9pE21qKK zXA_iKy*7rNeeWcZvN1<(@=>q1@0IB|$oo`BS(Y?+SihMGW-nX~W?*ye`G~5>R4#W` zQv?_v%5#oU=Jw<~09Qb$zZYX@qL^H!OzSE+nc{Bzd zkCu5F`p&WsQ5c!4JyF<_{?RKwN>FVW^K8!<9cy-Y(|RWTz6{#4)sx6_h6b933z^c; zlexkEXfHmFblIplZvZGWEB0rS5li5u0T7j0y^({lH>E7yVwA1}<$5%fc)JIu*B;bq zdPfMeTAH7Ojg;OZCPagh2ZxE0HQt5P!qbmJR0li9S`c6DV?8` zjRCp8;n^+BR_IoHC1L$^hY7}tjT!m6=l0ri*byDdc3it{W{vN0wx9VGB}w!(KPBm3 zSGn862&-#>$;5D}R@O|MU69o=e6qZ~v=pRr!a-02f{Gy~4}p498V?W|e?uk)UxOSc z+^!%{0~m5WrR|ZYuRX0EDTehN4F5tZaa8`UfWR#wL$3S<20osQ`jEpc!{(9nvy*yk zeRWGnDf2FWmb*Xv86sFp8NPw3pT|t9NjkR@*r45#^9`f88^3GUfXhOR{d6AsC!}rJ z5oeuJxj5ubkF2<)Bph@!wQwoSeP(`MMs>+xk6^o_Qqw%Q{+lM+>@dy;b9&Wzrhc zw~DHH|2Q1$SW7R#R!b?v6)RDr_pMexZC0AhotVpzA}6;*^`5J8X2&4S;&@AlT{8Em zkG7;%Dn03&6xmI5%V+poJzC-vv!!4%H6X9d-fz~?HfLLPS_BuDoJ@vqiBbsFMs`y% z^6FpV($`~(_q%*WxPSb*AaC39oYtd!X2ttJXiv#Dzoe!r%hRQQ+_8KP?`-KWFw8uB z52f4$S|$C^N1@wUZS`PZvk_w?&0DlPB?paXDhJljT#~lJnGYDCY>$SL)6!#H(6xco zn@>gechiq3eXsZ?-|wTLY`m~*w}LIRcckY->_nFuorM&^R>g2Sd+eDrNSzMn?+Q3S zf2KkYbCM*3=~tqwpf;;LjgOdjeY}p)9{?spW6sI2UK#K7 zN3CsSKEX&&Cle>X5tTXdpE|9hm%{<;9%OkE{HIj^5?ax&L!ZwX6JhpyuBNrGb1)G? zCHAlMXw4zyTKe_fCNZvJnUt76%$OO?OOR4%I6UiCpNXc?Bb_G5N)?~Yr&0$J`F<0m zwzhn@$HBRYM!!oNRNE$^InzMY@R!+=}Ns0Vj{K$mF~~ zi3G`*HNo{M`w4R4^-j4dk+U-K+qN77Kc7kg z*dQB#k^}mi=``3(mN^dmDrf*)A7{r>=3A8J2Ha;KbAUsbDdidRxfNx&O56b7Oj}i_ z`=A83&%+udNH<3^?Oe_v#Bs&e4-D~80@!?kW<@}JG68kg(C(3Q_ci(bO4rA}LnLG7Lx3G!z@s=p z1Ec4${cH_nls{;od$aaO>g~-+HvY)v!vjc+{dqW_0fdm|T-M(iV;L-xb*Oh3v=$bc zJ?;cM$!r%J0A4^tJWeXo8vAp|f{hUF6Xy~K6#YI)1aUDyloMP;p&|G8kl6{zDE`g? za!ZGyIkNL_#rB)=*XxX8N>cM*2#YS3_nzwdp05O$_xdGc)eAxj$2U0hYNiICTJWyO z*JRxgSuO<>9&|gPBYy-aVw${W)>g+!#iu5t_{!hc$qMJ0eE~{k>yRUJo37$ zD0#<|jDpA;t{%D7I0A>GJ-MKbM_B#u1uI<|0=yhl(Bo{_?Ms|1iR#EtW z?>ytW?G)A@-$^p*CAsB<;j5Y3lf2tez%Z72v|ue3Wz^d?qim-*_jiukI{03Ic_cj* z8ydqz(Rq?vJh%9<@Q^EH^`qb(Y9UYf=XZ>? zT)l*@M9)6hXs|D>kV*)K>v$~(bHE>D9M7xyJydg~!p)X0Ee)NAPn+bpAN`^BWafuG z^W7#{;um|VVnjyChU=Kj-u!h*hpM$FJ|FEcvn{jJ#0hQ$#u< zr~g=+U9my6v!cXVo(Tc=>g^xxXM7MO{d2}kqpMa%RQjwIzBaLwowM)aW!is}>6QWW zas2x8BiK-pmD6C15JO7f@2eM=W`Mn!K8;sn#aPBUhV{yzr?Q!7S%6z;$};}L5U1Ia z4z%7SAhILQkfom5sozI1FCqg_ye%x(6Ewf1nMy2_igCaKNU1U9_ z12a}0PO*hgW}??1?Ky^h6TdgoDJm1vw~~^>S}-1M>XTN7cBZHMDtcc~;0jLjp_`>; zPD5lir6)yj;0*{N+)8Jh(FpKA2;*JfQOn=nH6BW9@=NoE$Md^M$2fX zTaHY0jB~duS=xX8RBw4tSD8$yxw6qcbWy#06cb zdidQR*5_a>YYk5&qx>grj(f^g0>kunjE%E#4t|n#^ZB)s8Q2nLh%Il_@N;KCoZCcv zrce4YA3;{g;1Ofo4P8>&Os4;zOhGZJ7wvc+WN}7EkFz5~R^+o0!sH_prId3n{gx=} zm5oOXy8A6XDNXAfWUG4Z);i&*6~~-Q$%OBn7F^M(!>}&ousEx3{pk6cCs|qF*^ED@ zAI?~|HBZn)hU!V$M|dEg%2`pB_t<)v+ec2N9e$VU8(&t==Hvs{{x$j+#&{y{qa|`n zWg}I#Ymv2{M-N*eJh2#CT6wo@A^=RJC4>yo6!N2Dz)vh?>1ipOV?v@PlQ2_yYSxKa z2E2J?9+}*E@@uYe@LU#jh;#O2UEM6r5OAm*DLgntp34sVERCN*jZDymL#W|0& zZ%^fZMpLg&>{FH7yG8{6WEDGGA^@)|Y9{yGJ8Xe5IO3?(iXde!%o3>hZwCqf{A^{} z0fucIJCg4@2ub>oxp(tPee6-~3>H4C9^_F}893uChEerA3;I$iqsJikOsRgYOi#Dz ztoy%5pMhi*2jR1;W6M<9mc8UIn?a1bRe+cx6;`GcgDalZ;krNQUA+ zl7)<4=OqvK@f--aqLQoNr-iP3mZ6u-=0x=vXk$1fOIqiHgU=w zKkpRs84-*R81I$_OYvpF@BEpPt9V`gtIxWzxUHnU$b_ej!SXMY=g-l>k37uo(&L#H zCQ1DFRl&y(nNQneP7&M}QW^!B!S_g=;D1sbAbCBXeM<-`pQABaNf7hSl0R)+o0;|2 zn-f?~ht2h&X)8%9Sq3=U3YVHmng^qoN}5LlcA_1ti@|e2)Us~H((NAtIug$$UK(Pj z3$4I_Qf47k4VB@pXwV;b6@Q6t%}4`=uU}C;(l@9)vY({N$OD3tp)LqZ(Jo<`N##%n z@RI#+25X&XG)covp3CH8+OS7;+st^!-t5~-h(eXSD?G^y2PYiNOR5^Ki((av&VK5&kfPS*3cSodw<{i8g zaH_!Zz#uLT=TYtLS1_x9 zuUX~IT}KYDoN3PsRpj}LgRie4yz06`tlT$wq+ip%GMozzzfzKES+-Ms^pxjlxN_|{ zTLW>FAS8_SU<9-CTvX!}&S4mgqZheozo#d>V&g?$D#prLCx8ASXmoJq-+zLFww~1I zmWk`j;;$XJ@7GgzHJekGsA#HyY`u2iPjm|XOn>3OGz7X0Sy4$7RXe+4mw{NerX3ug7du!c3ROQ9X~(e8e2ilEm7HnKmLhP=ODr6n zaA`b8shaGX+W(Bx9x~nn5Lir8Y2tHrWiQ`{9L;mchRw>pXQ<51b@1$}|6>rFX741Z z+jlq&ibNwh)9cid`Qn{(u<4_>t=LwTh-u4sziuNpQ6lOPxq1Fi}hy>Bv2 zR>l%poUz{Z$hudV72p8lzc_yfwG2f%tzm$r2dCnr@8dgR(2dL<>k^ zs>+HT&n%Wx@=C5=yB0udF$Z7p9F99b`kBahuE5xzB(saXuIMk&gwGC&4Z(5H<>GTv z-Ew-EpTL0ReO811w4M3BAYDQXPHFn6U*?d6&_xH7s>gE{w_qMUe39o%#(7Tg8UA97 z#oT6)JGAVsO*qV0ac4jo zGLmWleBCko4PHh(ac!GX+_pGZ3u)?nhL}&}LcqstuyS zej0u5bFM9|qAKWHaf$uLj%T>0y7w+6l5{_lQL(4V?263&Ru-lz@r>qQ^^a_}B-Llu zOVxO0Ksi&55`n*bbe6tzZ9+@K0K`Qf{BU9dtxo3jXnUG#GiHtn#aU0NDzAJrmLajX zN*Yl;Je8|JZQmGlINP+tEC4af>&7T1^pN?UZ5wHbxx*Zd$?R@YWau0BPBAwD~S=DqfDvIa2eIj2q|lW=03--a_Ky6JNVy~ zAULe7q>@qu_)~%p4uQbCYi%lg;GdL8ZszJ=rSJE8ChU!BZ0qNa->c%YGsoO%2?rea@0s{FNA#2bUA=ULNF&=?XVB3_`ev6-oq|#J0??9wzvt-u zay}54E$d(V&)v2{SQJo~%t{Anq4)LZS7q5PJ4DUn5^ByuRjS7eYg6k(3ygu zD87p`a?sdobDnaKykc8Qo;~uk2O4gc%(v-*NYC0#-;KZTq4GoXkl91E$)hXb9fOOl0I8PSXNyV$KYw$^k{wp&y+qbKQCH?s6ag|e)N&B^KJtz{kiw(j z#5VV|b(;#F^!?@s8XNBfMJw6<<_zQC+UJb4S(eoHu}@Ic#-3ph%-nH3YM2oDSAq5!g!>?EQ#LkhEEwLkW5J zC@XLuU-=Cn+obqpE1Qr&SPoI>QD#C#x{wEPD+b|Stn<8 zwzX;cb+QlAMZ>I_QOl5r| zhLwrNN5p2_{e#c(OdygEnoUOEZ7YS{@VWe&qYV2o?t+Cz@d(4! zyr6qSS{at)Kzx?L5D)v;x(`Mv7fGoFmVLZd>|~&G*r_oPuynw{5VR1%UvPJ6BiN-{ z1y5g0`m+Qasc#TtOXP4cd~$4IUDC{N6t{=J)iD8D{4t*)vS9)3*DTu zx;(MIX3L^W2KURlJ%EV>;y6S9Gq19-N_kZUTu;-p`rJx|GAOD(TkdVQiZE6~ z0=9uS!H$O);;iLzVwY#O9!eXtXFOA=9hghikKPKy1(0i_3a{9C+&`)SXFJ;f%bN1k z;KDdB`yQd@y9!`U_DRV71HdeTy^;B!zJvcVk&I`S$&(+4(eLbz0q)H4WJQa!AgKD?K!9usQOtg?&w%_ zq<+efJd+%d1B(9E{=Pvd@&aig%8T>8A_$!+Po(cfd-voJW#c%&*RS>tZ!3Yxp;0Xe z5OY3Cvp_U5FqN`f0$GLqZsO4!q-jbukNZmb{r912p^qMHMP@qeKc9|g^Uvh037i@k z>(6<#GRpyDC_qY~CyJxCY^TcUk`*D=BK!RAYkA5rMGreoR*USn)7CgY`+>~O5W)OE zfKmoGovXW-Oj1HBOK1%PDrdE1R7<{=5{v=(N=jv!17&Fj0tx$4CH2EF&0;ZW zXMg%gJKN$+W~P+;yb-u$0J6G@YROz7=XTge;6tYRdHu?RJkBYIXsL%FP$AvyBaQ@U zi2eBx1MXS+fI`TaDeqTKHZ?u=)vj_PXzOmxQ~DkIvf_>((v|gdW}yg7AN1PfZ?D`x zYL`oL8!MNTu2L3d|5lO5XUVz@cyj9kCH($dO+Ns#!5tQvt^2V`HB*zl)Zhbr@XNt> zK@>p{3OV5KXCVBruO8f$TTC|R60?I&Hx+VP-`A_R#!C)Zz0;e(WRf_bjYy;ZUE7n- zvReW${)^wm2Gvuxd5~^hP5Co~PM+M?X+Om0`}w4)$HN*AnX8!(-jkCQ$3V5QOEDvZ zZ7wNEr477x?ehSr(c?4LhdS7GGNTPf${Jw*`@vSuR_3|I#lHL+{##L}uKUku7ubkrgLN z9c!3yvwc3D+d-EVe=rL96jIehoBwxFIp%ljO*U9h3C2~@G3>Hkfg}k5`L{O(F|PH; z{uZ>Tw29IwCxkP@VRA9xfBR+Q+jTXqPsN-(L|l<^e($|^ecIol_hT0hc((AYut9pU*?jIiI(76Lf(8J`KdIBLiVG6kLGzGI;50m zv?!TBf=q#>C;MUts0{$HYT6-A`6KB%7)iV9^Ks{0pW2~INYOgwIGB(LZUyi)(TfiIY2#kJ;EwU278pAPg$Lf^k6i+77XEgT+T*Y5a#?q$kei{ z^3jqoDCF=1w!?r9z^pwy?Z+9K{jvqmU@YZbK4m_sezAeP@+a=)nSvm4Bwkyy8Ot6c z7>8n6*?Ofd``giHu~aI+oe8VCf3C-a{l=?7{_5&yNCwv)?un=?!_)Y?`Y_(GwkhW} z*Wkk)ML#YO(1H;yVCZ45ZA$sJWrUyGfB4f*#u#P3E`UCPp$$_lcqq)QZ9&%swp^w< zIAOv%j~*Pi+2CA9ZHeTNMetj<-dy;wG64?MrFS zp9vyK=Vfy4+C~DaIh4OzKK>vg=e(5FAq(R736>QHuX73CcRU;{&eUZ)p1@suvdXr0 z@yxb9*pF0l`NEW(-zk~Mt}>YU$t9R=K<4Da$Sdty+cR2{PTHd8AO2DEhumMEwY}b5 zs`tg75mZwNk*XU9hy!2&YK-R-h-$wsubfrCd#{$8Z=g;Ys$4$b`03_+pVKBXlL6rl zJ@Ed5v#O(aQn}~POmHdslP#YI0D67esbdlE+=qeh;Sk+JIt&LD0OEjzhIzr!MS>ZO zpaCQUIAiNe`nGaSzni_qWco)Y_S81TGgwGE%zMcQ1{d0)N_S;jEta`)uRp^>#R^~O z=X*b7e%9l9PyDb-(09A`jqINoka}XbQ1+0;8D{oQ5d>EXJbZT$8G3umO^4)+u4Pv$ zM-O+$X=w-Vsv%T(hLN1)_%FrJg%k{#nBRZ&=%wqmK8|UFsC80#@Uyo1HjY+a+CN#P zIy9Cfu+E41z?8vc7O5hW&QP0FX)a#s!+pK-fRs(Ej=Q6k(VOY4DuX&GA5seFcq zs=>^II2q)qgWe_(vrg9P+(8y}@6Y>dl|Adpe5&-%R^aE+`SXC#gRCcjKD1@lN&FEU zfd8vhvtjEZvDmK7^pAEvNAJyD-yWTR`TO0L6J3fMU2O1e)k443dV6lrT%tY8@!L%r zknDm5N`JoQwn+w?{3DP)#*fv!58pW>vhud|y?w}|R5NKvrBrV+v(~1$jl*lAu}=$& zu?vkoUUK{+=bhHIi@$;|pJ2g@{=C&{`eHzIH5!%G-hnQ;p|lkog%}8ylgZe{c)`ne z;O!lNkKfwK9X_KoA=I>f2~Oskwcx%afFnleVFs`Y8!7N>htQj&(?9j#_XWPGpQ;!D zD?U@g4<B1jsx1D<**KS;p}Ag{5I-MKT~>TT(p7j(|~}(sK?29SBlt44x5`lpzvR zO7oCODrb+&kwf!;^-wC>6)dC-C_4QxITDuzXe|1>JTR?SC{NKMpeBF=WDZKB!MD=; zQ!z#f=zItb`1Xt&KoiH63W68{?fv*?Qhr&2BUF40fLLe|RU^A42!?7BCUn$O)h zOsw=_Mnmy4CuQE%Qjg_x{Qjp)vja#dy9QuYJQ> zepLPJ5W4DQ6)g_|uW8}g^85UVxTlhXOXMo+qaI2lrQR(IB1@Cc&DH`l_U+%PQdVl! z(`zhG`E%()v)p&PdYhq2{nYBg$Q22dsD@`z&Tph)&ST>MR32cL((ja0$Jci~v2wOI z*aV{{-oI@_Pf?0J0Nf0KvGH_!L1aL;g{BIb9BoyR>QViCKBeB4ftfqo<5sGcNm=yI zcPnQel09CQ9s`j3c%&**LPsP0ez%p2Ru#TM%6iP2{XNwH1Z=zK@p+|}beK((A&=F0PxQW;>|tiF zKgd$nYG%7gf}=b`0&-x{r>$YzeRJ0!y`D$ej3G&X6QGYDp*m+EOw_a=5IpPa&k{h& z{-j3OPXo`ur}&4GXYU+jc>}43GkADE*>;AcIQ8g^^hZ$kAj>1uFy}+QKUCK&6fEoG zFbhHTBk*vrWiUs{JJ0G$jI>PDedW4C^U~Ao0FgI6eh(93!A%7m6vGMeAp~uMj(aPT zu8&1f9Zi$(maTPoY}ueGJq$wp5#$rb4^TuTze zupr?b+xpC&xPucgp&j;_^k~Q4TE~rDVk7oq=wU6(V$OE3%acK({@F*K=VW|&vwZd| z_9bc80E$=^5$M?1CaF-ta@?K3MnynF$;T2!o2lOSoei$uXVyP1CdKD?)$duG_d|z| z%5hvF6Zn=U$i;$C0B5}9Ie^AGNwn`^NOHe=@NWm-*sZs0oBI1XRjPW?iKAEEoMHcb zlnPI4mm>HE&itkT993GT`m z{@^>S+O0v42e>uCzs}Knl5{~v`25--lTw0*Qk*>4{2NcyFc|gX?umcn9us4_lL%foDCURcj!;AO?Fh z5B(Fmgxi9i)$NcWBqx>(y+Ob2H-xYIIJoa7Gexyr&bwyc&ux-aZ3#0`nNxF?h$x9+ z?up5y{U;vV$?)J+`;lShO>Vq0M7;`iM@PpA!Nnj&QgzVj6I*$dxa^HR&fq?cp5r^) zA@=;U?*$@!=AEdQ+ZLQZ}mjG8A{Sd`~7jT4UTJf83j%Y_NP`J)TnSa$FN3Bg*PBU!VbYc2xMYuNs40ob?%bZA*r65J=|pg@bP~ zK&J$~=HIJc=G5oCm(Mf*X-<0*aGY+p^v(iye7nw(OL6U9*%($LqNW$>WLw=Q|vX0n+spo z7o*>j-u7y(%6D=fe!F!N$t~uemq87HTc>6jJn36KdjE zW>Al23A;>Gwrt;WDQNT?tWv#`spAIcPmX~*LCFv9s{xjcX>4#}DMwJ(?HS$RHL{WpH&WHYuxAf}-Cja0yl$5?h< zy^sdST^rEU8D;I?4sHEZ2c7dSM{v%$&pq>z#kqt3#=nnP?>wXo-prsWgX&~9Uu~)J z$0_gMW8+5Fr|mtJN$~*aN*3;vDp43@T7rk>?lhw0{qGX22eLQ8K`InVo(+WU^7)Z{ z=$F8fvdMF8lZ|SsTAXo0E}o&S!5N-p=0i3dIiv55D9H@Y z`tMlD{7#jh%YJfnI;-(!voP-mpw2ksbk`H=p3#i5mMx@Z9rT^M`z!oC;{+2*7TMu{ zghunK>gVj+5>OuGHB>=xT@-nIK^zZ1?aY6SN%F+l&tm295xTArbpYeZurcg~EQ_AR zpRB5f9%p8Q^eM~7)&xM`(#T%UA{7o<$LYVdT(1?a;0{DNO0dc+Dj_oGp|GQ0|Hz$| zZM}W6KY!>uAMD+;Sg-DQrRcR>q2k` z=dr$5AHCChQu4>|pBnXBdLMZnfenH`ntpo!9~r{Kp^`9|YU~i32|k;mvO@Q~qj_el zOzRzRTJHTQ;}EZ1ueIL^XG##NFYm77cEq*gsSX3jt2A4o;8Gs@Kdle)wNRy0=;6^O z!j7a{&B?1*>C9{FytkM4nNNjLNUeyXZR$-1V3YBaPu>%3J{j=5XM&v?69o^mzGe^y1g_%;Cv!gjrrK>H_%pY}_)rFWk->ld%&deYk+PK$=syGIcepi}bFe$N zT0}C=c(rqmBCZebkRL@(PDz#3(6pQ<>a+Qce9?4>U$Z}{UHXN=&#^}eFCff72KSQ1 z;*(vP!TBVc8|N0bQrnk(Gh+;sK$%{JjXhdiPC!0Wz8wAB-&n_WG&uSI(mN>0LiLhm zIaA)@nk;t9&;0oB((hV;?i~DbR#l#A9NRDk6L0m-C5ZOg=9&pL_|5cgPcc42Cgn|L z#pnHpKsQd^Muy9huA!znV&WH?9StWBHk(ljaWsW z1DR5~J)?eIO1aKAtaDxYai*kIzvj9eX!l95-J1m(E?|yaYQvzA3>ES3_Q#Q0?#}zH zQ_XuM5FVu{)eQI>1v>Rnq@SIh{}@n?ahYqQ23>I3-WgM1{@(wet4FL&IfA-n!! zL^SlXmj8UjF_$wQgw|W7@=i-X%fta3SyUd)P(a?JnIFSfoXI}0AWxPnhmQ|L4&)ZPFfp(=gj7IWkc79Fr!d7o*tW-5kuc&$+GiK>~|A%G^NOvxi_9K?M<2` z>YN4QVYpWdANt4{m>kagp&?WNyamDQy+b5FUA1!v0>qHc6JL@{)oU<#V9F&|SYr+U_6dCnqsr&; zIj1d;DUtACEnr}U;N@;d5*0~8pIMeb@8*07e#kH><$K$<50t%nna&nO{b5T2cI${Cq}KNl_A2PH%6gS|*OmVQ_!(TXJS@QlHlvS}Z3?Fiq!0J% zU~Gt6EC)x{lS#mHj$6e_8_36hSO!aPvZnZ#A^11h@XhgR+g?hxnMX|B?h80)&jUblANg^?zbgbq+k<62t%LEOBEuHns`c&o<|(GXKO`NZ zx7ebxuA3C}v!}%}{w~&P*Wz(L64i$c;j}x6U)dPNflXiH?<4_%?>%bB-JdHAUTI=e zAqMI@e+T?MtVc9te|8o{jfW;uUZyjz-uUgJC6#A>Wg^s7d zGU9vs5p?vr@+6$1`)61eH%SCu93^GOhG$5;=+K{1fm$Tbl=xnf@3zhZ!H!MP*=o;I zsegPInzkvd3N@uWO429L7ZNb)(o!@T^6 zT)3E?O;)qXN|4?cFQ_dRpzPV1kw+;JJ9&0V-M>!;R@zCTq6ATP+UhWNso2Ol+PJpt z6gs7gFvVW+ck?9$^O`C10iyv>chcr3OB97K?Q=$!{Xc8v=F6^czZSBxrLyPG6$?k| zhgkt*@YXP?G1A|b6I+3ZHlTxNU76#bodJL)PjBj>0z|nxZB>8+elk?TV9fYAvleMH zJ#`uWD%G65+o5%*#7dDEGZiIyu--4hSy0{yM+hB>MVYybZh|qB3WH4Y<7J2UU|?49 zC*~7@ZX8K{GTwmH^D@vTz^!txe@e-I0SZKBYgC@n3;;@?mGjN#%|5IaP`UEr+~9w* z9W~5st@vThw54TX)Nv2Bj>|_!o7p}$=3EIB#q-^4mXutH)+t3#1AdV2d2QQXfT7sW zeXf8m6RzM&NU%e%H=pa72bKkA4$zlXf{>NkK6A%mlgMa^DcT{i5AVwLoGZUg^~sj7 zkrgy}7)qy^OR#~Zvy}ZdS>Vh_Kn6$3#Aa9VB-`Zo^ExmI-$&)Pp=}#6FFx4iw z^k`>MnAN9zSCAqn`hOs;$js0GP2dv!kIy^{ z_%iI+1IT>8zLUs%#rUn=sE-YD_R&P|(J&e${y+<6ciOv5BUVAk_mNxl@8U z%!#u8vi2Ol{*d2|U6}dc<8ysL1?EErsWuo1S(eZ~|FT#UOebSnzSH!A+it<`7tj9j zzqK;m-oh}W+Cj;YrQ*4Y9&h9?wy#{(n$8x0nGv(W2fRbdsK?;#v4O1kFj4x8*cQjN#mae47hDqD zD1(0KCT6E!_p*bhOOW~a_cia#gwSy;HfrfTv=8XYd<5b`Zz1m7W&D1}TpMy$?r>J# zs~_n-{4;W~fnDk8(Vvb7)+zxo1Oy*mk(bz;17Td!PfjEl*bj;2(vu1x9(vnFg^te( z3^o&+yWj`p4)I*6xRYbZ%p((P9TO8*sx!K+=Vd>phz9zeRnd++8uc^oJMSg1yMf=M zohO?L1Xs?F-V^;6xY^Zd!Fly>|M|bMYqmJqhZ@B_3vSSm4Z18X)h>hyR+&s-RV_G* z33D+2KAt5o^FzY#d4mNx8)&qH!Y<)r$vf3#5 zN{~n^wr4)X63<-(`mc{O`=j4}@h-8)=_Lz*v7Kp{c{?07wE+BjMA^0VtLh~yi(Pri z;rGH*|8HX8W+!@vSLz-8NxOw1gpO^E9qCaat4BMvey~j;Ig@oDI9d{p`?PbX1iUz@ z$vZz%y_RbLzjQXZ`3AQc#8K`2nSJS7vsf$XOF4cIw?(j^JtDWr4J0AkEyhfj+ zw|?r+`8)m(IE~@ZYR}?{9tQyE^R^V|W|I_u(v-xXYb$Eb+A3p;pM!%L2x<$W+sZ8O z2gW_ghY%_oypDl)hE!ev z1(Pv{7QuUl{murW6Quh(P`})I0#`>|GmzC}e+oF{st?bqd5B0%{(*mD(~?Ci@KOkG z`5d3At=tJ-j-46)dCsVRBOOoaui!(8z~i!$8H%=?y+1*jsNqhn*@VMk@S-;p9mpey z7v1L}H%ECd;CI_BgJY0$F_($+JkmdcuMo=7V=J3m&O!(|s48qzAN{gpVPJEQm6%e zNQT{THsIsq%8*0C$#d$^UvPiNS66&>WbJ2NMovviK+h2~dcA2XY0us#$AkS~0PPw4 zliz(SE=W+%j2H4jIrnFAS;yqX!e!#!(7myl!lPVi>wN?5urYoK%!WmQIZgR%{ejrq+8z0PH+h88waD3rXT$}pG~UV~8)_C+qOcGWs2?XUWd+9zO?<^RTbHC|UnKD$4YxYuEi*b^MN<*$9-+`~27g zjvVbUINm?KKsB5JS)WrOU>el^vwn2#JEg?aWEEw67>$F$6~=C;i!GJT^Q?g>PsBqG zUFlHejKe9OkyU*4Q0bw*t1GK~M%V@iP9^DI=!DlPsvrj>lTUoM#$ewhBKOnQ^QMKP zdDfo{dgs@-btyPV*)Lx{e~8E?(9POHpZi1K7iXYW);y_b@o4{Zwtn21A`K8Q(CPVM z<9<8m!8-9kD1_+y0RqeAy*NFKl4UQ$1UvRS`q)KDDaH$CzhV@*gL-STQeAeNCO{r_ zw;l$|O16uvmQRS&6@_RF&Q^+My? zPk07kbggU^S@}k$`X_!CFqZEpV_G9f4X_>uRjH=R&sVGZxN-pdHxKhG6+S5Z~+bnBhq6 zG?lep!Y?=gNp>u^c=427cmfJvoH0~G3cQhIm5aN z-X#Lh8Du5 zCi(6NQ=81G1oEjUyK(~{1H@kbkSQsM#apL(L&XUJd_JJVRnot1SNRBD}yZ;JaExS1Qlm;I2p?+W=|`SZa% ziY`l;dvx;i<$&Mh&iyVQ$%A@Aj>j(}!|`W{$5Ih%k8-Gj@O#YzsRGdz&(lM>bIO4- zq^@K(0AWC$zbWkhk#ycsCW;OvI=zP5Mz6a)sd`o_VZboH0d>csxhp=@WN(Lw$^dng zR=FhYM=6p&nJUx+8|z8sGdJ)l6>K1Z<@+GDkY1To0|#VQ)ykKlFma?ASP>BI!9XG# zfn%ps$e&+3z(UmvHdU5EQaL5txM3X53s-e!!cD77Gr5K9TvJxRIOXog{}-%p3h;-}m4g8dQ3JS8&$FoU703E@DX z_akIKHlBWq-wntPN}GVy(d|B;=uM9vS)|&7!!Y2}149T%8K2R=M6it<88A^E*94(> zulne5KYqWT+~<0$dTxMS_0VG&GaY$I*>=PJ`)|+ukV&z(IzW^2pAWz#@aY|bM68o{ zEdsU&N4cbivq@dO?-I;0(F;sMbN$`MsX; z-(@)H;REaOJ$HhKwhe0ts&4;&k6Cxyw~!;VL{zJG{)39}y6=Vyn~x6}!yR-N!>YtU zG(MmAX=L0p6nx&N%fTmSpn`M)ycD*=I{HY@14$Nm8WId8eSYDHk>xP$cSeTdpC&TJ z`F8vMary_xJkjqOK9|5^E~t@SlVNO)SU@K+O!44nA`8Q#n3?3X^;YRTf$4$lIE<&T zr5H8t#z8Jb|G5EneDv^H0fK8gOEQsdnODWW-`^Wbs$E&&1Is>nB`bv@U_F$5;r2~U z`MAhzT{M?n(awmy4qBH~eDpr&bM6-yR@PK;fx!#)1SDD29|GohAZ?b^QhsVYy?oq< z+XOa_6(LDSRNx5=f?XbLD6EWo%JGHZhcYnGB4cdZ6WiAB5-buMNMe^b<2lhq?z_Hs zi(h?*>~ylFxt9P^%<8HwhIi^SlGapXF^O-rqRIvooZwM_HxaXQXo|R36p)XFpr6z6%}Z3OhC}9X@zMGMcNf~x*d2_HH#h)BeeAM9#-aI#|1pb-xxN<_+S4uW8X)<|n z{u$seKD~Y?GfGe*+m55HO3K}D6^Ddh@CBS;_d}(i?h$FEx2fWoBzF94I~OJKrG}3L zIdDH?M|#_VHG4ma4|U{$#(g+{hJgRK|M=f#SYHn-C`9p4GIl44ioW)g_)7mQwY7oY zotPyCLztyK3^!6s?=X=tK!={i9aI-wsWF?{Bk8ADlGDAVs!P0?!>Ng5&?YN?M zh{ROshhl6czu$`wUw$d|mpVN;V zD-tJL%mVP9UJV69wz?NM#U5Plaux+bvVD8?02i6c>)=2) z@E|GHJlo*)U52E~*jL@`B+U9K&XMCkk)77xIolp7^~XqBVoqebke4BF!w7nK<9HQi z==UoQ``>XC23}=C1c$lH9Fp=m&l;!qNKX$dv~qVoZ2!K^URQ+CHt9Jg7~f)LDaLZQ zAn;&^&$si$&Y&kLKh5s?l;@>9^COM*>A zo&}3{aYp3GfGmB6VVsM5l4j>Z*r=Vo2&*6tYAiqvKy~4p%Xbx-(zW{+f4@o}TnLKv zb^G52PH&f|qHoEjls)m9gH3h$oxvZ@%6&2pD9h7>-(xT{g1zpe^STn?#dbDeJb~5= z;hJ<}+D>Lhdd`kjm`|^rDfmBm3Vs`mbj}q3pLdK(AAlo3Si)&{spe(hH3jv>pNT-X z6T~p4bfl@*LFE(Y&3Lg%<XP%2{5`Y>rGzv>RM(E=nb-bO;O??l?(Eb@?(82n%s9p= z2@2o8!EX%}a%9_?n>I}?ksm6;4~xHR{kCxDfN!paW^(~%7+tF{#1n1BE>#%5!{KiIPp zbC*)}`AGA(V0g1?WaW20g(zVU7zY0+`i#wN&Nsx-4IqNhgb#j|wW&6Z_?1l2_v!A2 zsK&%rS!%tn^gM$(81&mdQO_;6&p^Lq?nkrdy0TMJPuc>g-hT1bkZ>+Zcl=@eHB`WY zwHAmdLMA2E7dt**>IAY0?Q$T_)?-UE%{y- z$N9QS>0~uu==blb+chgGhgtC@1)dABzcx^pOrD|j^7r}foIm!x$M$>D)C*?6kHyoE z$hwl@#h^63;y&*L&n?MikIC>Sfc4>9C>2L{YvJs;+N^F^786K5p;vM#CrP+RrG6=E zt^jVo;CA{AM{G0_YwNFYW-|X58IgvfdDk~oDmo`Ndt62C^-eYQALVc=S zvDtjlaj^6V5ECb>n+YmrRz04U{qpS1_w-Of@Z|GKr5|!T%EbMV^g<}Pf`o9j zno>$Ez(X~P4CqsydYfl#OrOUYw=FeWLydmQ!B-f~ZiW_?INOLstNZbJ6+pHKSSw}e z1*udF_;D8N2{=$HDl%m_U`k5K?WF1`GFhd5oNYeIX7h7L2XK(HYd!tLu;Nm&|OuEFP7f z$JzH+p9-p$X1tA~tMGD{T(tiiXhLJl~~ud`7z#t6gRD^d}H1$>Z^<&iM}4Nr2u|3}L;r zINlW{2Xerro0VTvGIWO_Y^U88lIr1ffE4pQC7&NvO+~9j z&FFc`ftBJaK=>7m;yDF)JWZLbb7?UkvC5OK(UttJC!|9@Kd&C_zg>aB|It9mYTF<} z*m?>+&QT;*=s&kvd2K)0+1&u$;N&3I?OjK&C82j-TUE%VapA$2I&jhb7=B-u#Eajr zkXFyia>@EFe7{=`V)KgfeqWa5#e-9Ahi&gOXT@I;EQx%H3Ni3m^|Qa5D$cjwtvaBH zLR+m-t$8?^E-hgZRqEdMtkYL-qc10c2(u4Ha+!57TlF298Yl#jamIRn7VtiaYb<9; zYKbtq3$gls9_N6JBy8W3XU*#LP!gUy%#hZ%F9y#&jqH<0-jWbqPqM*TM(}M(^*pSH z``f#@Ieqz!uzgpj3i&iS8yt`%hBL{fmw8~7p1vvVaBWDtNd+Q-uT7YB>L%izFk|3p%1bQp|$*S+b%e^Axka-8VYh@sPhBnoxzfAs@-vwrAnDQB^TK1s(sy2*88 zwDobcJzD&*|9zA-fPR-*Y!+J;Qo*e%@wt*7T0kJUDpjoetidnihf4M12e()ojB%_# zeEuf6%$@%%B8=;-*}$u&opEGXqis~JY^*uTxlcqC z(7@e#)tMFe?GMSrYes5C7SAvB-e8WWQ=EtH2NZx`aRg<`H8w)qZWGY&&(FZQS%J&& z#hiVPRRNU{73=&3OI`1R$>eflpmkiHKe>OcAn`L_hmn6ODgBk$q%)u2`+QGhcO;W> z+8#O|^!#DPEBSb>a~uK^dWdNI;QnSbdT$jI-zwenU!fgo$<1WE$~JPIR@duQGbOQX zobx*i5PCA8*4g{L%bf9?9fGxbrPjQEwpUdEg4xWj)f1v~>_}a8bHE1Wxianl*6A&y zOW=^REhg}CC6Xxb1EUU=HonMvcSMCQ>5JSRlS%Po4mMLpdB5NO>ctKuQ{->Y;*EWV ziH!o_vTwUy+Yh~)>+qRU6$jE-vlZK+l>xkIfZQZtkO}74(gj;o8&TcknJ|COj5Tt- z)fLJ31Z0V7pqtwET$A{3-}^y-uRN~SY!I7?^`)!?PW36WwLa}#+YGxdK-^(O=0 zxU-Sv3{Y11Aij;6CQenRrK;}VDoMCmlXG+i@(KWdt8Ok1@_&seNl*-5VG9!|rzI@9 zDCKus<*Ab3x7%YXm5S9vgWt&36Y#9A4E2g!%>LO$TQC~o*OW^-)c`#Cn4j^IseVi z`An|Awfx?}qo}rRK}FYNTjJA}#oRj%fmPU@XrN@dd9g0f+~8gcVZ|1#69NS^g}#Vq zcFQS+}Tk98Yh0zxu`H1I2#iLx{%9llF&;|PgX2z}` zDXM$@|NfpM@Zr(g0?z~JJyXX3w|vj>$*dkbNs{&&`#op&?>#s7WC&n_G`7J*Yk4Iq zghU0g2WU6G3VqN$h|HMDFl?##XG=>8B`(sW`en4UwD4!Ce7f=hf(1_`cFJA(+?xO7n z@K`|x^k_*(CQ>k$>m^3c{tgChC)ifXNX;X@9kw_V#Q8pX4bq^jumZ|9hmLW7wApu` z#Ld2y$havb&OTdb2gx+$wXqN_F+dLGk(9pOp%i>T)VUXzs?`Q)CU3;uXo1iynA|Jm z_ghI!Ht$mmuQZ6IY+0?Wp9{e<=k+huY;T{)eoBD+1mjcd`1oWy`?`0#_D$>UmBKyC zoI#%nq(EtOPuDn3IlG=(mW2Qnqe*ad3=w+)p`86b$@awbaRzlXhl%w83xZTR+BGB* zRfEzpD;w~G?xf#I6$bj?uvxtZpq^=01x=i7)VZ|ldhU2rsZ#16Xs1{h)r{VG^gM^} zW1=f2<)3Au&I%`Wza@_-qesw2%$qpXt)5kyEdBlWnYX+aO9Vn!7|rRSx@ znLzYuk$sxgSKDcqx;52A-fl6)U;}$TTMGfU=!b#yqnW>dWK25mssu!_@-7J9)`n|-Rj(%^$HJJ z@At^I5Z0Ie~xTZPj4_YQ+gr~ zAzcU0_ek@`ilT(&3-{XN1Ry?B+kEtJ9wh_kYC~k9AEg}zgcr^f{AF@(_J8a8cz$PM z*K4(Pf&HV=`;L;J2kY9nLhzg&D(&iAf;r! zZhtO5Q(qg-`=*^{HWO=4`CtY74h}Lr8zlJUZoHZD`#(eD58EIT#!d(h2zq@gl!Iz? zU8%I#O7_X%;jVIP>Ba}>!PE|3Q}FqG&kv$%aSir!%j$jRO&f!Q%NzJE1|^Ma;_#M} z$0S`@{zORl$C6vAhR;djC?TrtJg6vrUn4!7ZQ`k&!4!Mh!tSP8Ep{DzKr*D-?V$tS zAWFDxoFpT&38z@0ZfnTyMtLj9rgFxZW#bxrQiiei(7RFK8^uQ9KZb>G1Ky3lXi>E; z?cmG$plR%;5{!SqYLbho)wbvjvwA}0fI|;=xG~1XrWt6x`m=vlVAIUvusm-o2G6tW zgaM@{XCYYd1$DCu+U*fbT2Wam$wL5t%FyCXW|3S;{80bx|M}mlpG%oaukH?E8^lSr zO7w5w7?mvf8n0xPc=H&vIL#7({o9Y1Knq2wreCTU^7_*`uMJ_!u?JH-(({wv*Nl_d zFn_Phnh0)G@xwNlK4C709ti|x0U@Qs&cNKy1y^tB-IiNPzKoRQB}m=F7-h(sgV7l0 zWaLq%>Q#)M){BvQLRKjKE%G5s zY6lk$7T3W*Dh2L+ds6X{&IA6L#ip75eI0O7x`~dU=-SgOPf}Ky9EtL)%OIzPSPY8U%?85hDZ8_>TfEkI zgaNn0JByKW{U<^2TCiHO&2}c=PnHP>wxB5o!`mTc?=nkNB99`k+5e zhLUfK_D=#{oN_0y4#5eSa*z95BdSpVxDJcz#>Uz*hXbAvZud2iHruA?Z!v%4++OH- z-eHx{bhP^lt&fXEq0ia_*w~X{UoMe>u8nn5jzf$#|4iT1t zV_<8TXgN5an@Kj97?`P9f}jFi3C`qLgZs87^?8+j$ySpPn#qR5J{>^(*Z(+J&J2!( znF9Q4s2nW0CG0XdJ=$SRn;n`Z9D1XVWQCJCn5)0Ik%U1M3ppep z8(;B7XH4W37bk}Y>o-< zbM)l7ABd0x_-_L0z*0vdT^+|N5Q!o@!38J*}ZOl1zc7@uzcaWrHY8FIgg0s&i*Po>XuPwSO=|Y&#+7ZiToWx#%9iESV z9z0aad3J#Dd$51yOm_wbBOrslTAivx3Y4FfgX+YnyMjuyY>k~$U&BMDIByl!DFZDW zklie?0X6~`A)bb*aYZp$tip7cCx#c`hrIp}~q!KUU`f8*K7u_+ZQ zaeLpX*n_)fWRISC^cEmPm4tzU&XxolQSk!kh;cg;wA?eAjbXOAgPpv z*6B*|XKAwr&OXG8@q3RQ+hUTLH5uoG1WI)j&q=mv_K~_>^4HQs@Kbfco8O)M&4n&>5GoerJvJNc+ zF=jCT_v}AI1y6ZEnqbs9Q}KQ&V?M~Z39nDb^^r3@6B0UA5rg?3h=jZd?>sknj1!*) zlKgJK-f_S_`Uc-xkbYZaIJf*}Ns|G2M%l;}@|mc-;s@sjXDR^mxtUzy%b2R2dqJ?3 z-Q)Xwf#D?p_%QFsHu2(sq4>tS8C5^8OZK|}IywXiLxE4Jj?23@V6?<;_Rl&wt9xfv zavkA5X=k8pUI>D#a<)}uXdru$cgP;?U_GU&3IeV2*|wNg`QGnJ%TwX+ z_|qLxw{fMuHo)HyJ8%0XWV2%Ojd5f$+x|U73g!FQ9-m8J+oM~l=|l$S(b@`xNq=qa zg7|yqJex+j$i*D{eKCD4>Gc^anCYyiS|1%;k>A}O|B1b_FxQ_L{N##`dTQ;qWZ?fE z0x%s{=I)S9?vMma^6;H^u}>C8_jC&+8yyMpZ{o_7ieX(^6KKOp6||WG6YOWsJ00TwhQE zKr2PoKiraB2j@#1?~DO!)K6v*)790-%u07L2rYK>GJt*HBx||JbwWL}qc%1r+yOA9 zstAp=L*{Cnu_l;{^PGoaHZ4z|Rxx<(LC|awe1;_*E1=7`S&p@Xjf%m5txOs9eYL6R zoytd>z*DNHJyfGdyK^0ebLvso<6&xKrvkc4^6qLJs%Ij!G|#fW-P|qKF#FD*zM!8g`BP=X+|95u%j|SZ{n#j_A_P+8$sLS;_o>ITO_+M~Q%UuB&{do8 zsZ+WoO0-lk&`eM1JT3R?#hCg#y87;jE#F6GYn>_&1l-|C7heml?1-nh=M*@2a+ozCFMet7DVau*EE)UIyR8sUfcuLhtO;}#+4dRs=G zTQxNPd!J3oGXhJapNE*Czca1#*u_;tT+RbHZ)H_dd8xVeHRsD+dr+noDjPHk>oZSz z5G6xRN3DLI{av>&v^KlOut$ZQ<*b|SA}Twj3Mj4Cbh8w*nAOCJ8h&48UA^Fd&(FCP zOnfIJpW!xj?*ZA+4k?o5x&h|2F(pImb*JcRN(6ftAJOaL6}z;A7D62z|#M#>AZ=h0ZeI|LS~RKR`hH>{jb%pKEpOxxO$2N#4P>4tx%H*HDND!0ZGR zQzm=GFu$oAxFV;XP2vHfAT8U&2S8WWo9PGq%CK1Ue>kHp^sVyjFzo%t2}c|x*M10H?(1(t{uoHtezyO8cI!(p08sA(Ze5~mKWc2(UHVq(U82AkpfOs0 z8$fKw-a^I}I$vi4m}CQsfzKfqmm*!<(^uocG#$GEQRPA&?n$K#PHbilq@=hu(bXP^ zR^>pAjH-92*ZPaXubiLB%JeY3VT7$#JTcfr$vve_XA*QT~JiL=6J9ac>T=P!w;_OIoE8K|6=%S7SnX-_OLwI}nE_GUd;FCskNOnf)ww z_sVMQqlIZVjfg)TiB*vPzI*q^l5gHMOrYsMZsBgpzKueFiYIxw@P&c9SHuSeM(EsggZ z<9E-@x5u^T7h?UyKp&+>e206lr^%;OCH(>D=vO!yiK+0-`rrPJ_!n2CQ4b z5hKt=8<6uD84_ft2{6S7WoLDU)g1Z_U0PWb8vH(v#R~A^I4$3$H|+aBSX5(IK2-}1 z7%hMPTK2jJ+5vtKiXjn97a7*l{Co-7QV~#P@PqTH&N^eM@BMd)vTXunp$iEn+hAde zpudt8PDyR6f6O|lR>&)F*}&qq_jvn0W&`0UYf9>4>TH7xLm`9fFrDQItx^Kxaj@}t z&wYs0Lhzhz>6H^ZMwf4o9)<`uYufx?Tj#wKu`%#7n)fk$n1^Sk=DpB0HN?ihc=rUd zA%Fbr2M3|i5*`g;Un4AJc>`OY_dM5Dn-F@gu`5U)nP9UucpxGin4cI{$`TE9sIo{v z2f+7$Q6_~y?UiWax%DuI@V52r#P*mnJbVCa2Gk5h$e9K>G|m$F86E;1%bDbSrh2n@ zCJi8Lu!E1$o-}^&>M7z&f3!Bngx7aMPFa913l=V9-nWB8uPWKOzmCr zW2EYzG@p4SL@InmkvFu~j9(tmW`W$O;aPwXe};oudSJ?PFrOxxhPHt0b7O*ydYVgO`(Y2zbW z?_a7Jida^So@#pAU^zzUO+XZ^dUeC8C?_dHe}ZEv~=a}t}MHq zi(vL^e`{8@rbhkD_5J*r&&gTTkb#Wkr9y!zn2tgIrN_Hy7y0A)28t{_VzOiWS+GZLo%bm!Wls41kWs?>U#utWMErMn8`g27VQPFR|M>bKB#`|#6 zr<6}&3&9HsMq~eDFS7B;unGf%FFQILM?{8#KSm~;rUh^WQK|kM^Vh%s$N$eSoBmYTMXv*jv#8t4Q*`N-SyJ!VHmEwV zJoVy8BgiAA-_8cSsbayvzyAB8UkSTygO!r|WX(qm=#v@wzNH*K2n=Wi5Y8RYu~iQK za}hj^U~ZMtNZrp`B4dGZCO~mqgXC426j1=Y zP?#`=1O*LX_>c*4U>;g{r2bhcrq&=t0Qv!NPe49HCW`*iI%_;sQCW=3*l;;>70{Xq zwt%lX_cIMcZIGV?fWy>WgHbzedF6%d+?w@K&3DGYou|}9%AR@P&zyd7mc$85L=9|Z zSh-Rf_cORi((S*gpA@h`Eqk4I6-Sy=t6b`=bH5(|l`_8=NPqS1Z~fGgT1PT)gi^~? zjV4pNrR4Q$R3Mgm{cBQOf86S z=APYJrJ|4N@HsN`xjk*LsNde>OU8YTVgk+>xT1gXNb~Hog;bWft2){(3;+WGsBE`~ zIT#qzqcyyF759Zk9qY38l&39OF|iPNhGLl80VDyBc$eX>QicXcW-UP%^|&vcQ8>N_ zo`3gh^WwuhCZ~MA>+@7|;J}*p8yuMt`^rr<&wZs>-+zsAAYxzq`f}Y;M5f_Kc8V-e zt`m^`E=wa5dS z3{pz}{ux(zQLdUj^&@m{ysf5mZrNYj*K!StKNFsvZhXpBYfAIJe(xW4ZGRV%xy~p1 zAOPgKpTF5L|9u9#NyA*4;aSVR_ed#0-?Oajo=?_6`sY4suh8wZJc%}qK|Z6*=*XE% z+-in4F<=q)yVi!K2R-G-RMTbd1VPEc1WU*)XHnVg16VhSGGw-_*PesW*!d_feW7HY z4)*W=PuAZoUAra8fslKw{biOA$Pi$dVXCYNX5Ff4nMO^kTP@UZ8BCaPN!$iEfEgEn z0k^;mV<5u-(UQ6|&$}WRxO=R9s#B`WbH49=_kNzW;>W||FR_t6KWFOUh_K8u`lb6j zR5GAu&~;GrvvM+g*){d!hsbY$2N!p%4@n5HIjC!wu&|z=f_u#a5*0uPpz0m3$yTF9 zWDx0VRWSj@i)7_)^m>R4niA3N>PIFx`MPS_7LNILvlt4}P3F!;HvGhnrwMf1{PO-D zD5{5V3=gXB%T`h{4LX*yVH@k^8^~49F4`x9&oArdHNPN9hHHFTt5%8&&93=&ng@L#g^wTChkd(D=sA9@#kC5 z^V~i-;Sbx&F)6b{I1nrg_h-ZH1IBmsKpOu?4I|t$-3jOPyYOllZ+Vsw)Bc&~dA9QX zM_6=lkqPnexi8tY_`|+~!F$$4zhBze)^t*KGn_y$@O;G$83d;Qx4+)kXB!04P$~V0 zL_O`wwsHKi^6Td|=?u==C&Km#5gvk_z!xYqE)$01NolJ^nzxD%sJSB z$zz{AHf{s=_ZwftwvGdJIR6vE+%}nR$w;6J289Tbs3rBa(ansv`2d+SXA82C2^?Rl ziot#wV<+wNPmBma^_%0sP+|+WH&$0(H-ZhvF|unn?M8SF!if~&Stm)t zPF9Zk|9-d0Dt`91k{!59z|(RgS=N~;&nNqq`4WSW0VYmuuZ!BeFrMQ>NCsd+ku{3L zgQa2z;-5SVgn#oN|7WYzFc_W%z%rJ_Mk_72hRsi_4>y28!P)rPiR~(_?wv6JJKC(o zv%IW=0#V*tfb7Tt(fpKgJc?3=1unVLk2?Doy57KJ{d&nI+4*JLW7)4TI4Ml8H?w+yhzM>*JK2~-zQb4&to z149uCKuXHxkseD{QL<#6V2!^v+9KwFMUdQv zNeTfE?YbOKbvF5cfpRP3z|0vaA&3n~$LCiderE8&yb29x2PO_Aifw`;Sw5lH$k;eL zqo3`z!?LqZ$ra0^O&I?vUCP~m_l`#K$4ErBZLk^l&6GqI6x8s;?T2Zkb;rHN)+_zE z9nCnq+*ih9N<*(~fOKXy)OI9A1Di20Sj3uh$NG(34Qdw|xr+%*&sqjtCA*wi4f!6O zg{w|7xa6x^Ag)CwV&1grzfVXwhzNNvea`RB8hZV3N~-<)9rHRqp%2#7jn5fa!V{BW zE^r__$^bih$TP5Dkmb(;kj)W-nA<&vGq2}Sq!t!@q<;(b1$rRk-V@_LJEucEdIy-p1w%mTWdXrZLUcZ?{wCer!QV5d(RF&01dW!p=aFg;By<3L4>jl z0S2RYZOjHZDg&G?=N0gt_+9tH;r*^NJHYSB4Vw|!zWi%{IX{sD84Jm8C{9 zoUaoWSQ=_#Bi?L;%r+rnJ0Nn)MoDL9ePP-O2Cq5Uf8W#^-qCX=5Wre5Kc#KX+H(yu zSinXmHkxOT#^)5*zu?-LF*6JL`@6gz94N=zGk?^ZZ_>Be)=$G*2MW~>;L_Mc{m_8IY2qF@N8}^84d^^?8;D?4h2@hIDGz1!~&gx2Rgw_+g_PO%v~zch_&+*Y-ILr zAis(vA$OX$?+Eb^_TiBc|7^$q_w3w^4UmCd!>6EJz$$(Nn{;YKtCYExElCnW128Rb zt{5Ibo6J}^2byzY$qO390J}*cfwb*~0%yk^K7ZK%RMYv$+}YE)S3dqlF4+`JU$B%~ z$WYJR%3wsuR6jz`M=kqpa<#_m&HeXNsE_5@@_2C2{Uhw3%G{AA6fD=n4E28LGCb#p9IRAl%Q>Kt99m!2-r4=B*2{^c)o$gH=7ec zIOoi2OB=zQviwRfQN8U`GWXxa3s)~tNet?JQo&MHzz@ENc0bc(_R6z?5>F=&3a&cj znsor+U;pjDKuY*(+3n<%o-hmex63P}EHSvWq0*U0b6$U`o9(P;d2M zgB~4vdN|D$`ssNTxQrc<0v*0{G5L@k@B#;t?89{d;npr+XSR(!bZcR+LO<%X+r+|lT^#PPqU~dkg$+1_s{&lQ4ZeU$Y!x7u9jL4n zTn|QrZEJFr?07#g+{bwiaIcNfKz*Xm0BLTGjA7S+_-s{(K!VOA6L*pOofv1@Dchii zp{xKmJDpO%`)znreGugoDWUrffC{(0Ehf1?1SA0)-NP~o%7KRI&6$?KkJc8a!%%Z- zkE=q)t2c~-4T30!6%Kv6yeT01;6MlNy&mk}f$7!x&OFZpdfD}603;ps@FY0kHibL$ zgY*&4K+I`mA;3B^FZvgms$1n&jyM<4fX6$vzKkOsXzN8Z6b>ne^ndv}L{7C_YlaiH zL0HbO0QIr|cBLoI=AO;Ul<)SbR(~W{{K|&yFrHDXg}|Tnb(wn0>6a5MJW;>|z_m-< z74Yq9%T=dLC{A=3ur!H%WVB2Al^@NQs_LUX*olUa2@n-P`jiyB${Hy9LT9NF@)ibH zFs&iYxbuLfaEpMqvJaWlJ73@t)<=UfuRy}Rm~*_IZ?MyUL+S)D&{MGo(wYQheb?T< z!H&RA%-+CP>u?mzCq*lLBHecvnAHwCo~A$U_(2%+R z^1P`ZaMU^@KNGMg@Q}fEnVj7>fo50)+x2k?^fi%y*pM-qVxQq(5kW&`Mp?KmUzg9# zy>V@&<$7SisduTgy7@nw37Y_QvBcdW`Ume(xKs4~RQMi?~v^dZu| zffm5+v4mR~G!zs2g%kT3#}-3qcf&l#*FWpHUM5YY(Y?tSwLAG=7KcF<1753@zs@R4 ztrO!jYJ>;m1z&_BRCrKTnA@(n{6Uw`wGz@KKui{lU-Bng#`(f`knZ+pzB1%Gj=u80 zwYU*qLEr=0YoNaaQM%MM>tk2azRr4eNIHiA?$uhzH^A*Mu3*Rj!jSuGryzUZn+TGv zKE`vq5e@HrmlR}(wOA9^@;S`M`9ZOM zk`-?U$#Bjk(KyK9NhCh}CPzxouhp5Z^^qfVjA8<3;JGJQEYc3_6TpIx&W_Ck`N&Dj zXS-rTt$>3wU;dwI^odP~vNo{xY}Q~TmJ*;W1?vUe7Fk$ywNOZKVyjYu>yt1=aBY1N zRQAPM+inf^zejFh{4wq+RQ^Fecx9tw?`nNpefgvBd7=#dNuK(j{O$k3L-E8ky(x)} znU8zYV|ch=1TOKOq9+dGq9Z3gH9S!o7uA?QjUOBi+PzUlqLP;0?gtcLFj ziwr(oWpr?sUExb^j57ip$n4vZ^=MGpR#}7~QWi;fA}36j`&?p~U5@7hj004q3**)V zDp;GXZ6>cDgQw?~*qNa6XRNEWVm=`2QZbaC@wkn_fkfh$_xn;z1wgd32oM}+^Jir> z?~(X94m(rhHK=hmm>Y13voNS(_2#8o*2zR?X@?$A4jY$j^GJ3tnI@j{#A)A!7KLENuVE?Q(X01)Ya#+ro=CqP*ws6TGXPpbL)N>$G4(k1@ zqv9-89=T-E1jdAsMZU|n%Zxe!T&FwDmt!l6Ht^Iehfl-v9eOh_DtUIM!z_2t56F+t zZEX9-^4Ee;DbohfxOyMUn;tbft=k>@t64<-feGmZVJpw0qnz>+2@f1@i&tV$urKb0S=~rzQ7z7m@2qRMUGl2U{W~vW2(U0#vyM55yr`j z!OKvYbj4h3Anmnz0&8wFFv)3Qbm_T3WHuS3bt6NphOnG_D!B=Ucn%p$$-&DG!&(1) zmET`RT3|P!LQZUu*#74UkCRG#y?pwV={BAv%o=qsQ`-3VE;DY;lBRhW2 zgHd&!an@RSDj`$#1(YX$ukTAK{F`|1;Gfagaz5Y+czE)9&dVqB{L(;y*-d|aCT6tk z?XDkonY4Yx+x0FSsym6`uD6Lb6O3`$b@VZ3A83e9%PSo)bHAg|#%jSnu7L5(4E1jh zdfcjsS&XVUm0vQ8HR+kV1cxyLYQp&qhK_!_vd5%__)Y~ym+h9zG1kmnr|7q3*MvlU z*+QWrKI||=*H=~JZQxM(k0NMKL)+Tm0iC~m)?(Sd(6C&%+F+aowOxaf7h@tRBxQy0 zGRcmK=aCI6LYpbl$8R$1c>()1S8UAYbn_GTTeqiq)j)|1vD}T39;ggUr`;z34jf-Vk=X(tqq!)l%y2n0o;7Znw?*`-%4oKp~ zaZ0KTG~3730t7PGN4^RGKLG9fmBt6>wfrTCMaZ8_AACx7FRiq~0<-e*J)sBFTW8!NNOHflHy?t^I~Sf}8~%%IeV z?*6a@m@nD^w!FlD_xnH=#x6E6^#V%;eD%nPMDR?1yMMU?P-6IrOjTZ_x!GNRhAR|c zM;O*p&shLbK(4>f;5(a|srvrIH3u?sYGsh~JYta+#QRKaY%^$&C`|w8a|)Pm93i`G22lk+1>K-@t-llKC#nFV(nIU9pHZky(QqeZ<8HU zsMG2jF5R8vKc?5lx1QlwkWP98Qbs5qalE+-w%M`EWxp`cb_f&ZqS`g%&kCTcW(MhChcUD zrSG-vo7rrs$4tP17x1-O1#XEol;J6INSljm#y zxHdk=ySy`uRc>dai?PDM3pA)zSytJMY;HZu`q-VrB>F2Jh^K z2@By^p9pwxUK#7G3Bd0HNn@@Ap6=3+Uv}m$b6!-nReFE8C4(?29Obi&mgJ|Lo!;uO zh6jDRE8IG?wAnlYosexVPocjYpLgylVTQBfgH6N~(;5iGq7J`Nt&rsX7+yz?CE`%dy@ap&FHHwww~b^`KE;#q&bsxH=EbJT`SRf?YU zS)1(Hz!kxB4b10@u$E&J|0#jgeRvKUxCHQkOU^Ti4m{&J#xrbJ*IuCNdcKLVi3#Nd zjV#-N22f@D&?z{Q9Ui|QR3((E%J5y|WaXQ!W_#-L{xk$+qtbj~fp2WJ_b{_^mG}?? z#j2BeM_xM_`C#IN_-LI;T76PIJfmt_tsS4Q;_^||U)etGoP>gb9@f~CjwQ!r*no4k z;(PIX0jJ;m1;s}X|3&r~A~T86;GKfzo81d~b&X`%33J3Y*v1UEs=0!~{m47JtRVdQ zO(;%s0#4*!6Piq0i(BPdq}ANC25{N7eH#+|C;!pEK>1T&kiWMLq+EXlpylkSX_Sd- zkP;*x_{2En?4H4c4Vs3*0XwNV!MK@?Fk9VF<|jsSe9^!L0JePy=Xj>v+qYjTHqm9R zgg#U3NP0=;Il{8Qn=y$J2`o4ZvVAEg2k?F;2c02*fShHU;Rc}+ca(!w8-sFT`HXsX z_8hIf@L6GSc+jgnfcllkK#<5Pj;!U<%0l;i0b41?DOD10$N~lf4Kvf z-9M&Y<<>D09pDSN*IY`3qxX~Z%ijZcj*s6)a-J)H8HlWC0kDCpz+_f44uNx1>g{0M zN4Nt8lYOEw>Zz}cfd9~!8JM{&t4qA6>r2jOi8B?3WLo<8&W{}KXkFrb0qU_a&F7## z!2JPu96CM*RAf~8jTd$Sup{Ug*amQ%scH9I$+BeVlg_@~S0-tXc~9#>e9mS>3`h#V zT$NfWyI>N)wj-H6IFp@Y(lDdr;E-Sa`~d(C{!=XiX9T{=>cA5_*R0iR=bEYxc#|MW)vme*`FC z`!{0{k=76Q;BOG(fL2J~@0&hPgH^V&?MTjGFqR~YOWfNfeeCcB3n-KYOSYrUyAFQ( z1x6zHI&THyZYH=KtgSPnBULEa2@y)d6M6MF6RhOEQJFXmGI}!rWWlWX&%ancI_$o)^q$6LQFFFu0P^mjD-B^u`EF-LV{T}@0Bz|!xQ1;TR8u038MkhvG~7PGL8fp~uS{af6;uKL zqYU6=KGQ6zo0b?WBMgtD!B8Ew4t#S6?r`YjES zvrATK0DR`{=eDl=puHg?pP`m5dW?F)0osQ7s*9aK815{`@w+4wefYl)n3MHO^L3%3(^c5{L&R8VMYqPiFFHFzOd# z@SO%@iA45gJJIDIc*Fus?)m$_fL&1h*MB=2v(Lpm5<-7$Vm$b3@w(!fa>78dodi); zsj-d0h>F{46o88`5XNHg)`2T^;CHhg@d$rFdeVL_-65gwIOCi*DN$#R*<(=rO}7Dr zSbIb|jiGuP{PJJBHkeqsR!j~P!}D+eU9!n8b3RsX|2?Y;3hJ(7|?=K zlXwBUDIgcg+1>5_6(r*{HjC+57N~>`Ji`oj^8%49pZ=E_rM~2V{#*>9-sB)FbZ|6mf&eP3 zIU4XjIek|g3=Xo}HBJYBNP`}nt~HJo0^-Q&0!O7j17HrixY^7YX@3}oA3IWIj!cVT z`%g=x1ZbtPOk@)RK%fgBwts*oku!~xoS*hha}b^Ly^ z{^L8w!pTxt}c==E?AKu~yXql8QVJ|Oh_ zZ;icL9+a{FBEo#R8FF__cxg!GL4qk{Bg6WmASDZwqd8h%W) z=#Ja6Gd{PnvCVtr*>#_p>5$CEFYx1lp3=dB%e}0M-rMrK87}KB^5-sKXlI~w1s~hCcnUGpMX!9EBl)ee9WH|? z+mni}K9DUv^~%Gt?SR^W4ocr&ZY!!(I9U&Q?C{HXXuTPK@5tFGE0_5rCa9RATFuX1@aF!E!39xg^QskK~!!9mSEQ|Bn+RFa# z#cm8Ot=EG)A8=EzB1Xt%)AM+ z?B3Di3%(9AVyilG2elo{oSmam_I>TM+fqyWcb&n2=h$Cc=s6oeAhu0-3G;dKA&QQu zvF*3+DPWuDuY7OS^50d3V^T-~B-hXA8qSvaGwelSNmR9)>pK|Y*uTq9Y>ns1Sf0l1 zbZXQM2qJb(~o*PIeD=4%DzTWJiYca)wh_u08%HLX)psY5De|rNb(ViZ z+*$Y6fMKur*(V18^!-UL^c^2Iq#^C*X?Z|Q;ip8}^30RN!B^s-^nT?T5_C)9<@%x_ zJp^#vDr!IBttiP~>Y2aJ9A!T>T7BI_Ch}tfceKNI&eOM=*gn}ap2#{dBmJ5_QfeOH zC)hduA8QX9lJEKI>qfBs;>3izT;hvH?+DJ1{buLHTmf2(+mRT=^O&aR`Qr~of{o4r z?V;5E%zgeLaK8sIx(bmaTn%hhDl5-yNi`lox%Kfnkf#IC^F>%7KFQBL6UU*X$wc<_ z*%JGC0k4cWu4Po!3D&Q1GRIgtcKJDcS8MNu1mBk{+_~pD@R~-z_U(Cl4U`q>!RT;V zzwCb(3=sgoRyba~u5!=4OCphgTV~5LaJ16acUR2(AE@F1vuB*DG+oSvX#?4;iV`?jnUD3P zu?Fl7-!t>Z!C?daL61PgmSz$zg#+N8o&X&Ek%T9i|0T}cPv*) zXa#)4xEjIU3{!;-ereJ^{NwpZ~Vt=?OTUJok z6&z=Dpg=uAVTlM!iE8Xe4W)~xl%trj!6dRbeQG?c(FK4};tG)^`Nwg5F%dpD(@ z?Je&;;5msyq(VpM_Nfn$svHn$O)3*@4-i|w>~uwFaRWL1zMntAAK<}=*z?f?a2?Bs z0w~3L!3ZOVBl5wvwoA5I-}8BQIY*UBc2u%G#{tnhuK)*-D*Tx;0aGR@Y_AOrX(BDQ zI)l(IVZKo0TLOGNdg)o}BLcuyP*oH1@HF_GiKgX9oCihYt<4$w24pDy+&}A6r?8FC;w$T$fo+2qYkL zTn=QHd=r*+KZ8?Q%GgK#b7ypRNWxO5aLCR0qWsvo+*j)8DMNH9X(TMxR3S zDAeXh=Qs`)XTXn#q4gJ$SsK>J17!s37zmPR6Jz_QGOmC?a@L{V_eVy(XD~aiIOnHncY|ieD9(<~!NHH>OIuuT6@OP3>9PW_b z_*FfFeqkQlq$jFWK;)uaRWU|*pVZVk;5@d81SVBp!LUaE^!XF2e$kefC#RWdldwNN zv-h)N5+x%c+OSuu*eG^X`ee*0)3S3K=A-xfkovqhpA!C<)3_muE&I(v_iTI2(8NiV z?OgQw4MQa1YAHP5KLf3CFMMuZw1D%GOmrZEXdO;z&~1Ay_{jgJ=z|+%7G^S>*N-!< zya7atqqj;;v!xuKj#{XOj}(kvw<|^(*deF0RSNG3(s%zV60SCi$ZPE2-|NbrAvE}w zp?UK1!Rp+~WSy#7k~L>b&n>^E2LpYn3P2N=(mK;V9XJ^FSoo0 z`33q>oX{XWUVY(T6X0+uBp;xOYaG&JI;TtUk61AkUnVyL#Ch5uvr0bjm&JuG1Ym+6)zx^YL$cdZ*;)Wq?%T zaKWP)-BIiax`efjfNO{E%)skS96V8kfJeIttdZ!OOdxQl@F}yrJ3&GvGGLi!$l1F$ z#l}!Y$bRdUIsN4jD!CkZOn$7n43USUBil8U;nZ0$ zFYu9rkZW}Ra6`bQ%M}Rv{WoCJgh)UJBeRhipYIjut-|(5uS)w|fCPj7?tG8U9mkHN z3=q0;y#$WPN=pqXOnZl%rr}2PVC0A&%j|(TExFcKk%sor&t?JQ!etiZ1g8Z+E}ota z310o~BojD9O0}h&*N>uSNx2{c0?^x&xASZuN2ykgt5S8UjDLoxGr)CQiicBW-VG$; zI#qtlxMU%BZBOM=V!w4tLEsq${{HzQE;Ss~pv5VRh*fM$u{D$A9L)8sjNx{0-H5If z{vDIS<&p}c=a|uO%QLCyFnwa3D`@y59TYzpriFoAyAt4?`=Cnp8Cz#N@@2;q=gsSi z8)xNgV+%iU;zjq=-iMq_ye~x~U|IwMVL6oiW$-MMiM3tTE_ZL4z^opnxe@jsix)T| ze$U`spi`b7S^OS)Nv!{=_!r{>C2%s(%Z()g$7_p)&E$&WsWe1u_y%sWTUq@cWXy=B zlp`ZVw)GFwYxB}W3};1`bj5rPy0rY!gQD5WGM0$M@eBocQve77@`-#98k`1*;F@)z z@;?W_&*BYC{cBl*kjcjP}s>rPIc7gPY_f{>d9ZjEEFtJ9r0`l9Ijn6hi1;@JZv;I|Q z8bZr9y|2kC%fJR}^ObRit)c%cJ{G|{&+93Gv)yp^UV8e<`N!2I#6ibC)Yv|o;4!W$ zkL497spm5qR$InkeJw3N?O->A``8Dun9b@6uR8u8n@_04VQ~l^W{iS{Hd@zmzy5uZ zNq)X9Y>M8^GN8NR>Ot1HH{-67%^8u-l{nQ$z4-Ub7HD-OK)O{0w(+S1a~o0am!QK- zJ>PDNNI18=fvsHBE`;FNJ~6SLN!gP9P z&}v!9cm7*3hjcxdgMaGTL7UL@3~d12G;c@r>8e z!7QOJNs8jWRNwA0uA^+!P|BxC&~K_^o(&_AnJl;O3R-aRE3^_4{mg9YL{Gru6Hbln1)5+)7blPJD3@L)gCx?`5S4t6@UM9{3W zmAJxKzH&@v4+OE4q4ULnIW zB^O&pV~3C|?}Q~(;6t00%$jHnK9*m#1=uK?+1~fRvZw?1qEqEqH!QrB7s(1jj*}mQ zmwtz}!&neGZ#zWKXIO9#lM-~6q`xvc#P0Yu@YM4<6ZaiZE=iE@4J4KR?p6@2wcqEP z0BRvmy@95J+QB}t(Jt`l$T+)ODv!x4Z8WluVAD$leU>0dZNGk z8Fl8?Birf(=qkaVBrY**oRO{uM2aLGeD@jW0aX&GKWq$6&jLoR>C<nuh0WRjimZ!Ck#%AIgtZ4xmqa{TZnIfF|HbG|NYnf&zP@% z^E%|8n+@0l+>$wqp#a3kEA5Zu)j@r|Lt{PBLAfGf{6Yh3zP?Kv*CszdsIy zlV`gIyDy594HproKY#;-=#u{5**~|<%^gnyy$aR@(BA`?ciU0^?h&_oS51@l%%gr} zm+(chYSw!DWUcTr1rnSqIPw(~Y@`F`7JWs^XwRO1CO!X-Ofq&*ANTXK8Zg~RZ){P3 zetJZD4%Saie+8WId5>k0#19(UQSxP&eUqAX>-$B3`m?Lcc8&%SUlT!Sld<_sc!*&s zh&!B&b9i!Oz%832;EV$ev$9SZ4jV@fIJL7^GO%q$fXCU)Xsq!Ru>JXlL$=or)lJ6E z`T*`cB_uE*-O}m=g8lPMk`6BckQdZsdP|Yp844dXf1Ds8ri4eO?Ro~`4C@N%;b-`A zspEgP-Dh%5#=!H)@{r7g?<#V;>pR`XSbP>27w5Q-=u(KQ#fQUSE@@Tpj3k->~KCL%#n9ViF+>F$O*OPt5 zraRdN3Ug$LXfbj!#!?|=m(pJRy8mL?9t4jHr_eqnRoB@(vcIr_Fs(=Ccx+4v`N)us z^7nCnF-VrYR1-`3+UUa`L$*_ed! zN`R(isq}q+{ZIc3F%J%WqQE(bfrlsTUzUyB7`Q1QShfQ;P%)|#CyULbX+@6=x0txH z5H-*#yNgm;G#s!Y45UB*t)WXWkM}G^Y`~TbA5r(C`@oKPz4OR&bxEC}9m*dbvnS zSHn1yl=Dd@suJCL(9>8%05f|W0sH~lLyrPby3IZ(*!BB2dx?xS$P<&4;5u0entZYI zO-{p^QN$5ejFSTj6M`w9Dh%*T`^(Ggv39Dl0}|R9XyBhSG5eXxipDU$jLF)Cpt78^ zb&&r1wqaj+ora6qaM52|FC1)F3cu^gPe{UK01ScH=Os|=fZ%&r2fL2kl_rdi>V884 zuKXIrh)oYLvb$VoYvRxqGHC~DukI7biG9oW`TYXsstsaF8Q@BnZZhB3|C>M~0R@mO zCOw3Z&PuoC4JL2&!13Ak8 zdPD+v4OrF*WwQZh_PiSH>W)EzaTK)z&RMJR-M&m@^h9!k&0@#I5p&zbp(ba?A%BI1 z`<@q2mDRwTO01KF0^btoLHFu$NFoglo%e|od=Z}rd_5RuuI4H@C_)1`t`_J#;~30P zRfXlu`V!9qZ@S|E$3})zCdSij6x+WJ=$Xw>bBK#%D(!PU$@vA98TP2`)4-r+AS^H! zo0j%~JQ{>g2*r*@VKbzh{q#o|o1B7WZtcI%G6b$(?+s=flU8(4W@-iGcn`E~WP$+O z$&2Whw<~ZkKXhw_GTGyxNiWXV-ZhKd9I(qrXFe`zKDV{OdlWe=vpQF6GDPWkk{m{yM!%fHXuzsTB-;Q!n1DZ<~|rrCS6QW z3BGanbLeCPdNwGlF5D`huSlPiiGL;9bOw7E#?F2o+ZfE#2~}XgI#ufh6P$BAOXHY? zHYq$D+3W#6BVw=8ukBOO*09`R;sfc&7=I08ca0?p^bHx}xZ+;T6PX`e99InRx$-!$ zlzZ*7+rKQ%eV!mhyL4)v53#7ub(P|@^wx2VqY&9;1CX?}gwz!o7ft8Jy zlr$DGv6<~nWxp@HoM+STyn%;0v&FZ;Y-pTwOtL)W9PB-u*WS$}OrDXO$R8|QW8&`1 z2E+~wfDgWt0bl;q|Eg*M-=7cpeMf!SH955Sz-(cu3(uo-JYK;RN-|~3NU9q49!c=8 z|MoveB4#>Zzy;btX_!_g(>0JO!gqYgHl!)n-wXrAQs~|Na_0;Drxf170vEh<4GC+& zAHE7O2eaVUXV~EGUdp8(UjVDaroj!BNQ2p}=vtJJ5m;x2>%C{;m2zCFzYqqHS>3n4 zkEhh*UbOVa{b1Byu~Q$@&)b^tzt+?L>-U!ZJIKmIWw66GX&_(DDwPCFzwu4T!I zz02WdKlILJVUOVs+nJE_p`*1!SQv@8%xz8C=f-Avd{fBuO;8Fa2Nj0{v-`yEx;NSM z2B6sa2M9(6ka9;m4GL(rpQmg)FTXNQ+e%<3R{$uZzSSQyCSeSi2OcislQN0HYr{dY zqaWX)sx^*VcLp(o0uDfX?Td8Xj;aMps)&09uKk+M_|G9<@!I1gVfaHYYi$kFSJw*mH8m$CTfeUQK~3kK%`7HJ8~^@?UZagf{{|~28??;;kAyMv zuFrG;X&^Sh_WrgjRAf2&k!oZ~{D1z?jAXs-MpQ zt#gmInJ=W2K1pT1tkGQjG(8tZIz=0{;z<5&|8ieG0N<^?P+aXSaWe*_dZXj>0z!!G zfHsT+=vu<)bSee)qFdb&d1X0RboO-0Z|Lk3h;xBCnHNOs<*3!>4CX4Ma{&{d25F=x z*av04Z1@7RTutr=_C0_rHy)&atjm+fvW#Fv2Bd;cx7;X`^n{+Xk9|VQcL*l~#tN-_ z$a**C(Ez~JOh|RqTnvt9zW~?F%@lE3_pwPD3#hVyG_fYITHeL3Dj~vYJOmYQFfxrx zRjY*z5&Qj3a-BHHeeQMRkqNl9bJDJ6yflNKDV&t(hKGm9|7-nJvG=Up!vyJfSu`hd z$Cn75Y+mrdaX6STd3+6;&)Algv105HJ#pLF_HW3ojNx@cAw-J<%YieT3P#@QGrq)F z$T`b)LUZP5VqcTFoo9cVkA5ww-AppIC#Li^j2j>JFKf+o5#)Ixz+t)L0f09G|c4g5rh(<_AG%KPdcy zsuZS6Z3A}{LpZ4-{yTMx`i_IaPqLk)XPDXEt=$#=ELWCoHL~%ORMz-pQW+&Z5?O6~ zm-qi7*OjsU!S(&HKT3+6=&Jtw8Xw3-YCeJP%JCFK0`^v8vqyH)#AC<`ED^p42a!B( z^IqgHWSA>mOk!Td2WYGkHBZbM~cB?W%! zt7r80=8UsGVxQmVravN(Qu~6k{L>hG{E0H~-L@sj?+N%l$7!P$rkX&_k)o~tw6dE> zit*W$hLM;I6eD#K@=4iM46cXXWZpsqF+g(PG=>|0?>}F&8v>C1?AlvRY})W&^Ycj-FReTXMSDZ6UEO z4b49XVT27u0!ABV#EwTMUfRU0ryNA?HUC9AMp;I-R2AV2@)t5*=DDzOi+=97&(k@T zVSP!0OSyq1E$Mcd$l*G;4eBE!0f!B(XmNQWQ+fTTt-c5E(2k}Zkcjr1qLE@J|^SB%C{;j+9bIq!6$G@R!i@B+k3FB zN83JUol2IKeU*i-yUG=^?-4(C@}u|Dxxa}Fm0*&x74b8Xrpgf!FuRYpcGqAbZ!yro zs^fS1`txlENl@;a2_Yr&rd_&e`{C*szyX_w7lnjJ&$b-Gs?!*YQ9S}E#Dl942>a`M zu@z}?7wryI;`t1YxvDQfX`2_~Wh*ZN4mx_}s<|&Yn(LqmgOowrk?noM?@KnCN3$ku z2guyc=G!+A4J~`T?n^Gzw`#lt+rycQz(akE?c!Fm>@g!11MO#op*#4lqXXArxf!Sn@W-uvm1TfB1ym_DX-G4oB>nU6J zkF*5^i`h^9GBM_7I+=U)^~_d!>aYA8y-0 zeRqO&1&#CG)qmI~cC}{pXZ1QCQ_MblJ=K1MbtbENg~?_~a~X$epCGDTo|ngLj^Lh)e< z0MJaW?w7y{#8R78lF>h4f5j^p6KfZws$*+}8*lsua~c5u=AZtTQtV~+l+_ZmJpeR- ztPH#qj~%ga0beEyL>#~moB$30Q>s4i7(+O;vuKJSwmkr5(}>yuPAYFL4Zv{kxBXAN zkuTcMQb0=jwsk>I<`#$%BCD)TO7S}VvjJfNl=MB&k85KO%IQV`_y8Pn9$=yJjl^tL z9Zl5n?%z_dT{S8RzbSz$ENxS-#b5$dXz~QLgD&2k9Na3c$q}Ee&-o~0teDTg*CGyT z?@599*g;LE-(q(9^D<9*K??}pEv!H!sQmt!Ugk}p=x*>2Iv@bNh9-u|eeBWJDV0BO zfG2QSame?q!exk>v7IwDzc&&B($B^2{ln>LPrRqWL{={4mEwrSMy9u#2`|+KTXFEMQwm6AhQ{k;S$F#EjEtuX0QC{sFx9)f5Va7RjuN@={cRCC2-gIM85Gpa98TI(u1p#f7{%76|Bhmex^|GVyha%k-Se!f^@2?E}VG ze`o!RP+RX=;o}MuXPp8u63Fua_g>}XsVuC5W`EYlBt-&#%vMpY-1Ngg$V`F74Zaw= zfRwy;f})~lT6!pyZRw@-OJ^tIfGEkx*8anQ@~%9H6fiw%Im@1H650UZX4Fs;`=8Wt z&v=+`yYe95o|~ypj442UZNnHByJXIsy$;VJ2vMtdE14`4QQTQ?s$#l0F8D%f- zoJm={&lY$|Ay*}+D`%|5vN=_*T3GPz^D@yN(_LxP0A&A7PHAPO&1y2uZdDAaG`4L! z_bKP`94N9DZQ3%N$PUhCpICgjTwc%lJ;Zy;#GnU(Ib;*|F$u!RUXTy-IJ1GG+LXra znwAO^6Dhw(5=$hyG_^eZSICn|(eg%Er#$Ej?5#tL}MZ3v0lX#iw1YoPFgNu=>42EQKU>!kl)|&0$In_h<`@6}; z#AwOPo1E-~29|Qik-4uKY#S(_T!dsLl!$Ettc$chZq;TIFW=8o!b2kUzieg5fUzHU zcl9I&0KULFzc7Y<1+Zit`^A`N8b9z{wi@srH0{T}t8t9KGdFE`aYivtS7Hs5avlGn zpWj#v-1D=#sD*hm2a>;R(+h@@KWgJy`M)LUocvVS6Dl*7d3zAfCwAX=xpaDo3 z&r1DFRy{g66lmAQay}@g>`c!$wqAJ#oQ2XD{zAKKlsK4ESY~cM0J0-Bf>ukUh%wY| zdjVCgYtnAxh@1DfA#)J?zGZUA6(Evv5jsd!2n!rlW$641RUbVA)zd#E0!z$oq4|L( zQJX*-vA(R2t4#>j$9I+BA3~p_XDEsdy)-H%eGUh}M+UoM#1BppsvhAxlam~-+7z-1 zgo&ynFVG#9b(1V)h+f(^h(YmaT@t-kP$%Y=0-)-n0E?g1CHPt3p-o`qP5&=a37=(A z1M-Ro=i>{UW8YjV|D)D2vXqt0K+(vUWK;J8mOzzF!4E?4`R-X@y}jv@un*pB4-r#Y z|CqL&I8yh^8RhBb|#MDu5BV+vGKvmz#Grp_xS7}wGEP-v1*He<( zXP;GqyN-_^WB{pjqMm)s&x}_*;@CB40A+pr9ovee?;TKU5TWeAu96HnaXx0l4T2ea zSB`zN(L|pyMx_#EB2(Nej+rn(I(A#NffJ8`;zYl#KNbaT>iqcp9LV9LbFr>Wd*#u< zdPJmxsBDXv;G}?=v#U!1eFqPrQgK&G#7qK6J4QfXvUD-|2l0cMMD06tU1O>|&}E<{ z-O+gsSVwC+{doj%Y`;ZJl?fQzRl23d-YAuEW1pk%j_b63jIUy%uWk$DEa|Pdn<5s< zII9dG=ji+obw>u@DUDR`rUMM?wC>rauk+oIei>`zd13nv+qdkouVcFbqSo$kKbL6B z9Ja6Z9FfP$`U@^?wcOX|gS|d56h9!Hl%Hvzg;%_pjO2%}O2N{__%-M`$V}g+Kw!h* zSO=Tw-n86stG%RO6`dO43HWoBNmLc)6x_m9i0SOI%><388#u}qma9Y3zOXB985A|h z(B`t-o8blGj<5B%O-}jmD^LiM5x5ONqDDOiYi*zW&8$sI%US%V>{I-s?xGVI8Y{4L zu&JQKq#DHjxB{%LceX>I)|&D>IYsafwWb#3(*0nI0t%kJ@TEiXw}_r9`WL>*9Tstp z&M3AaYc*2}oP>o4OxtE+zZ+M9K$bt#_vkOyzqf3A=g@o)3S?Ct9h+GvSko0gH#kW? zb>W3^LVe+j4G7`8mFGYPisH)4oCI_%k&&zQ@BZ&`gk;-~_(tEgl9-AOhUR<9j>Z4oGgUICQc^TYz^c<^Nlhd`jOr_ zD~T43vHbEm|F7QJa?%Wd^mqVF2!8$ZAfKJja!@`kW>$fMUY?mm2)>8=f+v!^US=Vz zOb%EV6@|wJV=#LTZg;2^3N8)jI>ntvj#0o^A6sGg=eg{2sstEz72L&@gjvAoOtS0H zvk1$}-B!C-qVOsmW)?WdO$jI3;I0zcI9fq91S-(+8BZx=S%Bo6hGj-t-_r!zzzcj1 zLxIb&aj)eOcF*qEpxCT_J3Kih8TeuCq-5!EZq-3V2^h};^n=}T&yUW|!9VMO=Y!o( zdSrM5B+4?8=a|wy<*JWY3CcLq0E{fu`JnrNAASDtD`@blp2>YsL1)Eg^KUbe`e{xWqBxa2@81$e{q;KG5!L#EDrEa@Gz2wMSign829j zl3yF!ik;p&Rxp1Z@29Pi~>9u31gOkByh$o>FS=#UW zAtb*?WDV_XU|Gh{^2r4-#RM(ZYn~VYgC)!Qlqb8|0dE%GcL4ppCCsN1g5khu!GSR_ z^Latf7YK+>BaXrU44Cn!ZPiy`9Y@qNAkGYX4{(@2gFj;SJ7oVoyox=EGs&4^d27*uJWrUf}nFCl`NCW z3^X**bjc^6pE2!gTPL8k;2@+hCqqAB5afy*qo$DDu&y5ixwVB!7Z-MZ0_KAR*>S@0 zq+`;w(t0)dkvLsf*$tuPRJFb)FSNnkgkY40kYh7v`6_|7-9qDc#K%Nk2Cj{6dQ4~n zFaf0Z?DcylfuSH~Zh_aj0awwjF41j{(xJ#2XrOihI9L)^cJ|Kq|F#nOGD3p5uNkf; z&{fF(DNxn@9wvOVZ$g6Ai=Ca3@3jpe#>ACLinMBs4E4bH1|J1o!2}StD$g1@Cbc;q z+XsJsL0g^xleqS^WkM@S8e@nVU^3LWh0ku;U)dIEn}~_yuSzf=n8oLtR<4{0B*zsy zVxKYw%0SM4{D; zoXez&DSi}~%O#nht3xOfteF_3N|OY%$b{IoxdiV{BvnYD&SnLZ%H<$$;@efOuYxGQ zsb{FXN~_Y}d3MV98PV|%v7D}O0=DWd0;2)QUXvbg(FaM+NCsWqCk8=Dh#K6j;&^L# zlYmHUHNKxN5iI3$_S%7;gRFB*r)dbV9{YC>&qWD;SVZB_N^vG#(K>;EG79a-zQsKo z&7ISUbmfGc`M&W@gP9Bj1X7mNoy5f=Dx_*{=oSoPP?;aySsNp;WfvNQ+hyE7`}-ue zI>NXvxL zSJNeF4y?6j*4e{E-}z_nG1WoI&>Tf5o|>&YHs=IzkX`ozY)3t+9~myS9EoX(q5sa# zi}g=N&=2)jS*O+A1K89N-R=uB&<3fpgQ`P*r}=3cU=Ju9;iy~sV`$BHo- zIIJt0ah6thsX0v7!2c>J?_LKFgF&!7Ge-A&J&dU*`stV1>DU)V?7C0*dl_4Ed-XNb z|A~Q0nGXinOug@_HGv%PS&e)4EAJFJ^3{%>C4g6PS+9(udjklqjKiCuF+{sOKNGnZ zIA^!80a{xp^jdjGKQq*(bI>LbdjkwhljUJ-r7}At|CZ8w?Suy7_=&7Z%z(9?PzH#H z3MTTI*^Z3cB<60%)XLoU3CEwN#~RjL`~F$W?|8?+*(IwD3STfovSiN{D5o{gAj%bg zz`VW*dfNOLcv3A+I#Fk$eSd8`Th>qQurEymFBeQ(kF^ZqJ-1pPYu^F>zGTga!JWdP z%2+Rx(e(X{2SVBxq+)IWOkZV_$1{O^JK2;V3?f|+nkn~W_rC8=p|@Vc8z1DidwrjL zLNcP*9%#?(Lx8PbE!pbiuu{!2#)ZOrXm5WB7HS|v@#YByUWm43*r5O(xf4@n~WZ1BHisOaDF6TTV`wdMcNl^ zFZ^!1fBdWbIe|ElHketfJ{%llmGO*{;5m(#(6f>%BcGq&pFw=CaPQ#9-?Q7S(h6o$ zXs)nrIW3qoOAFRi<`&sYc&0$IzZd#lx900kyHKwB7$@+e8}g(&-|^#UcpHuBC%{8l z+@WMKfoI4V`xRkgYyipVD(tJT3ARhn?N>Vx+s{P%ailqM9uR5ACPqxK!I9*1bN%3W z4XCjq;o+sym3PbO|qvq;AA1w=@cObg&?0|Y%wM9(^atxI%NPr217(D^7P z(wSgHFnzBEUCbUMHTIGP)STCjU}M#OPcoY@?65Z03}A;bfqdEeFUA{MzLsf_&i5S9 zM)G~Ojk9q_bMWc2I7HiEQf(kvPW!P;l;hIHf@vk-Te#+Suf%kf-Uhz!AGBvH>T?g> zp650?&HBrH1Y7yP{=0wq4n&@F9hC(B;EdOAn4wa9Otkm-D!4D7t%0R1(|;#Gw?_M= z1m@p9P2`95c@FI4oy4x@_qTQq`vr(wOW3FE)^qfL18u*I|gH76Tri_jTYjIQp zR9j&{vFq|(Vc_e5ZX_M`oLRCy8v1tLKsY4mJYOaKK+2S|eL!!S03T^iaX?p*R1}HZ zkC`7cnoQ(p1|Fod@BY;})|FbN;j;1qT4E+s4)cP44NbJ;oe(v;w*?Si08v1$zu9_v zNQ?}Esr?L-vO$XTkc=BNmz#Q^NxsL!nC7-h{^l#lk4+6uuwpy*e>r z9m@lC+U31O^>_}mb*=;KUNDelXXkJkYPCW<>zPT&Gs!IK`BRnh&VJUSPeFZjJV@`| z*o5s_L-)VOy-v@^&T(&C@6k;vevqJ8=XH)TP@F&PEXmcYYw)g6iClhaWUm)iRDQggueaoIPmmh+uQN;r$WcTO_Qwk9CDoV6=2GC zhOk{5I4^J+P%9L#fQSkjG`nJ^_YOI^e;gv-0<7J`}ZckET3f&40wHD$x7@D7VV!iOm>Gr z<_fYVBj72+6(cVw%>1kwCDby-5V4aC$~aIAdF1*xHkR3RZO1Hu${ z13{3=a+ibGu`ihNB(*1xB)&e!@{qrS+6)MjZT9o!KuE`tV0$(gOYn*G!xj`gyG+`% zUy(T|7+|*~Et&A%k52@ViVYE?*a{dLySgFv5q&g9>Uh)H8BQ5ch8mIfFqshi%IANi z@sCz3+s%*z!gqzat)X7i8?Xn{?*LfFddEK*7iGQx6yOzomRB;Bc`6|pG`r!LAX3#_ zvavJ3TdNlW+4#Pqx)*9~nCE}UN7`nxJZJsoW)rXNdYoAY3%X6n6}P=-9s)K>&9$RD zksr}%-F?it5SNHOWqu!CQQ$cE@vMch9!}0s;Ntmo6OyTZURx4i0{f{PB4P4q@|wFf zAo^Wsyy3w9&kje%%16j-#@;tDt{Q2E7>+M@NM1*)n)k?Zt|D+Vyc(^FgkJKbQ9W*% zu^cDf!#G)C{|2`&m;ieEHoyD%nET!20yPK;mzz}Pn}?+U`IyM`@7o6@eprYMTAzKt zaQqbkFsa}o7TNXa7vIlk-SxVq^^^9LuI5yWnya(C$*!BPWv$~2MWAJn=*9w&{l-aB zF~=PJmJHN+6(SjKj^{m)HoR=Dq3v(Sr)}HEyZNE2(6>M|GBgDL^iThlUYI#3JCBKB zjyP;tK;+zqNwM%Ay0O{K+`a>b?e#kcbe~3lF)^_=_U!xkLwTr@tp2J zMlgFC!IYMBgUj7FYC?p5C6!(|xHp)Ady3PGn9r0k`0Sm*PQG$}0Mz%3twaz-DN~9W z6hBD$jb2;tk#f5@d!W#?nlrcP6-vJUtbRdc2y}3ypisKtVRj=%Eo+8=@~|VzC9{P< zWX;&yKVxd51OW?yiGfHD$h6;Wv$vM>w*1mVi3Yl#1OLom1Eb+b1~LY#6bK!1OR194 zlq_5m^ginpXzgX;{my*%nOj}#tej#1S!mZ~IsXQ3poXt^j-4}IX79U0SNOt}1ZtDg z3J>yOJrL&0P@reoUI4HL1MAS>3{CUeVIJ__wK+Rv&mVpG<{-><9gm~sWYHUD%ahGv zfyd1HWVmGl)<{!)we4Pl6-IKO&xy0%9z_G!$mWwMIT=pwCqtKXme*iW=Bc#;?W+Ps zWvlHwx1Kqee_*`8<2p8jKXEkvx$!eNNR-a^d(TN$71m=BARSN<9U;E5-3Eb3mINEv zKlxD>D`37kIPK}nA&``-ab_#Q0+!9k5+io}eSy8ZpsL8f0(+-5cle{f!0dN2lFs1! zeLNo!dZKIg94_DU&?(!Ga!?;VOK{hHzs}IlZGF+RC9^foI_0~aW$=JgId$72lLbZX z@ulCzn~&@pqhkQzwjTSeaiC*|g{(=00Txo08b7-rFuLj6500H5m3Fu7+LkbT@$V#) zq`M3Nc_i0+j<%!z_a6ulyUX9NBz@S~Wb+_j zs)42s@N*6DbPw&j4?c)auYUPXkM%hA{ZW6$B_3)v*TkCbVD2@6sC=tFXxDy)Fi4gV ztt3MA?^-XnGAsdiKsc;)wc3N~i{WR3ujgNkKcOe@{d)D?M zw-#l~UByqpGCVqiY?gU;LQbc*Pg=jf9f6C>l3IvdIe5UhddwIwQPwyPY@+L-(=9ZM{%da@uWuGuGF*s$XxS10u| z1L8BnItu!qjm##99cG*Nm=|M2e=?6H*nd1%R80^n}&?|v-EXP?r_LuDhrS^z>Ezys^lcqL`G%7nJjKqZ4Kga}B_n`H}nUwWE; zn@VN{AS87QAHY*s=|rtzI<5X6M%AZrS(ZP6nM|N21F{Rd!pFc!F{OhII$MzpYDydJ za3}q=27f?3*48kq5TZoykW7rSt!1X(PSB2b%)3xw#{C>!_kvhGhn^VPdh62qs+;B>%!I5$y$wUrM(#JOcW*KW%B=fIoqq=wJJN zl|3+vYQpSije8shkdi88C6pa+(*1$4LGx9apg{YTS@{SC)+wE3z_|jrv`} z?E-WrCZ+3NU@4i4z5DqBzS9^qv2q^g6RH1D!$UHF!l9$NPwunOOh3% zfJH4=ZY7{esXkD1Bo@pBxb4Q2D9LU2r`wLX=Tqcsz?sRXm>2gU67G9-wwCw$4NX=; zq1TW7&93eA>cvrsK9rL(c$oC6^#v0Qvsv;0^}Lg_^{#wTdg%kqMXFUQb*A1r zVP~&Bbn2@d+ zGRuDM-9~_zw`v!;ApX5JAt2i;#@T8~N_6A8+HhXAMaTit6$nNRd~|T^_1fJR$hw$yOy|Vf069U^NWh}#z_bw zTVN6oWGL|9N9_uTZ1Keq!CEZvumASHj78FbkAQWbWcnGC@$C`Qd&p(NY+}?O-PF&{ zcvYVqb@0P7`=rqGO^*!3-ZYT@#1H}}20n(=fd%cPTy!tCe+KirY!uR?m+?Pfi~VgOB>mSe6ot(Y#2a~QMug!1u z$Zf!rvqMJw-Y6dzXPA{UnIy88l9?@icaV;9pHr++3$c-GAo6TGRoOGGpxrDV2QbSh|7eS zKVk!4J{jQG-x0{Fvs3*Bq1fo8M<}F*SnO9yjLo`!1;Ar{T}NtT=6=1o-$3#y}$Ud|x@t3MMQ& zTk8cT$%Hh+{9xv+@t^6PI=hWcN7Z!J~9b(wJy9!EyCxyH=Cq{mdqb z~r;oPBZmawqnK-7QyS&*bq377v84M3x+Pvr-por{VJM7o1 z!Esd+2F_H%m0#~ZwL{wkE`SX9%bW<|w2N$OLh;!}1m>9tFj=)hu!$O{<&hP>Fp(WM z(ZhFa_A`qeEbIC@I{##&A2>H7{cLzn%)E+1a)Emzt&;Im!ruwTRJB)VUf@Sq69rYK z#QPUDIPe6g*nWFPMY)Yk1pV<_`TX$pJ>uT-Evv>+r|)?f1}ufI6w9WsTkoa$tU95<5%Hq z_=?LS1`N@qeec2h1O0pkL@BYE3O}Fqx=AMhg6)`abrv%!q%%=M0Ih86c zFKzNYzDq+4UmR!7MI>MFe=L=K4yaYmAsWU38EtO{(7?fLOY3n9pm9I^Gl>xf$UnUH zfmk@Ltk#iuTTPyau5vIg8Bpc=X-C9s^J&iuVF)9CgYI+e_jEvoi=WmR<#EW`_Juqj zhl&I5)m##!)jioO<2TP6dKH+GANibKyO~&ofBL(B<(D@DjxeARuneK{=O)u*5F;R6 zyI)Vkf`SljAk}!|i*TSF1aAvn&IpK=u{TQ8Urj@h$j_ zQnFFn-Cb4AXx2J6_Ajl|umQ^N(1x@?_1=xoj!=}!^AU1bPt zB(M#Pdx^dmmmm%d`s7J`#&(_nGGjx5uVqY8(zAU~&)GtM%^zU7RE8fcAx(2H_U zrGB7autg0+>I7)S*DVU@q;zpYS~wU`NwthU&2kUutc>lWvz)U)6ea@vEIA)%_l%M3 z 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∾P9*~9zWT-96X~ET`<{2Bu)R&Qy8PBU?Nnwn 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%0DK9 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 U`mw)2+5ru;wz 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

mY*#o$N=*=_r&n%|Dloyk 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 z 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%0A!2r@j5e{@q!g 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 #u4C8LJ$26R-;4@|G2;BgE& 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

M~*!*C&77Pt2!uDRk6A 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 Khu&P;pa0owzAqI3 literal 0 HcmV?d00001 diff --git a/ios/.gitignore b/ios/.gitignore new file mode 100644 index 0000000..7a7f987 --- /dev/null +++ b/ios/.gitignore @@ -0,0 +1,34 @@ +**/dgph +*.mode1v3 +*.mode2v3 +*.moved-aside +*.pbxuser +*.perspectivev3 +**/*sync/ +.sconsign.dblite +.tags* +**/.vagrant/ +**/DerivedData/ +Icon? +**/Pods/ +**/.symlinks/ +profile +xcuserdata +**/.generated/ +Flutter/App.framework +Flutter/Flutter.framework +Flutter/Flutter.podspec +Flutter/Generated.xcconfig +Flutter/ephemeral/ +Flutter/app.flx +Flutter/app.zip +Flutter/flutter_assets/ +Flutter/flutter_export_environment.sh +ServiceDefinitions.json +Runner/GeneratedPluginRegistrant.* + +# Exceptions to above rules. +!default.mode1v3 +!default.mode2v3 +!default.pbxuser +!default.perspectivev3 diff --git a/ios/Flutter/AppFrameworkInfo.plist b/ios/Flutter/AppFrameworkInfo.plist new file mode 100644 index 0000000..7c56964 --- /dev/null +++ b/ios/Flutter/AppFrameworkInfo.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + App + CFBundleIdentifier + io.flutter.flutter.app + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + App + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + MinimumOSVersion + 12.0 + + diff --git a/ios/Flutter/Debug.xcconfig b/ios/Flutter/Debug.xcconfig new file mode 100644 index 0000000..592ceee --- /dev/null +++ b/ios/Flutter/Debug.xcconfig @@ -0,0 +1 @@ +#include "Generated.xcconfig" diff --git a/ios/Flutter/Release.xcconfig b/ios/Flutter/Release.xcconfig new file mode 100644 index 0000000..592ceee --- /dev/null +++ b/ios/Flutter/Release.xcconfig @@ -0,0 +1 @@ +#include "Generated.xcconfig" diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..ade8714 --- /dev/null +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,616 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXBuildFile section */ + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 331C8085294A63A400263BE5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 97C146E61CF9000F007C117D /* Project object */; + proxyType = 1; + remoteGlobalIDString = 97C146ED1CF9000F007C117D; + remoteInfo = Runner; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 9705A1C41CF9048500538489 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; + 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; + 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; + 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 97C146EB1CF9000F007C117D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 331C8082294A63A400263BE5 /* RunnerTests */ = { + isa = PBXGroup; + children = ( + 331C807B294A618700263BE5 /* RunnerTests.swift */, + ); + path = RunnerTests; + sourceTree = ""; + }; + 9740EEB11CF90186004384FC /* Flutter */ = { + isa = PBXGroup; + children = ( + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 9740EEB31CF90195004384FC /* Generated.xcconfig */, + ); + name = Flutter; + sourceTree = ""; + }; + 97C146E51CF9000F007C117D = { + isa = PBXGroup; + children = ( + 9740EEB11CF90186004384FC /* Flutter */, + 97C146F01CF9000F007C117D /* Runner */, + 97C146EF1CF9000F007C117D /* Products */, + 331C8082294A63A400263BE5 /* RunnerTests */, + ); + sourceTree = ""; + }; + 97C146EF1CF9000F007C117D /* Products */ = { + isa = PBXGroup; + children = ( + 97C146EE1CF9000F007C117D /* Runner.app */, + 331C8081294A63A400263BE5 /* RunnerTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 97C146F01CF9000F007C117D /* Runner */ = { + isa = PBXGroup; + children = ( + 97C146FA1CF9000F007C117D /* Main.storyboard */, + 97C146FD1CF9000F007C117D /* Assets.xcassets */, + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, + 97C147021CF9000F007C117D /* Info.plist */, + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, + ); + path = Runner; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 331C8080294A63A400263BE5 /* RunnerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; + buildPhases = ( + 331C807D294A63A400263BE5 /* Sources */, + 331C807F294A63A400263BE5 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 331C8086294A63A400263BE5 /* PBXTargetDependency */, + ); + name = RunnerTests; + productName = RunnerTests; + productReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 97C146ED1CF9000F007C117D /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 9740EEB61CF901F6004384FC /* Run Script */, + 97C146EA1CF9000F007C117D /* Sources */, + 97C146EB1CF9000F007C117D /* Frameworks */, + 97C146EC1CF9000F007C117D /* Resources */, + 9705A1C41CF9048500538489 /* Embed Frameworks */, + 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Runner; + productName = Runner; + productReference = 97C146EE1CF9000F007C117D /* Runner.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 97C146E61CF9000F007C117D /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1510; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 331C8080294A63A400263BE5 = { + CreatedOnToolsVersion = 14.0; + TestTargetID = 97C146ED1CF9000F007C117D; + }; + 97C146ED1CF9000F007C117D = { + CreatedOnToolsVersion = 7.3.1; + LastSwiftMigration = 1100; + }; + }; + }; + buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 97C146E51CF9000F007C117D; + productRefGroup = 97C146EF1CF9000F007C117D /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 97C146ED1CF9000F007C117D /* Runner */, + 331C8080294A63A400263BE5 /* RunnerTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 331C807F294A63A400263BE5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EC1CF9000F007C117D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + ); + name = "Thin Binary"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 331C807D294A63A400263BE5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EA1CF9000F007C117D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 331C8086294A63A400263BE5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 97C146ED1CF9000F007C117D /* Runner */; + targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 97C146FA1CF9000F007C117D /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C146FB1CF9000F007C117D /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C147001CF9000F007C117D /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 249021D3217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Profile; + }; + 249021D4217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.bumrentApp; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Profile; + }; + 331C8088294A63A400263BE5 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.bumrentApp.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Debug; + }; + 331C8089294A63A400263BE5 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.bumrentApp.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Release; + }; + 331C808A294A63A400263BE5 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.example.bumrentApp.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Profile; + }; + 97C147031CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 97C147041CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 97C147061CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.bumrentApp; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 97C147071CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.example.bumrentApp; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 331C8088294A63A400263BE5 /* Debug */, + 331C8089294A63A400263BE5 /* Release */, + 331C808A294A63A400263BE5 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147031CF9000F007C117D /* Debug */, + 97C147041CF9000F007C117D /* Release */, + 249021D3217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147061CF9000F007C117D /* Debug */, + 97C147071CF9000F007C117D /* Release */, + 249021D4217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 97C146E61CF9000F007C117D /* Project object */; +} diff --git a/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000..15cada4 --- /dev/null +++ b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..1d526a1 --- /dev/null +++ b/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/ios/Runner/AppDelegate.swift b/ios/Runner/AppDelegate.swift new file mode 100644 index 0000000..6266644 --- /dev/null +++ b/ios/Runner/AppDelegate.swift @@ -0,0 +1,13 @@ +import Flutter +import UIKit + +@main +@objc class AppDelegate: FlutterAppDelegate { + override func application( + _ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? + ) -> Bool { + GeneratedPluginRegistrant.register(with: self) + return super.application(application, didFinishLaunchingWithOptions: launchOptions) + } +} diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..d36b1fa --- /dev/null +++ b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,122 @@ +{ + "images" : [ + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@3x.png", + "scale" : "3x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@3x.png", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@3x.png", + "scale" : "3x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@2x.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@3x.png", + "scale" : "3x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@1x.png", + "scale" : "1x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@1x.png", + "scale" : "1x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@1x.png", + "scale" : "1x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@2x.png", + "scale" : "2x" + }, + { + "size" : "83.5x83.5", + "idiom" : "ipad", + "filename" : "Icon-App-83.5x83.5@2x.png", + "scale" : "2x" + }, + { + "size" : "1024x1024", + "idiom" : "ios-marketing", + "filename" : "Icon-App-1024x1024@1x.png", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..dc9ada4725e9b0ddb1deab583e5b5102493aa332 GIT binary patch literal 10932 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 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..797d452e458972bab9d994556c8305db4c827017 GIT binary patch literal 406 zcmV;H0crk;P))>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..6ed2d933e1120817fe9182483a228007b18ab6ae GIT binary patch literal 450 zcmV;z0X_bSP)iGWQ_5NJQ_~rNh*z)}eT%KUb z`7gNk0#AwF^#0T0?hIa^`~Ck;!}#m+_uT050aTR(J!bU#|IzRL%^UsMS#KsYnTF*!YeDOytlP4VhV?b} z%rz_<=#CPc)tU1MZTq~*2=8~iZ!lSa<{9b@2Jl;?IEV8)=fG217*|@)CCYgFze-x? zIFODUIA>nWKpE+bn~n7;-89sa>#DR>TSlqWk*!2hSN6D~Qb#VqbP~4Fk&m`@1$JGr zXPIdeRE&b2Thd#{MtDK$px*d3-Wx``>!oimf%|A-&-q*6KAH)e$3|6JV%HX{Hig)k suLT-RhftRq8b9;(V=235Wa|I=027H2wCDra;{X5v07*qoM6N<$f;9x^2LJ#7 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..4cd7b0099ca80c806f8fe495613e8d6c69460d76 GIT binary patch literal 282 zcmV+#0p(^bcu7P-R4C8Q z&e;xxFbF_Vrezo%_kH*OKhshZ6BFpG-Y1e10`QXJKbND7AMQ&cMj60B5TNObaZxYybcN07*qoM6N<$g3m;S%K!iX literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..fe730945a01f64a61e2235dbe3f45b08f7729182 GIT binary patch literal 462 zcmV;<0WtoGP)-}iV`2<;=$?g5M=KQbZ{F&YRNy7Nn@%_*5{gvDM0aKI4?ESmw z{NnZg)A0R`+4?NF_RZexyVB&^^ZvN!{I28tr{Vje;QNTz`dG&Jz0~Ek&f2;*Z7>B|cg}xYpxEFY+0YrKLF;^Q+-HreN0P{&i zK~zY`?b7ECf-n?@;d<&orQ*Q7KoR%4|C>{W^h6@&01>0SKS`dn{Q}GT%Qj_{PLZ_& zs`MFI#j-(>?bvdZ!8^xTwlY{qA)T4QLbY@j(!YJ7aXJervHy6HaG_2SB`6CC{He}f zHVw(fJWApwPq!6VY7r1w-Fs)@ox~N+q|w~e;JI~C4Vf^@d>Wvj=fl`^u9x9wd9 zR%3*Q+)t%S!MU_`id^@&Y{y7-r98lZX0?YrHlfmwb?#}^1b{8g&KzmkE(L>Z&)179 zp<)v6Y}pRl100G2FL_t(o!|l{-Q-VMg#&MKg7c{O0 z2wJImOS3Gy*Z2Qifdv~JYOp;v+U)a|nLoc7hNH;I$;lzDt$}rkaFw1mYK5_0Q(Sut zvbEloxON7$+HSOgC9Z8ltuC&0OSF!-mXv5caV>#bc3@hBPX@I$58-z}(ZZE!t-aOG zpjNkbau@>yEzH(5Yj4kZiMH32XI!4~gVXNnjAvRx;Sdg^`>2DpUEwoMhTs_st8pKG z(%SHyHdU&v%f36~uERh!bd`!T2dw;z6PrOTQ7Vt*#9F2uHlUVnb#ev_o^fh}Dzmq} zWtlk35}k=?xj28uO|5>>$yXadTUE@@IPpgH`gJ~Ro4>jd1IF|(+IX>8M4Ps{PNvmI zNj4D+XgN83gPt_Gm}`Ybv{;+&yu-C(Grdiahmo~BjG-l&mWM+{e5M1sm&=xduwgM9 z`8OEh`=F3r`^E{n_;%9weN{cf2%7=VzC@cYj+lg>+3|D|_1C@{hcU(DyQG_BvBWe? zvTv``=%b1zrol#=R`JB)>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..502f463a9bc882b461c96aadf492d1729e49e725 GIT binary patch literal 586 zcmV-Q0=4~#P)+}#`wDE{8-2Mebf5<{{PqV{TgVcv*r8?UZ3{-|G?_}T*&y;@cqf{ z{Q*~+qr%%p!1pS*_Uicl#q9lc(D`!D`LN62sNwq{oYw(Wmhk)k<@f$!$@ng~_5)Ru z0Z)trIA5^j{DIW^c+vT2%lW+2<(RtE2wR;4O@)Tm`Xr*?A(qYoM}7i5Yxw>D(&6ou zxz!_Xr~yNF+waPe00049Nkl*;a!v6h%{rlvIH#gW3s8p;bFr=l}mRqpW2h zw=OA%hdyL~z+UHOzl0eKhEr$YYOL-c-%Y<)=j?(bzDweB7{b+%_ypvm_cG{SvM=DK zhv{K@m>#Bw>2W$eUI#iU)Wdgs8Y3U+A$Gd&{+j)d)BmGKx+43U_!tik_YlN)>$7G! zhkE!s;%oku3;IwG3U^2kw?z+HM)jB{@zFhK8P#KMSytSthr+4!c(5c%+^UBn`0X*2 zy3(k600_CSZj?O$Qu%&$;|TGUJrptR(HzyIx>5E(2r{eA(<6t3e3I0B)7d6s7?Z5J zZ!rtKvA{MiEBm&KFtoifx>5P^Z=vl)95XJn()aS5%ad(s?4-=Tkis9IGu{`Fy8r+H07*qoM6N<$f20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0ec303439225b78712f49115768196d8d76f6790 GIT binary patch literal 862 zcmV-k1EKthP)20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..e9f5fea27c705180eb716271f41b582e76dcbd90 GIT binary patch literal 1674 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 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0467bf12aa4d28f374bb26596605a46dcbb3e7c8 GIT binary patch literal 1418 zcmV;51$Fv~P)q zKfU)WzW*n(@|xWGCA9ScMt*e9`2kdxPQ&&>|-UCa7_51w+ zLUsW@ZzZSW0y$)Hp~e9%PvP|a03ks1`~K?q{u;6NC8*{AOqIUq{CL&;p56Lf$oQGq z^={4hPQv)y=I|4n+?>7Fim=dxt1 z2H+Dm+1+fh+IF>G0SjJMkQQre1x4|G*Z==(Ot&kCnUrL4I(rf(ucITwmuHf^hXiJT zkdTm&kdTm&kdTm&kdP`esgWG0BcWCVkVZ&2dUwN`cgM8QJb`Z7Z~e<&Yj2(}>Tmf` zm1{eLgw!b{bXkjWbF%dTkTZEJWyWOb##Lfw4EK2}<0d6%>AGS{po>WCOy&f$Tay_> z?NBlkpo@s-O;0V%Y_Xa-G#_O08q5LR*~F%&)}{}r&L%Sbs8AS4t7Y0NEx*{soY=0MZExqA5XHQkqi#4gW3 zqODM^iyZl;dvf)-bOXtOru(s)Uc7~BFx{w-FK;2{`VA?(g&@3z&bfLFyctOH!cVsF z7IL=fo-qBndRUm;kAdXR4e6>k-z|21AaN%ubeVrHl*<|s&Ax@W-t?LR(P-24A5=>a z*R9#QvjzF8n%@1Nw@?CG@6(%>+-0ASK~jEmCV|&a*7-GKT72W<(TbSjf)&Eme6nGE z>Gkj4Sq&2e+-G%|+NM8OOm5zVl9{Z8Dd8A5z3y8mZ=4Bv4%>as_{9cN#bm~;h>62( zdqY93Zy}v&c4n($Vv!UybR8ocs7#zbfX1IY-*w~)p}XyZ-SFC~4w>BvMVr`dFbelV{lLL0bx7@*ZZdebr3`sP;? zVImji)kG)(6Juv0lz@q`F!k1FE;CQ(D0iG$wchPbKZQELlsZ#~rt8#90Y_Xh&3U-< z{s<&cCV_1`^TD^ia9!*mQDq& zn2{r`j};V|uV%_wsP!zB?m%;FeaRe+X47K0e+KE!8C{gAWF8)lCd1u1%~|M!XNRvw zvtqy3iz0WSpWdhn6$hP8PaRBmp)q`#PCA`Vd#Tc$@f1tAcM>f_I@bC)hkI9|o(Iqv zo}Piadq!j76}004RBio<`)70k^`K1NK)q>w?p^C6J2ZC!+UppiK6&y3Kmbv&O!oYF z34$0Z;QO!JOY#!`qyGH<3Pd}Pt@q*A0V=3SVtWKRR8d8Z&@)3qLPA19LPA19LPEUC YUoZo%k(ykuW&i*H07*qoM6N<$f+CH{y8r+H literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json new file mode 100644 index 0000000..0bedcf2 --- /dev/null +++ b/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "LaunchImage.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md new file mode 100644 index 0000000..89c2725 --- /dev/null +++ b/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md @@ -0,0 +1,5 @@ +# Launch Screen Assets + +You can customize the launch screen with your own desired assets by replacing the image files in this directory. + +You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/ios/Runner/Base.lproj/LaunchScreen.storyboard b/ios/Runner/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..f2e259c --- /dev/null +++ b/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner/Base.lproj/Main.storyboard b/ios/Runner/Base.lproj/Main.storyboard new file mode 100644 index 0000000..f3c2851 --- /dev/null +++ b/ios/Runner/Base.lproj/Main.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist new file mode 100644 index 0000000..0088eab --- /dev/null +++ b/ios/Runner/Info.plist @@ -0,0 +1,49 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + Bumrent App + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + bumrent_app + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleSignature + ???? + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + CADisableMinimumFrameDurationOnPhone + + UIApplicationSupportsIndirectInputEvents + + + diff --git a/ios/Runner/Runner-Bridging-Header.h b/ios/Runner/Runner-Bridging-Header.h new file mode 100644 index 0000000..308a2a5 --- /dev/null +++ b/ios/Runner/Runner-Bridging-Header.h @@ -0,0 +1 @@ +#import "GeneratedPluginRegistrant.h" diff --git a/ios/RunnerTests/RunnerTests.swift b/ios/RunnerTests/RunnerTests.swift new file mode 100644 index 0000000..86a7c3b --- /dev/null +++ b/ios/RunnerTests/RunnerTests.swift @@ -0,0 +1,12 @@ +import Flutter +import UIKit +import XCTest + +class RunnerTests: XCTestCase { + + func testExample() { + // If you add code to the Runner application, consider adding tests here. + // See https://developer.apple.com/documentation/xctest for more information about using XCTest. + } + +} diff --git a/lib/app/bindings/auth_binding.dart b/lib/app/bindings/auth_binding.dart new file mode 100644 index 0000000..c354ebb --- /dev/null +++ b/lib/app/bindings/auth_binding.dart @@ -0,0 +1,25 @@ +import 'package:flutter/foundation.dart'; +import 'package:get/get.dart'; +import '../data/providers/auth_provider.dart'; +import '../modules/auth/controllers/auth_controller.dart'; + +class AuthBinding extends Bindings { + @override + void dependencies() { + debugPrint('Initializing AuthBinding dependencies'); + + // Pastikan AuthProvider dibuat sekali dan bersifat permanen + if (!Get.isRegistered()) { + debugPrint('Registering AuthProvider in AuthBinding'); + Get.put(AuthProvider(), permanent: true); + } else { + debugPrint('AuthProvider already registered'); + } + + // Buat AuthController + debugPrint('Creating AuthController'); + Get.lazyPut(() => AuthController()); + + debugPrint('AuthBinding dependencies initialized'); + } +} diff --git a/lib/app/bindings/home_binding.dart b/lib/app/bindings/home_binding.dart new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/lib/app/bindings/home_binding.dart @@ -0,0 +1 @@ + diff --git a/lib/app/bindings/petugas_bumdes_binding.dart b/lib/app/bindings/petugas_bumdes_binding.dart new file mode 100644 index 0000000..c1fd3db --- /dev/null +++ b/lib/app/bindings/petugas_bumdes_binding.dart @@ -0,0 +1,30 @@ +import 'package:get/get.dart'; +import '../data/providers/auth_provider.dart'; +import '../modules/petugas_bumdes/controllers/petugas_bumdes_dashboard_controller.dart'; + +class PetugasBumdesBinding extends Bindings { + @override + void dependencies() { + // Pastikan AuthProvider teregistrasi + if (!Get.isRegistered()) { + Get.put(AuthProvider()); + } + + // Hapus terlebih dahulu untuk memastikan clean state + try { + if (Get.isRegistered()) { + Get.delete(force: true); + } + } catch (e) { + print('Error removing controller: $e'); + } + + // Gunakan put untuk memastikan controller selalu tersedia dan permanent + Get.put( + PetugasBumdesDashboardController(), + permanent: true, + ); + + print('✅ PetugasBumdesDashboardController registered successfully'); + } +} diff --git a/lib/app/bindings/petugas_mitra_binding.dart b/lib/app/bindings/petugas_mitra_binding.dart new file mode 100644 index 0000000..8a649ad --- /dev/null +++ b/lib/app/bindings/petugas_mitra_binding.dart @@ -0,0 +1,13 @@ +import 'package:get/get.dart'; +import '../data/providers/auth_provider.dart'; +import '../modules/petugas_mitra/controllers/petugas_mitra_dashboard_controller.dart'; + +class PetugasMitraBinding extends Bindings { + @override + void dependencies() { + Get.lazyPut(() => AuthProvider()); + Get.lazyPut( + () => PetugasMitraDashboardController(), + ); + } +} diff --git a/lib/app/bindings/profile_binding.dart b/lib/app/bindings/profile_binding.dart new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/lib/app/bindings/profile_binding.dart @@ -0,0 +1 @@ + diff --git a/lib/app/bindings/splash_binding.dart b/lib/app/bindings/splash_binding.dart new file mode 100644 index 0000000..c32f3a8 --- /dev/null +++ b/lib/app/bindings/splash_binding.dart @@ -0,0 +1,25 @@ +import 'package:flutter/foundation.dart'; +import 'package:get/get.dart'; +import '../data/providers/auth_provider.dart'; +import '../modules/splash/controllers/splash_controller.dart'; + +class SplashBinding extends Bindings { + @override + void dependencies() { + debugPrint('Initializing SplashBinding dependencies'); + + // Pastikan AuthProvider dibuat sekali dan bersifat permanen + if (!Get.isRegistered()) { + debugPrint('Registering AuthProvider in SplashBinding'); + Get.put(AuthProvider(), permanent: true); + } else { + debugPrint('AuthProvider already registered'); + } + + // Buat SplashController + debugPrint('Creating SplashController'); + Get.put(SplashController()); + + debugPrint('SplashBinding dependencies initialized'); + } +} diff --git a/lib/app/bindings/warga_binding.dart b/lib/app/bindings/warga_binding.dart new file mode 100644 index 0000000..4cbd4d9 --- /dev/null +++ b/lib/app/bindings/warga_binding.dart @@ -0,0 +1,11 @@ +import 'package:get/get.dart'; +import '../data/providers/auth_provider.dart'; +import '../modules/warga/controllers/warga_dashboard_controller.dart'; + +class WargaBinding extends Bindings { + @override + void dependencies() { + Get.lazyPut(() => AuthProvider()); + Get.lazyPut(() => WargaDashboardController()); + } +} diff --git a/lib/app/core/theme/app_theme.dart b/lib/app/core/theme/app_theme.dart new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/lib/app/core/theme/app_theme.dart @@ -0,0 +1 @@ + diff --git a/lib/app/data/models/aset_model.dart b/lib/app/data/models/aset_model.dart new file mode 100644 index 0000000..ca9051d --- /dev/null +++ b/lib/app/data/models/aset_model.dart @@ -0,0 +1,84 @@ +import 'package:get/get.dart'; + +class AsetModel { + final String id; + final String nama; + final String deskripsi; + final String kategori; + final int harga; + final int? denda; + final String status; + final DateTime? createdAt; + final DateTime? updatedAt; + final int? kuantitas; + final int? kuantitasTerpakai; + final String? satuanUkur; + + // Untuk menampung URL gambar pertama dari tabel foto_aset + String? imageUrl; + + // Menggunakan RxList untuk membuatnya mutable dan reaktif + RxList> satuanWaktuSewa = >[].obs; + + AsetModel({ + required this.id, + required this.nama, + required this.deskripsi, + required this.kategori, + required this.harga, + this.denda, + required this.status, + this.createdAt, + this.updatedAt, + this.kuantitas, + this.kuantitasTerpakai, + this.satuanUkur, + this.imageUrl, + List>? initialSatuanWaktuSewa, + }) { + // Inisialisasi satuanWaktuSewa jika ada data awal + if (initialSatuanWaktuSewa != null) { + satuanWaktuSewa.addAll(initialSatuanWaktuSewa); + } + } + + factory AsetModel.fromJson(Map json) { + return AsetModel( + id: json['id'] ?? '', + nama: json['nama'] ?? '', + deskripsi: json['deskripsi'] ?? '', + kategori: json['kategori'] ?? '', + harga: json['harga'] ?? 0, + denda: json['denda'], + status: json['status'] ?? '', + createdAt: + json['created_at'] != null + ? DateTime.parse(json['created_at']) + : null, + updatedAt: + json['updated_at'] != null + ? DateTime.parse(json['updated_at']) + : null, + kuantitas: json['kuantitas'], + kuantitasTerpakai: json['kuantitas_terpakai'], + satuanUkur: json['satuan_ukur'], + ); + } + + Map toJson() { + return { + 'id': id, + 'nama': nama, + 'deskripsi': deskripsi, + 'kategori': kategori, + 'harga': harga, + 'denda': denda, + 'status': status, + 'created_at': createdAt?.toIso8601String(), + 'updated_at': updatedAt?.toIso8601String(), + 'kuantitas': kuantitas, + 'kuantitas_terpakai': kuantitasTerpakai, + 'satuan_ukur': satuanUkur, + }; + } +} diff --git a/lib/app/data/models/foto_aset_model.dart b/lib/app/data/models/foto_aset_model.dart new file mode 100644 index 0000000..1554d65 --- /dev/null +++ b/lib/app/data/models/foto_aset_model.dart @@ -0,0 +1,41 @@ +class FotoAsetModel { + final String id; + final String fotoAset; // URL foto + final DateTime? createdAt; + final DateTime? updatedAt; + final String idAset; + + FotoAsetModel({ + required this.id, + required this.fotoAset, + this.createdAt, + this.updatedAt, + required this.idAset, + }); + + factory FotoAsetModel.fromJson(Map json) { + return FotoAsetModel( + id: json['id'] ?? '', + fotoAset: json['foto_aset'] ?? '', + createdAt: + json['created_at'] != null + ? DateTime.parse(json['created_at']) + : null, + updatedAt: + json['updated_at'] != null + ? DateTime.parse(json['updated_at']) + : null, + idAset: json['id_aset'] ?? '', + ); + } + + Map toJson() { + return { + 'id': id, + 'foto_aset': fotoAset, + 'created_at': createdAt?.toIso8601String(), + 'updated_at': updatedAt?.toIso8601String(), + 'id_aset': idAset, + }; + } +} diff --git a/lib/app/data/models/paket_model.dart b/lib/app/data/models/paket_model.dart new file mode 100644 index 0000000..74c324b --- /dev/null +++ b/lib/app/data/models/paket_model.dart @@ -0,0 +1,54 @@ +import 'dart:convert'; + +class PaketModel { + final String? id; + final String? nama; + final String? deskripsi; + final int? harga; + final int? kuantitas; + final String? foto_paket; + final List? satuanWaktuSewa; + + PaketModel({ + this.id, + this.nama, + this.deskripsi, + this.harga, + this.kuantitas, + this.foto_paket, + this.satuanWaktuSewa, + }); + + Map toMap() { + return { + 'id': id, + 'nama': nama, + 'deskripsi': deskripsi, + 'harga': harga, + 'kuantitas': kuantitas, + 'foto_paket': foto_paket, + 'satuanWaktuSewa': satuanWaktuSewa, + }; + } + + factory PaketModel.fromMap(Map map) { + return PaketModel( + id: map['id'], + nama: map['nama'], + deskripsi: map['deskripsi'], + harga: map['harga']?.toInt(), + kuantitas: map['kuantitas']?.toInt(), + foto_paket: map['foto_paket'], + satuanWaktuSewa: map['satuanWaktuSewa'], + ); + } + + String toJson() => json.encode(toMap()); + + factory PaketModel.fromJson(String source) => PaketModel.fromMap(json.decode(source)); + + @override + String toString() { + return 'PaketModel(id: $id, nama: $nama, deskripsi: $deskripsi, harga: $harga, kuantitas: $kuantitas, foto_paket: $foto_paket, satuanWaktuSewa: $satuanWaktuSewa)'; + } +} diff --git a/lib/app/data/models/pesanan_model.dart b/lib/app/data/models/pesanan_model.dart new file mode 100644 index 0000000..700d34a --- /dev/null +++ b/lib/app/data/models/pesanan_model.dart @@ -0,0 +1,79 @@ +class PesananModel { + final String id; + final String asetId; + final String satuanWaktuId; + final String userId; + final String status; + final DateTime tanggalPemesanan; + final String jamPemesanan; + final int durasi; + final int totalHarga; + final DateTime? createdAt; + final DateTime? updatedAt; + + // Optional fields for joined data from other tables + String? namaSatuanWaktu; + String? namaAset; + String? namaUser; + + PesananModel({ + required this.id, + required this.asetId, + required this.satuanWaktuId, + required this.userId, + required this.status, + required this.tanggalPemesanan, + required this.jamPemesanan, + required this.durasi, + required this.totalHarga, + this.createdAt, + this.updatedAt, + this.namaSatuanWaktu, + this.namaAset, + this.namaUser, + }); + + factory PesananModel.fromJson(Map json) { + return PesananModel( + id: json['id'] ?? '', + asetId: json['aset_id'] ?? '', + satuanWaktuId: json['satuan_waktu_id'] ?? '', + userId: json['user_id'] ?? '', + status: json['status'] ?? 'pending', + tanggalPemesanan: + json['tanggal_pemesanan'] != null + ? DateTime.parse(json['tanggal_pemesanan']) + : DateTime.now(), + jamPemesanan: json['jam_pemesanan'] ?? '00:00', + durasi: json['durasi'] ?? 1, + totalHarga: json['total_harga'] ?? 0, + createdAt: + json['created_at'] != null + ? DateTime.parse(json['created_at']) + : null, + updatedAt: + json['updated_at'] != null + ? DateTime.parse(json['updated_at']) + : null, + namaSatuanWaktu: json['nama_satuan_waktu'], + namaAset: json['nama_aset'], + namaUser: json['nama_user'], + ); + } + + Map toJson() { + return { + 'id': id, + 'aset_id': asetId, + 'satuan_waktu_id': satuanWaktuId, + 'user_id': userId, + 'status': status, + 'tanggal_pemesanan': tanggalPemesanan.toIso8601String().split('T')[0], + 'jam_pemesanan': jamPemesanan, + 'durasi': durasi, + 'total_harga': totalHarga, + 'created_at': createdAt?.toIso8601String(), + 'updated_at': updatedAt?.toIso8601String(), + }; + } +} diff --git a/lib/app/data/models/rental_booking_model.dart b/lib/app/data/models/rental_booking_model.dart new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/lib/app/data/models/rental_booking_model.dart @@ -0,0 +1 @@ + diff --git a/lib/app/data/models/rental_item_model.dart b/lib/app/data/models/rental_item_model.dart new file mode 100644 index 0000000..3551276 --- /dev/null +++ b/lib/app/data/models/rental_item_model.dart @@ -0,0 +1,102 @@ +import 'dart:convert'; + +class RentalItem { + final String id; + final String title; + final String description; + final double pricePerDay; + final String? imageUrl; + final String ownerId; + final String category; + final List? features; + final bool isAvailable; + final String? location; + final DateTime createdAt; + final DateTime? updatedAt; + + RentalItem({ + required this.id, + required this.title, + required this.description, + required this.pricePerDay, + this.imageUrl, + required this.ownerId, + required this.category, + this.features, + required this.isAvailable, + this.location, + required this.createdAt, + this.updatedAt, + }); + + Map toMap() { + return { + 'id': id, + 'title': title, + 'description': description, + 'price_per_day': pricePerDay, + 'image_url': imageUrl, + 'owner_id': ownerId, + 'category': category, + 'features': features, + 'is_available': isAvailable, + 'location': location, + 'created_at': createdAt.toIso8601String(), + 'updated_at': updatedAt?.toIso8601String(), + }; + } + + factory RentalItem.fromMap(Map map) { + return RentalItem( + id: map['id'] ?? '', + title: map['title'] ?? '', + description: map['description'] ?? '', + pricePerDay: map['price_per_day']?.toDouble() ?? 0.0, + imageUrl: map['image_url'], + ownerId: map['owner_id'] ?? '', + category: map['category'] ?? '', + features: + map['features'] != null ? List.from(map['features']) : null, + isAvailable: map['is_available'] ?? true, + location: map['location'], + createdAt: DateTime.parse(map['created_at']), + updatedAt: + map['updated_at'] != null ? DateTime.parse(map['updated_at']) : null, + ); + } + + String toJson() => json.encode(toMap()); + + factory RentalItem.fromJson(String source) => + RentalItem.fromMap(json.decode(source)); + + RentalItem copyWith({ + String? id, + String? title, + String? description, + double? pricePerDay, + String? imageUrl, + String? ownerId, + String? category, + List? features, + bool? isAvailable, + String? location, + DateTime? createdAt, + DateTime? updatedAt, + }) { + return RentalItem( + id: id ?? this.id, + title: title ?? this.title, + description: description ?? this.description, + pricePerDay: pricePerDay ?? this.pricePerDay, + imageUrl: imageUrl ?? this.imageUrl, + ownerId: ownerId ?? this.ownerId, + category: category ?? this.category, + features: features ?? this.features, + isAvailable: isAvailable ?? this.isAvailable, + location: location ?? this.location, + createdAt: createdAt ?? this.createdAt, + updatedAt: updatedAt ?? this.updatedAt, + ); + } +} diff --git a/lib/app/data/models/satuan_waktu_model.dart b/lib/app/data/models/satuan_waktu_model.dart new file mode 100644 index 0000000..527959c --- /dev/null +++ b/lib/app/data/models/satuan_waktu_model.dart @@ -0,0 +1,37 @@ +class SatuanWaktuModel { + final String id; + final String namaSatuanWaktu; + final DateTime? createdAt; + final DateTime? updatedAt; + + SatuanWaktuModel({ + required this.id, + required this.namaSatuanWaktu, + this.createdAt, + this.updatedAt, + }); + + factory SatuanWaktuModel.fromJson(Map json) { + return SatuanWaktuModel( + id: json['id'] ?? '', + namaSatuanWaktu: json['nama_satuan_waktu'] ?? '', + createdAt: + json['created_at'] != null + ? DateTime.parse(json['created_at']) + : null, + updatedAt: + json['updated_at'] != null + ? DateTime.parse(json['updated_at']) + : null, + ); + } + + Map toJson() { + return { + 'id': id, + 'nama_satuan_waktu': namaSatuanWaktu, + 'created_at': createdAt?.toIso8601String(), + 'updated_at': updatedAt?.toIso8601String(), + }; + } +} diff --git a/lib/app/data/models/satuan_waktu_sewa_model.dart b/lib/app/data/models/satuan_waktu_sewa_model.dart new file mode 100644 index 0000000..faa9381 --- /dev/null +++ b/lib/app/data/models/satuan_waktu_sewa_model.dart @@ -0,0 +1,53 @@ +class SatuanWaktuSewaModel { + final String id; + final String asetId; + final String satuanWaktuId; + final int harga; + final int? denda; + final DateTime? createdAt; + final DateTime? updatedAt; + + // Untuk menyimpan nama satuan waktu (jam/hari) dari tabel satuan_waktu + String? namaSatuanWaktu; + + SatuanWaktuSewaModel({ + required this.id, + required this.asetId, + required this.satuanWaktuId, + required this.harga, + this.denda, + this.createdAt, + this.updatedAt, + this.namaSatuanWaktu, + }); + + factory SatuanWaktuSewaModel.fromJson(Map json) { + return SatuanWaktuSewaModel( + id: json['id'] ?? '', + asetId: json['aset_id'] ?? '', + satuanWaktuId: json['satuan_waktu_id'] ?? '', + harga: json['harga'] ?? 0, + denda: json['denda'], + createdAt: + json['created_at'] != null + ? DateTime.parse(json['created_at']) + : null, + updatedAt: + json['updated_at'] != null + ? DateTime.parse(json['updated_at']) + : null, + ); + } + + Map toJson() { + return { + 'id': id, + 'aset_id': asetId, + 'satuan_waktu_id': satuanWaktuId, + 'harga': harga, + 'denda': denda, + 'created_at': createdAt?.toIso8601String(), + 'updated_at': updatedAt?.toIso8601String(), + }; + } +} diff --git a/lib/app/data/models/user_model.dart b/lib/app/data/models/user_model.dart new file mode 100644 index 0000000..d3dea4e --- /dev/null +++ b/lib/app/data/models/user_model.dart @@ -0,0 +1,71 @@ +import 'dart:convert'; + +class User { + final String id; + final String email; + final String? name; + final String? avatarUrl; + final String? phoneNumber; + final DateTime? createdAt; + final DateTime? updatedAt; + + User({ + required this.id, + required this.email, + this.name, + this.avatarUrl, + this.phoneNumber, + this.createdAt, + this.updatedAt, + }); + + Map toMap() { + return { + 'id': id, + 'email': email, + 'name': name, + 'avatar_url': avatarUrl, + 'phone_number': phoneNumber, + 'created_at': createdAt?.toIso8601String(), + 'updated_at': updatedAt?.toIso8601String(), + }; + } + + factory User.fromMap(Map map) { + return User( + id: map['id'] ?? '', + email: map['email'] ?? '', + name: map['name'], + avatarUrl: map['avatar_url'], + phoneNumber: map['phone_number'], + createdAt: + map['created_at'] != null ? DateTime.parse(map['created_at']) : null, + updatedAt: + map['updated_at'] != null ? DateTime.parse(map['updated_at']) : null, + ); + } + + String toJson() => json.encode(toMap()); + + factory User.fromJson(String source) => User.fromMap(json.decode(source)); + + User copyWith({ + String? id, + String? email, + String? name, + String? avatarUrl, + String? phoneNumber, + DateTime? createdAt, + DateTime? updatedAt, + }) { + return User( + id: id ?? this.id, + email: email ?? this.email, + name: name ?? this.name, + avatarUrl: avatarUrl ?? this.avatarUrl, + phoneNumber: phoneNumber ?? this.phoneNumber, + createdAt: createdAt ?? this.createdAt, + updatedAt: updatedAt ?? this.updatedAt, + ); + } +} diff --git a/lib/app/data/providers/aset_provider.dart b/lib/app/data/providers/aset_provider.dart new file mode 100644 index 0000000..5262fc6 --- /dev/null +++ b/lib/app/data/providers/aset_provider.dart @@ -0,0 +1,1099 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import 'package:supabase_flutter/supabase_flutter.dart'; +import '../models/aset_model.dart'; +import '../models/foto_aset_model.dart'; +import '../models/satuan_waktu_model.dart'; +import '../models/satuan_waktu_sewa_model.dart'; +import 'package:intl/intl.dart'; + +class AsetProvider extends GetxService { + late final SupabaseClient client; + + AsetProvider() { + client = Supabase.instance.client; + } + + // Mendapatkan semua aset dengan kategori "sewa" + Future> getSewaAsets() async { + try { + debugPrint('Fetching aset with kategori: sewa'); + + // Query untuk mendapatkan semua aset dengan kategori "sewa" + final response = await client + .from('aset') + .select('*') + .eq('kategori', 'sewa') + .eq('status', 'tersedia') // Hanya yang tersedia + .order('nama', ascending: true); // Urutan berdasarkan nama + + debugPrint('Fetched ${response.length} aset'); + + // Konversi response ke list AsetModel + List asets = + response.map((item) => AsetModel.fromJson(item)).toList(); + + // Untuk setiap aset, ambil foto pertama dan satuan waktu sewa + for (var aset in asets) { + await _attachFirstPhoto(aset); + await attachSatuanWaktuSewa(aset); + } + + return asets; + } catch (e) { + debugPrint('Error fetching aset: $e'); + return []; + } + } + + // Mendapatkan semua aset dengan kategori "langganan" + Future> getLanggananAsets() async { + try { + debugPrint('Fetching aset with kategori: langganan'); + + // Query untuk mendapatkan semua aset dengan kategori "langganan" + final response = await client + .from('aset') + .select('*') + .eq('kategori', 'langganan') + .eq('status', 'tersedia') // Hanya yang tersedia + .order('nama', ascending: true); // Urutan berdasarkan nama + + debugPrint('Fetched ${response.length} langganan aset'); + + // Konversi response ke list AsetModel + List asets = + response.map((item) => AsetModel.fromJson(item)).toList(); + + // Untuk setiap aset, ambil foto pertama dan satuan waktu sewa + for (var aset in asets) { + await _attachFirstPhoto(aset); + await attachSatuanWaktuSewa(aset); + } + + return asets; + } catch (e) { + debugPrint('Error fetching langganan asets: $e'); + return []; + } + } + + // Mendapatkan aset berdasarkan ID + Future getAsetById(String asetId) async { + try { + debugPrint('📂 Fetching aset with ID: $asetId'); + + // Query untuk mendapatkan aset dengan ID tertentu + final response = + await client.from('aset').select('*').eq('id', asetId).maybeSingle(); + + debugPrint('📂 Raw response type: ${response.runtimeType}'); + debugPrint('📂 Raw response: $response'); + + if (response == null) { + debugPrint('❌ Aset dengan ID $asetId tidak ditemukan'); + return null; + } + + debugPrint( + '✅ Successfully fetched aset with ID: $asetId, name: ${response['nama']}', + ); + + // Konversi response ke AsetModel + AsetModel aset = AsetModel.fromJson(response); + debugPrint('✅ AsetModel created: ${aset.id} - ${aset.nama}'); + + // Ambil foto dan satuan waktu sewa untuk aset ini + await _attachFirstPhoto(aset); + await attachSatuanWaktuSewa(aset); + await loadAssetPhotos(aset); + + return aset; + } catch (e, stackTrace) { + debugPrint('❌ Error fetching aset by ID: $e'); + debugPrint('❌ StackTrace: $stackTrace'); + return null; + } + } + + // Load all photos for an asset + Future loadAssetPhotos(AsetModel aset) async { + try { + final photos = await getAsetPhotos(aset.id); + if (photos.isNotEmpty && + (aset.imageUrl == null || aset.imageUrl!.isEmpty)) { + aset.imageUrl = photos.first.fotoAset; + } + } catch (e) { + debugPrint('Error loading asset photos for ID ${aset.id}: $e'); + } + } + + // Fungsi untuk mengambil foto pertama dari aset + Future _attachFirstPhoto(AsetModel aset) async { + try { + final responsePhoto = + await client + .from('foto_aset') + .select('*') + .eq('id_aset', aset.id) + .limit(1) + .maybeSingle(); + + if (responsePhoto != null) { + final fotoAset = FotoAsetModel.fromJson(responsePhoto); + aset.imageUrl = fotoAset.fotoAset; + } + } catch (e) { + debugPrint('Error fetching photo for aset ${aset.id}: $e'); + } + } + + // Fungsi untuk mendapatkan semua foto aset berdasarkan ID aset + Future> getAsetPhotos(String asetId) async { + try { + debugPrint('Fetching photos for aset ID: $asetId'); + + final response = await client + .from('foto_aset') + .select('*') + .eq('id_aset', asetId) + .order('created_at'); + + debugPrint('Fetched ${response.length} photos for aset ID: $asetId'); + + // Konversi response ke list FotoAsetModel + return (response as List) + .map((item) => FotoAsetModel.fromJson(item)) + .toList(); + } catch (e) { + debugPrint('Error fetching photos for aset ID $asetId: $e'); + return []; + } + } + + // Retrieve bookings for a specific asset on a specific date + Future>> getAsetBookings( + String asetId, + String date, + ) async { + try { + // Convert the date to DateTime for comparison + final targetDate = DateTime.parse(date); + debugPrint('🔍 Fetching bookings for asset $asetId on date $date'); + + // Query booked_detail table (previously was sewa_aset table) for bookings related to this asset + final response = await client + .from('booked_detail') + .select('id, waktu_mulai, waktu_selesai, sewa_aset_id, kuantitas') + .eq('aset_id', asetId) + .order('waktu_mulai', ascending: true); + + // Filter bookings to only include those that overlap with our target date + final bookingsForDate = + response.where((booking) { + if (booking['waktu_mulai'] == null || + booking['waktu_selesai'] == null) { + debugPrint('⚠️ Booking has null timestamp: $booking'); + return false; + } + + // Parse the timestamps + final DateTime waktuMulai = DateTime.parse(booking['waktu_mulai']); + final DateTime waktuSelesai = DateTime.parse( + booking['waktu_selesai'], + ); + + // Check if booking overlaps with our target date + final bookingStartDate = DateTime( + waktuMulai.year, + waktuMulai.month, + waktuMulai.day, + ); + final bookingEndDate = DateTime( + waktuSelesai.year, + waktuSelesai.month, + waktuSelesai.day, + ); + + final targetDateOnly = DateTime( + targetDate.year, + targetDate.month, + targetDate.day, + ); + + // The booking overlaps with our target date if: + // 1. The booking starts on or before our target date AND + // 2. The booking ends on or after our target date + return !bookingStartDate.isAfter(targetDateOnly) && + !bookingEndDate.isBefore(targetDateOnly); + }).toList(); + + debugPrint( + '📅 Found ${bookingsForDate.length} bookings for date $date from booked_detail table', + ); + + // Return the complete booking information with original timestamps + return bookingsForDate.map((booking) { + // Parse the timestamps for debugging + final DateTime waktuMulai = DateTime.parse(booking['waktu_mulai']); + final DateTime waktuSelesai = DateTime.parse(booking['waktu_selesai']); + + // Return the full booking data with formatted display times + return { + 'id': + booking['sewa_aset_id'] ?? + booking['id'], // Use sewa_aset_id as id if available + 'waktu_mulai': booking['waktu_mulai'], // Keep original ISO timestamp + 'waktu_selesai': + booking['waktu_selesai'], // Keep original ISO timestamp + 'jam_mulai': DateFormat('HH:mm').format(waktuMulai), // For display + 'jam_selesai': DateFormat( + 'HH:mm', + ).format(waktuSelesai), // For display + 'tanggal_mulai': DateFormat( + 'yyyy-MM-dd', + ).format(waktuMulai), // For calculations + 'tanggal_selesai': DateFormat( + 'yyyy-MM-dd', + ).format(waktuSelesai), // For calculations + 'kuantitas': + booking['kuantitas'] ?? 1, // Default to 1 if not specified + }; + }).toList(); + } catch (e) { + debugPrint('❌ Error getting asset bookings: $e'); + return []; + } + } + + // Fungsi untuk membuat pesanan sewa aset + Future createSewaAsetOrder(Map orderData) async { + try { + debugPrint('🔄 Creating sewa_aset order with data:'); + orderData.forEach((key, value) { + debugPrint(' $key: $value'); + }); + + final response = + await client.from('sewa_aset').insert(orderData).select().single(); + + debugPrint('✅ Order created successfully: ${response['id']}'); + return true; + } catch (e) { + debugPrint('❌ Error creating sewa_aset order: $e'); + debugPrint('❌ Stack trace: ${StackTrace.current}'); + + // Check for specific error types + if (e.toString().contains('duplicate key')) { + debugPrint('❌ This appears to be a duplicate key error'); + } else if (e.toString().contains('violates foreign key constraint')) { + debugPrint('❌ This appears to be a foreign key constraint violation'); + } else if (e.toString().contains('violates not-null constraint')) { + debugPrint('❌ This appears to be a null value in a required field'); + } + + return false; + } + } + + // Fungsi untuk membuat tagihan sewa + Future createTagihanSewa(Map tagihanData) async { + try { + debugPrint('🔄 Creating tagihan_sewa with data:'); + tagihanData.forEach((key, value) { + debugPrint(' $key: $value'); + }); + + // Ensure we don't try to insert a nama_aset field that no longer exists + if (tagihanData.containsKey('nama_aset')) { + debugPrint( + '⚠️ Removing nama_aset field from tagihan_sewa data as it does not exist in the table', + ); + tagihanData.remove('nama_aset'); + } + + final response = + await client + .from('tagihan_sewa') + .insert(tagihanData) + .select() + .single(); + + debugPrint('✅ Tagihan created successfully: ${response['id']}'); + return true; + } catch (e) { + debugPrint('❌ Error creating tagihan_sewa: $e'); + debugPrint('❌ Stack trace: ${StackTrace.current}'); + + // Check for specific error types + if (e.toString().contains('duplicate key')) { + debugPrint('❌ This appears to be a duplicate key error'); + } else if (e.toString().contains('violates foreign key constraint')) { + debugPrint('❌ This appears to be a foreign key constraint violation'); + } else if (e.toString().contains('violates not-null constraint')) { + debugPrint('❌ This appears to be a null value in a required field'); + } else if (e.toString().contains('Could not find the')) { + debugPrint( + '❌ This appears to be a column mismatch error - check field names', + ); + // Print the field names from the data to help debug + debugPrint('❌ Fields in provided data: ${tagihanData.keys.toList()}'); + } + + return false; + } + } + + // Fungsi untuk membuat booked detail + Future createBookedDetail(Map bookedDetailData) async { + try { + debugPrint('🔄 Creating booked_detail with data:'); + bookedDetailData.forEach((key, value) { + debugPrint(' $key: $value'); + }); + + // Ensure we don't try to insert a status field that no longer exists + if (bookedDetailData.containsKey('status')) { + debugPrint( + '⚠️ Removing status field from booked_detail data as it does not exist in the table', + ); + bookedDetailData.remove('status'); + } + + final response = + await client + .from('booked_detail') + .insert(bookedDetailData) + .select() + .single(); + + debugPrint('✅ Booked detail created successfully: ${response['id']}'); + return true; + } catch (e) { + debugPrint('❌ Error creating booked_detail: $e'); + debugPrint('❌ Stack trace: ${StackTrace.current}'); + + // Check for specific error types + if (e.toString().contains('duplicate key')) { + debugPrint('❌ This appears to be a duplicate key error'); + } else if (e.toString().contains('violates foreign key constraint')) { + debugPrint('❌ This appears to be a foreign key constraint violation'); + } else if (e.toString().contains('violates not-null constraint')) { + debugPrint('❌ This appears to be a null value in a required field'); + } else if (e.toString().contains('Could not find the')) { + debugPrint( + '❌ This appears to be a column mismatch error - check field names', + ); + // Print the field names from the data to help debug + debugPrint( + '❌ Fields in provided data: ${bookedDetailData.keys.toList()}', + ); + } + + return false; + } + } + + // Fungsi untuk membuat pesanan lengkap (sewa_aset, booked_detail, dan tagihan_sewa) dalam satu operasi + Future createCompleteOrder({ + required Map sewaAsetData, + required Map bookedDetailData, + required Map tagihanSewaData, + }) async { + try { + debugPrint('🔄 Creating complete order with transaction'); + debugPrint('📦 sewa_aset data:'); + sewaAsetData.forEach((key, value) => debugPrint(' $key: $value')); + + debugPrint('📦 booked_detail data:'); + bookedDetailData.forEach((key, value) => debugPrint(' $key: $value')); + + // Ensure we don't try to insert a status field that no longer exists + if (bookedDetailData.containsKey('status')) { + debugPrint( + '⚠️ Removing status field from booked_detail data as it does not exist in the table', + ); + bookedDetailData.remove('status'); + } + + debugPrint('📦 tagihan_sewa data:'); + tagihanSewaData.forEach((key, value) => debugPrint(' $key: $value')); + + // Ensure we don't try to insert a nama_aset field that no longer exists + if (tagihanSewaData.containsKey('nama_aset')) { + debugPrint( + '⚠️ Removing nama_aset field from tagihan_sewa data as it does not exist in the table', + ); + tagihanSewaData.remove('nama_aset'); + } + + // Insert all three records + final sewaAsetResult = + await client.from('sewa_aset').insert(sewaAsetData).select().single(); + debugPrint('✅ sewa_aset created: ${sewaAsetResult['id']}'); + + final bookedDetailResult = + await client + .from('booked_detail') + .insert(bookedDetailData) + .select() + .single(); + debugPrint('✅ booked_detail created: ${bookedDetailResult['id']}'); + + final tagihanSewaResult = + await client + .from('tagihan_sewa') + .insert(tagihanSewaData) + .select() + .single(); + debugPrint('✅ tagihan_sewa created: ${tagihanSewaResult['id']}'); + + debugPrint('✅ Complete order created successfully!'); + return true; + } catch (e) { + debugPrint('❌ Error creating complete order: $e'); + debugPrint('❌ Stack trace: ${StackTrace.current}'); + + // Check for specific error types + if (e.toString().contains('duplicate key')) { + debugPrint('❌ This appears to be a duplicate key error'); + } else if (e.toString().contains('violates foreign key constraint')) { + debugPrint('❌ This appears to be a foreign key constraint violation'); + } else if (e.toString().contains('violates not-null constraint')) { + debugPrint('❌ This appears to be a null value in a required field'); + } else if (e.toString().contains('Could not find the')) { + debugPrint( + '❌ This appears to be a column mismatch error - check field names', + ); + // Print the field names from each data object to help debug + debugPrint('❌ Fields in sewa_aset data: ${sewaAsetData.keys.toList()}'); + debugPrint( + '❌ Fields in booked_detail data: ${bookedDetailData.keys.toList()}', + ); + debugPrint( + '❌ Fields in tagihan_sewa data: ${tagihanSewaData.keys.toList()}', + ); + } + + return false; + } + } + + // Fungsi untuk mendapatkan data satuan waktu berdasarkan ID dari tabel `satuan_waktu` + Future getSatuanWaktuById(String id) async { + try { + // Asumsikan client adalah instance Supabase (atau library serupa) + final response = + await client + .from('satuan_waktu') + .select('*') + .eq('id', id) + .maybeSingle(); + + if (response == null) { + debugPrint('Tidak ditemukan data satuan waktu untuk id: $id'); + return null; + } + + return SatuanWaktuModel.fromJson(response); + } catch (e) { + debugPrint('Error fetching satuan waktu by id: $e'); + return null; + } + } + + // Fungsi untuk mendapatkan semua data satuan waktu dari tabel `satuan_waktu` + // Biasanya digunakan untuk menampilkan pilihan pada form atau filter + Future> getAllSatuanWaktu() async { + try { + final response = await client + .from('satuan_waktu') + .select('*') + .order('nama_satuan_waktu', ascending: true); + + // Pastikan response berupa list + return (response as List) + .map((item) => SatuanWaktuModel.fromJson(item)) + .toList(); + } catch (e) { + debugPrint('Error fetching all satuan waktu: $e'); + return []; + } + } + + // Fungsi untuk mendapatkan data satuan waktu sewa untuk suatu aset tertentu + // Data diambil dari tabel `satuan_waktu_sewa` dan langsung melakukan join ke tabel `satuan_waktu` + Future>> getSatuanWaktuSewa(String asetId) async { + try { + debugPrint('Fetching satuan waktu sewa for aset $asetId with join...'); + + // Query untuk mendapatkan data dari satuan_waktu_sewa dengan join ke satuan_waktu + final response = await client + .from('satuan_waktu_sewa') + .select(''' + id, + aset_id, + satuan_waktu_id, + harga, + denda, + maksimal_waktu, + satuan_waktu:satuan_waktu_id(id, nama_satuan_waktu) + ''') + .eq('aset_id', asetId); + + debugPrint('Join query raw response type: ${response.runtimeType}'); + debugPrint('Join query raw response: $response'); + + List> result = []; + + debugPrint('Response is List with ${response.length} items'); + for (var item in response) { + try { + debugPrint('Processing item: $item'); + + // Pengecekan null dan tipe data yang lebih aman + var satuanWaktu = item['satuan_waktu']; + String namaSatuanWaktu = ''; + + if (satuanWaktu != null) { + if (satuanWaktu is Map) { + // Jika satuan_waktu adalah Map + namaSatuanWaktu = + satuanWaktu['nama_satuan_waktu']?.toString() ?? ''; + } else if (satuanWaktu is List && satuanWaktu.isNotEmpty) { + // Jika satuan_waktu adalah List + var firstItem = satuanWaktu.first; + if (firstItem is Map) { + namaSatuanWaktu = + firstItem['nama_satuan_waktu']?.toString() ?? ''; + } + } + } + + final resultItem = { + 'id': item['id']?.toString() ?? '', + 'aset_id': item['aset_id']?.toString() ?? '', + 'satuan_waktu_id': item['satuan_waktu_id']?.toString() ?? '', + 'harga': item['harga'] ?? 0, + 'denda': item['denda'] ?? 0, + 'maksimal_waktu': item['maksimal_waktu'] ?? 0, + 'nama_satuan_waktu': namaSatuanWaktu, + }; + + debugPrint('Successfully processed item: $resultItem'); + result.add(resultItem); + } catch (e) { + debugPrint('Error processing item: $e'); + debugPrint('Item data: $item'); + } + } + + debugPrint( + 'Processed ${result.length} satuan waktu sewa records for aset $asetId', + ); + return result; + } catch (e) { + debugPrint('Error fetching satuan waktu sewa for aset $asetId: $e'); + debugPrint('Stack trace: ${StackTrace.current}'); + return []; + } + } + + // Fungsi untuk melampirkan data satuan waktu sewa ke model aset secara langsung + // Fungsi ini akan dipanggil misalnya saat Anda memuat detail aset atau list aset + Future attachSatuanWaktuSewa(AsetModel aset) async { + try { + debugPrint( + 'Attaching satuan waktu sewa to aset ${aset.id} (${aset.nama})', + ); + + // Ambil semua data satuan waktu sewa untuk aset tersebut + final satuanWaktuSewaList = await getSatuanWaktuSewa(aset.id); + + // Urutkan data satuan waktu sewa, Jam dulu, kemudian Hari, kemudian lainnya + satuanWaktuSewaList.sort((a, b) { + final namaA = (a['nama_satuan_waktu'] ?? '').toString().toLowerCase(); + final namaB = (b['nama_satuan_waktu'] ?? '').toString().toLowerCase(); + + // Jika ada 'jam', tempatkan di urutan pertama + if (namaA.contains('jam') && !namaB.contains('jam')) { + return -1; + } + // Jika ada 'hari', tempatkan di urutan kedua + else if (!namaA.contains('jam') && + namaA.contains('hari') && + !namaB.contains('jam') && + !namaB.contains('hari')) { + return -1; + } + // Jika keduanya 'jam' atau keduanya 'hari' atau keduanya lainnya, pertahankan urutan asli + else if ((namaA.contains('jam') && namaB.contains('jam')) || + (namaA.contains('hari') && namaB.contains('hari'))) { + return 0; + } + // Jika b adalah 'jam', tempatkan b lebih dulu + else if (!namaA.contains('jam') && namaB.contains('jam')) { + return 1; + } + // Jika b adalah 'hari' dan a bukan 'jam', tempatkan b lebih dulu + else if (!namaA.contains('jam') && + !namaA.contains('hari') && + !namaB.contains('jam') && + namaB.contains('hari')) { + return 1; + } + // Default, pertahankan urutan + return 0; + }); + + debugPrint('Sorted satuan waktu sewa list: $satuanWaktuSewaList'); + + // Bersihkan data lama dan masukkan data baru + aset.satuanWaktuSewa.clear(); + aset.satuanWaktuSewa.addAll(satuanWaktuSewaList); + + // Debug: tampilkan data satuan waktu sewa yang berhasil dilampirkan + if (satuanWaktuSewaList.isNotEmpty) { + debugPrint( + 'Attached ${satuanWaktuSewaList.length} satuan waktu sewa to aset ${aset.id}:', + ); + for (var sws in satuanWaktuSewaList) { + debugPrint( + ' - ID: ${sws['id']}, Harga: ${sws['harga']}, Satuan Waktu: ${sws['nama_satuan_waktu']} (${sws['satuan_waktu_id']})', + ); + } + } else { + debugPrint('No satuan waktu sewa found for aset ${aset.id}'); + } + } catch (e) { + debugPrint('Error attaching satuan waktu sewa: $e'); + } + } + + // Fungsi untuk memformat harga ke format rupiah (contoh: Rp 3.000) + String formatPrice(int price) { + // RegExp untuk menambahkan titik sebagai pemisah ribuan + return 'Rp ${price.toString().replaceAllMapped(RegExp(r'(\d{1,3})(?=(\d{3})+(?!\d))'), (Match m) => '${m[1]}.')}'; + } + + String _formatNumber(dynamic number) { + if (number == null) return '0'; + + // Pastikan angka dikonversi ke string + var numStr = number.toString(); + + // Tangani kasus ketika number bukan angka + try { + return numStr.replaceAllMapped( + RegExp(r'(\d{1,3})(?=(\d{3})+(?!\d))'), + (Match match) => '${match[1]}.', + ); + } catch (e) { + return numStr; + } + } + + // Method untuk pemesanan aset + Future orderAset({ + required String userId, + required String asetId, + required String satuanWaktuSewaId, + required int durasi, + required int totalHarga, + }) async { + try { + debugPrint('Creating order for aset $asetId by user $userId'); + + // Dapatkan tanggal hari ini + final tanggalPemesanan = DateTime.now().toIso8601String(); + + // Buat pesanan baru + final response = + await client + .from('pesanan') + .insert({ + 'user_id': userId, + 'aset_id': asetId, + 'satuan_waktu_sewa_id': satuanWaktuSewaId, + 'tanggal_pemesanan': tanggalPemesanan, + 'durasi': durasi, + 'total_harga': totalHarga, + 'status': 'pending', // Status awal pesanan + }) + .select('id') + .single(); + + // Periksa apakah pesanan berhasil dibuat + if (response['id'] != null) { + debugPrint('Order created successfully with ID: ${response['id']}'); + return true; + } else { + debugPrint('Failed to create order: Response is null or missing ID'); + return false; + } + } catch (e) { + debugPrint('Error creating order: $e'); + return false; + } + } + + // Get daily bookings for an asset for a date range + Future>> getAsetDailyBookings( + String asetId, + String startDate, + String endDate, + ) async { + try { + debugPrint( + '🔍 Fetching daily bookings for asset $asetId from $startDate to $endDate from booked_detail table', + ); + + // Parse dates for comparison + final startDateTime = DateTime.parse(startDate); + final endDateTime = DateTime.parse(endDate); + + // Query booked_detail table (previously was sewa_aset table) for daily bookings related to this asset + final response = await client + .from('booked_detail') + .select('id, waktu_mulai, waktu_selesai, sewa_aset_id, kuantitas') + .eq('aset_id', asetId) + .order('waktu_mulai', ascending: true); + + // Filter bookings that overlap with the requested date range + final List> bookingsInRange = + response.where((booking) { + if (booking['waktu_mulai'] == null || + booking['waktu_selesai'] == null) { + debugPrint('⚠️ Booking has null dates: $booking'); + return false; + } + + // Parse the dates + final DateTime bookingStartDate = DateTime.parse( + booking['waktu_mulai'], + ); + final DateTime bookingEndDate = DateTime.parse( + booking['waktu_selesai'], + ); + + // A booking overlaps with our date range if: + // 1. The booking ends after or on our start date AND + // 2. The booking starts before or on our end date + return !bookingEndDate.isBefore(startDateTime) && + !bookingStartDate.isAfter(endDateTime); + }).toList(); + + debugPrint( + '📅 Found ${bookingsInRange.length} bookings in the specified range from booked_detail table', + ); + + // Debug the booking details + if (bookingsInRange.isNotEmpty) { + for (var booking in bookingsInRange) { + debugPrint( + '📋 Booking ID: ${booking['sewa_aset_id'] ?? booking['id']}', + ); + debugPrint(' - Start: ${booking['waktu_mulai']}'); + debugPrint(' - End: ${booking['waktu_selesai']}'); + debugPrint(' - Quantity: ${booking['kuantitas']}'); + } + } + + return bookingsInRange.map((booking) { + final Map result = Map.from(booking); + // Use sewa_aset_id as the id if available + if (booking['sewa_aset_id'] != null) { + result['id'] = booking['sewa_aset_id']; + } + return result; + }).toList(); + } catch (e) { + debugPrint('❌ Error getting daily bookings: $e'); + return []; + } + } + + bool _isBeforeToday(DateTime date) { + final today = DateTime.now(); + final todayDate = DateTime(today.year, today.month, today.day); + final checkDate = DateTime(date.year, date.month, date.day); + // Return true if date is today or before today (meaning it should be disabled) + return !checkDate.isAfter(todayDate); + } + + // Get tagihan sewa by sewa_aset_id + Future?> getTagihanSewa(String sewaAsetId) async { + try { + debugPrint('🔍 Fetching tagihan sewa for sewa_aset_id: $sewaAsetId'); + + final response = + await client + .from('tagihan_sewa') + .select('*') + .eq('sewa_aset_id', sewaAsetId) + .maybeSingle(); + + if (response == null) { + debugPrint('⚠️ No tagihan sewa found for sewa_aset_id: $sewaAsetId'); + return null; + } + + debugPrint('✅ Tagihan sewa found: ${response['id']}'); + return response; + } catch (e) { + debugPrint('❌ Error fetching tagihan sewa: $e'); + return null; + } + } + + // Get bank accounts from akun_bank table + Future>> getBankAccounts() async { + try { + debugPrint('🔍 Fetching bank accounts from akun_bank table'); + + final response = await client + .from('akun_bank') + .select('*') + .order('nama_bank', ascending: true); + + debugPrint('✅ Fetched ${response.length} bank accounts'); + + // Convert response to List> + List> accounts = List>.from(response); + + return accounts; + } catch (e) { + debugPrint('❌ Error fetching bank accounts: $e'); + return []; + } + } + + // Get sewa_aset details with aset data + Future?> getSewaAsetWithAsetData( + String sewaAsetId, + ) async { + try { + debugPrint('🔍 Fetching sewa_aset with aset data for id: $sewaAsetId'); + + // First get the sewa_aset record + debugPrint('📊 Executing query: FROM sewa_aset WHERE id = $sewaAsetId'); + final sewaResponse = + await client + .from('sewa_aset') + .select('*') + .eq('id', sewaAsetId) + .maybeSingle(); + + if (sewaResponse == null) { + debugPrint('⚠️ No sewa_aset found with id: $sewaAsetId'); + return null; + } + + debugPrint('📋 Raw sewa_aset response:'); + sewaResponse.forEach((key, value) { + debugPrint(' $key: $value'); + }); + + // Get the aset_id from the sewa_aset record + final asetId = sewaResponse['aset_id']; + if (asetId == null) { + debugPrint('⚠️ sewa_aset record has no aset_id'); + return sewaResponse; + } + + debugPrint('🔍 Found aset_id: $asetId, now fetching aset details'); + + // Get the aset details + final asetResponse = + await client.from('aset').select('*').eq('id', asetId).maybeSingle(); + + if (asetResponse == null) { + debugPrint('⚠️ No aset found with id: $asetId'); + return sewaResponse; + } + + // Combine the data + final result = Map.from(sewaResponse); + result['aset_detail'] = asetResponse; + + debugPrint('✅ Combined sewa_aset and aset data successfully'); + debugPrint('📋 Final combined data:'); + result.forEach((key, value) { + if (key != 'aset_detail') { + // Skip the nested object for clearer output + debugPrint(' $key: $value'); + } + }); + + // Specifically check waktu_mulai and waktu_selesai + debugPrint('⏰ CRITICAL TIME FIELDS CHECK:'); + debugPrint(' waktu_mulai exists: ${result.containsKey('waktu_mulai')}'); + debugPrint(' waktu_mulai value: ${result['waktu_mulai']}'); + debugPrint( + ' waktu_selesai exists: ${result.containsKey('waktu_selesai')}', + ); + debugPrint(' waktu_selesai value: ${result['waktu_selesai']}'); + + return result; + } catch (e) { + debugPrint('❌ Error fetching sewa_aset with aset data: $e'); + debugPrint(' Stack trace: ${StackTrace.current}'); + return null; + } + } + + // Fungsi untuk mengambil foto pertama dari paket + Future _getFirstPaketPhoto(String paketId) async { + try { + debugPrint('Fetching first photo for paket ID: $paketId'); + final responsePhoto = + await client + .from('foto_aset') + .select('*') + .eq('id_paket', paketId) + .limit(1) + .maybeSingle(); + + if (responsePhoto != null) { + debugPrint( + 'Found photo for paket $paketId: ${responsePhoto['foto_aset']}', + ); + return responsePhoto['foto_aset']; + } + return null; + } catch (e) { + debugPrint('Error fetching photo for paket $paketId: $e'); + return null; + } + } + + // Get all photos for a paket using id_paket column + Future> getFotoPaket(String paketId) async { + try { + debugPrint('📷 Fetching all photos for paket ID: $paketId'); + + final response = await client + .from('foto_aset') + .select('*') + .eq('id_paket', paketId); + + if (response.isEmpty) { + debugPrint('⚠️ No photos found for paket $paketId'); + return []; + } + + debugPrint('✅ Found ${response.length} photos for paket $paketId'); + return response; + } catch (e) { + debugPrint('❌ Error fetching photos for paket $paketId: $e'); + return []; + } + } + + // Get paket data with their associated satuan waktu sewa data + Future> getPakets() async { + try { + final response = await client + .from('paket') + .select('*') + .order('created_at'); + final List pakets = response; + + // Fetch satuan waktu sewa data for each paket + for (var paket in pakets) { + // Fetch the first photo for this paket + final paketId = paket['id']; + final photoUrl = await _getFirstPaketPhoto(paketId); + if (photoUrl != null) { + paket['gambar_url'] = photoUrl; + } + + final swsResponse = await client + .from('satuan_waktu_sewa') + .select('*, satuan_waktu(id, nama_satuan_waktu)') + .eq('paket_id', paket['id']); + + // Transform the response to include nama_satuan_waktu + final List> formattedSWS = []; + for (var sws in swsResponse) { + final Map formattedItem = {...sws}; + if (sws['satuan_waktu'] != null) { + formattedItem['nama_satuan_waktu'] = + sws['satuan_waktu']['nama_satuan_waktu']; + } + formattedSWS.add(formattedItem); + } + + paket['satuanWaktuSewa'] = formattedSWS; + } + + return pakets; + } catch (e) { + debugPrint('Error getting pakets: $e'); + rethrow; + } + } + + // Order a paket + Future orderPaket({ + required String userId, + required String paketId, + required String satuanWaktuSewaId, + required int durasi, + required int totalHarga, + }) async { + try { + // Get satuan waktu sewa details to determine waktu_mulai and waktu_selesai + final swsResponse = + await client + .from('satuan_waktu_sewa') + .select('*, satuan_waktu(id, nama)') + .eq('id', satuanWaktuSewaId) + .single(); + + // Calculate waktu_mulai and waktu_selesai based on satuan waktu + final DateTime now = DateTime.now(); + final DateTime waktuMulai = now.add(Duration(days: 1)); // Start tomorrow + + // Default to hourly if not specified + String satuanWaktu = 'jam'; + if (swsResponse != null && + swsResponse['satuan_waktu'] != null && + swsResponse['satuan_waktu']['nama'] != null) { + satuanWaktu = swsResponse['satuan_waktu']['nama']; + } + + // Calculate waktu_selesai based on satuan waktu and durasi + DateTime waktuSelesai; + if (satuanWaktu.toLowerCase() == 'hari') { + waktuSelesai = waktuMulai.add(Duration(days: durasi)); + } else { + waktuSelesai = waktuMulai.add(Duration(hours: durasi)); + } + + // Create the order + final sewa = { + 'user_id': userId, + 'paket_id': paketId, + 'satuan_waktu_sewa_id': satuanWaktuSewaId, + 'kuantitas': 1, // Default to 1 for packages + 'durasi': durasi, + 'total_harga': totalHarga, + 'status': 'MENUNGGU_PEMBAYARAN', + 'waktu_mulai': waktuMulai.toIso8601String(), + 'waktu_selesai': waktuSelesai.toIso8601String(), + }; + + final response = await client.from('sewa_paket').insert(sewa).select(); + + if (response != null && response.isNotEmpty) { + return true; + } + return false; + } catch (e) { + debugPrint('Error ordering paket: $e'); + return false; + } + } +} diff --git a/lib/app/data/providers/auth_provider.dart b/lib/app/data/providers/auth_provider.dart new file mode 100644 index 0000000..23ad383 --- /dev/null +++ b/lib/app/data/providers/auth_provider.dart @@ -0,0 +1,535 @@ +import 'package:flutter/foundation.dart'; +import 'package:supabase_flutter/supabase_flutter.dart'; +import 'package:get/get.dart'; +import 'package:flutter_dotenv/flutter_dotenv.dart'; + +class AuthProvider extends GetxService { + late final SupabaseClient client; + bool _isInitialized = false; + + Future init() async { + // Cek jika sudah diinisialisasi sebelumnya + if (_isInitialized) { + debugPrint('Supabase already initialized'); + return this; + } + + try { + // Cek jika dotenv sudah dimuat + if (dotenv.env['SUPABASE_URL'] == null || + dotenv.env['SUPABASE_ANON_KEY'] == null) { + await dotenv.load(); + } + + final supabaseUrl = dotenv.env['SUPABASE_URL']; + final supabaseKey = dotenv.env['SUPABASE_ANON_KEY']; + + if (supabaseUrl == null || supabaseKey == null) { + throw Exception('Supabase credentials not found in .env file'); + } + + debugPrint( + 'Initializing Supabase with URL: ${supabaseUrl.substring(0, 15)}...', + ); + + await Supabase.initialize( + url: supabaseUrl, + anonKey: supabaseKey, + debug: true, // Aktifkan debugging untuk membantu troubleshooting + ); + + client = Supabase.instance.client; + _isInitialized = true; + debugPrint('Supabase initialized successfully'); + return this; + } catch (e) { + debugPrint('Error initializing Supabase: $e'); + rethrow; + } + } + + // Authentication methods + Future signUp({ + required String email, + required String password, + Map? data, + }) async { + return await client.auth.signUp( + email: email, + password: password, + data: data, + ); + } + + Future signIn({ + required String email, + required String password, + }) async { + return await client.auth.signInWithPassword( + email: email, + password: password, + ); + } + + Future signOut() async { + await client.auth.signOut(); + } + + User? get currentUser => client.auth.currentUser; + + Stream get authChanges => client.auth.onAuthStateChange; + + String? getCurrentUserId() { + try { + final session = Supabase.instance.client.auth.currentSession; + return session?.user.id; + } catch (e) { + print('Error getting current user ID: $e'); + return null; + } + } + + // Metode untuk mendapatkan role_id dari raw_user_meta_data + Future getUserRoleId() async { + final user = currentUser; + if (user == null) { + debugPrint('No current user found when getting role'); + return null; + } + + try { + debugPrint('Fetching role_id from user metadata for user ID: ${user.id}'); + + // Cek user metadata untuk role_id + final userMetadata = user.userMetadata; + debugPrint('User metadata: $userMetadata'); + + // Cek beberapa kemungkinan nama field untuk role_id + if (userMetadata != null) { + if (userMetadata.containsKey('role_id')) { + final roleId = userMetadata['role_id'].toString(); + debugPrint('Found role_id in metadata: $roleId'); + return roleId; + } + + if (userMetadata.containsKey('role')) { + final role = userMetadata['role'].toString(); + debugPrint('Found role in metadata: $role'); + + // Coba konversi nama role ke UUID (from hardcoded data) + if (role.toUpperCase() == 'WARGA') { + return 'bb5360d5-8fd0-404e-8f6f-71ec4d8ad0ae'; + } + if (role.toUpperCase() == 'PETUGAS_BUMDES') { + return '38a8a23c-1873-4033-b977-3293247903b'; + } + if (role.toUpperCase() == 'PETUGAS_MITRA') { + return '8b1af754-0866-4e12-a9d8-da8ed31bec15'; + } + } + } + + // Jika tidak ada di metadata, coba cari di tabel roles dengan user_id + debugPrint('Checking roles table for user ID: ${user.id}'); + + try { + // Mencoba mengambil roles berdasarkan id user di auth + final roleData = + await client + .from('roles') + .select('id') + .eq('user_id', user.id) + .maybeSingle(); + + debugPrint('Role data by user_id: $roleData'); + + if (roleData != null && roleData.containsKey('id')) { + final roleId = roleData['id'].toString(); + debugPrint('Found role ID in roles table: $roleId'); + return roleId; + } + } catch (e) { + debugPrint('Error querying roles by user_id: $e'); + } + + // Jika tidak ditemukan dengan user_id, coba lihat seluruh tabel roles + // untuk debugging + debugPrint('Getting all roles to debug matching issues'); + final allRoles = await client.from('roles').select('*').limit(10); + + debugPrint('All roles in table: $allRoles'); + + // Fallback - tampaknya user belum di-assign role + // Berikan hardcoded role berdasarkan email pattern + final email = user.email?.toLowerCase(); + if (email != null) { + if (email.contains('bumdes')) { + return '38a8a23c-1873-4033-b977-3293247903b'; // PETUGAS_BUMDES + } else if (email.contains('mitra')) { + return '8b1af754-0866-4e12-a9d8-da8ed31bec15'; // PETUGAS_MITRA + } + } + + // Default ke WARGA + return 'bb5360d5-8fd0-404e-8f6f-71ec4d8ad0ae'; // WARGA + } catch (e) { + debugPrint('Error fetching user role_id: $e'); + // Default ke WARGA sebagai fallback + return 'bb5360d5-8fd0-404e-8f6f-71ec4d8ad0ae'; + } + } + + // Metode untuk mendapatkan nama role dari tabel roles berdasarkan role_id + Future getRoleName(String roleId) async { + try { + debugPrint('Fetching role name for role_id: $roleId'); + + // Ambil nama role dari tabel roles + // ID di tabel roles adalah tipe UUID, pastikan format roleId sesuai + final roleData = + await client + .from('roles') + .select('nama_role, id') + .eq('id', roleId) + .maybeSingle(); + + debugPrint('Query result for roles table: $roleData'); + + if (roleData != null) { + // Cek berbagai kemungkinan nama kolom + String? roleName; + if (roleData.containsKey('nama_role')) { + roleName = roleData['nama_role'].toString(); + } else if (roleData.containsKey('nama_role')) { + roleName = roleData['nama_role'].toString(); + } else if (roleData.containsKey('role_name')) { + roleName = roleData['role_name'].toString(); + } + + if (roleName != null) { + debugPrint('Found role name in roles table: $roleName'); + return roleName; + } + + // Jika tidak ada nama kolom yang cocok, tampilkan kolom yang tersedia + debugPrint( + 'Available columns in roles table: ${roleData.keys.join(', ')}', + ); + } + + // Lihat data lengkap tabel untuk troubleshooting + debugPrint('Getting all roles data for troubleshooting'); + final allRoles = await client.from('roles').select('*').limit(5); + + debugPrint('All roles table data (up to 5 rows): $allRoles'); + + // Hardcoded fallback berdasarkan UUID roleId yang dilihat dari data + debugPrint('Using hardcoded fallback for role_id: $roleId'); + if (roleId == 'bb5360d5-8fd0-404e-8f6f-71ec4d8ad0ae') return 'WARGA'; + if (roleId == '38a8a23c-1873-4033-b977-3293247903b') { + return 'PETUGAS_BUMDES'; + } + if (roleId == '8b1af754-0866-4e12-a9d8-da8ed31bec15') { + return 'PETUGAS_MITRA'; + } + + // Default fallback jika role_id tidak dikenali + debugPrint('Unrecognized role_id: $roleId, defaulting to WARGA'); + return 'WARGA'; + } catch (e) { + debugPrint('Error fetching role name: $e'); + return 'WARGA'; // Default fallback + } + } + + // Metode untuk mendapatkan nama lengkap dari tabel warga_desa berdasarkan user_id + Future getUserFullName() async { + final user = currentUser; + if (user == null) { + debugPrint('No current user found when getting full name'); + return null; + } + + try { + debugPrint('Fetching nama_lengkap for user_id: ${user.id}'); + + // Coba ambil nama lengkap dari tabel warga_desa + final userData = + await client + .from('warga_desa') + .select('nama_lengkap') + .eq('user_id', user.id) + .maybeSingle(); + + debugPrint('User data from warga_desa table: $userData'); + + // Jika berhasil mendapatkan data + if (userData != null && userData.containsKey('nama_lengkap')) { + final namaLengkap = userData['nama_lengkap']?.toString(); + if (namaLengkap != null && namaLengkap.isNotEmpty) { + debugPrint('Found nama_lengkap: $namaLengkap'); + return namaLengkap; + } + } + + // Jika tidak ada data di warga_desa, coba cek struktur tabel untuk troubleshooting + debugPrint('Checking warga_desa table structure'); + final tableData = + await client.from('warga_desa').select('*').limit(1).maybeSingle(); + + if (tableData != null) { + debugPrint( + 'Available columns in warga_desa table: ${tableData.keys.join(', ')}', + ); + } else { + debugPrint('No data found in warga_desa table'); + } + + // Fallback ke data dari Supabase Auth + final userMetadata = user.userMetadata; + if (userMetadata != null) { + if (userMetadata.containsKey('full_name')) { + return userMetadata['full_name']?.toString(); + } + if (userMetadata.containsKey('name')) { + return userMetadata['name']?.toString(); + } + } + + // Gunakan email jika nama tidak ditemukan + return user.email?.split('@').first ?? 'Pengguna Warga'; + } catch (e) { + debugPrint('Error fetching user full name: $e'); + return 'Pengguna Warga'; // Default fallback + } + } + + // Metode untuk mendapatkan avatar dari tabel warga_desa berdasarkan user_id + Future getUserAvatar() async { + final user = currentUser; + if (user == null) { + debugPrint('No current user found when getting avatar'); + return null; + } + + try { + debugPrint('Fetching avatar for user_id: ${user.id}'); + + // Coba ambil avatar dari tabel warga_desa + final userData = + await client + .from('warga_desa') + .select('avatar') + .eq('user_id', user.id) + .maybeSingle(); + + debugPrint('Avatar data from warga_desa table: $userData'); + + // Jika berhasil mendapatkan data + if (userData != null && userData.containsKey('avatar')) { + final avatarUrl = userData['avatar']?.toString(); + if (avatarUrl != null && avatarUrl.isNotEmpty) { + debugPrint('Found avatar URL: $avatarUrl'); + return avatarUrl; + } + } + + // Fallback ke data dari Supabase Auth + final userMetadata = user.userMetadata; + if (userMetadata != null && userMetadata.containsKey('avatar_url')) { + return userMetadata['avatar_url']?.toString(); + } + + return null; // No avatar found + } catch (e) { + debugPrint('Error fetching user avatar: $e'); + return null; + } + } + + // Metode untuk mendapatkan email pengguna + Future getUserEmail() async { + final user = currentUser; + if (user == null) { + debugPrint('No current user found when getting email'); + return null; + } + + // Email ada di data user Supabase Auth + return user.email; + } + + // Metode untuk mendapatkan NIK dari tabel warga_desa berdasarkan user_id + Future getUserNIK() async { + final user = currentUser; + if (user == null) { + debugPrint('No current user found when getting NIK'); + return null; + } + + try { + debugPrint('Fetching NIK for user_id: ${user.id}'); + + // Coba ambil NIK dari tabel warga_desa + final userData = + await client + .from('warga_desa') + .select('nik') + .eq('user_id', user.id) + .maybeSingle(); + + // Jika berhasil mendapatkan data + if (userData != null && userData.containsKey('nik')) { + final nik = userData['nik']?.toString(); + if (nik != null && nik.isNotEmpty) { + debugPrint('Found NIK: $nik'); + return nik; + } + } + + // Fallback ke data dari metadata + final userMetadata = user.userMetadata; + if (userMetadata != null && userMetadata.containsKey('nik')) { + return userMetadata['nik']?.toString(); + } + + return null; + } catch (e) { + debugPrint('Error fetching user NIK: $e'); + return null; + } + } + + // Metode untuk mendapatkan nomor telepon dari tabel warga_desa berdasarkan user_id + Future getUserPhone() async { + final user = currentUser; + if (user == null) { + debugPrint('No current user found when getting phone'); + return null; + } + + try { + debugPrint('Fetching phone for user_id: ${user.id}'); + + // Coba ambil nomor telepon dari tabel warga_desa + final userData = + await client + .from('warga_desa') + .select('nomor_telepon, no_telepon, phone') + .eq('user_id', user.id) + .maybeSingle(); + + // Jika berhasil mendapatkan data, cek beberapa kemungkinan nama kolom + if (userData != null) { + if (userData.containsKey('nomor_telepon')) { + final phone = userData['nomor_telepon']?.toString(); + if (phone != null && phone.isNotEmpty) return phone; + } + + if (userData.containsKey('no_telepon')) { + final phone = userData['no_telepon']?.toString(); + if (phone != null && phone.isNotEmpty) return phone; + } + + if (userData.containsKey('phone')) { + final phone = userData['phone']?.toString(); + if (phone != null && phone.isNotEmpty) return phone; + } + } + + // Fallback ke data dari Supabase Auth + final userMetadata = user.userMetadata; + if (userMetadata != null) { + if (userMetadata.containsKey('phone')) { + return userMetadata['phone']?.toString(); + } + if (userMetadata.containsKey('phone_number')) { + return userMetadata['phone_number']?.toString(); + } + } + + return null; + } catch (e) { + debugPrint('Error fetching user phone: $e'); + return null; + } + } + + // Metode untuk mendapatkan alamat dari tabel warga_desa berdasarkan user_id + Future getUserAddress() async { + final user = currentUser; + if (user == null) { + debugPrint('No current user found when getting address'); + return null; + } + + try { + debugPrint('Fetching address for user_id: ${user.id}'); + + // Coba ambil alamat dari tabel warga_desa + final userData = + await client + .from('warga_desa') + .select('alamat') + .eq('user_id', user.id) + .maybeSingle(); + + // Jika berhasil mendapatkan data + if (userData != null && userData.containsKey('alamat')) { + final address = userData['alamat']?.toString(); + if (address != null && address.isNotEmpty) { + debugPrint('Found address: $address'); + return address; + } + } + + // Fallback ke data dari Supabase Auth + final userMetadata = user.userMetadata; + if (userMetadata != null && userMetadata.containsKey('address')) { + return userMetadata['address']?.toString(); + } + + return null; + } catch (e) { + debugPrint('Error fetching user address: $e'); + return null; + } + } + + // Mendapatkan data sewa_aset berdasarkan status (misal: MENUNGGU PEMBAYARAN, PEMBAYARANAN DENDA) + Future>> getSewaAsetByStatus( + List statuses, + ) async { + final user = currentUser; + if (user == null) { + debugPrint('No current user found when getting sewa_aset by status'); + return []; + } + try { + debugPrint( + 'Fetching sewa_aset for user_id: \\${user.id} with statuses: \\${statuses.join(', ')}', + ); + // Supabase expects the IN filter as a comma-separated string in parentheses + final statusString = '(${statuses.map((s) => '"$s"').join(',')})'; + final response = await client + .from('sewa_aset') + .select('*') + .eq('user_id', user.id) + .filter('status', 'in', statusString); + debugPrint('Fetched sewa_aset count: \\${response.length}'); + // Pastikan response adalah List + if (response is List) { + return response + .map>( + (item) => Map.from(item), + ) + .toList(); + } else { + return []; + } + } catch (e) { + debugPrint('Error fetching sewa_aset by status: \\${e.toString()}'); + return []; + } + } +} diff --git a/lib/app/data/providers/pesanan_provider.dart b/lib/app/data/providers/pesanan_provider.dart new file mode 100644 index 0000000..5730665 --- /dev/null +++ b/lib/app/data/providers/pesanan_provider.dart @@ -0,0 +1,187 @@ +import 'package:bumrent_app/app/data/models/aset_model.dart'; +import 'package:bumrent_app/app/data/models/pesanan_model.dart'; +import 'package:bumrent_app/app/data/models/satuan_waktu_model.dart'; +import 'package:bumrent_app/app/data/providers/auth_provider.dart'; +import 'package:get/get.dart'; +import 'package:supabase_flutter/supabase_flutter.dart'; + +class PesananProvider { + final SupabaseClient _supabase = Supabase.instance.client; + final _tableName = 'pesanan'; + + Future> getPesananByUserId(String userId) async { + try { + final response = await _supabase + .from(_tableName) + .select('*, aset(nama)') + .eq('user_id', userId) + .order('created_at', ascending: false); + + final List pesananList = []; + for (final item in response) { + final pesanan = PesananModel.fromJson(item); + + // Attach the asset name + if (item['aset'] != null) { + pesanan.namaAset = item['aset']['nama']; + } + + // Get and attach satuan waktu name + final satuanWaktu = await getSatuanWaktuById(pesanan.satuanWaktuId); + if (satuanWaktu != null) { + pesanan.namaSatuanWaktu = satuanWaktu.namaSatuanWaktu; + } + + pesananList.add(pesanan); + } + + return pesananList; + } catch (e) { + print('Error getting pesanan by user ID: $e'); + return []; + } + } + + Future> getAllPesanan() async { + try { + final response = await _supabase + .from(_tableName) + .select('*, aset(nama), auth_users(full_name)') + .order('created_at', ascending: false); + + final List pesananList = []; + for (final item in response) { + final pesanan = PesananModel.fromJson(item); + + // Attach the asset name + if (item['aset'] != null) { + pesanan.namaAset = item['aset']['nama']; + } + + // Attach the user name + if (item['auth_users'] != null) { + pesanan.namaUser = item['auth_users']['full_name']; + } + + // Get and attach satuan waktu name + final satuanWaktu = await getSatuanWaktuById(pesanan.satuanWaktuId); + if (satuanWaktu != null) { + pesanan.namaSatuanWaktu = satuanWaktu.namaSatuanWaktu; + } + + pesananList.add(pesanan); + } + + return pesananList; + } catch (e) { + print('Error getting all pesanan: $e'); + return []; + } + } + + Future getPesananById(String id) async { + try { + final response = + await _supabase + .from(_tableName) + .select('*, aset(nama), auth_users(full_name)') + .eq('id', id) + .single(); + + final pesanan = PesananModel.fromJson(response); + + // Attach the asset name + if (response['aset'] != null) { + pesanan.namaAset = response['aset']['nama']; + } + + // Attach the user name + if (response['auth_users'] != null) { + pesanan.namaUser = response['auth_users']['full_name']; + } + + // Get and attach satuan waktu name + final satuanWaktu = await getSatuanWaktuById(pesanan.satuanWaktuId); + if (satuanWaktu != null) { + pesanan.namaSatuanWaktu = satuanWaktu.namaSatuanWaktu; + } + + return pesanan; + } catch (e) { + print('Error getting pesanan by ID: $e'); + return null; + } + } + + Future createPesanan({ + required String asetId, + required String satuanWaktuId, + required String userId, + required DateTime tanggalPemesanan, + required String jamPemesanan, + required int durasi, + required int totalHarga, + }) async { + try { + final response = + await _supabase + .from(_tableName) + .insert({ + 'aset_id': asetId, + 'satuan_waktu_id': satuanWaktuId, + 'user_id': userId, + 'status': 'pending', + 'tanggal_pemesanan': + tanggalPemesanan.toIso8601String().split('T')[0], + 'jam_pemesanan': jamPemesanan, + 'durasi': durasi, + 'total_harga': totalHarga, + }) + .select('id') + .single(); + + return response['id']; + } catch (e) { + print('Error creating pesanan: $e'); + return null; + } + } + + Future updatePesananStatus(String id, String status) async { + try { + await _supabase + .from(_tableName) + .update({ + 'status': status, + 'updated_at': DateTime.now().toIso8601String(), + }) + .eq('id', id); + + return true; + } catch (e) { + print('Error updating pesanan status: $e'); + return false; + } + } + + Future deletePesanan(String id) async { + try { + await _supabase.from(_tableName).delete().eq('id', id); + return true; + } catch (e) { + print('Error deleting pesanan: $e'); + return false; + } + } + + Future getSatuanWaktuById(String id) async { + try { + final response = + await _supabase.from('satuan_waktu').select().eq('id', id).single(); + return SatuanWaktuModel.fromJson(response); + } catch (e) { + print('Error getting satuan waktu by ID: $e'); + return null; + } + } +} diff --git a/lib/app/data/providers/supabase_provider.dart b/lib/app/data/providers/supabase_provider.dart new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/lib/app/data/providers/supabase_provider.dart @@ -0,0 +1 @@ + diff --git a/lib/app/data/repositories/rental_booking_repository.dart b/lib/app/data/repositories/rental_booking_repository.dart new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/lib/app/data/repositories/rental_booking_repository.dart @@ -0,0 +1 @@ + diff --git a/lib/app/data/repositories/rental_item_repository.dart b/lib/app/data/repositories/rental_item_repository.dart new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/lib/app/data/repositories/rental_item_repository.dart @@ -0,0 +1 @@ + diff --git a/lib/app/data/repositories/user_repository.dart b/lib/app/data/repositories/user_repository.dart new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/lib/app/data/repositories/user_repository.dart @@ -0,0 +1 @@ + diff --git a/lib/app/modules/auth/controllers/auth_controller.dart b/lib/app/modules/auth/controllers/auth_controller.dart new file mode 100644 index 0000000..7838917 --- /dev/null +++ b/lib/app/modules/auth/controllers/auth_controller.dart @@ -0,0 +1,242 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import '../../../data/providers/auth_provider.dart'; +import '../../../routes/app_routes.dart'; + +class AuthController extends GetxController { + final AuthProvider _authProvider = Get.find(); + + final emailController = TextEditingController(); + final passwordController = TextEditingController(); + + // Form fields for registration + final RxString email = ''.obs; + final RxString password = ''.obs; + final RxString nik = ''.obs; + final RxString phoneNumber = ''.obs; + final RxString selectedRole = 'WARGA'.obs; // Default role + + // Form status + final RxBool isLoading = false.obs; + final RxBool isPasswordVisible = false.obs; + final RxString errorMessage = ''.obs; + + // Role options + final List roleOptions = ['WARGA', 'PETUGAS_MITRA']; + + void togglePasswordVisibility() { + isPasswordVisible.value = !isPasswordVisible.value; + } + + // Change role selection + void setRole(String? role) { + if (role != null) { + selectedRole.value = role; + } + } + + void login() async { + // Clear previous error messages + errorMessage.value = ''; + + // Basic validation + if (emailController.text.isEmpty || passwordController.text.isEmpty) { + errorMessage.value = 'Email dan password tidak boleh kosong'; + return; + } + + if (!GetUtils.isEmail(emailController.text.trim())) { + errorMessage.value = 'Format email tidak valid'; + return; + } + + try { + isLoading.value = true; + + // Use the actual Supabase authentication + final response = await _authProvider.signIn( + email: emailController.text.trim(), + password: passwordController.text, + ); + + // Check if login was successful + if (response.user != null) { + await _checkRoleAndNavigate(); + } else { + errorMessage.value = 'Login gagal. Periksa email dan password Anda.'; + } + } catch (e) { + errorMessage.value = 'Terjadi kesalahan: ${e.toString()}'; + } finally { + isLoading.value = false; + } + } + + Future _checkRoleAndNavigate() async { + try { + // Get the user's role ID from the auth provider + final roleId = await _authProvider.getUserRoleId(); + + if (roleId == null) { + errorMessage.value = 'Tidak dapat memperoleh peran pengguna'; + return; + } + + // Get role name based on role ID + final roleName = await _authProvider.getRoleName(roleId); + + // Navigate based on role name + if (roleName == null) { + _navigateToWargaDashboard(); // Default to warga if role name not found + return; + } + + switch (roleName.toUpperCase()) { + case 'PETUGAS_BUMDES': + _navigateToPetugasBumdesDashboard(); + break; + case 'WARGA': + default: + _navigateToWargaDashboard(); + break; + } + } catch (e) { + errorMessage.value = 'Gagal navigasi: ${e.toString()}'; + } + } + + void _navigateToPetugasBumdesDashboard() { + Get.offAllNamed(Routes.PETUGAS_BUMDES_DASHBOARD); + } + + void _navigateToWargaDashboard() { + Get.offAllNamed(Routes.WARGA_DASHBOARD); + } + + void forgotPassword() async { + // Clear previous error messages + errorMessage.value = ''; + + // Basic validation + if (emailController.text.isEmpty) { + errorMessage.value = 'Email tidak boleh kosong'; + return; + } + + if (!GetUtils.isEmail(emailController.text.trim())) { + errorMessage.value = 'Format email tidak valid'; + return; + } + + try { + isLoading.value = true; + + // Call Supabase to send password reset email + await _authProvider.client.auth.resetPasswordForEmail( + emailController.text.trim(), + ); + + // Show success message + Get.snackbar( + 'Berhasil', + 'Link reset password telah dikirim ke email Anda', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.green[100], + colorText: Colors.green[800], + icon: const Icon(Icons.check_circle, color: Colors.green), + ); + + // Return to login page after a short delay + await Future.delayed(const Duration(seconds: 2)); + Get.back(); + } catch (e) { + errorMessage.value = 'Terjadi kesalahan: ${e.toString()}'; + } finally { + isLoading.value = false; + } + } + + void goToSignUp() { + // Clear error message when navigating away + errorMessage.value = ''; + Get.toNamed(Routes.REGISTER); + } + + void goToForgotPassword() { + // Clear error message when navigating away + errorMessage.value = ''; + Get.toNamed(Routes.FORGOT_PASSWORD); + } + + @override + void onClose() { + emailController.dispose(); + passwordController.dispose(); + super.onClose(); + } + + // Register user implementation + Future registerUser() async { + // Validate all required fields + if (email.value.isEmpty || + password.value.isEmpty || + nik.value.isEmpty || + phoneNumber.value.isEmpty) { + errorMessage.value = 'Semua field harus diisi'; + return; + } + + // Basic validation for email + if (!GetUtils.isEmail(email.value.trim())) { + errorMessage.value = 'Format email tidak valid'; + return; + } + + // Basic validation for password + if (password.value.length < 6) { + errorMessage.value = 'Password minimal 6 karakter'; + return; + } + + // Basic validation for NIK + if (nik.value.length != 16) { + errorMessage.value = 'NIK harus 16 digit'; + return; + } + + // Basic validation for phone number + if (!phoneNumber.value.startsWith('08') || phoneNumber.value.length < 10) { + errorMessage.value = + 'Nomor HP tidak valid (harus diawali 08 dan minimal 10 digit)'; + return; + } + + try { + isLoading.value = true; + errorMessage.value = ''; + + // Create user with Supabase + final response = await _authProvider.signUp( + email: email.value.trim(), + password: password.value, + data: { + 'nik': nik.value.trim(), + 'phone_number': phoneNumber.value.trim(), + 'role': selectedRole.value, + }, + ); + + if (response.user != null) { + // Registration successful + Get.offNamed(Routes.REGISTRATION_SUCCESS); + } else { + errorMessage.value = 'Gagal mendaftar. Silakan coba lagi.'; + } + } catch (e) { + errorMessage.value = 'Terjadi kesalahan: ${e.toString()}'; + print('Registration error: ${e.toString()}'); + } finally { + isLoading.value = false; + } + } +} diff --git a/lib/app/modules/auth/views/forgot_password_view.dart b/lib/app/modules/auth/views/forgot_password_view.dart new file mode 100644 index 0000000..cc535a5 --- /dev/null +++ b/lib/app/modules/auth/views/forgot_password_view.dart @@ -0,0 +1,376 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import '../controllers/auth_controller.dart'; +import '../../../theme/app_colors.dart'; + +class ForgotPasswordView extends GetView { + const ForgotPasswordView({Key? key}) : super(key: key); + + @override + Widget build(BuildContext context) { + return Scaffold( + body: Stack( + children: [ + // Background gradient + Container( + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [AppColors.primarySoft, AppColors.background], + ), + ), + ), + + // Background pattern + Opacity( + opacity: 0.03, + child: Container( + decoration: const BoxDecoration( + image: DecorationImage( + image: AssetImage('assets/images/pattern.png'), + repeat: ImageRepeat.repeat, + scale: 4.0, + ), + ), + ), + ), + + // Accent circle + Positioned( + top: -100, + right: -80, + child: Container( + width: 220, + height: 220, + decoration: BoxDecoration( + shape: BoxShape.circle, + gradient: RadialGradient( + colors: [ + AppColors.primary.withOpacity(0.2), + Colors.transparent, + ], + ), + ), + ), + ), + + // Main content + SafeArea( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Back button + Padding( + padding: const EdgeInsets.all(16.0), + child: IconButton( + icon: const Icon(Icons.arrow_back_ios_new_rounded), + color: AppColors.primary, + onPressed: () => Get.back(), + ), + ), + + // Scrollable content + Expanded( + child: SingleChildScrollView( + physics: const BouncingScrollPhysics(), + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 24.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + const SizedBox(height: 16), + _buildHeader(), + const SizedBox(height: 40), + _buildEmailField(), + const SizedBox(height: 32), + _buildResetButton(), + const SizedBox(height: 40), + _buildImportantInfo(), + const SizedBox(height: 24), + _buildBackToLoginLink(), + const SizedBox(height: 24), + ], + ), + ), + ), + ), + ], + ), + ), + ], + ), + ); + } + + Widget _buildHeader() { + return Column( + children: [ + // Floating lock icon with animation effect + Container( + width: 110, + height: 110, + decoration: BoxDecoration( + color: AppColors.surface, + shape: BoxShape.circle, + boxShadow: [ + BoxShadow( + color: AppColors.primary.withOpacity(0.2), + blurRadius: 20, + spreadRadius: 5, + offset: const Offset(0, 10), + ), + ], + ), + child: Center( + child: Icon( + Icons.lock_open_rounded, + size: 50, + color: AppColors.primary, + ), + ), + ), + const SizedBox(height: 32), + Text( + 'Lupa Password?', + style: TextStyle( + fontSize: 28, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + letterSpacing: 0.5, + ), + textAlign: TextAlign.center, + ), + const SizedBox(height: 16), + Text( + 'Masukkan email Anda di bawah ini dan kami akan mengirimkan link untuk reset password.', + style: TextStyle( + fontSize: 15, + color: AppColors.textSecondary, + height: 1.5, + ), + textAlign: TextAlign.center, + ), + ], + ); + } + + Widget _buildEmailField() { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(left: 4.0, bottom: 8.0), + child: Text( + 'Email', + style: TextStyle( + fontWeight: FontWeight.w600, + color: AppColors.textPrimary, + fontSize: 15, + ), + ), + ), + Container( + decoration: BoxDecoration( + color: AppColors.surface, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: AppColors.shadow, + blurRadius: 8, + offset: const Offset(0, 4), + ), + ], + ), + child: TextField( + controller: controller.emailController, + keyboardType: TextInputType.emailAddress, + style: TextStyle(fontSize: 16, color: AppColors.textPrimary), + decoration: InputDecoration( + hintText: 'Masukkan email Anda', + hintStyle: TextStyle(color: AppColors.textLight), + prefixIcon: Icon( + Icons.email_outlined, + color: AppColors.iconGrey, + size: 22, + ), + filled: true, + fillColor: AppColors.surface, + contentPadding: const EdgeInsets.symmetric( + vertical: 16, + horizontal: 16, + ), + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(16), + borderSide: BorderSide.none, + ), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(16), + borderSide: BorderSide.none, + ), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(16), + borderSide: BorderSide(color: AppColors.primary, width: 1.5), + ), + ), + ), + ), + + // Error message + Obx( + () => + controller.errorMessage.value.isNotEmpty + ? Container( + margin: const EdgeInsets.only(top: 16), + padding: const EdgeInsets.all(12), + decoration: BoxDecoration( + color: AppColors.errorLight, + borderRadius: BorderRadius.circular(12), + ), + child: Row( + children: [ + Icon( + Icons.error_outline, + color: AppColors.error, + size: 20, + ), + const SizedBox(width: 8), + Expanded( + child: Text( + controller.errorMessage.value, + style: TextStyle( + color: AppColors.error, + fontSize: 13, + ), + ), + ), + ], + ), + ) + : const SizedBox.shrink(), + ), + ], + ); + } + + Widget _buildResetButton() { + return Obx( + () => SizedBox( + height: 56, + child: ElevatedButton( + onPressed: + controller.isLoading.value ? null : controller.forgotPassword, + style: ElevatedButton.styleFrom( + backgroundColor: AppColors.primary, + foregroundColor: Colors.white, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16), + ), + elevation: 2, + shadowColor: AppColors.primary.withOpacity(0.4), + disabledBackgroundColor: AppColors.primary.withOpacity(0.6), + ), + child: + controller.isLoading.value + ? const SizedBox( + height: 24, + width: 24, + child: CircularProgressIndicator( + color: Colors.white, + strokeWidth: 2, + ), + ) + : Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + 'Kirim Link Reset', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + letterSpacing: 0.5, + ), + ), + const SizedBox(width: 8), + const Icon(Icons.send_rounded, size: 18), + ], + ), + ), + ), + ); + } + + Widget _buildImportantInfo() { + return Container( + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + color: Colors.green.shade50, + borderRadius: BorderRadius.circular(12), + border: Border.all(color: Colors.green.shade100), + ), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Container( + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: Colors.green.shade100, + shape: BoxShape.circle, + ), + child: Icon( + Icons.info_outline, + size: 20, + color: Colors.green.shade700, + ), + ), + const SizedBox(width: 12), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Informasi Penting', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.bold, + color: Colors.green.shade800, + ), + ), + const SizedBox(height: 4), + Text( + 'Petunjuk reset password akan dikirim ke email Anda. Silakan periksa kotak masuk atau folder spam setelah permintaan reset password.', + style: TextStyle( + fontSize: 13, + color: Colors.green.shade900, + height: 1.4, + ), + ), + ], + ), + ), + ], + ), + ); + } + + Widget _buildBackToLoginLink() { + return Center( + child: TextButton.icon( + onPressed: () => Get.back(), + icon: Icon( + Icons.arrow_back_rounded, + size: 16, + color: AppColors.primary, + ), + label: Text( + 'Kembali ke Login', + style: TextStyle( + color: AppColors.primary, + fontWeight: FontWeight.w600, + fontSize: 14, + ), + ), + ), + ); + } +} diff --git a/lib/app/modules/auth/views/login_view.dart b/lib/app/modules/auth/views/login_view.dart new file mode 100644 index 0000000..84f06d3 --- /dev/null +++ b/lib/app/modules/auth/views/login_view.dart @@ -0,0 +1,368 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import '../controllers/auth_controller.dart'; +import '../../../theme/app_colors.dart'; + +class LoginView extends GetView { + const LoginView({Key? key}) : super(key: key); + + @override + Widget build(BuildContext context) { + return Scaffold( + body: Stack( + children: [ + // Background gradient + Container( + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topRight, + end: Alignment.bottomLeft, + colors: [ + AppColors.primaryLight.withOpacity(0.1), + AppColors.background, + AppColors.accentLight.withOpacity(0.1), + ], + ), + ), + ), + + // Pattern overlay + Opacity( + opacity: 0.03, + child: Container( + decoration: const BoxDecoration( + image: DecorationImage( + image: AssetImage('assets/images/pattern.png'), + repeat: ImageRepeat.repeat, + scale: 4.0, + ), + ), + ), + ), + + // Accent circles + Positioned( + top: -40, + right: -20, + child: Container( + width: 150, + height: 150, + decoration: BoxDecoration( + shape: BoxShape.circle, + gradient: RadialGradient( + colors: [ + AppColors.primary.withOpacity(0.2), + Colors.transparent, + ], + ), + ), + ), + ), + Positioned( + bottom: -50, + left: -30, + child: Container( + width: 180, + height: 180, + decoration: BoxDecoration( + shape: BoxShape.circle, + gradient: RadialGradient( + colors: [ + AppColors.accent.withOpacity(0.2), + Colors.transparent, + ], + ), + ), + ), + ), + + // Main content + SafeArea( + child: SingleChildScrollView( + physics: const BouncingScrollPhysics(), + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 24.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + const SizedBox(height: 50), + _buildHeader(), + const SizedBox(height: 40), + _buildLoginCard(), + const SizedBox(height: 24), + _buildRegisterLink(), + const SizedBox(height: 30), + ], + ), + ), + ), + ), + ], + ), + ); + } + + Widget _buildHeader() { + return Center( + child: Hero( + tag: 'logo', + child: Image.asset( + 'assets/images/logo.png', + width: 220, + height: 220, + errorBuilder: (context, error, stackTrace) { + return Icon( + Icons.apartment_rounded, + size: 180, + color: AppColors.primary, + ); + }, + ), + ), + ); + } + + Widget _buildLoginCard() { + return Card( + elevation: 4, + shadowColor: AppColors.shadow, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(24)), + child: Padding( + padding: const EdgeInsets.all(28.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Welcome text + Text( + 'Selamat Datang', + style: TextStyle( + fontSize: 24, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + const SizedBox(height: 8), + Text( + 'Masuk untuk melanjutkan ke akun Anda', + style: TextStyle( + fontSize: 14, + color: AppColors.textSecondary, + fontWeight: FontWeight.w400, + ), + ), + const SizedBox(height: 32), + + // Email field + _buildInputLabel('Email'), + const SizedBox(height: 8), + _buildTextField( + controller: controller.emailController, + hintText: 'Masukkan email Anda', + prefixIcon: Icons.email_outlined, + keyboardType: TextInputType.emailAddress, + ), + const SizedBox(height: 24), + + // Password field + _buildInputLabel('Password'), + const SizedBox(height: 8), + Obx( + () => _buildTextField( + controller: controller.passwordController, + hintText: 'Masukkan password Anda', + prefixIcon: Icons.lock_outline, + obscureText: !controller.isPasswordVisible.value, + suffixIcon: IconButton( + icon: Icon( + controller.isPasswordVisible.value + ? Icons.visibility + : Icons.visibility_off, + color: AppColors.iconGrey, + ), + onPressed: controller.togglePasswordVisibility, + ), + ), + ), + + // Forgot password + Align( + alignment: Alignment.centerRight, + child: TextButton( + onPressed: () => controller.goToForgotPassword(), + style: TextButton.styleFrom( + padding: const EdgeInsets.symmetric( + horizontal: 0, + vertical: 8, + ), + ), + child: Text( + 'Lupa sandi?', + style: TextStyle( + color: AppColors.primary, + fontWeight: FontWeight.w500, + ), + ), + ), + ), + const SizedBox(height: 32), + + // Login button + Obx( + () => SizedBox( + width: double.infinity, + height: 56, + child: ElevatedButton( + onPressed: + controller.isLoading.value ? null : controller.login, + style: ElevatedButton.styleFrom( + backgroundColor: AppColors.primary, + foregroundColor: AppColors.buttonText, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16), + ), + elevation: controller.isLoading.value ? 0 : 2, + shadowColor: AppColors.primary.withOpacity(0.4), + ), + child: + controller.isLoading.value + ? const SizedBox( + height: 24, + width: 24, + child: CircularProgressIndicator( + color: Colors.white, + strokeWidth: 2, + ), + ) + : Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + 'Masuk', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + letterSpacing: 0.5, + ), + ), + const SizedBox(width: 8), + const Icon(Icons.arrow_forward, size: 18), + ], + ), + ), + ), + ), + + // Error message + Obx( + () => + controller.errorMessage.value.isNotEmpty + ? Container( + margin: const EdgeInsets.only(top: 16), + padding: const EdgeInsets.all(12), + decoration: BoxDecoration( + color: AppColors.errorLight, + borderRadius: BorderRadius.circular(12), + ), + child: Row( + children: [ + Icon( + Icons.error_outline, + color: AppColors.error, + size: 20, + ), + const SizedBox(width: 8), + Expanded( + child: Text( + controller.errorMessage.value, + style: TextStyle( + color: AppColors.error, + fontSize: 13, + ), + ), + ), + ], + ), + ) + : const SizedBox.shrink(), + ), + ], + ), + ), + ); + } + + Widget _buildInputLabel(String label) { + return Text( + label, + style: TextStyle( + fontWeight: FontWeight.w600, + color: AppColors.textPrimary, + fontSize: 15, + ), + ); + } + + Widget _buildTextField({ + required TextEditingController controller, + required String hintText, + required IconData prefixIcon, + TextInputType keyboardType = TextInputType.text, + bool obscureText = false, + Widget? suffixIcon, + }) { + return TextField( + controller: controller, + keyboardType: keyboardType, + obscureText: obscureText, + style: TextStyle(fontSize: 16, color: AppColors.textPrimary), + decoration: InputDecoration( + hintText: hintText, + hintStyle: TextStyle(color: AppColors.textLight), + prefixIcon: Icon(prefixIcon, color: AppColors.iconGrey, size: 22), + suffixIcon: suffixIcon, + filled: true, + fillColor: AppColors.inputBackground, + contentPadding: const EdgeInsets.symmetric(vertical: 16), + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(14), + borderSide: BorderSide.none, + ), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(14), + borderSide: BorderSide.none, + ), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(14), + borderSide: BorderSide(color: AppColors.primary, width: 1.5), + ), + ), + ); + } + + Widget _buildRegisterLink() { + return Center( + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + "Belum punya akun?", + style: TextStyle(color: AppColors.textSecondary), + ), + TextButton( + onPressed: controller.goToSignUp, + style: TextButton.styleFrom( + padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 8), + ), + child: Text( + 'Daftar', + style: TextStyle( + fontWeight: FontWeight.bold, + color: AppColors.primary, + ), + ), + ), + ], + ), + ); + } +} diff --git a/lib/app/modules/auth/views/registration_success_view.dart b/lib/app/modules/auth/views/registration_success_view.dart new file mode 100644 index 0000000..123a4a9 --- /dev/null +++ b/lib/app/modules/auth/views/registration_success_view.dart @@ -0,0 +1,266 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import '../../../theme/app_colors.dart'; + +class RegistrationSuccessView extends StatefulWidget { + const RegistrationSuccessView({Key? key}) : super(key: key); + + @override + State createState() => + _RegistrationSuccessViewState(); +} + +class _RegistrationSuccessViewState extends State + with SingleTickerProviderStateMixin { + late AnimationController _animationController; + late Animation _scaleAnimation; + late Animation _fadeAnimation; + + @override + void initState() { + super.initState(); + _animationController = AnimationController( + vsync: this, + duration: const Duration(milliseconds: 1000), + ); + + _scaleAnimation = Tween(begin: 0.0, end: 1.0).animate( + CurvedAnimation(parent: _animationController, curve: Curves.elasticOut), + ); + + _fadeAnimation = Tween(begin: 0.0, end: 1.0).animate( + CurvedAnimation( + parent: _animationController, + curve: const Interval(0.4, 1.0, curve: Curves.easeInOut), + ), + ); + + _animationController.forward(); + } + + @override + void dispose() { + _animationController.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: AppColors.background, + body: SafeArea( + child: Stack( + children: [ + // Background elements + Positioned( + top: -120, + left: -120, + child: Container( + width: 300, + height: 300, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: AppColors.successLight, + ), + ), + ), + Positioned( + right: -80, + bottom: 100, + child: Container( + width: 200, + height: 200, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: AppColors.primaryLight.withOpacity(0.2), + ), + ), + ), + + // Confetti particles + Positioned.fill(child: _buildConfettiParticles()), + + // Main content + Padding( + padding: const EdgeInsets.all(24.0), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + _buildSuccessAnimation(), + const SizedBox(height: 40), + _buildSuccessMessage(), + const SizedBox(height: 40), + _buildBackToLoginButton(), + ], + ), + ), + ], + ), + ), + ); + } + + Widget _buildConfettiParticles() { + return Stack( + children: List.generate(20, (index) { + final left = (index * 20) % MediaQuery.of(context).size.width; + final top = (index * 30) % MediaQuery.of(context).size.height; + final size = 8.0 + (index % 5) * 2; + + final colors = [ + AppColors.success, + AppColors.primary, + AppColors.accent, + AppColors.primaryLight, + ]; + + return Positioned( + left: left.toDouble(), + top: top.toDouble(), + child: AnimatedBuilder( + animation: _animationController, + builder: (context, child) { + final delay = index * 0.1; + final startTime = delay; + final endTime = startTime + 0.8; + + double opacity = 0.0; + if (_animationController.value >= startTime) { + opacity = + (_animationController.value - startTime) / + (endTime - startTime); + if (opacity > 1.0) opacity = 1.0; + } + + return Opacity( + opacity: opacity, + child: Container( + width: size, + height: size, + decoration: BoxDecoration( + color: colors[index % colors.length], + shape: + index % 2 == 0 ? BoxShape.circle : BoxShape.rectangle, + borderRadius: + index % 2 == 0 ? null : BorderRadius.circular(2), + ), + ), + ); + }, + ), + ); + }), + ); + } + + Widget _buildSuccessAnimation() { + return Center( + child: Column( + children: [ + AnimatedBuilder( + animation: _animationController, + builder: (context, child) { + return Transform.scale( + scale: _scaleAnimation.value, + child: Hero( + tag: 'success', + child: Container( + width: 120, + height: 120, + decoration: BoxDecoration( + color: AppColors.success, + shape: BoxShape.circle, + boxShadow: [ + BoxShadow( + color: AppColors.success.withOpacity(0.3), + blurRadius: 20, + spreadRadius: 5, + ), + ], + ), + child: const Icon( + Icons.check, + size: 70, + color: Colors.white, + ), + ), + ), + ); + }, + ), + ], + ), + ); + } + + Widget _buildSuccessMessage() { + return AnimatedBuilder( + animation: _animationController, + builder: (context, child) { + return Opacity( + opacity: _fadeAnimation.value, + child: Column( + children: [ + Text( + 'Pendaftaran Berhasil!', + style: TextStyle( + fontSize: 28, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + textAlign: TextAlign.center, + ), + const SizedBox(height: 16), + Container( + padding: const EdgeInsets.symmetric(horizontal: 20), + child: Text( + 'Akun Anda telah berhasil terdaftar. Silakan masuk dengan email dan password yang telah Anda daftarkan.', + style: TextStyle( + fontSize: 16, + color: AppColors.textSecondary, + height: 1.5, + ), + textAlign: TextAlign.center, + ), + ), + ], + ), + ); + }, + ); + } + + Widget _buildBackToLoginButton() { + return AnimatedBuilder( + animation: _animationController, + builder: (context, child) { + return Opacity( + opacity: _fadeAnimation.value, + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 40), + child: ElevatedButton( + onPressed: () { + // Navigate back to login page + Get.offAllNamed('/login'); + }, + style: ElevatedButton.styleFrom( + backgroundColor: AppColors.primary, + foregroundColor: AppColors.buttonText, + padding: const EdgeInsets.symmetric(vertical: 16), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(30), + ), + elevation: 0, + ), + child: const Text( + 'Masuk Sekarang', + style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + ), + ), + ), + ); + }, + ); + } +} diff --git a/lib/app/modules/auth/views/registration_view.dart b/lib/app/modules/auth/views/registration_view.dart new file mode 100644 index 0000000..458f2b1 --- /dev/null +++ b/lib/app/modules/auth/views/registration_view.dart @@ -0,0 +1,549 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import '../controllers/auth_controller.dart'; +import '../../../theme/app_colors.dart'; + +class RegistrationView extends GetView { + const RegistrationView({Key? key}) : super(key: key); + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: AppColors.background, + body: SafeArea( + child: Stack( + children: [ + // Background gradient + Positioned( + top: -100, + right: -100, + child: Container( + width: 300, + height: 300, + decoration: BoxDecoration( + shape: BoxShape.circle, + gradient: RadialGradient( + colors: [ + AppColors.primaryLight.withOpacity(0.2), + AppColors.background.withOpacity(0), + ], + stops: const [0.0, 1.0], + ), + ), + ), + ), + Positioned( + bottom: -80, + left: -80, + child: Container( + width: 200, + height: 200, + decoration: BoxDecoration( + shape: BoxShape.circle, + gradient: RadialGradient( + colors: [ + AppColors.accent.withOpacity(0.15), + AppColors.background.withOpacity(0), + ], + stops: const [0.0, 1.0], + ), + ), + ), + ), + // Content + SingleChildScrollView( + child: Padding( + padding: const EdgeInsets.all(24.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + _buildBackButton(), + const SizedBox(height: 20), + _buildHeader(), + const SizedBox(height: 24), + _buildRegistrationForm(), + const SizedBox(height: 32), + _buildRegisterButton(), + const SizedBox(height: 24), + _buildImportantInfo(), + const SizedBox(height: 24), + _buildLoginLink(), + ], + ), + ), + ), + ], + ), + ), + ); + } + + Widget _buildBackButton() { + return Align( + alignment: Alignment.topLeft, + child: InkWell( + onTap: () => Get.back(), + borderRadius: BorderRadius.circular(50), + child: Container( + padding: const EdgeInsets.all(10), + decoration: BoxDecoration( + color: AppColors.surface, + shape: BoxShape.circle, + boxShadow: [ + BoxShadow( + color: AppColors.shadow, + blurRadius: 8, + offset: const Offset(0, 2), + ), + ], + ), + child: const Icon( + Icons.arrow_back, + size: 20, + color: AppColors.primary, + ), + ), + ), + ); + } + + Widget _buildHeader() { + return Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Hero( + tag: 'logo', + child: Container( + width: 80, + height: 80, + decoration: BoxDecoration( + color: AppColors.primarySoft, + borderRadius: BorderRadius.circular(20), + boxShadow: [ + BoxShadow( + color: AppColors.primary.withOpacity(0.2), + blurRadius: 10, + offset: const Offset(0, 4), + ), + ], + ), + child: Icon( + Icons.apartment_rounded, + size: 40, + color: AppColors.primary, + ), + ), + ), + const SizedBox(height: 24), + Text( + 'Daftar Akun', + style: TextStyle( + fontSize: 28, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + const SizedBox(height: 10), + Text( + 'Lengkapi data berikut untuk mendaftar', + style: TextStyle(fontSize: 16, color: AppColors.textSecondary), + textAlign: TextAlign.center, + ), + ], + ); + } + + Widget _buildImportantInfo() { + return Container( + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + color: AppColors.warningLight, + borderRadius: BorderRadius.circular(16), + border: Border.all(color: AppColors.warning.withOpacity(0.3)), + ), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Container( + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: AppColors.warning.withOpacity(0.2), + shape: BoxShape.circle, + ), + child: Icon(Icons.info_outline, size: 20, color: AppColors.warning), + ), + const SizedBox(width: 12), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Informasi Penting', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.bold, + color: AppColors.warning, + ), + ), + const SizedBox(height: 4), + Text( + 'Pendaftaran hanya dapat dilakukan oleh warga dan mitra yang sudah terverivikasi. Silahkan hubungi petugas atau kunjungi kantor untuk informasi lebih lanjut.', + style: TextStyle( + fontSize: 13, + color: AppColors.textPrimary, + height: 1.4, + ), + ), + ], + ), + ), + ], + ), + ); + } + + Widget _buildRegistrationForm() { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Email Input + _buildInputLabel('Email'), + const SizedBox(height: 8), + _buildEmailField(), + const SizedBox(height: 20), + + // Password Input + _buildInputLabel('Password'), + const SizedBox(height: 8), + _buildPasswordField(), + const SizedBox(height: 20), + + // NIK Input + _buildInputLabel('NIK'), + const SizedBox(height: 8), + _buildNikField(), + const SizedBox(height: 20), + + // Phone Number Input + _buildInputLabel('No. Hp'), + const SizedBox(height: 8), + _buildPhoneField(), + const SizedBox(height: 20), + + // Role Selection Dropdown + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text( + 'Daftar Sebagai', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w500, + color: Colors.black87, + ), + ), + const SizedBox(height: 8), + Container( + decoration: BoxDecoration( + color: Colors.grey[100], + borderRadius: BorderRadius.circular(12), + border: Border.all(color: Colors.grey[300]!, width: 1), + ), + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: Obx( + () => DropdownButtonHideUnderline( + child: DropdownButton( + isExpanded: true, + value: controller.selectedRole.value, + hint: const Text('Pilih Peran'), + items: [ + DropdownMenuItem( + value: 'WARGA', + child: const Text('Warga'), + ), + DropdownMenuItem( + value: 'PETUGAS_MITRA', + child: const Text('Mitra'), + ), + ], + onChanged: (value) { + controller.setRole(value); + }, + icon: const Icon(Icons.arrow_drop_down), + style: const TextStyle( + color: Colors.black87, + fontSize: 14, + ), + ), + ), + ), + ), + ), + ], + ), + const SizedBox(height: 20), + + // Error message + Obx( + () => + controller.errorMessage.value.isNotEmpty + ? Container( + margin: const EdgeInsets.only(top: 8), + padding: const EdgeInsets.all(12), + decoration: BoxDecoration( + color: AppColors.errorLight, + borderRadius: BorderRadius.circular(12), + ), + child: Row( + children: [ + Icon( + Icons.error_outline, + color: AppColors.error, + size: 20, + ), + const SizedBox(width: 8), + Expanded( + child: Text( + controller.errorMessage.value, + style: TextStyle( + color: AppColors.error, + fontSize: 13, + ), + ), + ), + ], + ), + ) + : const SizedBox.shrink(), + ), + ], + ); + } + + Widget _buildInputLabel(String label) { + return Text( + label, + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + color: AppColors.textPrimary, + ), + ); + } + + Widget _buildEmailField() { + return Container( + decoration: BoxDecoration( + color: AppColors.surface, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: AppColors.shadow, + blurRadius: 8, + offset: const Offset(0, 2), + ), + ], + ), + child: TextField( + onChanged: (value) => controller.email.value = value, + keyboardType: TextInputType.emailAddress, + style: TextStyle(fontSize: 16, color: AppColors.textPrimary), + decoration: InputDecoration( + hintText: 'Masukkan email anda', + hintStyle: TextStyle(color: AppColors.textLight), + prefixIcon: Icon(Icons.email_outlined, color: AppColors.primary), + border: InputBorder.none, + contentPadding: const EdgeInsets.symmetric(vertical: 16), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(16), + borderSide: BorderSide.none, + ), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(16), + borderSide: BorderSide(color: AppColors.primary, width: 1.5), + ), + ), + ), + ); + } + + Widget _buildPasswordField() { + return Obx( + () => Container( + decoration: BoxDecoration( + color: AppColors.surface, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: AppColors.shadow, + blurRadius: 8, + offset: const Offset(0, 2), + ), + ], + ), + child: TextField( + onChanged: (value) => controller.password.value = value, + obscureText: !controller.isPasswordVisible.value, + style: TextStyle(fontSize: 16, color: AppColors.textPrimary), + decoration: InputDecoration( + hintText: 'Masukkan password anda', + hintStyle: TextStyle(color: AppColors.textLight), + prefixIcon: Icon(Icons.lock_outlined, color: AppColors.primary), + suffixIcon: IconButton( + icon: Icon( + controller.isPasswordVisible.value + ? Icons.visibility + : Icons.visibility_off, + color: AppColors.iconGrey, + ), + onPressed: controller.togglePasswordVisibility, + ), + border: InputBorder.none, + contentPadding: const EdgeInsets.symmetric(vertical: 16), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(16), + borderSide: BorderSide.none, + ), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(16), + borderSide: BorderSide(color: AppColors.primary, width: 1.5), + ), + ), + ), + ), + ); + } + + Widget _buildNikField() { + return Container( + decoration: BoxDecoration( + color: AppColors.surface, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: AppColors.shadow, + blurRadius: 8, + offset: const Offset(0, 2), + ), + ], + ), + child: TextField( + onChanged: (value) => controller.nik.value = value, + keyboardType: TextInputType.number, + style: TextStyle(fontSize: 16, color: AppColors.textPrimary), + decoration: InputDecoration( + hintText: 'Masukkan NIK anda', + hintStyle: TextStyle(color: AppColors.textLight), + prefixIcon: Icon( + Icons.credit_card_outlined, + color: AppColors.primary, + ), + border: InputBorder.none, + contentPadding: const EdgeInsets.symmetric(vertical: 16), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(16), + borderSide: BorderSide.none, + ), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(16), + borderSide: BorderSide(color: AppColors.primary, width: 1.5), + ), + ), + ), + ); + } + + Widget _buildPhoneField() { + return Container( + decoration: BoxDecoration( + color: AppColors.surface, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: AppColors.shadow, + blurRadius: 8, + offset: const Offset(0, 2), + ), + ], + ), + child: TextField( + onChanged: (value) => controller.phoneNumber.value = value, + keyboardType: TextInputType.phone, + style: TextStyle(fontSize: 16, color: AppColors.textPrimary), + decoration: InputDecoration( + hintText: 'Masukkan nomor HP anda', + hintStyle: TextStyle(color: AppColors.textLight), + prefixIcon: Icon(Icons.phone_outlined, color: AppColors.primary), + border: InputBorder.none, + contentPadding: const EdgeInsets.symmetric(vertical: 16), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(16), + borderSide: BorderSide.none, + ), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(16), + borderSide: BorderSide(color: AppColors.primary, width: 1.5), + ), + ), + ), + ); + } + + Widget _buildRegisterButton() { + return Obx( + () => ElevatedButton( + onPressed: controller.isLoading.value ? null : controller.registerUser, + style: ElevatedButton.styleFrom( + backgroundColor: AppColors.primary, + foregroundColor: AppColors.buttonText, + padding: const EdgeInsets.symmetric(vertical: 16), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16), + ), + elevation: 0, + disabledBackgroundColor: AppColors.primary.withOpacity(0.6), + ), + child: + controller.isLoading.value + ? const SizedBox( + height: 24, + width: 24, + child: CircularProgressIndicator( + color: Colors.white, + strokeWidth: 2, + ), + ) + : const Text( + 'Daftar', + style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + ), + ), + ); + } + + Widget _buildLoginLink() { + return Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + 'Sudah punya akun? ', + style: TextStyle(color: AppColors.textSecondary, fontSize: 14), + ), + GestureDetector( + onTap: () { + Get.back(); // Back to login page + }, + child: Text( + 'Masuk', + style: TextStyle( + color: AppColors.primary, + fontWeight: FontWeight.bold, + fontSize: 14, + ), + ), + ), + ], + ); + } +} diff --git a/lib/app/modules/petugas_bumdes/bindings/list_pelanggan_aktif_binding.dart b/lib/app/modules/petugas_bumdes/bindings/list_pelanggan_aktif_binding.dart new file mode 100644 index 0000000..a810101 --- /dev/null +++ b/lib/app/modules/petugas_bumdes/bindings/list_pelanggan_aktif_binding.dart @@ -0,0 +1,11 @@ +import 'package:get/get.dart'; +import '../controllers/list_pelanggan_aktif_controller.dart'; + +class ListPelangganAktifBinding extends Bindings { + @override + void dependencies() { + Get.lazyPut( + () => ListPelangganAktifController(), + ); + } +} diff --git a/lib/app/modules/petugas_bumdes/bindings/list_petugas_mitra_binding.dart b/lib/app/modules/petugas_bumdes/bindings/list_petugas_mitra_binding.dart new file mode 100644 index 0000000..d5eb221 --- /dev/null +++ b/lib/app/modules/petugas_bumdes/bindings/list_petugas_mitra_binding.dart @@ -0,0 +1,9 @@ +import 'package:get/get.dart'; +import '../controllers/list_petugas_mitra_controller.dart'; + +class ListPetugasMitraBinding extends Bindings { + @override + void dependencies() { + Get.lazyPut(() => ListPetugasMitraController()); + } +} diff --git a/lib/app/modules/petugas_bumdes/bindings/list_tagihan_periode_binding.dart b/lib/app/modules/petugas_bumdes/bindings/list_tagihan_periode_binding.dart new file mode 100644 index 0000000..31ad0da --- /dev/null +++ b/lib/app/modules/petugas_bumdes/bindings/list_tagihan_periode_binding.dart @@ -0,0 +1,11 @@ +import 'package:get/get.dart'; +import '../controllers/list_tagihan_periode_controller.dart'; + +class ListTagihanPeriodeBinding extends Bindings { + @override + void dependencies() { + Get.lazyPut( + () => ListTagihanPeriodeController(), + ); + } +} diff --git a/lib/app/modules/petugas_bumdes/bindings/petugas_aset_binding.dart b/lib/app/modules/petugas_bumdes/bindings/petugas_aset_binding.dart new file mode 100644 index 0000000..62f48f9 --- /dev/null +++ b/lib/app/modules/petugas_bumdes/bindings/petugas_aset_binding.dart @@ -0,0 +1,15 @@ +import 'package:get/get.dart'; +import '../controllers/petugas_aset_controller.dart'; +import '../controllers/petugas_bumdes_dashboard_controller.dart'; + +class PetugasAsetBinding extends Bindings { + @override + void dependencies() { + // Ensure dashboard controller is registered + if (!Get.isRegistered()) { + Get.put(PetugasBumdesDashboardController(), permanent: true); + } + + Get.lazyPut(() => PetugasAsetController()); + } +} diff --git a/lib/app/modules/petugas_bumdes/bindings/petugas_bumdes_cbp_binding.dart b/lib/app/modules/petugas_bumdes/bindings/petugas_bumdes_cbp_binding.dart new file mode 100644 index 0000000..e128590 --- /dev/null +++ b/lib/app/modules/petugas_bumdes/bindings/petugas_bumdes_cbp_binding.dart @@ -0,0 +1,9 @@ +import 'package:get/get.dart'; +import '../controllers/petugas_bumdes_cbp_controller.dart'; + +class PetugasBumdesCbpBinding extends Bindings { + @override + void dependencies() { + Get.lazyPut(() => PetugasBumdesCbpController()); + } +} diff --git a/lib/app/modules/petugas_bumdes/bindings/petugas_detail_sewa_binding.dart b/lib/app/modules/petugas_bumdes/bindings/petugas_detail_sewa_binding.dart new file mode 100644 index 0000000..1b6f5af --- /dev/null +++ b/lib/app/modules/petugas_bumdes/bindings/petugas_detail_sewa_binding.dart @@ -0,0 +1,13 @@ +import 'package:get/get.dart'; +import '../controllers/petugas_sewa_controller.dart'; + +class PetugasDetailSewaBinding extends Bindings { + @override + void dependencies() { + // Memastikan controller sudah tersedia + Get.lazyPut( + () => PetugasSewaController(), + fenix: true, + ); + } +} diff --git a/lib/app/modules/petugas_bumdes/bindings/petugas_manajemen_bumdes_binding.dart b/lib/app/modules/petugas_bumdes/bindings/petugas_manajemen_bumdes_binding.dart new file mode 100644 index 0000000..4f25a24 --- /dev/null +++ b/lib/app/modules/petugas_bumdes/bindings/petugas_manajemen_bumdes_binding.dart @@ -0,0 +1,27 @@ +import 'package:get/get.dart'; +import '../controllers/petugas_manajemen_bumdes_controller.dart'; +import '../controllers/petugas_bumdes_dashboard_controller.dart'; +import '../../../data/providers/auth_provider.dart'; + +class PetugasManajemenBumdesBinding extends Bindings { + @override + void dependencies() { + // Make sure AuthProvider is registered + if (!Get.isRegistered()) { + Get.put(AuthProvider()); + } + + // Register the dashboard controller if not already registered + if (!Get.isRegistered()) { + Get.put( + PetugasBumdesDashboardController(), + permanent: true, + ); + } + + // Register the manajemen bumdes controller + Get.lazyPut( + () => PetugasManajemenBumdesController(), + ); + } +} diff --git a/lib/app/modules/petugas_bumdes/bindings/petugas_paket_binding.dart b/lib/app/modules/petugas_bumdes/bindings/petugas_paket_binding.dart new file mode 100644 index 0000000..90d94e3 --- /dev/null +++ b/lib/app/modules/petugas_bumdes/bindings/petugas_paket_binding.dart @@ -0,0 +1,15 @@ +import 'package:get/get.dart'; +import '../controllers/petugas_paket_controller.dart'; +import '../controllers/petugas_bumdes_dashboard_controller.dart'; + +class PetugasPaketBinding extends Bindings { + @override + void dependencies() { + // Ensure dashboard controller is registered + if (!Get.isRegistered()) { + Get.put(PetugasBumdesDashboardController(), permanent: true); + } + + Get.lazyPut(() => PetugasPaketController()); + } +} diff --git a/lib/app/modules/petugas_bumdes/bindings/petugas_sewa_binding.dart b/lib/app/modules/petugas_bumdes/bindings/petugas_sewa_binding.dart new file mode 100644 index 0000000..eff7112 --- /dev/null +++ b/lib/app/modules/petugas_bumdes/bindings/petugas_sewa_binding.dart @@ -0,0 +1,9 @@ +import 'package:get/get.dart'; +import '../controllers/petugas_sewa_controller.dart'; + +class PetugasSewaBinding extends Bindings { + @override + void dependencies() { + Get.lazyPut(() => PetugasSewaController()); + } +} diff --git a/lib/app/modules/petugas_bumdes/bindings/petugas_tambah_aset_binding.dart b/lib/app/modules/petugas_bumdes/bindings/petugas_tambah_aset_binding.dart new file mode 100644 index 0000000..c65f913 --- /dev/null +++ b/lib/app/modules/petugas_bumdes/bindings/petugas_tambah_aset_binding.dart @@ -0,0 +1,11 @@ +import 'package:get/get.dart'; +import '../controllers/petugas_tambah_aset_controller.dart'; + +class PetugasTambahAsetBinding extends Bindings { + @override + void dependencies() { + Get.lazyPut( + () => PetugasTambahAsetController(), + ); + } +} diff --git a/lib/app/modules/petugas_bumdes/bindings/petugas_tambah_paket_binding.dart b/lib/app/modules/petugas_bumdes/bindings/petugas_tambah_paket_binding.dart new file mode 100644 index 0000000..2115624 --- /dev/null +++ b/lib/app/modules/petugas_bumdes/bindings/petugas_tambah_paket_binding.dart @@ -0,0 +1,11 @@ +import 'package:get/get.dart'; +import '../controllers/petugas_tambah_paket_controller.dart'; + +class PetugasTambahPaketBinding extends Bindings { + @override + void dependencies() { + Get.lazyPut( + () => PetugasTambahPaketController(), + ); + } +} diff --git a/lib/app/modules/petugas_bumdes/controllers/list_pelanggan_aktif_controller.dart b/lib/app/modules/petugas_bumdes/controllers/list_pelanggan_aktif_controller.dart new file mode 100644 index 0000000..b79bd63 --- /dev/null +++ b/lib/app/modules/petugas_bumdes/controllers/list_pelanggan_aktif_controller.dart @@ -0,0 +1,94 @@ +import 'package:get/get.dart'; + +class ListPelangganAktifController extends GetxController { + // Reactive variables + final isLoading = true.obs; + final pelangganList = >[].obs; + final searchQuery = ''.obs; + final serviceName = ''.obs; + + @override + void onInit() { + super.onInit(); + + // Get the service name passed from previous page + if (Get.arguments != null && Get.arguments['serviceName'] != null) { + serviceName.value = Get.arguments['serviceName']; + } + + // Load the pelanggan data + loadPelangganData(); + } + + // Load sample pelanggan data (would be replaced with API call in production) + Future loadPelangganData() async { + isLoading.value = true; + + try { + // Simulate API call delay + await Future.delayed(const Duration(milliseconds: 800)); + + // For now, we only have Malih as an active subscriber + final sampleData = [ + { + 'id': '1', + 'nama': 'Malih', + 'alamat': 'Jl. Desa Sejahtera No. 15, RT 03/RW 02', + 'status': 'Aktif', + 'tanggal_mulai': '01/05/2023', + 'tanggal_berakhir': '01/05/2024', + 'pembayaran_terakhir': '01/04/2024', + 'tagihan': 'Rp 20.000', + 'telepon': '081234567890', + 'email': 'malih@example.com', + 'catatan': 'Pelanggan setia sejak 2023', + }, + ]; + + pelangganList.assignAll(sampleData); + } catch (e) { + print('Error loading pelanggan data: $e'); + } finally { + isLoading.value = false; + } + } + + // Filter the list based on search query + List> get filteredPelangganList { + if (searchQuery.value.isEmpty) { + return pelangganList; + } + + final query = searchQuery.value.toLowerCase(); + return pelangganList.where((pelanggan) { + final nama = pelanggan['nama'].toString().toLowerCase(); + final alamat = pelanggan['alamat'].toString().toLowerCase(); + final status = pelanggan['status'].toString().toLowerCase(); + + return nama.contains(query) || + alamat.contains(query) || + status.contains(query); + }).toList(); + } + + // Update search query + void updateSearchQuery(String query) { + searchQuery.value = query; + } + + // Get status color based on status value + getStatusColor(String status) { + switch (status.toLowerCase()) { + case 'aktif': + return 0xFF4CAF50; // Green + case 'tertunda': + return 0xFFFFA000; // Amber + case 'berakhir': + return 0xFF9E9E9E; // Grey + case 'dibatalkan': + return 0xFFE53935; // Red + default: + return 0xFF2196F3; // Blue + } + } +} diff --git a/lib/app/modules/petugas_bumdes/controllers/list_petugas_mitra_controller.dart b/lib/app/modules/petugas_bumdes/controllers/list_petugas_mitra_controller.dart new file mode 100644 index 0000000..cfcca82 --- /dev/null +++ b/lib/app/modules/petugas_bumdes/controllers/list_petugas_mitra_controller.dart @@ -0,0 +1,93 @@ +import 'package:get/get.dart'; + +class ListPetugasMitraController extends GetxController { + // Observable list of partners/mitra + final partners = + >[ + { + 'id': '1', + 'name': 'Malih', + 'contact': '081234567890', + 'address': 'Jl. Desa No. 123, Kecamatan Bumdes, Kabupaten Desa', + 'is_active': true, + 'role': 'Petugas Lapangan', + 'join_date': '10 Januari 2023', + }, + ].obs; + + // Loading state + final isLoading = false.obs; + + // Search functionality + final searchQuery = ''.obs; + + // Filtered list based on search + List> get filteredPartners { + if (searchQuery.value.isEmpty) { + return partners; + } + return partners + .where( + (partner) => + partner['name'].toString().toLowerCase().contains( + searchQuery.value.toLowerCase(), + ) || + partner['contact'].toString().toLowerCase().contains( + searchQuery.value.toLowerCase(), + ) || + partner['role'].toString().toLowerCase().contains( + searchQuery.value.toLowerCase(), + ), + ) + .toList(); + } + + // Add a new partner + void addPartner(Map partner) { + partners.add(partner); + Get.back(); + Get.snackbar( + 'Sukses', + 'Petugas mitra berhasil ditambahkan', + snackPosition: SnackPosition.BOTTOM, + ); + } + + // Edit an existing partner + void editPartner(String id, Map updatedPartner) { + final index = partners.indexWhere((partner) => partner['id'] == id); + if (index != -1) { + partners[index] = updatedPartner; + Get.back(); + Get.snackbar( + 'Sukses', + 'Data petugas mitra berhasil diperbarui', + snackPosition: SnackPosition.BOTTOM, + ); + } + } + + // Delete a partner + void deletePartner(String id) { + partners.removeWhere((partner) => partner['id'] == id); + Get.snackbar( + 'Sukses', + 'Petugas mitra berhasil dihapus', + snackPosition: SnackPosition.BOTTOM, + ); + } + + // Toggle partner active status + void togglePartnerStatus(String id) { + final index = partners.indexWhere((partner) => partner['id'] == id); + if (index != -1) { + final currentStatus = partners[index]['is_active'] as bool; + partners[index]['is_active'] = !currentStatus; + Get.snackbar( + 'Status Diperbarui', + 'Status petugas mitra diubah menjadi ${!currentStatus ? 'Aktif' : 'Nonaktif'}', + snackPosition: SnackPosition.BOTTOM, + ); + } + } +} diff --git a/lib/app/modules/petugas_bumdes/controllers/list_tagihan_periode_controller.dart b/lib/app/modules/petugas_bumdes/controllers/list_tagihan_periode_controller.dart new file mode 100644 index 0000000..9fe9964 --- /dev/null +++ b/lib/app/modules/petugas_bumdes/controllers/list_tagihan_periode_controller.dart @@ -0,0 +1,106 @@ +import 'package:get/get.dart'; + +class ListTagihanPeriodeController extends GetxController { + // Reactive variables + final isLoading = true.obs; + final periodeList = >[].obs; + final searchQuery = ''.obs; + + // Customer data + final pelangganData = Rx>({}); + final serviceName = ''.obs; + + @override + void onInit() { + super.onInit(); + + // Get the customer data and service name passed from previous page + if (Get.arguments != null) { + if (Get.arguments['pelanggan'] != null) { + pelangganData.value = Map.from( + Get.arguments['pelanggan'], + ); + } + + if (Get.arguments['serviceName'] != null) { + serviceName.value = Get.arguments['serviceName']; + } + } + + // Load periode data + loadPeriodeData(); + } + + // Load sample periode data (would be replaced with API call in production) + Future loadPeriodeData() async { + isLoading.value = true; + + try { + // Simulate API call delay + await Future.delayed(const Duration(milliseconds: 800)); + + // Sample data for periods + final sampleData = [ + { + 'id': '1', + 'bulan': 'Maret', + 'tahun': '2025', + 'nominal': 'Rp 20.000', + 'status_pembayaran': 'Lunas', + 'tanggal_pembayaran': '05/03/2025', + 'metode_pembayaran': 'Transfer Bank', + 'keterangan': 'Pembayaran tepat waktu', + 'is_current': true, + }, + ]; + + periodeList.assignAll(sampleData); + } catch (e) { + print('Error loading periode data: $e'); + } finally { + isLoading.value = false; + } + } + + // Filter the list based on search query + List> get filteredPeriodeList { + if (searchQuery.value.isEmpty) { + return periodeList; + } + + final query = searchQuery.value.toLowerCase(); + return periodeList.where((periode) { + final bulan = periode['bulan'].toString().toLowerCase(); + final tahun = periode['tahun'].toString().toLowerCase(); + final status = periode['status_pembayaran'].toString().toLowerCase(); + + return bulan.contains(query) || + tahun.contains(query) || + status.contains(query); + }).toList(); + } + + // Update search query + void updateSearchQuery(String query) { + searchQuery.value = query; + } + + // Get status color based on payment status + getStatusColor(String status) { + switch (status.toLowerCase()) { + case 'lunas': + return 0xFF4CAF50; // Green + case 'belum lunas': + return 0xFFFFA000; // Amber + case 'terlambat': + return 0xFFE53935; // Red + default: + return 0xFF2196F3; // Blue + } + } + + // Get formatted month-year string + String getPeriodeString(Map periode) { + return '${periode['bulan']} ${periode['tahun']}'; + } +} diff --git a/lib/app/modules/petugas_bumdes/controllers/petugas_aset_controller.dart b/lib/app/modules/petugas_bumdes/controllers/petugas_aset_controller.dart new file mode 100644 index 0000000..2000970 --- /dev/null +++ b/lib/app/modules/petugas_bumdes/controllers/petugas_aset_controller.dart @@ -0,0 +1,217 @@ +import 'package:get/get.dart'; + +class PetugasAsetController extends GetxController { + // Observable lists for asset data + final asetList = >[].obs; + final filteredAsetList = >[].obs; + final isLoading = true.obs; + final searchQuery = ''.obs; + + // Tab selection (0 for Sewa, 1 for Langganan) + final selectedTabIndex = 0.obs; + + // Sort options + final sortBy = 'Nama (A-Z)'.obs; + final sortOptions = + [ + 'Nama (A-Z)', + 'Nama (Z-A)', + 'Harga (Rendah-Tinggi)', + 'Harga (Tinggi-Rendah)', + ].obs; + + @override + void onInit() { + super.onInit(); + // Load sample data when the controller is initialized + loadAsetData(); + } + + // Load sample asset data (would be replaced with API call in production) + Future loadAsetData() async { + isLoading.value = true; + + try { + // Simulate API call with a delay + await Future.delayed(const Duration(seconds: 1)); + + // Sample assets data + final sampleData = [ + { + 'id': '1', + 'nama': 'Meja Rapat', + 'kategori': 'Furniture', + 'jenis': 'Sewa', // Added jenis field + 'harga': 50000, + 'satuan': 'per hari', + 'stok': 10, + 'deskripsi': + 'Meja rapat kayu jati ukuran besar untuk acara pertemuan', + 'gambar': 'https://example.com/meja.jpg', + 'tersedia': true, + }, + { + 'id': '2', + 'nama': 'Kursi Taman', + 'kategori': 'Furniture', + 'jenis': 'Sewa', // Added jenis field + 'harga': 10000, + 'satuan': 'per hari', + 'stok': 50, + 'deskripsi': 'Kursi taman plastik yang nyaman untuk acara outdoor', + 'gambar': 'https://example.com/kursi.jpg', + 'tersedia': true, + }, + { + 'id': '3', + 'nama': 'Proyektor', + 'kategori': 'Elektronik', + 'jenis': 'Sewa', // Added jenis field + 'harga': 100000, + 'satuan': 'per hari', + 'stok': 5, + 'deskripsi': 'Proyektor HD dengan brightness tinggi', + 'gambar': 'https://example.com/proyektor.jpg', + 'tersedia': true, + }, + { + 'id': '4', + 'nama': 'Sound System', + 'kategori': 'Elektronik', + 'jenis': 'Langganan', // Added jenis field + 'harga': 200000, + 'satuan': 'per bulan', + 'stok': 3, + 'deskripsi': 'Sound system lengkap dengan speaker dan mixer', + 'gambar': 'https://example.com/sound.jpg', + 'tersedia': false, + }, + { + 'id': '5', + 'nama': 'Mobil Pick Up', + 'kategori': 'Kendaraan', + 'jenis': 'Langganan', // Added jenis field + 'harga': 250000, + 'satuan': 'per bulan', + 'stok': 2, + 'deskripsi': 'Mobil pick up untuk mengangkut barang', + 'gambar': 'https://example.com/pickup.jpg', + 'tersedia': true, + }, + { + 'id': '6', + 'nama': 'Internet Fiber', + 'kategori': 'Elektronik', + 'jenis': 'Langganan', // Added jenis field + 'harga': 350000, + 'satuan': 'per bulan', + 'stok': 15, + 'deskripsi': 'Paket internet fiber 100Mbps untuk kantor', + 'gambar': 'https://example.com/internet.jpg', + 'tersedia': true, + }, + ]; + + asetList.assignAll(sampleData); + applyFilters(); // Apply default filters + } catch (e) { + print('Error loading asset data: $e'); + } finally { + isLoading.value = false; + } + } + + // Apply filters and sorting to asset list + void applyFilters() { + // Start with all assets + var filtered = List>.from(asetList); + + // Filter by tab selection (Sewa or Langganan) + String jenisFilter = selectedTabIndex.value == 0 ? 'Sewa' : 'Langganan'; + filtered = filtered.where((aset) => aset['jenis'] == jenisFilter).toList(); + + // Apply search query + if (searchQuery.value.isNotEmpty) { + final query = searchQuery.value.toLowerCase(); + filtered = + filtered.where((aset) { + final nama = aset['nama'].toString().toLowerCase(); + final deskripsi = aset['deskripsi'].toString().toLowerCase(); + final kategori = aset['kategori'].toString().toLowerCase(); + + return nama.contains(query) || + deskripsi.contains(query) || + kategori.contains(query); + }).toList(); + } + + // Apply sorting + switch (sortBy.value) { + case 'Nama (A-Z)': + filtered.sort( + (a, b) => a['nama'].toString().compareTo(b['nama'].toString()), + ); + break; + case 'Nama (Z-A)': + filtered.sort( + (a, b) => b['nama'].toString().compareTo(a['nama'].toString()), + ); + break; + case 'Harga (Rendah-Tinggi)': + filtered.sort((a, b) => a['harga'].compareTo(b['harga'])); + break; + case 'Harga (Tinggi-Rendah)': + filtered.sort((a, b) => b['harga'].compareTo(a['harga'])); + break; + } + + // Update filtered list + filteredAsetList.assignAll(filtered); + } + + // Change tab (Sewa or Langganan) + void changeTab(int index) { + selectedTabIndex.value = index; + applyFilters(); + } + + // Set search query + void setSearchQuery(String query) { + searchQuery.value = query; + applyFilters(); + } + + // Set sort option + void setSortBy(String option) { + sortBy.value = option; + applyFilters(); + } + + // Format price to Indonesian Rupiah + String formatPrice(int price) { + return 'Rp${price.toString().replaceAllMapped(RegExp(r'(\d{1,3})(?=(\d{3})+(?!\d))'), (Match m) => '${m[1]}.')}'; + } + + // Add a new asset + void addAset(Map newAset) { + // In a real app, this would be an API call + // For demo, we'll just add to the list + asetList.add(newAset); + applyFilters(); + } + + // Update an existing asset + void updateAset(String id, Map updatedData) { + final index = asetList.indexWhere((aset) => aset['id'] == id); + if (index != -1) { + asetList[index] = updatedData; + applyFilters(); + } + } + + // Delete an asset + void deleteAset(String id) { + asetList.removeWhere((aset) => aset['id'] == id); + applyFilters(); + } +} diff --git a/lib/app/modules/petugas_bumdes/controllers/petugas_bumdes_cbp_controller.dart b/lib/app/modules/petugas_bumdes/controllers/petugas_bumdes_cbp_controller.dart new file mode 100644 index 0000000..0be092c --- /dev/null +++ b/lib/app/modules/petugas_bumdes/controllers/petugas_bumdes_cbp_controller.dart @@ -0,0 +1,217 @@ +import 'package:get/get.dart'; + +class PetugasBumdesCbpController extends GetxController { + // Observable variables + final isLoading = true.obs; + + // Bank account data + final bankAccounts = + >[ + { + 'id': '1', + 'bank_name': 'Bank BRI', + 'account_number': '1234-5678-9101', + 'account_holder': 'BUMDes CBP Sukamaju', + 'is_primary': true, + }, + { + 'id': '2', + 'bank_name': 'Bank BNI', + 'account_number': '9876-5432-1098', + 'account_holder': 'BUMDes CBP Sukamaju', + 'is_primary': false, + }, + ].obs; + + // Partners data + final partners = + >[ + { + 'id': '1', + 'name': 'UD Maju Jaya', + 'contact': '081234567890', + 'address': 'Jl. Raya Sukamaju No. 123', + 'is_active': true, + }, + { + 'id': '2', + 'name': 'CV Tani Mandiri', + 'contact': '087654321098', + 'address': 'Jl. Kelapa Dua No. 45', + 'is_active': true, + }, + { + 'id': '3', + 'name': 'PT Karya Sejahtera', + 'contact': '089876543210', + 'address': 'Jl. Industri Blok C No. 7', + 'is_active': false, + }, + ].obs; + + @override + void onInit() { + super.onInit(); + loadData(); + } + + Future loadData() async { + try { + isLoading.value = true; + // Simulate API delay + await Future.delayed(const Duration(seconds: 1)); + // Data is already loaded in the initialized lists + } catch (e) { + print('Error loading data: $e'); + Get.snackbar( + 'Error', + 'Gagal memuat data. Silakan coba lagi.', + snackPosition: SnackPosition.BOTTOM, + ); + } finally { + isLoading.value = false; + } + } + + // Bank Account Methods + void setPrimaryBankAccount(String id) { + final index = bankAccounts.indexWhere((account) => account['id'] == id); + if (index != -1) { + // First, set all accounts to non-primary + for (int i = 0; i < bankAccounts.length; i++) { + final account = Map.from(bankAccounts[i]); + account['is_primary'] = false; + bankAccounts[i] = account; + } + + // Then set the selected account as primary + final account = Map.from(bankAccounts[index]); + account['is_primary'] = true; + bankAccounts[index] = account; + + Get.snackbar( + 'Rekening Utama', + 'Rekening ${account['bank_name']} telah dijadikan rekening utama', + snackPosition: SnackPosition.BOTTOM, + ); + } + } + + void addBankAccount(Map account) { + // Generate a new ID (in a real app, this would be from the backend) + account['id'] = (bankAccounts.length + 1).toString(); + + // By default, new accounts are not primary + account['is_primary'] = false; + + bankAccounts.add(account); + Get.back(); + Get.snackbar( + 'Rekening Ditambahkan', + 'Rekening bank baru telah berhasil ditambahkan', + snackPosition: SnackPosition.BOTTOM, + ); + } + + void updateBankAccount(String id, Map updatedAccount) { + final index = bankAccounts.indexWhere((account) => account['id'] == id); + if (index != -1) { + // Preserve the ID and primary status + updatedAccount['id'] = id; + updatedAccount['is_primary'] = bankAccounts[index]['is_primary']; + + bankAccounts[index] = updatedAccount; + Get.back(); + Get.snackbar( + 'Rekening Diperbarui', + 'Informasi rekening bank telah berhasil diperbarui', + snackPosition: SnackPosition.BOTTOM, + ); + } + } + + void deleteBankAccount(String id) { + final index = bankAccounts.indexWhere((account) => account['id'] == id); + if (index != -1) { + // Check if trying to delete the primary account + if (bankAccounts[index]['is_primary'] == true) { + Get.snackbar( + 'Tidak Dapat Menghapus', + 'Rekening utama tidak dapat dihapus. Silakan atur rekening lain sebagai utama terlebih dahulu.', + snackPosition: SnackPosition.BOTTOM, + ); + return; + } + + bankAccounts.removeAt(index); + Get.back(); + Get.snackbar( + 'Rekening Dihapus', + 'Rekening bank telah berhasil dihapus', + snackPosition: SnackPosition.BOTTOM, + ); + } + } + + // Partner Methods + void togglePartnerStatus(String id) { + final index = partners.indexWhere((partner) => partner['id'] == id); + if (index != -1) { + final partner = Map.from(partners[index]); + partner['is_active'] = !partner['is_active']; + partners[index] = partner; + + Get.snackbar( + 'Status Diperbarui', + 'Status mitra telah diubah menjadi ${partner['is_active'] ? 'Aktif' : 'Tidak Aktif'}', + snackPosition: SnackPosition.BOTTOM, + ); + } + } + + void addPartner(Map partner) { + // Generate a new ID (in a real app, this would be from the backend) + partner['id'] = (partners.length + 1).toString(); + + // By default, new partners are active + partner['is_active'] = true; + + partners.add(partner); + Get.back(); + Get.snackbar( + 'Mitra Ditambahkan', + 'Mitra baru telah berhasil ditambahkan', + snackPosition: SnackPosition.BOTTOM, + ); + } + + void updatePartner(String id, Map updatedPartner) { + final index = partners.indexWhere((partner) => partner['id'] == id); + if (index != -1) { + // Preserve the ID and active status + updatedPartner['id'] = id; + updatedPartner['is_active'] = partners[index]['is_active']; + + partners[index] = updatedPartner; + Get.back(); + Get.snackbar( + 'Mitra Diperbarui', + 'Informasi mitra telah berhasil diperbarui', + snackPosition: SnackPosition.BOTTOM, + ); + } + } + + void deletePartner(String id) { + final index = partners.indexWhere((partner) => partner['id'] == id); + if (index != -1) { + partners.removeAt(index); + Get.back(); + Get.snackbar( + 'Mitra Dihapus', + 'Mitra telah berhasil dihapus', + snackPosition: SnackPosition.BOTTOM, + ); + } + } +} diff --git a/lib/app/modules/petugas_bumdes/controllers/petugas_bumdes_dashboard_controller.dart b/lib/app/modules/petugas_bumdes/controllers/petugas_bumdes_dashboard_controller.dart new file mode 100644 index 0000000..41f55c5 --- /dev/null +++ b/lib/app/modules/petugas_bumdes/controllers/petugas_bumdes_dashboard_controller.dart @@ -0,0 +1,147 @@ +import 'package:get/get.dart'; +import '../../../data/providers/auth_provider.dart'; +import '../../../routes/app_routes.dart'; + +class PetugasBumdesDashboardController extends GetxController { + AuthProvider? _authProvider; + + // Reactive variables + final userEmail = ''.obs; + final currentTabIndex = 0.obs; + + // Revenue Statistics + final totalPendapatanBulanIni = 'Rp 8.500.000'.obs; + final totalPendapatanBulanLalu = 'Rp 7.200.000'.obs; + final persentaseKenaikan = '18%'.obs; + final isKenaikanPositif = true.obs; + + // Revenue by Category + final pendapatanSewa = 'Rp 5.200.000'.obs; + final persentaseSewa = 100.obs; + + // Revenue Trends (last 6 months) + final trendPendapatan = [4.2, 5.1, 4.8, 6.2, 7.2, 8.5].obs; // in millions + + // Status Counters for Sewa Aset + final terlaksanaCount = 5.obs; + final dijadwalkanCount = 1.obs; + final aktifCount = 1.obs; + final dibatalkanCount = 3.obs; + + // Additional Sewa Aset Status Counters + final menungguPembayaranCount = 2.obs; + final periksaPembayaranCount = 1.obs; + final diterimaCount = 3.obs; + final pembayaranDendaCount = 1.obs; + final periksaPembayaranDendaCount = 0.obs; + final selesaiCount = 4.obs; + + // Status counts for Sewa + final pengajuanSewaCount = 5.obs; + final pemasanganCountSewa = 3.obs; + final sewaAktifCount = 10.obs; + final tagihanAktifCountSewa = 7.obs; + final periksaPembayaranCountSewa = 2.obs; + + @override + void onInit() { + super.onInit(); + try { + _authProvider = Get.find(); + userEmail.value = _authProvider?.currentUser?.email ?? 'Tidak ada email'; + } catch (e) { + print('Error finding AuthProvider: $e'); + userEmail.value = 'Tidak ada email'; + } + + // In a real app, these counts would be fetched from backend + // loadStatusCounts(); + print('✅ PetugasBumdesDashboardController initialized successfully'); + } + + // Method to load status counts from backend + // Future loadStatusCounts() async { + // try { + // final response = await _asetProvider.getSewaStatusCounts(); + // if (response != null) { + // terlaksanaCount.value = response['terlaksana'] ?? 0; + // dijadwalkanCount.value = response['dijadwalkan'] ?? 0; + // aktifCount.value = response['aktif'] ?? 0; + // dibatalkanCount.value = response['dibatalkan'] ?? 0; + // menungguPembayaranCount.value = response['menunggu_pembayaran'] ?? 0; + // periksaPembayaranCount.value = response['periksa_pembayaran'] ?? 0; + // diterimaCount.value = response['diterima'] ?? 0; + // pembayaranDendaCount.value = response['pembayaran_denda'] ?? 0; + // periksaPembayaranDendaCount.value = response['periksa_pembayaran_denda'] ?? 0; + // selesaiCount.value = response['selesai'] ?? 0; + // } + // } catch (e) { + // print('Error loading status counts: $e'); + // } + // } + + void changeTab(int index) { + try { + currentTabIndex.value = index; + + // Navigate to the appropriate page based on the tab index + switch (index) { + case 0: + // Navigate to Dashboard + Get.offAllNamed(Routes.PETUGAS_BUMDES_DASHBOARD); + break; + case 1: + // Navigate to Aset page + navigateToAset(); + break; + case 2: + // Navigate to Paket page + navigateToPaket(); + break; + case 3: + // Navigate to Sewa page + navigateToSewa(); + break; + } + } catch (e) { + print('Error changing tab: $e'); + } + } + + void navigateToAset() { + try { + Get.offAllNamed(Routes.PETUGAS_ASET); + } catch (e) { + print('Error navigating to Aset: $e'); + } + } + + void navigateToPaket() { + try { + Get.offAllNamed(Routes.PETUGAS_PAKET); + } catch (e) { + print('Error navigating to Paket: $e'); + } + } + + void navigateToSewa() { + try { + Get.offAllNamed(Routes.PETUGAS_SEWA); + } catch (e) { + print('Error navigating to Sewa: $e'); + } + } + + void logout() async { + try { + if (_authProvider != null) { + await _authProvider!.signOut(); + } + Get.offAllNamed(Routes.LOGIN); + } catch (e) { + print('Error during logout: $e'); + // Still try to navigate to login even if sign out fails + Get.offAllNamed(Routes.LOGIN); + } + } +} diff --git a/lib/app/modules/petugas_bumdes/controllers/petugas_manajemen_bumdes_controller.dart b/lib/app/modules/petugas_bumdes/controllers/petugas_manajemen_bumdes_controller.dart new file mode 100644 index 0000000..33655ab --- /dev/null +++ b/lib/app/modules/petugas_bumdes/controllers/petugas_manajemen_bumdes_controller.dart @@ -0,0 +1,183 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; + +class PetugasManajemenBumdesController extends GetxController { + // Reactive variables + final RxInt selectedTabIndex = 0.obs; + final RxBool isLoading = false.obs; + + // Tab options + final List tabOptions = ['Akun Bank', 'Mitra']; + + // Sample data for Bank Accounts + final RxList> bankAccounts = + >[ + { + 'bankName': 'Bank BRI', + 'accountName': 'BUMDes Sejahtera', + 'accountNumber': '123456789', + 'isPrimary': true, + }, + { + 'bankName': 'Bank BNI', + 'accountName': 'BUMDes Sejahtera', + 'accountNumber': '987654321', + 'isPrimary': false, + }, + ].obs; + + // Sample data for Partners + final RxList> partners = + >[ + { + 'name': 'CV Maju Jaya', + 'email': 'majujaya@example.com', + 'phone': '081234567890', + 'address': 'Jl. Maju No. 123, Kecamatan Berkah', + 'isActive': true, + }, + { + 'name': 'PT Sentosa', + 'email': 'sentosa@example.com', + 'phone': '089876543210', + 'address': 'Jl. Sentosa No. 456, Kecamatan Damai', + 'isActive': false, + }, + ].obs; + + @override + void onInit() { + super.onInit(); + loadData(); + } + + void loadData() { + isLoading.value = true; + // Simulate loading data from API + Future.delayed(const Duration(milliseconds: 500), () { + // Data already loaded with sample data + isLoading.value = false; + }); + } + + void changeTab(int index) { + selectedTabIndex.value = index; + } + + void setPrimaryBankAccount(int index) { + // Set all accounts to non-primary first + for (var i = 0; i < bankAccounts.length; i++) { + bankAccounts[i]['isPrimary'] = false; + } + + // Set the selected account as primary + bankAccounts[index]['isPrimary'] = true; + + // Force UI refresh + bankAccounts.refresh(); + + Get.snackbar( + 'Sukses', + 'Rekening utama berhasil diubah', + snackPosition: SnackPosition.BOTTOM, + ); + } + + void togglePartnerStatus(int index) { + // Toggle the active status + partners[index]['isActive'] = !partners[index]['isActive']; + + // Force UI refresh + partners.refresh(); + + Get.snackbar( + 'Sukses', + 'Status mitra berhasil diubah', + snackPosition: SnackPosition.BOTTOM, + ); + } + + void addBankAccount(Map account) { + // Set as primary if it's the first account + if (bankAccounts.isEmpty) { + account['isPrimary'] = true; + } else { + account['isPrimary'] = false; + } + + bankAccounts.add(account); + + Get.snackbar( + 'Sukses', + 'Rekening bank berhasil ditambahkan', + snackPosition: SnackPosition.BOTTOM, + ); + } + + void updateBankAccount(int index, Map updatedAccount) { + // Preserve the primary status + updatedAccount['isPrimary'] = bankAccounts[index]['isPrimary']; + + bankAccounts[index] = updatedAccount; + bankAccounts.refresh(); + + Get.snackbar( + 'Sukses', + 'Rekening bank berhasil diperbarui', + snackPosition: SnackPosition.BOTTOM, + ); + } + + void deleteBankAccount(int index) { + // Check if the account to be deleted is primary + final isPrimary = bankAccounts[index]['isPrimary']; + + // Remove the account + bankAccounts.removeAt(index); + + // If the deleted account was primary and there are other accounts, set the first one as primary + if (isPrimary && bankAccounts.isNotEmpty) { + bankAccounts[0]['isPrimary'] = true; + } + + bankAccounts.refresh(); + + Get.snackbar( + 'Sukses', + 'Rekening bank berhasil dihapus', + snackPosition: SnackPosition.BOTTOM, + ); + } + + void addPartner(Map partner) { + partners.add(partner); + + Get.snackbar( + 'Sukses', + 'Mitra berhasil ditambahkan', + snackPosition: SnackPosition.BOTTOM, + ); + } + + void updatePartner(int index, Map updatedPartner) { + partners[index] = updatedPartner; + partners.refresh(); + + Get.snackbar( + 'Sukses', + 'Mitra berhasil diperbarui', + snackPosition: SnackPosition.BOTTOM, + ); + } + + void deletePartner(int index) { + partners.removeAt(index); + partners.refresh(); + + Get.snackbar( + 'Sukses', + 'Mitra berhasil dihapus', + snackPosition: SnackPosition.BOTTOM, + ); + } +} diff --git a/lib/app/modules/petugas_bumdes/controllers/petugas_paket_controller.dart b/lib/app/modules/petugas_bumdes/controllers/petugas_paket_controller.dart new file mode 100644 index 0000000..d5a25c2 --- /dev/null +++ b/lib/app/modules/petugas_bumdes/controllers/petugas_paket_controller.dart @@ -0,0 +1,253 @@ +import 'package:get/get.dart'; +import 'package:intl/intl.dart'; + +class PetugasPaketController extends GetxController { + final isLoading = false.obs; + final searchQuery = ''.obs; + final selectedCategory = 'Semua'.obs; + final sortBy = 'Terbaru'.obs; + + // Kategori untuk filter + final categories = [ + 'Semua', + 'Pesta', + 'Rapat', + 'Olahraga', + 'Pernikahan', + 'Lainnya', + ]; + + // Opsi pengurutan + final sortOptions = [ + 'Terbaru', + 'Terlama', + 'Harga Tertinggi', + 'Harga Terendah', + 'Nama A-Z', + 'Nama Z-A', + ]; + + // Data dummy paket + final paketList = >[].obs; + final filteredPaketList = >[].obs; + + @override + void onInit() { + super.onInit(); + loadPaketData(); + } + + // Format harga ke Rupiah + String formatPrice(int price) { + final formatter = NumberFormat.currency( + locale: 'id', + symbol: 'Rp ', + decimalDigits: 0, + ); + return formatter.format(price); + } + + // Load data paket dummy + Future loadPaketData() async { + isLoading.value = true; + await Future.delayed(const Duration(milliseconds: 800)); // Simulasi loading + + paketList.value = [ + { + 'id': '1', + 'nama': 'Paket Pesta Ulang Tahun', + 'kategori': 'Pesta', + 'harga': 500000, + 'deskripsi': + 'Paket lengkap untuk acara ulang tahun. Termasuk 5 meja, 20 kursi, backdrop, dan sound system.', + 'tersedia': true, + 'created_at': '2023-08-10', + 'items': [ + {'nama': 'Meja Panjang', 'jumlah': 5}, + {'nama': 'Kursi Plastik', 'jumlah': 20}, + {'nama': 'Sound System', 'jumlah': 1}, + {'nama': 'Backdrop', 'jumlah': 1}, + ], + 'gambar': 'https://example.com/images/paket_ultah.jpg', + }, + { + 'id': '2', + 'nama': 'Paket Rapat Sedang', + 'kategori': 'Rapat', + 'harga': 300000, + 'deskripsi': + 'Paket untuk rapat sedang. Termasuk 1 meja rapat besar, 10 kursi, proyektor, dan screen.', + 'tersedia': true, + 'created_at': '2023-09-05', + 'items': [ + {'nama': 'Meja Rapat', 'jumlah': 1}, + {'nama': 'Kursi Kantor', 'jumlah': 10}, + {'nama': 'Proyektor', 'jumlah': 1}, + {'nama': 'Screen', 'jumlah': 1}, + ], + 'gambar': 'https://example.com/images/paket_rapat.jpg', + }, + { + 'id': '3', + 'nama': 'Paket Pesta Pernikahan', + 'kategori': 'Pernikahan', + 'harga': 1500000, + 'deskripsi': + 'Paket lengkap untuk acara pernikahan. Termasuk 20 meja, 100 kursi, sound system, dekorasi, dan tenda.', + 'tersedia': true, + 'created_at': '2023-10-12', + 'items': [ + {'nama': 'Meja Bundar', 'jumlah': 20}, + {'nama': 'Kursi Tamu', 'jumlah': 100}, + {'nama': 'Sound System Besar', 'jumlah': 1}, + {'nama': 'Tenda 10x10', 'jumlah': 2}, + {'nama': 'Set Dekorasi Pengantin', 'jumlah': 1}, + ], + 'gambar': 'https://example.com/images/paket_nikah.jpg', + }, + { + 'id': '4', + 'nama': 'Paket Olahraga Voli', + 'kategori': 'Olahraga', + 'harga': 200000, + 'deskripsi': + 'Paket perlengkapan untuk turnamen voli. Termasuk net, bola, dan tiang voli.', + 'tersedia': false, + 'created_at': '2023-07-22', + 'items': [ + {'nama': 'Net Voli', 'jumlah': 1}, + {'nama': 'Bola Voli', 'jumlah': 3}, + {'nama': 'Tiang Voli', 'jumlah': 2}, + ], + 'gambar': 'https://example.com/images/paket_voli.jpg', + }, + { + 'id': '5', + 'nama': 'Paket Pesta Anak', + 'kategori': 'Pesta', + 'harga': 350000, + 'deskripsi': + 'Paket untuk pesta ulang tahun anak-anak. Termasuk 3 meja, 15 kursi, dekorasi tema, dan sound system kecil.', + 'tersedia': true, + 'created_at': '2023-11-01', + 'items': [ + {'nama': 'Meja Anak', 'jumlah': 3}, + {'nama': 'Kursi Anak', 'jumlah': 15}, + {'nama': 'Set Dekorasi Tema', 'jumlah': 1}, + {'nama': 'Sound System Kecil', 'jumlah': 1}, + ], + 'gambar': 'https://example.com/images/paket_anak.jpg', + }, + ]; + + filterPaket(); + isLoading.value = false; + } + + // Filter paket berdasarkan search query dan kategori + void filterPaket() { + filteredPaketList.value = + paketList.where((paket) { + final matchesQuery = + paket['nama'].toString().toLowerCase().contains( + searchQuery.value.toLowerCase(), + ) || + paket['deskripsi'].toString().toLowerCase().contains( + searchQuery.value.toLowerCase(), + ); + + final matchesCategory = + selectedCategory.value == 'Semua' || + paket['kategori'] == selectedCategory.value; + + return matchesQuery && matchesCategory; + }).toList(); + + // Sort the filtered list + sortFilteredList(); + } + + // Sort the filtered list + void sortFilteredList() { + switch (sortBy.value) { + case 'Terbaru': + filteredPaketList.sort( + (a, b) => b['created_at'].compareTo(a['created_at']), + ); + break; + case 'Terlama': + filteredPaketList.sort( + (a, b) => a['created_at'].compareTo(b['created_at']), + ); + break; + case 'Harga Tertinggi': + filteredPaketList.sort((a, b) => b['harga'].compareTo(a['harga'])); + break; + case 'Harga Terendah': + filteredPaketList.sort((a, b) => a['harga'].compareTo(b['harga'])); + break; + case 'Nama A-Z': + filteredPaketList.sort((a, b) => a['nama'].compareTo(b['nama'])); + break; + case 'Nama Z-A': + filteredPaketList.sort((a, b) => b['nama'].compareTo(a['nama'])); + break; + } + } + + // Set search query dan filter paket + void setSearchQuery(String query) { + searchQuery.value = query; + filterPaket(); + } + + // Set kategori dan filter paket + void setCategory(String category) { + selectedCategory.value = category; + filterPaket(); + } + + // Set opsi pengurutan dan filter paket + void setSortBy(String option) { + sortBy.value = option; + sortFilteredList(); + } + + // Tambah paket baru + void addPaket(Map paket) { + paketList.add(paket); + filterPaket(); + Get.back(); + Get.snackbar( + 'Sukses', + 'Paket baru berhasil ditambahkan', + snackPosition: SnackPosition.BOTTOM, + ); + } + + // Edit paket + void editPaket(String id, Map updatedPaket) { + final index = paketList.indexWhere((element) => element['id'] == id); + if (index >= 0) { + paketList[index] = updatedPaket; + filterPaket(); + Get.back(); + Get.snackbar( + 'Sukses', + 'Paket berhasil diperbarui', + snackPosition: SnackPosition.BOTTOM, + ); + } + } + + // Hapus paket + void deletePaket(String id) { + paketList.removeWhere((element) => element['id'] == id); + filterPaket(); + Get.snackbar( + 'Sukses', + 'Paket berhasil dihapus', + snackPosition: SnackPosition.BOTTOM, + ); + } +} diff --git a/lib/app/modules/petugas_bumdes/controllers/petugas_sewa_controller.dart b/lib/app/modules/petugas_bumdes/controllers/petugas_sewa_controller.dart new file mode 100644 index 0000000..ed22801 --- /dev/null +++ b/lib/app/modules/petugas_bumdes/controllers/petugas_sewa_controller.dart @@ -0,0 +1,314 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; + +class PetugasSewaController extends GetxController { + // Reactive variables + final isLoading = true.obs; + final searchQuery = ''.obs; + final orderIdQuery = ''.obs; + final selectedStatusFilter = 'Semua'.obs; + final filteredSewaList = >[].obs; + + // Filter options + final List statusFilters = [ + 'Semua', + 'Menunggu Pembayaran', + 'Periksa Pembayaran', + 'Diterima', + 'Dikembalikan', + 'Selesai', + 'Dibatalkan', + ]; + + // Mock data for sewa list + final RxList> sewaList = >[].obs; + + @override + void onInit() { + super.onInit(); + + // Add listeners to update filtered list when any filter changes + ever(searchQuery, (_) => _updateFilteredList()); + ever(orderIdQuery, (_) => _updateFilteredList()); + ever(selectedStatusFilter, (_) => _updateFilteredList()); + ever(sewaList, (_) => _updateFilteredList()); + + // Load initial data + loadSewaData(); + } + + // Update filtered list based on current filters + void _updateFilteredList() { + filteredSewaList.value = + sewaList.where((sewa) { + // Apply search filter + final matchesSearch = sewa['nama_warga'] + .toString() + .toLowerCase() + .contains(searchQuery.value.toLowerCase()); + + // Apply order ID filter if provided + final matchesOrderId = + orderIdQuery.value.isEmpty || + sewa['order_id'].toString().toLowerCase().contains( + orderIdQuery.value.toLowerCase(), + ); + + // Apply status filter if not 'Semua' + final matchesStatus = + selectedStatusFilter.value == 'Semua' || + sewa['status'] == selectedStatusFilter.value; + + return matchesSearch && matchesOrderId && matchesStatus; + }).toList(); + } + + // Load sewa data (mock data for now) + Future loadSewaData() async { + isLoading.value = true; + + try { + // Simulate API call delay + await Future.delayed(const Duration(milliseconds: 800)); + + // Populate with mock data + sewaList.assignAll([ + { + 'id': '1', + 'order_id': 'SWA-001', + 'nama_warga': 'Sukimin', + 'nama_aset': 'Mobil Pickup', + 'tanggal_mulai': '2025-02-05', + 'tanggal_selesai': '2025-02-10', + 'total_biaya': 45000, + 'status': 'Diterima', + 'photo_url': 'https://example.com/photo1.jpg', + }, + { + 'id': '2', + 'order_id': 'SWA-002', + 'nama_warga': 'Sukimin', + 'nama_aset': 'Mobil Pickup', + 'tanggal_mulai': '2025-02-15', + 'tanggal_selesai': '2025-02-20', + 'total_biaya': 30000, + 'status': 'Selesai', + 'photo_url': 'https://example.com/photo2.jpg', + }, + { + 'id': '3', + 'order_id': 'SWA-003', + 'nama_warga': 'Sukimin', + 'nama_aset': 'Mobil Pickup', + 'tanggal_mulai': '2025-02-25', + 'tanggal_selesai': '2025-03-01', + 'total_biaya': 35000, + 'status': 'Menunggu Pembayaran', + 'photo_url': 'https://example.com/photo3.jpg', + }, + { + 'id': '4', + 'order_id': 'SWA-004', + 'nama_warga': 'Sukimin', + 'nama_aset': 'Mobil Pickup', + 'tanggal_mulai': '2025-03-05', + 'tanggal_selesai': '2025-03-08', + 'total_biaya': 20000, + 'status': 'Periksa Pembayaran', + 'photo_url': 'https://example.com/photo4.jpg', + }, + { + 'id': '5', + 'order_id': 'SWA-005', + 'nama_warga': 'Sukimin', + 'nama_aset': 'Mobil Pickup', + 'tanggal_mulai': '2025-03-12', + 'tanggal_selesai': '2025-03-14', + 'total_biaya': 15000, + 'status': 'Dibatalkan', + 'photo_url': 'https://example.com/photo5.jpg', + }, + { + 'id': '6', + 'order_id': 'SWA-006', + 'nama_warga': 'Sukimin', + 'nama_aset': 'Mobil Pickup', + 'tanggal_mulai': '2025-03-18', + 'tanggal_selesai': '2025-03-20', + 'total_biaya': 25000, + 'status': 'Pembayaran Denda', + 'photo_url': 'https://example.com/photo6.jpg', + }, + { + 'id': '7', + 'order_id': 'SWA-007', + 'nama_warga': 'Sukimin', + 'nama_aset': 'Mobil Pickup', + 'tanggal_mulai': '2025-03-25', + 'tanggal_selesai': '2025-03-28', + 'total_biaya': 40000, + 'status': 'Periksa Denda', + 'photo_url': 'https://example.com/photo7.jpg', + }, + { + 'id': '8', + 'order_id': 'SWA-008', + 'nama_warga': 'Sukimin', + 'nama_aset': 'Mobil Pickup', + 'tanggal_mulai': '2025-04-02', + 'tanggal_selesai': '2025-04-05', + 'total_biaya': 10000, + 'status': 'Dikembalikan', + 'photo_url': 'https://example.com/photo8.jpg', + }, + ]); + } catch (e) { + print('Error loading sewa data: $e'); + } finally { + isLoading.value = false; + } + } + + // Update search query + void setSearchQuery(String query) { + searchQuery.value = query; + } + + // Update order ID query + void setOrderIdQuery(String query) { + orderIdQuery.value = query; + } + + // Update status filter + void setStatusFilter(String status) { + selectedStatusFilter.value = status; + applyFilters(); + } + + void resetFilters() { + selectedStatusFilter.value = 'Semua'; + searchQuery.value = ''; + filteredSewaList.value = sewaList; + } + + void applyFilters() { + filteredSewaList.value = + sewaList.where((sewa) { + bool matchesStatus = + selectedStatusFilter.value == 'Semua' || + sewa['status'] == selectedStatusFilter.value; + bool matchesSearch = + searchQuery.value.isEmpty || + sewa['nama_warga'].toLowerCase().contains( + searchQuery.value.toLowerCase(), + ); + return matchesStatus && matchesSearch; + }).toList(); + } + + // Format price to rupiah + String formatPrice(num price) { + return 'Rp ${price.toStringAsFixed(0).replaceAllMapped(RegExp(r'(\d{1,3})(?=(\d{3})+(?!\d))'), (Match m) => '${m[1]}.')}'; + } + + // Get color based on status + Color getStatusColor(String status) { + switch (status) { + case 'Menunggu Pembayaran': + return Colors.orange; + case 'Periksa Pembayaran': + return Colors.amber.shade700; + case 'Diterima': + return Colors.blue; + case 'Pembayaran Denda': + return Colors.deepOrange; + case 'Periksa Denda': + return Colors.red.shade600; + case 'Dikembalikan': + return Colors.teal; + case 'Sedang Disewa': + return Colors.green; + case 'Selesai': + return Colors.purple; + case 'Dibatalkan': + return Colors.red; + default: + return Colors.grey; + } + } + + // Handle sewa approval (from "Periksa Pembayaran" to "Diterima") + void approveSewa(String id) { + final index = sewaList.indexWhere((sewa) => sewa['id'] == id); + if (index != -1) { + final sewa = Map.from(sewaList[index]); + final currentStatus = sewa['status']; + + if (currentStatus == 'Periksa Pembayaran') { + sewa['status'] = 'Diterima'; + } else if (currentStatus == 'Periksa Denda') { + sewa['status'] = 'Selesai'; + } else if (currentStatus == 'Menunggu Pembayaran') { + sewa['status'] = 'Periksa Pembayaran'; + } + + sewaList[index] = sewa; + sewaList.refresh(); + } + } + + // Handle sewa rejection or cancellation + void rejectSewa(String id) { + final index = sewaList.indexWhere((sewa) => sewa['id'] == id); + if (index != -1) { + final sewa = Map.from(sewaList[index]); + sewa['status'] = 'Dibatalkan'; + sewaList[index] = sewa; + sewaList.refresh(); + } + } + + // Request payment for penalty + void requestPenaltyPayment(String id) { + final index = sewaList.indexWhere((sewa) => sewa['id'] == id); + if (index != -1) { + final sewa = Map.from(sewaList[index]); + sewa['status'] = 'Pembayaran Denda'; + sewaList[index] = sewa; + sewaList.refresh(); + } + } + + // Mark penalty payment as requiring inspection + void markPenaltyForInspection(String id) { + final index = sewaList.indexWhere((sewa) => sewa['id'] == id); + if (index != -1) { + final sewa = Map.from(sewaList[index]); + sewa['status'] = 'Periksa Denda'; + sewaList[index] = sewa; + sewaList.refresh(); + } + } + + // Handle sewa completion + void completeSewa(String id) { + final index = sewaList.indexWhere((sewa) => sewa['id'] == id); + if (index != -1) { + final sewa = Map.from(sewaList[index]); + sewa['status'] = 'Selesai'; + sewaList[index] = sewa; + sewaList.refresh(); + } + } + + // Mark rental as returned + void markAsReturned(String id) { + final index = sewaList.indexWhere((sewa) => sewa['id'] == id); + if (index != -1) { + final sewa = Map.from(sewaList[index]); + sewa['status'] = 'Dikembalikan'; + sewaList[index] = sewa; + sewaList.refresh(); + } + } +} diff --git a/lib/app/modules/petugas_bumdes/controllers/petugas_tambah_aset_controller.dart b/lib/app/modules/petugas_bumdes/controllers/petugas_tambah_aset_controller.dart new file mode 100644 index 0000000..ee4a79e --- /dev/null +++ b/lib/app/modules/petugas_bumdes/controllers/petugas_tambah_aset_controller.dart @@ -0,0 +1,210 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; + +class PetugasTambahAsetController extends GetxController { + // Form controllers + final nameController = TextEditingController(); + final descriptionController = TextEditingController(); + final quantityController = TextEditingController(); + final unitOfMeasureController = TextEditingController(); + final pricePerHourController = TextEditingController(); + final maxHourController = TextEditingController(); + final pricePerDayController = TextEditingController(); + final maxDayController = TextEditingController(); + + // Dropdown and toggle values + final selectedCategory = 'Sewa'.obs; + final selectedStatus = 'Tersedia'.obs; + + // Replace single selection with multiple selections + final timeOptions = {'Per Jam': true.obs, 'Per Hari': false.obs}; + + // Category options + final categoryOptions = ['Sewa', 'Langganan']; + final statusOptions = ['Tersedia', 'Pemeliharaan']; + + // Images + final selectedImages = [].obs; + + // Form validation + final isFormValid = false.obs; + final isSubmitting = false.obs; + + @override + void onInit() { + super.onInit(); + // Set default values + quantityController.text = '1'; + unitOfMeasureController.text = 'Unit'; + + // Listen to field changes for validation + nameController.addListener(validateForm); + descriptionController.addListener(validateForm); + quantityController.addListener(validateForm); + pricePerHourController.addListener(validateForm); + pricePerDayController.addListener(validateForm); + } + + @override + void onClose() { + // Dispose controllers + nameController.dispose(); + descriptionController.dispose(); + quantityController.dispose(); + unitOfMeasureController.dispose(); + pricePerHourController.dispose(); + maxHourController.dispose(); + pricePerDayController.dispose(); + maxDayController.dispose(); + super.onClose(); + } + + // Change selected category + void setCategory(String category) { + selectedCategory.value = category; + validateForm(); + } + + // Change selected status + void setStatus(String status) { + selectedStatus.value = status; + validateForm(); + } + + // Toggle time option + void toggleTimeOption(String option) { + timeOptions[option]?.value = !(timeOptions[option]?.value ?? false); + + // Ensure at least one option is selected + bool anySelected = false; + timeOptions.forEach((key, value) { + if (value.value) anySelected = true; + }); + + // If none selected, force this one to remain selected + if (!anySelected) { + timeOptions[option]?.value = true; + } + + validateForm(); + } + + // Add image to the list (in a real app, this would handle file upload) + void addImage(String imagePath) { + selectedImages.add(imagePath); + validateForm(); + } + + // Remove image from the list + void removeImage(int index) { + if (index >= 0 && index < selectedImages.length) { + selectedImages.removeAt(index); + validateForm(); + } + } + + // Validate form fields + void validateForm() { + // Basic validation + bool basicValid = + nameController.text.isNotEmpty && + descriptionController.text.isNotEmpty && + quantityController.text.isNotEmpty && + int.tryParse(quantityController.text) != null; + + // Time option validation + bool perHourValid = + !timeOptions['Per Jam']!.value || + (pricePerHourController.text.isNotEmpty && + int.tryParse(pricePerHourController.text) != null); + + bool perDayValid = + !timeOptions['Per Hari']!.value || + (pricePerDayController.text.isNotEmpty && + int.tryParse(pricePerDayController.text) != null); + + // At least one time option must be selected + bool anyTimeOptionSelected = false; + timeOptions.forEach((key, value) { + if (value.value) anyTimeOptionSelected = true; + }); + + isFormValid.value = + basicValid && perHourValid && perDayValid && anyTimeOptionSelected; + } + + // Submit form and save asset + Future saveAsset() async { + if (!isFormValid.value) return; + + isSubmitting.value = true; + + try { + // In a real app, this would make an API call to save the asset + await Future.delayed(const Duration(seconds: 1)); // Mock API call + + // Prepare asset data + final assetData = { + 'nama': nameController.text, + 'deskripsi': descriptionController.text, + 'kategori': selectedCategory.value, + 'status': selectedStatus.value, + 'kuantitas': int.parse(quantityController.text), + 'satuan_ukur': unitOfMeasureController.text, + 'opsi_waktu_sewa': + timeOptions.entries + .where((entry) => entry.value.value) + .map((entry) => entry.key) + .toList(), + 'harga_per_jam': + timeOptions['Per Jam']!.value + ? int.parse(pricePerHourController.text) + : null, + 'max_jam': + timeOptions['Per Jam']!.value && maxHourController.text.isNotEmpty + ? int.parse(maxHourController.text) + : null, + 'harga_per_hari': + timeOptions['Per Hari']!.value + ? int.parse(pricePerDayController.text) + : null, + 'max_hari': + timeOptions['Per Hari']!.value && maxDayController.text.isNotEmpty + ? int.parse(maxDayController.text) + : null, + 'gambar': selectedImages, + }; + + // Log the data (in a real app, this would be sent to an API) + print('Asset data: $assetData'); + + // Return to the asset list page + Get.back(); + + // Show success message + Get.snackbar( + 'Berhasil', + 'Aset berhasil ditambahkan', + backgroundColor: Colors.green, + colorText: Colors.white, + snackPosition: SnackPosition.BOTTOM, + ); + } catch (e) { + // Show error message + Get.snackbar( + 'Gagal', + 'Terjadi kesalahan: ${e.toString()}', + backgroundColor: Colors.red, + colorText: Colors.white, + snackPosition: SnackPosition.BOTTOM, + ); + } finally { + isSubmitting.value = false; + } + } + + // For demonstration purposes: add sample image + void addSampleImage() { + addImage('assets/images/sample_asset_${selectedImages.length + 1}.jpg'); + } +} diff --git a/lib/app/modules/petugas_bumdes/controllers/petugas_tambah_paket_controller.dart b/lib/app/modules/petugas_bumdes/controllers/petugas_tambah_paket_controller.dart new file mode 100644 index 0000000..25c79bf --- /dev/null +++ b/lib/app/modules/petugas_bumdes/controllers/petugas_tambah_paket_controller.dart @@ -0,0 +1,393 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; + +class PetugasTambahPaketController extends GetxController { + // Form controllers + final nameController = TextEditingController(); + final descriptionController = TextEditingController(); + final priceController = TextEditingController(); + final itemQuantityController = TextEditingController(); + + // Dropdown and toggle values + final selectedCategory = 'Bulanan'.obs; + final selectedStatus = 'Aktif'.obs; + + // Category options + final categoryOptions = ['Bulanan', 'Tahunan', 'Premium', 'Bisnis']; + final statusOptions = ['Aktif', 'Nonaktif']; + + // Images + final selectedImages = [].obs; + + // For package name and description + final packageNameController = TextEditingController(); + final packageDescriptionController = TextEditingController(); + final packagePriceController = TextEditingController(); + + // For items/assets in the package + final RxList> packageItems = + >[].obs; + + // For asset selection + final RxList> availableAssets = + >[].obs; + final Rx selectedAsset = Rx(null); + final RxBool isLoadingAssets = false.obs; + + // Form validation + final isFormValid = false.obs; + final isSubmitting = false.obs; + + @override + void onInit() { + super.onInit(); + + // Listen to field changes for validation + nameController.addListener(validateForm); + descriptionController.addListener(validateForm); + priceController.addListener(validateForm); + + // Load available assets when the controller initializes + fetchAvailableAssets(); + } + + @override + void onClose() { + // Dispose controllers + nameController.dispose(); + descriptionController.dispose(); + priceController.dispose(); + itemQuantityController.dispose(); + packageNameController.dispose(); + packageDescriptionController.dispose(); + packagePriceController.dispose(); + super.onClose(); + } + + // Change selected category + void setCategory(String category) { + selectedCategory.value = category; + validateForm(); + } + + // Change selected status + void setStatus(String status) { + selectedStatus.value = status; + validateForm(); + } + + // Add image to the list (in a real app, this would handle file upload) + void addImage(String imagePath) { + selectedImages.add(imagePath); + validateForm(); + } + + // Remove image from the list + void removeImage(int index) { + if (index >= 0 && index < selectedImages.length) { + selectedImages.removeAt(index); + validateForm(); + } + } + + // Fetch available assets from the API or local data + void fetchAvailableAssets() { + isLoadingAssets.value = true; + + // This is a mock implementation - replace with actual API call + Future.delayed(const Duration(seconds: 1), () { + availableAssets.value = [ + {'id': 1, 'nama': 'Laptop Dell XPS', 'stok': 5}, + {'id': 2, 'nama': 'Proyektor Epson', 'stok': 3}, + {'id': 3, 'nama': 'Meja Kantor', 'stok': 10}, + {'id': 4, 'nama': 'Kursi Ergonomis', 'stok': 15}, + {'id': 5, 'nama': 'Printer HP LaserJet', 'stok': 2}, + {'id': 6, 'nama': 'AC Panasonic 1PK', 'stok': 8}, + ]; + isLoadingAssets.value = false; + }); + } + + // Set the selected asset + void setSelectedAsset(int? assetId) { + selectedAsset.value = assetId; + } + + // Get remaining stock for an asset (considering current selections) + int getRemainingStock(int assetId) { + // Find the asset in available assets + final asset = availableAssets.firstWhere( + (item) => item['id'] == assetId, + orElse: () => {}, + ); + + if (asset.isEmpty) return 0; + + // Get total stock + final totalStock = asset['stok'] as int; + + // Calculate how many of this asset are already in the package + int alreadySelected = 0; + for (var item in packageItems) { + if (item['asetId'] == assetId) { + alreadySelected += item['jumlah'] as int; + } + } + + // Return the remaining available stock + return totalStock - alreadySelected; + } + + // Add an asset to the package + void addAssetToPackage() { + if (selectedAsset.value == null || itemQuantityController.text.isEmpty) { + Get.snackbar( + 'Error', + 'Pilih aset dan masukkan jumlah', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + ); + return; + } + + // Find the selected asset + final asset = availableAssets.firstWhere( + (item) => item['id'] == selectedAsset.value, + orElse: () => {}, + ); + + if (asset.isEmpty) return; + + // Convert quantity to int + final quantity = int.tryParse(itemQuantityController.text) ?? 0; + if (quantity <= 0) { + Get.snackbar( + 'Error', + 'Jumlah harus lebih dari 0', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + ); + return; + } + + // Check if quantity is within limits + final remainingStock = getRemainingStock(selectedAsset.value!); + if (quantity > remainingStock) { + Get.snackbar( + 'Error', + 'Jumlah melebihi stok yang tersedia', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + ); + return; + } + + // Add the item to package + packageItems.add({ + 'asetId': selectedAsset.value, + 'nama': asset['nama'], + 'jumlah': quantity, + 'stok': asset['stok'], + }); + + // Clear selection + selectedAsset.value = null; + itemQuantityController.clear(); + + Get.snackbar( + 'Sukses', + 'Item berhasil ditambahkan ke paket', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.green, + colorText: Colors.white, + ); + } + + // Update an existing package item + void updatePackageItem(int index) { + if (selectedAsset.value == null || itemQuantityController.text.isEmpty) { + Get.snackbar( + 'Error', + 'Pilih aset dan masukkan jumlah', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + ); + return; + } + + // Find the selected asset + final asset = availableAssets.firstWhere( + (item) => item['id'] == selectedAsset.value, + orElse: () => {}, + ); + + if (asset.isEmpty) return; + + // Convert quantity to int + final quantity = int.tryParse(itemQuantityController.text) ?? 0; + if (quantity <= 0) { + Get.snackbar( + 'Error', + 'Jumlah harus lebih dari 0', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + ); + return; + } + + // If updating the same asset, check remaining stock + current quantity + final currentItem = packageItems[index]; + int availableQuantity = asset['stok'] as int; + + // If editing the same asset, we need to consider its current quantity + if (currentItem['asetId'] == selectedAsset.value) { + // For the same asset, we can reuse its current quantity + final alreadyUsed = packageItems + .where( + (item) => + item['asetId'] == selectedAsset.value && + packageItems.indexOf(item) != index, + ) + .fold(0, (sum, item) => sum + (item['jumlah'] as int)); + + availableQuantity -= alreadyUsed; + + if (quantity > availableQuantity) { + Get.snackbar( + 'Error', + 'Jumlah melebihi stok yang tersedia', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + ); + return; + } + } else { + // If changing to a different asset, check the new asset's remaining stock + final remainingStock = getRemainingStock(selectedAsset.value!); + if (quantity > remainingStock) { + Get.snackbar( + 'Error', + 'Jumlah melebihi stok yang tersedia', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + ); + return; + } + } + + // Update the item + packageItems[index] = { + 'asetId': selectedAsset.value, + 'nama': asset['nama'], + 'jumlah': quantity, + 'stok': asset['stok'], + }; + + // Clear selection + selectedAsset.value = null; + itemQuantityController.clear(); + + Get.snackbar( + 'Sukses', + 'Item berhasil diperbarui', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.green, + colorText: Colors.white, + ); + } + + // Remove an item from the package + void removeItem(int index) { + packageItems.removeAt(index); + Get.snackbar( + 'Dihapus', + 'Item berhasil dihapus dari paket', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.orange, + colorText: Colors.white, + ); + } + + // Validate form fields + void validateForm() { + // Basic validation + bool basicValid = + nameController.text.isNotEmpty && + descriptionController.text.isNotEmpty && + priceController.text.isNotEmpty && + int.tryParse(priceController.text) != null; + + // Package should have at least one item + bool hasItems = packageItems.isNotEmpty; + + isFormValid.value = basicValid && hasItems; + } + + // Submit form and save package + Future savePaket() async { + if (!isFormValid.value) return; + + isSubmitting.value = true; + + try { + // In a real app, this would make an API call to save the package + await Future.delayed(const Duration(seconds: 1)); // Mock API call + + // Prepare package data + final paketData = { + 'nama': nameController.text, + 'deskripsi': descriptionController.text, + 'kategori': selectedCategory.value, + 'status': selectedStatus.value == 'Aktif', + 'harga': int.parse(priceController.text), + 'gambar': selectedImages, + 'items': packageItems, + }; + + // Log the data (in a real app, this would be sent to an API) + print('Package data: $paketData'); + + // Return to the package list page + Get.back(); + + // Show success message + Get.snackbar( + 'Berhasil', + 'Paket berhasil ditambahkan', + backgroundColor: Colors.green, + colorText: Colors.white, + snackPosition: SnackPosition.BOTTOM, + ); + } catch (e) { + // Show error message + Get.snackbar( + 'Gagal', + 'Terjadi kesalahan: ${e.toString()}', + backgroundColor: Colors.red, + colorText: Colors.white, + snackPosition: SnackPosition.BOTTOM, + ); + } finally { + isSubmitting.value = false; + } + } + + // Old sample method (will be replaced) + void addSampleItem() { + packageItems.add({'nama': 'Laptop Dell XPS', 'jumlah': 1}); + } + + // Method untuk menambahkan gambar sample + void addSampleImage() { + // Menambahkan URL gambar dummy untuk keperluan pengembangan + selectedImages.add('https://example.com/sample_image.jpg'); + validateForm(); + } +} diff --git a/lib/app/modules/petugas_bumdes/views/list_pelanggan_aktif_view.dart b/lib/app/modules/petugas_bumdes/views/list_pelanggan_aktif_view.dart new file mode 100644 index 0000000..d920968 --- /dev/null +++ b/lib/app/modules/petugas_bumdes/views/list_pelanggan_aktif_view.dart @@ -0,0 +1,581 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import '../controllers/list_pelanggan_aktif_controller.dart'; +import '../../../theme/app_colors.dart'; +import '../../../theme/app_colors_petugas.dart'; +import '../widgets/petugas_bumdes_bottom_navbar.dart'; +import '../widgets/petugas_side_navbar.dart'; +import '../controllers/petugas_bumdes_dashboard_controller.dart'; +import '../../../routes/app_routes.dart'; + +class ListPelangganAktifView extends GetView { + const ListPelangganAktifView({Key? key}) : super(key: key); + + @override + Widget build(BuildContext context) { + // Get dashboard controller for navigation + final dashboardController = Get.find(); + + return Scaffold( + backgroundColor: Colors.grey.shade50, + appBar: AppBar( + title: Obx( + () => Text( + 'Pelanggan ${controller.serviceName.value}', + style: const TextStyle(fontWeight: FontWeight.w600), + ), + ), + backgroundColor: AppColorsPetugas.navyBlue, + foregroundColor: Colors.white, + elevation: 0, + leading: IconButton( + icon: const Icon(Icons.arrow_back), + onPressed: () => Get.back(), + ), + actions: [ + // Actions removed + ], + ), + drawer: PetugasSideNavbar(controller: dashboardController), + drawerEdgeDragWidth: 60, + drawerScrimColor: Colors.black.withOpacity(0.6), + body: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildHeader(), + _buildSearchBar(), + Expanded(child: _buildSubscribersList()), + ], + ), + ); + } + + Widget _buildHeader() { + return Container( + width: double.infinity, + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + color: Colors.white, + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + offset: const Offset(0, 2), + blurRadius: 5, + ), + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Obx( + () => Text( + 'Pelanggan Aktif ${controller.serviceName.value}', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.navyBlue, + ), + ), + ), + const SizedBox(height: 8), + Obx( + () => Text( + 'Daftar warga yang berlangganan ${controller.serviceName.value.toLowerCase()}', + style: TextStyle(fontSize: 14, color: Colors.grey.shade600), + ), + ), + const SizedBox(height: 12), + Row( + children: [ + Container( + padding: const EdgeInsets.symmetric( + horizontal: 12, + vertical: 6, + ), + decoration: BoxDecoration( + color: Colors.green.withOpacity(0.1), + borderRadius: BorderRadius.circular(30), + ), + child: Row( + children: [ + const Icon( + Icons.people_alt_rounded, + size: 16, + color: Colors.green, + ), + const SizedBox(width: 6), + Obx( + () => Text( + '${controller.pelangganList.length} Pelanggan Aktif', + style: const TextStyle( + fontSize: 12, + fontWeight: FontWeight.w500, + color: Colors.green, + ), + ), + ), + ], + ), + ), + ], + ), + ], + ), + ); + } + + Widget _buildSearchBar() { + return Container( + padding: const EdgeInsets.all(16), + color: Colors.white, + child: TextField( + onChanged: controller.updateSearchQuery, + decoration: InputDecoration( + hintText: 'Cari pelanggan...', + prefixIcon: const Icon(Icons.search, color: Colors.grey), + filled: true, + fillColor: Colors.grey.shade100, + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(12), + borderSide: BorderSide.none, + ), + contentPadding: const EdgeInsets.symmetric(vertical: 0), + ), + ), + ); + } + + Widget _buildSubscribersList() { + return Obx(() { + if (controller.isLoading.value) { + return const Center(child: CircularProgressIndicator()); + } + + if (controller.filteredPelangganList.isEmpty) { + return _buildEmptyState(); + } + + return ListView.builder( + padding: const EdgeInsets.all(16), + itemCount: controller.filteredPelangganList.length, + itemBuilder: (context, index) { + final pelanggan = controller.filteredPelangganList[index]; + return _buildPelangganCard(pelanggan); + }, + ); + }); + } + + Widget _buildPelangganCard(Map pelanggan) { + final statusColor = Color(controller.getStatusColor(pelanggan['status'])); + + return Container( + margin: const EdgeInsets.only(bottom: 16), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: InkWell( + onTap: + () => Get.toNamed( + Routes.LIST_TAGIHAN_PERIODE, + arguments: { + 'pelanggan': pelanggan, + 'serviceName': controller.serviceName.value, + }, + ), + borderRadius: BorderRadius.circular(16), + child: Column( + children: [ + Container( + padding: const EdgeInsets.all(16), + child: Row( + children: [ + CircleAvatar( + radius: 25, + backgroundColor: AppColorsPetugas.babyBlueBright, + child: Text( + pelanggan['nama'].substring(0, 1).toUpperCase(), + style: TextStyle( + fontSize: 20, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.navyBlue, + ), + ), + ), + const SizedBox(width: 16), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + pelanggan['nama'], + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + ), + ), + const SizedBox(height: 4), + Text( + pelanggan['alamat'], + style: TextStyle( + fontSize: 14, + color: Colors.grey.shade600, + ), + maxLines: 1, + overflow: TextOverflow.ellipsis, + ), + ], + ), + ), + Container( + padding: const EdgeInsets.symmetric( + horizontal: 12, + vertical: 6, + ), + decoration: BoxDecoration( + color: statusColor.withOpacity(0.1), + borderRadius: BorderRadius.circular(20), + ), + child: Row( + children: [ + Icon(Icons.check_circle, size: 14, color: statusColor), + const SizedBox(width: 4), + Text( + pelanggan['status'], + style: TextStyle( + fontSize: 12, + fontWeight: FontWeight.w600, + color: statusColor, + ), + ), + ], + ), + ), + ], + ), + ), + const Divider(height: 1), + Padding( + padding: const EdgeInsets.all(16), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + _buildInfoItem( + icon: Icons.calendar_month, + label: 'Mulai', + value: pelanggan['tanggal_mulai'], + ), + _buildInfoItem( + icon: Icons.payment, + label: 'Tagihan', + value: pelanggan['tagihan'], + ), + _buildInfoItem( + icon: Icons.phone, + label: 'Telepon', + value: pelanggan['telepon'], + ), + ], + ), + ), + ], + ), + ), + ); + } + + Widget _buildInfoItem({ + required IconData icon, + required String label, + required String value, + }) { + return Column( + children: [ + Icon(icon, size: 16, color: Colors.grey.shade600), + const SizedBox(height: 4), + Text( + label, + style: TextStyle(fontSize: 12, color: Colors.grey.shade600), + ), + const SizedBox(height: 2), + Text( + value, + style: const TextStyle(fontSize: 12, fontWeight: FontWeight.bold), + ), + ], + ); + } + + Widget _buildEmptyState() { + return Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon( + Icons.people_alt_outlined, + size: 60, + color: Colors.grey.shade400, + ), + const SizedBox(height: 16), + Text( + 'Tidak ada pelanggan aktif', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: Colors.grey.shade700, + ), + ), + const SizedBox(height: 8), + Text( + 'Belum ada warga yang berlangganan layanan ini', + style: TextStyle(fontSize: 14, color: Colors.grey.shade600), + ), + ], + ), + ); + } + + void _showPelangganDetails(Map pelanggan) { + final statusColor = Color(controller.getStatusColor(pelanggan['status'])); + + Get.dialog( + Dialog( + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Container( + padding: const EdgeInsets.all(20), + decoration: BoxDecoration( + color: AppColorsPetugas.navyBlue, + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ), + ), + child: Row( + children: [ + CircleAvatar( + radius: 25, + backgroundColor: Colors.white, + child: Text( + pelanggan['nama'].substring(0, 1).toUpperCase(), + style: TextStyle( + fontSize: 20, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.navyBlue, + ), + ), + ), + const SizedBox(width: 16), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + pelanggan['nama'], + style: const TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: Colors.white, + ), + ), + const SizedBox(height: 4), + Text( + pelanggan['alamat'], + style: TextStyle( + fontSize: 14, + color: Colors.white.withOpacity(0.9), + ), + maxLines: 2, + overflow: TextOverflow.ellipsis, + ), + ], + ), + ), + ], + ), + ), + Padding( + padding: const EdgeInsets.all(20), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Container( + padding: const EdgeInsets.symmetric( + horizontal: 12, + vertical: 6, + ), + decoration: BoxDecoration( + color: statusColor.withOpacity(0.1), + borderRadius: BorderRadius.circular(20), + ), + child: Row( + children: [ + Icon( + Icons.check_circle, + size: 14, + color: statusColor, + ), + const SizedBox(width: 4), + Text( + pelanggan['status'], + style: TextStyle( + fontSize: 12, + fontWeight: FontWeight.w600, + color: statusColor, + ), + ), + ], + ), + ), + ], + ), + const SizedBox(height: 20), + const Text( + 'Detail Pelanggan', + style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 16), + _buildDetailRow( + icon: Icons.calendar_month, + label: 'Tanggal Mulai', + value: pelanggan['tanggal_mulai'], + ), + const SizedBox(height: 12), + _buildDetailRow( + icon: Icons.event_busy, + label: 'Tanggal Berakhir', + value: pelanggan['tanggal_berakhir'], + ), + const SizedBox(height: 12), + _buildDetailRow( + icon: Icons.payment, + label: 'Pembayaran Terakhir', + value: pelanggan['pembayaran_terakhir'], + ), + const SizedBox(height: 12), + _buildDetailRow( + icon: Icons.receipt_long, + label: 'Tagihan', + value: pelanggan['tagihan'], + ), + const SizedBox(height: 20), + const Text( + 'Kontak', + style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 16), + _buildDetailRow( + icon: Icons.phone, + label: 'Telepon', + value: pelanggan['telepon'], + ), + const SizedBox(height: 12), + _buildDetailRow( + icon: Icons.email, + label: 'Email', + value: pelanggan['email'], + ), + const SizedBox(height: 20), + if (pelanggan['catatan'] != null) ...[ + const Text( + 'Catatan', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + ), + ), + const SizedBox(height: 8), + Container( + padding: const EdgeInsets.all(12), + decoration: BoxDecoration( + color: Colors.grey.shade100, + borderRadius: BorderRadius.circular(8), + ), + child: Text( + pelanggan['catatan'], + style: TextStyle( + fontSize: 14, + color: Colors.grey.shade800, + ), + ), + ), + const SizedBox(height: 20), + ], + Row( + children: [ + Expanded( + child: ElevatedButton.icon( + onPressed: () => Get.back(), + icon: const Icon(Icons.close), + label: const Text('Tutup'), + style: ElevatedButton.styleFrom( + backgroundColor: AppColorsPetugas.navyBlue, + foregroundColor: Colors.white, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10), + ), + padding: const EdgeInsets.symmetric(vertical: 12), + ), + ), + ), + ], + ), + ], + ), + ), + ], + ), + ), + ); + } + + Widget _buildDetailRow({ + required IconData icon, + required String label, + required String value, + }) { + return Row( + children: [ + Container( + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: AppColorsPetugas.babyBlueBright, + borderRadius: BorderRadius.circular(8), + ), + child: Icon(icon, size: 16, color: AppColorsPetugas.navyBlue), + ), + const SizedBox(width: 12), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + label, + style: TextStyle(fontSize: 12, color: Colors.grey.shade600), + ), + Text( + value, + style: const TextStyle( + fontSize: 14, + fontWeight: FontWeight.w500, + ), + ), + ], + ), + ), + ], + ); + } +} diff --git a/lib/app/modules/petugas_bumdes/views/list_petugas_mitra_view.dart b/lib/app/modules/petugas_bumdes/views/list_petugas_mitra_view.dart new file mode 100644 index 0000000..38a982d --- /dev/null +++ b/lib/app/modules/petugas_bumdes/views/list_petugas_mitra_view.dart @@ -0,0 +1,720 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import '../controllers/list_petugas_mitra_controller.dart'; +import '../../../theme/app_colors_petugas.dart'; + +class ListPetugasMitraView extends GetView { + const ListPetugasMitraView({Key? key}) : super(key: key); + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: Colors.grey.shade50, + appBar: AppBar( + title: const Text( + 'Petugas Mitra', + style: TextStyle(fontWeight: FontWeight.w600, fontSize: 18), + ), + backgroundColor: AppColorsPetugas.navyBlue, + foregroundColor: Colors.white, + elevation: 0, + actions: [ + IconButton( + icon: const Icon(Icons.help_outline), + onPressed: () { + _showHelpDialog(context); + }, + ), + ], + ), + body: SafeArea( + child: Column( + children: [ + // Search Bar + _buildSearchBar(), + + // List of Partners + Expanded( + child: Obx(() { + if (controller.isLoading.value) { + return const Center(child: CircularProgressIndicator()); + } + + if (controller.filteredPartners.isEmpty) { + return _buildEmptyState(); + } + + return _buildPartnersList(); + }), + ), + ], + ), + ), + floatingActionButton: FloatingActionButton( + onPressed: () { + _showAddPartnerDialog(context); + }, + backgroundColor: AppColorsPetugas.blueGrotto, + child: const Icon(Icons.add), + ), + ); + } + + Widget _buildSearchBar() { + return Container( + padding: const EdgeInsets.all(16), + color: Colors.white, + child: TextField( + onChanged: (value) { + controller.searchQuery.value = value; + }, + decoration: InputDecoration( + hintText: 'Cari petugas mitra...', + prefixIcon: const Icon(Icons.search, color: Colors.grey), + suffixIcon: Obx(() { + return controller.searchQuery.value.isNotEmpty + ? IconButton( + icon: const Icon(Icons.clear), + onPressed: () { + controller.searchQuery.value = ''; + }, + ) + : const SizedBox.shrink(); + }), + filled: true, + fillColor: Colors.grey.shade100, + contentPadding: const EdgeInsets.symmetric(vertical: 0), + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(8), + borderSide: BorderSide.none, + ), + ), + ), + ); + } + + Widget _buildEmptyState() { + return Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon(Icons.people_outline, size: 80, color: Colors.grey.shade400), + const SizedBox(height: 16), + Text( + 'Belum ada petugas mitra', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: Colors.grey.shade700, + ), + ), + const SizedBox(height: 8), + Text( + 'Tambahkan petugas mitra dengan menekan tombol "+" di bawah', + textAlign: TextAlign.center, + style: TextStyle(fontSize: 14, color: Colors.grey.shade600), + ), + ], + ), + ); + } + + Widget _buildPartnersList() { + return ListView.separated( + padding: const EdgeInsets.all(16), + itemCount: controller.filteredPartners.length, + separatorBuilder: (context, index) => const SizedBox(height: 12), + itemBuilder: (context, index) { + final partner = controller.filteredPartners[index]; + return _buildPartnerCard(partner); + }, + ); + } + + Widget _buildPartnerCard(Map partner) { + final isActive = partner['is_active'] as bool; + + return Card( + elevation: 2, + shadowColor: Colors.black.withOpacity(0.1), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)), + child: Padding( + padding: const EdgeInsets.all(16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + CircleAvatar( + backgroundColor: + isActive ? Colors.green.shade100 : Colors.red.shade100, + child: Icon( + Icons.person, + color: + isActive ? Colors.green.shade700 : Colors.red.shade700, + ), + ), + const SizedBox(width: 12), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + partner['name'], + style: const TextStyle( + fontWeight: FontWeight.bold, + fontSize: 16, + ), + ), + const SizedBox(height: 4), + Text( + partner['role'], + style: TextStyle( + color: Colors.grey.shade600, + fontSize: 14, + ), + ), + ], + ), + ), + Container( + padding: const EdgeInsets.symmetric( + horizontal: 8, + vertical: 4, + ), + decoration: BoxDecoration( + color: isActive ? Colors.green.shade50 : Colors.red.shade50, + borderRadius: BorderRadius.circular(8), + ), + child: Text( + isActive ? 'Aktif' : 'Nonaktif', + style: TextStyle( + color: + isActive + ? Colors.green.shade700 + : Colors.red.shade700, + fontSize: 12, + fontWeight: FontWeight.w500, + ), + ), + ), + const SizedBox(width: 8), + PopupMenuButton( + icon: const Icon(Icons.more_vert), + onSelected: (value) { + _handleMenuAction(value, partner); + }, + itemBuilder: + (BuildContext context) => [ + PopupMenuItem( + value: 'toggle_status', + child: Row( + children: [ + Icon( + isActive ? Icons.toggle_off : Icons.toggle_on, + color: + isActive + ? Colors.red.shade700 + : Colors.green.shade700, + size: 18, + ), + const SizedBox(width: 8), + Text(isActive ? 'Nonaktifkan' : 'Aktifkan'), + ], + ), + ), + const PopupMenuItem( + value: 'edit', + child: Row( + children: [ + Icon(Icons.edit, color: Colors.blue, size: 18), + SizedBox(width: 8), + Text('Edit'), + ], + ), + ), + const PopupMenuItem( + value: 'delete', + child: Row( + children: [ + Icon(Icons.delete, color: Colors.red, size: 18), + SizedBox(width: 8), + Text('Hapus'), + ], + ), + ), + ], + ), + ], + ), + const SizedBox(height: 16), + const Divider(), + const SizedBox(height: 8), + _buildInfoRow(Icons.phone, 'Kontak', partner['contact']), + const SizedBox(height: 12), + _buildInfoRow(Icons.location_on, 'Alamat', partner['address']), + const SizedBox(height: 12), + _buildInfoRow( + Icons.calendar_today, + 'Tanggal Bergabung', + partner['join_date'], + ), + ], + ), + ), + ); + } + + Widget _buildInfoRow(IconData icon, String label, String value) { + return Row( + children: [ + Icon(icon, size: 16, color: Colors.grey.shade600), + const SizedBox(width: 8), + Text( + '$label:', + style: TextStyle(fontSize: 13, color: Colors.grey.shade700), + ), + const SizedBox(width: 4), + Expanded( + child: Text( + value, + style: const TextStyle(fontSize: 13, fontWeight: FontWeight.w500), + ), + ), + ], + ); + } + + void _handleMenuAction(String action, Map partner) { + switch (action) { + case 'toggle_status': + controller.togglePartnerStatus(partner['id']); + break; + case 'edit': + _showEditPartnerDialog(Get.context!, partner); + break; + case 'delete': + _showDeleteConfirmationDialog(Get.context!, partner); + break; + } + } + + void _showHelpDialog(BuildContext context) { + showDialog( + context: context, + builder: (BuildContext context) { + return Dialog( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16), + ), + child: Padding( + padding: const EdgeInsets.all(20), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + 'Bantuan Petugas Mitra', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.navyBlue, + ), + ), + const SizedBox(height: 16), + _buildHelpItem( + Icons.add_circle_outline, + 'Tambah Mitra', + 'Tekan tombol + untuk menambah petugas mitra baru', + ), + const SizedBox(height: 12), + _buildHelpItem( + Icons.toggle_on, + 'Aktif/Nonaktif', + 'Ubah status aktif petugas mitra melalui menu opsi', + ), + const SizedBox(height: 12), + _buildHelpItem( + Icons.edit, + 'Edit Data', + 'Ubah informasi petugas mitra melalui menu opsi', + ), + const SizedBox(height: 12), + _buildHelpItem( + Icons.delete, + 'Hapus', + 'Hapus petugas mitra melalui menu opsi', + ), + const SizedBox(height: 20), + SizedBox( + width: double.infinity, + child: ElevatedButton( + onPressed: () { + Navigator.of(context).pop(); + }, + style: ElevatedButton.styleFrom( + backgroundColor: AppColorsPetugas.blueGrotto, + padding: const EdgeInsets.symmetric(vertical: 12), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + ), + child: const Text('Mengerti'), + ), + ), + ], + ), + ), + ); + }, + ); + } + + Widget _buildHelpItem(IconData icon, String title, String description) { + return Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Icon(icon, color: AppColorsPetugas.blueGrotto, size: 20), + const SizedBox(width: 12), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + title, + style: const TextStyle( + fontWeight: FontWeight.bold, + fontSize: 14, + ), + ), + const SizedBox(height: 2), + Text( + description, + style: TextStyle(fontSize: 12, color: Colors.grey.shade600), + ), + ], + ), + ), + ], + ); + } + + void _showAddPartnerDialog(BuildContext context) { + final nameController = TextEditingController(); + final contactController = TextEditingController(); + final addressController = TextEditingController(); + final roleController = TextEditingController(); + + showDialog( + context: context, + builder: (BuildContext context) { + return Dialog( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16), + ), + child: Padding( + padding: const EdgeInsets.all(20), + child: SingleChildScrollView( + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Tambah Petugas Mitra', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.navyBlue, + ), + ), + const SizedBox(height: 20), + _buildTextField(nameController, 'Nama Lengkap', Icons.person), + const SizedBox(height: 12), + _buildTextField( + contactController, + 'Nomor Kontak', + Icons.phone, + keyboardType: TextInputType.phone, + ), + const SizedBox(height: 12), + _buildTextField( + addressController, + 'Alamat', + Icons.location_on, + maxLines: 2, + ), + const SizedBox(height: 12), + _buildTextField(roleController, 'Jabatan', Icons.work), + const SizedBox(height: 24), + Row( + children: [ + Expanded( + child: OutlinedButton( + onPressed: () { + Navigator.of(context).pop(); + }, + style: OutlinedButton.styleFrom( + side: BorderSide(color: AppColorsPetugas.navyBlue), + padding: const EdgeInsets.symmetric(vertical: 12), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + ), + child: Text( + 'Batal', + style: TextStyle(color: AppColorsPetugas.navyBlue), + ), + ), + ), + const SizedBox(width: 12), + Expanded( + child: ElevatedButton( + onPressed: () { + if (nameController.text.isEmpty || + contactController.text.isEmpty || + addressController.text.isEmpty || + roleController.text.isEmpty) { + Get.snackbar( + 'Error', + 'Harap isi semua data', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + ); + return; + } + + final newPartner = { + 'id': + DateTime.now().millisecondsSinceEpoch + .toString(), + 'name': nameController.text, + 'contact': contactController.text, + 'address': addressController.text, + 'role': roleController.text, + 'is_active': true, + 'join_date': + '${DateTime.now().day} ${_getMonthName(DateTime.now().month)} ${DateTime.now().year}', + }; + + controller.addPartner(newPartner); + }, + style: ElevatedButton.styleFrom( + backgroundColor: AppColorsPetugas.blueGrotto, + padding: const EdgeInsets.symmetric(vertical: 12), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + ), + child: const Text('Simpan'), + ), + ), + ], + ), + ], + ), + ), + ), + ); + }, + ); + } + + void _showEditPartnerDialog( + BuildContext context, + Map partner, + ) { + final nameController = TextEditingController(text: partner['name']); + final contactController = TextEditingController(text: partner['contact']); + final addressController = TextEditingController(text: partner['address']); + final roleController = TextEditingController(text: partner['role']); + + showDialog( + context: context, + builder: (BuildContext context) { + return Dialog( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16), + ), + child: Padding( + padding: const EdgeInsets.all(20), + child: SingleChildScrollView( + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Edit Petugas Mitra', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.navyBlue, + ), + ), + const SizedBox(height: 20), + _buildTextField(nameController, 'Nama Lengkap', Icons.person), + const SizedBox(height: 12), + _buildTextField( + contactController, + 'Nomor Kontak', + Icons.phone, + keyboardType: TextInputType.phone, + ), + const SizedBox(height: 12), + _buildTextField( + addressController, + 'Alamat', + Icons.location_on, + maxLines: 2, + ), + const SizedBox(height: 12), + _buildTextField(roleController, 'Jabatan', Icons.work), + const SizedBox(height: 24), + Row( + children: [ + Expanded( + child: OutlinedButton( + onPressed: () { + Navigator.of(context).pop(); + }, + style: OutlinedButton.styleFrom( + side: BorderSide(color: AppColorsPetugas.navyBlue), + padding: const EdgeInsets.symmetric(vertical: 12), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + ), + child: Text( + 'Batal', + style: TextStyle(color: AppColorsPetugas.navyBlue), + ), + ), + ), + const SizedBox(width: 12), + Expanded( + child: ElevatedButton( + onPressed: () { + if (nameController.text.isEmpty || + contactController.text.isEmpty || + addressController.text.isEmpty || + roleController.text.isEmpty) { + Get.snackbar( + 'Error', + 'Harap isi semua data', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + ); + return; + } + + final updatedPartner = { + 'id': partner['id'], + 'name': nameController.text, + 'contact': contactController.text, + 'address': addressController.text, + 'role': roleController.text, + 'is_active': partner['is_active'], + 'join_date': partner['join_date'], + }; + + controller.editPartner( + partner['id'], + updatedPartner, + ); + }, + style: ElevatedButton.styleFrom( + backgroundColor: AppColorsPetugas.blueGrotto, + padding: const EdgeInsets.symmetric(vertical: 12), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + ), + child: const Text('Simpan'), + ), + ), + ], + ), + ], + ), + ), + ), + ); + }, + ); + } + + void _showDeleteConfirmationDialog( + BuildContext context, + Map partner, + ) { + showDialog( + context: context, + builder: (BuildContext context) { + return AlertDialog( + title: const Text('Konfirmasi Penghapusan'), + content: Text( + 'Apakah Anda yakin ingin menghapus petugas mitra "${partner['name']}"?', + ), + actions: [ + TextButton( + onPressed: () { + Navigator.of(context).pop(); + }, + child: const Text('Batal'), + ), + TextButton( + onPressed: () { + Navigator.of(context).pop(); + controller.deletePartner(partner['id']); + }, + style: TextButton.styleFrom(foregroundColor: Colors.red), + child: const Text('Hapus'), + ), + ], + ); + }, + ); + } + + Widget _buildTextField( + TextEditingController controller, + String label, + IconData icon, { + TextInputType? keyboardType, + int maxLines = 1, + }) { + return TextField( + controller: controller, + keyboardType: keyboardType, + maxLines: maxLines, + decoration: InputDecoration( + labelText: label, + prefixIcon: Icon(icon), + border: OutlineInputBorder(borderRadius: BorderRadius.circular(8)), + contentPadding: const EdgeInsets.symmetric( + horizontal: 16, + vertical: 12, + ), + ), + ); + } + + String _getMonthName(int month) { + const months = [ + '', + 'Januari', + 'Februari', + 'Maret', + 'April', + 'Mei', + 'Juni', + 'Juli', + 'Agustus', + 'September', + 'Oktober', + 'November', + 'Desember', + ]; + return months[month]; + } +} diff --git a/lib/app/modules/petugas_bumdes/views/list_tagihan_periode_view.dart b/lib/app/modules/petugas_bumdes/views/list_tagihan_periode_view.dart new file mode 100644 index 0000000..7e06a49 --- /dev/null +++ b/lib/app/modules/petugas_bumdes/views/list_tagihan_periode_view.dart @@ -0,0 +1,691 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import '../controllers/list_tagihan_periode_controller.dart'; +import '../../../theme/app_colors.dart'; +import '../../../theme/app_colors_petugas.dart'; +import '../widgets/petugas_bumdes_bottom_navbar.dart'; +import '../widgets/petugas_side_navbar.dart'; +import '../controllers/petugas_bumdes_dashboard_controller.dart'; +import '../../../routes/app_routes.dart'; + +class ListTagihanPeriodeView extends GetView { + const ListTagihanPeriodeView({Key? key}) : super(key: key); + + @override + Widget build(BuildContext context) { + // Get dashboard controller for navigation + final dashboardController = Get.find(); + + return Scaffold( + backgroundColor: Colors.grey.shade50, + appBar: AppBar( + title: Text( + 'Riwayat Tagihan', + style: const TextStyle(fontWeight: FontWeight.w600), + ), + backgroundColor: AppColorsPetugas.navyBlue, + foregroundColor: Colors.white, + elevation: 0, + leading: IconButton( + icon: const Icon(Icons.arrow_back), + onPressed: () => Get.back(), + ), + ), + drawer: PetugasSideNavbar(controller: dashboardController), + drawerEdgeDragWidth: 60, + drawerScrimColor: Colors.black.withOpacity(0.6), + body: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [_buildHeader(), Expanded(child: _buildPeriodeList())], + ), + ); + } + + Widget _buildHeader() { + return Container( + width: double.infinity, + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + color: Colors.white, + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + offset: const Offset(0, 2), + blurRadius: 5, + ), + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Obx(() { + final pelanggan = controller.pelangganData.value; + final nama = pelanggan['nama'] ?? 'Pelanggan'; + + return Row( + children: [ + CircleAvatar( + radius: 20, + backgroundColor: AppColorsPetugas.babyBlueBright, + child: Text( + nama.substring(0, 1).toUpperCase(), + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.navyBlue, + ), + ), + ), + const SizedBox(width: 12), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + nama, + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + ), + ), + const SizedBox(height: 2), + Obx( + () => Text( + 'Pelanggan ${controller.serviceName.value}', + style: TextStyle( + fontSize: 14, + color: Colors.grey.shade600, + ), + ), + ), + ], + ), + ), + Container( + padding: const EdgeInsets.symmetric( + horizontal: 12, + vertical: 6, + ), + decoration: BoxDecoration( + color: Colors.green.withOpacity(0.1), + borderRadius: BorderRadius.circular(20), + ), + child: Row( + children: [ + const Icon( + Icons.check_circle, + size: 14, + color: Colors.green, + ), + const SizedBox(width: 4), + Text( + 'Aktif', + style: const TextStyle( + fontSize: 12, + fontWeight: FontWeight.w600, + color: Colors.green, + ), + ), + ], + ), + ), + ], + ); + }), + const SizedBox(height: 16), + const Text( + 'Riwayat Tagihan Bulanan', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: Colors.black87, + ), + ), + const SizedBox(height: 8), + Text( + 'Daftar periode tagihan dan status pembayaran', + style: TextStyle(fontSize: 14, color: Colors.grey.shade600), + ), + ], + ), + ); + } + + Widget _buildPeriodeList() { + return Obx(() { + if (controller.isLoading.value) { + return const Center(child: CircularProgressIndicator()); + } + + if (controller.filteredPeriodeList.isEmpty) { + return _buildEmptyState(); + } + + return ListView.builder( + padding: const EdgeInsets.all(16), + itemCount: controller.filteredPeriodeList.length, + itemBuilder: (context, index) { + final periode = controller.filteredPeriodeList[index]; + return _buildPeriodeCard(periode); + }, + ); + }); + } + + Widget _buildPeriodeCard(Map periode) { + final statusColor = Color( + controller.getStatusColor(periode['status_pembayaran']), + ); + final isCurrent = periode['is_current'] ?? false; + + return Container( + margin: const EdgeInsets.only(bottom: 16), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + border: + isCurrent + ? Border.all(color: AppColorsPetugas.blueGrotto, width: 2) + : null, + ), + child: InkWell( + onTap: () { + Get.snackbar( + 'Informasi', + 'Detail tagihan untuk periode ini tidak tersedia', + backgroundColor: Colors.orange.withOpacity(0.1), + colorText: Colors.orange.shade800, + duration: const Duration(seconds: 3), + snackPosition: SnackPosition.BOTTOM, + margin: const EdgeInsets.all(8), + ); + }, + borderRadius: BorderRadius.circular(16), + child: Column( + children: [ + Container( + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + color: + isCurrent + ? AppColorsPetugas.babyBlueBright.withOpacity(0.3) + : Colors.white, + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(16), + topRight: Radius.circular(16), + ), + ), + child: Row( + children: [ + Container( + width: 50, + height: 50, + decoration: BoxDecoration( + color: AppColorsPetugas.babyBlueBright, + borderRadius: BorderRadius.circular(12), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + periode['bulan'].substring(0, 3), + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.navyBlue, + ), + ), + Text( + periode['tahun'], + style: TextStyle( + fontSize: 12, + color: AppColorsPetugas.navyBlue, + ), + ), + ], + ), + ), + const SizedBox(width: 16), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Periode ${controller.getPeriodeString(periode)}', + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + ), + ), + const SizedBox(height: 4), + Row( + children: [ + Icon( + Icons.calendar_today, + size: 14, + color: Colors.grey.shade600, + ), + const SizedBox(width: 4), + Text( + 'Jatuh tempo: 20 ${periode['bulan']} ${periode['tahun']}', + style: TextStyle( + fontSize: 13, + color: Colors.grey.shade600, + ), + ), + ], + ), + ], + ), + ), + Container( + padding: const EdgeInsets.symmetric( + horizontal: 12, + vertical: 6, + ), + decoration: BoxDecoration( + color: statusColor.withOpacity(0.1), + borderRadius: BorderRadius.circular(20), + ), + child: Row( + children: [ + Icon( + periode['status_pembayaran'].toLowerCase() == 'lunas' + ? Icons.check_circle + : Icons.pending, + size: 14, + color: statusColor, + ), + const SizedBox(width: 4), + Text( + periode['status_pembayaran'], + style: TextStyle( + fontSize: 12, + fontWeight: FontWeight.w600, + color: statusColor, + ), + ), + ], + ), + ), + ], + ), + ), + const Divider(height: 1), + Padding( + padding: const EdgeInsets.all(16), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Nominal', + style: TextStyle( + fontSize: 12, + color: Colors.grey.shade600, + ), + ), + const SizedBox(height: 2), + Text( + periode['nominal'], + style: const TextStyle( + fontSize: 14, + fontWeight: FontWeight.bold, + ), + ), + ], + ), + if (periode['status_pembayaran'].toLowerCase() == 'lunas') + Column( + crossAxisAlignment: CrossAxisAlignment.end, + children: [ + Text( + 'Tanggal Bayar', + style: TextStyle( + fontSize: 12, + color: Colors.grey.shade600, + ), + ), + const SizedBox(height: 2), + Text( + periode['tanggal_pembayaran'], + style: const TextStyle( + fontSize: 14, + fontWeight: FontWeight.bold, + ), + ), + ], + ) + else + TextButton.icon( + onPressed: () {}, + icon: Icon( + Icons.payment, + size: 16, + color: AppColorsPetugas.blueGrotto, + ), + label: Text( + 'Bayar Sekarang', + style: TextStyle(color: AppColorsPetugas.blueGrotto), + ), + style: TextButton.styleFrom( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(20), + side: BorderSide(color: AppColorsPetugas.blueGrotto), + ), + padding: const EdgeInsets.symmetric( + horizontal: 12, + vertical: 6, + ), + ), + ), + ], + ), + ), + if (isCurrent) + Container( + width: double.infinity, + padding: const EdgeInsets.symmetric(vertical: 8), + decoration: BoxDecoration( + color: AppColorsPetugas.babyBlueBright.withOpacity(0.3), + borderRadius: const BorderRadius.only( + bottomLeft: Radius.circular(16), + bottomRight: Radius.circular(16), + ), + ), + child: Center( + child: Text( + 'Periode Berjalan', + style: TextStyle( + fontSize: 12, + fontWeight: FontWeight.w600, + color: AppColorsPetugas.navyBlue, + ), + ), + ), + ), + ], + ), + ), + ); + } + + Widget _buildEmptyState() { + return Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon(Icons.receipt_long, size: 60, color: Colors.grey.shade400), + const SizedBox(height: 16), + Text( + 'Tidak ada riwayat tagihan', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: Colors.grey.shade700, + ), + ), + const SizedBox(height: 8), + Text( + 'Pelanggan belum memiliki riwayat tagihan', + style: TextStyle(fontSize: 14, color: Colors.grey.shade600), + ), + ], + ), + ); + } + + void _showPeriodeDetails(Map periode) { + final statusColor = Color( + controller.getStatusColor(periode['status_pembayaran']), + ); + + Get.dialog( + Dialog( + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Container( + padding: const EdgeInsets.all(20), + decoration: BoxDecoration( + color: AppColorsPetugas.navyBlue, + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ), + ), + child: Row( + children: [ + Container( + width: 50, + height: 50, + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(12), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + periode['bulan'].substring(0, 3), + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.navyBlue, + ), + ), + Text( + periode['tahun'], + style: TextStyle( + fontSize: 12, + color: AppColorsPetugas.navyBlue, + ), + ), + ], + ), + ), + const SizedBox(width: 16), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Detail Tagihan', + style: const TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: Colors.white, + ), + ), + const SizedBox(height: 4), + Text( + 'Periode ${controller.getPeriodeString(periode)}', + style: TextStyle( + fontSize: 14, + color: Colors.white.withOpacity(0.9), + ), + ), + ], + ), + ), + ], + ), + ), + Padding( + padding: const EdgeInsets.all(20), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Container( + padding: const EdgeInsets.symmetric( + horizontal: 12, + vertical: 6, + ), + decoration: BoxDecoration( + color: statusColor.withOpacity(0.1), + borderRadius: BorderRadius.circular(20), + ), + child: Row( + children: [ + Icon( + periode['status_pembayaran'].toLowerCase() == + 'lunas' + ? Icons.check_circle + : Icons.pending, + size: 14, + color: statusColor, + ), + const SizedBox(width: 4), + Text( + periode['status_pembayaran'], + style: TextStyle( + fontSize: 12, + fontWeight: FontWeight.w600, + color: statusColor, + ), + ), + ], + ), + ), + ], + ), + const SizedBox(height: 20), + const Text( + 'Informasi Tagihan', + style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 16), + _buildDetailRow( + icon: Icons.person, + label: 'Pelanggan', + value: + controller.pelangganData.value['nama'] ?? 'Pelanggan', + ), + const SizedBox(height: 12), + _buildDetailRow( + icon: Icons.calendar_today, + label: 'Periode', + value: controller.getPeriodeString(periode), + ), + const SizedBox(height: 12), + _buildDetailRow( + icon: Icons.attach_money, + label: 'Nominal', + value: periode['nominal'], + ), + const SizedBox(height: 12), + _buildDetailRow( + icon: Icons.event, + label: 'Jatuh Tempo', + value: '20 ${periode['bulan']} ${periode['tahun']}', + ), + if (periode['status_pembayaran'].toLowerCase() == + 'lunas') ...[ + const SizedBox(height: 20), + const Text( + 'Informasi Pembayaran', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + ), + ), + const SizedBox(height: 16), + _buildDetailRow( + icon: Icons.date_range, + label: 'Tanggal Pembayaran', + value: periode['tanggal_pembayaran'], + ), + const SizedBox(height: 12), + _buildDetailRow( + icon: Icons.payment, + label: 'Metode Pembayaran', + value: periode['metode_pembayaran'], + ), + if (periode['keterangan'] != null) ...[ + const SizedBox(height: 12), + _buildDetailRow( + icon: Icons.info_outline, + label: 'Keterangan', + value: periode['keterangan'], + ), + ], + ], + const SizedBox(height: 20), + Row( + children: [ + Expanded( + child: ElevatedButton.icon( + onPressed: () => Get.back(), + icon: const Icon(Icons.close), + label: const Text('Tutup'), + style: ElevatedButton.styleFrom( + backgroundColor: AppColorsPetugas.navyBlue, + foregroundColor: Colors.white, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10), + ), + padding: const EdgeInsets.symmetric(vertical: 12), + ), + ), + ), + ], + ), + ], + ), + ), + ], + ), + ), + ); + } + + Widget _buildDetailRow({ + required IconData icon, + required String label, + required String value, + }) { + return Row( + children: [ + Container( + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: AppColorsPetugas.babyBlueBright, + borderRadius: BorderRadius.circular(8), + ), + child: Icon(icon, size: 16, color: AppColorsPetugas.navyBlue), + ), + const SizedBox(width: 12), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + label, + style: TextStyle(fontSize: 12, color: Colors.grey.shade600), + ), + Text( + value, + style: const TextStyle( + fontSize: 14, + fontWeight: FontWeight.w500, + ), + ), + ], + ), + ), + ], + ); + } +} diff --git a/lib/app/modules/petugas_bumdes/views/petugas_aset_view.dart b/lib/app/modules/petugas_bumdes/views/petugas_aset_view.dart new file mode 100644 index 0000000..c6a0c35 --- /dev/null +++ b/lib/app/modules/petugas_bumdes/views/petugas_aset_view.dart @@ -0,0 +1,1291 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import '../controllers/petugas_aset_controller.dart'; +import '../../../theme/app_colors_petugas.dart'; +import '../widgets/petugas_bumdes_bottom_navbar.dart'; +import '../widgets/petugas_side_navbar.dart'; +import '../controllers/petugas_bumdes_dashboard_controller.dart'; +import '../../../routes/app_routes.dart'; + +class PetugasAsetView extends StatefulWidget { + const PetugasAsetView({Key? key}) : super(key: key); + + @override + State createState() => _PetugasAsetViewState(); +} + +class _PetugasAsetViewState extends State + with SingleTickerProviderStateMixin { + late TabController _tabController; + late PetugasAsetController controller; + + @override + void initState() { + super.initState(); + controller = Get.find(); + _tabController = TabController(length: 2, vsync: this); + + // Listen to tab changes and update controller + _tabController.addListener(() { + if (!_tabController.indexIsChanging) { + controller.changeTab(_tabController.index); + } + }); + + // Listen to controller tab changes and update TabController + ever(controller.selectedTabIndex, (index) { + if (_tabController.index != index) { + _tabController.animateTo(index); + } + }); + } + + @override + void dispose() { + _tabController.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + // Get dashboard controller for navigation + final dashboardController = Get.find(); + + return WillPopScope( + onWillPop: () async { + // Saat back button ditekan, kembali ke dashboard + dashboardController.changeTab(0); + return false; + }, + child: Scaffold( + appBar: AppBar( + title: const Text( + 'Manajemen Aset', + style: TextStyle(fontWeight: FontWeight.w600), + ), + backgroundColor: AppColorsPetugas.navyBlue, + foregroundColor: Colors.white, + elevation: 0, + actions: [ + IconButton( + icon: const Icon(Icons.sort, size: 22), + onPressed: () => _showSortingBottomSheet(context), + tooltip: 'Urutkan', + ), + const SizedBox(width: 8), + ], + ), + drawer: PetugasSideNavbar(controller: dashboardController), + drawerEdgeDragWidth: 60, + drawerScrimColor: Colors.black.withOpacity(0.6), + backgroundColor: AppColorsPetugas.babyBlueBright, + body: Column( + children: [ + _buildSearchBar(), + _buildTabBar(), + Expanded(child: _buildAssetList()), + ], + ), + bottomNavigationBar: Obx( + () => PetugasBumdesBottomNavbar( + selectedIndex: dashboardController.currentTabIndex.value, + onItemTapped: (index) => dashboardController.changeTab(index), + ), + ), + floatingActionButton: FloatingActionButton.extended( + onPressed: () => Get.toNamed(Routes.PETUGAS_TAMBAH_ASET), + backgroundColor: AppColorsPetugas.babyBlueBright, + icon: Icon(Icons.add, color: AppColorsPetugas.blueGrotto), + label: Text( + "Tambah Aset", + style: TextStyle( + color: AppColorsPetugas.blueGrotto, + fontWeight: FontWeight.w600, + ), + ), + ), + ), + ); + } + + Widget _buildSearchBar() { + return Container( + padding: const EdgeInsets.fromLTRB(16, 16, 16, 8), + decoration: BoxDecoration( + color: Colors.white, + boxShadow: [ + BoxShadow( + color: AppColorsPetugas.shadowColor, + blurRadius: 10, + offset: const Offset(0, 1), + ), + ], + ), + child: TextField( + onChanged: controller.setSearchQuery, + decoration: InputDecoration( + hintText: 'Cari aset...', + hintStyle: TextStyle(color: Colors.grey.shade400), + prefixIcon: Icon( + Icons.search, + color: AppColorsPetugas.textSecondary, + size: 20, + ), + filled: true, + fillColor: AppColorsPetugas.babyBlueBright, + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(12), + borderSide: BorderSide.none, + ), + contentPadding: const EdgeInsets.symmetric(vertical: 0), + isDense: true, + ), + ), + ); + } + + Widget _buildTabBar() { + return Container( + margin: const EdgeInsets.fromLTRB(16, 16, 16, 0), + decoration: BoxDecoration( + color: AppColorsPetugas.babyBlueLight, + borderRadius: BorderRadius.circular(12), + ), + child: TabBar( + controller: _tabController, + labelColor: Colors.white, + unselectedLabelColor: AppColorsPetugas.textSecondary, + indicatorSize: TabBarIndicatorSize.tab, + indicator: BoxDecoration( + color: AppColorsPetugas.blueGrotto, + borderRadius: BorderRadius.circular(12), + ), + dividerColor: Colors.transparent, + tabs: const [ + Tab( + child: Padding( + padding: EdgeInsets.symmetric(vertical: 8), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon(Icons.shopping_cart, size: 18), + SizedBox(width: 8), + Text('Sewa', style: TextStyle(fontWeight: FontWeight.w600)), + ], + ), + ), + ), + Tab( + child: Padding( + padding: EdgeInsets.symmetric(vertical: 8), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon(Icons.subscriptions, size: 18), + SizedBox(width: 8), + Text( + 'Langganan', + style: TextStyle(fontWeight: FontWeight.w600), + ), + ], + ), + ), + ), + ], + ), + ); + } + + Widget _buildAssetList() { + return Obx(() { + if (controller.isLoading.value) { + return Center( + child: CircularProgressIndicator( + color: AppColorsPetugas.blueGrotto, + strokeWidth: 3, + ), + ); + } + + if (controller.filteredAsetList.isEmpty) { + return Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon( + Icons.inventory_2_outlined, + size: 80, + color: AppColorsPetugas.babyBlue, + ), + const SizedBox(height: 24), + Text( + 'Tidak ada aset ${controller.selectedTabIndex.value == 0 ? "sewa" : "langganan"} ditemukan', + style: TextStyle( + fontSize: 16, + color: AppColorsPetugas.textSecondary, + fontWeight: FontWeight.w500, + ), + ), + const SizedBox(height: 16), + ElevatedButton.icon( + onPressed: () => _showAddEditAssetDialog(Get.context!), + icon: const Icon(Icons.add), + label: Text( + 'Tambah Aset ${controller.selectedTabIndex.value == 0 ? "Sewa" : "Langganan"}', + ), + style: ElevatedButton.styleFrom( + backgroundColor: AppColorsPetugas.blueGrotto, + foregroundColor: Colors.white, + padding: const EdgeInsets.symmetric( + horizontal: 24, + vertical: 12, + ), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(12), + ), + ), + ), + ], + ), + ); + } + + return RefreshIndicator( + onRefresh: controller.loadAsetData, + color: AppColorsPetugas.blueGrotto, + child: ListView.builder( + padding: const EdgeInsets.all(16), + itemCount: controller.filteredAsetList.length, + itemBuilder: (context, index) { + final aset = controller.filteredAsetList[index]; + return _buildAssetCard(context, aset); + }, + ), + ); + }); + } + + Widget _buildAssetCard(BuildContext context, Map aset) { + final isAvailable = aset['tersedia'] == true; + + return Container( + margin: const EdgeInsets.only(bottom: 12), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(12), + boxShadow: [ + BoxShadow( + color: AppColorsPetugas.shadowColor, + blurRadius: 5, + offset: const Offset(0, 2), + ), + ], + ), + child: ClipRRect( + borderRadius: BorderRadius.circular(12), + child: Material( + color: Colors.transparent, + child: InkWell( + onTap: () => _showAssetDetails(context, aset), + child: Row( + children: [ + // Asset image + Container( + width: 80, + height: 80, + decoration: BoxDecoration( + color: AppColorsPetugas.babyBlueLight, + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(12), + bottomLeft: Radius.circular(12), + ), + ), + child: Center( + child: Icon( + _getAssetIcon(aset['kategori']), + color: AppColorsPetugas.navyBlue, + size: 32, + ), + ), + ), + + // Asset info + Expanded( + child: Padding( + padding: const EdgeInsets.all(12), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + // Name + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + aset['nama'], + style: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 14, + color: AppColorsPetugas.navyBlue, + ), + maxLines: 2, + overflow: TextOverflow.ellipsis, + ), + const SizedBox(height: 4), + Text( + '${controller.formatPrice(aset['harga'])} ${aset['satuan']}', + style: TextStyle( + fontSize: 12, + color: AppColorsPetugas.textSecondary, + ), + ), + ], + ), + ), + + // Status badge + Container( + padding: const EdgeInsets.symmetric( + horizontal: 8, + vertical: 4, + ), + decoration: BoxDecoration( + color: + isAvailable + ? AppColorsPetugas.successLight + : AppColorsPetugas.errorLight, + borderRadius: BorderRadius.circular(8), + border: Border.all( + color: + isAvailable + ? AppColorsPetugas.success + : AppColorsPetugas.error, + width: 1, + ), + ), + child: Text( + isAvailable ? 'Tersedia' : 'Kosong', + style: TextStyle( + fontSize: 10, + color: + isAvailable + ? AppColorsPetugas.success + : AppColorsPetugas.error, + fontWeight: FontWeight.w500, + ), + ), + ), + + // Action icons + const SizedBox(width: 12), + Row( + children: [ + // Edit icon + GestureDetector( + onTap: + () => _showAddEditAssetDialog( + context, + aset: aset, + ), + child: Container( + padding: const EdgeInsets.all(5), + decoration: BoxDecoration( + color: AppColorsPetugas.babyBlueBright, + borderRadius: BorderRadius.circular(6), + border: Border.all( + color: AppColorsPetugas.blueGrotto + .withOpacity(0.5), + ), + ), + child: Icon( + Icons.edit_outlined, + color: AppColorsPetugas.blueGrotto, + size: 16, + ), + ), + ), + + const SizedBox(width: 8), + + // Delete icon + GestureDetector( + onTap: + () => _showDeleteConfirmation(context, aset), + child: Container( + padding: const EdgeInsets.all(5), + decoration: BoxDecoration( + color: AppColorsPetugas.errorLight, + borderRadius: BorderRadius.circular(6), + border: Border.all( + color: AppColorsPetugas.error.withOpacity( + 0.5, + ), + ), + ), + child: Icon( + Icons.delete_outline, + color: AppColorsPetugas.error, + size: 16, + ), + ), + ), + ], + ), + ], + ), + ), + ), + ], + ), + ), + ), + ), + ); + } + + IconData _getAssetIcon(String category) { + switch (category.toLowerCase()) { + case 'elektronik': + return Icons.devices; + case 'furniture': + return Icons.chair; + case 'kendaraan': + return Icons.directions_car; + default: + return Icons.inventory_2; + } + } + + void _showSortingBottomSheet(BuildContext context) { + showModalBottomSheet( + context: context, + shape: const RoundedRectangleBorder( + borderRadius: BorderRadius.vertical(top: Radius.circular(20)), + ), + builder: (context) { + return Container( + padding: const EdgeInsets.all(24), + decoration: BoxDecoration( + color: Colors.white, + boxShadow: [ + BoxShadow( + color: AppColorsPetugas.shadowColor, + blurRadius: 10, + offset: const Offset(0, -5), + ), + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + // Header + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'Urutkan Aset', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.navyBlue, + ), + ), + IconButton( + icon: Icon( + Icons.close, + color: AppColorsPetugas.textSecondary, + ), + onPressed: () => Navigator.pop(context), + padding: EdgeInsets.zero, + constraints: const BoxConstraints(), + ), + ], + ), + Divider(height: 24, color: AppColorsPetugas.divider), + // Options + ...controller.sortOptions.map((option) { + return Obx(() { + final isSelected = option == controller.sortBy.value; + return Material( + color: Colors.transparent, + child: InkWell( + onTap: () { + controller.setSortBy(option); + Navigator.pop(context); + }, + borderRadius: BorderRadius.circular(12), + child: Container( + padding: const EdgeInsets.symmetric( + vertical: 12, + horizontal: 8, + ), + decoration: BoxDecoration( + color: + isSelected + ? AppColorsPetugas.babyBlueBright + : Colors.transparent, + borderRadius: BorderRadius.circular(8), + ), + child: Row( + children: [ + Icon( + _getSortOptionIcon(option), + color: + isSelected + ? AppColorsPetugas.blueGrotto + : AppColorsPetugas.textSecondary, + size: 20, + ), + const SizedBox(width: 16), + Text( + option, + style: TextStyle( + fontSize: 16, + fontWeight: + isSelected + ? FontWeight.bold + : FontWeight.normal, + color: + isSelected + ? AppColorsPetugas.navyBlue + : AppColorsPetugas.textPrimary, + ), + ), + const Spacer(), + if (isSelected) + Icon( + Icons.check_circle, + color: AppColorsPetugas.blueGrotto, + size: 20, + ), + ], + ), + ), + ), + ); + }); + }).toList(), + ], + ), + ); + }, + ); + } + + IconData _getSortOptionIcon(String option) { + switch (option) { + case 'Nama (A-Z)': + return Icons.sort_by_alpha; + case 'Nama (Z-A)': + return Icons.sort_by_alpha; + case 'Harga (Rendah-Tinggi)': + return Icons.arrow_upward; + case 'Harga (Tinggi-Rendah)': + return Icons.arrow_downward; + default: + return Icons.sort; + } + } + + void _showAssetDetails(BuildContext context, Map aset) { + final isAvailable = aset['tersedia'] == true; + + showModalBottomSheet( + context: context, + isScrollControlled: true, + backgroundColor: Colors.transparent, + builder: (context) { + return Container( + height: MediaQuery.of(context).size.height * 0.85, + decoration: const BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.vertical(top: Radius.circular(20)), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + // Header with gradient + Container( + padding: const EdgeInsets.fromLTRB(24, 16, 24, 24), + decoration: BoxDecoration( + gradient: LinearGradient( + colors: [ + AppColorsPetugas.blueGrotto, + AppColorsPetugas.navyBlue, + ], + begin: Alignment.topLeft, + end: Alignment.bottomRight, + ), + borderRadius: const BorderRadius.vertical( + top: Radius.circular(20), + ), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Close button and availability badge + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + padding: const EdgeInsets.symmetric( + horizontal: 12, + vertical: 6, + ), + decoration: BoxDecoration( + color: + isAvailable + ? AppColorsPetugas.successLight + : AppColorsPetugas.errorLight, + borderRadius: BorderRadius.circular(20), + border: Border.all( + color: + isAvailable + ? AppColorsPetugas.success + : AppColorsPetugas.error, + width: 1, + ), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Icon( + isAvailable ? Icons.check_circle : Icons.cancel, + color: + isAvailable + ? AppColorsPetugas.success + : AppColorsPetugas.error, + size: 16, + ), + const SizedBox(width: 4), + Text( + isAvailable ? 'Tersedia' : 'Tidak Tersedia', + style: TextStyle( + fontSize: 12, + color: + isAvailable + ? AppColorsPetugas.success + : AppColorsPetugas.error, + fontWeight: FontWeight.bold, + ), + ), + ], + ), + ), + GestureDetector( + onTap: () => Navigator.pop(context), + child: Container( + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: Colors.white.withOpacity(0.3), + shape: BoxShape.circle, + ), + child: const Icon( + Icons.close, + color: Colors.white, + size: 20, + ), + ), + ), + ], + ), + + const SizedBox(height: 16), + + // Category badge + Container( + padding: const EdgeInsets.symmetric( + horizontal: 12, + vertical: 4, + ), + decoration: BoxDecoration( + color: Colors.white.withOpacity(0.3), + borderRadius: BorderRadius.circular(12), + ), + child: Text( + aset['kategori'], + style: const TextStyle( + fontSize: 12, + color: Colors.white, + fontWeight: FontWeight.w500, + ), + ), + ), + + const SizedBox(height: 12), + + // Asset name + Text( + aset['nama'], + style: const TextStyle( + fontSize: 24, + fontWeight: FontWeight.bold, + color: Colors.white, + ), + ), + + const SizedBox(height: 8), + + // Price + Row( + children: [ + const Icon( + Icons.monetization_on, + color: Colors.white, + size: 18, + ), + const SizedBox(width: 8), + Text( + '${controller.formatPrice(aset['harga'])} ${aset['satuan']}', + style: const TextStyle( + fontSize: 18, + fontWeight: FontWeight.w600, + color: Colors.white, + ), + ), + ], + ), + ], + ), + ), + + // Asset details + Expanded( + child: SingleChildScrollView( + padding: const EdgeInsets.all(24), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Quick info cards + Row( + children: [ + _buildInfoCard( + Icons.inventory_2, + 'Stok', + '${aset['stok']} unit', + flex: 1, + ), + const SizedBox(width: 16), + _buildInfoCard( + Icons.category, + 'Jenis', + aset['jenis'], + flex: 1, + ), + ], + ), + + const SizedBox(height: 24), + + // Description section + Text( + 'Deskripsi', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.navyBlue, + ), + ), + const SizedBox(height: 8), + Text( + aset['deskripsi'], + style: TextStyle( + fontSize: 14, + color: AppColorsPetugas.textPrimary, + height: 1.5, + ), + ), + + const SizedBox(height: 32), + ], + ), + ), + ), + + // Action buttons + Container( + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + color: Colors.white, + boxShadow: [ + BoxShadow( + color: AppColorsPetugas.shadowColor, + blurRadius: 10, + offset: const Offset(0, -5), + ), + ], + ), + child: Row( + children: [ + Expanded( + child: OutlinedButton.icon( + onPressed: () { + Navigator.pop(context); + _showAddEditAssetDialog(context, aset: aset); + }, + icon: const Icon(Icons.edit), + label: const Text('Edit'), + style: OutlinedButton.styleFrom( + foregroundColor: AppColorsPetugas.blueGrotto, + side: BorderSide(color: AppColorsPetugas.blueGrotto), + padding: const EdgeInsets.symmetric(vertical: 12), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(12), + ), + ), + ), + ), + const SizedBox(width: 16), + Expanded( + child: ElevatedButton.icon( + onPressed: () { + Navigator.pop(context); + _showDeleteConfirmation(context, aset); + }, + icon: const Icon(Icons.delete), + label: const Text('Hapus'), + style: ElevatedButton.styleFrom( + backgroundColor: AppColorsPetugas.error, + foregroundColor: Colors.white, + elevation: 0, + padding: const EdgeInsets.symmetric(vertical: 12), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(12), + ), + ), + ), + ), + ], + ), + ), + ], + ), + ); + }, + ); + } + + Widget _buildInfoCard( + IconData icon, + String label, + String value, { + int flex = 1, + }) { + return Expanded( + flex: flex, + child: Container( + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + color: AppColorsPetugas.babyBlueBright, + borderRadius: BorderRadius.circular(12), + border: Border.all(color: AppColorsPetugas.babyBlue), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Icon(icon, size: 16, color: AppColorsPetugas.blueGrotto), + const SizedBox(width: 8), + Text( + label, + style: TextStyle( + fontSize: 12, + color: AppColorsPetugas.textSecondary, + fontWeight: FontWeight.w500, + ), + ), + ], + ), + const SizedBox(height: 8), + Text( + value, + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.navyBlue, + ), + ), + ], + ), + ), + ); + } + + Widget _buildDetailItem(String label, String value) { + return Padding( + padding: const EdgeInsets.only(bottom: 16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + label, + style: TextStyle( + fontSize: 13, + color: AppColorsPetugas.textSecondary, + fontWeight: FontWeight.w500, + ), + ), + const SizedBox(height: 6), + Text( + value, + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w500, + color: AppColorsPetugas.textPrimary, + ), + ), + ], + ), + ); + } + + void _showAddEditAssetDialog( + BuildContext context, { + Map? aset, + }) { + final isEditing = aset != null; + final jenisOptions = ['Sewa', 'Langganan']; + final typeOptions = ['Elektronik', 'Furniture', 'Kendaraan', 'Lainnya']; + + // In a real app, this would have proper form handling with controllers + showDialog( + context: context, + builder: (context) { + return Dialog( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(20), + ), + child: Container( + padding: const EdgeInsets.all(24), + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Header + Row( + children: [ + Container( + padding: const EdgeInsets.all(10), + decoration: BoxDecoration( + color: AppColorsPetugas.babyBlue, + shape: BoxShape.circle, + ), + child: Icon( + isEditing ? Icons.edit : Icons.add, + color: AppColorsPetugas.navyBlue, + ), + ), + const SizedBox(width: 16), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + isEditing ? 'Edit Aset' : 'Tambah Aset Baru', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.navyBlue, + ), + ), + const SizedBox(height: 4), + Text( + 'Silakan lengkapi form di bawah ini', + style: TextStyle( + fontSize: 14, + color: AppColorsPetugas.textSecondary, + ), + ), + ], + ), + ), + ], + ), + + const SizedBox(height: 24), + + // Mock form - In a real app this would have actual form fields + Container( + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + color: AppColorsPetugas.babyBlueBright, + borderRadius: BorderRadius.circular(12), + border: Border.all(color: AppColorsPetugas.babyBlue), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Form pengelolaan aset akan ditampilkan di sini dengan field untuk:', + style: TextStyle( + fontSize: 14, + color: AppColorsPetugas.textPrimary, + ), + ), + const SizedBox(height: 16), + _buildMockFormField('Nama Aset', 'Contoh: Meja Rapat'), + _buildMockFormField('Kategori', 'Pilih kategori aset'), + _buildMockFormField( + 'Harga', + 'Masukkan harga per unit/periode', + ), + _buildMockFormField( + 'Satuan', + 'Contoh: per hari, per bulan', + ), + _buildMockFormField('Stok', 'Jumlah unit tersedia'), + _buildMockFormField( + 'Deskripsi', + 'Keterangan lengkap aset', + ), + _buildMockToggle( + 'Status Ketersediaan', + isEditing && aset?['tersedia'] == true, + ), + ], + ), + ), + + const SizedBox(height: 24), + + // Action buttons + Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + TextButton( + onPressed: () => Navigator.pop(context), + child: Text( + 'Batal', + style: TextStyle( + color: AppColorsPetugas.textSecondary, + fontWeight: FontWeight.w600, + ), + ), + ), + const SizedBox(width: 16), + ElevatedButton( + onPressed: () { + Navigator.pop(context); + // In a real app, we would save the form data + Get.snackbar( + isEditing ? 'Aset Diperbarui' : 'Aset Ditambahkan', + isEditing + ? 'Aset berhasil diperbarui' + : 'Aset baru berhasil ditambahkan', + backgroundColor: AppColorsPetugas.success, + colorText: Colors.white, + snackPosition: SnackPosition.BOTTOM, + margin: const EdgeInsets.all(16), + borderRadius: 10, + ); + }, + style: ElevatedButton.styleFrom( + backgroundColor: AppColorsPetugas.blueGrotto, + foregroundColor: Colors.white, + padding: const EdgeInsets.symmetric( + horizontal: 24, + vertical: 12, + ), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(12), + ), + ), + child: Text(isEditing ? 'Simpan' : 'Tambah'), + ), + ], + ), + ], + ), + ), + ); + }, + ); + } + + Widget _buildMockFormField(String label, String hint) { + return Padding( + padding: const EdgeInsets.only(bottom: 12), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + label, + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.w500, + color: AppColorsPetugas.textPrimary, + ), + ), + const SizedBox(height: 6), + Container( + padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 8), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(8), + border: Border.all(color: AppColorsPetugas.babyBlue), + ), + child: Row( + children: [ + Expanded( + child: Text( + hint, + style: TextStyle( + fontSize: 14, + color: AppColorsPetugas.textLight, + ), + ), + ), + Icon( + Icons.keyboard_arrow_down, + color: AppColorsPetugas.textSecondary, + size: 20, + ), + ], + ), + ), + ], + ), + ); + } + + Widget _buildMockToggle(String label, bool value) { + return Padding( + padding: const EdgeInsets.only(bottom: 12), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + label, + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.w500, + color: AppColorsPetugas.textPrimary, + ), + ), + Switch( + value: value, + onChanged: (_) {}, + activeColor: AppColorsPetugas.blueGrotto, + ), + ], + ), + ); + } + + void _showDeleteConfirmation( + BuildContext context, + Map aset, + ) { + showDialog( + context: context, + builder: (context) { + return Dialog( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(20), + ), + child: Padding( + padding: const EdgeInsets.all(24), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + // Warning icon + Container( + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + color: AppColorsPetugas.errorLight, + shape: BoxShape.circle, + ), + child: Icon( + Icons.delete_forever, + color: AppColorsPetugas.error, + size: 32, + ), + ), + + const SizedBox(height: 24), + + // Title and message + Text( + 'Konfirmasi Hapus', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.navyBlue, + ), + textAlign: TextAlign.center, + ), + + const SizedBox(height: 12), + + Text( + 'Apakah Anda yakin ingin menghapus aset "${aset['nama']}"? Tindakan ini tidak dapat dibatalkan.', + style: TextStyle( + fontSize: 14, + color: AppColorsPetugas.textPrimary, + ), + textAlign: TextAlign.center, + ), + + const SizedBox(height: 24), + + // Action buttons + Row( + children: [ + Expanded( + child: OutlinedButton( + onPressed: () => Navigator.pop(context), + style: OutlinedButton.styleFrom( + foregroundColor: AppColorsPetugas.textPrimary, + side: BorderSide(color: AppColorsPetugas.divider), + padding: const EdgeInsets.symmetric(vertical: 12), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(12), + ), + ), + child: const Text('Batal'), + ), + ), + const SizedBox(width: 16), + Expanded( + child: ElevatedButton( + onPressed: () { + Navigator.pop(context); + controller.deleteAset(aset['id']); + Get.snackbar( + 'Aset Dihapus', + 'Aset berhasil dihapus dari sistem', + backgroundColor: AppColorsPetugas.error, + colorText: Colors.white, + snackPosition: SnackPosition.BOTTOM, + margin: const EdgeInsets.all(16), + borderRadius: 10, + icon: const Icon( + Icons.check_circle, + color: Colors.white, + ), + ); + }, + style: ElevatedButton.styleFrom( + backgroundColor: AppColorsPetugas.error, + foregroundColor: Colors.white, + padding: const EdgeInsets.symmetric(vertical: 12), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(12), + ), + ), + child: const Text('Hapus'), + ), + ), + ], + ), + ], + ), + ), + ); + }, + ); + } +} diff --git a/lib/app/modules/petugas_bumdes/views/petugas_bumdes_cbp_view.dart b/lib/app/modules/petugas_bumdes/views/petugas_bumdes_cbp_view.dart new file mode 100644 index 0000000..81264c2 --- /dev/null +++ b/lib/app/modules/petugas_bumdes/views/petugas_bumdes_cbp_view.dart @@ -0,0 +1,518 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import '../controllers/petugas_bumdes_cbp_controller.dart'; +import '../controllers/petugas_bumdes_dashboard_controller.dart'; +import '../../../theme/app_colors_petugas.dart'; +import '../../../routes/app_routes.dart'; + +class PetugasBumdesCbpView extends GetView { + const PetugasBumdesCbpView({Key? key}) : super(key: key); + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: Colors.grey.shade50, + appBar: AppBar( + title: const Text( + 'BUMDes CBP', + style: TextStyle(fontWeight: FontWeight.w600, fontSize: 18), + ), + backgroundColor: AppColorsPetugas.navyBlue, + foregroundColor: Colors.white, + elevation: 0, + ), + drawer: _buildDrawer(), + body: SafeArea( + child: Padding( + padding: const EdgeInsets.all(16.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Header Text + const Text( + 'Pengelolaan BUMDes CBP', + style: TextStyle( + fontSize: 24, + fontWeight: FontWeight.bold, + color: Color(0xFF333333), + ), + ), + const SizedBox(height: 8), + Text( + 'Kelola informasi akun bank dan petugas mitra BUMDes', + style: TextStyle(fontSize: 14, color: Colors.grey.shade600), + ), + const SizedBox(height: 24), + + // Main Content + Expanded( + child: SingleChildScrollView( + physics: const BouncingScrollPhysics(), + child: Column( + children: [ + // Bank Account Card + _buildInfoCard( + title: 'Rekening Bank', + icon: Icons.account_balance_outlined, + primaryInfo: + '${controller.bankAccounts.length} Rekening Terdaftar', + secondaryInfo: + controller.bankAccounts.isNotEmpty + ? 'Rekening Utama: ${controller.bankAccounts.firstWhere((acc) => acc['is_primary'] == true, orElse: () => {'bank_name': 'Tidak ada'})['bank_name']}' + : 'Belum ada rekening utama', + gradient: const LinearGradient( + colors: [Color(0xFF0072B5), Color(0xFF0088CC)], + begin: Alignment.topLeft, + end: Alignment.bottomRight, + ), + onTap: _showBankAccountsPage, + ), + + const SizedBox(height: 16), + + // Partners Card + _buildInfoCard( + title: 'Petugas Mitra', + icon: Icons.people_outline_rounded, + primaryInfo: '${controller.partners.length} Mitra', + secondaryInfo: + '${controller.partners.where((p) => p['is_active'] == true).length} Mitra Aktif', + gradient: const LinearGradient( + colors: [Color(0xFF00B4D8), Color(0xFF48CAE4)], + begin: Alignment.topLeft, + end: Alignment.bottomRight, + ), + onTap: _showPartnersPage, + ), + ], + ), + ), + ), + ], + ), + ), + ), + bottomNavigationBar: _buildBottomNavigationBar(), + ); + } + + Widget _buildInfoCard({ + required String title, + required IconData icon, + required String primaryInfo, + required String secondaryInfo, + required Gradient gradient, + required VoidCallback onTap, + }) { + return GestureDetector( + onTap: onTap, + child: Container( + width: double.infinity, + decoration: BoxDecoration( + gradient: gradient, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: gradient.colors.first.withOpacity(0.3), + blurRadius: 10, + offset: const Offset(0, 4), + ), + ], + ), + child: Padding( + padding: const EdgeInsets.all(20), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Icon(icon, color: Colors.white, size: 30), + const SizedBox(width: 12), + Text( + title, + style: const TextStyle( + color: Colors.white, + fontSize: 22, + fontWeight: FontWeight.bold, + ), + ), + ], + ), + const SizedBox(height: 16), + Text( + primaryInfo, + style: const TextStyle( + color: Colors.white, + fontSize: 18, + fontWeight: FontWeight.w500, + ), + ), + const SizedBox(height: 4), + Text( + secondaryInfo, + style: TextStyle( + color: Colors.white.withOpacity(0.85), + fontSize: 14, + ), + ), + const SizedBox(height: 10), + Align( + alignment: Alignment.bottomRight, + child: Container( + padding: const EdgeInsets.symmetric( + horizontal: 12, + vertical: 6, + ), + decoration: BoxDecoration( + color: Colors.white.withOpacity(0.2), + borderRadius: BorderRadius.circular(16), + ), + child: const Row( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + 'Lihat Detail', + style: TextStyle( + color: Colors.white, + fontSize: 12, + fontWeight: FontWeight.w500, + ), + ), + SizedBox(width: 4), + Icon(Icons.arrow_forward, color: Colors.white, size: 12), + ], + ), + ), + ), + ], + ), + ), + ), + ); + } + + Widget _buildBottomNavigationBar() { + return Container( + decoration: BoxDecoration( + color: Colors.white, + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.1), + blurRadius: 10, + offset: const Offset(0, -2), + ), + ], + ), + child: ClipRRect( + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(0), + topRight: Radius.circular(0), + ), + child: BottomNavigationBar( + currentIndex: 5, // BUMDes tab + type: BottomNavigationBarType.fixed, + backgroundColor: Colors.white, + selectedItemColor: AppColorsPetugas.blueGrotto, + unselectedItemColor: Colors.grey, + selectedLabelStyle: const TextStyle(fontSize: 12), + unselectedLabelStyle: const TextStyle(fontSize: 12), + onTap: (index) { + // Use the dashboard controller to handle tab navigation + // This is typically provided by the parent Dashboard + final dashboardController = + Get.find(); + dashboardController.changeTab(index); + }, + items: const [ + BottomNavigationBarItem( + icon: Icon(Icons.dashboard_outlined), + activeIcon: Icon(Icons.dashboard), + label: 'Dashboard', + ), + BottomNavigationBarItem( + icon: Icon(Icons.inventory_2_outlined), + activeIcon: Icon(Icons.inventory_2), + label: 'Aset', + ), + BottomNavigationBarItem( + icon: Icon(Icons.archive_outlined), + activeIcon: Icon(Icons.archive), + label: 'Paket', + ), + BottomNavigationBarItem( + icon: Icon(Icons.assignment_outlined), + activeIcon: Icon(Icons.assignment), + label: 'Sewa', + ), + BottomNavigationBarItem( + icon: Icon(Icons.subscriptions_outlined), + activeIcon: Icon(Icons.subscriptions), + label: 'Langganan', + ), + BottomNavigationBarItem( + icon: Icon(Icons.business_outlined), + activeIcon: Icon(Icons.business), + label: 'BUMDes', + ), + ], + ), + ), + ); + } + + Widget _buildDrawer() { + return Drawer( + child: ListView( + padding: EdgeInsets.zero, + children: [ + DrawerHeader( + decoration: BoxDecoration(color: AppColorsPetugas.navyBlue), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.end, + children: [ + const CircleAvatar( + backgroundColor: Colors.white, + radius: 30, + child: Icon(Icons.person, size: 40, color: Colors.blueGrey), + ), + const SizedBox(height: 10), + const Text( + 'Admin BUMDes', + style: TextStyle( + color: Colors.white, + fontSize: 16, + fontWeight: FontWeight.bold, + ), + ), + Text( + 'admin@bumdes.desa.id', + style: TextStyle( + color: Colors.white.withOpacity(0.8), + fontSize: 12, + ), + ), + ], + ), + ), + ListTile( + leading: const Icon(Icons.dashboard_outlined), + title: const Text('Dashboard'), + onTap: () { + Get.offAllNamed(Routes.PETUGAS_BUMDES_DASHBOARD); + }, + ), + ListTile( + leading: const Icon(Icons.inventory_2_outlined), + title: const Text('Kelola Aset'), + onTap: () { + Get.offAllNamed(Routes.PETUGAS_ASET); + }, + ), + ListTile( + leading: const Icon(Icons.feed_outlined), + title: const Text('Kelola Paket'), + onTap: () { + Get.offAllNamed(Routes.PETUGAS_PAKET); + }, + ), + ListTile( + leading: const Icon(Icons.assignment_outlined), + title: const Text('Kelola Permintaan Sewa'), + onTap: () { + Get.offAllNamed(Routes.PETUGAS_SEWA); + }, + ), + ListTile( + leading: const Icon(Icons.subscriptions_outlined), + title: const Text('Kelola Langganan'), + onTap: () { + Get.offAllNamed(Routes.PETUGAS_LANGGANAN); + }, + ), + ListTile( + leading: const Icon(Icons.business_outlined), + title: const Text('BUMDes CBP'), + tileColor: Colors.blue.shade50, + onTap: () { + Get.back(); + }, + ), + const Divider(), + ListTile( + leading: const Icon(Icons.logout), + title: const Text('Logout'), + onTap: () { + // Implement logout + Get.offAllNamed(Routes.LOGIN); + }, + ), + ], + ), + ); + } + + // Method to handle navigation to bank accounts management + void _showBankAccountsPage() { + Get.dialog( + Dialog( + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(16)), + child: Container( + padding: const EdgeInsets.all(20), + width: double.infinity, + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Icon( + Icons.account_balance, + color: AppColorsPetugas.blueGrotto, + size: 24, + ), + const SizedBox(width: 10), + const Text( + 'Rekening Bank', + style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), + ), + ], + ), + const SizedBox(height: 16), + Obx( + () => + controller.bankAccounts.isEmpty + ? const Center( + child: Padding( + padding: EdgeInsets.all(20), + child: Text( + 'Belum ada rekening yang terdaftar', + style: TextStyle(color: Colors.grey), + ), + ), + ) + : Column( + children: + controller.bankAccounts + .map( + (account) => _buildBankAccountItem(account), + ) + .toList(), + ), + ), + const SizedBox(height: 16), + SizedBox( + width: double.infinity, + child: ElevatedButton.icon( + onPressed: () { + Get.back(); + // Show the full-screen bank accounts page + Get.snackbar( + 'Informasi', + 'Menuju halaman kelola rekening bank', + backgroundColor: AppColorsPetugas.blueGrotto, + colorText: Colors.white, + ); + }, + icon: const Icon(Icons.arrow_forward), + label: const Text('Lihat Semua Rekening'), + style: ElevatedButton.styleFrom( + backgroundColor: AppColorsPetugas.blueGrotto, + padding: const EdgeInsets.symmetric(vertical: 12), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + ), + ), + ), + ], + ), + ), + ), + ); + } + + Widget _buildBankAccountItem(Map account) { + final isPrimary = account['is_primary'] as bool; + + return Container( + margin: const EdgeInsets.only(bottom: 12), + padding: const EdgeInsets.all(12), + decoration: BoxDecoration( + color: Colors.grey.shade50, + borderRadius: BorderRadius.circular(8), + border: Border.all( + color: isPrimary ? AppColorsPetugas.blueGrotto : Colors.grey.shade300, + width: isPrimary ? 2 : 1, + ), + ), + child: Row( + children: [ + Container( + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: AppColorsPetugas.babyBlueBright, + borderRadius: BorderRadius.circular(8), + ), + child: Icon( + Icons.credit_card, + color: AppColorsPetugas.blueGrotto, + size: 20, + ), + ), + const SizedBox(width: 12), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Text( + account['bank_name'], + style: const TextStyle( + fontWeight: FontWeight.bold, + fontSize: 14, + ), + ), + if (isPrimary) ...[ + const SizedBox(width: 8), + Container( + padding: const EdgeInsets.symmetric( + horizontal: 6, + vertical: 2, + ), + decoration: BoxDecoration( + color: AppColorsPetugas.blueGrotto.withOpacity(0.1), + borderRadius: BorderRadius.circular(4), + ), + child: Text( + 'Utama', + style: TextStyle( + color: AppColorsPetugas.blueGrotto, + fontSize: 10, + fontWeight: FontWeight.w500, + ), + ), + ), + ], + ], + ), + const SizedBox(height: 4), + Text( + account['account_number'], + style: TextStyle(color: Colors.grey.shade600, fontSize: 12), + ), + ], + ), + ), + ], + ), + ); + } + + // Method to handle navigation to partners management + void _showPartnersPage() { + // Navigate to the ListPetugasMitraView + Get.toNamed(Routes.LIST_PETUGAS_MITRA); + } +} diff --git a/lib/app/modules/petugas_bumdes/views/petugas_bumdes_dashboard_view.dart b/lib/app/modules/petugas_bumdes/views/petugas_bumdes_dashboard_view.dart new file mode 100644 index 0000000..fd2ef86 --- /dev/null +++ b/lib/app/modules/petugas_bumdes/views/petugas_bumdes_dashboard_view.dart @@ -0,0 +1,1322 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import 'dart:math'; +import '../controllers/petugas_bumdes_dashboard_controller.dart'; +import '../widgets/petugas_bumdes_bottom_navbar.dart'; +import '../widgets/petugas_side_navbar.dart'; +import '../../../theme/app_colors_petugas.dart'; + +class PetugasBumdesDashboardView + extends GetView { + const PetugasBumdesDashboardView({super.key}); + + @override + Widget build(BuildContext context) { + return WillPopScope( + onWillPop: () async { + // Mencegah navigasi kembali dengan tombol back + return false; + }, + child: Scaffold( + appBar: AppBar( + title: Obx(() => Text(_getTitle())), + backgroundColor: AppColorsPetugas.navyBlue, + foregroundColor: Colors.white, + elevation: 0, + actions: [ + IconButton( + icon: const Icon(Icons.logout), + onPressed: () => _showLogoutConfirmation(context), + ), + ], + ), + drawer: PetugasSideNavbar(controller: controller), + drawerEdgeDragWidth: 60, + drawerScrimColor: Colors.black.withOpacity(0.6), + body: Obx(() => _getTabContent()), + bottomNavigationBar: Obx( + () => PetugasBumdesBottomNavbar( + selectedIndex: controller.currentTabIndex.value, + onItemTapped: (index) => controller.changeTab(index), + ), + ), + floatingActionButton: Obx(() { + // Show FAB only on specific tabs + if (controller.currentTabIndex.value == 1 || // Aset + controller.currentTabIndex.value == 2) { + // Paket + return FloatingActionButton( + onPressed: () => _showAddItemDialog(context), + backgroundColor: AppColorsPetugas.babyBlueBright, + child: Icon(Icons.add, color: AppColorsPetugas.blueGrotto), + ); + } + return const SizedBox.shrink(); + }), + ), + ); + } + + String _getTitle() { + switch (controller.currentTabIndex.value) { + case 0: + return 'Dashboard Petugas BUMDES'; + case 1: + return 'Manajemen Aset'; + case 2: + return 'Manajemen Paket'; + case 3: + return 'Permintaan Sewa'; + case 4: + return 'Profil BUMDes'; + default: + return 'Dashboard Petugas BUMDES'; + } + } + + Widget _getTabContent() { + switch (controller.currentTabIndex.value) { + case 0: + return _buildDashboardTab(); + case 1: + return _buildAsetTab(); + case 2: + return _buildPaketTab(); + case 3: + return _buildSewaTab(); + case 4: + return _buildBumdesTab(); + default: + return _buildDashboardTab(); + } + } + + Widget _buildDashboardTab() { + return SingleChildScrollView( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildWelcomeCard(), + const SizedBox(height: 24), + + // Detail Status Sewa Aset section with improved header + _buildSectionHeader( + 'Detail Status Sewa Aset', + AppColorsPetugas.navyBlue, + Icons.shopping_cart_outlined, + ), + _buildDetailedStatusBreakdown(), + + const SizedBox(height: 24), + + // Revenue Statistics Section with improved header + _buildSectionHeader( + 'Statistik Pendapatan', + AppColorsPetugas.success, + Icons.account_balance_wallet_outlined, + ), + _buildRevenueStatistics(), + const SizedBox(height: 16), + _buildRevenueSources(), + const SizedBox(height: 16), + _buildRevenueTrend(), + + // Add some padding at the bottom for better scrolling + const SizedBox(height: 16), + ], + ), + ); + } + + Widget _buildWelcomeCard() { + return Card( + elevation: 2, + shadowColor: AppColorsPetugas.shadowColor, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16), + side: BorderSide(color: AppColorsPetugas.navyBlue.withOpacity(0.05)), + ), + child: Container( + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(16), + gradient: LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: [ + AppColorsPetugas.navyBlue.withOpacity(0.8), + AppColorsPetugas.blueGrotto, + ], + ), + ), + child: Padding( + padding: const EdgeInsets.all(20), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Container( + padding: const EdgeInsets.all(12), + decoration: BoxDecoration( + color: Colors.white.withOpacity(0.2), + borderRadius: BorderRadius.circular(12), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.1), + blurRadius: 8, + offset: const Offset(0, 3), + ), + ], + ), + child: const Icon( + Icons.person, + color: Colors.white, + size: 30, + ), + ), + const SizedBox(width: 16), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Container( + padding: const EdgeInsets.symmetric( + horizontal: 10, + vertical: 4, + ), + decoration: BoxDecoration( + color: Colors.white.withOpacity(0.2), + borderRadius: BorderRadius.circular(12), + ), + child: const Text( + 'Petugas BUMDES', + style: TextStyle( + fontSize: 12, + fontWeight: FontWeight.w600, + color: Colors.white, + ), + ), + ), + const SizedBox(height: 8), + const Text( + 'Selamat Datang', + style: TextStyle( + fontSize: 24, + fontWeight: FontWeight.bold, + color: Colors.white, + ), + ), + const SizedBox(height: 4), + Obx( + () => Text( + controller.userEmail.value, + style: const TextStyle( + fontSize: 14, + color: Colors.white70, + ), + ), + ), + ], + ), + ), + ], + ), + const SizedBox(height: 20), + Container( + padding: const EdgeInsets.all(14), + decoration: BoxDecoration( + color: Colors.white.withOpacity(0.15), + borderRadius: BorderRadius.circular(12), + ), + child: Row( + children: [ + const Icon( + Icons.insert_chart_outlined_rounded, + color: Colors.white, + size: 22, + ), + const SizedBox(width: 10), + Expanded( + child: Text( + 'Pantau sewa aset dengan mudah melalui dashboard Anda', + style: TextStyle( + fontSize: 13, + color: Colors.white.withOpacity(0.9), + ), + ), + ), + ], + ), + ), + ], + ), + ), + ), + ); + } + + Widget _buildSectionHeader(String title, Color color, IconData icon) { + return Container( + margin: const EdgeInsets.only(bottom: 16), + padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 12), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(12), + boxShadow: [ + BoxShadow( + color: color.withOpacity(0.15), + blurRadius: 5, + offset: const Offset(0, 2), + ), + ], + ), + child: Row( + children: [ + Container( + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: color.withOpacity(0.1), + borderRadius: BorderRadius.circular(8), + ), + child: Icon(icon, color: color, size: 20), + ), + const SizedBox(width: 12), + Text( + title, + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: color, + letterSpacing: 0.2, + ), + ), + ], + ), + ); + } + + Widget _buildDetailedStatusBreakdown() { + return Card( + elevation: 2, + shadowColor: AppColorsPetugas.shadowColor, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(16)), + child: Padding( + padding: const EdgeInsets.all(20), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Use a responsive grid layout for better display on different screen sizes + GridView.count( + crossAxisCount: 3, + shrinkWrap: true, + physics: const NeverScrollableScrollPhysics(), + crossAxisSpacing: 14, + mainAxisSpacing: 14, + childAspectRatio: 0.75, + children: [ + _buildSourceItem( + 'Menunggu Pembayaran', + controller.menungguPembayaranCount.value.toString(), + controller.menungguPembayaranCount.value, + AppColorsPetugas.warning, + ), + _buildSourceItem( + 'Periksa Pembayaran', + controller.periksaPembayaranCount.value.toString(), + controller.periksaPembayaranCount.value, + AppColorsPetugas.info, + ), + _buildSourceItem( + 'Diterima', + controller.diterimaCount.value.toString(), + controller.diterimaCount.value, + AppColorsPetugas.success, + ), + _buildSourceItem( + 'Pembayaran Denda', + controller.pembayaranDendaCount.value.toString(), + controller.pembayaranDendaCount.value, + AppColorsPetugas.error, + ), + _buildSourceItem( + 'Periksa Denda', + controller.periksaPembayaranDendaCount.value.toString(), + controller.periksaPembayaranDendaCount.value, + AppColorsPetugas.info, + ), + _buildSourceItem( + 'Selesai', + controller.selesaiCount.value.toString(), + controller.selesaiCount.value, + AppColorsPetugas.success, + ), + ], + ), + const SizedBox(height: 24), + // Modern visualization with improved progress bar + _buildDetailedStatusProgressBar(), + ], + ), + ), + ); + } + + Widget _buildSourceItem( + String title, + String value, + int percentage, + Color color, + ) { + return Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(14), + boxShadow: [ + BoxShadow( + color: color.withOpacity(0.15), + blurRadius: 8, + offset: const Offset(0, 3), + ), + ], + border: Border.all(color: color.withOpacity(0.1), width: 1), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Container( + padding: const EdgeInsets.all(10), + decoration: BoxDecoration( + color: color.withOpacity(0.1), + shape: BoxShape.circle, + ), + child: Icon( + Icons.insert_chart_outlined_rounded, + color: color, + size: 24, + ), + ), + const SizedBox(height: 8), + Text( + value, + style: TextStyle( + fontSize: 22, + fontWeight: FontWeight.bold, + color: color, + ), + ), + const SizedBox(height: 4), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 4), + child: Text( + title, + style: TextStyle( + fontSize: 10, + height: 1.2, + color: AppColorsPetugas.textSecondary, + fontWeight: FontWeight.w500, + ), + textAlign: TextAlign.center, + maxLines: 2, + overflow: TextOverflow.ellipsis, + ), + ), + ], + ), + ); + } + + Widget _buildDetailedStatusProgressBar() { + // Calculate the total count for all detailed statuses + final total = + controller.menungguPembayaranCount.value + + controller.periksaPembayaranCount.value + + controller.diterimaCount.value + + controller.pembayaranDendaCount.value + + controller.periksaPembayaranDendaCount.value + + controller.selesaiCount.value; + + // Calculate percentages for each status (avoid division by zero) + final menungguPercent = + total > 0 ? controller.menungguPembayaranCount.value / total : 0.0; + final periksaPercent = + total > 0 ? controller.periksaPembayaranCount.value / total : 0.0; + final diterimaPercent = + total > 0 ? controller.diterimaCount.value / total : 0.0; + final dendaPercent = + total > 0 ? controller.pembayaranDendaCount.value / total : 0.0; + final periksaDendaPercent = + total > 0 ? controller.periksaPembayaranDendaCount.value / total : 0.0; + final selesaiPercent = + total > 0 ? controller.selesaiCount.value / total : 0.0; + + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Distribusi Status Sewa', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.navyBlue, + ), + ), + const SizedBox(height: 16), + Stack( + children: [ + // Background for the progress bar + Container( + height: 12, + decoration: BoxDecoration( + color: Colors.grey.shade100, + borderRadius: BorderRadius.circular(6), + ), + ), + // Actual progress bar segments + Row( + children: [ + _buildModernProgressSegment( + menungguPercent, + AppColorsPetugas.warning, + isFirst: true, + ), + _buildModernProgressSegment( + periksaPercent, + AppColorsPetugas.info, + ), + _buildModernProgressSegment( + diterimaPercent, + AppColorsPetugas.success, + ), + _buildModernProgressSegment( + dendaPercent, + AppColorsPetugas.error, + ), + _buildModernProgressSegment( + periksaDendaPercent, + AppColorsPetugas.blueGrotto, + ), + _buildModernProgressSegment( + selesaiPercent, + AppColorsPetugas.blueGreen, + isLast: true, + ), + ], + ), + ], + ), + const SizedBox(height: 16), + // Use grid layout for legends + GridView.count( + crossAxisCount: 3, + mainAxisSpacing: 8, + crossAxisSpacing: 8, + childAspectRatio: 3.0, + shrinkWrap: true, + physics: const NeverScrollableScrollPhysics(), + children: [ + _buildCompactStatusLegend( + 'Menunggu', + AppColorsPetugas.warning, + menungguPercent, + ), + _buildCompactStatusLegend( + 'Periksa', + AppColorsPetugas.info, + periksaPercent, + ), + _buildCompactStatusLegend( + 'Diterima', + AppColorsPetugas.success, + diterimaPercent, + ), + _buildCompactStatusLegend( + 'Denda', + AppColorsPetugas.error, + dendaPercent, + ), + _buildCompactStatusLegend( + 'Cek Denda', + AppColorsPetugas.blueGrotto, + periksaDendaPercent, + ), + _buildCompactStatusLegend( + 'Selesai', + AppColorsPetugas.blueGreen, + selesaiPercent, + ), + ], + ), + ], + ); + } + + Widget _buildModernProgressSegment( + double percentage, + Color color, { + bool isFirst = false, + bool isLast = false, + }) { + return Flexible( + flex: (percentage * 100).round(), + child: + percentage > 0 + ? Container( + height: 12, + decoration: BoxDecoration( + color: color, + borderRadius: BorderRadius.horizontal( + left: isFirst ? const Radius.circular(6) : Radius.zero, + right: isLast ? const Radius.circular(6) : Radius.zero, + ), + ), + ) + : const SizedBox(), // Empty container when percentage is 0 + ); + } + + Widget _buildCompactStatusLegend( + String text, + Color color, + double percentage, + ) { + final count = (percentage * 100).round(); + return Row( + mainAxisSize: MainAxisSize.min, + children: [ + Container( + width: 10, + height: 10, + decoration: BoxDecoration( + color: color, + borderRadius: BorderRadius.circular(2), + ), + ), + const SizedBox(width: 4), + Expanded( + child: Text( + '$text ${count > 0 ? '($count%)' : ''}', + style: TextStyle( + fontSize: 10, + color: Colors.black87, + fontWeight: count > 20 ? FontWeight.w500 : FontWeight.normal, + ), + overflow: TextOverflow.ellipsis, + ), + ), + ], + ); + } + + Widget _buildRevenueStatistics() { + return Card( + elevation: 2, + shadowColor: AppColorsPetugas.shadowColor, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(16)), + child: Container( + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(16), + gradient: LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: [Colors.white, AppColorsPetugas.success.withOpacity(0.05)], + ), + ), + padding: const EdgeInsets.all(20), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Total Pendapatan Bulan Ini', + style: TextStyle( + fontSize: 14, + color: AppColorsPetugas.textSecondary, + fontWeight: FontWeight.w500, + ), + ), + const SizedBox(height: 10), + Obx( + () => Text( + controller.totalPendapatanBulanIni.value, + style: TextStyle( + fontSize: 28, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.success, + ), + ), + ), + const SizedBox(height: 6), + Obx( + () => Row( + children: [ + Container( + padding: const EdgeInsets.symmetric( + horizontal: 8, + vertical: 4, + ), + decoration: BoxDecoration( + color: + controller.isKenaikanPositif.value + ? AppColorsPetugas.success.withOpacity( + 0.1, + ) + : AppColorsPetugas.error.withOpacity( + 0.1, + ), + borderRadius: BorderRadius.circular(12), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Icon( + controller.isKenaikanPositif.value + ? Icons.arrow_upward + : Icons.arrow_downward, + size: 14, + color: + controller.isKenaikanPositif.value + ? AppColorsPetugas.success + : AppColorsPetugas.error, + ), + const SizedBox(width: 4), + Text( + controller.persentaseKenaikan.value, + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.bold, + color: + controller.isKenaikanPositif.value + ? AppColorsPetugas.success + : AppColorsPetugas.error, + ), + ), + ], + ), + ), + const SizedBox(width: 8), + Text( + 'dari bulan lalu', + style: TextStyle( + fontSize: 13, + color: AppColorsPetugas.textSecondary, + ), + ), + ], + ), + ), + ], + ), + ), + const SizedBox(width: 20), + Container( + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + color: AppColorsPetugas.success.withOpacity(0.1), + borderRadius: BorderRadius.circular(16), + border: Border.all( + color: AppColorsPetugas.success.withOpacity(0.3), + width: 1, + ), + ), + child: Icon( + Icons.account_balance_wallet_outlined, + color: AppColorsPetugas.success, + size: 32, + ), + ), + ], + ), + const SizedBox(height: 20), + const Divider(height: 1), + const SizedBox(height: 20), + _buildRevenueSummary(), + ], + ), + ), + ); + } + + Widget _buildRevenueSummary() { + return Row( + children: [ + Expanded( + child: _buildRevenueQuickInfo( + 'Pendapatan Sewa', + controller.pendapatanSewa.value, + AppColorsPetugas.navyBlue, + Icons.shopping_cart_outlined, + ), + ), + ], + ); + } + + Widget _buildRevenueQuickInfo( + String title, + String value, + Color color, + IconData icon, + ) { + return Container( + padding: const EdgeInsets.all(14), + decoration: BoxDecoration( + color: color.withOpacity(0.05), + borderRadius: BorderRadius.circular(12), + border: Border.all(color: color.withOpacity(0.1), width: 1), + ), + child: Row( + children: [ + Container( + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: color.withOpacity(0.1), + shape: BoxShape.circle, + ), + child: Icon(icon, color: color, size: 18), + ), + const SizedBox(width: 12), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + title, + style: TextStyle( + fontSize: 12, + color: AppColorsPetugas.textSecondary, + fontWeight: FontWeight.w500, + ), + ), + const SizedBox(height: 4), + Text( + value, + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: color, + ), + ), + ], + ), + ), + ], + ), + ); + } + + Widget _buildRevenueSources() { + return Card( + elevation: 2, + shadowColor: AppColorsPetugas.shadowColor, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(16)), + child: Padding( + padding: const EdgeInsets.all(16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Sumber Pendapatan', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.navyBlue, + ), + ), + const SizedBox(height: 20), + Row( + children: [ + // Revenue Donut Chart + Expanded( + flex: 2, + child: Column( + children: [ + Container( + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + color: AppColorsPetugas.navyBlue.withOpacity(0.1), + borderRadius: BorderRadius.circular(12), + ), + child: Column( + children: [ + Text( + 'Sewa Aset', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.navyBlue, + ), + ), + const SizedBox(height: 8), + Obx( + () => Text( + controller.pendapatanSewa.value, + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.navyBlue, + ), + ), + ), + const SizedBox(height: 8), + Text( + '100% dari total pendapatan', + style: TextStyle( + fontSize: 14, + color: Colors.grey.shade700, + ), + ), + ], + ), + ), + ], + ), + ), + ], + ), + ], + ), + ), + ); + } + + Widget _buildRevenueTrend() { + final months = ['Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun']; + + return Card( + elevation: 2, + shadowColor: AppColorsPetugas.shadowColor, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(16)), + child: Padding( + padding: const EdgeInsets.all(20), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Tren Pendapatan', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.navyBlue, + ), + ), + const SizedBox(height: 24), + SizedBox( + height: 220, + child: Obx(() { + // Get the trend data from controller + final List trendData = controller.trendPendapatan; + final double maxValue = trendData.reduce( + (curr, next) => curr > next ? curr : next, + ); + + return Row( + crossAxisAlignment: CrossAxisAlignment.end, + children: [ + // Y-axis labels + Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.end, + children: [ + Text( + '${maxValue.toStringAsFixed(1)}M', + style: TextStyle( + fontSize: 10, + color: AppColorsPetugas.textSecondary, + ), + ), + Text( + '${(maxValue * 0.75).toStringAsFixed(1)}M', + style: TextStyle( + fontSize: 10, + color: AppColorsPetugas.textSecondary, + ), + ), + Text( + '${(maxValue * 0.5).toStringAsFixed(1)}M', + style: TextStyle( + fontSize: 10, + color: AppColorsPetugas.textSecondary, + ), + ), + Text( + '${(maxValue * 0.25).toStringAsFixed(1)}M', + style: TextStyle( + fontSize: 10, + color: AppColorsPetugas.textSecondary, + ), + ), + Text( + '0', + style: TextStyle( + fontSize: 10, + color: AppColorsPetugas.textSecondary, + ), + ), + ], + ), + const SizedBox(width: 10), + // Chart bars + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Expanded( + child: Container( + padding: const EdgeInsets.only(top: 5), + decoration: BoxDecoration( + border: Border( + left: BorderSide( + color: Colors.grey.shade200, + width: 1, + ), + top: BorderSide( + color: Colors.grey.shade200, + width: 1, + ), + right: BorderSide( + color: Colors.grey.shade200, + width: 1, + ), + ), + color: Colors.grey.shade50.withOpacity(0.3), + ), + child: Row( + crossAxisAlignment: CrossAxisAlignment.end, + mainAxisAlignment: + MainAxisAlignment.spaceEvenly, + children: List.generate(trendData.length, ( + index, + ) { + final percentage = + trendData[index] / maxValue; + final isLastMonth = + index == trendData.length - 1; + + return Column( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + Container( + width: 35, + height: 170 * percentage, + decoration: BoxDecoration( + borderRadius: + const BorderRadius.vertical( + top: Radius.circular(6), + ), + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: + isLastMonth + ? [ + AppColorsPetugas.success, + AppColorsPetugas.success + .withOpacity(0.7), + ] + : [ + AppColorsPetugas + .blueGrotto + .withOpacity(0.9), + AppColorsPetugas + .blueGrotto + .withOpacity(0.5), + ], + ), + boxShadow: [ + BoxShadow( + color: + isLastMonth + ? AppColorsPetugas.success + .withOpacity(0.3) + : AppColorsPetugas + .blueGrotto + .withOpacity(0.2), + blurRadius: 4, + spreadRadius: 0, + offset: const Offset(0, 2), + ), + ], + ), + ), + ], + ); + }), + ), + ), + ), + Container( + height: 30, + decoration: BoxDecoration( + border: Border( + left: BorderSide( + color: Colors.grey.shade200, + width: 1, + ), + bottom: BorderSide( + color: Colors.grey.shade200, + width: 1, + ), + right: BorderSide( + color: Colors.grey.shade200, + width: 1, + ), + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + crossAxisAlignment: CrossAxisAlignment.center, + children: List.generate(trendData.length, ( + index, + ) { + final isLastMonth = + index == trendData.length - 1; + + return Container( + width: 35, + padding: const EdgeInsets.only(top: 8), + child: Text( + months[index], + style: TextStyle( + fontSize: 12, + color: + isLastMonth + ? AppColorsPetugas.success + : AppColorsPetugas.textSecondary, + fontWeight: + isLastMonth + ? FontWeight.bold + : FontWeight.normal, + ), + textAlign: TextAlign.center, + ), + ); + }), + ), + ), + ], + ), + ), + ], + ); + }), + ), + ], + ), + ), + ); + } + + void _showAddItemDialog(BuildContext context) { + final isAsetTab = controller.currentTabIndex.value == 1; + + showDialog( + context: context, + builder: (BuildContext context) { + return AlertDialog( + title: Text('Tambah ${isAsetTab ? 'Aset' : 'Paket'} Baru'), + content: Text( + 'Formulir untuk menambahkan ${isAsetTab ? 'aset' : 'paket'} baru akan ditampilkan di sini.', + ), + actions: [ + TextButton( + onPressed: () => Navigator.of(context).pop(), + child: const Text('Batal'), + ), + TextButton( + onPressed: () { + Navigator.of(context).pop(); + // TODO: Implement add item functionality + }, + style: TextButton.styleFrom( + foregroundColor: AppColorsPetugas.navyBlue, + ), + child: const Text('Tambah'), + ), + ], + ); + }, + ); + } + + // Fungsi untuk menampilkan dialog konfirmasi logout + void _showLogoutConfirmation(BuildContext context) { + showDialog( + context: context, + builder: (BuildContext context) { + return AlertDialog( + title: const Text('Konfirmasi Logout'), + content: const Text('Apakah Anda yakin ingin keluar?'), + actions: [ + TextButton( + onPressed: () => Navigator.of(context).pop(), // Tutup dialog + child: const Text('Batal'), + ), + TextButton( + onPressed: () { + Navigator.of(context).pop(); // Tutup dialog + controller.logout(); // Lakukan logout + }, + child: const Text('Logout', style: TextStyle(color: Colors.red)), + ), + ], + ); + }, + ); + } + + // Build individual tab methods + Widget _buildAsetTab() { + return Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon( + Icons.inventory_2_outlined, + size: 80, + color: AppColorsPetugas.blueGrotto.withOpacity(0.5), + ), + const SizedBox(height: 16), + const Text( + 'Manajemen Aset', + style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 8), + Text( + 'Kelola semua aset BUMDes', + style: TextStyle(fontSize: 16, color: Colors.grey.shade600), + ), + ], + ), + ); + } + + Widget _buildPaketTab() { + return Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon( + Icons.category_outlined, + size: 80, + color: AppColorsPetugas.navyBlue.withOpacity(0.5), + ), + const SizedBox(height: 16), + const Text( + 'Manajemen Paket', + style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 8), + Text( + 'Kelola paket aset untuk sewa', + style: TextStyle(fontSize: 16, color: Colors.grey.shade600), + ), + ], + ), + ); + } + + Widget _buildSewaTab() { + return Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon( + Icons.shopping_cart_outlined, + size: 80, + color: AppColorsPetugas.blueGrotto.withOpacity(0.5), + ), + const SizedBox(height: 16), + const Text( + 'Permintaan Sewa', + style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 8), + Text( + 'Kelola permintaan sewa dari warga', + style: TextStyle(fontSize: 16, color: Colors.grey.shade600), + ), + ], + ), + ); + } + + Widget _buildBumdesTab() { + return Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon( + Icons.business, + size: 80, + color: AppColorsPetugas.navyBlue.withOpacity(0.5), + ), + const SizedBox(height: 16), + const Text( + 'Profil BUMDes', + style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 8), + Text( + 'Kelola informasi dan data BUMDes', + style: TextStyle(fontSize: 16, color: Colors.grey.shade600), + ), + ], + ), + ); + } +} + +// Custom clipper for creating pie/donut chart segments +class _SweepClipper extends CustomClipper { + final double startAngle; + final double sweepAngle; + + _SweepClipper({required this.startAngle, required this.sweepAngle}); + + @override + Path getClip(Size size) { + final center = Offset(size.width / 2, size.height / 2); + final radius = size.width / 2; + + // Convert angles from degrees to radians + final startRad = startAngle * (3.14159 / 180); + final endRad = (startAngle + sweepAngle) * (3.14159 / 180); + + final path = Path(); + + // Move to center + path.moveTo(center.dx, center.dy); + + // Line to start point on the circle + path.lineTo( + center.dx + radius * cos(startRad), + center.dy + radius * sin(startRad), + ); + + // Arc to end point + path.arcTo( + Rect.fromCircle(center: center, radius: radius), + startRad, + sweepAngle * (3.14159 / 180), + false, + ); + + // Close path back to center + path.close(); + + return path; + } + + @override + bool shouldReclip(_SweepClipper oldClipper) { + return oldClipper.startAngle != startAngle || + oldClipper.sweepAngle != sweepAngle; + } +} diff --git a/lib/app/modules/petugas_bumdes/views/petugas_detail_sewa_view.dart b/lib/app/modules/petugas_bumdes/views/petugas_detail_sewa_view.dart new file mode 100644 index 0000000..c7dc47d --- /dev/null +++ b/lib/app/modules/petugas_bumdes/views/petugas_detail_sewa_view.dart @@ -0,0 +1,2054 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import '../controllers/petugas_sewa_controller.dart'; +import '../../../theme/app_colors_petugas.dart'; + +class PetugasDetailSewaView extends StatelessWidget { + final Map sewa; + final PetugasSewaController controller = Get.find(); + + PetugasDetailSewaView({Key? key, required this.sewa}) : super(key: key); + + @override + Widget build(BuildContext context) { + final statusColor = controller.getStatusColor(sewa['status']); + final status = sewa['status']; + + // Get appropriate icon for status + IconData statusIcon; + switch (status) { + case 'Menunggu Pembayaran': + statusIcon = Icons.payments_outlined; + break; + case 'Periksa Pembayaran': + statusIcon = Icons.fact_check_outlined; + break; + case 'Diterima': + statusIcon = Icons.check_circle_outlined; + break; + case 'Pembayaran Denda': + statusIcon = Icons.money_off_csred_outlined; + break; + case 'Periksa Denda': + statusIcon = Icons.assignment_late_outlined; + break; + case 'Selesai': + statusIcon = Icons.task_alt_outlined; + break; + case 'Dibatalkan': + statusIcon = Icons.cancel_outlined; + break; + default: + statusIcon = Icons.help_outline_rounded; + } + + return Scaffold( + backgroundColor: Colors.grey.shade50, + appBar: AppBar( + title: Text( + 'Detail Sewa #${sewa['order_id']}', + style: const TextStyle(fontWeight: FontWeight.w600, fontSize: 18), + ), + backgroundColor: AppColorsPetugas.navyBlue, + foregroundColor: Colors.white, + elevation: 0, + actions: [ + IconButton( + icon: const Icon(Icons.file_download_outlined), + onPressed: () => _showDownloadOptions(context), + tooltip: 'Unduh Bukti', + ), + _buildActionMenu(context), + ], + ), + body: CustomScrollView( + slivers: [ + // App Bar Extension with Status + SliverToBoxAdapter( + child: Container( + color: AppColorsPetugas.navyBlue, + child: Container( + padding: const EdgeInsets.fromLTRB(20, 0, 20, 30), + decoration: const BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.only( + topLeft: Radius.circular(30), + topRight: Radius.circular(30), + ), + ), + child: Column( + children: [ + // Status Pill + Container( + margin: const EdgeInsets.only(top: 16, bottom: 16), + padding: const EdgeInsets.symmetric( + horizontal: 16, + vertical: 8, + ), + decoration: BoxDecoration( + color: statusColor.withOpacity(0.1), + borderRadius: BorderRadius.circular(30), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Icon(statusIcon, size: 18, color: statusColor), + const SizedBox(width: 8), + Text( + status, + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w600, + color: statusColor, + ), + ), + ], + ), + ), + + // Price Tag + Text( + controller.formatPrice(sewa['total_biaya']), + style: TextStyle( + fontSize: 26, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.navyBlue, + ), + ), + + const SizedBox(height: 8), + + // Order ID and Date Range + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon( + Icons.calendar_today_rounded, + size: 14, + color: AppColorsPetugas.textSecondary, + ), + const SizedBox(width: 6), + Text( + '${sewa['tanggal_mulai']} - ${sewa['tanggal_selesai']}', + style: TextStyle( + fontSize: 14, + color: AppColorsPetugas.textSecondary, + ), + ), + ], + ), + ], + ), + ), + ), + ), + + // Content Sections + SliverToBoxAdapter( + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 20), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Warga & Asset info card + _buildInfoCard( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Warga info + Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + CircleAvatar( + radius: 24, + backgroundColor: AppColorsPetugas.babyBlueLight, + child: Text( + sewa['nama_warga'] + .substring(0, 1) + .toUpperCase(), + style: TextStyle( + fontSize: 20, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.blueGrotto, + ), + ), + ), + const SizedBox(width: 12), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + sewa['nama_warga'], + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.textPrimary, + ), + ), + const SizedBox(height: 2), + Row( + children: [ + Icon( + Icons.phone_outlined, + size: 14, + color: AppColorsPetugas.textSecondary, + ), + const SizedBox(width: 4), + Text( + '0812-3456-7890', // Placeholder + style: TextStyle( + fontSize: 13, + color: AppColorsPetugas.textSecondary, + ), + ), + ], + ), + ], + ), + ), + ], + ), + + const Padding( + padding: EdgeInsets.symmetric(vertical: 16), + child: Divider(), + ), + + // Asset info + Row( + children: [ + Container( + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: AppColorsPetugas.babyBlueLight, + borderRadius: BorderRadius.circular(10), + ), + child: Icon( + Icons.inventory_2_outlined, + size: 20, + color: AppColorsPetugas.blueGrotto, + ), + ), + const SizedBox(width: 12), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + sewa['nama_aset'], + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + color: AppColorsPetugas.textPrimary, + ), + ), + const SizedBox(height: 2), + Text( + '1 unit', + style: TextStyle( + fontSize: 13, + color: AppColorsPetugas.textSecondary, + ), + ), + ], + ), + ], + ), + ], + ), + ), + + const SizedBox(height: 16), + + // Rental Details Card + _buildInfoCard( + title: 'Detail Sewa', + titleIcon: Icons.receipt_long_rounded, + child: Column( + children: [ + _buildDetailRow( + icon: Icons.calendar_today_rounded, + label: 'Tanggal Mulai', + value: sewa['tanggal_mulai'], + ), + _buildDetailRow( + icon: Icons.event_rounded, + label: 'Tanggal Selesai', + value: sewa['tanggal_selesai'], + ), + _buildDetailRow( + icon: Icons.timer_rounded, + label: 'Durasi', + value: '7 hari', // Placeholder + ), + _buildDetailRow( + icon: Icons.schedule_rounded, + label: 'Status', + value: status, + valueColor: statusColor, + ), + ], + ), + ), + + const SizedBox(height: 16), + + // Billing Details Card (replacing Payment Details) + _buildInfoCard( + title: 'Detail Tagihan', + titleIcon: Icons.receipt_long_rounded, + child: Column( + children: [ + _buildDetailRow( + icon: Icons.inventory_2_outlined, + label: 'Tagihan Sewa', + value: controller.formatPrice(sewa['total_biaya']), + ), + _buildDetailRow( + icon: Icons.warning_amber_rounded, + label: 'Denda', + value: controller.formatPrice(sewa['denda'] ?? 0), + ), + _buildDetailRow( + icon: Icons.payments_outlined, + label: 'Tagihan Dibayar', + value: controller.formatPrice(sewa['dibayar'] ?? 0), + valueColor: AppColorsPetugas.blueGrotto, + valueBold: true, + ), + // Add Total row when status is "Menunggu Pembayaran" + if (status == 'Menunggu Pembayaran') + _buildDetailRow( + icon: Icons.summarize_rounded, + label: 'Total', + value: controller.formatPrice( + (sewa['total_biaya'] ?? 0) + + (sewa['denda'] ?? 0) - + (sewa['dibayar'] ?? 0), + ), + valueColor: AppColorsPetugas.navyBlue, + valueBold: true, + ), + ], + ), + ), + + // Payment Options (only for Menunggu Pembayaran status) + if (status == 'Menunggu Pembayaran') ...[ + const SizedBox(height: 16), + _buildPaymentOptionsCard(), + ], + + // Payment Proof and Options (for Periksa Pembayaran status) + if (status == 'Periksa Pembayaran') ...[ + const SizedBox(height: 16), + _buildInfoCard( + title: 'Bukti Pembayaran', + titleIcon: Icons.receipt_rounded, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const SizedBox(height: 8), + Container( + width: double.infinity, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(8), + border: Border.all( + color: AppColorsPetugas.babyBlue, + ), + ), + child: ClipRRect( + borderRadius: BorderRadius.circular(8), + child: Image.asset( + 'assets/images/bukti_transfer.jpg', + fit: BoxFit.cover, + ), + ), + ), + const SizedBox(height: 16), + Center( + child: ElevatedButton.icon( + onPressed: () { + // Open image in fullscreen or larger view + // Implement image viewer here + Get.snackbar( + 'Lihat Bukti Transfer', + 'Membuka bukti transfer dalam tampilan penuh', + backgroundColor: AppColorsPetugas.blueGrotto, + colorText: Colors.white, + snackPosition: SnackPosition.BOTTOM, + ); + }, + icon: const Icon(Icons.zoom_in), + label: const Text('Lihat Bukti Transfer'), + style: ElevatedButton.styleFrom( + backgroundColor: AppColorsPetugas.babyBlue + .withOpacity(0.8), + foregroundColor: AppColorsPetugas.navyBlue, + padding: const EdgeInsets.symmetric( + horizontal: 16, + vertical: 10, + ), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + ), + ), + ), + ], + ), + ), + const SizedBox(height: 16), + _buildPaymentOptionsCard(), + ], + + // Penalty Details and Payment Options (for Pembayaran Denda status) + if (status == 'Pembayaran Denda') ...[ + const SizedBox(height: 16), + _buildInfoCard( + title: 'Detail Denda', + titleIcon: Icons.warning_amber_rounded, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildDetailRow( + icon: Icons.text_snippet_outlined, + label: 'Alasan Denda', + value: 'Kerusakan pada aset saat pengembalian', + ), + _buildDetailRow( + icon: Icons.calendar_today_rounded, + label: 'Tanggal Pelaporan', + value: '20 Maret 2025', + ), + _buildDetailRow( + icon: Icons.money_outlined, + label: 'Nominal Denda', + value: controller.formatPrice(25000), + valueColor: Colors.deepOrange, + valueBold: true, + ), + const SizedBox(height: 16), + Text( + 'Bukti Kerusakan', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w600, + color: AppColorsPetugas.textPrimary, + ), + ), + const SizedBox(height: 8), + Container( + width: double.infinity, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(8), + border: Border.all( + color: AppColorsPetugas.babyBlue, + ), + ), + child: ClipRRect( + borderRadius: BorderRadius.circular(8), + child: Image.asset( + 'assets/images/kerusakan.jpg', + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + height: 150, + color: AppColorsPetugas.babyBlueBright, + child: Center( + child: Column( + mainAxisAlignment: + MainAxisAlignment.center, + children: [ + Icon( + Icons.image_not_supported_outlined, + size: 40, + color: Colors.grey, + ), + const SizedBox(height: 8), + Text( + 'Gambar tidak tersedia', + style: TextStyle( + color: + AppColorsPetugas + .textSecondary, + ), + ), + ], + ), + ), + ); + }, + ), + ), + ), + const SizedBox(height: 16), + Center( + child: ElevatedButton.icon( + onPressed: () { + Get.snackbar( + 'Lihat Bukti Kerusakan', + 'Membuka gambar dalam tampilan penuh', + backgroundColor: AppColorsPetugas.blueGrotto, + colorText: Colors.white, + snackPosition: SnackPosition.BOTTOM, + ); + }, + icon: const Icon(Icons.zoom_in), + label: const Text('Lihat Bukti Kerusakan'), + style: ElevatedButton.styleFrom( + backgroundColor: AppColorsPetugas.babyBlue + .withOpacity(0.8), + foregroundColor: AppColorsPetugas.navyBlue, + padding: const EdgeInsets.symmetric( + horizontal: 16, + vertical: 10, + ), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + ), + ), + ), + ], + ), + ), + const SizedBox(height: 16), + _buildPaymentOptionsCard(isPenalty: true), + ], + + // Penalty Details, Payment Proof, and Payment Options (for Periksa Denda status) + if (status == 'Periksa Denda') ...[ + const SizedBox(height: 16), + _buildInfoCard( + title: 'Detail Denda', + titleIcon: Icons.warning_amber_rounded, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildDetailRow( + icon: Icons.text_snippet_outlined, + label: 'Alasan Denda', + value: 'Kerusakan pada aset saat pengembalian', + ), + _buildDetailRow( + icon: Icons.calendar_today_rounded, + label: 'Tanggal Pelaporan', + value: '20 Maret 2025', + ), + _buildDetailRow( + icon: Icons.money_outlined, + label: 'Nominal Denda', + value: controller.formatPrice(25000), + valueColor: Colors.deepOrange, + valueBold: true, + ), + _buildDetailRow( + icon: Icons.calendar_month_rounded, + label: 'Tanggal Pembayaran', + value: '22 Maret 2025', + ), + const SizedBox(height: 16), + Text( + 'Bukti Kerusakan', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w600, + color: AppColorsPetugas.textPrimary, + ), + ), + const SizedBox(height: 8), + Container( + width: double.infinity, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(8), + border: Border.all( + color: AppColorsPetugas.babyBlue, + ), + ), + child: ClipRRect( + borderRadius: BorderRadius.circular(8), + child: Image.asset( + 'assets/images/kerusakan.jpg', + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + height: 150, + color: AppColorsPetugas.babyBlueBright, + child: Center( + child: Column( + mainAxisAlignment: + MainAxisAlignment.center, + children: [ + Icon( + Icons.image_not_supported_outlined, + size: 40, + color: Colors.grey, + ), + const SizedBox(height: 8), + Text( + 'Gambar tidak tersedia', + style: TextStyle( + color: + AppColorsPetugas + .textSecondary, + ), + ), + ], + ), + ), + ); + }, + ), + ), + ), + const SizedBox(height: 16), + Center( + child: ElevatedButton.icon( + onPressed: () { + Get.snackbar( + 'Lihat Bukti Kerusakan', + 'Membuka gambar dalam tampilan penuh', + backgroundColor: AppColorsPetugas.blueGrotto, + colorText: Colors.white, + snackPosition: SnackPosition.BOTTOM, + ); + }, + icon: const Icon(Icons.zoom_in), + label: const Text('Lihat Bukti Kerusakan'), + style: ElevatedButton.styleFrom( + backgroundColor: AppColorsPetugas.babyBlue + .withOpacity(0.8), + foregroundColor: AppColorsPetugas.navyBlue, + padding: const EdgeInsets.symmetric( + horizontal: 16, + vertical: 10, + ), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + ), + ), + ), + ], + ), + ), + const SizedBox(height: 16), + _buildInfoCard( + title: 'Bukti Pembayaran Denda', + titleIcon: Icons.receipt_rounded, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const SizedBox(height: 8), + Container( + width: double.infinity, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(8), + border: Border.all( + color: AppColorsPetugas.babyBlue, + ), + ), + child: ClipRRect( + borderRadius: BorderRadius.circular(8), + child: Image.asset( + 'assets/images/bukti_transfer.jpg', + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + height: 150, + color: AppColorsPetugas.babyBlueBright, + child: Center( + child: Column( + mainAxisAlignment: + MainAxisAlignment.center, + children: [ + Icon( + Icons.image_not_supported_outlined, + size: 40, + color: Colors.grey, + ), + const SizedBox(height: 8), + Text( + 'Gambar tidak tersedia', + style: TextStyle( + color: + AppColorsPetugas + .textSecondary, + ), + ), + ], + ), + ), + ); + }, + ), + ), + ), + const SizedBox(height: 16), + Center( + child: ElevatedButton.icon( + onPressed: () { + Get.snackbar( + 'Lihat Bukti Transfer', + 'Membuka bukti transfer dalam tampilan penuh', + backgroundColor: AppColorsPetugas.blueGrotto, + colorText: Colors.white, + snackPosition: SnackPosition.BOTTOM, + ); + }, + icon: const Icon(Icons.zoom_in), + label: const Text('Lihat Bukti Transfer'), + style: ElevatedButton.styleFrom( + backgroundColor: AppColorsPetugas.babyBlue + .withOpacity(0.8), + foregroundColor: AppColorsPetugas.navyBlue, + padding: const EdgeInsets.symmetric( + horizontal: 16, + vertical: 10, + ), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + ), + ), + ), + ], + ), + ), + const SizedBox(height: 16), + _buildPaymentOptionsCard( + isPenalty: true, + isVerifying: true, + ), + ], + + const SizedBox(height: 100), // Space for bottom bar + ], + ), + ), + ), + ], + ), + bottomNavigationBar: _buildBottomActionBar(), + ); + } + + Widget _buildInfoCard({ + required Widget child, + String? title, + IconData? titleIcon, + }) { + return Container( + width: double.infinity, + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.03), + blurRadius: 8, + offset: const Offset(0, 2), + ), + ], + ), + child: Padding( + padding: const EdgeInsets.all(20), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + if (title != null) ...[ + Row( + children: [ + if (titleIcon != null) ...[ + Icon( + titleIcon, + size: 18, + color: AppColorsPetugas.blueGrotto, + ), + const SizedBox(width: 8), + ], + Text( + title, + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.navyBlue, + ), + ), + ], + ), + const SizedBox(height: 16), + ], + child, + ], + ), + ), + ); + } + + Widget _buildDetailRow({ + required IconData icon, + required String label, + required String value, + Color? valueColor, + bool valueBold = false, + }) { + return Padding( + padding: const EdgeInsets.only(bottom: 12), + child: Row( + children: [ + Icon(icon, size: 16, color: AppColorsPetugas.textSecondary), + const SizedBox(width: 12), + Expanded( + flex: 3, + child: Text( + label, + style: TextStyle( + fontSize: 14, + color: AppColorsPetugas.textSecondary, + ), + ), + ), + Expanded( + flex: 4, + child: Text( + value, + style: TextStyle( + fontSize: 14, + fontWeight: valueBold ? FontWeight.bold : FontWeight.w500, + color: valueColor ?? AppColorsPetugas.textPrimary, + ), + textAlign: TextAlign.right, + ), + ), + ], + ), + ); + } + + Widget _buildActionMenu(BuildContext context) { + final status = sewa['status']; + + // Determine available actions based on status + List> menuItems = []; + + if (status == 'Menunggu Pembayaran') { + menuItems.add( + PopupMenuItem( + value: 'check_payment', + child: _buildMenuItemContent( + icon: Icons.fact_check_outlined, + text: 'Periksa Pembayaran', + color: Colors.amber.shade700, + ), + ), + ); + } else if (status == 'Periksa Pembayaran') { + menuItems.add( + PopupMenuItem( + value: 'approve', + child: _buildMenuItemContent( + icon: Icons.check_circle_outline, + text: 'Terima Pengajuan', + color: Colors.green.shade600, + ), + ), + ); + } else if (status == 'Diterima') { + menuItems.add( + PopupMenuItem( + value: 'request_penalty', + child: _buildMenuItemContent( + icon: Icons.money_off_csred_outlined, + text: 'Minta Pembayaran Denda', + color: Colors.deepOrange, + ), + ), + ); + } else if (status == 'Pembayaran Denda') { + menuItems.add( + PopupMenuItem( + value: 'check_penalty', + child: _buildMenuItemContent( + icon: Icons.assignment_late_outlined, + text: 'Periksa Pembayaran Denda', + color: Colors.red.shade600, + ), + ), + ); + } else if (status == 'Periksa Denda') { + menuItems.add( + PopupMenuItem( + value: 'complete', + child: _buildMenuItemContent( + icon: Icons.task_alt_outlined, + text: 'Selesaikan Sewa', + color: Colors.purple, + ), + ), + ); + } else if (status == 'Dikembalikan') { + menuItems.add( + PopupMenuItem( + value: 'complete', + child: _buildMenuItemContent( + icon: Icons.task_alt_outlined, + text: 'Selesaikan Sewa', + color: Colors.purple, + ), + ), + ); + } + + // Always add cancel option if not already completed or canceled + if (status != 'Selesai' && status != 'Dibatalkan') { + menuItems.add( + PopupMenuItem( + value: 'cancel', + child: _buildMenuItemContent( + icon: Icons.cancel_outlined, + text: 'Batalkan Sewa', + color: Colors.red, + ), + ), + ); + } + + // If no actions available, return empty container + if (menuItems.isEmpty) { + return Container(); + } + + return PopupMenuButton( + icon: const Icon(Icons.more_vert), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)), + itemBuilder: (context) => menuItems, + onSelected: (value) => _handleMenuAction(value), + ); + } + + Widget _buildMenuItemContent({ + required IconData icon, + required String text, + required Color color, + }) { + return Row( + children: [ + Icon(icon, color: color, size: 18), + const SizedBox(width: 10), + Text(text), + ], + ); + } + + void _handleMenuAction(String value) { + switch (value) { + case 'check_payment': + // Update status to "Periksa Pembayaran" + controller.approveSewa(sewa['id']); // Reusing existing method + Get.back(); + Get.snackbar( + 'Status Diubah', + 'Status pengajuan diubah menjadi Periksa Pembayaran', + backgroundColor: Colors.amber.shade700, + colorText: Colors.white, + snackPosition: SnackPosition.BOTTOM, + ); + break; + + case 'approve': + // Update status to "Diterima" + controller.approveSewa(sewa['id']); + Get.back(); + Get.snackbar( + 'Pengajuan Diterima', + 'Pengajuan sewa aset telah disetujui', + backgroundColor: Colors.green.shade600, + colorText: Colors.white, + snackPosition: SnackPosition.BOTTOM, + ); + break; + + case 'request_penalty': + // Update status to "Pembayaran Denda" + controller.requestPenaltyPayment(sewa['id']); + Get.back(); + Get.snackbar( + 'Permintaan Denda', + 'Permintaan pembayaran denda telah dikirim', + backgroundColor: Colors.deepOrange, + colorText: Colors.white, + snackPosition: SnackPosition.BOTTOM, + ); + break; + + case 'check_penalty': + // Update status to "Periksa Denda" + controller.markPenaltyForInspection(sewa['id']); + Get.back(); + Get.snackbar( + 'Status Diubah', + 'Status pengajuan diubah menjadi Periksa Denda', + backgroundColor: Colors.red.shade600, + colorText: Colors.white, + snackPosition: SnackPosition.BOTTOM, + ); + break; + + case 'complete': + // Update status to "Selesai" + controller.completeSewa(sewa['id']); + Get.back(); + Get.snackbar( + 'Sewa Selesai', + 'Aset telah dikembalikan dan sewa telah selesai', + backgroundColor: Colors.green.shade600, + colorText: Colors.white, + snackPosition: SnackPosition.BOTTOM, + ); + break; + + case 'cancel': + // Update status to "Dibatalkan" + controller.rejectSewa(sewa['id']); + Get.back(); + Get.snackbar( + 'Sewa Dibatalkan', + 'Sewa aset telah dibatalkan', + backgroundColor: Colors.red, + colorText: Colors.white, + snackPosition: SnackPosition.BOTTOM, + ); + break; + } + } + + Widget? _buildBottomActionBar() { + final status = sewa['status']; + + // Button text and actions based on status + String? buttonText; + VoidCallback? onPressed; + Color? buttonColor; + IconData? buttonIcon; + + if (status == 'Menunggu Pembayaran') { + // Remove the "Periksa Pembayaran" button for "Menunggu Pembayaran" status + return null; + } else if (status == 'Periksa Pembayaran') { + // Remove the "Terima Pengajuan Sewa" button for "Periksa Pembayaran" status + return null; + } else if (status == 'Diterima') { + buttonText = 'Konfirmasi Pengembalian'; + buttonIcon = Icons.assignment_return_outlined; + buttonColor = Colors.blue.shade700; + onPressed = () { + // Show confirmation dialog + Get.dialog( + AlertDialog( + title: const Text('Konfirmasi Pengembalian'), + content: const Text( + 'Apakah Anda yakin aset telah dikembalikan oleh penyewa?', + ), + actions: [ + TextButton( + onPressed: () => Get.back(), + child: Text( + 'Batal', + style: TextStyle(color: AppColorsPetugas.textSecondary), + ), + ), + ElevatedButton( + onPressed: () { + // Close dialog + Get.back(); + + // Request penalty or complete the rental + showModalBottomSheet( + context: Get.context!, + shape: const RoundedRectangleBorder( + borderRadius: BorderRadius.vertical( + top: Radius.circular(20), + ), + ), + backgroundColor: Colors.white, + builder: (context) { + return Padding( + padding: const EdgeInsets.all(20), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + 'Status Pengembalian', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.navyBlue, + ), + ), + const SizedBox(height: 16), + Text( + 'Pilih status pengembalian aset:', + style: TextStyle( + fontSize: 14, + color: AppColorsPetugas.textSecondary, + ), + ), + const SizedBox(height: 20), + + // Return Without Penalty Option + ListTile( + leading: Container( + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: Colors.green.shade50, + shape: BoxShape.circle, + ), + child: Icon( + Icons.check_circle_outline, + color: Colors.green.shade600, + ), + ), + title: const Text('Pengembalian Normal'), + subtitle: const Text( + 'Aset dikembalikan dalam kondisi baik', + ), + onTap: () { + Get.back(); + controller.markAsReturned(sewa['id']); + Get.back(); + Get.snackbar( + 'Aset Dikembalikan', + 'Status sewa diubah menjadi Dikembalikan', + backgroundColor: Colors.teal, + colorText: Colors.white, + snackPosition: SnackPosition.BOTTOM, + ); + }, + ), + + const SizedBox(height: 12), + + // Return With Penalty Option + ListTile( + leading: Container( + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: Colors.orange.shade50, + shape: BoxShape.circle, + ), + child: Icon( + Icons.warning_amber_rounded, + color: Colors.deepOrange, + ), + ), + title: const Text('Pengembalian Dengan Denda'), + subtitle: const Text( + 'Aset rusak/telat/tidak sesuai ketentuan', + ), + onTap: () { + Get.back(); + controller.requestPenaltyPayment(sewa['id']); + Get.back(); + Get.snackbar( + 'Denda Diterapkan', + 'Permintaan pembayaran denda telah dikirim', + backgroundColor: Colors.deepOrange, + colorText: Colors.white, + snackPosition: SnackPosition.BOTTOM, + ); + }, + ), + + const SizedBox(height: 20), + ], + ), + ); + }, + ); + }, + style: ElevatedButton.styleFrom( + backgroundColor: AppColorsPetugas.blueGrotto, + ), + child: const Text('Konfirmasi'), + ), + ], + ), + ); + }; + } else if (status == 'Periksa Denda') { + buttonText = 'Selesaikan Sewa'; + buttonIcon = Icons.task_alt_outlined; + buttonColor = Colors.purple; + onPressed = () { + controller.completeSewa(sewa['id']); + Get.back(); + Get.snackbar( + 'Sewa Selesai', + 'Sewa aset telah selesai', + backgroundColor: Colors.purple, + colorText: Colors.white, + snackPosition: SnackPosition.BOTTOM, + ); + }; + } else if (status == 'Dikembalikan') { + return Container( + padding: const EdgeInsets.all(20), + decoration: BoxDecoration( + color: Colors.white, + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, -5), + ), + ], + ), + child: Row( + children: [ + // Add Penalty Button + Expanded( + child: ElevatedButton.icon( + onPressed: () { + _showAddPenaltyDialog(); + }, + icon: const Icon(Icons.warning_amber_rounded), + label: const Text('Tambah Denda'), + style: ElevatedButton.styleFrom( + backgroundColor: Colors.deepOrange, + foregroundColor: Colors.white, + padding: const EdgeInsets.symmetric(vertical: 14), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(12), + ), + ), + ), + ), + const SizedBox(width: 12), + // Complete Rental Button + Expanded( + child: ElevatedButton.icon( + onPressed: () { + controller.completeSewa(sewa['id']); + Get.back(); + Get.snackbar( + 'Sewa Selesai', + 'Sewa aset telah selesai', + backgroundColor: Colors.purple, + colorText: Colors.white, + snackPosition: SnackPosition.BOTTOM, + ); + }, + icon: const Icon(Icons.task_alt_outlined), + label: const Text('Selesaikan Sewa'), + style: ElevatedButton.styleFrom( + backgroundColor: Colors.purple, + foregroundColor: Colors.white, + padding: const EdgeInsets.symmetric(vertical: 14), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(12), + ), + ), + ), + ), + ], + ), + ); + } + + // No button for other statuses + if (buttonText == null) return null; + + return Container( + padding: const EdgeInsets.all(20), + decoration: BoxDecoration( + color: Colors.white, + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, -5), + ), + ], + ), + child: ElevatedButton.icon( + onPressed: onPressed, + icon: Icon(buttonIcon), + label: Text(buttonText), + style: ElevatedButton.styleFrom( + backgroundColor: buttonColor, + foregroundColor: Colors.white, + padding: const EdgeInsets.symmetric(vertical: 14), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(12), + ), + ), + ), + ); + } + + void _showDownloadOptions(BuildContext context) { + showModalBottomSheet( + context: context, + shape: const RoundedRectangleBorder( + borderRadius: BorderRadius.vertical(top: Radius.circular(20)), + ), + backgroundColor: Colors.white, + builder: (context) { + return Padding( + padding: const EdgeInsets.all(20), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'Unduh Bukti Sewa', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.navyBlue, + ), + ), + IconButton( + icon: const Icon(Icons.close), + onPressed: () => Navigator.pop(context), + color: Colors.grey, + padding: EdgeInsets.zero, + constraints: const BoxConstraints(), + ), + ], + ), + const SizedBox(height: 6), + Text( + 'Pilih format dokumen yang ingin diunduh', + style: TextStyle( + fontSize: 14, + color: AppColorsPetugas.textSecondary, + ), + ), + const SizedBox(height: 24), + + // PDF option + _buildDownloadOption( + context: context, + icon: Icons.picture_as_pdf_outlined, + title: 'PDF', + subtitle: 'Dokumen lengkap bukti sewa', + onTap: () { + Navigator.pop(context); + Get.snackbar( + 'Mengunduh PDF', + 'Bukti sewa dalam format PDF sedang diunduh', + backgroundColor: AppColorsPetugas.blueGrotto, + colorText: Colors.white, + snackPosition: SnackPosition.BOTTOM, + ); + }, + ), + + const SizedBox(height: 16), + + // Image option + _buildDownloadOption( + context: context, + icon: Icons.image_outlined, + title: 'Gambar (JPG)', + subtitle: 'Tampilan bukti sewa sebagai gambar', + onTap: () { + Navigator.pop(context); + Get.snackbar( + 'Mengunduh Gambar', + 'Bukti sewa dalam format JPG sedang diunduh', + backgroundColor: AppColorsPetugas.blueGrotto, + colorText: Colors.white, + snackPosition: SnackPosition.BOTTOM, + ); + }, + ), + + const SizedBox(height: 16), + + // Excel option + _buildDownloadOption( + context: context, + icon: Icons.table_chart_outlined, + title: 'Excel (XLSX)', + subtitle: 'Data sewa dalam format spreadsheet', + onTap: () { + Navigator.pop(context); + Get.snackbar( + 'Mengunduh Excel', + 'Data sewa dalam format XLSX sedang diunduh', + backgroundColor: AppColorsPetugas.blueGrotto, + colorText: Colors.white, + snackPosition: SnackPosition.BOTTOM, + ); + }, + ), + + const SizedBox(height: 20), + ], + ), + ); + }, + ); + } + + Widget _buildDownloadOption({ + required BuildContext context, + required IconData icon, + required String title, + required String subtitle, + required VoidCallback onTap, + }) { + return InkWell( + onTap: onTap, + borderRadius: BorderRadius.circular(12), + child: Container( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), + decoration: BoxDecoration( + border: Border.all(color: AppColorsPetugas.babyBlue), + borderRadius: BorderRadius.circular(12), + ), + child: Row( + children: [ + Container( + padding: const EdgeInsets.all(10), + decoration: BoxDecoration( + color: AppColorsPetugas.babyBlueBright, + borderRadius: BorderRadius.circular(8), + ), + child: Icon(icon, color: AppColorsPetugas.blueGrotto, size: 24), + ), + const SizedBox(width: 16), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + title, + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + color: AppColorsPetugas.textPrimary, + ), + ), + const SizedBox(height: 4), + Text( + subtitle, + style: TextStyle( + fontSize: 13, + color: AppColorsPetugas.textSecondary, + ), + ), + ], + ), + ), + Icon( + Icons.arrow_forward_ios, + color: AppColorsPetugas.blueGrotto, + size: 16, + ), + ], + ), + ), + ); + } + + Widget _buildPaymentOptionsCard({ + bool isPenalty = false, + bool isVerifying = false, + }) { + final status = sewa['status']; + final isFullPayment = true.obs; + + // Set title based on context + String cardTitle = 'Opsi Pembayaran'; + if (isPenalty) { + cardTitle = + isVerifying ? 'Verifikasi Pembayaran Denda' : 'Opsi Pembayaran Denda'; + } else if (isVerifying) { + cardTitle = 'Verifikasi Pembayaran'; + } + + return _buildInfoCard( + title: cardTitle, + titleIcon: Icons.payment_rounded, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Full Payment Option (Radio Button) - Only show when not verifying + if (!isVerifying) + Obx( + () => Row( + children: [ + Radio( + value: true, + groupValue: isFullPayment.value, + onChanged: (value) { + isFullPayment.value = true; + // Set payment amount to full rental fee + }, + activeColor: AppColorsPetugas.blueGrotto, + ), + Text( + isPenalty ? 'Pembayaran Denda Penuh' : 'Pembayaran Penuh', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w500, + color: AppColorsPetugas.textPrimary, + ), + ), + ], + ), + ), + + // Payment Method Selection - Modified when verifying + Text( + isVerifying ? 'Metode Pembayaran Diterima' : 'Metode Pembayaran', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w600, + color: AppColorsPetugas.textPrimary, + ), + ), + const SizedBox(height: 12), + + // Payment Method Options + Row( + children: [ + Expanded( + child: InkWell( + onTap: + !isVerifying + ? () { + // Handle cash payment selection + } + : null, + child: Container( + padding: const EdgeInsets.symmetric(vertical: 12), + decoration: BoxDecoration( + color: + isVerifying && sewa['payment_method'] != 'cash' + ? Colors.white + : AppColorsPetugas.babyBlueBright, + borderRadius: BorderRadius.circular(8), + border: Border.all( + color: + isVerifying && sewa['payment_method'] == 'cash' + ? AppColorsPetugas.blueGrotto + : AppColorsPetugas.babyBlue, + width: + isVerifying && sewa['payment_method'] == 'cash' + ? 2 + : 1, + ), + ), + child: Column( + children: [ + Icon( + Icons.payments_outlined, + color: AppColorsPetugas.blueGrotto, + size: 24, + ), + const SizedBox(height: 8), + Text( + 'Tunai', + style: TextStyle( + fontSize: 14, + fontWeight: + isVerifying && sewa['payment_method'] == 'cash' + ? FontWeight.w600 + : FontWeight.w500, + color: AppColorsPetugas.textPrimary, + ), + ), + ], + ), + ), + ), + ), + const SizedBox(width: 12), + Expanded( + child: InkWell( + onTap: + !isVerifying + ? () { + // Handle transfer payment selection + } + : null, + child: Container( + padding: const EdgeInsets.symmetric(vertical: 12), + decoration: BoxDecoration( + color: + isVerifying && sewa['payment_method'] != 'transfer' + ? Colors.white + : AppColorsPetugas.babyBlueBright, + borderRadius: BorderRadius.circular(8), + border: Border.all( + color: + isVerifying && sewa['payment_method'] == 'transfer' + ? AppColorsPetugas.blueGrotto + : AppColorsPetugas.babyBlue, + width: + isVerifying && sewa['payment_method'] == 'transfer' + ? 2 + : 1, + ), + ), + child: Column( + children: [ + Icon( + Icons.account_balance_outlined, + color: AppColorsPetugas.blueGrotto, + size: 24, + ), + const SizedBox(height: 8), + Text( + 'Transfer', + style: TextStyle( + fontSize: 14, + fontWeight: + isVerifying && + sewa['payment_method'] == 'transfer' + ? FontWeight.w600 + : FontWeight.w500, + color: AppColorsPetugas.textPrimary, + ), + ), + ], + ), + ), + ), + ), + ], + ), + + const SizedBox(height: 20), + + // Amount Input Field + Text( + isPenalty + ? isVerifying + ? 'Nominal Denda Dibayarkan' + : 'Nominal Pembayaran Denda' + : isVerifying + ? 'Nominal Dibayarkan' + : 'Nominal Pembayaran', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w600, + color: AppColorsPetugas.textPrimary, + ), + ), + const SizedBox(height: 8), + Obx( + () => TextFormField( + keyboardType: TextInputType.number, + initialValue: + isFullPayment.value + ? isPenalty + ? '25000' // Hardcoded penalty amount + : ((sewa['total_biaya'] ?? 0) + + (sewa['denda'] ?? 0) - + (sewa['dibayar'] ?? 0)) + .toString() + : isVerifying + ? (sewa['paid_amount'] ?? 0).toString() + : null, + enabled: !isVerifying, + decoration: InputDecoration( + hintText: + isPenalty + ? 'Masukkan nominal pembayaran denda' + : 'Masukkan nominal pembayaran', + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(8), + borderSide: BorderSide(color: AppColorsPetugas.babyBlue), + ), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(8), + borderSide: BorderSide(color: AppColorsPetugas.babyBlue), + ), + contentPadding: const EdgeInsets.symmetric( + vertical: 14, + horizontal: 16, + ), + ), + ), + ), + + const SizedBox(height: 20), + + // Confirm Payment Button + SizedBox( + width: double.infinity, + child: ElevatedButton.icon( + onPressed: () { + // Handle payment confirmation or verification + if (isVerifying && isPenalty) { + // Verify penalty payment + controller.completeSewa(sewa['id']); + Get.back(); + Get.snackbar( + 'Pembayaran Denda Diverifikasi', + 'Status sewa diubah menjadi Selesai', + backgroundColor: Colors.purple, + colorText: Colors.white, + snackPosition: SnackPosition.BOTTOM, + ); + } else if (isVerifying) { + // Verify regular payment + controller.approveSewa(sewa['id']); + Get.back(); + Get.snackbar( + 'Pembayaran Diverifikasi', + 'Pengajuan sewa aset telah disetujui', + backgroundColor: Colors.green.shade600, + colorText: Colors.white, + snackPosition: SnackPosition.BOTTOM, + ); + } else if (isPenalty) { + // Handle penalty payment + controller.markPenaltyForInspection(sewa['id']); + Get.back(); + Get.snackbar( + 'Pembayaran Denda Dikonfirmasi', + 'Status diubah menjadi Periksa Denda', + backgroundColor: Colors.deepOrange, + colorText: Colors.white, + snackPosition: SnackPosition.BOTTOM, + ); + } else { + // Confirm regular payment + controller.approveSewa(sewa['id']); + Get.back(); + Get.snackbar( + 'Pembayaran Dikonfirmasi', + 'Status pengajuan diubah menjadi Periksa Pembayaran', + backgroundColor: Colors.green.shade600, + colorText: Colors.white, + snackPosition: SnackPosition.BOTTOM, + ); + } + }, + icon: Icon( + isVerifying + ? isPenalty + ? Icons.task_alt_outlined + : Icons.check_circle_outline + : isPenalty + ? Icons.warning_amber_rounded + : Icons.payments_outlined, + ), + label: Text( + isVerifying + ? isPenalty + ? 'Verifikasi Pembayaran Denda' + : 'Verifikasi Pembayaran' + : isPenalty + ? 'Konfirmasi Pembayaran Denda' + : 'Konfirmasi Pembayaran', + ), + style: ElevatedButton.styleFrom( + backgroundColor: + isVerifying && isPenalty + ? Colors.purple + : isVerifying + ? Colors.green.shade600 + : isPenalty + ? Colors.deepOrange + : AppColorsPetugas.blueGrotto, + foregroundColor: Colors.white, + padding: const EdgeInsets.symmetric(vertical: 14), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + ), + ), + ), + ], + ), + ); + } + + void _showAddPenaltyDialog() { + // TextEditingControllers for form inputs + final penaltyAmountController = TextEditingController(); + final descriptionController = TextEditingController(); + // Image file value (to be updated when capturing an image) + final Rx hasImage = false.obs; + + Get.dialog( + Dialog( + insetPadding: const EdgeInsets.symmetric(horizontal: 20), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(16)), + child: Padding( + padding: const EdgeInsets.all(20), + child: SingleChildScrollView( + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Header + Row( + children: [ + Icon( + Icons.warning_amber_rounded, + color: Colors.deepOrange, + size: 24, + ), + const SizedBox(width: 10), + Text( + 'Tambah Denda', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.textPrimary, + ), + ), + const Spacer(), + IconButton( + icon: const Icon(Icons.close, size: 20), + onPressed: () => Get.back(), + constraints: const BoxConstraints(), + padding: EdgeInsets.zero, + color: AppColorsPetugas.textSecondary, + ), + ], + ), + const SizedBox(height: 16), + + // Penalty Amount Field + Text( + 'Nominal Denda', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w600, + color: AppColorsPetugas.textPrimary, + ), + ), + const SizedBox(height: 8), + TextFormField( + controller: penaltyAmountController, + keyboardType: TextInputType.number, + decoration: InputDecoration( + hintText: 'Masukkan nominal denda', + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(8), + borderSide: BorderSide(color: AppColorsPetugas.babyBlue), + ), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(8), + borderSide: BorderSide(color: AppColorsPetugas.babyBlue), + ), + contentPadding: const EdgeInsets.symmetric( + vertical: 14, + horizontal: 16, + ), + ), + ), + const SizedBox(height: 16), + + // Description Field + Text( + 'Keterangan', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w600, + color: AppColorsPetugas.textPrimary, + ), + ), + const SizedBox(height: 8), + TextFormField( + controller: descriptionController, + maxLines: 3, + decoration: InputDecoration( + hintText: 'Masukkan keterangan denda', + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(8), + borderSide: BorderSide(color: AppColorsPetugas.babyBlue), + ), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(8), + borderSide: BorderSide(color: AppColorsPetugas.babyBlue), + ), + contentPadding: const EdgeInsets.all(16), + ), + ), + const SizedBox(height: 16), + + // Image Upload + Text( + 'Bukti Kerusakan', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w600, + color: AppColorsPetugas.textPrimary, + ), + ), + const SizedBox(height: 8), + Obx( + () => Container( + height: 150, + width: double.infinity, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(8), + border: Border.all(color: AppColorsPetugas.babyBlue), + color: + hasImage.value + ? Colors.transparent + : AppColorsPetugas.babyBlueBright, + ), + child: Material( + color: Colors.transparent, + borderRadius: BorderRadius.circular(8), + child: InkWell( + onTap: () { + // This would open the camera in a real implementation + // Using a snackbar here as a placeholder + Get.snackbar( + 'Membuka Kamera', + 'Implementasi kamera akan dibuka di sini', + backgroundColor: AppColorsPetugas.blueGrotto, + colorText: Colors.white, + snackPosition: SnackPosition.BOTTOM, + ); + + // Simulate taking a photo for the UI + hasImage.value = true; + }, + borderRadius: BorderRadius.circular(8), + child: + hasImage.value + ? Stack( + alignment: Alignment.center, + children: [ + // This would be the actual image preview + Container( + width: double.infinity, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(8), + ), + child: ClipRRect( + borderRadius: BorderRadius.circular(8), + child: Image.asset( + 'assets/images/damage_preview.jpg', + fit: BoxFit.cover, + errorBuilder: ( + context, + error, + stackTrace, + ) { + // Fallback if image not found + return Center( + child: Icon( + Icons.image, + size: 60, + color: + AppColorsPetugas.blueGrotto, + ), + ); + }, + ), + ), + ), + // Edit overlay + Container( + width: double.infinity, + height: double.infinity, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(8), + color: Colors.black.withOpacity(0.5), + ), + child: Center( + child: Icon( + Icons.camera_alt, + size: 40, + color: Colors.white, + ), + ), + ), + ], + ) + : Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon( + Icons.camera_alt, + size: 40, + color: AppColorsPetugas.blueGrotto, + ), + const SizedBox(height: 12), + Text( + 'Klik untuk ambil foto bukti', + style: TextStyle( + fontSize: 14, + color: AppColorsPetugas.textSecondary, + ), + ), + ], + ), + ), + ), + ), + ), + const SizedBox(height: 24), + + // Submit Button + SizedBox( + width: double.infinity, + child: ElevatedButton.icon( + onPressed: () { + // Validate inputs + if (penaltyAmountController.text.isEmpty) { + Get.snackbar( + 'Peringatan', + 'Nominal denda harus diisi', + backgroundColor: Colors.red, + colorText: Colors.white, + snackPosition: SnackPosition.BOTTOM, + ); + return; + } + + // Process the penalty + Get.back(); // Close the dialog + + // Update status to Pembayaran Denda + controller.requestPenaltyPayment(sewa['id']); + Get.back(); // Return from the detail page + + Get.snackbar( + 'Denda Diterapkan', + 'Permintaan pembayaran denda telah dikirim', + backgroundColor: Colors.deepOrange, + colorText: Colors.white, + snackPosition: SnackPosition.BOTTOM, + ); + }, + icon: const Icon(Icons.check_circle), + label: const Text('Konfirmasi Denda'), + style: ElevatedButton.styleFrom( + backgroundColor: Colors.deepOrange, + foregroundColor: Colors.white, + padding: const EdgeInsets.symmetric(vertical: 14), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + ), + ), + ), + ], + ), + ), + ), + ), + ); + } +} diff --git a/lib/app/modules/petugas_bumdes/views/petugas_langganan_view.dart b/lib/app/modules/petugas_bumdes/views/petugas_langganan_view.dart new file mode 100644 index 0000000..0519ecb --- /dev/null +++ b/lib/app/modules/petugas_bumdes/views/petugas_langganan_view.dart @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/lib/app/modules/petugas_bumdes/views/petugas_manajemen_bumdes_view.dart b/lib/app/modules/petugas_bumdes/views/petugas_manajemen_bumdes_view.dart new file mode 100644 index 0000000..61403fb --- /dev/null +++ b/lib/app/modules/petugas_bumdes/views/petugas_manajemen_bumdes_view.dart @@ -0,0 +1,914 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import '../controllers/petugas_manajemen_bumdes_controller.dart'; +import '../../../theme/app_colors_petugas.dart'; +import '../widgets/petugas_bumdes_bottom_navbar.dart'; +import '../widgets/petugas_side_navbar.dart'; +import '../controllers/petugas_bumdes_dashboard_controller.dart'; + +class PetugasManajemenBumdesView + extends GetView { + const PetugasManajemenBumdesView({Key? key}) : super(key: key); + + @override + Widget build(BuildContext context) { + final dashboardController = Get.find(); + + return Scaffold( + appBar: AppBar( + title: const Text('Manajemen BUMDes'), + backgroundColor: AppColorsPetugas.navyBlue, + foregroundColor: Colors.white, + leading: IconButton( + icon: const Icon(Icons.arrow_back), + onPressed: () => Get.back(), + ), + ), + body: Obx( + () => + controller.isLoading.value + ? const Center(child: CircularProgressIndicator()) + : Column( + children: [ + _buildTabBar(), + Expanded( + child: Obx(() { + switch (controller.selectedTabIndex.value) { + case 0: + return _buildProfileTab(); + case 1: + return _buildBankAccountTab(); + case 2: + return _buildPartnerTab(); + default: + return _buildProfileTab(); + } + }), + ), + ], + ), + ), + bottomNavigationBar: _buildBottomNav(dashboardController), + ); + } + + Widget _buildTabBar() { + return Container( + decoration: const BoxDecoration( + color: Colors.white, + boxShadow: [ + BoxShadow( + color: Color(0x29000000), + offset: Offset(0, 3), + blurRadius: 6, + ), + ], + ), + child: Row( + children: [ + _buildTab(0, 'Profile'), + _buildTab(1, 'Rekening Bank'), + _buildTab(2, 'Mitra'), + ], + ), + ); + } + + Widget _buildTab(int index, String title) { + final isSelected = controller.selectedTabIndex.value == index; + + return Expanded( + child: GestureDetector( + onTap: () => controller.changeTab(index), + child: Container( + padding: const EdgeInsets.symmetric(vertical: 16), + decoration: BoxDecoration( + border: Border( + bottom: BorderSide( + color: + isSelected ? AppColorsPetugas.navyBlue : Colors.transparent, + width: 3, + ), + ), + ), + child: Text( + title, + textAlign: TextAlign.center, + style: TextStyle( + color: + isSelected ? AppColorsPetugas.navyBlue : Colors.grey.shade600, + fontWeight: isSelected ? FontWeight.bold : FontWeight.normal, + fontSize: 14, + ), + ), + ), + ), + ); + } + + Widget _buildProfileTab() { + return Padding( + padding: const EdgeInsets.all(16.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text( + 'Profile BUMDes', + style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 16), + _buildProfileForm(), + ], + ), + ); + } + + Widget _buildProfileForm() { + return Card( + elevation: 4, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)), + child: Padding( + padding: const EdgeInsets.all(16.0), + child: Column( + children: [ + _buildProfileField('Nama BUMDes', 'BUMDes Sejahtera'), + _buildProfileField('Alamat', 'Jl. Desa No. 123, Kecamatan Makmur'), + _buildProfileField('Email', 'bumdes.sejahtera@gmail.com'), + _buildProfileField('Telepon', '081234567890'), + _buildProfileField( + 'Deskripsi', + 'BUMDes yang bergerak dalam bidang penyewaan aset dan paket untuk masyarakat desa.', + ), + const SizedBox(height: 16), + ElevatedButton( + onPressed: () {}, + style: ElevatedButton.styleFrom( + backgroundColor: AppColorsPetugas.navyBlue, + minimumSize: const Size(double.infinity, 45), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + ), + child: const Text('Edit Profile'), + ), + ], + ), + ), + ); + } + + Widget _buildProfileField(String label, String value) { + return Padding( + padding: const EdgeInsets.only(bottom: 12.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text(label, style: const TextStyle(fontSize: 12, color: Colors.grey)), + const SizedBox(height: 4), + Text(value, style: const TextStyle(fontSize: 14)), + const Divider(), + ], + ), + ); + } + + Widget _buildBankAccountTab() { + return Padding( + padding: const EdgeInsets.all(16.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + const Text( + 'Rekening Bank', + style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), + ), + ElevatedButton.icon( + onPressed: () => _showAddBankAccountDialog(), + icon: const Icon(Icons.add, size: 16), + label: const Text('Tambah'), + style: ElevatedButton.styleFrom( + backgroundColor: AppColorsPetugas.navyBlue, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + ), + ), + ], + ), + const SizedBox(height: 16), + Expanded( + child: ListView.builder( + itemCount: controller.bankAccounts.length, + itemBuilder: (context, index) { + final account = controller.bankAccounts[index]; + return _buildBankAccountCard(account, index); + }, + ), + ), + ], + ), + ); + } + + Widget _buildBankAccountCard(Map account, int index) { + final isPrimary = account['isPrimary'] as bool; + + return Card( + elevation: 2, + margin: const EdgeInsets.only(bottom: 12), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(12), + side: BorderSide( + color: isPrimary ? AppColorsPetugas.navyBlue : Colors.transparent, + width: isPrimary ? 2 : 0, + ), + ), + child: Padding( + padding: const EdgeInsets.all(16.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + account['bankName'], + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + ), + ), + PopupMenuButton( + itemBuilder: + (context) => [ + if (!isPrimary) + PopupMenuItem( + value: 'primary', + child: const Text('Jadikan Utama'), + ), + const PopupMenuItem(value: 'edit', child: Text('Edit')), + const PopupMenuItem( + value: 'delete', + child: Text('Hapus'), + ), + ], + onSelected: (value) { + switch (value) { + case 'primary': + controller.setPrimaryBankAccount(index); + break; + case 'edit': + _showEditBankAccountDialog(account, index); + break; + case 'delete': + _showDeleteBankAccountDialog(index); + break; + } + }, + ), + ], + ), + const SizedBox(height: 8), + _buildBankAccountInfo('Nama Pemilik', account['accountName']), + _buildBankAccountInfo('Nomor Rekening', account['accountNumber']), + if (isPrimary) + Container( + margin: const EdgeInsets.only(top: 8), + padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4), + decoration: BoxDecoration( + color: AppColorsPetugas.navyBlue.withOpacity(0.1), + borderRadius: BorderRadius.circular(4), + ), + child: Text( + 'Rekening Utama', + style: TextStyle( + fontSize: 12, + color: AppColorsPetugas.navyBlue, + fontWeight: FontWeight.bold, + ), + ), + ), + ], + ), + ), + ); + } + + Widget _buildBankAccountInfo(String label, String value) { + return Padding( + padding: const EdgeInsets.only(bottom: 4.0), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + SizedBox( + width: 120, + child: Text( + label, + style: const TextStyle(fontSize: 14, color: Colors.grey), + ), + ), + Expanded(child: Text(value, style: const TextStyle(fontSize: 14))), + ], + ), + ); + } + + Widget _buildPartnerTab() { + return Padding( + padding: const EdgeInsets.all(16.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + const Text( + 'Mitra BUMDes', + style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), + ), + ElevatedButton.icon( + onPressed: () => _showAddPartnerDialog(), + icon: const Icon(Icons.add, size: 16), + label: const Text('Tambah'), + style: ElevatedButton.styleFrom( + backgroundColor: AppColorsPetugas.navyBlue, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + ), + ), + ], + ), + const SizedBox(height: 16), + Expanded( + child: ListView.builder( + itemCount: controller.partners.length, + itemBuilder: (context, index) { + final partner = controller.partners[index]; + return _buildPartnerCard(partner, index); + }, + ), + ), + ], + ), + ); + } + + Widget _buildPartnerCard(Map partner, int index) { + final isActive = partner['isActive'] as bool; + + return Card( + elevation: 2, + margin: const EdgeInsets.only(bottom: 12), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)), + child: Padding( + padding: const EdgeInsets.all(16.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + partner['name'], + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + ), + ), + Row( + children: [ + Switch( + value: isActive, + onChanged: + (value) => controller.togglePartnerStatus(index), + activeColor: AppColorsPetugas.navyBlue, + ), + PopupMenuButton( + itemBuilder: + (context) => [ + const PopupMenuItem( + value: 'edit', + child: Text('Edit'), + ), + const PopupMenuItem( + value: 'delete', + child: Text('Hapus'), + ), + ], + onSelected: (value) { + switch (value) { + case 'edit': + _showEditPartnerDialog(partner, index); + break; + case 'delete': + _showDeletePartnerDialog(index); + break; + } + }, + ), + ], + ), + ], + ), + const SizedBox(height: 8), + _buildPartnerInfo('Email', partner['email']), + _buildPartnerInfo('Telepon', partner['phone']), + _buildPartnerInfo('Alamat', partner['address']), + Container( + margin: const EdgeInsets.only(top: 8), + padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4), + decoration: BoxDecoration( + color: + isActive + ? Colors.green.withOpacity(0.1) + : Colors.red.withOpacity(0.1), + borderRadius: BorderRadius.circular(4), + ), + child: Text( + isActive ? 'Aktif' : 'Tidak Aktif', + style: TextStyle( + fontSize: 12, + color: isActive ? Colors.green : Colors.red, + fontWeight: FontWeight.bold, + ), + ), + ), + ], + ), + ), + ); + } + + Widget _buildPartnerInfo(String label, String value) { + return Padding( + padding: const EdgeInsets.only(bottom: 4.0), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + SizedBox( + width: 80, + child: Text( + label, + style: const TextStyle(fontSize: 14, color: Colors.grey), + ), + ), + Expanded(child: Text(value, style: const TextStyle(fontSize: 14))), + ], + ), + ); + } + + Widget _buildBottomNav(PetugasBumdesDashboardController dashboardController) { + return Container( + decoration: BoxDecoration( + color: Colors.white, + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.1), + blurRadius: 8, + offset: const Offset(0, -2), + ), + ], + ), + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 16.0, vertical: 10.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + _buildNavItem(Icons.dashboard, 'Dashboard', 0, dashboardController), + _buildNavItem(Icons.inventory, 'Aset', 1, dashboardController), + _buildNavItem(Icons.inventory_2, 'Paket', 2, dashboardController), + _buildNavItem(Icons.shopping_cart, 'Sewa', 3, dashboardController), + _buildNavItem( + Icons.subscriptions, + 'Langganan', + 4, + dashboardController, + ), + ], + ), + ), + ); + } + + Widget _buildNavItem( + IconData icon, + String label, + int index, + PetugasBumdesDashboardController dashboardController, + ) { + return InkWell( + onTap: () => dashboardController.changeTab(index), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Icon(icon, color: AppColorsPetugas.blueGrotto, size: 24), + const SizedBox(height: 4), + Text( + label, + style: TextStyle(fontSize: 12, color: AppColorsPetugas.blueGrotto), + ), + ], + ), + ); + } + + void _showAddBankAccountDialog() { + Get.dialog( + Dialog( + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(16)), + child: Padding( + padding: const EdgeInsets.all(16.0), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + const Text( + 'Tambah Rekening Bank', + style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 16), + const TextField( + decoration: InputDecoration( + labelText: 'Nama Bank', + border: OutlineInputBorder(), + ), + ), + const SizedBox(height: 12), + const TextField( + decoration: InputDecoration( + labelText: 'Nama Pemilik Rekening', + border: OutlineInputBorder(), + ), + ), + const SizedBox(height: 12), + const TextField( + decoration: InputDecoration( + labelText: 'Nomor Rekening', + border: OutlineInputBorder(), + ), + keyboardType: TextInputType.number, + ), + const SizedBox(height: 24), + Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + TextButton( + onPressed: () => Get.back(), + child: const Text('Batal'), + ), + const SizedBox(width: 8), + ElevatedButton( + onPressed: () { + Get.back(); + Get.snackbar( + 'Info', + 'Fitur tambah rekening bank sedang dalam pengembangan', + snackPosition: SnackPosition.BOTTOM, + ); + }, + style: ElevatedButton.styleFrom( + backgroundColor: AppColorsPetugas.navyBlue, + ), + child: const Text('Simpan'), + ), + ], + ), + ], + ), + ), + ), + ); + } + + void _showEditBankAccountDialog(Map account, int index) { + Get.dialog( + Dialog( + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(16)), + child: Padding( + padding: const EdgeInsets.all(16.0), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + const Text( + 'Edit Rekening Bank', + style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 16), + TextField( + decoration: const InputDecoration( + labelText: 'Nama Bank', + border: OutlineInputBorder(), + ), + controller: TextEditingController(text: account['bankName']), + ), + const SizedBox(height: 12), + TextField( + decoration: const InputDecoration( + labelText: 'Nama Pemilik Rekening', + border: OutlineInputBorder(), + ), + controller: TextEditingController(text: account['accountName']), + ), + const SizedBox(height: 12), + TextField( + decoration: const InputDecoration( + labelText: 'Nomor Rekening', + border: OutlineInputBorder(), + ), + controller: TextEditingController( + text: account['accountNumber'], + ), + keyboardType: TextInputType.number, + ), + const SizedBox(height: 24), + Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + TextButton( + onPressed: () => Get.back(), + child: const Text('Batal'), + ), + const SizedBox(width: 8), + ElevatedButton( + onPressed: () { + Get.back(); + Get.snackbar( + 'Info', + 'Fitur edit rekening bank sedang dalam pengembangan', + snackPosition: SnackPosition.BOTTOM, + ); + }, + style: ElevatedButton.styleFrom( + backgroundColor: AppColorsPetugas.navyBlue, + ), + child: const Text('Simpan'), + ), + ], + ), + ], + ), + ), + ), + ); + } + + void _showDeleteBankAccountDialog(int index) { + Get.dialog( + Dialog( + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(16)), + child: Padding( + padding: const EdgeInsets.all(16.0), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + const Text( + 'Hapus Rekening Bank', + style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 16), + const Text( + 'Apakah Anda yakin ingin menghapus rekening bank ini?', + textAlign: TextAlign.center, + ), + const SizedBox(height: 24), + Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + TextButton( + onPressed: () => Get.back(), + child: const Text('Batal'), + ), + const SizedBox(width: 8), + ElevatedButton( + onPressed: () { + Get.back(); + Get.snackbar( + 'Info', + 'Fitur hapus rekening bank sedang dalam pengembangan', + snackPosition: SnackPosition.BOTTOM, + ); + }, + style: ElevatedButton.styleFrom( + backgroundColor: Colors.red, + ), + child: const Text('Hapus'), + ), + ], + ), + ], + ), + ), + ), + ); + } + + void _showAddPartnerDialog() { + Get.dialog( + Dialog( + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(16)), + child: Padding( + padding: const EdgeInsets.all(16.0), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + const Text( + 'Tambah Mitra', + style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 16), + const TextField( + decoration: InputDecoration( + labelText: 'Nama Mitra', + border: OutlineInputBorder(), + ), + ), + const SizedBox(height: 12), + const TextField( + decoration: InputDecoration( + labelText: 'Email', + border: OutlineInputBorder(), + ), + keyboardType: TextInputType.emailAddress, + ), + const SizedBox(height: 12), + const TextField( + decoration: InputDecoration( + labelText: 'Telepon', + border: OutlineInputBorder(), + ), + keyboardType: TextInputType.phone, + ), + const SizedBox(height: 12), + const TextField( + decoration: InputDecoration( + labelText: 'Alamat', + border: OutlineInputBorder(), + ), + maxLines: 2, + ), + const SizedBox(height: 24), + Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + TextButton( + onPressed: () => Get.back(), + child: const Text('Batal'), + ), + const SizedBox(width: 8), + ElevatedButton( + onPressed: () { + Get.back(); + Get.snackbar( + 'Info', + 'Fitur tambah mitra sedang dalam pengembangan', + snackPosition: SnackPosition.BOTTOM, + ); + }, + style: ElevatedButton.styleFrom( + backgroundColor: AppColorsPetugas.navyBlue, + ), + child: const Text('Simpan'), + ), + ], + ), + ], + ), + ), + ), + ); + } + + void _showEditPartnerDialog(Map partner, int index) { + Get.dialog( + Dialog( + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(16)), + child: Padding( + padding: const EdgeInsets.all(16.0), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + const Text( + 'Edit Mitra', + style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 16), + TextField( + decoration: const InputDecoration( + labelText: 'Nama Mitra', + border: OutlineInputBorder(), + ), + controller: TextEditingController(text: partner['name']), + ), + const SizedBox(height: 12), + TextField( + decoration: const InputDecoration( + labelText: 'Email', + border: OutlineInputBorder(), + ), + controller: TextEditingController(text: partner['email']), + keyboardType: TextInputType.emailAddress, + ), + const SizedBox(height: 12), + TextField( + decoration: const InputDecoration( + labelText: 'Telepon', + border: OutlineInputBorder(), + ), + controller: TextEditingController(text: partner['phone']), + keyboardType: TextInputType.phone, + ), + const SizedBox(height: 12), + TextField( + decoration: const InputDecoration( + labelText: 'Alamat', + border: OutlineInputBorder(), + ), + controller: TextEditingController(text: partner['address']), + maxLines: 2, + ), + const SizedBox(height: 24), + Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + TextButton( + onPressed: () => Get.back(), + child: const Text('Batal'), + ), + const SizedBox(width: 8), + ElevatedButton( + onPressed: () { + Get.back(); + Get.snackbar( + 'Info', + 'Fitur edit mitra sedang dalam pengembangan', + snackPosition: SnackPosition.BOTTOM, + ); + }, + style: ElevatedButton.styleFrom( + backgroundColor: AppColorsPetugas.navyBlue, + ), + child: const Text('Simpan'), + ), + ], + ), + ], + ), + ), + ), + ); + } + + void _showDeletePartnerDialog(int index) { + Get.dialog( + Dialog( + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(16)), + child: Padding( + padding: const EdgeInsets.all(16.0), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + const Text( + 'Hapus Mitra', + style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 16), + const Text( + 'Apakah Anda yakin ingin menghapus mitra ini?', + textAlign: TextAlign.center, + ), + const SizedBox(height: 24), + Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + TextButton( + onPressed: () => Get.back(), + child: const Text('Batal'), + ), + const SizedBox(width: 8), + ElevatedButton( + onPressed: () { + Get.back(); + Get.snackbar( + 'Info', + 'Fitur hapus mitra sedang dalam pengembangan', + snackPosition: SnackPosition.BOTTOM, + ); + }, + style: ElevatedButton.styleFrom( + backgroundColor: Colors.red, + ), + child: const Text('Hapus'), + ), + ], + ), + ], + ), + ), + ), + ); + } +} diff --git a/lib/app/modules/petugas_bumdes/views/petugas_paket_view.dart b/lib/app/modules/petugas_bumdes/views/petugas_paket_view.dart new file mode 100644 index 0000000..cbd2353 --- /dev/null +++ b/lib/app/modules/petugas_bumdes/views/petugas_paket_view.dart @@ -0,0 +1,700 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import '../controllers/petugas_paket_controller.dart'; +import '../../../theme/app_colors_petugas.dart'; +import '../widgets/petugas_bumdes_bottom_navbar.dart'; +import '../widgets/petugas_side_navbar.dart'; +import '../controllers/petugas_bumdes_dashboard_controller.dart'; +import '../../../routes/app_routes.dart'; + +class PetugasPaketView extends GetView { + const PetugasPaketView({Key? key}) : super(key: key); + + @override + Widget build(BuildContext context) { + // Get dashboard controller for navigation + final dashboardController = Get.find(); + + return WillPopScope( + onWillPop: () async { + // Saat back button ditekan, kembali ke dashboard + dashboardController.changeTab(0); + return false; + }, + child: Scaffold( + appBar: AppBar( + title: const Text( + 'Manajemen Paket', + style: TextStyle(fontWeight: FontWeight.w600), + ), + backgroundColor: AppColorsPetugas.navyBlue, + foregroundColor: Colors.white, + elevation: 0, + actions: [ + IconButton( + icon: const Icon(Icons.sort, size: 22), + onPressed: () => _showSortingBottomSheet(context), + tooltip: 'Urutkan', + ), + const SizedBox(width: 8), + ], + ), + drawer: PetugasSideNavbar(controller: dashboardController), + drawerEdgeDragWidth: 60, + drawerScrimColor: Colors.black.withOpacity(0.6), + backgroundColor: AppColorsPetugas.babyBlueBright, + body: Column( + children: [_buildSearchBar(), Expanded(child: _buildPaketList())], + ), + bottomNavigationBar: Obx( + () => PetugasBumdesBottomNavbar( + selectedIndex: dashboardController.currentTabIndex.value, + onItemTapped: (index) => dashboardController.changeTab(index), + ), + ), + floatingActionButton: FloatingActionButton.extended( + onPressed: () => Get.toNamed(Routes.PETUGAS_TAMBAH_PAKET), + label: Text( + 'Tambah Paket', + style: TextStyle( + fontWeight: FontWeight.w600, + color: AppColorsPetugas.blueGrotto, + ), + ), + icon: Icon(Icons.add, color: AppColorsPetugas.blueGrotto), + backgroundColor: AppColorsPetugas.babyBlueBright, + ), + ), + ); + } + + Widget _buildSearchBar() { + return Container( + padding: const EdgeInsets.fromLTRB(16, 16, 16, 8), + decoration: BoxDecoration( + color: Colors.white, + boxShadow: [ + BoxShadow( + color: AppColorsPetugas.shadowColor, + blurRadius: 10, + offset: const Offset(0, 1), + ), + ], + ), + child: TextField( + onChanged: controller.setSearchQuery, + decoration: InputDecoration( + hintText: 'Cari paket...', + hintStyle: TextStyle(color: Colors.grey.shade400), + prefixIcon: Icon( + Icons.search, + color: AppColorsPetugas.textSecondary, + size: 20, + ), + filled: true, + fillColor: AppColorsPetugas.babyBlueBright, + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(12), + borderSide: BorderSide.none, + ), + contentPadding: const EdgeInsets.symmetric(vertical: 0), + isDense: true, + ), + ), + ); + } + + Widget _buildPaketList() { + return Obx(() { + if (controller.isLoading.value) { + return Center( + child: CircularProgressIndicator( + color: AppColorsPetugas.blueGrotto, + strokeWidth: 3, + ), + ); + } + + if (controller.filteredPaketList.isEmpty) { + return Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon( + Icons.category_outlined, + size: 80, + color: AppColorsPetugas.babyBlue, + ), + const SizedBox(height: 24), + Text( + 'Tidak ada paket ditemukan', + style: TextStyle( + fontSize: 16, + color: AppColorsPetugas.textSecondary, + fontWeight: FontWeight.w500, + ), + ), + const SizedBox(height: 16), + ElevatedButton.icon( + onPressed: () => Get.toNamed(Routes.PETUGAS_TAMBAH_PAKET), + icon: const Icon(Icons.add), + label: const Text('Tambah Paket'), + style: ElevatedButton.styleFrom( + backgroundColor: AppColorsPetugas.blueGrotto, + foregroundColor: Colors.white, + padding: const EdgeInsets.symmetric( + horizontal: 24, + vertical: 12, + ), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(12), + ), + ), + ), + ], + ), + ); + } + + return RefreshIndicator( + onRefresh: controller.loadPaketData, + color: AppColorsPetugas.blueGrotto, + child: ListView.builder( + padding: const EdgeInsets.all(16), + itemCount: controller.filteredPaketList.length, + itemBuilder: (context, index) { + final paket = controller.filteredPaketList[index]; + return _buildPaketCard(context, paket); + }, + ), + ); + }); + } + + Widget _buildPaketCard(BuildContext context, Map paket) { + final isAvailable = paket['tersedia'] == true; + + return Container( + margin: const EdgeInsets.only(bottom: 12), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(12), + boxShadow: [ + BoxShadow( + color: AppColorsPetugas.shadowColor, + blurRadius: 5, + offset: const Offset(0, 2), + ), + ], + ), + child: ClipRRect( + borderRadius: BorderRadius.circular(12), + child: Material( + color: Colors.transparent, + child: InkWell( + onTap: () => _showPaketDetails(context, paket), + child: Row( + children: [ + // Paket image or icon + Container( + width: 80, + height: 80, + decoration: BoxDecoration( + color: AppColorsPetugas.babyBlueLight, + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(12), + bottomLeft: Radius.circular(12), + ), + ), + child: Center( + child: Icon( + _getPaketIcon(paket['kategori']), + color: AppColorsPetugas.navyBlue, + size: 32, + ), + ), + ), + + // Paket info + Expanded( + child: Padding( + padding: const EdgeInsets.all(12), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + // Name and price + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + paket['nama'], + style: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 14, + color: AppColorsPetugas.navyBlue, + ), + maxLines: 2, + overflow: TextOverflow.ellipsis, + ), + const SizedBox(height: 4), + Text( + 'Rp ${_formatPrice(paket['harga'])}', + style: TextStyle( + fontSize: 12, + color: AppColorsPetugas.textSecondary, + ), + ), + ], + ), + ), + + // Status badge + Container( + padding: const EdgeInsets.symmetric( + horizontal: 8, + vertical: 4, + ), + decoration: BoxDecoration( + color: + isAvailable + ? AppColorsPetugas.successLight + : AppColorsPetugas.errorLight, + borderRadius: BorderRadius.circular(8), + border: Border.all( + color: + isAvailable + ? AppColorsPetugas.success + : AppColorsPetugas.error, + width: 1, + ), + ), + child: Text( + isAvailable ? 'Aktif' : 'Nonaktif', + style: TextStyle( + fontSize: 10, + color: + isAvailable + ? AppColorsPetugas.success + : AppColorsPetugas.error, + fontWeight: FontWeight.w500, + ), + ), + ), + + // Action icons + const SizedBox(width: 12), + Row( + children: [ + // Edit icon + GestureDetector( + onTap: + () => _showAddEditPaketDialog( + context, + paket: paket, + ), + child: Container( + padding: const EdgeInsets.all(5), + decoration: BoxDecoration( + color: AppColorsPetugas.babyBlueBright, + borderRadius: BorderRadius.circular(6), + border: Border.all( + color: AppColorsPetugas.blueGrotto + .withOpacity(0.5), + ), + ), + child: Icon( + Icons.edit_outlined, + color: AppColorsPetugas.blueGrotto, + size: 16, + ), + ), + ), + + const SizedBox(width: 8), + + // Delete icon + GestureDetector( + onTap: + () => _showDeleteConfirmation(context, paket), + child: Container( + padding: const EdgeInsets.all(5), + decoration: BoxDecoration( + color: AppColorsPetugas.errorLight, + borderRadius: BorderRadius.circular(6), + border: Border.all( + color: AppColorsPetugas.error.withOpacity( + 0.5, + ), + ), + ), + child: Icon( + Icons.delete_outline, + color: AppColorsPetugas.error, + size: 16, + ), + ), + ), + ], + ), + ], + ), + ), + ), + ], + ), + ), + ), + ), + ); + } + + String _formatPrice(dynamic price) { + if (price == null) return '0'; + + // Convert the price to string and handle formatting + String priceStr = price.toString(); + + // Add thousand separators + final RegExp reg = RegExp(r'(\d{1,3})(?=(\d{3})+(?!\d))'); + String formatted = priceStr.replaceAllMapped(reg, (Match m) => '${m[1]}.'); + + return formatted; + } + + IconData _getPaketIcon(String? category) { + if (category == null) return Icons.category; + + switch (category.toLowerCase()) { + case 'bulanan': + return Icons.calendar_month; + case 'tahunan': + return Icons.calendar_today; + case 'premium': + return Icons.star; + case 'bisnis': + return Icons.business; + default: + return Icons.category; + } + } + + void _showSortingBottomSheet(BuildContext context) { + showModalBottomSheet( + context: context, + shape: const RoundedRectangleBorder( + borderRadius: BorderRadius.vertical(top: Radius.circular(16)), + ), + builder: (context) { + return Padding( + padding: const EdgeInsets.all(16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + 'Urutkan Paket', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.navyBlue, + ), + ), + const SizedBox(height: 16), + ...controller.sortOptions.map((option) { + return Obx(() { + final isSelected = option == controller.sortBy.value; + return RadioListTile( + title: Text(option), + value: option, + groupValue: controller.sortBy.value, + activeColor: AppColorsPetugas.blueGrotto, + onChanged: (value) { + if (value != null) { + controller.setSortBy(value); + Navigator.pop(context); + } + }, + ); + }); + }).toList(), + ], + ), + ); + }, + ); + } + + void _showPaketDetails(BuildContext context, Map paket) { + showModalBottomSheet( + context: context, + isScrollControlled: true, + shape: const RoundedRectangleBorder( + borderRadius: BorderRadius.vertical(top: Radius.circular(16)), + ), + builder: (context) { + return Container( + padding: const EdgeInsets.all(16), + constraints: BoxConstraints( + maxHeight: MediaQuery.of(context).size.height * 0.75, + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Expanded( + child: Text( + paket['nama'], + style: TextStyle( + fontSize: 20, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.navyBlue, + ), + ), + ), + IconButton( + icon: Icon(Icons.close, color: AppColorsPetugas.blueGrotto), + onPressed: () => Navigator.pop(context), + ), + ], + ), + const SizedBox(height: 16), + Expanded( + child: ListView( + children: [ + Card( + margin: EdgeInsets.zero, + child: Padding( + padding: const EdgeInsets.all(16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildDetailItem('Kategori', paket['kategori']), + _buildDetailItem( + 'Harga', + controller.formatPrice(paket['harga']), + ), + _buildDetailItem( + 'Status', + paket['tersedia'] ? 'Tersedia' : 'Tidak Tersedia', + ), + _buildDetailItem('Deskripsi', paket['deskripsi']), + ], + ), + ), + ), + const SizedBox(height: 16), + Text( + 'Item dalam Paket', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.navyBlue, + ), + ), + const SizedBox(height: 8), + Card( + margin: EdgeInsets.zero, + child: ListView.separated( + physics: const NeverScrollableScrollPhysics(), + shrinkWrap: true, + itemCount: paket['items'].length, + separatorBuilder: + (context, index) => const Divider(height: 1), + itemBuilder: (context, index) { + final item = paket['items'][index]; + return ListTile( + leading: CircleAvatar( + backgroundColor: AppColorsPetugas.babyBlue, + child: Icon( + Icons.inventory_2_outlined, + color: AppColorsPetugas.blueGrotto, + size: 16, + ), + ), + title: Text(item['nama']), + trailing: Text( + '${item['jumlah']} unit', + style: TextStyle( + color: AppColorsPetugas.blueGrotto, + fontWeight: FontWeight.bold, + ), + ), + ); + }, + ), + ), + ], + ), + ), + const SizedBox(height: 16), + Row( + children: [ + Expanded( + child: OutlinedButton.icon( + onPressed: () { + Navigator.pop(context); + Get.toNamed( + Routes.PETUGAS_TAMBAH_PAKET, + arguments: paket, + ); + }, + icon: const Icon(Icons.edit), + label: const Text('Edit'), + style: OutlinedButton.styleFrom( + foregroundColor: AppColorsPetugas.blueGrotto, + side: BorderSide(color: AppColorsPetugas.blueGrotto), + padding: const EdgeInsets.symmetric(vertical: 12), + ), + ), + ), + const SizedBox(width: 16), + Expanded( + child: ElevatedButton.icon( + onPressed: () { + Navigator.pop(context); + _showDeleteConfirmation(context, paket); + }, + icon: const Icon(Icons.delete), + label: const Text('Hapus'), + style: ElevatedButton.styleFrom( + backgroundColor: AppColorsPetugas.error, + foregroundColor: Colors.white, + padding: const EdgeInsets.symmetric(vertical: 12), + ), + ), + ), + ], + ), + ], + ), + ); + }, + ); + } + + Widget _buildDetailItem(String label, String value) { + return Padding( + padding: const EdgeInsets.only(bottom: 12), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + label, + style: TextStyle(fontSize: 14, color: AppColorsPetugas.blueGrotto), + ), + const SizedBox(height: 4), + Text( + value, + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w500, + color: AppColorsPetugas.navyBlue, + ), + ), + ], + ), + ); + } + + void _showAddEditPaketDialog( + BuildContext context, { + Map? paket, + }) { + final isEditing = paket != null; + + // This would be implemented with proper form validation in a real app + showDialog( + context: context, + builder: (context) { + return AlertDialog( + title: Text( + isEditing ? 'Edit Paket' : 'Tambah Paket Baru', + style: TextStyle(color: AppColorsPetugas.navyBlue), + ), + content: const Text( + 'Form pengelolaan paket akan ditampilkan di sini dengan field untuk nama, kategori, harga, deskripsi, status, dan item-item dalam paket.', + ), + actions: [ + TextButton( + onPressed: () => Navigator.pop(context), + child: Text( + 'Batal', + style: TextStyle(color: Colors.grey.shade600), + ), + ), + ElevatedButton( + onPressed: () { + Navigator.pop(context); + // In a real app, we would save the form data + Get.snackbar( + isEditing ? 'Paket Diperbarui' : 'Paket Ditambahkan', + isEditing + ? 'Paket berhasil diperbarui' + : 'Paket baru berhasil ditambahkan', + backgroundColor: AppColorsPetugas.success, + colorText: Colors.white, + snackPosition: SnackPosition.BOTTOM, + ); + }, + style: ElevatedButton.styleFrom( + backgroundColor: AppColorsPetugas.blueGrotto, + ), + child: Text(isEditing ? 'Simpan' : 'Tambah'), + ), + ], + ); + }, + ); + } + + void _showDeleteConfirmation( + BuildContext context, + Map paket, + ) { + showDialog( + context: context, + builder: (context) { + return AlertDialog( + title: Text( + 'Konfirmasi Hapus', + style: TextStyle(color: AppColorsPetugas.navyBlue), + ), + content: Text( + 'Apakah Anda yakin ingin menghapus paket "${paket['nama']}"?', + ), + actions: [ + TextButton( + onPressed: () => Navigator.pop(context), + child: Text( + 'Batal', + style: TextStyle(color: Colors.grey.shade600), + ), + ), + ElevatedButton( + onPressed: () { + Navigator.pop(context); + controller.deletePaket(paket['id']); + Get.snackbar( + 'Paket Dihapus', + 'Paket berhasil dihapus dari sistem', + backgroundColor: AppColorsPetugas.error, + colorText: Colors.white, + snackPosition: SnackPosition.BOTTOM, + ); + }, + style: ElevatedButton.styleFrom( + backgroundColor: AppColorsPetugas.error, + ), + child: const Text('Hapus'), + ), + ], + ); + }, + ); + } +} diff --git a/lib/app/modules/petugas_bumdes/views/petugas_sewa_view.dart b/lib/app/modules/petugas_bumdes/views/petugas_sewa_view.dart new file mode 100644 index 0000000..72ab0bb --- /dev/null +++ b/lib/app/modules/petugas_bumdes/views/petugas_sewa_view.dart @@ -0,0 +1,682 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import '../controllers/petugas_sewa_controller.dart'; +import '../../../theme/app_colors_petugas.dart'; +import '../widgets/petugas_bumdes_bottom_navbar.dart'; +import '../widgets/petugas_side_navbar.dart'; +import '../controllers/petugas_bumdes_dashboard_controller.dart'; +import 'petugas_detail_sewa_view.dart'; + +class PetugasSewaView extends StatefulWidget { + const PetugasSewaView({Key? key}) : super(key: key); + + @override + State createState() => _PetugasSewaViewState(); +} + +class _PetugasSewaViewState extends State + with SingleTickerProviderStateMixin { + late TabController _tabController; + late PetugasSewaController controller; + late PetugasBumdesDashboardController dashboardController; + + @override + void initState() { + super.initState(); + controller = Get.find(); + dashboardController = Get.find(); + + _tabController = TabController( + length: controller.statusFilters.length, + vsync: this, + ); + + // Add listener to sync tab selection with controller's filter + _tabController.addListener(_onTabChanged); + + // Listen to controller's filter changes + ever(controller.selectedStatusFilter, _onFilterChanged); + } + + void _onTabChanged() { + if (!_tabController.indexIsChanging) { + final selectedStatus = controller.statusFilters[_tabController.index]; + controller.setStatusFilter(selectedStatus); + } + } + + void _onFilterChanged(String status) { + final index = controller.statusFilters.indexOf(status); + if (index != -1 && index != _tabController.index) { + _tabController.animateTo(index); + } + } + + @override + void dispose() { + _tabController.removeListener(_onTabChanged); + _tabController.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return WillPopScope( + onWillPop: () async { + dashboardController.changeTab(0); + return false; + }, + child: Scaffold( + appBar: AppBar( + title: const Text( + 'Manajemen Sewa', + style: TextStyle(fontWeight: FontWeight.w600, fontSize: 18), + ), + backgroundColor: AppColorsPetugas.navyBlue, + foregroundColor: Colors.white, + elevation: 0, + actions: [ + IconButton( + icon: const Icon(Icons.filter_alt_outlined, size: 22), + onPressed: () => _showFilterBottomSheet(), + tooltip: 'Filter', + ), + ], + bottom: PreferredSize( + preferredSize: const Size.fromHeight(60), + child: Container( + decoration: const BoxDecoration( + color: AppColorsPetugas.navyBlue, + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(16), + bottomRight: Radius.circular(16), + ), + ), + child: TabBar( + controller: _tabController, + isScrollable: true, + indicator: BoxDecoration( + color: Colors.white.withOpacity(0.2), + borderRadius: BorderRadius.circular(30), + ), + indicatorSize: TabBarIndicatorSize.tab, + indicatorPadding: const EdgeInsets.symmetric( + vertical: 8, + horizontal: 4, + ), + labelColor: Colors.white, + unselectedLabelColor: Colors.white.withOpacity(0.7), + labelStyle: const TextStyle( + fontWeight: FontWeight.w600, + fontSize: 14, + ), + unselectedLabelStyle: const TextStyle( + fontWeight: FontWeight.w400, + fontSize: 14, + ), + tabs: + controller.statusFilters + .map( + (status) => Padding( + padding: const EdgeInsets.symmetric( + horizontal: 8, + vertical: 4, + ), + child: Tab(text: status), + ), + ) + .toList(), + dividerColor: Colors.transparent, + ), + ), + ), + ), + drawer: PetugasSideNavbar(controller: dashboardController), + drawerEdgeDragWidth: 60, + drawerScrimColor: Colors.black.withOpacity(0.6), + backgroundColor: Colors.grey.shade50, + body: Column( + children: [ + _buildSearchSection(), + Expanded( + child: TabBarView( + controller: _tabController, + children: + controller.statusFilters.map((status) { + return _buildSewaListForStatus(status); + }).toList(), + ), + ), + ], + ), + bottomNavigationBar: Obx( + () => PetugasBumdesBottomNavbar( + selectedIndex: dashboardController.currentTabIndex.value, + onItemTapped: (index) => dashboardController.changeTab(index), + ), + ), + ), + ); + } + + Widget _buildSearchSection() { + return Container( + padding: const EdgeInsets.fromLTRB(16, 16, 16, 16), + decoration: BoxDecoration( + color: Colors.white, + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.03), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: TextField( + onChanged: (value) { + controller.setSearchQuery(value); + controller.setOrderIdQuery(value); + }, + decoration: InputDecoration( + hintText: 'Cari nama warga atau ID pesanan...', + hintStyle: TextStyle(color: Colors.grey.shade400, fontSize: 14), + prefixIcon: Container( + padding: const EdgeInsets.all(12), + child: Icon( + Icons.search_rounded, + color: AppColorsPetugas.blueGrotto, + size: 22, + ), + ), + filled: true, + fillColor: Colors.grey.shade50, + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(50), + borderSide: BorderSide.none, + ), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(50), + borderSide: BorderSide.none, + ), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(50), + borderSide: BorderSide.none, + ), + contentPadding: EdgeInsets.zero, + isDense: true, + suffixIcon: Icon( + Icons.tune_rounded, + color: AppColorsPetugas.textSecondary, + size: 20, + ), + ), + ), + ); + } + + Widget _buildSewaListForStatus(String status) { + return Obx(() { + if (controller.isLoading.value) { + return Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + CircularProgressIndicator( + color: AppColorsPetugas.blueGrotto, + strokeWidth: 3, + ), + const SizedBox(height: 16), + Text( + 'Memuat data...', + style: TextStyle( + color: AppColorsPetugas.textSecondary, + fontWeight: FontWeight.w500, + ), + ), + ], + ), + ); + } + + final filteredList = + status == 'Semua' + ? controller.filteredSewaList + : status == 'Periksa Pembayaran' + ? controller.sewaList + .where( + (sewa) => + sewa['status'] == 'Periksa Pembayaran' || + sewa['status'] == 'Pembayaran Denda' || + sewa['status'] == 'Periksa Denda', + ) + .toList() + : controller.sewaList + .where((sewa) => sewa['status'] == status) + .toList(); + + if (filteredList.isEmpty) { + return Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Container( + padding: const EdgeInsets.all(20), + decoration: BoxDecoration( + color: AppColorsPetugas.babyBlueLight, + shape: BoxShape.circle, + ), + child: Icon( + Icons.inventory_2_outlined, + size: 70, + color: AppColorsPetugas.blueGrotto, + ), + ), + const SizedBox(height: 24), + Text( + 'Tidak ada sewa ditemukan', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.w600, + color: AppColorsPetugas.textPrimary, + ), + ), + const SizedBox(height: 12), + Text( + status == 'Semua' + ? 'Belum ada data sewa untuk kriteria yang dipilih' + : status == 'Periksa Pembayaran' + ? 'Belum ada data sewa yang perlu pembayaran diverifikasi atau memiliki denda' + : 'Belum ada data sewa dengan status "$status"', + style: TextStyle( + fontSize: 14, + color: AppColorsPetugas.textSecondary, + ), + textAlign: TextAlign.center, + ), + ], + ), + ); + } + + return RefreshIndicator( + onRefresh: controller.loadSewaData, + color: AppColorsPetugas.blueGrotto, + child: ListView.builder( + padding: const EdgeInsets.all(16), + itemCount: filteredList.length, + itemBuilder: (context, index) { + final sewa = filteredList[index]; + return _buildSewaCard(context, sewa); + }, + ), + ); + }); + } + + Widget _buildSewaCard(BuildContext context, Map sewa) { + final statusColor = controller.getStatusColor(sewa['status']); + final status = sewa['status']; + + // Get appropriate icon for status + IconData statusIcon; + switch (status) { + case 'Menunggu Pembayaran': + statusIcon = Icons.payments_outlined; + break; + case 'Periksa Pembayaran': + statusIcon = Icons.fact_check_outlined; + break; + case 'Diterima': + statusIcon = Icons.check_circle_outlined; + break; + case 'Pembayaran Denda': + statusIcon = Icons.money_off_csred_outlined; + break; + case 'Periksa Denda': + statusIcon = Icons.assignment_late_outlined; + break; + case 'Dikembalikan': + statusIcon = Icons.assignment_return_outlined; + break; + case 'Selesai': + statusIcon = Icons.task_alt_outlined; + break; + case 'Dibatalkan': + statusIcon = Icons.cancel_outlined; + break; + default: + statusIcon = Icons.help_outline_rounded; + } + + return Container( + margin: const EdgeInsets.only(bottom: 16), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(20), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.03), + blurRadius: 8, + offset: const Offset(0, 2), + ), + ], + ), + child: Material( + color: Colors.transparent, + borderRadius: BorderRadius.circular(20), + child: InkWell( + onTap: () => Get.to(() => PetugasDetailSewaView(sewa: sewa)), + borderRadius: BorderRadius.circular(20), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.fromLTRB(20, 20, 20, 0), + child: Row( + children: [ + // Customer Circle Avatar + CircleAvatar( + radius: 24, + backgroundColor: AppColorsPetugas.babyBlueLight, + child: Text( + sewa['nama_warga'].substring(0, 1).toUpperCase(), + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.blueGrotto, + ), + ), + ), + const SizedBox(width: 16), + + // Customer details + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + sewa['nama_warga'], + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.textPrimary, + ), + ), + const SizedBox(height: 2), + Row( + children: [ + Container( + padding: const EdgeInsets.symmetric( + horizontal: 8, + vertical: 3, + ), + decoration: BoxDecoration( + color: statusColor.withOpacity(0.15), + borderRadius: BorderRadius.circular(30), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Icon( + statusIcon, + size: 12, + color: statusColor, + ), + const SizedBox(width: 4), + Text( + status, + style: TextStyle( + fontSize: 12, + fontWeight: FontWeight.w600, + color: statusColor, + ), + ), + ], + ), + ), + const SizedBox(width: 8), + Text( + '#${sewa['order_id']}', + style: TextStyle( + fontSize: 12, + fontWeight: FontWeight.w500, + color: AppColorsPetugas.textSecondary, + ), + ), + ], + ), + ], + ), + ), + + // Price + Container( + padding: const EdgeInsets.symmetric( + horizontal: 10, + vertical: 5, + ), + decoration: BoxDecoration( + color: AppColorsPetugas.blueGrotto.withOpacity(0.1), + borderRadius: BorderRadius.circular(8), + ), + child: Text( + controller.formatPrice(sewa['total_biaya']), + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.blueGrotto, + ), + ), + ), + ], + ), + ), + + // Divider + Padding( + padding: const EdgeInsets.symmetric( + horizontal: 20, + vertical: 12, + ), + child: Divider(height: 1, color: Colors.grey.shade200), + ), + + // Asset details + Padding( + padding: const EdgeInsets.fromLTRB(20, 0, 20, 16), + child: Row( + children: [ + // Asset icon + Container( + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: AppColorsPetugas.babyBlueLight, + borderRadius: BorderRadius.circular(10), + ), + child: Icon( + Icons.inventory_2_outlined, + size: 20, + color: AppColorsPetugas.blueGrotto, + ), + ), + const SizedBox(width: 12), + + // Asset name and duration + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + sewa['nama_aset'], + style: TextStyle( + fontSize: 15, + fontWeight: FontWeight.w600, + color: AppColorsPetugas.textPrimary, + ), + ), + const SizedBox(height: 2), + Row( + children: [ + Icon( + Icons.calendar_today_rounded, + size: 12, + color: AppColorsPetugas.textSecondary, + ), + const SizedBox(width: 4), + Text( + '${sewa['tanggal_mulai']} - ${sewa['tanggal_selesai']}', + style: TextStyle( + fontSize: 12, + color: AppColorsPetugas.textSecondary, + ), + ), + ], + ), + ], + ), + ), + + // Chevron icon + Icon( + Icons.chevron_right_rounded, + color: AppColorsPetugas.textSecondary, + size: 20, + ), + ], + ), + ), + ], + ), + ), + ), + ); + } + + void _showFilterBottomSheet() { + Get.bottomSheet( + Container( + padding: const EdgeInsets.all(20), + decoration: const BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.only( + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ), + ), + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + const Text( + 'Filter', + style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), + ), + IconButton( + icon: const Icon(Icons.close), + onPressed: () => Get.back(), + ), + ], + ), + const SizedBox(height: 20), + const Text( + 'Status', + style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 10), + Obx(() { + return Wrap( + spacing: 8, + children: + controller.statusFilters.map((status) { + final isSelected = + status == controller.selectedStatusFilter.value; + return ChoiceChip( + label: Text(status), + selected: isSelected, + selectedColor: AppColorsPetugas.blueGrotto, + backgroundColor: Colors.white, + labelStyle: TextStyle( + color: + isSelected + ? Colors.white + : AppColorsPetugas.textSecondary, + fontWeight: FontWeight.w500, + fontSize: 13, + ), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(20), + side: BorderSide( + color: + isSelected + ? AppColorsPetugas.blueGrotto + : Colors.grey.shade300, + width: 1, + ), + ), + onSelected: (selected) { + if (selected) { + controller.setStatusFilter(status); + Get.back(); + } + }, + ); + }).toList(), + ); + }), + const SizedBox(height: 20), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + OutlinedButton( + onPressed: () { + controller.resetFilters(); + Get.back(); + }, + style: OutlinedButton.styleFrom( + side: BorderSide(color: AppColorsPetugas.blueGrotto), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + padding: const EdgeInsets.symmetric( + horizontal: 16, + vertical: 10, + ), + ), + child: Text( + 'Reset', + style: TextStyle(color: AppColorsPetugas.blueGrotto), + ), + ), + ElevatedButton( + onPressed: () { + controller.applyFilters(); + Get.back(); + }, + style: ElevatedButton.styleFrom( + backgroundColor: AppColorsPetugas.blueGrotto, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + padding: const EdgeInsets.symmetric( + horizontal: 16, + vertical: 10, + ), + ), + child: const Text( + 'Terapkan', + style: TextStyle(color: Colors.white), + ), + ), + ], + ), + ], + ), + ), + isDismissible: true, + enableDrag: true, + ); + } +} diff --git a/lib/app/modules/petugas_bumdes/views/petugas_tambah_aset_view.dart b/lib/app/modules/petugas_bumdes/views/petugas_tambah_aset_view.dart new file mode 100644 index 0000000..4873099 --- /dev/null +++ b/lib/app/modules/petugas_bumdes/views/petugas_tambah_aset_view.dart @@ -0,0 +1,871 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:get/get.dart'; +import '../../../theme/app_colors_petugas.dart'; +import '../controllers/petugas_tambah_aset_controller.dart'; + +class PetugasTambahAsetView extends GetView { + const PetugasTambahAsetView({Key? key}) : super(key: key); + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: Colors.white, + appBar: AppBar( + title: const Text( + 'Tambah Aset', + style: TextStyle(fontWeight: FontWeight.w600), + ), + backgroundColor: AppColorsPetugas.navyBlue, + elevation: 0, + centerTitle: true, + ), + body: SafeArea( + child: SingleChildScrollView( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [_buildHeaderSection(), _buildFormSection(context)], + ), + ), + ), + bottomNavigationBar: _buildBottomBar(), + ); + } + + Widget _buildHeaderSection() { + return Container( + padding: const EdgeInsets.all(20), + decoration: BoxDecoration( + gradient: LinearGradient( + colors: [AppColorsPetugas.navyBlue, AppColorsPetugas.blueGrotto], + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + ), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Container( + padding: const EdgeInsets.all(12), + decoration: BoxDecoration( + color: Colors.white.withOpacity(0.2), + borderRadius: BorderRadius.circular(12), + ), + child: const Icon( + Icons.inventory_2_outlined, + color: Colors.white, + size: 28, + ), + ), + const SizedBox(width: 16), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text( + 'Informasi Aset Baru', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: Colors.white, + ), + ), + const SizedBox(height: 4), + Text( + 'Isi data dengan lengkap untuk menambahkan aset', + style: TextStyle( + fontSize: 14, + color: Colors.white.withOpacity(0.8), + ), + ), + ], + ), + ), + ], + ), + ], + ), + ); + } + + Widget _buildFormSection(BuildContext context) { + return Padding( + padding: const EdgeInsets.symmetric(horizontal: 20), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const SizedBox(height: 24), + + // Basic Information Section + _buildSectionHeader( + icon: Icons.info_outline, + title: 'Informasi Dasar', + ), + const SizedBox(height: 16), + _buildTextField( + label: 'Nama Aset', + hint: 'Masukkan nama aset', + controller: controller.nameController, + isRequired: true, + prefixIcon: Icons.title, + ), + const SizedBox(height: 16), + _buildTextField( + label: 'Deskripsi', + hint: 'Masukkan deskripsi aset', + controller: controller.descriptionController, + maxLines: 3, + isRequired: true, + prefixIcon: Icons.description, + ), + const SizedBox(height: 24), + + // Media Section + _buildSectionHeader( + icon: Icons.photo_library, + title: 'Media & Gambar', + ), + const SizedBox(height: 16), + _buildImageUploader(), + const SizedBox(height: 24), + + // Category Section + _buildSectionHeader(icon: Icons.category, title: 'Kategori & Status'), + const SizedBox(height: 16), + + // Category and Status as cards + Row( + children: [ + Expanded( + child: _buildCategorySelect( + title: 'Kategori', + options: controller.categoryOptions, + selectedOption: controller.selectedCategory, + onChanged: controller.setCategory, + icon: Icons.inventory_2, + ), + ), + const SizedBox(width: 12), + Expanded( + child: _buildCategorySelect( + title: 'Status', + options: controller.statusOptions, + selectedOption: controller.selectedStatus, + onChanged: controller.setStatus, + icon: Icons.check_circle, + ), + ), + ], + ), + const SizedBox(height: 24), + + // Quantity Section + _buildSectionHeader( + icon: Icons.format_list_numbered, + title: 'Kuantitas & Pengukuran', + ), + const SizedBox(height: 16), + + // Quantity fields + Row( + children: [ + Expanded( + flex: 2, + child: _buildTextField( + label: 'Kuantitas', + hint: 'Jumlah aset', + controller: controller.quantityController, + isRequired: true, + keyboardType: TextInputType.number, + inputFormatters: [FilteringTextInputFormatter.digitsOnly], + prefixIcon: Icons.numbers, + ), + ), + const SizedBox(width: 12), + Expanded( + flex: 3, + child: _buildTextField( + label: 'Satuan Ukur', + hint: 'contoh: Unit, Buah', + controller: controller.unitOfMeasureController, + prefixIcon: Icons.straighten, + ), + ), + ], + ), + const SizedBox(height: 24), + + // Rental Options Section + _buildSectionHeader( + icon: Icons.schedule, + title: 'Opsi Waktu & Harga Sewa', + ), + const SizedBox(height: 16), + + // Time Options as cards + _buildTimeOptionsCards(), + const SizedBox(height: 16), + + // Rental price fields based on selection + Obx( + () => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Per Hour Option + if (controller.timeOptions['Per Jam']!.value) + _buildPriceCard( + title: 'Harga Per Jam', + icon: Icons.timer, + priceController: controller.pricePerHourController, + maxController: controller.maxHourController, + maxLabel: 'Maksimal Jam', + ), + + if (controller.timeOptions['Per Jam']!.value && + controller.timeOptions['Per Hari']!.value) + const SizedBox(height: 16), + + // Per Day Option + if (controller.timeOptions['Per Hari']!.value) + _buildPriceCard( + title: 'Harga Per Hari', + icon: Icons.calendar_today, + priceController: controller.pricePerDayController, + maxController: controller.maxDayController, + maxLabel: 'Maksimal Hari', + ), + ], + ), + ), + + const SizedBox(height: 40), + ], + ), + ); + } + + Widget _buildTimeOptionsCards() { + return Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(12), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: Column( + children: + controller.timeOptions.entries.map((entry) { + final option = entry.key; + final isSelected = entry.value; + + return Obx( + () => Material( + color: Colors.transparent, + child: InkWell( + onTap: () => controller.toggleTimeOption(option), + borderRadius: BorderRadius.circular(12), + child: Padding( + padding: const EdgeInsets.symmetric( + horizontal: 16, + vertical: 12, + ), + child: Row( + children: [ + Container( + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: + isSelected.value + ? AppColorsPetugas.blueGrotto.withOpacity( + 0.1, + ) + : Colors.grey.withOpacity(0.1), + shape: BoxShape.circle, + ), + child: Icon( + option == 'Per Jam' + ? Icons.hourglass_bottom + : Icons.calendar_today, + color: + isSelected.value + ? AppColorsPetugas.blueGrotto + : Colors.grey, + size: 20, + ), + ), + const SizedBox(width: 16), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + option, + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + color: + isSelected.value + ? AppColorsPetugas.navyBlue + : Colors.grey.shade700, + ), + ), + const SizedBox(height: 2), + Text( + option == 'Per Jam' + ? 'Sewa aset dengan basis perhitungan per jam' + : 'Sewa aset dengan basis perhitungan per hari', + style: TextStyle( + fontSize: 12, + color: Colors.grey.shade600, + ), + ), + ], + ), + ), + Checkbox( + value: isSelected.value, + onChanged: + (_) => controller.toggleTimeOption(option), + activeColor: AppColorsPetugas.blueGrotto, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(4), + ), + ), + ], + ), + ), + ), + ), + ); + }).toList(), + ), + ); + } + + Widget _buildPriceCard({ + required String title, + required IconData icon, + required TextEditingController priceController, + required TextEditingController maxController, + required String maxLabel, + }) { + return Container( + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(12), + border: Border.all(color: AppColorsPetugas.babyBlue.withOpacity(0.5)), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.03), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Icon(icon, size: 20, color: AppColorsPetugas.blueGrotto), + const SizedBox(width: 8), + Text( + title, + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + color: AppColorsPetugas.navyBlue, + ), + ), + ], + ), + const SizedBox(height: 16), + Row( + children: [ + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Harga Sewa', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.w500, + color: AppColorsPetugas.textSecondary, + ), + ), + const SizedBox(height: 8), + TextFormField( + controller: priceController, + keyboardType: TextInputType.number, + inputFormatters: [FilteringTextInputFormatter.digitsOnly], + decoration: InputDecoration( + hintText: 'Masukkan harga', + hintStyle: TextStyle(color: AppColorsPetugas.textLight), + prefixText: 'Rp ', + filled: true, + fillColor: AppColorsPetugas.babyBlueBright, + contentPadding: const EdgeInsets.symmetric( + horizontal: 12, + vertical: 12, + ), + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(8), + borderSide: BorderSide.none, + ), + ), + ), + ], + ), + ), + const SizedBox(width: 12), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + maxLabel, + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.w500, + color: AppColorsPetugas.textSecondary, + ), + ), + const SizedBox(height: 8), + TextFormField( + controller: maxController, + keyboardType: TextInputType.number, + inputFormatters: [FilteringTextInputFormatter.digitsOnly], + decoration: InputDecoration( + hintText: 'Opsional', + hintStyle: TextStyle(color: AppColorsPetugas.textLight), + filled: true, + fillColor: AppColorsPetugas.babyBlueBright, + contentPadding: const EdgeInsets.symmetric( + horizontal: 12, + vertical: 12, + ), + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(8), + borderSide: BorderSide.none, + ), + ), + ), + ], + ), + ), + ], + ), + ], + ), + ); + } + + Widget _buildSectionHeader({required IconData icon, required String title}) { + return Row( + children: [ + Container( + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: AppColorsPetugas.blueGrotto.withOpacity(0.1), + borderRadius: BorderRadius.circular(8), + ), + child: Icon(icon, color: AppColorsPetugas.blueGrotto, size: 20), + ), + const SizedBox(width: 12), + Text( + title, + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.navyBlue, + ), + ), + ], + ); + } + + Widget _buildTextField({ + required String label, + required String hint, + required TextEditingController controller, + bool isRequired = false, + int maxLines = 1, + TextInputType keyboardType = TextInputType.text, + List? inputFormatters, + String? prefixText, + IconData? prefixIcon, + }) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Text( + label, + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w500, + color: AppColorsPetugas.textPrimary, + ), + ), + if (isRequired) ...[ + const SizedBox(width: 4), + Text( + '*', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.bold, + color: Colors.red, + ), + ), + ], + ], + ), + const SizedBox(height: 8), + TextFormField( + controller: controller, + maxLines: maxLines, + keyboardType: keyboardType, + inputFormatters: inputFormatters, + decoration: InputDecoration( + hintText: hint, + hintStyle: TextStyle(color: AppColorsPetugas.textLight), + filled: true, + fillColor: AppColorsPetugas.babyBlueBright, + prefixText: prefixText, + prefixIcon: + prefixIcon != null + ? Icon( + prefixIcon, + size: 20, + color: AppColorsPetugas.textSecondary, + ) + : null, + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(10), + borderSide: BorderSide.none, + ), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(10), + borderSide: BorderSide.none, + ), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(10), + borderSide: BorderSide( + color: AppColorsPetugas.blueGrotto, + width: 1.5, + ), + ), + contentPadding: const EdgeInsets.symmetric( + horizontal: 12, + vertical: 12, + ), + ), + ), + ], + ); + } + + Widget _buildCategorySelect({ + required String title, + required List options, + required RxString selectedOption, + required Function(String) onChanged, + required IconData icon, + }) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + title, + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w500, + color: AppColorsPetugas.textPrimary, + ), + ), + const SizedBox(height: 8), + Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(10), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: Obx( + () => DropdownButtonFormField( + value: selectedOption.value, + decoration: InputDecoration( + prefixIcon: Icon( + icon, + color: AppColorsPetugas.blueGrotto, + size: 20, + ), + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(10), + borderSide: BorderSide.none, + ), + contentPadding: const EdgeInsets.symmetric( + horizontal: 12, + vertical: 12, + ), + filled: true, + fillColor: AppColorsPetugas.babyBlueBright, + ), + items: + options.map((option) { + return DropdownMenuItem( + value: option, + child: Text( + option, + style: TextStyle( + color: AppColorsPetugas.textPrimary, + fontSize: 14, + ), + ), + ); + }).toList(), + onChanged: (value) { + if (value != null) onChanged(value); + }, + icon: Icon( + Icons.keyboard_arrow_down_rounded, + color: AppColorsPetugas.blueGrotto, + ), + dropdownColor: Colors.white, + ), + ), + ), + ], + ); + } + + Widget _buildImageUploader() { + return Container( + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(12), + border: Border.all(color: AppColorsPetugas.babyBlue.withOpacity(0.5)), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.03), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Unggah Foto Aset', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w600, + color: AppColorsPetugas.navyBlue, + ), + ), + const SizedBox(height: 4), + Text( + 'Tambahkan foto aset untuk informasi visual.', + style: TextStyle( + fontSize: 12, + color: AppColorsPetugas.textSecondary, + ), + ), + const SizedBox(height: 16), + Obx( + () => Wrap( + spacing: 12, + runSpacing: 12, + children: [ + // Add button + GestureDetector( + onTap: () => controller.addSampleImage(), + child: Container( + width: 100, + height: 100, + decoration: BoxDecoration( + color: AppColorsPetugas.babyBlueBright, + borderRadius: BorderRadius.circular(10), + border: Border.all( + color: AppColorsPetugas.babyBlue, + width: 1, + style: BorderStyle.solid, + ), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon( + Icons.add_photo_alternate_outlined, + color: AppColorsPetugas.blueGrotto, + size: 32, + ), + const SizedBox(height: 8), + Text( + 'Tambah Foto', + style: TextStyle( + fontSize: 12, + color: AppColorsPetugas.blueGrotto, + fontWeight: FontWeight.w500, + ), + ), + ], + ), + ), + ), + + // Image previews + ...controller.selectedImages.asMap().entries.map((entry) { + final index = entry.key; + return Container( + width: 100, + height: 100, + decoration: BoxDecoration( + color: AppColorsPetugas.babyBlueLight, + borderRadius: BorderRadius.circular(10), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 5, + offset: const Offset(0, 2), + ), + ], + ), + child: Stack( + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(10), + child: Container( + width: 100, + height: 100, + color: AppColorsPetugas.babyBlueLight, + child: Center( + child: Icon( + Icons.image, + color: AppColorsPetugas.blueGrotto, + size: 40, + ), + ), + ), + ), + Positioned( + top: 4, + right: 4, + child: GestureDetector( + onTap: () => controller.removeImage(index), + child: Container( + padding: const EdgeInsets.all(4), + decoration: BoxDecoration( + color: Colors.white, + shape: BoxShape.circle, + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.1), + blurRadius: 3, + offset: const Offset(0, 1), + ), + ], + ), + child: Icon( + Icons.close, + color: AppColorsPetugas.error, + size: 16, + ), + ), + ), + ), + ], + ), + ); + }), + ], + ), + ), + ], + ), + ); + } + + Widget _buildBottomBar() { + return Container( + padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 16), + decoration: BoxDecoration( + color: Colors.white, + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, -5), + ), + ], + ), + child: Row( + children: [ + OutlinedButton.icon( + onPressed: () => Get.back(), + icon: const Icon(Icons.arrow_back), + label: const Text('Batal'), + style: OutlinedButton.styleFrom( + foregroundColor: AppColorsPetugas.textSecondary, + padding: const EdgeInsets.symmetric(vertical: 12, horizontal: 16), + side: BorderSide(color: AppColorsPetugas.divider), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10), + ), + ), + ), + const SizedBox(width: 16), + Expanded( + child: Obx(() { + final isValid = controller.isFormValid.value; + final isSubmitting = controller.isSubmitting.value; + return ElevatedButton.icon( + onPressed: + isValid && !isSubmitting ? controller.saveAsset : null, + icon: + isSubmitting + ? SizedBox( + height: 20, + width: 20, + child: CircularProgressIndicator( + strokeWidth: 2, + color: Colors.white, + ), + ) + : const Icon(Icons.save), + label: Text(isSubmitting ? 'Menyimpan...' : 'Simpan Aset'), + style: ElevatedButton.styleFrom( + backgroundColor: AppColorsPetugas.blueGrotto, + foregroundColor: Colors.white, + padding: const EdgeInsets.symmetric(vertical: 12), + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10), + ), + disabledBackgroundColor: AppColorsPetugas.textLight, + ), + ); + }), + ), + ], + ), + ); + } +} diff --git a/lib/app/modules/petugas_bumdes/views/petugas_tambah_paket_view.dart b/lib/app/modules/petugas_bumdes/views/petugas_tambah_paket_view.dart new file mode 100644 index 0000000..acb279c --- /dev/null +++ b/lib/app/modules/petugas_bumdes/views/petugas_tambah_paket_view.dart @@ -0,0 +1,932 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:get/get.dart'; +import '../../../theme/app_colors_petugas.dart'; +import '../controllers/petugas_tambah_paket_controller.dart'; + +class PetugasTambahPaketView extends GetView { + const PetugasTambahPaketView({Key? key}) : super(key: key); + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: Colors.white, + appBar: AppBar( + title: const Text( + 'Tambah Paket', + style: TextStyle(fontWeight: FontWeight.w600), + ), + backgroundColor: AppColorsPetugas.navyBlue, + elevation: 0, + centerTitle: true, + ), + body: SafeArea( + child: SingleChildScrollView( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [_buildHeaderSection(), _buildFormSection(context)], + ), + ), + ), + bottomNavigationBar: _buildBottomBar(), + ); + } + + Widget _buildHeaderSection() { + return Container( + padding: const EdgeInsets.all(20), + decoration: BoxDecoration( + gradient: LinearGradient( + colors: [AppColorsPetugas.navyBlue, AppColorsPetugas.blueGrotto], + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + ), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Container( + padding: const EdgeInsets.all(12), + decoration: BoxDecoration( + color: Colors.white.withOpacity(0.2), + borderRadius: BorderRadius.circular(12), + ), + child: const Icon( + Icons.category, + color: Colors.white, + size: 28, + ), + ), + const SizedBox(width: 16), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text( + 'Informasi Paket Baru', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: Colors.white, + ), + ), + const SizedBox(height: 4), + Text( + 'Isi data dengan lengkap untuk menambahkan paket', + style: TextStyle( + fontSize: 14, + color: Colors.white.withOpacity(0.8), + ), + ), + ], + ), + ), + ], + ), + ], + ), + ); + } + + Widget _buildFormSection(BuildContext context) { + return Padding( + padding: const EdgeInsets.symmetric(horizontal: 20), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const SizedBox(height: 24), + + // Basic Information Section + _buildSectionHeader( + icon: Icons.info_outline, + title: 'Informasi Dasar', + ), + const SizedBox(height: 16), + _buildTextField( + label: 'Nama Paket', + hint: 'Masukkan nama paket', + controller: controller.nameController, + isRequired: true, + prefixIcon: Icons.title, + ), + const SizedBox(height: 16), + _buildTextField( + label: 'Deskripsi', + hint: 'Masukkan deskripsi paket', + controller: controller.descriptionController, + maxLines: 3, + isRequired: true, + prefixIcon: Icons.description, + ), + const SizedBox(height: 24), + + // Media Section + _buildSectionHeader( + icon: Icons.photo_library, + title: 'Media & Gambar', + ), + const SizedBox(height: 16), + _buildImageUploader(), + const SizedBox(height: 24), + + // Category Section + _buildSectionHeader(icon: Icons.category, title: 'Kategori & Status'), + const SizedBox(height: 16), + + // Category and Status as cards + Row( + children: [ + Expanded( + child: _buildCategorySelect( + title: 'Kategori', + options: controller.categoryOptions, + selectedOption: controller.selectedCategory, + onChanged: controller.setCategory, + icon: Icons.category, + ), + ), + const SizedBox(width: 12), + Expanded( + child: _buildCategorySelect( + title: 'Status', + options: controller.statusOptions, + selectedOption: controller.selectedStatus, + onChanged: controller.setStatus, + icon: Icons.check_circle, + ), + ), + ], + ), + const SizedBox(height: 24), + + // Price Section + _buildSectionHeader( + icon: Icons.monetization_on, + title: 'Harga Paket', + ), + const SizedBox(height: 16), + _buildTextField( + label: 'Harga Paket', + hint: 'Masukkan harga paket', + controller: controller.priceController, + isRequired: true, + keyboardType: TextInputType.number, + inputFormatters: [FilteringTextInputFormatter.digitsOnly], + prefixText: 'Rp ', + prefixIcon: Icons.payments, + ), + const SizedBox(height: 24), + + // Package Items Section + _buildSectionHeader( + icon: Icons.inventory_2, + title: 'Item dalam Paket', + ), + const SizedBox(height: 16), + _buildPackageItems(), + const SizedBox(height: 40), + ], + ), + ); + } + + Widget _buildPackageItems() { + return Card( + margin: const EdgeInsets.symmetric(vertical: 8.0), + child: Padding( + padding: const EdgeInsets.all(16.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + const Text( + 'Item Paket', + style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), + ), + ElevatedButton.icon( + onPressed: () => _showAddItemDialog(), + icon: const Icon(Icons.add), + label: const Text('Tambah Item'), + style: ElevatedButton.styleFrom( + backgroundColor: AppColorsPetugas.babyBlueLight, + foregroundColor: AppColorsPetugas.blueGrotto, + ), + ), + ], + ), + const SizedBox(height: 16), + Obx( + () => + controller.packageItems.isEmpty + ? const Center( + child: Text( + 'Belum ada item dalam paket', + style: TextStyle(fontStyle: FontStyle.italic), + ), + ) + : ListView.builder( + shrinkWrap: true, + physics: const NeverScrollableScrollPhysics(), + itemCount: controller.packageItems.length, + itemBuilder: (context, index) { + final item = controller.packageItems[index]; + return Card( + elevation: 1, + margin: const EdgeInsets.only(bottom: 8), + child: ListTile( + title: Text(item['nama'] ?? 'Item Paket'), + subtitle: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text('Jumlah: ${item['jumlah']}'), + if (item['stok'] != null) + Text('Stok tersedia: ${item['stok']}'), + ], + ), + trailing: Row( + mainAxisSize: MainAxisSize.min, + children: [ + IconButton( + icon: const Icon( + Icons.edit, + color: Colors.blue, + ), + onPressed: () => _showEditItemDialog(index), + ), + IconButton( + icon: const Icon( + Icons.delete, + color: Colors.red, + ), + onPressed: + () => controller.removeItem(index), + ), + ], + ), + ), + ); + }, + ), + ), + ], + ), + ), + ); + } + + void _showAddItemDialog() { + // Reset controllers + controller.selectedAsset.value = null; + controller.itemQuantityController.clear(); + + // Fetch available assets + controller.fetchAvailableAssets(); + + Get.dialog( + Dialog( + child: Padding( + padding: const EdgeInsets.all(16.0), + child: Obx(() { + if (controller.isLoadingAssets.value) { + return const SizedBox( + height: 150, + child: Center(child: CircularProgressIndicator()), + ); + } + + return Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + const Text( + 'Tambah Item ke Paket', + style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), + textAlign: TextAlign.center, + ), + const SizedBox(height: 16), + + // Asset dropdown + DropdownButtonFormField( + value: controller.selectedAsset.value, + decoration: const InputDecoration( + labelText: 'Pilih Aset', + border: OutlineInputBorder(), + ), + hint: const Text('Pilih Aset'), + items: + controller.availableAssets.map((asset) { + return DropdownMenuItem( + value: asset['id'] as int, + child: Text( + '${asset['nama']} (Stok: ${asset['stok']})', + ), + ); + }).toList(), + onChanged: (value) { + controller.setSelectedAsset(value); + }, + ), + + const SizedBox(height: 16), + + // Quantity field + Obx(() { + // Calculate max quantity based on selected asset + String? helperText; + if (controller.selectedAsset.value != null) { + final remaining = controller.getRemainingStock( + controller.selectedAsset.value!, + ); + helperText = 'Maksimal: $remaining unit'; + } + + return TextFormField( + controller: controller.itemQuantityController, + decoration: InputDecoration( + labelText: 'Jumlah', + border: const OutlineInputBorder(), + helperText: helperText, + ), + keyboardType: TextInputType.number, + inputFormatters: [FilteringTextInputFormatter.digitsOnly], + ); + }), + + const SizedBox(height: 24), + + // Action buttons + Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + TextButton( + onPressed: () => Get.back(), + child: const Text('Batal'), + ), + const SizedBox(width: 8), + ElevatedButton( + onPressed: () { + controller.addAssetToPackage(); + Get.back(); + }, + style: ElevatedButton.styleFrom( + backgroundColor: AppColorsPetugas.babyBlueLight, + foregroundColor: AppColorsPetugas.blueGrotto, + ), + child: const Text('Tambah'), + ), + ], + ), + ], + ); + }), + ), + ), + ); + } + + void _showEditItemDialog(int index) { + final item = controller.packageItems[index]; + + // Set controllers + controller.selectedAsset.value = item['asetId']; + controller.itemQuantityController.text = item['jumlah'].toString(); + + // Fetch available assets + controller.fetchAvailableAssets(); + + Get.dialog( + Dialog( + child: Padding( + padding: const EdgeInsets.all(16.0), + child: Obx(() { + if (controller.isLoadingAssets.value) { + return const SizedBox( + height: 150, + child: Center(child: CircularProgressIndicator()), + ); + } + + return Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + const Text( + 'Edit Item Paket', + style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), + textAlign: TextAlign.center, + ), + const SizedBox(height: 16), + + // Asset dropdown + DropdownButtonFormField( + value: controller.selectedAsset.value, + decoration: const InputDecoration( + labelText: 'Pilih Aset', + border: OutlineInputBorder(), + ), + hint: const Text('Pilih Aset'), + items: + controller.availableAssets.map((asset) { + return DropdownMenuItem( + value: asset['id'] as int, + child: Text( + '${asset['nama']} (Stok: ${asset['stok']})', + ), + ); + }).toList(), + onChanged: (value) { + controller.setSelectedAsset(value); + }, + ), + + const SizedBox(height: 16), + + // Quantity field + Obx(() { + // Calculate max quantity based on selected asset + String? helperText; + if (controller.selectedAsset.value != null) { + // Get the appropriate max quantity for editing + final currentItem = controller.packageItems[index]; + final isCurrentAsset = + currentItem['asetId'] == controller.selectedAsset.value; + + int maxQuantity; + if (isCurrentAsset) { + // For same asset, include current quantity in calculation + final asset = controller.availableAssets.firstWhere( + (a) => a['id'] == controller.selectedAsset.value, + orElse: () => {'stok': 0}, + ); + + final totalUsed = controller.packageItems + .where( + (item) => + item['asetId'] == + controller.selectedAsset.value && + controller.packageItems.indexOf(item) != index, + ) + .fold( + 0, + (sum, item) => sum + (item['jumlah'] as int), + ); + + maxQuantity = (asset['stok'] as int) - totalUsed; + } else { + // For different asset, use remaining stock + maxQuantity = controller.getRemainingStock( + controller.selectedAsset.value!, + ); + } + + helperText = 'Maksimal: $maxQuantity unit'; + } + + return TextFormField( + controller: controller.itemQuantityController, + decoration: InputDecoration( + labelText: 'Jumlah', + border: const OutlineInputBorder(), + helperText: helperText, + ), + keyboardType: TextInputType.number, + inputFormatters: [FilteringTextInputFormatter.digitsOnly], + ); + }), + + const SizedBox(height: 24), + + // Action buttons + Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + TextButton( + onPressed: () => Get.back(), + child: const Text('Batal'), + ), + const SizedBox(width: 8), + ElevatedButton( + onPressed: () { + controller.updatePackageItem(index); + Get.back(); + }, + style: ElevatedButton.styleFrom( + backgroundColor: AppColorsPetugas.babyBlueLight, + foregroundColor: AppColorsPetugas.blueGrotto, + ), + child: const Text('Simpan'), + ), + ], + ), + ], + ); + }), + ), + ), + ); + } + + Widget _buildSectionHeader({required IconData icon, required String title}) { + return Row( + children: [ + Container( + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: AppColorsPetugas.blueGrotto.withOpacity(0.1), + borderRadius: BorderRadius.circular(8), + ), + child: Icon(icon, color: AppColorsPetugas.blueGrotto, size: 20), + ), + const SizedBox(width: 12), + Text( + title, + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColorsPetugas.navyBlue, + ), + ), + ], + ); + } + + Widget _buildTextField({ + required String label, + required String hint, + required TextEditingController controller, + bool isRequired = false, + int maxLines = 1, + TextInputType keyboardType = TextInputType.text, + List? inputFormatters, + String? prefixText, + IconData? prefixIcon, + }) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Text( + label, + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w500, + color: AppColorsPetugas.textPrimary, + ), + ), + if (isRequired) ...[ + const SizedBox(width: 4), + Text( + '*', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.bold, + color: Colors.red, + ), + ), + ], + ], + ), + const SizedBox(height: 8), + TextFormField( + controller: controller, + maxLines: maxLines, + keyboardType: keyboardType, + inputFormatters: inputFormatters, + decoration: InputDecoration( + hintText: hint, + hintStyle: TextStyle(color: AppColorsPetugas.textLight), + filled: true, + fillColor: AppColorsPetugas.babyBlueBright, + prefixText: prefixText, + prefixIcon: + prefixIcon != null + ? Icon( + prefixIcon, + size: 20, + color: AppColorsPetugas.textSecondary, + ) + : null, + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(10), + borderSide: BorderSide.none, + ), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(10), + borderSide: BorderSide.none, + ), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(10), + borderSide: BorderSide( + color: AppColorsPetugas.blueGrotto, + width: 1.5, + ), + ), + contentPadding: const EdgeInsets.symmetric( + horizontal: 12, + vertical: 12, + ), + ), + ), + ], + ); + } + + Widget _buildCategorySelect({ + required String title, + required List options, + required RxString selectedOption, + required Function(String) onChanged, + required IconData icon, + }) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + title, + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w500, + color: AppColorsPetugas.textPrimary, + ), + ), + const SizedBox(height: 8), + Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(10), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: Obx( + () => DropdownButtonFormField( + value: selectedOption.value, + decoration: InputDecoration( + prefixIcon: Icon( + icon, + color: AppColorsPetugas.blueGrotto, + size: 20, + ), + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(10), + borderSide: BorderSide.none, + ), + contentPadding: const EdgeInsets.symmetric( + horizontal: 12, + vertical: 12, + ), + filled: true, + fillColor: AppColorsPetugas.babyBlueBright, + ), + items: + options.map((option) { + return DropdownMenuItem( + value: option, + child: Text( + option, + style: TextStyle( + color: AppColorsPetugas.textPrimary, + fontSize: 14, + ), + ), + ); + }).toList(), + onChanged: (value) { + if (value != null) onChanged(value); + }, + icon: Icon( + Icons.keyboard_arrow_down_rounded, + color: AppColorsPetugas.blueGrotto, + ), + dropdownColor: Colors.white, + ), + ), + ), + ], + ); + } + + Widget _buildImageUploader() { + return Container( + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(12), + border: Border.all(color: AppColorsPetugas.babyBlue.withOpacity(0.5)), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.03), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Unggah Foto Paket', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w600, + color: AppColorsPetugas.navyBlue, + ), + ), + const SizedBox(height: 4), + Text( + 'Tambahkan foto paket untuk informasi visual.', + style: TextStyle( + fontSize: 12, + color: AppColorsPetugas.textSecondary, + ), + ), + const SizedBox(height: 16), + Obx( + () => Wrap( + spacing: 12, + runSpacing: 12, + children: [ + // Add button + GestureDetector( + onTap: () => controller.addSampleImage(), + child: Container( + width: 100, + height: 100, + decoration: BoxDecoration( + color: AppColorsPetugas.babyBlueBright, + borderRadius: BorderRadius.circular(10), + border: Border.all( + color: AppColorsPetugas.babyBlue, + width: 1, + style: BorderStyle.solid, + ), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon( + Icons.add_photo_alternate_outlined, + color: AppColorsPetugas.blueGrotto, + size: 32, + ), + const SizedBox(height: 8), + Text( + 'Tambah Foto', + style: TextStyle( + fontSize: 12, + color: AppColorsPetugas.blueGrotto, + fontWeight: FontWeight.w500, + ), + ), + ], + ), + ), + ), + + // Image previews + ...controller.selectedImages.asMap().entries.map((entry) { + final index = entry.key; + return Container( + width: 100, + height: 100, + decoration: BoxDecoration( + color: AppColorsPetugas.babyBlueLight, + borderRadius: BorderRadius.circular(10), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 5, + offset: const Offset(0, 2), + ), + ], + ), + child: Stack( + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(10), + child: Container( + width: 100, + height: 100, + color: AppColorsPetugas.babyBlueLight, + child: Center( + child: Icon( + Icons.image, + color: AppColorsPetugas.blueGrotto, + size: 40, + ), + ), + ), + ), + Positioned( + top: 4, + right: 4, + child: GestureDetector( + onTap: () => controller.removeImage(index), + child: Container( + padding: const EdgeInsets.all(4), + decoration: BoxDecoration( + color: Colors.white, + shape: BoxShape.circle, + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.1), + blurRadius: 3, + offset: const Offset(0, 1), + ), + ], + ), + child: Icon( + Icons.close, + color: AppColorsPetugas.error, + size: 16, + ), + ), + ), + ), + ], + ), + ); + }), + ], + ), + ), + ], + ), + ); + } + + Widget _buildBottomBar() { + return Container( + padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 16), + decoration: BoxDecoration( + color: Colors.white, + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, -5), + ), + ], + ), + child: Row( + children: [ + OutlinedButton.icon( + onPressed: () => Get.back(), + icon: const Icon(Icons.arrow_back), + label: const Text('Batal'), + style: OutlinedButton.styleFrom( + foregroundColor: AppColorsPetugas.textSecondary, + padding: const EdgeInsets.symmetric(vertical: 12, horizontal: 16), + side: BorderSide(color: AppColorsPetugas.divider), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10), + ), + ), + ), + const SizedBox(width: 16), + Expanded( + child: Obx(() { + final isValid = controller.isFormValid.value; + final isSubmitting = controller.isSubmitting.value; + return ElevatedButton.icon( + onPressed: + isValid && !isSubmitting ? controller.savePaket : null, + icon: + isSubmitting + ? SizedBox( + height: 20, + width: 20, + child: CircularProgressIndicator( + strokeWidth: 2, + color: Colors.white, + ), + ) + : const Icon(Icons.save), + label: Text(isSubmitting ? 'Menyimpan...' : 'Simpan Paket'), + style: ElevatedButton.styleFrom( + backgroundColor: AppColorsPetugas.blueGrotto, + foregroundColor: Colors.white, + padding: const EdgeInsets.symmetric(vertical: 12), + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10), + ), + disabledBackgroundColor: AppColorsPetugas.textLight, + ), + ); + }), + ), + ], + ), + ); + } +} diff --git a/lib/app/modules/petugas_bumdes/widgets/petugas_bumdes_bottom_navbar.dart b/lib/app/modules/petugas_bumdes/widgets/petugas_bumdes_bottom_navbar.dart new file mode 100644 index 0000000..1ba74aa --- /dev/null +++ b/lib/app/modules/petugas_bumdes/widgets/petugas_bumdes_bottom_navbar.dart @@ -0,0 +1,149 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import '../../../routes/app_routes.dart'; +import '../../../theme/app_colors.dart'; +import '../controllers/petugas_bumdes_dashboard_controller.dart'; + +class PetugasBumdesBottomNavbar extends StatelessWidget { + final int selectedIndex; + final Function(int) onItemTapped; + + const PetugasBumdesBottomNavbar({ + super.key, + required this.selectedIndex, + required this.onItemTapped, + }); + + @override + Widget build(BuildContext context) { + return Container( + height: 76, + decoration: BoxDecoration( + color: Colors.white, + borderRadius: const BorderRadius.vertical(top: Radius.circular(20)), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.07), + blurRadius: 14, + offset: const Offset(0, -2), + ), + ], + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + _buildNavItem( + context: context, + icon: Icons.dashboard_outlined, + activeIcon: Icons.dashboard, + label: 'Dashboard', + isSelected: selectedIndex == 0, + onTap: () => onItemTapped(0), + ), + _buildNavItem( + context: context, + icon: Icons.inventory_2_outlined, + activeIcon: Icons.inventory_2, + label: 'Aset', + isSelected: selectedIndex == 1, + onTap: () => onItemTapped(1), + ), + _buildNavItem( + context: context, + icon: Icons.category_outlined, + activeIcon: Icons.category, + label: 'Paket', + isSelected: selectedIndex == 2, + onTap: () => onItemTapped(2), + ), + _buildNavItem( + context: context, + icon: Icons.shopping_cart_outlined, + activeIcon: Icons.shopping_cart, + label: 'Sewa', + isSelected: selectedIndex == 3, + onTap: () => onItemTapped(3), + ), + ], + ), + ); + } + + // Modern navigation item for bottom bar + Widget _buildNavItem({ + required BuildContext context, + required IconData icon, + required IconData activeIcon, + required String label, + required bool isSelected, + required VoidCallback onTap, + }) { + final primaryColor = AppColors.primary; + final tabWidth = MediaQuery.of(context).size.width / 4; + + return Material( + color: Colors.transparent, + child: InkWell( + onTap: onTap, + customBorder: const StadiumBorder(), + splashColor: primaryColor.withOpacity(0.1), + highlightColor: primaryColor.withOpacity(0.05), + child: SizedBox( + width: tabWidth, + child: Column( + mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + // Indicator line at top + AnimatedContainer( + duration: const Duration(milliseconds: 250), + height: 2, + width: tabWidth * 0.5, + margin: const EdgeInsets.only(bottom: 4), + decoration: BoxDecoration( + color: isSelected ? primaryColor : Colors.transparent, + borderRadius: BorderRadius.circular(1), + ), + ), + + // Icon with animated scale effect when selected + AnimatedContainer( + duration: const Duration(milliseconds: 200), + padding: EdgeInsets.all(isSelected ? 8 : 0), + decoration: BoxDecoration( + color: + isSelected + ? primaryColor.withOpacity(0.1) + : Colors.transparent, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + isSelected ? activeIcon : icon, + color: isSelected ? primaryColor : Colors.grey.shade400, + size: 22, + ), + ), + + const SizedBox(height: 4), + + // Label with animated opacity + AnimatedDefaultTextStyle( + duration: const Duration(milliseconds: 200), + style: TextStyle( + fontSize: 10, + fontWeight: isSelected ? FontWeight.w600 : FontWeight.w500, + color: isSelected ? primaryColor : Colors.grey.shade500, + ), + child: Text( + label, + maxLines: 1, + overflow: TextOverflow.ellipsis, + ), + ), + ], + ), + ), + ), + ); + } +} diff --git a/lib/app/modules/petugas_bumdes/widgets/petugas_side_navbar.dart b/lib/app/modules/petugas_bumdes/widgets/petugas_side_navbar.dart new file mode 100644 index 0000000..055dd6f --- /dev/null +++ b/lib/app/modules/petugas_bumdes/widgets/petugas_side_navbar.dart @@ -0,0 +1,302 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import '../../../theme/app_colors.dart'; +import '../controllers/petugas_bumdes_dashboard_controller.dart'; + +class PetugasSideNavbar extends StatelessWidget { + final PetugasBumdesDashboardController controller; + + const PetugasSideNavbar({super.key, required this.controller}); + + @override + Widget build(BuildContext context) { + return Drawer( + backgroundColor: Colors.white, + elevation: 0, + shape: const RoundedRectangleBorder( + borderRadius: BorderRadius.only( + topRight: Radius.circular(0), + bottomRight: Radius.circular(0), + ), + ), + child: Column( + children: [ + _buildHeader(), + Expanded(child: _buildMenu()), + _buildFooter(context), + ], + ), + ); + } + + Widget _buildHeader() { + return Container( + padding: const EdgeInsets.fromLTRB(20, 60, 20, 20), + color: AppColors.primary, + width: double.infinity, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Container( + decoration: BoxDecoration( + shape: BoxShape.circle, + border: Border.all(color: Colors.white, width: 2), + ), + child: CircleAvatar( + radius: 30, + backgroundColor: Colors.white, + child: Icon(Icons.person, color: AppColors.primary, size: 36), + ), + ), + const SizedBox(width: 16), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text( + 'Petugas BUMDes', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: Colors.white, + ), + maxLines: 1, + overflow: TextOverflow.ellipsis, + ), + const SizedBox(height: 4), + Obx( + () => Text( + controller.userEmail.value, + style: TextStyle( + color: Colors.white.withOpacity(0.9), + fontSize: 14, + ), + maxLines: 1, + overflow: TextOverflow.ellipsis, + ), + ), + ], + ), + ), + ], + ), + ], + ), + ); + } + + Widget _buildMenu() { + return Obx( + () => ListView( + padding: const EdgeInsets.symmetric(vertical: 8), + children: [ + _buildSectionHeader('Menu Utama'), + _buildMenuItem( + icon: Icons.dashboard_outlined, + activeIcon: Icons.dashboard, + title: 'Dashboard', + subtitle: 'Ringkasan aktivitas', + isSelected: controller.currentTabIndex.value == 0, + onTap: () => controller.changeTab(0), + ), + _buildMenuItem( + icon: Icons.inventory_2_outlined, + activeIcon: Icons.inventory_2, + title: 'Aset', + subtitle: 'Kelola aset BUMDes', + isSelected: controller.currentTabIndex.value == 1, + onTap: () => controller.changeTab(1), + ), + _buildMenuItem( + icon: Icons.category_outlined, + activeIcon: Icons.category, + title: 'Paket', + subtitle: 'Kelola paket aset', + isSelected: controller.currentTabIndex.value == 2, + onTap: () => controller.changeTab(2), + ), + _buildMenuItem( + icon: Icons.shopping_cart_outlined, + activeIcon: Icons.shopping_cart, + title: 'Sewa', + subtitle: 'Kelola sewa aset', + isSelected: controller.currentTabIndex.value == 3, + onTap: () => controller.changeTab(3), + ), + ], + ), + ); + } + + Widget _buildSectionHeader(String title) { + return Padding( + padding: const EdgeInsets.fromLTRB(20, 16, 20, 8), + child: Text( + title, + style: TextStyle( + color: Colors.grey.shade500, + fontSize: 12, + fontWeight: FontWeight.bold, + letterSpacing: 1.2, + ), + ), + ); + } + + Widget _buildMenuItem({ + required IconData icon, + required IconData activeIcon, + required String title, + required String subtitle, + required bool isSelected, + required VoidCallback onTap, + }) { + return Container( + margin: const EdgeInsets.symmetric(horizontal: 8, vertical: 2), + decoration: BoxDecoration( + color: isSelected ? AppColors.primarySoft : Colors.transparent, + borderRadius: BorderRadius.circular(12), + ), + child: ListTile( + contentPadding: const EdgeInsets.symmetric(horizontal: 16, vertical: 4), + leading: Container( + width: 40, + height: 40, + decoration: BoxDecoration( + color: + isSelected + ? AppColors.primary.withOpacity(0.15) + : Colors.grey.withOpacity(0.1), + borderRadius: BorderRadius.circular(10), + ), + child: Icon( + isSelected ? activeIcon : icon, + color: isSelected ? AppColors.primary : Colors.grey.shade600, + size: 20, + ), + ), + title: Text( + title, + style: TextStyle( + color: isSelected ? AppColors.primary : Colors.black87, + fontWeight: isSelected ? FontWeight.bold : FontWeight.w500, + fontSize: 15, + ), + ), + subtitle: Text( + subtitle, + style: TextStyle(color: Colors.grey.shade600, fontSize: 12), + ), + trailing: + isSelected + ? Container( + width: 4, + height: 36, + decoration: BoxDecoration( + color: AppColors.primary, + borderRadius: BorderRadius.circular(10), + ), + ) + : null, + onTap: onTap, + ), + ); + } + + Widget _buildFooter(BuildContext context) { + return Container( + padding: const EdgeInsets.all(20), + decoration: BoxDecoration( + color: Colors.white, + boxShadow: [ + BoxShadow( + color: Colors.grey.shade200, + blurRadius: 4, + offset: const Offset(0, -1), + ), + ], + ), + child: Column( + children: [ + ListTile( + contentPadding: EdgeInsets.zero, + leading: Container( + width: 40, + height: 40, + decoration: BoxDecoration( + color: Colors.red.shade50, + borderRadius: BorderRadius.circular(10), + ), + child: Icon(Icons.logout, color: Colors.red.shade400, size: 20), + ), + title: const Text( + 'Keluar', + style: TextStyle(fontWeight: FontWeight.w500, fontSize: 15), + ), + subtitle: const Text( + 'Keluar dari aplikasi', + style: TextStyle(color: Colors.grey, fontSize: 12), + ), + onTap: () => _showLogoutConfirmation(context), + ), + const SizedBox(height: 16), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + '© 2025 BumRent App', + style: TextStyle(color: Colors.grey.shade600, fontSize: 12), + ), + ClipRRect( + borderRadius: BorderRadius.circular(4), + child: Image.asset( + 'assets/images/logo.png', + width: 24, + height: 24, + ), + ), + ], + ), + ], + ), + ); + } + + void _showLogoutConfirmation(BuildContext context) { + showDialog( + context: context, + builder: (BuildContext context) { + return AlertDialog( + title: const Text('Konfirmasi Keluar'), + content: const Text('Apakah Anda yakin ingin keluar dari aplikasi?'), + actions: [ + TextButton( + onPressed: () => Navigator.of(context).pop(), + style: TextButton.styleFrom( + foregroundColor: Colors.grey.shade700, + ), + child: const Text('Batal'), + ), + ElevatedButton( + onPressed: () { + Navigator.of(context).pop(); + controller.logout(); + }, + style: ElevatedButton.styleFrom( + backgroundColor: Colors.red.shade400, + foregroundColor: Colors.white, + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + ), + child: const Text('Keluar'), + ), + ], + ); + }, + ); + } +} diff --git a/lib/app/modules/petugas_mitra/controllers/petugas_mitra_dashboard_controller.dart b/lib/app/modules/petugas_mitra/controllers/petugas_mitra_dashboard_controller.dart new file mode 100644 index 0000000..1eefd10 --- /dev/null +++ b/lib/app/modules/petugas_mitra/controllers/petugas_mitra_dashboard_controller.dart @@ -0,0 +1,48 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import '../../../data/providers/auth_provider.dart'; +import '../../../routes/app_routes.dart'; + +class PetugasMitraDashboardController extends GetxController { + final AuthProvider _authProvider = Get.find(); + + // Observable user data + final userEmail = ''.obs; + final currentTabIndex = 0.obs; + + @override + void onInit() { + super.onInit(); + _loadUserEmail(); + } + + // Load user email from auth provider + Future _loadUserEmail() async { + try { + final user = _authProvider.currentUser; + userEmail.value = user?.email ?? 'User'; + } catch (e) { + debugPrint('Error loading user email: $e'); + } + } + + // Change tab index + void changeTab(int index) { + currentTabIndex.value = index; + } + + // Logout function + void logout() async { + try { + await _authProvider.signOut(); + Get.offAllNamed(Routes.LOGIN); + } catch (e) { + debugPrint('Error signing out: $e'); + Get.snackbar( + 'Error', + 'Gagal keluar dari aplikasi', + snackPosition: SnackPosition.BOTTOM, + ); + } + } +} diff --git a/lib/app/modules/splash/controllers/splash_controller.dart b/lib/app/modules/splash/controllers/splash_controller.dart new file mode 100644 index 0000000..a1e1726 --- /dev/null +++ b/lib/app/modules/splash/controllers/splash_controller.dart @@ -0,0 +1,28 @@ +import 'dart:async'; +import 'package:flutter/foundation.dart'; +import 'package:get/get.dart'; +import '../../../routes/app_routes.dart'; + +class SplashController extends GetxController { + late Timer _timer; + + @override + void onInit() { + super.onInit(); + debugPrint('SplashController onInit called'); + + // Menggunakan Timer alih-alih Future.delayed + _timer = Timer(const Duration(seconds: 3), () { + debugPrint('Timer completed, navigating to LOGIN'); + // Gunakan Get.offAll untuk menghapus semua rute sebelumnya + Get.offAllNamed(Routes.LOGIN); + }); + } + + @override + void onClose() { + // Pastikan timer dibatalkan saat controller ditutup + _timer.cancel(); + super.onClose(); + } +} diff --git a/lib/app/modules/splash/views/splash_view.dart b/lib/app/modules/splash/views/splash_view.dart new file mode 100644 index 0000000..551e048 --- /dev/null +++ b/lib/app/modules/splash/views/splash_view.dart @@ -0,0 +1,197 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import 'dart:math' as math; +import 'dart:ui'; +import '../controllers/splash_controller.dart'; +import '../../../theme/app_colors.dart'; + +class SplashView extends GetView { + const SplashView({super.key}); + + @override + Widget build(BuildContext context) { + final size = MediaQuery.of(context).size; + return Scaffold( + body: Container( + width: double.infinity, + height: double.infinity, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topRight, + end: Alignment.bottomLeft, + colors: [ + AppColors.primaryLight.withOpacity(0.1), + AppColors.background, + AppColors.accentLight.withOpacity(0.1), + ], + ), + ), + child: Stack( + children: [ + // Pattern overlay + Opacity( + opacity: 0.03, + child: Container( + decoration: const BoxDecoration( + image: DecorationImage( + image: AssetImage('assets/images/pattern.png'), + repeat: ImageRepeat.repeat, + scale: 4.0, + ), + ), + ), + ), + + // Accent circles + Positioned( + top: -40, + right: -20, + child: Container( + width: 150, + height: 150, + decoration: BoxDecoration( + shape: BoxShape.circle, + gradient: RadialGradient( + colors: [ + AppColors.primary.withOpacity(0.2), + Colors.transparent, + ], + ), + ), + ), + ), + + Positioned( + bottom: -50, + left: -30, + child: Container( + width: 180, + height: 180, + decoration: BoxDecoration( + shape: BoxShape.circle, + gradient: RadialGradient( + colors: [ + AppColors.accent.withOpacity(0.2), + Colors.transparent, + ], + ), + ), + ), + ), + + // Main content + Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + // Animated Logo + TweenAnimationBuilder( + tween: Tween(begin: 0, end: 1), + duration: const Duration(seconds: 1), + curve: Curves.easeOutBack, + builder: (context, value, child) { + return Transform.scale( + scale: value, + child: Image.asset( + 'assets/images/logo.png', + width: 180, + height: 180, + fit: BoxFit.contain, + errorBuilder: (context, error, stackTrace) { + return Icon( + Icons.business, + size: 100, + color: AppColors.primary, + ); + }, + ), + ); + }, + ), + const SizedBox(height: 40), + + // Animated loading indicator + _DelayedAnimation( + delay: 400, + child: Column( + children: [ + SizedBox( + width: 40, + height: 40, + child: CircularProgressIndicator( + valueColor: AlwaysStoppedAnimation( + AppColors.primary, + ), + strokeWidth: 3, + ), + ), + const SizedBox(height: 16), + ], + ), + ), + ], + ), + ), + ], + ), + ), + ); + } +} + +// Animation helper class +class _DelayedAnimation extends StatefulWidget { + final Widget child; + final int delay; + + const _DelayedAnimation({required this.child, required this.delay}); + + @override + _DelayedAnimationState createState() => _DelayedAnimationState(); +} + +class _DelayedAnimationState extends State<_DelayedAnimation> + with SingleTickerProviderStateMixin { + late AnimationController _controller; + late Animation _animOffset; + + @override + void initState() { + super.initState(); + + _controller = AnimationController( + vsync: this, + duration: const Duration(milliseconds: 800), + ); + + final curve = CurvedAnimation( + parent: _controller, + curve: Curves.decelerate, + ); + + _animOffset = Tween( + begin: const Offset(0.0, 0.35), + end: Offset.zero, + ).animate(curve); + + Future.delayed(Duration(milliseconds: widget.delay), () { + if (mounted) { + _controller.forward(); + } + }); + } + + @override + void dispose() { + _controller.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return FadeTransition( + opacity: _controller, + child: SlideTransition(position: _animOffset, child: widget.child), + ); + } +} diff --git a/lib/app/modules/warga/bindings/order_sewa_aset_binding.dart b/lib/app/modules/warga/bindings/order_sewa_aset_binding.dart new file mode 100644 index 0000000..ac0bc8c --- /dev/null +++ b/lib/app/modules/warga/bindings/order_sewa_aset_binding.dart @@ -0,0 +1,75 @@ +import 'package:flutter/foundation.dart'; +import 'package:get/get.dart'; +import 'package:get_storage/get_storage.dart'; +import '../../../data/providers/aset_provider.dart'; +import '../../../data/providers/auth_provider.dart'; +import '../controllers/order_sewa_aset_controller.dart'; + +class OrderSewaAsetBinding extends Bindings { + @override + void dependencies() { + debugPrint('⚡ OrderSewaAsetBinding: dependencies called'); + final box = GetStorage(); + + // Ensure providers are registered + if (!Get.isRegistered()) { + debugPrint('⚡ Registering AsetProvider'); + Get.put(AsetProvider(), permanent: true); + } + + if (!Get.isRegistered()) { + debugPrint('⚡ Registering AuthProvider'); + Get.put(AuthProvider(), permanent: true); + } + + // Check if we have the asetId in arguments + final args = Get.arguments; + debugPrint('⚡ Arguments received in binding: $args'); + String? asetId; + + if (args != null && args.containsKey('asetId') && args['asetId'] != null) { + asetId = args['asetId'].toString(); + if (asetId.isNotEmpty) { + debugPrint('✅ Valid asetId found in arguments: $asetId'); + // Simpan ID di storage untuk digunakan saat hot reload + box.write('current_aset_id', asetId); + debugPrint('💾 Saved asetId to GetStorage in binding: $asetId'); + } else { + debugPrint('⚠️ Warning: Empty asetId found in arguments'); + } + } else { + debugPrint( + '⚠️ Warning: No valid asetId found in arguments, checking storage', + ); + // Cek apakah ada ID tersimpan di storage + if (box.hasData('current_aset_id')) { + asetId = box.read('current_aset_id'); + debugPrint('📦 Found asetId in GetStorage: $asetId'); + } + } + + // Only delete the existing controller if we're not in a hot reload situation + if (Get.isRegistered()) { + // Check if we're going through a hot reload by looking at the controller's state + final existingController = Get.find(); + if (existingController.aset.value == null) { + // Controller exists but doesn't have data, likely a fresh navigation or reload + debugPrint('⚡ Removing old OrderSewaAsetController without data'); + Get.delete(force: true); + + // Use put instead of lazyPut to ensure controller is created immediately + debugPrint('⚡ Creating new OrderSewaAsetController'); + Get.put(OrderSewaAsetController()); + } else { + // Controller exists and has data, leave it alone during hot reload + debugPrint( + '🔥 Hot reload detected, preserving existing controller with data', + ); + } + } else { + // No controller exists, create a new one + debugPrint('⚡ Creating new OrderSewaAsetController (first time)'); + Get.put(OrderSewaAsetController()); + } + } +} diff --git a/lib/app/modules/warga/bindings/order_sewa_paket_binding.dart b/lib/app/modules/warga/bindings/order_sewa_paket_binding.dart new file mode 100644 index 0000000..23fad22 --- /dev/null +++ b/lib/app/modules/warga/bindings/order_sewa_paket_binding.dart @@ -0,0 +1,22 @@ +import 'package:get/get.dart'; +import '../controllers/order_sewa_paket_controller.dart'; +import '../../../data/providers/aset_provider.dart'; +import '../../../data/providers/sewa_provider.dart'; + +class OrderSewaPaketBinding extends Bindings { + @override + void dependencies() { + // Ensure providers are registered + if (!Get.isRegistered()) { + Get.put(AsetProvider()); + } + + if (!Get.isRegistered()) { + Get.put(SewaProvider()); + } + + Get.lazyPut( + () => OrderSewaPaketController(), + ); + } +} diff --git a/lib/app/modules/warga/bindings/pembayaran_sewa_binding.dart b/lib/app/modules/warga/bindings/pembayaran_sewa_binding.dart new file mode 100644 index 0000000..a9eedb7 --- /dev/null +++ b/lib/app/modules/warga/bindings/pembayaran_sewa_binding.dart @@ -0,0 +1,9 @@ +import 'package:get/get.dart'; +import '../controllers/pembayaran_sewa_controller.dart'; + +class PembayaranSewaBinding extends Bindings { + @override + void dependencies() { + Get.lazyPut(() => PembayaranSewaController()); + } +} diff --git a/lib/app/modules/warga/bindings/sewa_aset_binding.dart b/lib/app/modules/warga/bindings/sewa_aset_binding.dart new file mode 100644 index 0000000..74269b2 --- /dev/null +++ b/lib/app/modules/warga/bindings/sewa_aset_binding.dart @@ -0,0 +1,16 @@ +import 'package:get/get.dart'; +import '../controllers/sewa_aset_controller.dart'; +import '../../../data/providers/aset_provider.dart'; + +class SewaAsetBinding extends Bindings { + @override + void dependencies() { + // Register AsetProvider if not already registered + if (!Get.isRegistered()) { + Get.put(AsetProvider(), permanent: true); + } + + // Register SewaAsetController + Get.lazyPut(() => SewaAsetController()); + } +} diff --git a/lib/app/modules/warga/bindings/warga_sewa_binding.dart b/lib/app/modules/warga/bindings/warga_sewa_binding.dart new file mode 100644 index 0000000..e7bf650 --- /dev/null +++ b/lib/app/modules/warga/bindings/warga_sewa_binding.dart @@ -0,0 +1,34 @@ +import 'package:get/get.dart'; +import '../controllers/warga_sewa_controller.dart'; +import '../controllers/warga_dashboard_controller.dart'; +import '../../../services/navigation_service.dart'; +import '../../../data/providers/auth_provider.dart'; +import '../../../data/providers/aset_provider.dart'; + +class WargaSewaBinding extends Bindings { + @override + void dependencies() { + // Ensure NavigationService is registered and set to Sewa tab + if (Get.isRegistered()) { + final navService = Get.find(); + navService.setNavIndex(1); // Set to Sewa tab + } + + // Ensure AuthProvider is registered + if (!Get.isRegistered()) { + Get.put(AuthProvider(), permanent: true); + } + + // Ensure AsetProvider is registered + if (!Get.isRegistered()) { + Get.put(AsetProvider(), permanent: true); + } + + // Register WargaDashboardController if not already registered + if (!Get.isRegistered()) { + Get.put(WargaDashboardController()); + } + + Get.lazyPut(() => WargaSewaController()); + } +} diff --git a/lib/app/modules/warga/controllers/order_sewa_aset_controller.dart b/lib/app/modules/warga/controllers/order_sewa_aset_controller.dart new file mode 100644 index 0000000..b72c40b --- /dev/null +++ b/lib/app/modules/warga/controllers/order_sewa_aset_controller.dart @@ -0,0 +1,2364 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import 'package:get_storage/get_storage.dart'; +import 'package:intl/intl.dart'; +import 'dart:math' as math; +import 'package:uuid/uuid.dart'; +import '../../../data/models/aset_model.dart'; +import '../../../data/models/foto_aset_model.dart'; +import '../../../data/providers/aset_provider.dart'; +import '../../../data/providers/auth_provider.dart'; +import '../../../services/navigation_service.dart'; +import '../../../services/service_manager.dart'; +import '../widgets/custom_date_range_picker.dart'; +import '../../../routes/app_pages.dart'; +import '../../../routes/app_routes.dart'; +import '../../../theme/app_colors.dart'; + +class OrderSewaAsetController extends GetxController { + // Dependency injection melalui Get.find + final AsetProvider asetProvider = Get.find(); + final AuthProvider authProvider = Get.find(); + + // Use Rx for NavigationService to ensure it's always available, even after hot reload + final Rx _navigationService = Rx( + null, + ); + + // Getter for navigation service with auto-recovery capability + NavigationService get navigationService { + // If navigation service is null, try to find it + if (_navigationService.value == null) { + try { + // Try to find existing instance + if (Get.isRegistered()) { + _navigationService.value = Get.find(); + debugPrint('✅ Found existing NavigationService instance'); + } else { + // Create a new instance if not found + _navigationService.value = Get.put(NavigationService()); + debugPrint('✅ Created new NavigationService instance'); + } + } catch (e) { + debugPrint('⚠️ Error accessing NavigationService: $e'); + // Create a temporary instance as fallback + _navigationService.value = NavigationService(); + } + } + return _navigationService.value!; + } + + final box = GetStorage(); + + // Asset data + final aset = Rx(null); + final isLoading = true.obs; + final hasError = false.obs; + final errorMessage = ''.obs; + + // Store the asset ID to retrieve it after hot reload + final asetId = RxString(''); + + // Asset photos data + final assetPhotos = [].obs; + final currentPhotoIndex = 0.obs; + final isPhotosLoading = false.obs; + + // Booking data + final selectedSatuanWaktu = Rx?>(null); + final duration = 1.obs; + final totalPrice = 0.obs; + + // Unit quantity data + final jumlahUnit = 1.obs; + final maxUnit = 1.obs; + + // Date and time selection + final selectedDate = ''.obs; + final startHour = RxInt(-1); + final endHour = RxInt(-1); + final formattedTimeRange = ''.obs; + final DateTime now = DateTime.now(); + + // Date range for daily rental + final startDate = Rx(null); + final endDate = Rx(null); + final formattedDateRange = ''.obs; + final bookedDates = [].obs; + final isLoadingBookedDates = false.obs; + final maxDayLimit = RxInt( + 0, + ); // Maximum allowed rental days from maksimal_waktu + + // Available hours and booked hours + final availableHours = [].obs; + final RxList> bookedHours = >[].obs; + final RxList selectedHours = [].obs; + final RxList bookedHoursList = [].obs; + final isLoadingBookings = false.obs; + + // New hourly inventory tracking + final Map> hourlyInventory = + >{}.obs; + final unavailableDatesForHourly = [].obs; + + // Static method for navigation (moved to NavigationService) + static Future navigateToOrderPage(String asetId) async { + try { + // Use ServiceManager to get NavigationService instead of direct Get.find + ServiceManager.navigationService.toOrderSewaAset(asetId); + debugPrint('✅ Successfully navigated to order page via ServiceManager'); + } catch (e) { + debugPrint('⚠️ Error in navigateToOrderPage: $e'); + // Fallback direct navigation + Get.toNamed( + '/warga/order-sewa-aset', + arguments: {'asetId': asetId}, + preventDuplicates: false, + ); + } + } + + @override + void onInit() { + super.onInit(); + debugPrint('🚀 OrderSewaAsetController: onInit called'); + + // Ensure navigation service is available - use ServiceManager instead of direct Get.find + try { + // Use ServiceManager's navigationService getter instead of trying to access it directly + _navigationService.value = ServiceManager.navigationService; + debugPrint('✅ Obtained NavigationService via ServiceManager in onInit'); + } catch (e) { + debugPrint('⚠️ Error setting up NavigationService: $e'); + // Create a new instance as fallback + _navigationService.value = NavigationService(); + Get.put(_navigationService.value!); + } + + // Initialize unavailable dates collection + unavailableDatesForHourly.clear(); + + _initializeController(); + } + + @override + void onReady() { + super.onReady(); + debugPrint('🚀 OrderSewaAsetController: onReady called'); + + // Check if there was an error during initialization or loading aset data + if (hasError.value) { + debugPrint('⚠️ Showing error from onReady: ${errorMessage.value}'); + Future.delayed(const Duration(milliseconds: 100), () { + Get.snackbar( + 'Error', + errorMessage.value, + snackPosition: SnackPosition.BOTTOM, + ); + }); + } + + // If we don't have an asset yet but we have an ID stored, load it + if (aset.value == null && asetId.value.isNotEmpty) { + debugPrint('🔄 Loading asset data from onReady with ID: ${asetId.value}'); + loadAsetData(asetId.value); + } + // If we still don't have an asset and no error is set, go back to the previous screen + else if (aset.value == null && + !hasError.value && + isLoading.value == false) { + debugPrint( + '⚠️ No asset loaded and no error - returning to previous screen', + ); + Future.microtask(() { + navigationService.backFromOrderSewaAset(); + Get.snackbar( + 'Info', + 'Tidak dapat menampilkan aset - data tidak tersedia', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.amber, + colorText: Colors.black, + duration: const Duration(seconds: 3), + ); + }); + } + } + + @override + void onClose() { + // Bersihkan resource yang tidak diperlukan lagi + debugPrint('🧹 OrderSewaAsetController: onClose called'); + + // Simpan ID aset ke storage agar bisa di-load kembali setelah hot reload + if (asetId.value.isNotEmpty) { + box.write('current_aset_id', asetId.value); + debugPrint('💾 Saved asetId to GetStorage: ${asetId.value}'); + } + + super.onClose(); + } + + // Method ini digunakan untuk menghandle hotreload + void handleHotReload() { + debugPrint('🔥 Hot reload detected in OrderSewaAsetController'); + // Jika aset belum di-load tapi ID ada di storage, maka load ulang + if (aset.value == null) { + String? storedId; + + // Coba dapatkan ID dari arguments terlebih dahulu + final args = Get.arguments; + if (args != null && args.containsKey('asetId')) { + storedId = args['asetId'] as String?; + debugPrint('📦 Found asetId in arguments after hot reload: $storedId'); + } + + // Jika tidak ada di arguments, cek di GetStorage + if ((storedId == null || storedId.isEmpty) && + box.hasData('current_aset_id')) { + storedId = box.read('current_aset_id'); + debugPrint('📦 Found asetId in GetStorage after hot reload: $storedId'); + } + + if (storedId != null && storedId.isNotEmpty) { + debugPrint( + '🔄 Reloading asset data with ID after hot reload: $storedId', + ); + asetId.value = storedId; + + // Tambahkan delay kecil untuk memastikan controller sudah siap + Future.delayed(const Duration(milliseconds: 100), () { + loadAsetData(storedId!); + }); + } else { + debugPrint('⚠️ No asetId found after hot reload'); + } + } else { + debugPrint('✅ Asset already loaded, no need to reload after hot reload'); + } + } + + void _initializeController() { + // Get asset ID from arguments + final args = Get.arguments; + debugPrint('📌 Arguments received in controller: $args'); + + String? newAsetId; + if (args != null && args.containsKey('asetId')) { + newAsetId = args['asetId'] as String?; + debugPrint('📌 Asset ID from arguments: $newAsetId'); + + // Simpan ID ke storage segera setelah menerimanya dari arguments + if (newAsetId != null && newAsetId.isNotEmpty) { + box.write('current_aset_id', newAsetId); + debugPrint('💾 Immediately saved asetId to GetStorage: $newAsetId'); + } + } + + // Try to get asetId from GetStorage if not in arguments + if ((newAsetId == null || newAsetId.isEmpty) && + box.hasData('current_aset_id')) { + newAsetId = box.read('current_aset_id'); + debugPrint('📌 Asset ID from GetStorage: $newAsetId'); + } + + if (newAsetId != null && newAsetId.isNotEmpty) { + debugPrint('📌 Using asset ID: $newAsetId'); + asetId.value = newAsetId; + debugPrint('🔄 Loading asset data with ID: ${asetId.value}'); + loadAsetData(asetId.value); + } else { + debugPrint('❌ No asset ID available - returning to previous screen'); + isLoading.value = false; + hasError.value = true; + errorMessage.value = 'ID aset tidak ditemukan'; + // Don't navigate back here, let onReady handle it + } + + // Initialize default date (today) + final now = DateTime.now(); + selectedDate.value = DateFormat('dd MMMM yyyy', 'id_ID').format(now); + debugPrint('📅 Initial selected date: ${selectedDate.value}'); + + // Initialize available hours (6:00 to 21:00) + availableHours.clear(); + for (int i = 6; i <= 21; i++) { + availableHours.add(i); + } + } + + // Method untuk load data aset + Future loadAsetData(String id) async { + if (id.isEmpty) { + debugPrint('❌ Cannot load asset: ID is empty'); + isLoading.value = false; + hasError.value = true; + errorMessage.value = 'ID aset tidak valid'; + return; + } + + try { + isLoading.value = true; + hasError.value = false; + debugPrint('🔄 Loading asset data with ID: $id'); + + // Simpan ID aset saat ini ke storage + asetId.value = id; + box.write('current_aset_id', id); + debugPrint( + '💾 Saved current asetId to GetStorage during loadAsetData: $id', + ); + + // Get asset data + final loadedAset = await asetProvider.getAsetById(id); + + if (loadedAset != null) { + aset.value = loadedAset; + debugPrint('✅ Asset loaded successfully: ${loadedAset.nama}'); + + // Set max unit to total quantity of the asset + maxUnit.value = loadedAset.kuantitas ?? 1; + debugPrint( + '📊 Set max unit to: ${maxUnit.value} (total available: ${loadedAset.kuantitas ?? 0}, used: ${loadedAset.kuantitasTerpakai ?? 0})', + ); + + // Load asset photos + await loadAssetPhotos(id); + + // Load all bookings for the next 30 days to initialize availability data + await loadAllBookings(); + + // Find and select hourly option by default if exists + final hourlyOption = loadedAset.satuanWaktuSewa.firstWhereOrNull( + (element) => + element['nama_satuan_waktu']?.toString().toLowerCase().contains( + 'jam', + ) ?? + false, + ); + + if (hourlyOption != null) { + debugPrint( + '✅ Selected hourly option: ${hourlyOption['nama_satuan_waktu']}', + ); + selectSatuanWaktu(hourlyOption); + } else if (loadedAset.satuanWaktuSewa.isNotEmpty) { + // Otherwise select the first option if any exist + debugPrint( + '✅ Selected first available option: ${loadedAset.satuanWaktuSewa[0]['nama_satuan_waktu']}', + ); + selectSatuanWaktu(loadedAset.satuanWaktuSewa[0]); + } + } else { + debugPrint('❌ Asset with ID $id not found'); + hasError.value = true; + errorMessage.value = 'Aset tidak ditemukan'; + } + } catch (e) { + debugPrint('❌ Error loading asset: $e'); + hasError.value = true; + errorMessage.value = 'Terjadi kesalahan: $e'; + } finally { + isLoading.value = false; + } + } + + // Ketika tombol back pada halaman order-sewa-aset ditekan + void onBackPressed() { + debugPrint('🔙 Back button pressed in OrderSewaAsetView'); + + try { + // Try to use the navigation service + navigationService.backFromOrderSewaAset(); + } catch (e) { + debugPrint('⚠️ Error using navigation service: $e'); + // Fallback to direct navigation + Get.back(); + } + } + + // Format price with IDR currency + String formatPrice(int price) { + final currencyFormatter = NumberFormat.currency( + locale: 'id', + symbol: 'Rp', + decimalDigits: 0, + ); + return currencyFormatter.format(price); + } + + // Format hour as string (e.g., "06:00") + String formatHour(int hour) { + return '${hour.toString().padLeft(2, '0')}:00'; + } + + // Load photos for the asset + Future loadAssetPhotos(String asetId) async { + try { + isPhotosLoading.value = true; + debugPrint('🔄 Loading photos for asset $asetId'); + + final photos = await asetProvider.getAsetPhotos(asetId); + assetPhotos.value = photos; + + debugPrint('✅ Loaded ${photos.length} photos for asset'); + } catch (e) { + debugPrint('❌ Error loading asset photos: $e'); + hasError.value = true; + errorMessage.value = 'Gagal memuat foto aset: ${e.toString()}'; + } finally { + isPhotosLoading.value = false; + } + } + + // Move to next photo + void nextPhoto() { + if (assetPhotos.isEmpty) return; + if (currentPhotoIndex.value < assetPhotos.length - 1) { + currentPhotoIndex.value++; + } else { + currentPhotoIndex.value = 0; // Loop back to first photo + } + } + + // Move to previous photo + void previousPhoto() { + if (assetPhotos.isEmpty) return; + if (currentPhotoIndex.value > 0) { + currentPhotoIndex.value--; + } else { + currentPhotoIndex.value = assetPhotos.length - 1; // Loop to last photo + } + } + + // Get current photo URL + String? getCurrentPhotoUrl() { + if (assetPhotos.isEmpty) { + return aset.value?.imageUrl; + } + return assetPhotos[currentPhotoIndex.value].fotoAset; + } + + // Load bookings for the selected date and calculate availability across dates and times + Future loadBookingsForDate(DateTime date) async { + try { + isLoadingBookings(true); + + // Clear selections and booked hours + selectedHours.clear(); + bookedHours.clear(); + bookedHoursList.clear(); + + // Format date for API + final String formattedDate = DateFormat('yyyy-MM-dd').format(date); + debugPrint( + '🔍 Loading bookings for date: $date (formatted: $formattedDate)', + ); + + // Get bookings from server + final bookings = await asetProvider.getAsetBookings( + aset.value!.id, + formattedDate, + ); + + // Update the bookedHours list for reference + bookedHours.assignAll(bookings); + debugPrint( + '📆 Loaded ${bookings.length} bookings for $formattedDate and related days', + ); + + // Initialize a range of dates to check (30 days from now) + Map> fullInventory = {}; + final int totalAssetQuantity = aset.value?.kuantitas ?? 0; + final DateTime today = DateTime.now(); + + // Initialize inventory for next 30 days, each with hours 0-23 + for (int day = 0; day < 30; day++) { + final DateTime currentDate = today.add(Duration(days: day)); + final String currentDateStr = DateFormat( + 'yyyy-MM-dd', + ).format(currentDate); + + // Initialize inventory for each hour of this day with full quantity + Map dayInventory = {}; + for (int hour = 0; hour < 24; hour++) { + dayInventory[hour] = totalAssetQuantity; + } + + fullInventory[currentDateStr] = dayInventory; + } + + debugPrint('📊 INVENTORY - INITIAL STATE:'); + debugPrint('------------------------------------'); + debugPrint('Total asset quantity: $totalAssetQuantity'); + debugPrint('Days initialized: ${fullInventory.length}'); + debugPrint('------------------------------------'); + + // Process all bookings to adjust inventory across dates and times + if (bookings.isNotEmpty) { + debugPrint( + '🔢 Processing ${bookings.length} bookings to calculate inventory:', + ); + + // Process each booking and adjust inventory + for (var booking in bookings) { + final String bookingId = booking['id'] ?? ''; + final String status = booking['status'] ?? ''; + final int bookingQuantity = booking['kuantitas'] ?? 1; + + // Get start and end date-times + final String waktuMulaiStr = booking['waktu_mulai'] ?? ''; + final String waktuSelesaiStr = booking['waktu_selesai'] ?? ''; + + if (waktuMulaiStr.isEmpty || waktuSelesaiStr.isEmpty) { + debugPrint( + '⚠️ Booking ID $bookingId has invalid timestamps, skipping', + ); + continue; + } + + try { + final DateTime waktuMulai = DateTime.parse(waktuMulaiStr); + final DateTime waktuSelesai = DateTime.parse(waktuSelesaiStr); + + debugPrint('🔎 Processing booking ID: $bookingId'); + debugPrint( + ' - Period: ${DateFormat('yyyy-MM-dd HH:mm').format(waktuMulai)} to ${DateFormat('yyyy-MM-dd HH:mm').format(waktuSelesai)}', + ); + debugPrint(' - Status: $status, Quantity: $bookingQuantity'); + + // Calculate the end time for inventory restoration (1 hour after booking ends) + final DateTime inventoryRestorationTime = waktuSelesai.add( + const Duration(hours: 1), + ); + + // Calculate all date-hour combinations in the booking range + final List allDateHours = []; + + // Add all hours from start to end + DateTime currentHour = DateTime( + waktuMulai.year, + waktuMulai.month, + waktuMulai.day, + waktuMulai.hour, + ); + + while (!currentHour.isAfter(waktuSelesai)) { + allDateHours.add(currentHour); + currentHour = currentHour.add(const Duration(hours: 1)); + } + + debugPrint(' - Total hours in booking: ${allDateHours.length}'); + + // Process each hour in the booking range to reduce inventory + for (DateTime dateHour in allDateHours) { + final String dateStr = DateFormat('yyyy-MM-dd').format(dateHour); + final int hour = dateHour.hour; + + // Skip if outside our initialized inventory range + if (!fullInventory.containsKey(dateStr)) { + continue; + } + + // Reduce inventory for this hour + if (fullInventory[dateStr]!.containsKey(hour)) { + final int previousQty = fullInventory[dateStr]![hour]!; + fullInventory[dateStr]![hour] = previousQty - bookingQuantity; + + debugPrint( + '📉 $dateStr Hour $hour: DECREASED inventory from $previousQty to ${fullInventory[dateStr]![hour]} (by $bookingQuantity)', + ); + } + } + + // Handle inventory restoration one hour after booking ends + final String restorationDateStr = DateFormat( + 'yyyy-MM-dd', + ).format(inventoryRestorationTime); + final int restorationHour = inventoryRestorationTime.hour; + + // Verify this restoration point is in our initialized inventory + if (fullInventory.containsKey(restorationDateStr) && + fullInventory[restorationDateStr]!.containsKey( + restorationHour, + )) { + // Don't increase above the total asset quantity + final int currentInventory = + fullInventory[restorationDateStr]![restorationHour]!; + final int newInventory = math.min( + currentInventory + bookingQuantity, + totalAssetQuantity, + ); + + fullInventory[restorationDateStr]![restorationHour] = + newInventory; + + debugPrint( + '📈 $restorationDateStr Hour $restorationHour: INCREASED inventory from $currentInventory to $newInventory (by $bookingQuantity)', + ); + } + } catch (e) { + debugPrint('❌ Error processing booking $bookingId: $e'); + } + } + } else { + debugPrint('✅ No bookings found affecting the selected date'); + } + + // Store the inventory in our controller + hourlyInventory.clear(); + hourlyInventory.addAll(fullInventory); + + // Now determine which hours are available for the selected date + if (hourlyInventory.containsKey(formattedDate)) { + final dayInventory = hourlyInventory[formattedDate]!; + + // Debug output of inventory status for this date + debugPrint('📊 INVENTORY STATUS FOR $formattedDate:'); + debugPrint('------------------------------------'); + debugPrint('Requested quantity: ${jumlahUnit.value}'); + + // Business hours (typically 6-21) + List businessHours = List.generate(16, (index) => index + 6); + + // Count available vs unavailable hours + int availableHoursCount = 0; + int unavailableHoursCount = 0; + + for (int hour in businessHours) { + final int availableQty = + dayInventory.containsKey(hour) ? dayInventory[hour]! : 0; + final bool isAvailable = availableQty >= jumlahUnit.value; + final String status = isAvailable ? "✅ AVAILABLE" : "❌ UNAVAILABLE"; + + debugPrint( + 'Hour ${formatHour(hour)}: $availableQty/$totalAssetQuantity units - $status', + ); + + if (isAvailable) { + availableHoursCount++; + } else { + unavailableHoursCount++; + bookedHoursList.add(hour); // Mark this hour as unavailable + } + } + + debugPrint('------------------------------------'); + debugPrint( + 'Summary: $availableHoursCount hours available, $unavailableHoursCount hours unavailable', + ); + + // If all business hours are unavailable, add this date to unavailable dates list + if (availableHoursCount == 0) { + final DateTime unavailableDate = DateFormat( + 'yyyy-MM-dd', + ).parse(formattedDate); + if (!unavailableDatesForHourly.contains(unavailableDate)) { + unavailableDatesForHourly.add(unavailableDate); + debugPrint( + '🚫 Date $formattedDate FULLY BOOKED - Adding to unavailable dates', + ); + } + } + } + + // Calculate and display fully booked dates (helpful for debugging) + List fullyBookedDates = []; + + // Check all days in our inventory + for (String dateStr in hourlyInventory.keys) { + final Map dayInventory = hourlyInventory[dateStr]!; + + // Business hours (typically 6-21) + List businessHours = List.generate(16, (index) => index + 6); + + // Check if all business hours are unavailable + bool anyHourAvailable = false; + for (int hour in businessHours) { + if (dayInventory.containsKey(hour)) { + final int availableQty = dayInventory[hour]!; + if (availableQty >= jumlahUnit.value) { + anyHourAvailable = true; + break; + } + } + } + + if (!anyHourAvailable) { + fullyBookedDates.add(dateStr); + + // Add to unavailable dates if not already there + final DateTime unavailableDate = DateFormat( + 'yyyy-MM-dd', + ).parse(dateStr); + if (!unavailableDatesForHourly.contains(unavailableDate)) { + unavailableDatesForHourly.add(unavailableDate); + } + } + } + + debugPrint('🗓️ Fully booked dates: ${fullyBookedDates.join(", ")}'); + debugPrint( + '🗓️ Total unavailable dates: ${unavailableDatesForHourly.length}', + ); + } catch (e) { + debugPrint('❌ Error loading bookings: $e'); + } finally { + isLoadingBookings(false); + } + } + + // Select a time unit (e.g., hourly or daily) + void selectSatuanWaktu(Map satuan) { + final bool wasDaily = isDailyRental(); + final bool willBeDaily = + satuan['nama_satuan_waktu']?.toString().toLowerCase().contains( + 'hari', + ) ?? + false; + + // Reset duration and total price before changing selected satuan waktu + duration.value = 0; + totalPrice.value = 0; + + selectedSatuanWaktu.value = satuan; + + // Set the maximum day limit based on maksimal_waktu + maxDayLimit.value = satuan['maksimal_waktu'] ?? 0; + debugPrint('🕒 Set maximum day limit to: ${maxDayLimit.value} days'); + debugPrint('💲 Reset duration to 0 and total price to 0'); + + // Reset selections when switching between hourly and daily + if (willBeDaily) { + // Reset hourly selections + startHour.value = -1; + endHour.value = -1; + formattedTimeRange.value = ''; + + // Initialize date range to null for daily rental + startDate.value = null; + endDate.value = null; + formattedDateRange.value = ''; + + // Load booked dates with current quantity + debugPrint( + '🧮 Initializing daily rental mode with quantity: ${jumlahUnit.value}', + ); + loadBookedDates(); + } else { + // Reset date range selections + startDate.value = null; + endDate.value = null; + formattedDateRange.value = ''; + + // If switching from daily to hourly, reload hourly inventory + if (wasDaily) { + // Get current date for hourly rental + final DateTime currentDate = DateTime.now(); + final String formattedDate = DateFormat( + 'yyyy-MM-dd', + ).format(currentDate); + + debugPrint( + '🔄 Switching to hourly rental mode, loading hourly inventory', + ); + + // Clear the hourly inventory to force recalculation + hourlyInventory.clear(); + unavailableDatesForHourly.clear(); + + // Load current date and next 7 days to have availability data + loadBookingsForDate(currentDate); + for (int i = 1; i <= 7; i++) { + final futureDate = currentDate.add(Duration(days: i)); + loadBookingsForDate(futureDate); + } + } + } + + // Make sure to recalculate total price with the new values (which should be 0) + calculateTotalPrice(); + + update(); + } + + // Calculate total price based on duration and selected time unit + void calculateTotalPrice() { + if (selectedSatuanWaktu.value == null || duration.value <= 0) { + totalPrice.value = 0; + debugPrint( + '💰 Total price set to 0 (no satuan waktu selected or duration is 0)', + ); + return; + } + + final unitPrice = selectedSatuanWaktu.value?['harga'] ?? 0; + totalPrice.value = unitPrice * duration.value * jumlahUnit.value; + debugPrint( + '💰 Calculated total price: ${totalPrice.value} ($unitPrice × ${duration.value} × ${jumlahUnit.value})', + ); + } + + // Pick a date + Future pickDate(BuildContext context) async { + if (aset.value == null) return; + + try { + // Prepare unavailable dates (past dates or fully booked dates) + final unavailableDates = []; + + // Add only past dates (before today, not including today) + final today = DateTime.now(); + final todayDate = DateTime(today.year, today.month, today.day); + + // Add only past dates to unavailable list (not including today) + for ( + DateTime date = DateTime(today.year, today.month, 1); + date.isBefore(todayDate); // Changed from !date.isAfter(todayDate) + date = date.add(const Duration(days: 1)) + ) { + unavailableDates.add(date); + } + + // Add dates that are fully booked (no available hours) + if (unavailableDatesForHourly.isNotEmpty) { + unavailableDates.addAll(unavailableDatesForHourly); + } + + debugPrint( + '🗓️ Unavailable dates for hourly rental: ${unavailableDatesForHourly.length}', + ); + + // Get a temporary value for storing error messages + final errorMessageText = Rx(''); + + // Try to parse the current selected date as initialDate + DateTime initialDate; + try { + initialDate = DateFormat( + 'dd MMMM yyyy', + 'id_ID', + ).parse(selectedDate.value); + + // Verify it's not an unavailable date + if (unavailableDates.any((date) => _isSameDay(date, initialDate))) { + // Find the next available date + initialDate = _findNextAvailableDate(todayDate, unavailableDates); + } + } catch (e) { + // If parsing fails, use the next available date + initialDate = _findNextAvailableDate(todayDate, unavailableDates); + } + + // Show our custom date picker in a dialog + final result = await showDialog( + context: context, + builder: (BuildContext context) { + return Dialog( + insetPadding: const EdgeInsets.symmetric( + horizontal: 16.0, + vertical: 24.0, + ), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16), + ), + child: Container( + width: double.maxFinite, + constraints: BoxConstraints( + maxHeight: MediaQuery.of(context).size.height * 0.8, + ), + padding: const EdgeInsets.all(16.0), + child: SingleChildScrollView( + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + 'Pilih Tanggal', + style: TextStyle( + fontSize: 20, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + const SizedBox(height: 4), + Obx( + () => + errorMessageText.value.isNotEmpty + ? Padding( + padding: const EdgeInsets.only(top: 8), + child: Container( + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: AppColors.errorLight, + borderRadius: BorderRadius.circular(8), + border: Border.all( + color: AppColors.error.withOpacity(0.3), + ), + ), + child: Text( + errorMessageText.value, + style: TextStyle( + fontSize: 12, + color: AppColors.error, + ), + ), + ), + ) + : const SizedBox.shrink(), + ), + const SizedBox(height: 16), + // Use the custom calendar widget here for single date selection + CustomDateRangePicker( + disabledDates: unavailableDates, + initialStartDate: initialDate, + initialEndDate: + initialDate, // For hourly rental, set end date to same as start date + singleDateMode: + true, // Force single date selection for hourly rentals + maxDays: 1, // Limit to 1 day + onClearSelection: () { + // Handle selection clearing + debugPrint('🧹 Date selection cleared by user'); + }, + onSelectRange: (start, end) { + try { + // Clear previous error messages + errorMessageText.value = ''; + + // For hourly rental, we only need the start date + // We'll ignore the end date from the picker + debugPrint( + '📅 Selected date for hourly rental: ${DateFormat('yyyy-MM-dd').format(start)}', + ); + + // Update the selected date + final selectedDateFormatted = DateFormat( + 'dd MMMM yyyy', + 'id_ID', + ).format(start); + selectedDate.value = selectedDateFormatted; + debugPrint( + '📅 Set selected date to: ${selectedDate.value}', + ); + + // Reset selections + startHour.value = -1; + endHour.value = -1; + formattedTimeRange.value = ''; + duration.value = 0; + calculateTotalPrice(); + + // Load bookings for this date + loadBookingsForDate(start); + + Navigator.of( + context, + ).pop(true); // Close dialog with success result + } catch (e) { + debugPrint('❌ Error in date selection: $e'); + errorMessageText.value = + 'Terjadi kesalahan saat memilih tanggal: coba lagi'; + } + }, + ), + ], + ), + ), + ), + ); + }, + ); + + // Handle result if needed + if (result == true) { + debugPrint('📅 Date selected successfully: ${selectedDate.value}'); + } + } catch (e) { + debugPrint('❌ Error in date picker: $e'); + _showError('Terjadi kesalahan saat memilih tanggal: ${e.toString()}'); + } + } + + // Helper method to find the next available date + DateTime _findNextAvailableDate( + DateTime startFrom, + List unavailableDates, + ) { + // Start from the next day after the given date + DateTime testDate = startFrom.add(const Duration(days: 1)); + + // Try up to 30 days in the future + for (int i = 0; i < 30; i++) { + final bool isUnavailable = unavailableDates.any( + (date) => _isSameDay(date, testDate), + ); + if (!isUnavailable) { + return testDate; + } + testDate = testDate.add(const Duration(days: 1)); + } + + // If no available date found in 30 days, return a date anyway + return startFrom.add(const Duration(days: 1)); + } + + // Check if an hour is in the past + bool isHourInPast(int hour) { + final currentDate = DateFormat( + 'dd MMMM yyyy', + 'id_ID', + ).parse(selectedDate.value); + final today = DateTime.now(); + + // If selected date is today, check if hour is in the past + if (currentDate.year == today.year && + currentDate.month == today.month && + currentDate.day == today.day) { + return hour < + today.hour; // Changed from hour <= today.hour to allow current hour + } + + return false; + } + + // Check if an hour is booked + bool isHourBooked(int hour) { + debugPrint( + '🔍 Checking if hour $hour is booked among ${bookedHoursList.length} blocked hours', + ); + + // Check if hour is in the bookedHoursList + bool isBooked = bookedHoursList.contains(hour); + + if (isBooked) { + debugPrint('🔴 Hour $hour is booked (found in bookedHoursList)'); + } else { + debugPrint('✅ Hour $hour is available'); + } + + return isBooked; + } + + // Check if an hour is disabled (past or booked) + bool isHourDisabled(int hour) { + // Always check if the hour is in the past + if (isHourInPast(hour)) { + return true; + } + + // Get the current date in yyyy-MM-dd format + final currentDate = DateFormat( + 'dd MMMM yyyy', + 'id_ID', + ).parse(selectedDate.value); + final formattedDate = DateFormat('yyyy-MM-dd').format(currentDate); + + // Check if we have inventory data for this date + if (!hourlyInventory.containsKey(formattedDate)) { + debugPrint( + '⚠️ No inventory data for date $formattedDate - defaulting to disabled', + ); + return true; + } + + // Get the inventory for this hour + final inventory = hourlyInventory[formattedDate]!; + if (!inventory.containsKey(hour)) { + debugPrint( + '⚠️ No inventory data for hour $hour - defaulting to disabled', + ); + return true; + } + + // Check if requested quantity is available for this hour + final int availableQty = inventory[hour]!; + final bool isAvailable = availableQty >= jumlahUnit.value; + + debugPrint( + '🕒 Hour $hour (${formatHour(hour)}): Available=$availableQty, Needed=${jumlahUnit.value}, Available=$isAvailable', + ); + + return !isAvailable; + } + + // Select hour + void selectHour(int hour) { + if (isHourDisabled(hour)) return; + + // Get maximum allowed hours from selected satuan waktu + final int maxHours = selectedSatuanWaktu.value?['maksimal_waktu'] ?? 0; + + // If no hour is selected, set as start hour + if (startHour.value == -1) { + startHour.value = hour; + // Set end hour as the next hour, but check if we have a max limit + endHour.value = hour + 1; + } + // If clicking the same hour, deselect it + else if (startHour.value == hour) { + startHour.value = -1; + endHour.value = -1; + } + // If selecting a different hour + else { + // If selecting a later hour, set as end hour + if (hour > startHour.value) { + // Check if the new selection would exceed the maximum allowed duration + if (maxHours > 0 && (hour - startHour.value + 1) > maxHours) { + _showError('Maksimal waktu sewa untuk aset ini adalah $maxHours jam'); + return; + } + + // Check if all hours between start and selected are available + bool allAvailable = true; + for (int i = startHour.value + 1; i <= hour; i++) { + if (isHourDisabled(i)) { + allAvailable = false; + break; + } + } + + if (allAvailable) { + endHour.value = hour + 1; + } else { + _showError( + 'Terdapat jam yang tidak tersedia di antara rentang waktu yang dipilih', + ); + return; + } + } + // If selecting an earlier hour, set as new start hour and check max duration + else { + // Check if new selection would exceed maximum allowed duration + if (maxHours > 0 && (endHour.value - hour) > maxHours) { + _showError('Maksimal waktu sewa untuk aset ini adalah $maxHours jam'); + return; + } + + startHour.value = hour; + } + } + + _updateFormattedTimeRange(); + calculateDurationFromTimeRange(); + update(); + } + + void _updateFormattedTimeRange() { + if (startHour.value == -1) { + formattedTimeRange.value = ''; + return; + } + + final start = formatHour(startHour.value); + final end = formatHour(endHour.value > 21 ? 21 : endHour.value); + formattedTimeRange.value = '$start - $end'; + } + + void calculateDurationFromTimeRange() { + if (startHour.value == -1 || endHour.value == -1) { + duration.value = 0; + calculateTotalPrice(); + return; + } + + // Calculate hours between start and end hour + int hoursDiff = endHour.value - startHour.value; + + // Get maximum allowed hours + final int maxHours = selectedSatuanWaktu.value?['maksimal_waktu'] ?? 0; + + // If max hours is set and the current duration exceeds it, cap the duration + if (maxHours > 0 && hoursDiff > maxHours) { + // Adjust end hour to match maximum allowed duration + endHour.value = startHour.value + maxHours; + hoursDiff = maxHours; + + // Update formatted time range with the new end hour + _updateFormattedTimeRange(); + + // Show a message to the user + _showError('Durasi disesuaikan ke maksimal $maxHours jam untuk aset ini'); + } + + duration.value = hoursDiff; + calculateTotalPrice(); + } + + // Pick a date range (for daily rental) + Future pickDateRange(BuildContext context) async { + if (aset.value == null) return; + + try { + // First make sure bookedDates is loaded + if (isLoadingBookedDates.value) { + // Show loading indicator + Get.dialog( + const Center(child: CircularProgressIndicator()), + barrierDismissible: false, + ); + + // Wait for booked dates to load with a timeout + int attempts = 0; + while (isLoadingBookedDates.value && attempts < 100) { + await Future.delayed(const Duration(milliseconds: 100)); + attempts++; + } + + // Close the loading dialog + if (Get.isDialogOpen ?? false) { + Get.back(); + } + + // If still loading after timeout, show error + if (isLoadingBookedDates.value) { + _showError('Timeout loading booked dates. Please try again.'); + return; + } + } + + // Log maximum day limit + debugPrint('📅 Maximum rental period: ${maxDayLimit.value} days'); + + // Add today to booked dates to prevent selection + final today = DateTime.now(); + final todayDate = DateTime(today.year, today.month, today.day); + + // Create a new list with today added to the booked dates + final unavailableDates = []; + + // Add today and past dates + for ( + DateTime date = DateTime(today.year, today.month, 1); + !date.isAfter(todayDate); + date = date.add(const Duration(days: 1)) + ) { + unavailableDates.add(date); + } + + // Then add all booked dates + if (bookedDates.isNotEmpty) { + unavailableDates.addAll(bookedDates); + } + + debugPrint( + '🗓️ Today (${DateFormat('yyyy-MM-dd').format(todayDate)}) added to unavailable dates', + ); + debugPrint('🗓️ Total unavailable dates: ${unavailableDates.length}'); + + // Get a temporary value for storing error messages + final errorMessageText = Rx(''); + + // Show our custom date range picker in a dialog + final result = await showDialog( + context: context, + builder: (BuildContext context) { + return Dialog( + insetPadding: const EdgeInsets.symmetric( + horizontal: 16.0, + vertical: 24.0, + ), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16), + ), + child: Container( + width: double.maxFinite, + constraints: BoxConstraints( + maxHeight: MediaQuery.of(context).size.height * 0.8, + ), + padding: const EdgeInsets.all(16.0), + child: SingleChildScrollView( + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + 'Pilih Tanggal', + style: TextStyle( + fontSize: 20, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + const SizedBox(height: 4), + if (maxDayLimit.value > 0) + Padding( + padding: const EdgeInsets.only(top: 4), + child: Text( + 'Maksimal waktu sewa: ${maxDayLimit.value} hari', + style: TextStyle( + fontSize: 12, + color: AppColors.primary, + fontWeight: FontWeight.bold, + ), + ), + ), + Obx( + () => + errorMessageText.value.isNotEmpty + ? Padding( + padding: const EdgeInsets.only(top: 8), + child: Container( + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: AppColors.errorLight, + borderRadius: BorderRadius.circular(8), + border: Border.all( + color: AppColors.error.withOpacity(0.3), + ), + ), + child: Text( + errorMessageText.value, + style: TextStyle( + fontSize: 12, + color: AppColors.error, + ), + ), + ), + ) + : const SizedBox.shrink(), + ), + const SizedBox(height: 16), + // Use the custom calendar widget here + CustomDateRangePicker( + disabledDates: unavailableDates, + initialStartDate: startDate.value, + initialEndDate: endDate.value, + maxDays: maxDayLimit.value > 0 ? maxDayLimit.value : null, + onClearSelection: () { + // Handle selection clearing + debugPrint('🧹 Date selection cleared by user'); + // Don't close the dialog, let the user select new dates + }, + onSelectRange: (start, end) { + try { + // Clear previous error messages + errorMessageText.value = ''; + + // If start and end are the same, this is a single day selection + final bool isSingleDaySelection = _isSameDay( + start, + end, + ); + debugPrint( + '📅 Selected ${isSingleDaySelection ? "single day" : "date range"}: ${DateFormat('yyyy-MM-dd').format(start)} to ${DateFormat('yyyy-MM-dd').format(end)}', + ); + + // Calculate duration in days + int selectedDuration = + end.difference(start).inDays + 1; + + // Check if the selected duration exceeds the maximum + if (maxDayLimit.value > 0 && + selectedDuration > maxDayLimit.value) { + // Show error message but don't close the dialog + errorMessageText.value = + 'Maksimal waktu sewa untuk aset ini adalah ${maxDayLimit.value} hari. Anda memilih $selectedDuration hari.'; + debugPrint( + '⚠️ Max rental period exceeded: $selectedDuration days selected, max is ${maxDayLimit.value}', + ); + return; // Don't proceed with selection + } + + // This will be called when the user selects a valid range + startDate.value = start; + endDate.value = end; + + // Log selection type for clarity + if (_isSameDay(start, end)) { + debugPrint( + '📅 SINGLE DAY SELECTED: ${DateFormat('yyyy-MM-dd').format(start)} (duration: 1 day)', + ); + } else { + debugPrint( + '📅 DATE RANGE SELECTED: ${DateFormat('yyyy-MM-dd').format(start)} to ${DateFormat('yyyy-MM-dd').format(end)} (duration: $selectedDuration days)', + ); + } + + _updateFormattedDateRange(); + // Calculate duration in days (already validated) + duration.value = selectedDuration; + calculateTotalPrice(); + Navigator.of( + context, + ).pop(true); // Close dialog with success result + } catch (e) { + debugPrint('❌ Error in date range selection: $e'); + errorMessageText.value = + 'Terjadi kesalahan saat memilih tanggal: coba lagi'; + } + }, + ), + ], + ), + ), + ), + ); + }, + ); + + // Handle result if needed + if (result == true) { + debugPrint( + '📅 Date range selected: ${startDate.value} to ${endDate.value}, duration: ${duration.value} days', + ); + } + } catch (e) { + debugPrint('❌ Error in date range picker: $e'); + _showError('Terjadi kesalahan saat memilih tanggal: ${e.toString()}'); + } + } + + // Load booked dates for daily rental with inventory-based logic + Future loadBookedDates() async { + try { + isLoadingBookedDates(true); + bookedDates.clear(); + + // Get the total quantity of the asset + final int totalQuantity = aset.value?.kuantitas ?? 0; + debugPrint('📊 Total asset quantity: $totalQuantity'); + + // Get the requested quantity from user + final int requestedQuantity = jumlahUnit.value; + debugPrint('🔢 Requested quantity: $requestedQuantity'); + + // Date range to check (next 90 days) + final startDateForQuery = DateTime.now(); + final endDateForQuery = DateTime.now().add(const Duration(days: 90)); + + // Format dates for API + final String formattedStartDate = DateFormat( + 'yyyy-MM-dd', + ).format(startDateForQuery); + final String formattedEndDate = DateFormat( + 'yyyy-MM-dd', + ).format(endDateForQuery); + + debugPrint( + '🔍 Checking available quantity from $formattedStartDate to $formattedEndDate', + ); + + // Get all bookings for this asset in the date range + final List> bookings = await asetProvider + .getAsetDailyBookings( + aset.value!.id, + formattedStartDate, + formattedEndDate, + ); + + debugPrint('📑 Found ${bookings.length} bookings for this asset'); + + // Create an inventory map to track available quantity for each day + Map dailyInventory = {}; + + // Initialize inventory for each day in the range + for ( + DateTime day = startDateForQuery; + !day.isAfter(endDateForQuery); + day = day.add(const Duration(days: 1)) + ) { + String dateStr = DateFormat('yyyy-MM-dd').format(day); + dailyInventory[dateStr] = totalQuantity; + } + + // Process all bookings to calculate inventory deductions + for (var booking in bookings) { + final String? startDateStr = booking['waktu_mulai']; + final String? endDateStr = booking['waktu_selesai']; + final int bookingQuantity = booking['kuantitas'] ?? 0; + final String bookingStatus = booking['status'] ?? ''; + final String bookingId = booking['id'] ?? ''; + + debugPrint( + '🔎 Processing booking: ID: $bookingId, $startDateStr to $endDateStr, quantity: $bookingQuantity, status: $bookingStatus', + ); + + if (startDateStr != null && endDateStr != null && bookingQuantity > 0) { + final DateTime bookingStart = DateTime.parse(startDateStr); + final DateTime bookingEnd = DateTime.parse(endDateStr); + + // Get dates without time + final DateTime startDateOnly = DateTime( + bookingStart.year, + bookingStart.month, + bookingStart.day, + ); + final DateTime endDateOnly = DateTime( + bookingEnd.year, + bookingEnd.month, + bookingEnd.day, + ); + + debugPrint( + '📊 Inventory status BEFORE processing booking $bookingId:', + ); + // Show a sample of inventory before changes + int sampleCount = 0; + for ( + DateTime day = startDateOnly; + !day.isAfter(endDateOnly) && sampleCount < 3; + day = day.add(const Duration(days: 1)), sampleCount++ + ) { + String dateStr = DateFormat('yyyy-MM-dd').format(day); + debugPrint( + ' - BEFORE: $dateStr: Available=${dailyInventory[dateStr]}', + ); + } + + // Reduce available quantity for each day in the booking range + for ( + DateTime day = startDateOnly; + !day.isAfter(endDateOnly); + day = day.add(const Duration(days: 1)) + ) { + String dateStr = DateFormat('yyyy-MM-dd').format(day); + + // Subtract the booking quantity from available inventory + if (dailyInventory.containsKey(dateStr)) { + int previousInventory = dailyInventory[dateStr]!; + dailyInventory[dateStr] = previousInventory - bookingQuantity; + debugPrint( + '📉 Day $dateStr: Booking $bookingId reduced inventory from $previousInventory to ${dailyInventory[dateStr]} (by $bookingQuantity)', + ); + } + } + + // Show inventory after changes for the same sample days + debugPrint( + '📊 Inventory status AFTER processing booking $bookingId:', + ); + sampleCount = 0; + for ( + DateTime day = startDateOnly; + !day.isAfter(endDateOnly) && sampleCount < 3; + day = day.add(const Duration(days: 1)), sampleCount++ + ) { + String dateStr = DateFormat('yyyy-MM-dd').format(day); + debugPrint( + ' - AFTER: $dateStr: Available=${dailyInventory[dateStr]}', + ); + } + } + } + + // Final inventory status after processing all bookings + debugPrint('📊 FINAL INVENTORY STATUS SUMMARY:'); + debugPrint('------------------------------------'); + debugPrint('Total asset quantity: $totalQuantity'); + debugPrint('Requested quantity: $requestedQuantity'); + debugPrint('Total bookings processed: ${bookings.length}'); + + // Show detailed inventory for next 10 days + DateTime currentDate = DateTime.now(); + debugPrint('INVENTORY FOR NEXT 10 DAYS:'); + for (int i = 0; i < 10; i++) { + String dateStr = DateFormat('yyyy-MM-dd').format(currentDate); + int available = dailyInventory[dateStr] ?? 0; + bool isAvailable = available >= requestedQuantity; + String availabilityStatus = + isAvailable ? "✅ AVAILABLE" : "❌ UNAVAILABLE"; + + debugPrint( + '${i + 1}. $dateStr: $available/$totalQuantity units available - $availabilityStatus', + ); + currentDate = currentDate.add(const Duration(days: 1)); + } + debugPrint('------------------------------------'); + + // Find days where available quantity is less than requested quantity + for (var entry in dailyInventory.entries) { + if (entry.value < requestedQuantity) { + // Parse the date and add to booked dates + final DateTime bookedDate = DateFormat('yyyy-MM-dd').parse(entry.key); + bookedDates.add(bookedDate); + debugPrint( + '🚫 Disabling date ${entry.key}: available quantity ${entry.value} < requested $requestedQuantity', + ); + } + } + + // Also add past dates (today and before) to booked dates + final today = DateTime.now(); + final todayDate = DateTime(today.year, today.month, today.day); + + for ( + DateTime day = startDateForQuery; + !day.isAfter(todayDate); + day = day.add(const Duration(days: 1)) + ) { + bookedDates.add(day); + debugPrint( + '🕒 Disabling past date: ${DateFormat('yyyy-MM-dd').format(day)}', + ); + } + + // Log a sample of the inventory status + debugPrint('📊 Inventory status sample:'); + int counter = 0; + for (var entry in dailyInventory.entries) { + if (counter++ >= 10) break; // Show only first 10 days + debugPrint( + ' - ${entry.key}: Available=${entry.value}, Required=$requestedQuantity, Available=${entry.value >= requestedQuantity}', + ); + } + + // Debug the total number of disabled dates + debugPrint('📋 Total dates disabled: ${bookedDates.length}'); + if (bookedDates.isNotEmpty) { + debugPrint('📅 Sample disabled dates:'); + for (int i = 0; i < math.min(5, bookedDates.length); i++) { + debugPrint(' - ${DateFormat('yyyy-MM-dd').format(bookedDates[i])}'); + } + } + } catch (e, stackTrace) { + debugPrint('❌ Error loading booked dates: $e'); + debugPrint('🔍 Stack trace: $stackTrace'); + } finally { + isLoadingBookedDates(false); + } + } + + // Update the formatted date range string + void _updateFormattedDateRange() { + if (startDate.value != null && endDate.value != null) { + final startDateStr = DateFormat( + 'dd MMM yyyy', + 'id_ID', + ).format(startDate.value!); + + // If start and end date are the same, show just one date + if (startDate.value!.year == endDate.value!.year && + startDate.value!.month == endDate.value!.month && + startDate.value!.day == endDate.value!.day) { + formattedDateRange.value = '$startDateStr (1 hari)'; + } else { + // Show date range + final endDateStr = DateFormat( + 'dd MMM yyyy', + 'id_ID', + ).format(endDate.value!); + final days = endDate.value!.difference(startDate.value!).inDays + 1; + formattedDateRange.value = '$startDateStr - $endDateStr ($days hari)'; + } + } else { + formattedDateRange.value = ''; + } + } + + // Helper method to check if we're using daily rental + bool isDailyRental() { + return selectedSatuanWaktu.value != null && + (selectedSatuanWaktu.value!['nama_satuan_waktu'] + ?.toString() + .toLowerCase() + .contains('hari') ?? + false); + } + + // Helper method to show error messages + void _showError(String message) { + hasError.value = true; + errorMessage.value = message; + Future.delayed(const Duration(milliseconds: 100), () { + Get.snackbar( + 'Error', + message, + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + ); + }); + } + + // Helper method to show success messages + void _showSuccess(String message) { + Get.snackbar( + 'Sukses', + message, + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.green, + colorText: Colors.white, + ); + } + + // Recalculate hourly inventory based on current quantity + void recalculateHourlyInventory() { + // Only proceed if we're in hourly rental mode + if (isDailyRental()) return; + + // Get current date + final currentDate = DateFormat( + 'dd MMMM yyyy', + 'id_ID', + ).parse(selectedDate.value); + debugPrint( + '🔄 Recalculating hourly inventory for ${DateFormat('yyyy-MM-dd').format(currentDate)}', + ); + + // Reload bookings to recalculate inventory + loadBookingsForDate(currentDate); + } + + // Increase unit quantity + void increaseUnit() { + if (jumlahUnit.value < maxUnit.value) { + // Save previous value to check for changes in availability logic + final int prevValue = jumlahUnit.value; + jumlahUnit.value++; + + // Clear date/time selections when quantity changes + if (isDailyRental()) { + // Clear date selections for daily rental + startDate.value = null; + endDate.value = null; + formattedDateRange.value = ''; + debugPrint('🧹 Cleared date selections due to quantity change'); + } else { + // Clear time selections for hourly rental + startHour.value = -1; + endHour.value = -1; + formattedTimeRange.value = ''; + debugPrint('🧹 Cleared time selections due to quantity change'); + } + + // Reset duration and update total price + duration.value = 0; + calculateTotalPrice(); + + // If we're in daily rental mode, reload booked dates with new quantity + if (isDailyRental()) { + debugPrint( + '🔄 Quantity changed in daily rental mode, reloading availability', + ); + loadBookedDates(); + } else { + // In hourly mode, recalculate hourly inventory + recalculateHourlyInventory(); + } + + // Update the UI since availability may have changed + update(); + } + } + + // Decrease unit quantity + void decreaseUnit() { + if (jumlahUnit.value > 1) { + // Save previous value to check for changes in availability logic + final int prevValue = jumlahUnit.value; + jumlahUnit.value--; + + // Clear date/time selections when quantity changes + if (isDailyRental()) { + // Clear date selections for daily rental + startDate.value = null; + endDate.value = null; + formattedDateRange.value = ''; + debugPrint('🧹 Cleared date selections due to quantity change'); + } else { + // Clear time selections for hourly rental + startHour.value = -1; + endHour.value = -1; + formattedTimeRange.value = ''; + debugPrint('🧹 Cleared time selections due to quantity change'); + } + + // Reset duration and update total price + duration.value = 0; + calculateTotalPrice(); + + // If we're in daily rental mode, reload booked dates with new quantity + if (isDailyRental()) { + debugPrint( + '🔄 Quantity changed in daily rental mode, reloading availability', + ); + loadBookedDates(); + } else { + // In hourly mode, recalculate hourly inventory + recalculateHourlyInventory(); + } + + // Update the UI since availability may have changed + update(); + } + } + + // Update unit from text input + void updateUnitFromInput(String value) { + try { + int newValue = int.parse(value); + + // Ensure value is within allowed range + if (newValue < 1) { + newValue = 1; + } else if (newValue > maxUnit.value) { + newValue = maxUnit.value; + } + + // Check if the value has changed + bool valueChanged = jumlahUnit.value != newValue; + + if (valueChanged) { + jumlahUnit.value = newValue; + + // Clear date/time selections when quantity changes + if (isDailyRental()) { + // Clear date selections for daily rental + startDate.value = null; + endDate.value = null; + formattedDateRange.value = ''; + debugPrint('🧹 Cleared date selections due to quantity change'); + } else { + // Clear time selections for hourly rental + startHour.value = -1; + endHour.value = -1; + formattedTimeRange.value = ''; + debugPrint('🧹 Cleared time selections due to quantity change'); + } + + // Reset duration and update total price + duration.value = 0; + calculateTotalPrice(); + + // If we're in daily rental mode, reload booked dates with new quantity + if (isDailyRental()) { + debugPrint( + '🔄 Quantity changed in daily rental mode, reloading availability', + ); + loadBookedDates(); + } else { + // In hourly mode, load all bookings to recalculate availability + loadAllBookings(); + } + + // Update the UI + update(); + } + } catch (e) { + // If parsing fails, reset to 1 + jumlahUnit.value = 1; + + // Clear date/time selections due to error + if (isDailyRental()) { + // Clear date selections for daily rental + startDate.value = null; + endDate.value = null; + formattedDateRange.value = ''; + } else { + // Clear time selections for hourly rental + startHour.value = -1; + endHour.value = -1; + formattedTimeRange.value = ''; + } + + // Reset duration and calculate total price + duration.value = 0; + calculateTotalPrice(); + + // If we're in daily rental mode, reload booked dates with new quantity + if (isDailyRental()) { + debugPrint( + '🔄 Quantity reset to 1 in daily rental mode, reloading availability', + ); + loadBookedDates(); + } else { + // In hourly mode, load all bookings to recalculate availability + loadAllBookings(); + } + + update(); + } + } + + // Reset time selection + void resetTimeSelection() { + startHour.value = -1; + endHour.value = -1; + formattedTimeRange.value = ''; + duration.value = 0; + calculateTotalPrice(); + } + + // Pesan sekarang + Future pesanSekarang() async { + if (!_validateBookingInputs()) { + return; + } + + final userId = authProvider.getCurrentUserId(); + + // Generate a unique UUID for the order + final uuid = Uuid(); + final String orderId = uuid.v4(); + debugPrint('🆔 Generated order ID: $orderId'); + + try { + isLoading.value = true; + + Map sewaAsetData; + Map bookedDetailData; + Map tagihanSewaData; + + if (isDailyRental()) { + // Create daily rental order + final String formattedStartDate = DateFormat( + 'yyyy-MM-dd', + ).format(startDate.value!); + final String formattedEndDate = DateFormat( + 'yyyy-MM-dd', + ).format(endDate.value!); + + // Create ISO timestamp strings for waktu_mulai and waktu_selesai with default times + // Default time for start is 06:00:00 + final String waktuMulai = '${formattedStartDate}T06:00:00'; + // Default time for end is 21:00:00 + final String waktuSelesai = '${formattedEndDate}T21:00:00'; + + debugPrint( + '📅 Creating daily booking from $waktuMulai to $waktuSelesai', + ); + + // Daily rental price from selected satuan waktu + final int dailyPrice = selectedSatuanWaktu.value?['harga'] ?? 0; + // Calculate days duration + final int daysDuration = + endDate.value!.difference(startDate.value!).inDays + 1; + + // Prepare sewa_aset data + sewaAsetData = { + 'id': orderId, // Set UUID as the ID + 'user_id': userId, + 'aset_id': aset.value!.id, + 'waktu_mulai': waktuMulai, + 'waktu_selesai': waktuSelesai, + 'kuantitas': jumlahUnit.value, + 'status': 'MENUNGGU PEMBAYARAN', + 'tipe_pesanan': 'tunggal', + 'total': totalPrice.value, + 'nama_satuan_waktu': + 'hari', // Set satuan waktu to "hari" for daily rentals + }; + + // Prepare booked_detail data + bookedDetailData = { + 'id': uuid.v4(), // Generate a new UUID for booked_detail + 'aset_id': aset.value!.id, + 'sewa_aset_id': orderId, + 'waktu_mulai': waktuMulai, + 'waktu_selesai': waktuSelesai, + 'kuantitas': jumlahUnit.value, + }; + + // Prepare tagihan_sewa data + tagihanSewaData = { + 'sewa_aset_id': orderId, + 'durasi': daysDuration, + 'satuan_waktu': 'hari', + 'harga_sewa': dailyPrice, + 'tagihan_awal': totalPrice.value, + }; + } else { + // Format date for booking + final DateTime bookingDate = DateFormat( + 'dd MMMM yyyy', + 'id_ID', + ).parse(selectedDate.value); + + // Format start and end times using ISO format + final String formattedDate = DateFormat( + 'yyyy-MM-dd', + ).format(bookingDate); + final String startTime = formatHour(startHour.value); + final String endTime = formatHour(endHour.value); + + // Create ISO timestamp strings for waktu_mulai and waktu_selesai + final String waktuMulai = '${formattedDate}T$startTime:00'; + final String waktuSelesai = '${formattedDate}T$endTime:00'; + + debugPrint( + '📅 Creating hourly booking from $waktuMulai to $waktuSelesai', + ); + debugPrint('🔢 Unit quantity: ${jumlahUnit.value}'); + + // Hourly price from selected satuan waktu + final int hourlyPrice = selectedSatuanWaktu.value?['harga'] ?? 0; + + // Prepare sewa_aset data + sewaAsetData = { + 'id': orderId, // Set UUID as the ID + 'user_id': userId, + 'aset_id': aset.value!.id, + 'kuantitas': jumlahUnit.value, + 'status': 'MENUNGGU PEMBAYARAN', + 'waktu_mulai': waktuMulai, + 'waktu_selesai': waktuSelesai, + 'tipe_pesanan': 'tunggal', + 'total': totalPrice.value, + 'nama_satuan_waktu': 'jam', // Set satuan waktu to "jam" + }; + + // Prepare booked_detail data + bookedDetailData = { + 'id': uuid.v4(), // Generate a new UUID for booked_detail + 'aset_id': aset.value!.id, + 'sewa_aset_id': orderId, + 'waktu_mulai': waktuMulai, + 'waktu_selesai': waktuSelesai, + 'kuantitas': jumlahUnit.value, + }; + + // Prepare tagihan_sewa data + tagihanSewaData = { + 'sewa_aset_id': orderId, + 'durasi': duration.value, + 'satuan_waktu': 'jam', + 'harga_sewa': hourlyPrice, + 'tagihan_awal': totalPrice.value, + }; + } + + // Call the API to create the complete order + final success = await asetProvider.createCompleteOrder( + sewaAsetData: sewaAsetData, + bookedDetailData: bookedDetailData, + tagihanSewaData: tagihanSewaData, + ); + + if (success) { + debugPrint('✅ Complete order created successfully with ID: $orderId'); + + // Navigate to payment page + Get.toNamed(Routes.PEMBAYARAN_SEWA, arguments: {'orderId': orderId}); + } else { + // Show error message + Get.snackbar( + 'Error', + 'Gagal membuat pesanan', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + ); + } + } catch (e) { + debugPrint('❌ Error creating order: $e'); + Get.snackbar( + 'Error', + 'Terjadi kesalahan: $e', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + ); + } finally { + isLoading.value = false; + } + } + + // Validate booking inputs + bool _validateBookingInputs() { + if (selectedSatuanWaktu.value == null || aset.value == null) { + _showError('Harap pilih satuan waktu terlebih dahulu'); + return false; + } + + // Check if we're using hourly or daily rental + if (isDailyRental()) { + if (startDate.value == null || endDate.value == null) { + _showError('Harap pilih tanggal terlebih dahulu'); + return false; + } + } else { + if (startHour.value == -1 || duration.value <= 0) { + _showError('Harap pilih waktu terlebih dahulu'); + return false; + } + } + + if (jumlahUnit.value <= 0) { + _showError('Jumlah unit tidak valid'); + return false; + } + + if (jumlahUnit.value > maxUnit.value) { + _showError( + 'Jumlah unit melebihi ketersediaan (maksimal ${maxUnit.value})', + ); + return false; + } + + // Check if user is logged in + final userId = authProvider.getCurrentUserId(); + if (userId == null) { + _showError('Anda belum login. Silakan login terlebih dahulu.'); + return false; + } + + return true; + } + + // Load all bookings for the next 30 days to determine available dates + Future loadAllBookings() async { + try { + debugPrint( + '🔄 Loading all bookings for asset ${aset.value!.id} for the next 30 days', + ); + + // Clear current inventory data + hourlyInventory.clear(); + unavailableDatesForHourly.clear(); + + // Date range to check (today + 30 days) + final DateTime today = DateTime.now(); + final DateTime endDate = today.add(const Duration(days: 30)); + + // Format dates for API + final String formattedStartDate = DateFormat('yyyy-MM-dd').format(today); + final String formattedEndDate = DateFormat('yyyy-MM-dd').format(endDate); + + debugPrint( + '📅 Fetching bookings from $formattedStartDate to $formattedEndDate', + ); + + // Get all bookings for this asset in the date range + final List> bookings = await asetProvider + .getAsetDailyBookings( + aset.value!.id, + formattedStartDate, + formattedEndDate, + ); + + debugPrint('📊 Found ${bookings.length} bookings for asset'); + + // Initialize inventory for each day in the 30-day period + final int totalAssetQuantity = aset.value?.kuantitas ?? 0; + Map> fullInventory = {}; + + // Initialize inventory for next 30 days, each with hours 0-23 + for (int day = 0; day < 30; day++) { + final DateTime currentDate = today.add(Duration(days: day)); + final String currentDateStr = DateFormat( + 'yyyy-MM-dd', + ).format(currentDate); + + // Initialize inventory for each hour of this day with full quantity + Map dayInventory = {}; + for (int hour = 0; hour < 24; hour++) { + dayInventory[hour] = totalAssetQuantity; + } + + fullInventory[currentDateStr] = dayInventory; + } + + debugPrint('📊 INVENTORY - INITIAL STATE:'); + debugPrint('------------------------------------'); + debugPrint('Total asset quantity: $totalAssetQuantity'); + debugPrint('Days initialized: ${fullInventory.length}'); + debugPrint('------------------------------------'); + + // Process all bookings chronologically to determine inventory + if (bookings.isNotEmpty) { + // Sort bookings by start time to process them chronologically + bookings.sort((a, b) { + final String startA = a['waktu_mulai'] ?? ''; + final String startB = b['waktu_mulai'] ?? ''; + return startA.compareTo(startB); + }); + + debugPrint( + '🔢 Processing ${bookings.length} bookings to calculate inventory:', + ); + + // Process each booking and adjust inventory + for (var booking in bookings) { + final String bookingId = booking['id'] ?? ''; + final String status = booking['status'] ?? ''; + final int bookingQuantity = booking['kuantitas'] ?? 1; + + // Skip rejected bookings + if (status == 'ditolak') { + debugPrint('⏩ Skipping rejected booking: $bookingId'); + continue; + } + + // Get start and end date-times + final String waktuMulaiStr = booking['waktu_mulai'] ?? ''; + final String waktuSelesaiStr = booking['waktu_selesai'] ?? ''; + + if (waktuMulaiStr.isEmpty || waktuSelesaiStr.isEmpty) { + debugPrint( + '⚠️ Booking ID $bookingId has invalid timestamps, skipping', + ); + continue; + } + + try { + final DateTime waktuMulai = DateTime.parse(waktuMulaiStr); + final DateTime waktuSelesai = DateTime.parse(waktuSelesaiStr); + + debugPrint('🔎 Processing booking ID: $bookingId'); + debugPrint( + ' - Period: ${DateFormat('yyyy-MM-dd HH:mm').format(waktuMulai)} to ${DateFormat('yyyy-MM-dd HH:mm').format(waktuSelesai)}', + ); + debugPrint(' - Status: $status, Quantity: $bookingQuantity'); + + // Calculate all date-hour combinations in the booking range + final List allDateHours = []; + + // Add all hours from start to end + DateTime currentHour = DateTime( + waktuMulai.year, + waktuMulai.month, + waktuMulai.day, + waktuMulai.hour, + ); + + while (!currentHour.isAfter(waktuSelesai)) { + allDateHours.add(currentHour); + currentHour = currentHour.add(const Duration(hours: 1)); + } + + // Process each hour in the booking range to reduce inventory + for (DateTime dateHour in allDateHours) { + final String dateStr = DateFormat('yyyy-MM-dd').format(dateHour); + final int hour = dateHour.hour; + + // Skip if outside our initialized inventory range + if (!fullInventory.containsKey(dateStr)) { + continue; + } + + // Reduce inventory for this hour + if (fullInventory[dateStr]!.containsKey(hour)) { + final int previousQty = fullInventory[dateStr]![hour]!; + fullInventory[dateStr]![hour] = math.max( + 0, + previousQty - bookingQuantity, + ); + + debugPrint( + '📉 $dateStr Hour $hour: DECREASED inventory from $previousQty to ${fullInventory[dateStr]![hour]} (by $bookingQuantity)', + ); + } + } + + // Handle inventory restoration one hour after booking ends + final DateTime inventoryRestorationTime = waktuSelesai.add( + const Duration(hours: 1), + ); + final String restorationDateStr = DateFormat( + 'yyyy-MM-dd', + ).format(inventoryRestorationTime); + final int restorationHour = inventoryRestorationTime.hour; + + // Verify this restoration point is in our initialized inventory + if (fullInventory.containsKey(restorationDateStr) && + fullInventory[restorationDateStr]!.containsKey( + restorationHour, + )) { + // Don't increase above the total asset quantity + final int currentInventory = + fullInventory[restorationDateStr]![restorationHour]!; + final int newInventory = math.min( + currentInventory + bookingQuantity, + totalAssetQuantity, + ); + + fullInventory[restorationDateStr]![restorationHour] = + newInventory; + + debugPrint( + '📈 $restorationDateStr Hour $restorationHour: INCREASED inventory from $currentInventory to $newInventory (by $bookingQuantity)', + ); + } + } catch (e) { + debugPrint('❌ Error processing booking $bookingId: $e'); + } + } + } + + // Store the inventory in our controller + hourlyInventory.clear(); + hourlyInventory.addAll(fullInventory); + + // Now determine which dates are fully booked (no available hours during business hours) + _identifyUnavailableDates(); + + debugPrint( + '✅ Completed loading all bookings and calculating availability', + ); + debugPrint( + '🗓️ Total unavailable dates identified: ${unavailableDatesForHourly.length}', + ); + } catch (e) { + debugPrint('❌ Error loading all bookings: $e'); + } finally { + isLoadingBookings(false); + } + } + + // Identify dates that have no available hours for the current requested quantity + void _identifyUnavailableDates() { + final int requestedQuantity = jumlahUnit.value; + debugPrint( + '🔍 Identifying unavailable dates for quantity: $requestedQuantity', + ); + + // Clear previous unavailable dates + unavailableDatesForHourly.clear(); + + // Business hours (typically 6-21) + List businessHours = List.generate(16, (index) => index + 6); + + // Check each day in our inventory + for (String dateStr in hourlyInventory.keys) { + final Map dayInventory = hourlyInventory[dateStr]!; + + // Check if any business hour is available for this date + bool anyHourAvailable = false; + for (int hour in businessHours) { + if (dayInventory.containsKey(hour)) { + final int availableQty = dayInventory[hour]!; + if (availableQty >= requestedQuantity) { + anyHourAvailable = true; + break; + } + } + } + + // If no business hours are available, mark this date as unavailable + if (!anyHourAvailable) { + final DateTime unavailableDate = DateFormat( + 'yyyy-MM-dd', + ).parse(dateStr); + unavailableDatesForHourly.add(unavailableDate); + debugPrint( + '🚫 Date $dateStr marked as UNAVAILABLE (no available hours)', + ); + } + } + + // Also mark past dates as unavailable (but not today) + final DateTime today = DateTime.now(); + final DateTime todayDate = DateTime(today.year, today.month, today.day); + + // Add only past dates (before today) + for ( + DateTime date = DateTime(today.year, today.month, 1); + date.isBefore(todayDate); + date = date.add(const Duration(days: 1)) + ) { + if (!unavailableDatesForHourly.any((d) => _isSameDay(d, date))) { + unavailableDatesForHourly.add(date); + debugPrint( + '🕒 Past date (${DateFormat('yyyy-MM-dd').format(date)}) marked as unavailable', + ); + } + } + } + + // Helper method to check if two dates represent the same day + bool _isSameDay(DateTime date1, DateTime date2) { + return date1.year == date2.year && + date1.month == date2.month && + date1.day == date2.day; + } +} diff --git a/lib/app/modules/warga/controllers/order_sewa_paket_controller.dart b/lib/app/modules/warga/controllers/order_sewa_paket_controller.dart new file mode 100644 index 0000000..94efaa2 --- /dev/null +++ b/lib/app/modules/warga/controllers/order_sewa_paket_controller.dart @@ -0,0 +1,443 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import 'package:get_storage/get_storage.dart'; +import 'package:intl/intl.dart'; +import 'package:flutter_logs/flutter_logs.dart'; +import '../../../data/models/paket_model.dart'; +import '../../../data/providers/aset_provider.dart'; +import '../../../data/providers/sewa_provider.dart'; +import '../../../services/service_manager.dart'; +import '../../../services/navigation_service.dart'; + +class OrderSewaPaketController extends GetxController { + // Dependencies + final AsetProvider asetProvider = Get.find(); + final SewaProvider sewaProvider = Get.find(); + final NavigationService navigationService = ServiceManager().navigationService; + + // State variables + final paket = Rx(null); + final paketImages = RxList([]); + final isLoading = RxBool(true); + final isPhotosLoading = RxBool(true); + final selectedSatuanWaktu = Rx?>(null); + final selectedDate = RxString(''); + final selectedStartDate = Rx(null); + final selectedEndDate = Rx(null); + final selectedStartTime = RxInt(-1); + final selectedEndTime = RxInt(-1); + final formattedDateRange = RxString(''); + final formattedTimeRange = RxString(''); + final totalPrice = RxDouble(0.0); + final kuantitas = RxInt(1); + final isSubmitting = RxBool(false); + + // Format currency + final currencyFormat = NumberFormat.currency( + locale: 'id', + symbol: 'Rp', + decimalDigits: 0, + ); + + @override + void onInit() { + super.onInit(); + FlutterLogs.logInfo("OrderSewaPaketController", "onInit", "Initializing OrderSewaPaketController"); + + // Get the paket ID from arguments + final Map args = Get.arguments ?? {}; + final String? paketId = args['id']; + + if (paketId != null) { + loadPaketData(paketId); + } else { + debugPrint('❌ No paket ID provided in arguments'); + isLoading.value = false; + } + } + + // Handle hot reload - restore state if needed + void handleHotReload() { + if (paket.value == null) { + final Map args = Get.arguments ?? {}; + final String? paketId = args['id']; + + if (paketId != null) { + // Try to get from cache first + final cachedPaket = GetStorage().read('cached_paket_$paketId'); + if (cachedPaket != null) { + debugPrint('🔄 Hot reload: Restoring paket from cache'); + paket.value = cachedPaket; + loadPaketPhotos(paketId); + initializePriceOptions(); + } else { + loadPaketData(paketId); + } + } + } + } + + // Load paket data from API + Future loadPaketData(String id) async { + try { + isLoading.value = true; + debugPrint('🔍 Loading paket data for ID: $id'); + + // First check if we have it in cache + final cachedPaket = GetStorage().read('cached_paket_$id'); + if (cachedPaket != null) { + debugPrint('✅ Found cached paket data'); + paket.value = cachedPaket; + await loadPaketPhotos(id); + initializePriceOptions(); + } else { + // Get all pakets and filter for the one we need + final List allPakets = await asetProvider.getPakets(); + final rawPaket = allPakets.firstWhere( + (paket) => paket['id'] == id, + orElse: () => null, + ); + + // Declare loadedPaket outside the if block for wider scope + PaketModel? loadedPaket; + + if (rawPaket != null) { + // Convert to PaketModel + try { + // Handle Map directly - pakets from getPakets() are always maps + loadedPaket = PaketModel.fromMap(rawPaket); + debugPrint('✅ Successfully converted paket to PaketModel'); + } catch (e) { + debugPrint('❌ Error converting paket map to PaketModel: $e'); + // Fallback using our helper methods + loadedPaket = PaketModel( + id: getPaketId(rawPaket), + nama: getPaketNama(rawPaket), + deskripsi: getPaketDeskripsi(rawPaket), + harga: getPaketHarga(rawPaket), + kuantitas: getPaketKuantitas(rawPaket), + foto_paket: getPaketMainPhoto(rawPaket), + satuanWaktuSewa: getPaketSatuanWaktuSewa(rawPaket), + ); + debugPrint('✅ Created PaketModel using helper methods'); + } + + // Update the state with the loaded paket + if (loadedPaket != null) { + debugPrint('✅ Loaded paket: ${loadedPaket.nama}'); + paket.value = loadedPaket; + + // Cache for future use + GetStorage().write('cached_paket_$id', loadedPaket); + + // Load photos for this paket + await loadPaketPhotos(id); + + // Set initial pricing option + initializePriceOptions(); + + // Ensure we have at least one photo if available + if (paketImages.isEmpty) { + String? mainPhoto = getPaketMainPhoto(paket.value); + if (mainPhoto != null && mainPhoto.isNotEmpty) { + paketImages.add(mainPhoto); + debugPrint('✅ Added main paket photo: $mainPhoto'); + } + } + } + } else { + debugPrint('❌ No paket found with id: $id'); + } + } + + // Calculate the total price if we have a paket loaded + if (paket.value != null) { + calculateTotalPrice(); + debugPrint('💰 Total price calculated: ${totalPrice.value}'); + } + } catch (e) { + debugPrint('❌ Error loading paket data: $e'); + } finally { + isLoading.value = false; + } + } + + // Helper methods to safely access paket properties + String? getPaketId(dynamic paket) { + if (paket == null) return null; + try { + return paket.id ?? paket['id']; + } catch (_) { + return null; + } + } + + String? getPaketNama(dynamic paket) { + if (paket == null) return null; + try { + return paket.nama ?? paket['nama']; + } catch (_) { + return null; + } + } + + String? getPaketDeskripsi(dynamic paket) { + if (paket == null) return null; + try { + return paket.deskripsi ?? paket['deskripsi']; + } catch (_) { + return null; + } + } + + double getPaketHarga(dynamic paket) { + if (paket == null) return 0.0; + try { + var harga = paket.harga ?? paket['harga'] ?? 0; + return double.tryParse(harga.toString()) ?? 0.0; + } catch (_) { + return 0.0; + } + } + + int getPaketKuantitas(dynamic paket) { + if (paket == null) return 1; + try { + var qty = paket.kuantitas ?? paket['kuantitas'] ?? 1; + return int.tryParse(qty.toString()) ?? 1; + } catch (_) { + return 1; + } + } + + String? getPaketMainPhoto(dynamic paket) { + if (paket == null) return null; + try { + return paket.foto_paket ?? paket['foto_paket']; + } catch (_) { + return null; + } + } + + List getPaketSatuanWaktuSewa(dynamic paket) { + if (paket == null) return []; + try { + return paket.satuanWaktuSewa ?? paket['satuanWaktuSewa'] ?? []; + } catch (_) { + return []; + } + } + + // Load photos for the paket + Future loadPaketPhotos(String paketId) async { + try { + isPhotosLoading.value = true; + final photos = await asetProvider.getFotoPaket(paketId); + if (photos != null && photos.isNotEmpty) { + paketImages.clear(); + for (var photo in photos) { + try { + if (photo.fotoPaket != null && photo.fotoPaket.isNotEmpty) { + paketImages.add(photo.fotoPaket); + } else if (photo.fotoAset != null && photo.fotoAset.isNotEmpty) { + paketImages.add(photo.fotoAset); + } + } catch (e) { + var fotoUrl = photo['foto_paket'] ?? photo['foto_aset']; + if (fotoUrl != null && fotoUrl.isNotEmpty) { + paketImages.add(fotoUrl); + } + } + } + } + } finally { + isPhotosLoading.value = false; + } + } + + // Initialize price options + void initializePriceOptions() { + if (paket.value == null) return; + + final satuanWaktuSewa = getPaketSatuanWaktuSewa(paket.value); + if (satuanWaktuSewa.isNotEmpty) { + // Default to the first option + selectSatuanWaktu(satuanWaktuSewa.first); + } + } + + // Select satuan waktu + void selectSatuanWaktu(Map satuanWaktu) { + selectedSatuanWaktu.value = satuanWaktu; + + // Reset date and time selections + selectedStartDate.value = null; + selectedEndDate.value = null; + selectedStartTime.value = -1; + selectedEndTime.value = -1; + selectedDate.value = ''; + formattedDateRange.value = ''; + formattedTimeRange.value = ''; + + calculateTotalPrice(); + } + + // Check if the rental is daily + bool isDailyRental() { + final namaSatuan = selectedSatuanWaktu.value?['nama_satuan_waktu'] ?? ''; + return namaSatuan.toString().toLowerCase().contains('hari'); + } + + // Select date range for daily rental + void selectDateRange(DateTime start, DateTime end) { + selectedStartDate.value = start; + selectedEndDate.value = end; + + // Format the date range + final formatter = DateFormat('d MMM yyyy', 'id'); + if (start.year == end.year && start.month == end.month && start.day == end.day) { + formattedDateRange.value = formatter.format(start); + } else { + formattedDateRange.value = '${formatter.format(start)} - ${formatter.format(end)}'; + } + + selectedDate.value = formatter.format(start); + calculateTotalPrice(); + } + + // Select date for hourly rental + void selectDate(DateTime date) { + selectedStartDate.value = date; + selectedDate.value = DateFormat('d MMM yyyy', 'id').format(date); + calculateTotalPrice(); + } + + // Select time range for hourly rental + void selectTimeRange(int start, int end) { + selectedStartTime.value = start; + selectedEndTime.value = end; + + // Format the time range + final startTime = '$start:00'; + final endTime = '$end:00'; + formattedTimeRange.value = '$startTime - $endTime'; + + calculateTotalPrice(); + } + + // Calculate total price + void calculateTotalPrice() { + if (selectedSatuanWaktu.value == null) { + totalPrice.value = 0.0; + return; + } + + final basePrice = double.tryParse(selectedSatuanWaktu.value!['harga'].toString()) ?? 0.0; + + if (isDailyRental()) { + if (selectedStartDate.value != null && selectedEndDate.value != null) { + final days = selectedEndDate.value!.difference(selectedStartDate.value!).inDays + 1; + totalPrice.value = basePrice * days; + } else { + totalPrice.value = basePrice; + } + } else { + if (selectedStartTime.value >= 0 && selectedEndTime.value >= 0) { + final hours = selectedEndTime.value - selectedStartTime.value; + totalPrice.value = basePrice * hours; + } else { + totalPrice.value = basePrice; + } + } + + // Multiply by quantity + totalPrice.value *= kuantitas.value; + } + + // Format price as currency + String formatPrice(double price) { + return currencyFormat.format(price); + } + + // Submit order + Future submitOrder() async { + try { + if (paket.value == null || selectedSatuanWaktu.value == null) { + Get.snackbar( + 'Error', + 'Data paket tidak lengkap', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + ); + return; + } + + if ((isDailyRental() && (selectedStartDate.value == null || selectedEndDate.value == null)) || + (!isDailyRental() && (selectedStartDate.value == null || selectedStartTime.value < 0 || selectedEndTime.value < 0))) { + Get.snackbar( + 'Error', + 'Silakan pilih waktu sewa', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + ); + return; + } + + isSubmitting.value = true; + + // Prepare order data + final Map orderData = { + 'id_paket': paket.value!.id, + 'id_satuan_waktu_sewa': selectedSatuanWaktu.value!['id'], + 'tanggal_mulai': selectedStartDate.value!.toIso8601String(), + 'tanggal_selesai': selectedEndDate.value?.toIso8601String() ?? selectedStartDate.value!.toIso8601String(), + 'jam_mulai': isDailyRental() ? null : selectedStartTime.value, + 'jam_selesai': isDailyRental() ? null : selectedEndTime.value, + 'total_harga': totalPrice.value, + 'kuantitas': kuantitas.value, + }; + + // Submit the order + final result = await sewaProvider.createPaketOrder(orderData); + + if (result != null) { + Get.snackbar( + 'Sukses', + 'Pesanan berhasil dibuat', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.green, + colorText: Colors.white, + ); + + // Navigate to payment page + navigationService.navigateToPembayaranSewa(result['id']); + } else { + Get.snackbar( + 'Error', + 'Gagal membuat pesanan', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + ); + } + } catch (e) { + debugPrint('❌ Error submitting order: $e'); + Get.snackbar( + 'Error', + 'Terjadi kesalahan: $e', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + ); + } finally { + isSubmitting.value = false; + } + } + + // Handle back button press + void onBackPressed() { + navigationService.navigateToSewaAset(); + } +} diff --git a/lib/app/modules/warga/controllers/pembayaran_sewa_controller.bak b/lib/app/modules/warga/controllers/pembayaran_sewa_controller.bak new file mode 100644 index 0000000..48831d8 --- /dev/null +++ b/lib/app/modules/warga/controllers/pembayaran_sewa_controller.bak @@ -0,0 +1,1115 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/foundation.dart' show kIsWeb; +import 'package:get/get.dart'; +import 'dart:io'; +import 'dart:async'; +import 'dart:typed_data'; +import 'dart:convert'; +import 'package:image_picker/image_picker.dart'; +import 'package:supabase_flutter/supabase_flutter.dart'; +import '../../../services/navigation_service.dart'; +import '../../../routes/app_routes.dart'; +import '../../../data/providers/aset_provider.dart'; + +class PembayaranSewaController extends GetxController + with GetSingleTickerProviderStateMixin { + // Dependencies + final NavigationService navigationService = Get.find(); + final AsetProvider asetProvider = Get.find(); + + // Direct access to Supabase client for storage operations + final SupabaseClient client = Supabase.instance.client; + + // Tab controller + late TabController tabController; + + // Order details + final orderId = ''.obs; + final orderDetails = Rx>({}); + + // Sewa Aset details with related aset info + final sewaAsetDetails = Rx>({}); + + // Tagihan Sewa details + final tagihanSewa = Rx>({}); + + // Payment details + final paymentMethod = ''.obs; + final selectedPaymentType = ''.obs; + final isLoading = false.obs; + final currentStep = 0.obs; + + // Payment proof images - now a list to support multiple images + final RxList paymentProofImages = [].obs; + + // Get image widget for a specific image in the list + Widget getImageWidget(File imageFile) { + // Check if running on web + if (kIsWeb) { + // For web, we need to use Image.network with the path + return Image.network( + imageFile.path, + height: 120, + width: 120, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + height: 120, + width: 120, + color: Colors.grey[300], + child: const Center(child: Text('Error')), + ); + }, + ); + } else { + // For mobile, we can use Image.file + return Image.file( + imageFile, + height: 120, + width: 120, + fit: BoxFit.cover, + ); + } + } + + // Remove an image from the list + void removeImage(int index) { + if (index >= 0 && index < paymentProofImages.length) { + paymentProofImages.removeAt(index); + update(); + } + } + final isUploading = false.obs; + final uploadProgress = 0.0.obs; + + // Timer countdown + final remainingTime = ''.obs; + Timer? _countdownTimer; + final int paymentTimeLimit = 3600; // 1 hour in seconds + final timeRemaining = 0.obs; + + // Bank accounts for transfer + final bankAccounts = RxList>([]); + + @override + void onInit() { + super.onInit(); + tabController = TabController(length: 3, vsync: this); + + // Get order ID and rental data from arguments + if (Get.arguments != null) { + if (Get.arguments['orderId'] != null) { + orderId.value = Get.arguments['orderId']; + + // If rental data is passed, use it directly + if (Get.arguments['rentalData'] != null) { + Map rentalData = Get.arguments['rentalData']; + debugPrint('Received rental data: $rentalData'); + + // Pre-populate order details with rental data + orderDetails.value = { + 'id': rentalData['id'] ?? '', + 'item_name': rentalData['name'] ?? 'Aset', + 'quantity': rentalData['jumlahUnit'] ?? 0, + 'rental_period': rentalData['waktuSewa'] ?? '', + 'duration': rentalData['duration'] ?? '', + 'price_per_unit': 0, // This might not be available in rental data + 'total_price': rentalData['totalPrice'] != null ? + int.tryParse(rentalData['totalPrice'].toString().replaceAll(RegExp(r'[^0-9]'), '')) ?? 0 : 0, + 'status': rentalData['status'] ?? 'MENUNGGU PEMBAYARAN', + 'created_at': DateTime.now().toString(), + 'denda': 0, // Default value + 'keterangan': '', // Default value + 'image_url': rentalData['imageUrl'], + 'waktu_mulai': rentalData['waktuMulai'], + 'waktu_selesai': rentalData['waktuSelesai'], + 'rentang_waktu': rentalData['rentangWaktu'], + }; + + // Still load additional details from the database + checkSewaAsetTableStructure(); + loadTagihanSewaDetails(); + loadSewaAsetDetails(); + loadBankAccounts(); // Load bank accounts data + } else { + // If no rental data is passed, load everything from the database + checkSewaAsetTableStructure(); + loadOrderDetails(); + loadTagihanSewaDetails(); + loadSewaAsetDetails(); + loadBankAccounts(); // Load bank accounts data + } + } + } + } + + @override + void onClose() { + _countdownTimer?.cancel(); + tabController.dispose(); + super.onClose(); + } + + // Load order details + void loadOrderDetails() { + isLoading.value = true; + + // Simulating API call + Future.delayed(Duration(seconds: 1), () { + // Mock data + orderDetails.value = { + 'id': orderId.value, + 'item_name': 'Sewa Kursi Taman', + 'quantity': 5, + 'rental_period': '24 April 2023, 10:00 - 12:00', + 'duration': '2 jam', + 'price_per_unit': 10000, + 'total_price': 50000, + 'status': 'MENUNGGU PEMBAYARAN', + 'created_at': + DateTime.now().toString(), // Use this for countdown calculation + 'denda': 20000, // Dummy data for denda + 'keterangan': + 'Terjadi kerusakan pada bagian kaki', // Dummy keterangan for denda + }; + + // Update the current step based on the status + updateCurrentStepBasedOnStatus(); + + isLoading.value = false; + startCountdownTimer(); + }); + } + + // Load sewa_aset details with aset data + void loadSewaAsetDetails() { + isLoading.value = true; + + debugPrint( + '🔍 Starting to load sewa_aset details for orderId: ${orderId.value}', + ); + + asetProvider + .getSewaAsetWithAsetData(orderId.value) + .then((data) { + if (data != null) { + // Use actual data without adding dummy values + sewaAsetDetails.value = data; + debugPrint( + '✅ Sewa aset details loaded: ${sewaAsetDetails.value['id']}', + ); + + // Debug all fields in the sewaAsetDetails + debugPrint('📋 SEWA ASET DETAILS (COMPLETE DATA):'); + data.forEach((key, value) { + debugPrint(' $key: $value'); + }); + + // Specifically debug waktu_mulai and waktu_selesai + debugPrint('⏰ WAKTU DETAILS:'); + debugPrint(' waktu_mulai: ${data['waktu_mulai']}'); + debugPrint(' waktu_selesai: ${data['waktu_selesai']}'); + debugPrint(' denda: ${data['denda']}'); + debugPrint(' keterangan: ${data['keterangan']}'); + + // If aset_detail exists, debug it too + if (data['aset_detail'] != null) { + debugPrint('🏢 ASET DETAILS:'); + (data['aset_detail'] as Map).forEach(( + key, + value, + ) { + debugPrint(' $key: $value'); + }); + } + + // Update order details based on sewa_aset data + orderDetails.update((val) { + if (data['aset_detail'] != null) { + val?['item_name'] = data['aset_detail']['nama'] ?? 'Aset Sewa'; + } + val?['quantity'] = data['kuantitas'] ?? 1; + val?['denda'] = + data['denda'] ?? + 0; // Use data from API or default to 0 + val?['keterangan'] = + data['keterangan'] ?? + ''; // Use data from API or default to empty string + + // Update status if it exists in the data + if (data['status'] != null && data['status'].toString().isNotEmpty) { + val?['status'] = data['status']; + debugPrint('📊 Order status from sewa_aset: ${data['status']}'); + } + + // Format rental period + if (data['waktu_mulai'] != null && + data['waktu_selesai'] != null) { + try { + final startTime = DateTime.parse(data['waktu_mulai']); + final endTime = DateTime.parse(data['waktu_selesai']); + val?['rental_period'] = + '${startTime.day}/${startTime.month}/${startTime.year}, ${startTime.hour}:${startTime.minute.toString().padLeft(2, '0')} - ${endTime.hour}:${endTime.minute.toString().padLeft(2, '0')}'; + debugPrint( + '✅ Successfully formatted rental period: ${val?['rental_period']}', + ); + } catch (e) { + debugPrint('❌ Error parsing date: $e'); + } + } else { + debugPrint( + '⚠️ Missing waktu_mulai or waktu_selesai for formatting rental period', + ); + } + }); + + // Update the current step based on the status + updateCurrentStepBasedOnStatus(); + } else { + debugPrint( + '⚠️ No sewa_aset details found for order: ${orderId.value}', + ); + + // Add dummy data when no real data is available + sewaAsetDetails.value = { + 'id': orderId.value, + 'denda': 20000, + 'keterangan': 'Terjadi kerusakan pada bagian kaki', + }; + } + isLoading.value = false; + }) + .catchError((error) { + debugPrint('❌ Error loading sewa_aset details: $error'); + + // Add dummy data in case of error + sewaAsetDetails.value = { + 'id': orderId.value, + 'denda': 20000, + 'keterangan': 'Terjadi kerusakan pada bagian kaki', + }; + + isLoading.value = false; + }); + } + + // Load tagihan sewa details + Future loadTagihanSewaDetails() async { + isLoading.value = true; + + // Use the AsetProvider to fetch the tagihan_sewa data + asetProvider + .getTagihanSewa(orderId.value) + .then((data) { + if (data != null) { + tagihanSewa.value = data; + debugPrint('✅ Tagihan sewa loaded: ${tagihanSewa.value['id']}'); + + // Debug the tagihan_sewa data + debugPrint('📋 TAGIHAN SEWA DETAILS:'); + data.forEach((key, value) { + debugPrint(' $key: $value'); + }); + + // Specifically debug denda, keterangan, and foto_kerusakan + debugPrint('💰 DENDA DETAILS:'); + debugPrint(' denda: ${data['denda']}'); + debugPrint(' keterangan: ${data['keterangan']}'); + debugPrint(' foto_kerusakan: ${data['foto_kerusakan']}'); + } else { + debugPrint('⚠️ No tagihan sewa found for order: ${orderId.value}'); + // Initialize with empty data instead of mock data + tagihanSewa.value = { + 'id': '', + 'sewa_aset_id': orderId.value, + 'denda': 0, + 'keterangan': '', + 'foto_kerusakan': '', + }; + } + isLoading.value = false; + }) + .catchError((error) { + debugPrint('❌ Error loading tagihan sewa: $error'); + // Initialize with empty data instead of mock data + tagihanSewa.value = { + 'id': '', + 'sewa_aset_id': orderId.value, + 'denda': 0, + 'keterangan': '', + 'foto_kerusakan': '', + }; + isLoading.value = false; + }); + } + + // Start countdown timer (1 hour) + void startCountdownTimer() { + timeRemaining.value = paymentTimeLimit; + + _countdownTimer = Timer.periodic(Duration(seconds: 1), (timer) { + if (timeRemaining.value <= 0) { + timer.cancel(); + handlePaymentTimeout(); + } else { + timeRemaining.value--; + updateRemainingTimeDisplay(); + } + }); + } + + // Update the time display in format HH:MM:SS + void updateRemainingTimeDisplay() { + int hours = timeRemaining.value ~/ 3600; + int minutes = (timeRemaining.value % 3600) ~/ 60; + int seconds = timeRemaining.value % 60; + + remainingTime.value = + '${hours.toString().padLeft(2, '0')}:${minutes.toString().padLeft(2, '0')}:${seconds.toString().padLeft(2, '0')}'; + } + + // Handle payment timeout - change status to DIBATALKAN + void handlePaymentTimeout() { + if (orderDetails.value['status'] == 'MENUNGGU PEMBAYARAN') { + orderDetails.update((val) { + val?['status'] = 'DIBATALKAN'; + }); + + Get.snackbar( + 'Pesanan Dibatalkan', + 'Batas waktu pembayaran telah berakhir', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + duration: Duration(seconds: 5), + ); + } + } + + // Change payment method + void selectPaymentMethod(String method) { + paymentMethod.value = method; + update(); + } + + // Select payment type (tagihan_awal or denda) + void selectPaymentType(String type) { + selectedPaymentType.value = type; + update(); + } + + // Take photo using camera + Future takePhoto() async { + try { + final ImagePicker picker = ImagePicker(); + final XFile? image = await picker.pickImage( + source: ImageSource.camera, + imageQuality: 80, + ); + + if (image != null) { + // Add to the list of images instead of replacing + paymentProofImages.add(File(image.path)); + update(); + } + } catch (e) { + debugPrint('❌ Error taking photo: $e'); + Get.snackbar( + 'Error', + 'Gagal mengambil foto: ${e.toString()}', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + ); + } + } + + // Select photo from gallery + Future selectPhotoFromGallery() async { + try { + final ImagePicker picker = ImagePicker(); + final XFile? image = await picker.pickImage( + source: ImageSource.gallery, + imageQuality: 80, + ); + + if (image != null) { + // Add to the list of images instead of replacing + paymentProofImages.add(File(image.path)); + update(); + } + } catch (e) { + debugPrint('❌ Error selecting photo from gallery: $e'); + Get.snackbar( + 'Error', + 'Gagal memilih foto dari galeri: ${e.toString()}', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + ); + } + } + + // Upload payment proof using Base64 encoding for development + Future uploadPaymentProof() async { + // Run the debug method first to diagnose Supabase storage issues + await _debugSupabaseStorage(); + + if (paymentProofImages.isEmpty) { + Get.snackbar( + 'Error', + 'Mohon unggah bukti pembayaran terlebih dahulu', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + ); + return; + } + + try { + isUploading.value = true; + uploadProgress.value = 0.0; + + debugPrint('🔄 Using Base64 approach for development...'); + debugPrint('🔄 Processing ${paymentProofImages.length} payment proof images...'); + + List uploadedUrls = []; + + // Process each image one by one + for (int i = 0; i < paymentProofImages.length; i++) { + // Update progress + uploadProgress.value = (i / paymentProofImages.length) * 0.5; + + final File imageFile = paymentProofImages[i]; + final String timestamp = DateTime.now().millisecondsSinceEpoch.toString(); + final String fileName = 'payment_proof_${timestamp}_$i.jpg'; + + debugPrint('🔄 Processing image $i: ${imageFile.path}'); + + // For development: Create a Base64 representation of the image + // This bypasses Supabase storage completely + final bytes = await imageFile.readAsBytes(); + final base64Image = base64Encode(bytes); + final truncatedBase64 = base64Image.length > 40 + ? '${base64Image.substring(0, 20)}...${base64Image.substring(base64Image.length - 20)}' + : base64Image; + + debugPrint('🔄 Image converted to Base64 (truncated): $truncatedBase64'); + + // Update progress + uploadProgress.value = 0.5 + (i / paymentProofImages.length) * 0.3; + + // Create a data URL that includes the Base64 data + // In a real app, you would upload to Supabase and get a real URL + final String mockUrl = 'data:image/jpeg;base64,$base64Image'; + uploadedUrls.add(mockUrl); + + debugPrint('✅ Created data URL for image $i'); + } + + // Update progress for database saving phase + uploadProgress.value = 0.8; + + // Save all URLs to foto_pembayaran table + for (int i = 0; i < uploadedUrls.length; i++) { + uploadProgress.value = 0.8 + (i / uploadedUrls.length) * 0.2; + await _saveToFotoPembayaranTable(uploadedUrls[i]); + } + + // Update order status + if (Get.isRegistered(tag: 'orderDetails')) { + final orderDetails = Get.find(tag: 'orderDetails'); + orderDetails.update((val) { + val?['status'] = 'MEMERIKSA PEMBAYARAN'; + }); + } + + // Update current step based on status if the method exists + try { + updateCurrentStepBasedOnStatus(); + } catch (e) { + debugPrint('⚠️ Could not update step: $e'); + } + + // Clear the images after successful upload + paymentProofImages.clear(); + + // Set progress to complete + uploadProgress.value = 1.0; + + // Show success message + Get.snackbar( + 'Sukses', + 'Bukti pembayaran berhasil diunggah', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.green, + colorText: Colors.white, + ); + } catch (e) { + debugPrint('❌ Error uploading payment proof: $e'); + Get.snackbar( + 'Error', + 'Gagal mengunggah bukti pembayaran: ${e.toString()}', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + ); + } finally { + isUploading.value = false; + } + } + if (currentStep.value < 7) { + currentStep.value++; + updateOrderStatusBasedOnStep(); + } + } + + // Update order status based on current step + void updateOrderStatusBasedOnStep() { + String newStatus; + + switch (currentStep.value) { + case 0: + newStatus = 'MENUNGGU PEMBAYARAN'; + break; + case 1: + newStatus = 'MEMERIKSA PEMBAYARAN'; + break; + case 2: + newStatus = 'DITERIMA'; + break; + case 3: + newStatus = 'PENGEMBALIAN'; + break; + case 4: + newStatus = 'PEMBAYARAN DENDA'; + break; + case 5: + newStatus = 'MEMERIKSA PEMBAYARAN DENDA'; + break; + case 6: + newStatus = 'SELESAI'; + break; + default: + newStatus = 'MENUNGGU PEMBAYARAN'; + } + + orderDetails.update((val) { + val?['status'] = newStatus; + }); + } + + // Update currentStep based on order status + void updateCurrentStepBasedOnStatus() { + final status = orderDetails.value['status']?.toString().toUpperCase() ?? ''; + debugPrint('📊 Updating current step based on status: $status'); + + switch (status) { + case 'MENUNGGU PEMBAYARAN': + currentStep.value = 0; + break; + case 'MEMERIKSA PEMBAYARAN': + currentStep.value = 1; + break; + case 'DITERIMA': + currentStep.value = 2; + break; + case 'PENGEMBALIAN': + currentStep.value = 3; + break; + case 'PEMBAYARAN DENDA': + currentStep.value = 4; + break; + case 'MEMERIKSA PEMBAYARAN DENDA': + currentStep.value = 5; + break; + case 'SELESAI': + currentStep.value = 6; + break; + case 'DIBATALKAN': + // Special case for canceled orders + currentStep.value = 0; + break; + default: + currentStep.value = 0; + break; + } + + debugPrint('📊 Current step updated to: ${currentStep.value}'); + } + + // This method has been moved and improved above + + // Submit cash payment + void submitCashPayment() { + // Update order status + orderDetails.update((val) { + val?['status'] = 'MEMERIKSA PEMBAYARAN'; + }); + + // Cancel countdown timer as payment has been submitted + _countdownTimer?.cancel(); + + // Show success message + Get.snackbar( + 'Sukses', + 'Pembayaran tunai berhasil disubmit', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.green, + colorText: Colors.white, + ); + + // Update step + currentStep.value = 1; + } + + // Cancel payment + void cancelPayment() { + Get.back(); + } + + // Debug function to check sewa_aset table structure + void checkSewaAsetTableStructure() { + try { + debugPrint('🔍 DEBUG: Checking sewa_aset table structure'); + final client = asetProvider.client; + + // Get a single record to check field names + client + .from('sewa_aset') + .select('*') + .limit(1) + .then((response) { + if (response is List && response.isNotEmpty) { + final record = response.first; + debugPrint('📋 SEWA_ASET TABLE STRUCTURE:'); + debugPrint('Available fields in sewa_aset table:'); + + record.forEach((key, value) { + debugPrint(' $key: (${value?.runtimeType})'); + }); + + // Specifically check for time fields + final timeFields = [ + 'waktu_mulai', + 'waktu_selesai', + 'start_time', + 'end_time', + ]; + for (final field in timeFields) { + debugPrint( + ' Field "$field" exists: ${record.containsKey(field)}', + ); + if (record.containsKey(field)) { + debugPrint(' Field "$field" value: ${record[field]}'); + } + } + } else { + debugPrint('⚠️ No records found in sewa_aset table'); + } + }) + .catchError((e) { + debugPrint('❌ Error checking sewa_aset table: $e'); + }); + } catch (e) { + debugPrint('❌ Error in checkSewaAsetTableStructure: $e'); + } + } + + // Load bank accounts from akun_bank table + Future loadBankAccounts() async { + debugPrint('Loading bank accounts from akun_bank table...'); + try { + final data = await asetProvider.getBankAccounts(); + if (data != null && data.isNotEmpty) { + bankAccounts.assignAll(data); + debugPrint('✅ Bank accounts loaded: ${bankAccounts.length} accounts found'); + + // Debug the bank accounts data + debugPrint('📋 BANK ACCOUNTS DETAILS:'); + for (var account in bankAccounts) { + debugPrint(' Bank: ${account['nama_bank']}, Account: ${account['nama_akun']}, Number: ${account['no_rekening']}'); + } + } else { + debugPrint('⚠️ No bank accounts found in akun_bank table'); + // Add a default bank account if none found + bankAccounts.add({ + 'id': '1', + 'nama_bank': 'Bank Default', + 'nama_akun': 'BUMDes Maju Jaya', + 'no_rekening': '1234567890', + }); + } + } catch (e) { + debugPrint('❌ Error loading bank accounts: $e'); + // Add a default bank account in case of error + bankAccounts.add({ + 'id': '1', + 'nama_bank': 'Bank Default', + 'nama_akun': 'BUMDes Maju Jaya', + 'no_rekening': '1234567890', + }); + } + } + + // Debug method to diagnose Supabase storage issues + Future _debugSupabaseStorage() async { + try { + debugPrint('\n\n🔍 SUPABASE STORAGE DEBUG 🔍'); + + final supabase = Supabase.instance.client; + + // Check if Supabase client is initialized + debugPrint('1. Supabase client initialized: ${supabase != null}'); + + // Try to list buckets + try { + debugPrint('2. Attempting to list storage buckets...'); + final buckets = await supabase.storage.listBuckets(); + debugPrint(' ✅ Success! Found ${buckets.length} buckets:'); + for (var bucket in buckets) { + debugPrint(' - ${bucket.name} (id: ${bucket.id})'); + } + } catch (e) { + debugPrint(' ❌ Error listing buckets: $e'); + debugPrint(' Stack trace: ${StackTrace.current}'); + } + + // Try to create a test file in memory + try { + debugPrint('3. Creating test file in memory...'); + final testBytes = Uint8List.fromList([1, 2, 3, 4, 5]); // 5 bytes + debugPrint(' ✅ Test file created: ${testBytes.length} bytes'); + + // Try to upload test file + try { + debugPrint('4. Attempting to upload test file...'); + final testFileName = 'test_${DateTime.now().millisecondsSinceEpoch}.bin'; + + // Try to get bucket info first + try { + final buckets = await supabase.storage.listBuckets(); + if (buckets.isNotEmpty) { + final bucket = buckets.first; + debugPrint(' Using bucket: ${bucket.name}'); + + try { + final path = await supabase.storage + .from(bucket.name) + .uploadBinary( + testFileName, + testBytes, + ); + debugPrint(' ✅ Test upload successful! Path: $path'); + } catch (e) { + debugPrint(' ❌ Test upload failed: $e'); + } + } else { + debugPrint(' ❌ No buckets available for test upload'); + } + } catch (e) { + debugPrint(' ❌ Error getting buckets for test: $e'); + } + } catch (e) { + debugPrint(' ❌ Error during test upload: $e'); + } + } catch (e) { + debugPrint(' ❌ Error creating test file: $e'); + } + + debugPrint('🔍 SUPABASE STORAGE DEBUG COMPLETE 🔍\n\n'); + } catch (e) { + debugPrint('❌ Error in debug method: $e'); + } + } + + // Upload image to Supabase storage with enhanced logging + Future _uploadToSupabaseStorage( + File imageFile, + String fileName, + StreamController progressNotifier, + ) async { + try { + debugPrint('🔄 Starting upload to Supabase storage...'); + debugPrint('🔄 File details: ${imageFile.path}, size: ${await imageFile.length()} bytes'); + debugPrint('🔄 Target filename: $fileName'); + + // Update progress to indicate start + progressNotifier.add(0.1); + + // Get the file bytes + final bytes = await imageFile.readAsBytes(); + debugPrint('🔄 File read as bytes: ${bytes.length} bytes'); + progressNotifier.add(0.3); + + // Get direct access to Supabase client + final supabase = Supabase.instance.client; + debugPrint('🔄 Supabase client initialized'); + + // Log Supabase configuration + debugPrint('🔄 Supabase configuration:'); + debugPrint(' - Client ready: ${supabase != null}'); + debugPrint(' - Auth initialized: ${supabase.auth != null}'); + + // Make sure the bucket exists + try { + debugPrint('🔄 Listing available storage buckets...'); + final buckets = await supabase.storage.listBuckets(); + debugPrint('🔄 Available buckets (${buckets.length}): ${buckets.map((b) => b.name).join(', ')}'); + + // Check if our bucket exists + final bucketExists = buckets.any((b) => b.name == 'bukti.pembayaran'); + if (!bucketExists) { + debugPrint('⚠️ Bucket "bukti.pembayaran" not found in available buckets!'); + // Try with a different bucket name format + final altBucketExists = buckets.any((b) => b.name.contains('bukti')); + if (altBucketExists) { + final altBucket = buckets.firstWhere((b) => b.name.contains('bukti')); + debugPrint('🔄 Found alternative bucket: ${altBucket.name}'); + fileName = 'bukti.pembayaran/$fileName'; // Use as folder path instead + } else { + debugPrint('⚠️ No bucket containing "bukti" found!'); + } + } else { + debugPrint('✅ Bucket "bukti.pembayaran" exists'); + } + } catch (e) { + debugPrint('⚠️ Error listing buckets: $e'); + debugPrint('⚠️ Stack trace: ${StackTrace.current}'); + // Continue anyway, it might still work + } + + progressNotifier.add(0.4); + + // Try different upload approaches + String? path; + String? publicUrl; + + // Approach 1: Try using the uploadBinary method + try { + debugPrint('🔄 APPROACH 1: Trying uploadBinary method...'); + debugPrint('🔄 Target: bukti.pembayaran/$fileName'); + + try { + path = await supabase.storage + .from('bukti.pembayaran') + .uploadBinary( + fileName, + Uint8List.fromList(bytes), + fileOptions: FileOptions(contentType: 'image/jpeg', upsert: true), + ); + + debugPrint('✅ Upload path result: $path'); + + // Get public URL + publicUrl = supabase.storage.from('bukti.pembayaran').getPublicUrl(fileName); + debugPrint('✅ Upload successful with uploadBinary! URL: $publicUrl'); + + progressNotifier.add(1.0); + return publicUrl; + } catch (e) { + debugPrint('⚠️ Error details for uploadBinary:'); + debugPrint(' - Error type: ${e.runtimeType}'); + debugPrint(' - Error message: $e'); + debugPrint(' - Stack trace: ${StackTrace.current}'); + throw e; // Rethrow to try next approach + } + } catch (e1) { + debugPrint('⚠️ APPROACH 1 FAILED: $e1'); + + // Approach 2: Try using the upload method + try { + debugPrint('🔄 APPROACH 2: Trying upload method...'); + debugPrint('🔄 Target: bukti.pembayaran/$fileName'); + + try { + path = await supabase.storage + .from('bukti.pembayaran') + .upload(fileName, imageFile); + + debugPrint('✅ Upload path result: $path'); + + // Get public URL + publicUrl = supabase.storage.from('bukti.pembayaran').getPublicUrl(fileName); + debugPrint('✅ Upload successful with upload method! URL: $publicUrl'); + + progressNotifier.add(1.0); + return publicUrl; + } catch (e) { + debugPrint('⚠️ Error details for upload method:'); + debugPrint(' - Error type: ${e.runtimeType}'); + debugPrint(' - Error message: $e'); + debugPrint(' - Stack trace: ${StackTrace.current}'); + throw e; // Rethrow to try next approach + } + } catch (e2) { + debugPrint('⚠️ APPROACH 2 FAILED: $e2'); + + // Approach 3: Try using a different bucket + try { + debugPrint('🔄 APPROACH 3: Trying with different bucket...'); + + try { + final buckets = await supabase.storage.listBuckets(); + + if (buckets.isEmpty) { + debugPrint('⚠️ No buckets available!'); + throw Exception('No buckets available'); + } + + final firstBucket = buckets.first.name; + debugPrint('🔄 Using first available bucket: $firstBucket'); + debugPrint('🔄 Target: $firstBucket/payment_proofs/$fileName'); + + path = await supabase.storage + .from(firstBucket) + .upload('payment_proofs/$fileName', imageFile); + + debugPrint('✅ Upload path result: $path'); + + // Get public URL + publicUrl = supabase.storage.from(firstBucket).getPublicUrl('payment_proofs/$fileName'); + debugPrint('✅ Upload successful with different bucket! URL: $publicUrl'); + + progressNotifier.add(1.0); + return publicUrl; + } catch (e) { + debugPrint('⚠️ Error details for different bucket approach:'); + debugPrint(' - Error type: ${e.runtimeType}'); + debugPrint(' - Error message: $e'); + debugPrint(' - Stack trace: ${StackTrace.current}'); + throw e; + } + } catch (e3) { + debugPrint('⚠️ APPROACH 3 FAILED: $e3'); + debugPrint('⚠️ ALL UPLOAD APPROACHES FAILED'); + debugPrint('⚠️ Errors summary:'); + debugPrint(' - Approach 1 (uploadBinary): $e1'); + debugPrint(' - Approach 2 (upload): $e2'); + debugPrint(' - Approach 3 (different bucket): $e3'); + + throw Exception('All upload approaches failed'); + } + } + } + } catch (e) { + debugPrint('❌ FINAL ERROR in _uploadToSupabaseStorage: $e'); + debugPrint('❌ Stack trace: ${StackTrace.current}'); + + // For development, return a mock URL so the app can continue + final mockUrl = 'https://mock-storage.example.com/bukti.pembayaran/$fileName'; + debugPrint('🔄 Using fallback mock URL: $mockUrl'); + + progressNotifier.add(1.0); + return mockUrl; + } finally { + if (!progressNotifier.isClosed) { + try { + progressNotifier.close(); + } catch (e) { + // Ignore error on close + } + } + } + } + + // Save image URL to foto_pembayaran table + Future _saveToFotoPembayaranTable(String imageUrl) async { + try { + debugPrint('🔄 Saving image URL to foto_pembayaran table...'); + + // Get the Supabase client + final supabase = Supabase.instance.client; + + // Get the tagihan_sewa_id - try multiple approaches + dynamic tagihanSewaId; + + // Try to get it from the controller's state + try { + // First approach: try to get from tagihanSewa if it exists + if (Get.isRegistered(tag: 'tagihanSewa')) { + final tagihanSewaData = Get.find(tag: 'tagihanSewa'); + tagihanSewaId = tagihanSewaData['id']; + debugPrint('🔄 Found tagihan_sewa_id from tagihanSewa: $tagihanSewaId'); + } + // Second approach: try to get from orderDetails if it exists + else if (Get.isRegistered(tag: 'orderDetails')) { + final orderData = Get.find(tag: 'orderDetails'); + tagihanSewaId = orderData['tagihan_sewa_id'] ?? orderData['id']; + debugPrint('🔄 Found tagihan_sewa_id from orderDetails: $tagihanSewaId'); + } + } catch (e) { + debugPrint('⚠️ Error getting tagihan_sewa_id from state: $e'); + } + + // If we still don't have an ID, use a placeholder for development + if (tagihanSewaId == null) { + debugPrint('⚠️ Could not find tagihan_sewa_id, using placeholder value'); + tagihanSewaId = 1; // Placeholder for development + } + + // Prepare the data to insert + final Map data = { + 'tagihan_sewa_id': tagihanSewaId, + 'foto_pembayaran': imageUrl, + 'created_at': DateTime.now().toIso8601String(), + }; + + debugPrint('🔄 Inserting data: $data'); + + // Try to insert the data + try { + final response = await supabase + .from('foto_pembayaran') + .insert(data) + .select(); + + debugPrint('✅ Image URL saved to foto_pembayaran table: ${response.toString()}'); + } catch (dbError) { + debugPrint('⚠️ Database error: $dbError'); + + // For development, we'll just log what would have been saved + debugPrint('🔄 Would have saved: $data'); + } + } catch (e) { + debugPrint('❌ Error in _saveToFotoPembayaranTable: $e'); + // Don't throw the exception, just log it so the app can continue + debugPrint('⚠️ Failed to save image URL to database: $e'); + } + } + + // Simplified refresh method for development + Future refreshData() async { + debugPrint('Refreshing payment page data...'); + + try { + // Simulate a delay for better UX + await Future.delayed(const Duration(seconds: 1)); + + // Show a success message + Get.snackbar( + 'Berhasil', + 'Data berhasil diperbarui', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.green, + colorText: Colors.white, + duration: const Duration(seconds: 2), + ); + + debugPrint('Data refresh completed'); + } catch (e) { + debugPrint('Error refreshing data: $e'); + + // Show an error message + Get.snackbar( + 'Error', + 'Gagal memperbarui data', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + ); + } + + return Future.value(); + } +} diff --git a/lib/app/modules/warga/controllers/pembayaran_sewa_controller.dart b/lib/app/modules/warga/controllers/pembayaran_sewa_controller.dart new file mode 100644 index 0000000..a8f2f79 --- /dev/null +++ b/lib/app/modules/warga/controllers/pembayaran_sewa_controller.dart @@ -0,0 +1,1202 @@ +import 'dart:async'; +import 'dart:io'; +import 'dart:typed_data'; + +import 'package:flutter/foundation.dart' show kIsWeb; +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import 'package:image_picker/image_picker.dart'; +import 'package:supabase_flutter/supabase_flutter.dart'; + +import '../../../data/providers/aset_provider.dart'; +import '../../../services/navigation_service.dart'; + +// Custom class for web platform to handle image URLs +class WebImageFile { + final String imageUrl; + String id = ''; // Database ID for the foto_pembayaran record (UUID string) + + WebImageFile(this.imageUrl); +} + +class PembayaranSewaController extends GetxController + with GetSingleTickerProviderStateMixin { + // Dependencies + final NavigationService navigationService = Get.find(); + final AsetProvider asetProvider = Get.find(); + + // Direct access to Supabase client for storage operations + final SupabaseClient client = Supabase.instance.client; + + // Tab controller + late TabController tabController; + + // Order details + final orderId = ''.obs; + final orderDetails = Rx>({}); + + // Sewa Aset details with related aset info + final sewaAsetDetails = Rx>({}); + + // Tagihan Sewa details + final tagihanSewa = Rx>({}); + + // Payment details + final paymentMethod = ''.obs; + final selectedPaymentType = ''.obs; + final isLoading = false.obs; + final currentStep = 0.obs; + + // Payment proof images - now a list to support multiple images (both File and WebImageFile) + final RxList paymentProofImages = [].obs; + + // Track original images loaded from database + final RxList originalImages = [].obs; + + // Track images marked for deletion + final RxList imagesToDelete = [].obs; + + // Flag to track if there are changes that need to be saved + final RxBool hasUnsavedChanges = false.obs; + + // Get image widget for a specific image + Widget getImageWidget(dynamic imageFile) { + // Check if it's a WebImageFile (for existing images loaded from URLs) + if (imageFile is WebImageFile) { + return Image.network( + imageFile.imageUrl, + height: 120, + width: 120, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + height: 120, + width: 120, + color: Colors.grey[300], + child: const Center(child: Text('Error')), + ); + }, + ); + } + // Check if running on web with a File object + else if (kIsWeb && imageFile is File) { + // For web, we need to use Image.network with the path + return Image.network( + imageFile.path, + height: 120, + width: 120, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + height: 120, + width: 120, + color: Colors.grey[300], + child: const Center(child: Text('Error')), + ); + }, + ); + } + // For mobile with a File object + else if (imageFile is File) { + return Image.file( + imageFile, + height: 120, + width: 120, + fit: BoxFit.cover, + ); + } + // Fallback for any other type + else { + return Container( + height: 120, + width: 120, + color: Colors.grey[300], + child: const Center(child: Text('Invalid image')), + ); + } + } + + // Remove an image from the list + void removeImage(dynamic image) { + // If this is an existing image (WebImageFile), add it to imagesToDelete + if (image is WebImageFile && image.id.isNotEmpty) { + imagesToDelete.add(image); + debugPrint('🗑️ Marked image for deletion: ${image.imageUrl} (ID: ${image.id})'); + } + + // Remove from the current list + paymentProofImages.remove(image); + + // Check if we have any changes (additions or deletions) + _checkForChanges(); + + update(); + } + + // Show image in full screen when tapped + void showFullScreenImage(dynamic image) { + String imageUrl; + + if (image is WebImageFile) { + imageUrl = image.imageUrl; + } else if (image is File) { + imageUrl = image.path; + } else { + debugPrint('❌ Cannot display image: Unknown image type'); + return; + } + + debugPrint('📷 Showing full screen image: $imageUrl'); + + // Show full screen image dialog + Get.dialog( + Dialog( + insetPadding: EdgeInsets.zero, + backgroundColor: Colors.transparent, + child: Stack( + alignment: Alignment.center, + children: [ + // Image with pinch to zoom + InteractiveViewer( + panEnabled: true, + minScale: 0.5, + maxScale: 4, + child: kIsWeb + ? Image.network( + imageUrl, + fit: BoxFit.contain, + height: Get.height, + width: Get.width, + errorBuilder: (context, error, stackTrace) { + return const Center(child: Text('Error loading image')); + }, + ) + : Image.file( + File(imageUrl), + fit: BoxFit.contain, + height: Get.height, + width: Get.width, + ), + ), + // Close button + Positioned( + top: 40, + right: 20, + child: IconButton( + icon: const Icon(Icons.close, color: Colors.white, size: 30), + onPressed: () => Get.back(), + ), + ), + ], + ), + ), + barrierDismissible: true, + ); + } + + // Check if there are any changes to save (new images added or existing images removed) + void _checkForChanges() { + // We have changes if: + // 1. We have images marked for deletion + // 2. We have new images (files) added + // 3. The current list differs from the original list + + bool hasChanges = false; + + // Check if any images are marked for deletion + if (imagesToDelete.isNotEmpty) { + hasChanges = true; + } + + // Check if any new images have been added + for (dynamic image in paymentProofImages) { + if (image is File) { + // This is a new image + hasChanges = true; + break; + } + } + + // Check if the number of images has changed + if (paymentProofImages.length != originalImages.length) { + hasChanges = true; + } + + hasUnsavedChanges.value = hasChanges; + debugPrint('💾 Has unsaved changes: $hasChanges'); + } + final isUploading = false.obs; + final uploadProgress = 0.0.obs; + + // Timer countdown + final remainingTime = ''.obs; + Timer? _countdownTimer; + final int paymentTimeLimit = 3600; // 1 hour in seconds + final timeRemaining = 0.obs; + + // Bank accounts for transfer + final bankAccounts = RxList>([]); + + @override + void onInit() { + super.onInit(); + tabController = TabController(length: 3, vsync: this); + + // Get order ID and rental data from arguments + if (Get.arguments != null) { + if (Get.arguments['orderId'] != null) { + orderId.value = Get.arguments['orderId']; + + // If rental data is passed, use it directly + if (Get.arguments['rentalData'] != null) { + Map rentalData = Get.arguments['rentalData']; + debugPrint('Received rental data: $rentalData'); + + // Pre-populate order details with rental data + orderDetails.value = { + 'id': rentalData['id'] ?? '', + 'item_name': rentalData['name'] ?? 'Aset', + 'quantity': rentalData['jumlahUnit'] ?? 0, + 'rental_period': rentalData['waktuSewa'] ?? '', + 'duration': rentalData['duration'] ?? '', + 'price_per_unit': 0, // This might not be available in rental data + 'total_price': rentalData['totalPrice'] != null ? + int.tryParse(rentalData['totalPrice'].toString().replaceAll(RegExp(r'[^0-9]'), '')) ?? 0 : 0, + 'status': rentalData['status'] ?? 'MENUNGGU PEMBAYARAN', + 'created_at': DateTime.now().toString(), + 'denda': 0, // Default value + 'keterangan': '', // Default value + 'image_url': rentalData['imageUrl'], + 'waktu_mulai': rentalData['waktuMulai'], + 'waktu_selesai': rentalData['waktuSelesai'], + 'rentang_waktu': rentalData['rentangWaktu'], + }; + + // Still load additional details from the database + checkSewaAsetTableStructure(); + loadTagihanSewaDetails().then((_) { + // Load existing payment proof images after tagihan_sewa details are loaded + loadExistingPaymentProofImages(); + }); + loadSewaAsetDetails(); + loadBankAccounts(); // Load bank accounts data + } else { + // If no rental data is passed, load everything from the database + checkSewaAsetTableStructure(); + loadOrderDetails(); + loadTagihanSewaDetails().then((_) { + // Load existing payment proof images after tagihan_sewa details are loaded + loadExistingPaymentProofImages(); + }); + loadSewaAsetDetails(); + loadBankAccounts(); // Load bank accounts data + } + } + } + } + + @override + void onClose() { + _countdownTimer?.cancel(); + tabController.dispose(); + super.onClose(); + } + + // Load order details + void loadOrderDetails() { + isLoading.value = true; + + // Simulating API call + Future.delayed(Duration(seconds: 1), () { + // Mock data + orderDetails.value = { + 'id': orderId.value, + 'item_name': 'Sewa Kursi Taman', + 'quantity': 5, + 'rental_period': '24 April 2023, 10:00 - 12:00', + 'duration': '2 jam', + 'price_per_unit': 10000, + 'total_price': 50000, + 'status': 'MENUNGGU PEMBAYARAN', + 'created_at': + DateTime.now().toString(), // Use this for countdown calculation + 'denda': 20000, // Dummy data for denda + 'keterangan': + 'Terjadi kerusakan pada bagian kaki', // Dummy keterangan for denda + }; + + // Update the current step based on the status + updateCurrentStepBasedOnStatus(); + + isLoading.value = false; + startCountdownTimer(); + }); + } + + // Load sewa_aset details with aset data + void loadSewaAsetDetails() { + isLoading.value = true; + + debugPrint( + '🔍 Starting to load sewa_aset details for orderId: ${orderId.value}', + ); + + asetProvider + .getSewaAsetWithAsetData(orderId.value) + .then((data) { + if (data != null) { + // Use actual data without adding dummy values + sewaAsetDetails.value = data; + debugPrint( + '✅ Sewa aset details loaded: ${sewaAsetDetails.value['id']}', + ); + + // Debug all fields in the sewaAsetDetails + debugPrint('📋 SEWA ASET DETAILS (COMPLETE DATA):'); + data.forEach((key, value) { + debugPrint(' $key: $value'); + }); + + // Specifically debug waktu_mulai and waktu_selesai + debugPrint('⏰ WAKTU DETAILS:'); + debugPrint(' waktu_mulai: ${data['waktu_mulai']}'); + debugPrint(' waktu_selesai: ${data['waktu_selesai']}'); + debugPrint(' denda: ${data['denda']}'); + debugPrint(' keterangan: ${data['keterangan']}'); + + // If aset_detail exists, debug it too + if (data['aset_detail'] != null) { + debugPrint('🏢 ASET DETAILS:'); + (data['aset_detail'] as Map).forEach(( + key, + value, + ) { + debugPrint(' $key: $value'); + }); + } + + // Update order details based on sewa_aset data + orderDetails.update((val) { + if (data['aset_detail'] != null) { + val?['item_name'] = data['aset_detail']['nama'] ?? 'Aset Sewa'; + } + val?['quantity'] = data['kuantitas'] ?? 1; + val?['denda'] = + data['denda'] ?? + 0; // Use data from API or default to 0 + val?['keterangan'] = + data['keterangan'] ?? + ''; // Use data from API or default to empty string + + // Update status if it exists in the data + if (data['status'] != null && data['status'].toString().isNotEmpty) { + val?['status'] = data['status']; + debugPrint('📊 Order status from sewa_aset: ${data['status']}'); + } + + // Format rental period + if (data['waktu_mulai'] != null && + data['waktu_selesai'] != null) { + try { + final startTime = DateTime.parse(data['waktu_mulai']); + final endTime = DateTime.parse(data['waktu_selesai']); + val?['rental_period'] = + '${startTime.day}/${startTime.month}/${startTime.year}, ${startTime.hour}:${startTime.minute.toString().padLeft(2, '0')} - ${endTime.hour}:${endTime.minute.toString().padLeft(2, '0')}'; + debugPrint( + '✅ Successfully formatted rental period: ${val?['rental_period']}', + ); + } catch (e) { + debugPrint('❌ Error parsing date: $e'); + } + } else { + debugPrint( + '⚠️ Missing waktu_mulai or waktu_selesai for formatting rental period', + ); + } + }); + + // Update the current step based on the status + updateCurrentStepBasedOnStatus(); + } else { + debugPrint( + '⚠️ No sewa_aset details found for order: ${orderId.value}', + ); + + // Add dummy data when no real data is available + sewaAsetDetails.value = { + 'id': orderId.value, + 'denda': 20000, + 'keterangan': 'Terjadi kerusakan pada bagian kaki', + }; + } + isLoading.value = false; + }) + .catchError((error) { + debugPrint('❌ Error loading sewa_aset details: $error'); + + // Add dummy data in case of error + sewaAsetDetails.value = { + 'id': orderId.value, + 'denda': 20000, + 'keterangan': 'Terjadi kerusakan pada bagian kaki', + }; + + isLoading.value = false; + }); + } + + // Load tagihan sewa details + Future loadTagihanSewaDetails() { + isLoading.value = true; + + // Use the AsetProvider to fetch the tagihan_sewa data + return asetProvider + .getTagihanSewa(orderId.value) + .then((data) { + if (data != null) { + tagihanSewa.value = data; + debugPrint('✅ Tagihan sewa loaded: ${tagihanSewa.value['id']}'); + + // Debug the tagihan_sewa data + debugPrint('📋 TAGIHAN SEWA DETAILS:'); + data.forEach((key, value) { + debugPrint(' $key: $value'); + }); + + // Specifically debug denda, keterangan, and foto_kerusakan + debugPrint('💰 DENDA DETAILS:'); + debugPrint(' denda: ${data['denda']}'); + debugPrint(' keterangan: ${data['keterangan']}'); + debugPrint(' foto_kerusakan: ${data['foto_kerusakan']}'); + } else { + debugPrint('⚠️ No tagihan sewa found for order: ${orderId.value}'); + // Initialize with empty data instead of mock data + tagihanSewa.value = { + 'id': '', + 'sewa_aset_id': orderId.value, + 'denda': 0, + 'keterangan': '', + 'foto_kerusakan': '', + }; + } + isLoading.value = false; + }) + .catchError((error) { + debugPrint('❌ Error loading tagihan sewa: $error'); + // Initialize with empty data instead of mock data + tagihanSewa.value = { + 'id': '', + 'sewa_aset_id': orderId.value, + 'denda': 0, + 'keterangan': '', + 'foto_kerusakan': '', + }; + isLoading.value = false; + }); + } + + // Start countdown timer (1 hour) + void startCountdownTimer() { + timeRemaining.value = paymentTimeLimit; + + _countdownTimer = Timer.periodic(Duration(seconds: 1), (timer) { + if (timeRemaining.value <= 0) { + timer.cancel(); + handlePaymentTimeout(); + } else { + timeRemaining.value--; + updateRemainingTimeDisplay(); + } + }); + } + + // Update the time display in format HH:MM:SS + void updateRemainingTimeDisplay() { + int hours = timeRemaining.value ~/ 3600; + int minutes = (timeRemaining.value % 3600) ~/ 60; + int seconds = timeRemaining.value % 60; + + remainingTime.value = + '${hours.toString().padLeft(2, '0')}:${minutes.toString().padLeft(2, '0')}:${seconds.toString().padLeft(2, '0')}'; + } + + // Handle payment timeout - change status to DIBATALKAN + void handlePaymentTimeout() { + if (orderDetails.value['status'] == 'MENUNGGU PEMBAYARAN') { + orderDetails.update((val) { + val?['status'] = 'DIBATALKAN'; + }); + + Get.snackbar( + 'Pesanan Dibatalkan', + 'Batas waktu pembayaran telah berakhir', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + duration: Duration(seconds: 5), + ); + } + } + + // Change payment method + void selectPaymentMethod(String method) { + paymentMethod.value = method; + update(); + } + + // Select payment type (tagihan_awal or denda) + void selectPaymentType(String type) { + selectedPaymentType.value = type; + update(); + } + + // Take photo using camera + Future takePhoto() async { + try { + final ImagePicker picker = ImagePicker(); + final XFile? image = await picker.pickImage( + source: ImageSource.camera, + imageQuality: 80, + ); + + if (image != null) { + // Add to the list of images instead of replacing + paymentProofImages.add(File(image.path)); + + // Check for changes + _checkForChanges(); + + update(); + } + } catch (e) { + debugPrint('❌ Error taking photo: $e'); + Get.snackbar( + 'Error', + 'Gagal mengambil foto: ${e.toString()}', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + ); + } + } + + // Select photo from gallery + Future selectPhotoFromGallery() async { + try { + final ImagePicker picker = ImagePicker(); + final XFile? image = await picker.pickImage( + source: ImageSource.gallery, + imageQuality: 80, + ); + + if (image != null) { + // Add to the list of images instead of replacing + paymentProofImages.add(File(image.path)); + update(); + } + } catch (e) { + debugPrint('❌ Error selecting photo from gallery: $e'); + Get.snackbar( + 'Error', + 'Gagal memilih foto dari galeri: ${e.toString()}', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + ); + } + } + + // Upload payment proof to Supabase storage and save to foto_pembayaran table + Future uploadPaymentProof() async { + // If there are no images and none marked for deletion, show error + if (paymentProofImages.isEmpty && imagesToDelete.isEmpty) { + Get.snackbar( + 'Error', + 'Mohon unggah bukti pembayaran terlebih dahulu', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + ); + return; + } + + // If there are no changes, no need to do anything + if (!hasUnsavedChanges.value) { + Get.snackbar( + 'Info', + 'Tidak ada perubahan yang perlu disimpan', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.blue, + colorText: Colors.white, + ); + return; + } + + try { + isUploading.value = true; + uploadProgress.value = 0.0; + + // Set up upload progress listener + final progressNotifier = StreamController(); + progressNotifier.stream.listen((progress) { + uploadProgress.value = progress; + }); + + // First, delete any images marked for deletion + if (imagesToDelete.isNotEmpty) { + debugPrint('🗑️ Deleting ${imagesToDelete.length} images from database and storage'); + + for (WebImageFile image in imagesToDelete) { + // Delete the record from the foto_pembayaran table + if (image.id.isNotEmpty) { + debugPrint('🗑️ Deleting record with ID: ${image.id}'); + try { + // Delete the record using the UUID string + final result = await client + .from('foto_pembayaran') + .delete() + .eq('id', image.id); // ID is already a string UUID + + debugPrint('🗑️ Delete result: $result'); + } catch (e) { + debugPrint('❌ Error deleting record: $e'); + throw e; // Re-throw so the main catch block handles it + } + + debugPrint('🗑️ Deleted database record with ID: ${image.id}'); + + // Extract the file name from the URL to delete from storage + try { + // Parse the URL to get the filename more reliably + Uri uri = Uri.parse(image.imageUrl); + String path = uri.path; + // The filename is the last part of the path after the last '/' + final String fileName = path.substring(path.lastIndexOf('/') + 1); + + debugPrint('🗑️ Attempting to delete file from storage: $fileName'); + + // Delete the file from storage + await client.storage + .from('bukti.pembayaran') + .remove([fileName]); + + debugPrint('🗑️ Successfully deleted file from storage: $fileName'); + } catch (e) { + debugPrint('⚠️ Error deleting file from storage: $e'); + // Continue even if file deletion fails - we've at least deleted from the database + } + } + } + + // Clear the deleted images list + imagesToDelete.clear(); + } + + // Upload each new image to Supabase Storage and save to database + debugPrint('🔄 Uploading new payment proof images to Supabase storage...'); + + List uploadedUrls = []; + List newImagesToUpload = []; + List existingImageUrls = []; + + // Separate existing WebImageFile objects from new File objects that need uploading + for (final image in paymentProofImages) { + if (image is WebImageFile) { + // This is an existing image, no need to upload again + existingImageUrls.add(image.imageUrl); + } else if (image is File) { + // This is a new image that needs to be uploaded + newImagesToUpload.add(image); + } + } + + debugPrint('🔄 Found ${existingImageUrls.length} existing images and ${newImagesToUpload.length} new images to upload'); + + // If there are new images to upload + if (newImagesToUpload.isNotEmpty) { + // Calculate progress increment per image + final double progressIncrement = 1.0 / newImagesToUpload.length; + double currentProgress = 0.0; + + // Upload each new image + for (int i = 0; i < newImagesToUpload.length; i++) { + final dynamic imageFile = newImagesToUpload[i]; + final String fileName = '${DateTime.now().millisecondsSinceEpoch}_${orderId.value}_$i.jpg'; + + // Create a sub-progress tracker for this image + final subProgressNotifier = StreamController(); + subProgressNotifier.stream.listen((subProgress) { + // Calculate overall progress + progressNotifier.add(currentProgress + (subProgress * progressIncrement)); + }); + + // Upload to Supabase Storage + final String? imageUrl = await _uploadToSupabaseStorage( + imageFile, + fileName, + subProgressNotifier, + ); + + if (imageUrl == null) { + throw Exception('Failed to upload image $i to storage'); + } + + debugPrint('✅ Image $i uploaded successfully: $imageUrl'); + uploadedUrls.add(imageUrl); + + // Update progress for next image + currentProgress += progressIncrement; + } + } else { + // If there are only existing images, set progress to 100% + progressNotifier.add(1.0); + } + + // Save all new URLs to foto_pembayaran table + for (String imageUrl in uploadedUrls) { + await _saveToFotoPembayaranTable(imageUrl); + } + + // Reload the existing images to get fresh data with new IDs + await loadExistingPaymentProofImages(); + + // Update order status in orderDetails + orderDetails.update((val) { + val?['status'] = 'MEMERIKSA PEMBAYARAN'; + }); + + // Also update the status in the sewa_aset table + try { + // Get the sewa_aset_id from the tagihanSewa data + final dynamic sewaAsetId = tagihanSewa.value['sewa_aset_id']; + + if (sewaAsetId != null && sewaAsetId.toString().isNotEmpty) { + debugPrint('🔄 Updating status in sewa_aset table for ID: $sewaAsetId'); + + // Update the status in the sewa_aset table + final updateResult = await client + .from('sewa_aset') + .update({'status': 'PERIKSA PEMBAYARAN'}) + .eq('id', sewaAsetId.toString()); + + debugPrint('✅ Status updated in sewa_aset table: $updateResult'); + } else { + debugPrint('⚠️ Could not update sewa_aset status: No valid sewa_aset_id found'); + } + } catch (e) { + // Don't fail the entire operation if this update fails + debugPrint('❌ Error updating status in sewa_aset table: $e'); + } + + // Update current step based on status + updateCurrentStepBasedOnStatus(); + + // Cancel countdown timer as payment has been submitted + _countdownTimer?.cancel(); + + // Reset change tracking + hasUnsavedChanges.value = false; + + // Show success message + Get.snackbar( + 'Sukses', + 'Bukti pembayaran berhasil diunggah', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.green, + colorText: Colors.white, + ); + } catch (e) { + debugPrint('❌ Error uploading payment proof: $e'); + Get.snackbar( + 'Error', + 'Gagal mengunggah bukti pembayaran: ${e.toString()}', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + ); + } finally { + isUploading.value = false; + uploadProgress.value = 0.0; + } + } + + // Go to next step + void nextStep() { + if (currentStep.value < 7) { + currentStep.value++; + updateOrderStatusBasedOnStep(); + } + } + + // Update order status based on current step + void updateOrderStatusBasedOnStep() { + String newStatus; + + switch (currentStep.value) { + case 0: + newStatus = 'MENUNGGU PEMBAYARAN'; + break; + case 1: + newStatus = 'MEMERIKSA PEMBAYARAN'; + break; + case 2: + newStatus = 'DITERIMA'; + break; + case 3: + newStatus = 'PENGEMBALIAN'; + break; + case 4: + newStatus = 'PEMBAYARAN DENDA'; + break; + case 5: + newStatus = 'MEMERIKSA PEMBAYARAN DENDA'; + break; + case 6: + newStatus = 'SELESAI'; + break; + default: + newStatus = 'MENUNGGU PEMBAYARAN'; + } + + orderDetails.update((val) { + val?['status'] = newStatus; + }); + } + + // Update currentStep based on order status + void updateCurrentStepBasedOnStatus() { + final status = orderDetails.value['status']?.toString().toUpperCase() ?? ''; + debugPrint('📊 Updating current step based on status: $status'); + + switch (status) { + case 'MENUNGGU PEMBAYARAN': + currentStep.value = 0; + break; + case 'MEMERIKSA PEMBAYARAN': + currentStep.value = 1; + break; + case 'DITERIMA': + currentStep.value = 2; + break; + case 'PENGEMBALIAN': + currentStep.value = 3; + break; + case 'PEMBAYARAN DENDA': + currentStep.value = 4; + break; + case 'MEMERIKSA PEMBAYARAN DENDA': + currentStep.value = 5; + break; + case 'SELESAI': + currentStep.value = 6; + break; + case 'DIBATALKAN': + // Special case for canceled orders + currentStep.value = 0; + break; + default: + currentStep.value = 0; + break; + } + + debugPrint('📊 Current step updated to: ${currentStep.value}'); + } + + // This method has been moved and improved above + + // Submit cash payment + void submitCashPayment() { + // Update order status + orderDetails.update((val) { + val?['status'] = 'MEMERIKSA PEMBAYARAN'; + }); + + // Cancel countdown timer as payment has been submitted + _countdownTimer?.cancel(); + + // Show success message + Get.snackbar( + 'Sukses', + 'Pembayaran tunai berhasil disubmit', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.green, + colorText: Colors.white, + ); + + // Update step + currentStep.value = 1; + } + + // Cancel payment + void cancelPayment() { + Get.back(); + } + + // Debug function to check sewa_aset table structure + void checkSewaAsetTableStructure() { + try { + debugPrint('🔍 DEBUG: Checking sewa_aset table structure'); + final client = asetProvider.client; + + // Get a single record to check field names + client + .from('sewa_aset') + .select('*') + .limit(1) + .then((response) { + if (response.isNotEmpty) { + final record = response.first; + debugPrint('📋 SEWA_ASET TABLE STRUCTURE:'); + debugPrint('Available fields in sewa_aset table:'); + + record.forEach((key, value) { + debugPrint(' $key: (${value != null ? value.runtimeType : 'null'})'); + }); + + // Specifically check for time fields + final timeFields = [ + 'waktu_mulai', + 'waktu_selesai', + 'start_time', + 'end_time', + ]; + for (final field in timeFields) { + debugPrint( + ' Field "$field" exists: ${record.containsKey(field)}', + ); + if (record.containsKey(field)) { + debugPrint(' Field "$field" value: ${record[field]}'); + } + } + } else { + debugPrint('⚠️ No records found in sewa_aset table'); + } + }) + .catchError((e) { + debugPrint('❌ Error checking sewa_aset table: $e'); + }); + } catch (e) { + debugPrint('❌ Error in checkSewaAsetTableStructure: $e'); + } + } + + // Load bank accounts from akun_bank table + Future loadBankAccounts() async { + debugPrint('Loading bank accounts from akun_bank table...'); + try { + final data = await asetProvider.getBankAccounts(); + if (data.isNotEmpty) { + bankAccounts.assignAll(data); + debugPrint('✅ Bank accounts loaded: ${bankAccounts.length} accounts found'); + + // Debug the bank accounts data + debugPrint('📋 BANK ACCOUNTS DETAILS:'); + for (var account in bankAccounts) { + debugPrint(' Bank: ${account['nama_bank']}, Account: ${account['nama_akun']}, Number: ${account['no_rekening']}'); + } + } else { + debugPrint('⚠️ No bank accounts found in akun_bank table'); + } + } catch (e) { + debugPrint('❌ Error loading bank accounts: $e'); + } + } + + // Helper method to upload image to Supabase storage + Future _uploadToSupabaseStorage(dynamic imageFile, String fileName, StreamController progressNotifier) async { + try { + debugPrint('🔄 Uploading image to Supabase storage: $fileName'); + + // If it's already a WebImageFile, just return the URL + if (imageFile is WebImageFile) { + progressNotifier.add(1.0); // No upload needed + return imageFile.imageUrl; + } + + // Handle File objects + if (imageFile is File) { + // Get file bytes + List fileBytes = await imageFile.readAsBytes(); + + // Upload to Supabase Storage + await client.storage + .from('bukti.pembayaran') + .uploadBinary( + fileName, + Uint8List.fromList(fileBytes), + fileOptions: const FileOptions( + cacheControl: '3600', + upsert: false, + ), + ); + + // Get public URL + final String publicUrl = client.storage.from('bukti.pembayaran').getPublicUrl(fileName); + + debugPrint('✅ Upload successful: $publicUrl'); + progressNotifier.add(1.0); // Upload complete + + return publicUrl; + } + + // If we get here, we don't know how to handle this type + throw Exception('Unsupported image type: ${imageFile.runtimeType}'); + } catch (e) { + debugPrint('❌ Error uploading to Supabase storage: $e'); + return null; + } finally { + progressNotifier.close(); + } + } + + // Helper method to save image URL to foto_pembayaran table + Future _saveToFotoPembayaranTable(String imageUrl) async { + try { + debugPrint('🔄 Saving image URL to foto_pembayaran table...'); + + // Get the tagihan_sewa_id from the tagihanSewa object + final dynamic tagihanSewaId = tagihanSewa.value['id']; + + if (tagihanSewaId == null || tagihanSewaId.toString().isEmpty) { + throw Exception('tagihan_sewa_id not found in tagihanSewa data'); + } + + debugPrint('🔄 Using tagihan_sewa_id: $tagihanSewaId'); + + // Prepare the data to insert + final Map data = { + 'tagihan_sewa_id': tagihanSewaId, + 'foto_pembayaran': imageUrl, + 'created_at': DateTime.now().toIso8601String(), + }; + + // Insert data into the foto_pembayaran table + final response = await client + .from('foto_pembayaran') + .insert(data) + .select() + .single(); + + debugPrint('✅ Image URL saved to foto_pembayaran table: ${response['id']}'); + } catch (e) { + debugPrint('❌ Error in _saveToFotoPembayaranTable: $e'); + throw Exception('Failed to save image URL to database: $e'); + } + } + + // Load existing payment proof images + Future loadExistingPaymentProofImages() async { + try { + debugPrint('🔄 Loading existing payment proof images for tagihan_sewa_id: ${tagihanSewa.value['id']}'); + + // Check if we have a valid tagihan_sewa_id + final dynamic tagihanSewaId = tagihanSewa.value['id']; + if (tagihanSewaId == null || tagihanSewaId.toString().isEmpty) { + debugPrint('⚠️ No valid tagihan_sewa_id found, skipping image load'); + return; + } + + // First, make a test query to see the structure of the response + final testResponse = await client + .from('foto_pembayaran') + .select() + .limit(1); + + // Log the test response structure + if (testResponse.isNotEmpty) { + debugPrint('💾 DEBUG: Test database response: ${testResponse[0]}'); + testResponse[0].forEach((key, value) { + debugPrint('💾 DEBUG: Field $key = $value (${value?.runtimeType})'); + }); + } + + // Now make the actual query for this tagihan_sewa_id + final List response = await client + .from('foto_pembayaran') + .select() + .eq('tagihan_sewa_id', tagihanSewaId) + .order('created_at', ascending: false); + + debugPrint('🔄 Found ${response.length} existing payment proof images'); + + // Clear existing tracking lists + paymentProofImages.clear(); + originalImages.clear(); + imagesToDelete.clear(); + hasUnsavedChanges.value = false; + + // Process each image in the response + for (final item in response) { + // Extract the image URL + final String imageUrl = item['foto_pembayaran']; + + // Extract the ID - debug the item structure + debugPrint('💾 Image data: $item'); + + // Get the ID field - in Supabase, this is a UUID string + String imageId = ''; + try { + if (item.containsKey('id')) { + final dynamic rawId = item['id']; + if (rawId != null) { + // Store ID as string since it's a UUID + imageId = rawId.toString(); + } + debugPrint('🔄 Image ID: $imageId'); + } + } catch (e) { + debugPrint('❌ Error getting image ID: $e'); + } + + // Create the WebImageFile object + final webImageFile = WebImageFile(imageUrl); + webImageFile.id = imageId; + + // Add to tracking lists + paymentProofImages.add(webImageFile); + originalImages.add(webImageFile); + + debugPrint('✅ Added image: $imageUrl with ID: $imageId'); + } + + // Update the UI + update(); + + } catch (e) { + debugPrint('❌ Error loading payment proof images: $e'); + } + } + + // Refresh all data + Future refreshData() async { + debugPrint('Refreshing payment page data...'); + isLoading.value = true; + + try { + // Reload all data + await Future.delayed(const Duration(milliseconds: 500)); // Small delay for better UX + loadOrderDetails(); + loadTagihanSewaDetails(); + loadSewaAsetDetails(); + loadBankAccounts(); // Load bank accounts data + + // Explicitly update the current step based on the status + // This ensures the progress timeline is always in sync with the actual status + updateCurrentStepBasedOnStatus(); + + // Restart countdown timer if needed + if (orderDetails.value['status'] == 'MENUNGGU PEMBAYARAN') { + _countdownTimer?.cancel(); + startCountdownTimer(); + } + + debugPrint('Data refresh completed'); + } catch (e) { + debugPrint('Error refreshing data: $e'); + } finally { + isLoading.value = false; + } + + return Future.value(); + } +} diff --git a/lib/app/modules/warga/controllers/sewa_aset_controller.dart b/lib/app/modules/warga/controllers/sewa_aset_controller.dart new file mode 100644 index 0000000..a64d93f --- /dev/null +++ b/lib/app/modules/warga/controllers/sewa_aset_controller.dart @@ -0,0 +1,471 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import 'package:intl/intl.dart'; +import '../../../data/providers/aset_provider.dart'; +import '../../../data/models/aset_model.dart'; +import '../../../routes/app_routes.dart'; +import '../../../data/models/pesanan_model.dart'; +import '../../../data/models/satuan_waktu_model.dart'; +import '../../../data/models/satuan_waktu_sewa_model.dart'; +import '../../../data/providers/auth_provider.dart'; +import '../../../data/providers/pesanan_provider.dart'; +import '../../../services/navigation_service.dart'; +import '../../../services/service_manager.dart'; +import 'package:get_storage/get_storage.dart'; + +class SewaAsetController extends GetxController + with GetSingleTickerProviderStateMixin { + final AsetProvider _asetProvider = Get.find(); + final AuthProvider authProvider = Get.find(); + final PesananProvider pesananProvider = Get.put(PesananProvider()); + final NavigationService navigationService = Get.find(); + final box = GetStorage(); + + // Tab controller + late TabController tabController; + // Reactive tab index + final currentTabIndex = 0.obs; + + // State variables + final asets = [].obs; + final filteredAsets = [].obs; + + // Paket-related variables + final pakets = RxList([]); + final filteredPakets = RxList([]); + final isLoadingPakets = false.obs; + + final isLoading = true.obs; + + // Search controller + final TextEditingController searchController = TextEditingController(); + + // Reactive variables + final isOrdering = false.obs; + final selectedAset = Rx(null); + final selectedSatuanWaktuSewa = Rx(null); + final selectedDurasi = 1.obs; + final totalHarga = 0.obs; + final selectedDate = DateTime.now().obs; + final selectedTime = '08:00'.obs; + final satuanWaktuDropdownItems = + >[].obs; + + // Flag untuk menangani hot reload + final hasInitialized = false.obs; + + @override + void onInit() { + super.onInit(); + debugPrint('🚀 SewaAsetController: onInit called'); + + // Initialize tab controller + tabController = TabController(length: 2, vsync: this); + // Listen for tab changes + tabController.addListener(() { + currentTabIndex.value = tabController.index; + + // Load packages data when switching to package tab for the first time + if (currentTabIndex.value == 1 && pakets.isEmpty) { + loadPakets(); + } + }); + + loadAsets(); + + searchController.addListener(() { + if (currentTabIndex.value == 0) { + filterAsets(searchController.text); + } else { + filterPakets(searchController.text); + } + }); + + hasInitialized.value = true; + } + + @override + void onReady() { + super.onReady(); + debugPrint('🚀 SewaAsetController: onReady called'); + } + + @override + void onClose() { + debugPrint('🧹 SewaAsetController: onClose called'); + searchController.dispose(); + tabController.dispose(); + super.onClose(); + } + + // Method untuk menangani hot reload + void handleHotReload() { + debugPrint('🔥 Hot reload detected in SewaAsetController'); + if (!hasInitialized.value) { + debugPrint('🔄 Reinitializing SewaAsetController after hot reload'); + loadAsets(); + if (currentTabIndex.value == 1) { + loadPakets(); + } + hasInitialized.value = true; + } + } + + // Method untuk menangani tombol back + void onBackPressed() { + debugPrint('🔙 Back button pressed in SewaAsetView'); + navigationService.backFromSewaAset(); + } + + Future loadAsets() async { + try { + isLoading.value = true; + final sewaAsets = await _asetProvider.getSewaAsets(); + + // Debug data satuan waktu sewa yang diterima + debugPrint('===== DEBUG ASET & SATUAN WAKTU SEWA ====='); + for (var aset in sewaAsets) { + debugPrint('Aset: ${aset.nama} (ID: ${aset.id})'); + + if (aset.satuanWaktuSewa.isEmpty) { + debugPrint(' - Tidak ada satuan waktu sewa yang terkait'); + } else { + debugPrint( + ' - Memiliki ${aset.satuanWaktuSewa.length} satuan waktu sewa:', + ); + for (var sws in aset.satuanWaktuSewa) { + debugPrint(' * ID: ${sws['id']}'); + debugPrint(' Aset ID: ${sws['aset_id']}'); + debugPrint(' Satuan Waktu ID: ${sws['satuan_waktu_id']}'); + debugPrint(' Harga: ${sws['harga']}'); + debugPrint(' Nama Satuan Waktu: ${sws['nama_satuan_waktu']}'); + debugPrint(' -----'); + } + } + debugPrint('====================================='); + } + + asets.assignAll(sewaAsets); + filteredAsets.assignAll(sewaAsets); + + // Tambahkan log info tentang jumlah aset yang berhasil dimuat + debugPrint('Loaded ${sewaAsets.length} aset sewa successfully'); + } catch (e) { + debugPrint('Error loading asets: $e'); + Get.snackbar( + 'Error', + 'Terjadi kesalahan saat memuat data aset', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + ); + } finally { + isLoading.value = false; + } + } + + void filterAsets(String query) { + if (query.isEmpty) { + filteredAsets.assignAll(asets); + } else { + filteredAsets.assignAll( + asets + .where( + (aset) => aset.nama.toLowerCase().contains(query.toLowerCase()), + ) + .toList(), + ); + } + } + + void refreshAsets() { + loadAsets(); + } + + String formatPrice(dynamic price) { + if (price == null) return 'Rp 0'; + + // Handle different types + num numericPrice; + if (price is int || price is double) { + numericPrice = price; + } else if (price is String) { + numericPrice = double.tryParse(price) ?? 0; + } else { + return 'Rp 0'; + } + + final formatter = NumberFormat.currency( + locale: 'id', + symbol: 'Rp ', + decimalDigits: 0, + ); + return formatter.format(numericPrice); + } + + void selectAset(AsetModel aset) { + selectedAset.value = aset; + // Reset related values + selectedSatuanWaktuSewa.value = null; + selectedDurasi.value = 1; + totalHarga.value = 0; + + // Prepare dropdown items for satuan waktu sewa + updateSatuanWaktuDropdown(); + } + + void updateSatuanWaktuDropdown() { + satuanWaktuDropdownItems.clear(); + + if (selectedAset.value != null && + selectedAset.value!.satuanWaktuSewa.isNotEmpty) { + for (var item in selectedAset.value!.satuanWaktuSewa) { + final satuanWaktuSewa = SatuanWaktuSewaModel.fromJson(item); + satuanWaktuDropdownItems.add( + DropdownMenuItem( + value: satuanWaktuSewa, + child: Text( + '${satuanWaktuSewa.namaSatuanWaktu ?? "Unknown"} - Rp${NumberFormat.decimalPattern('id').format(satuanWaktuSewa.harga)}', + ), + ), + ); + } + } + } + + void selectSatuanWaktu(SatuanWaktuSewaModel? satuanWaktuSewa) { + selectedSatuanWaktuSewa.value = satuanWaktuSewa; + calculateTotalPrice(); + } + + void updateDurasi(int durasi) { + if (durasi < 1) durasi = 1; + selectedDurasi.value = durasi; + calculateTotalPrice(); + } + + void calculateTotalPrice() { + if (selectedSatuanWaktuSewa.value != null) { + totalHarga.value = + selectedSatuanWaktuSewa.value!.harga * selectedDurasi.value; + } else { + totalHarga.value = 0; + } + } + + void pickDate(DateTime date) { + selectedDate.value = date; + } + + void pickTime(String time) { + selectedTime.value = time; + } + + // Helper method to show error snackbar + void _showError(String message) { + Get.snackbar( + 'Error', + message, + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + ); + } + + // Method untuk melakukan pemesanan + Future placeOrderAset() async { + if (selectedAset.value == null) { + _showError('Silakan pilih aset terlebih dahulu'); + return; + } + + if (selectedSatuanWaktuSewa.value == null) { + _showError('Silakan pilih satuan waktu sewa'); + return; + } + + if (selectedDurasi.value <= 0) { + _showError('Durasi sewa harus lebih dari 0'); + return; + } + + final userId = authProvider.getCurrentUserId(); + if (userId == null) { + _showError('Anda belum login, silakan login terlebih dahulu'); + return; + } + + try { + final result = await _asetProvider.orderAset( + userId: userId, + asetId: selectedAset.value!.id, + satuanWaktuSewaId: selectedSatuanWaktuSewa.value!.id, + durasi: selectedDurasi.value, + totalHarga: totalHarga.value, + ); + + if (result) { + Get.snackbar( + 'Sukses', + 'Pesanan berhasil dibuat', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.green, + colorText: Colors.white, + ); + resetSelections(); + } else { + _showError('Gagal membuat pesanan'); + } + } catch (e) { + _showError('Terjadi kesalahan: $e'); + } + } + + // Method untuk reset pilihan setelah pemesanan berhasil + void resetSelections() { + selectedAset.value = null; + selectedSatuanWaktuSewa.value = null; + selectedDurasi.value = 1; + totalHarga.value = 0; + } + + // Load packages data from paket table + Future loadPakets() async { + try { + isLoadingPakets.value = true; + + // Call the provider method to get paket data + final paketData = await _asetProvider.getPakets(); + + // Debug paket data + debugPrint('===== DEBUG PAKET & SATUAN WAKTU SEWA ====='); + for (var paket in paketData) { + debugPrint('Paket: ${paket['nama']} (ID: ${paket['id']})'); + + if (paket['satuanWaktuSewa'] == null || + paket['satuanWaktuSewa'].isEmpty) { + debugPrint(' - Tidak ada satuan waktu sewa yang terkait'); + } else { + debugPrint( + ' - Memiliki ${paket['satuanWaktuSewa'].length} satuan waktu sewa:', + ); + for (var sws in paket['satuanWaktuSewa']) { + debugPrint(' * ID: ${sws['id']}'); + debugPrint(' Paket ID: ${sws['paket_id']}'); + debugPrint(' Satuan Waktu ID: ${sws['satuan_waktu_id']}'); + debugPrint(' Harga: ${sws['harga']}'); + debugPrint(' Nama Satuan Waktu: ${sws['nama_satuan_waktu']}'); + debugPrint(' -----'); + } + } + debugPrint('====================================='); + } + + pakets.assignAll(paketData); + filteredPakets.assignAll(paketData); + + debugPrint('Loaded ${paketData.length} paket successfully'); + } catch (e) { + debugPrint('Error loading pakets: $e'); + Get.snackbar( + 'Error', + 'Terjadi kesalahan saat memuat data paket', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + ); + } finally { + isLoadingPakets.value = false; + } + } + + // Method to filter pakets based on search query + void filterPakets(String query) { + if (query.isEmpty) { + filteredPakets.assignAll(pakets); + } else { + filteredPakets.assignAll( + pakets + .where( + (paket) => paket['nama'].toString().toLowerCase().contains( + query.toLowerCase(), + ), + ) + .toList(), + ); + } + } + + void refreshPakets() { + loadPakets(); + } + + // Method to load paket data + Future loadPaketData() async { + try { + isLoadingPakets.value = true; + final result = await _asetProvider.getPakets(); + if (result != null) { + pakets.clear(); + filteredPakets.clear(); + pakets.addAll(result); + filteredPakets.addAll(result); + } + } catch (e) { + debugPrint('Error loading pakets: $e'); + Get.snackbar( + 'Error', + 'Gagal memuat data paket. Silakan coba lagi nanti.', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + ); + } finally { + isLoadingPakets.value = false; + } + } + + // Method for placing an order for a paket + Future placeOrderPaket({ + required String paketId, + required String satuanWaktuSewaId, + required int durasi, + required int totalHarga, + }) async { + debugPrint('===== PLACE ORDER PAKET ====='); + debugPrint('paketId: $paketId'); + debugPrint('satuanWaktuSewaId: $satuanWaktuSewaId'); + debugPrint('durasi: $durasi'); + debugPrint('totalHarga: $totalHarga'); + + final userId = authProvider.getCurrentUserId(); + if (userId == null) { + _showError('Anda belum login, silakan login terlebih dahulu'); + return; + } + + try { + final result = await _asetProvider.orderPaket( + userId: userId, + paketId: paketId, + satuanWaktuSewaId: satuanWaktuSewaId, + durasi: durasi, + totalHarga: totalHarga, + ); + + if (result) { + Get.snackbar( + 'Sukses', + 'Pesanan paket berhasil dibuat', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.green, + colorText: Colors.white, + ); + } else { + _showError('Gagal membuat pesanan paket'); + } + } catch (e) { + _showError('Terjadi kesalahan: $e'); + } + } +} diff --git a/lib/app/modules/warga/controllers/warga_dashboard_controller.dart b/lib/app/modules/warga/controllers/warga_dashboard_controller.dart new file mode 100644 index 0000000..739efa1 --- /dev/null +++ b/lib/app/modules/warga/controllers/warga_dashboard_controller.dart @@ -0,0 +1,180 @@ +import 'package:get/get.dart'; +import '../../../data/providers/auth_provider.dart'; +import '../../../routes/app_routes.dart'; +import '../../../services/navigation_service.dart'; + +class WargaDashboardController extends GetxController { + // Dependency injection + final AuthProvider _authProvider = Get.find(); + final NavigationService navigationService = Get.find(); + + // User data + final userName = 'Pengguna Warga'.obs; + final userRole = 'Warga'.obs; + final userAvatar = Rx(null); + final userEmail = ''.obs; + final userNik = ''.obs; + final userPhone = ''.obs; + final userAddress = ''.obs; + + // Navigation state is now managed by NavigationService + + // Sample data (would be loaded from API) + final activeRentals = >[].obs; + + // Active bills + final activeBills = >[].obs; + + // Active penalties + final activePenalties = >[].obs; + + @override + void onInit() { + super.onInit(); + + // Set navigation index to Home (0) + navigationService.setNavIndex(0); + + // Load user data + _loadUserData(); + + // Load sample data + _loadSampleData(); + + // Load dummy data for bills and penalties + loadDummyData(); + + // Load unpaid rentals + loadUnpaidRentals(); + } + + Future _loadUserData() async { + try { + // Get the full name from warga_desa table + final fullName = await _authProvider.getUserFullName(); + if (fullName != null && fullName.isNotEmpty) { + userName.value = fullName; + } + + // Get the avatar URL + final avatar = await _authProvider.getUserAvatar(); + userAvatar.value = avatar; + + // Get the role name + final roleId = await _authProvider.getUserRoleId(); + if (roleId != null) { + final roleName = await _authProvider.getRoleName(roleId); + if (roleName != null) { + userRole.value = roleName; + } + } + + // Load additional user data + // In a real app, these would come from the API/database + userEmail.value = await _authProvider.getUserEmail() ?? ''; + userNik.value = await _authProvider.getUserNIK() ?? ''; + userPhone.value = await _authProvider.getUserPhone() ?? ''; + userAddress.value = await _authProvider.getUserAddress() ?? ''; + } catch (e) { + print('Error loading user data: $e'); + } + } + + void _loadSampleData() { + // Clear any existing data + activeRentals.clear(); + + // Load active rentals from API + // For now, using sample data + activeRentals.add({ + 'id': '1', + 'name': 'Kursi', + 'time': '24 April 2023, 10:00 - 12:00', + 'duration': '2 jam', + 'price': 'Rp50.000', + 'can_extend': true, + }); + } + + void extendRental(String rentalId) { + // Implementasi untuk memperpanjang sewa + // Seharusnya melakukan API call ke backend + } + + void endRental(String rentalId) { + // Implementasi untuk mengakhiri sewa + // Seharusnya melakukan API call ke backend + } + + void navigateToRentals() { + // Navigate to SewaAset using the navigation service + navigationService.toSewaAset(); + } + + void refreshData() { + // Refresh data from repository + _loadSampleData(); + loadDummyData(); + } + + void onNavItemTapped(int index) { + if (navigationService.currentNavIndex.value == index) { + return; // Don't do anything if same tab + } + + navigationService.setNavIndex(index); + + switch (index) { + case 0: + // Already on Home tab + break; + case 1: + // Navigate to Sewa page + navigationService.toWargaSewa(); + break; + } + } + + void logout() async { + await _authProvider.signOut(); + navigationService.toLogin(); + } + + void loadDummyData() { + // Dummy active bills + activeBills.clear(); + activeBills.add({ + 'id': '1', + 'title': 'Tagihan Air', + 'due_date': '30 Apr 2023', + 'amount': 'Rp 125.000', + }); + activeBills.add({ + 'id': '2', + 'title': 'Sewa Aula Desa', + 'due_date': '15 Apr 2023', + 'amount': 'Rp 350.000', + }); + + // Dummy active penalties + activePenalties.clear(); + activePenalties.add({ + 'id': '1', + 'title': 'Keterlambatan Sewa Traktor', + 'days_late': '7', + 'amount': 'Rp 75.000', + }); + } + + Future loadUnpaidRentals() async { + try { + final results = await _authProvider.getSewaAsetByStatus([ + 'MENUNGGU PEMBAYARAN', + 'PEMBAYARANAN DENDA', + ]); + activeBills.value = results; + } catch (e) { + print('Error loading unpaid rentals: $e'); + } + } +} diff --git a/lib/app/modules/warga/controllers/warga_sewa_controller.dart b/lib/app/modules/warga/controllers/warga_sewa_controller.dart new file mode 100644 index 0000000..e4d90c5 --- /dev/null +++ b/lib/app/modules/warga/controllers/warga_sewa_controller.dart @@ -0,0 +1,710 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import 'package:intl/intl.dart'; +import '../../../routes/app_routes.dart'; +import '../../../services/navigation_service.dart'; +import '../../../data/providers/auth_provider.dart'; +import '../../../data/providers/aset_provider.dart'; + +class WargaSewaController extends GetxController + with GetSingleTickerProviderStateMixin { + late TabController tabController; + + // Get navigation service + final NavigationService navigationService = Get.find(); + + // Get auth provider for user data and sewa_aset queries + final AuthProvider authProvider = Get.find(); + + // Get aset provider for asset data + final AsetProvider asetProvider = Get.find(); + + // Observable lists for different rental statuses + final rentals = >[].obs; + final pendingRentals = >[].obs; + final acceptedRentals = >[].obs; + final completedRentals = >[].obs; + final cancelledRentals = >[].obs; + + // Loading states + final isLoading = false.obs; + final isLoadingPending = false.obs; + final isLoadingAccepted = false.obs; + final isLoadingCompleted = false.obs; + final isLoadingCancelled = false.obs; + + @override + void onInit() { + super.onInit(); + + // Ensure tab index is set to Sewa (1) + navigationService.setNavIndex(1); + + // Initialize tab controller with 6 tabs + tabController = TabController(length: 6, vsync: this); + + // Set initial tab and ensure tab view is updated + tabController.index = 0; + + // Load real rental data for all tabs + loadRentalsData(); + loadPendingRentals(); + loadAcceptedRentals(); + loadCompletedRentals(); + loadCancelledRentals(); + + // Listen to tab changes to update state if needed + tabController.addListener(() { + // Update selected tab index when changed via swipe + final int currentIndex = tabController.index; + debugPrint('Tab changed to index: $currentIndex'); + + // Load data for the selected tab if not already loaded + switch (currentIndex) { + case 0: // Belum Bayar + if (rentals.isEmpty && !isLoading.value) { + loadRentalsData(); + } + break; + case 1: // Pending + if (pendingRentals.isEmpty && !isLoadingPending.value) { + loadPendingRentals(); + } + break; + case 2: // Diterima + if (acceptedRentals.isEmpty && !isLoadingAccepted.value) { + loadAcceptedRentals(); + } + break; + case 3: // Aktif + // Add Aktif tab logic when needed + break; + case 4: // Selesai + if (completedRentals.isEmpty && !isLoadingCompleted.value) { + loadCompletedRentals(); + } + break; + case 5: // Dibatalkan + if (cancelledRentals.isEmpty && !isLoadingCancelled.value) { + loadCancelledRentals(); + } + break; + } + }); + } + + @override + void onReady() { + super.onReady(); + // Ensure nav index is set to Sewa (1) when the controller is ready + // This helps maintain correct state during hot reload + navigationService.setNavIndex(1); + } + + @override + void onClose() { + tabController.dispose(); + super.onClose(); + } + + // Load real data from sewa_aset table + Future loadRentalsData() async { + try { + isLoading.value = true; + + // Clear existing data + rentals.clear(); + + // Get sewa_aset data with status "MENUNGGU PEMBAYARAN" or "PEMBAYARAN DENDA" + final sewaAsetList = await authProvider.getSewaAsetByStatus([ + 'MENUNGGU PEMBAYARAN', + 'PEMBAYARAN DENDA' + ]); + + debugPrint('Fetched ${sewaAsetList.length} sewa_aset records'); + + // Process each sewa_aset record + for (var sewaAset in sewaAsetList) { + // Get asset details if aset_id is available + String assetName = 'Aset'; + String? imageUrl; + String namaSatuanWaktu = sewaAset['nama_satuan_waktu'] ?? 'jam'; + + if (sewaAset['aset_id'] != null) { + final asetData = await asetProvider.getAsetById(sewaAset['aset_id']); + if (asetData != null) { + assetName = asetData.nama; + imageUrl = asetData.imageUrl; + } + } + + // Parse waktu mulai and waktu selesai + DateTime? waktuMulai; + DateTime? waktuSelesai; + String waktuSewa = ''; + String tanggalSewa = ''; + String jamMulai = ''; + String jamSelesai = ''; + String rentangWaktu = ''; + + if (sewaAset['waktu_mulai'] != null && sewaAset['waktu_selesai'] != null) { + waktuMulai = DateTime.parse(sewaAset['waktu_mulai']); + waktuSelesai = DateTime.parse(sewaAset['waktu_selesai']); + + // Format for display + final formatTanggal = DateFormat('dd-MM-yyyy'); + final formatWaktu = DateFormat('HH:mm'); + final formatTanggalLengkap = DateFormat('dd MMMM yyyy', 'id_ID'); + + tanggalSewa = formatTanggalLengkap.format(waktuMulai); + jamMulai = formatWaktu.format(waktuMulai); + jamSelesai = formatWaktu.format(waktuSelesai); + + // Format based on satuan waktu + if (namaSatuanWaktu.toLowerCase() == 'jam') { + // For hours, show time range on same day + rentangWaktu = '$jamMulai - $jamSelesai'; + } else if (namaSatuanWaktu.toLowerCase() == 'hari') { + // For days, show date range + final tanggalMulai = formatTanggalLengkap.format(waktuMulai); + final tanggalSelesai = formatTanggalLengkap.format(waktuSelesai); + rentangWaktu = '$tanggalMulai - $tanggalSelesai'; + } else { + // Default format + rentangWaktu = '$jamMulai - $jamSelesai'; + } + + // Full time format for waktuSewa + waktuSewa = '${formatTanggal.format(waktuMulai)} | ${formatWaktu.format(waktuMulai)} - ' + '${formatTanggal.format(waktuSelesai)} | ${formatWaktu.format(waktuSelesai)}'; + } + + // Format price + String totalPrice = 'Rp 0'; + if (sewaAset['total'] != null) { + final formatter = NumberFormat.currency( + locale: 'id', + symbol: 'Rp ', + decimalDigits: 0, + ); + totalPrice = formatter.format(sewaAset['total']); + } + + // Add to rentals list + rentals.add({ + 'id': sewaAset['id'] ?? '', + 'name': assetName, + 'imageUrl': imageUrl ?? 'assets/images/gambar_pendukung.jpg', + 'jumlahUnit': sewaAset['kuantitas'] ?? 0, + 'waktuSewa': waktuSewa, + 'duration': '${sewaAset['durasi'] ?? 0} ${namaSatuanWaktu}', + 'status': sewaAset['status'] ?? 'MENUNGGU PEMBAYARAN', + 'totalPrice': totalPrice, + 'countdown': '00:59:59', // Default countdown + 'tanggalSewa': tanggalSewa, + 'jamMulai': jamMulai, + 'jamSelesai': jamSelesai, + 'rentangWaktu': rentangWaktu, + 'namaSatuanWaktu': namaSatuanWaktu, + 'waktuMulai': sewaAset['waktu_mulai'], + 'waktuSelesai': sewaAset['waktu_selesai'], + }); + } + + debugPrint('Processed ${rentals.length} rental records'); + } catch (e) { + debugPrint('Error loading rentals data: $e'); + } finally { + isLoading.value = false; + } + } + + // Navigation methods + void navigateToRentals() { + navigationService.toSewaAset(); + } + + void onNavItemTapped(int index) { + if (navigationService.currentNavIndex.value == index) return; + + navigationService.setNavIndex(index); + + switch (index) { + case 0: + // Navigate to Home + Get.offNamed(Routes.WARGA_DASHBOARD); + break; + case 1: + // Already on Sewa tab + break; + case 2: + // Navigate to Langganan + Get.offNamed(Routes.LANGGANAN); + break; + } + } + + // Actions + void cancelRental(String id) { + Get.snackbar( + 'Info', + 'Pembatalan berhasil', + snackPosition: SnackPosition.BOTTOM, + ); + } + + // Navigate to payment page with the selected rental data + void viewRentalDetail(Map rental) { + debugPrint('Navigating to payment page with rental ID: ${rental['id']}'); + + // Navigate to payment page with rental data + Get.toNamed( + Routes.PEMBAYARAN_SEWA, + arguments: { + 'orderId': rental['id'], + 'rentalData': rental, + }, + ); + } + + void payRental(String id) { + Get.snackbar( + 'Info', + 'Navigasi ke halaman pembayaran', + snackPosition: SnackPosition.BOTTOM, + ); + } + + // Load data for the Selesai tab (status: SELESAI) + Future loadCompletedRentals() async { + try { + isLoadingCompleted.value = true; + + // Clear existing data + completedRentals.clear(); + + // Get sewa_aset data with status "SELESAI" + final sewaAsetList = await authProvider.getSewaAsetByStatus(['SELESAI']); + + debugPrint('Fetched ${sewaAsetList.length} completed sewa_aset records'); + + // Process each sewa_aset record + for (var sewaAset in sewaAsetList) { + // Get asset details if aset_id is available + String assetName = 'Aset'; + String? imageUrl; + String namaSatuanWaktu = sewaAset['nama_satuan_waktu'] ?? 'jam'; + + if (sewaAset['aset_id'] != null) { + final asetData = await asetProvider.getAsetById(sewaAset['aset_id']); + if (asetData != null) { + assetName = asetData.nama; + imageUrl = asetData.imageUrl; + } + } + + // Parse waktu mulai and waktu selesai + DateTime? waktuMulai; + DateTime? waktuSelesai; + String waktuSewa = ''; + String tanggalSewa = ''; + String jamMulai = ''; + String jamSelesai = ''; + String rentangWaktu = ''; + + if (sewaAset['waktu_mulai'] != null && sewaAset['waktu_selesai'] != null) { + waktuMulai = DateTime.parse(sewaAset['waktu_mulai']); + waktuSelesai = DateTime.parse(sewaAset['waktu_selesai']); + + // Format for display + final formatTanggal = DateFormat('dd-MM-yyyy'); + final formatWaktu = DateFormat('HH:mm'); + final formatTanggalLengkap = DateFormat('dd MMMM yyyy', 'id_ID'); + + tanggalSewa = formatTanggalLengkap.format(waktuMulai); + jamMulai = formatWaktu.format(waktuMulai); + jamSelesai = formatWaktu.format(waktuSelesai); + + // Format based on satuan waktu + if (namaSatuanWaktu.toLowerCase() == 'jam') { + // For hours, show time range on same day + rentangWaktu = '$jamMulai - $jamSelesai'; + } else if (namaSatuanWaktu.toLowerCase() == 'hari') { + // For days, show date range + final tanggalMulai = formatTanggalLengkap.format(waktuMulai); + final tanggalSelesai = formatTanggalLengkap.format(waktuSelesai); + rentangWaktu = '$tanggalMulai - $tanggalSelesai'; + } else { + // Default format + rentangWaktu = '$jamMulai - $jamSelesai'; + } + + // Full time format for waktuSewa + waktuSewa = '${formatTanggal.format(waktuMulai)} | ${formatWaktu.format(waktuMulai)} - ' + '${formatTanggal.format(waktuSelesai)} | ${formatWaktu.format(waktuSelesai)}'; + } + + // Format price + String totalPrice = 'Rp 0'; + if (sewaAset['total'] != null) { + final formatter = NumberFormat.currency( + locale: 'id', + symbol: 'Rp ', + decimalDigits: 0, + ); + totalPrice = formatter.format(sewaAset['total']); + } + + // Add to completed rentals list + completedRentals.add({ + 'id': sewaAset['id'] ?? '', + 'name': assetName, + 'imageUrl': imageUrl ?? 'assets/images/gambar_pendukung.jpg', + 'jumlahUnit': sewaAset['kuantitas'] ?? 0, + 'waktuSewa': waktuSewa, + 'duration': '${sewaAset['durasi'] ?? 0} ${namaSatuanWaktu}', + 'status': sewaAset['status'] ?? 'SELESAI', + 'totalPrice': totalPrice, + 'tanggalSewa': tanggalSewa, + 'jamMulai': jamMulai, + 'jamSelesai': jamSelesai, + 'rentangWaktu': rentangWaktu, + 'namaSatuanWaktu': namaSatuanWaktu, + 'waktuMulai': sewaAset['waktu_mulai'], + 'waktuSelesai': sewaAset['waktu_selesai'], + }); + } + + debugPrint('Processed ${completedRentals.length} completed rental records'); + } catch (e) { + debugPrint('Error loading completed rentals data: $e'); + } finally { + isLoadingCompleted.value = false; + } + } + + // Load data for the Dibatalkan tab (status: DIBATALKAN) + Future loadCancelledRentals() async { + try { + isLoadingCancelled.value = true; + + // Clear existing data + cancelledRentals.clear(); + + // Get sewa_aset data with status "DIBATALKAN" + final sewaAsetList = await authProvider.getSewaAsetByStatus(['DIBATALKAN']); + + debugPrint('Fetched ${sewaAsetList.length} cancelled sewa_aset records'); + + // Process each sewa_aset record + for (var sewaAset in sewaAsetList) { + // Get asset details if aset_id is available + String assetName = 'Aset'; + String? imageUrl; + String namaSatuanWaktu = sewaAset['nama_satuan_waktu'] ?? 'jam'; + + if (sewaAset['aset_id'] != null) { + final asetData = await asetProvider.getAsetById(sewaAset['aset_id']); + if (asetData != null) { + assetName = asetData.nama; + imageUrl = asetData.imageUrl; + } + } + + // Parse waktu mulai and waktu selesai + DateTime? waktuMulai; + DateTime? waktuSelesai; + String waktuSewa = ''; + String tanggalSewa = ''; + String jamMulai = ''; + String jamSelesai = ''; + String rentangWaktu = ''; + + if (sewaAset['waktu_mulai'] != null && sewaAset['waktu_selesai'] != null) { + waktuMulai = DateTime.parse(sewaAset['waktu_mulai']); + waktuSelesai = DateTime.parse(sewaAset['waktu_selesai']); + + // Format for display + final formatTanggal = DateFormat('dd-MM-yyyy'); + final formatWaktu = DateFormat('HH:mm'); + final formatTanggalLengkap = DateFormat('dd MMMM yyyy', 'id_ID'); + + tanggalSewa = formatTanggalLengkap.format(waktuMulai); + jamMulai = formatWaktu.format(waktuMulai); + jamSelesai = formatWaktu.format(waktuSelesai); + + // Format based on satuan waktu + if (namaSatuanWaktu.toLowerCase() == 'jam') { + // For hours, show time range on same day + rentangWaktu = '$jamMulai - $jamSelesai'; + } else if (namaSatuanWaktu.toLowerCase() == 'hari') { + // For days, show date range + final tanggalMulai = formatTanggalLengkap.format(waktuMulai); + final tanggalSelesai = formatTanggalLengkap.format(waktuSelesai); + rentangWaktu = '$tanggalMulai - $tanggalSelesai'; + } else { + // Default format + rentangWaktu = '$jamMulai - $jamSelesai'; + } + + // Full time format for waktuSewa + waktuSewa = '${formatTanggal.format(waktuMulai)} | ${formatWaktu.format(waktuMulai)} - ' + '${formatTanggal.format(waktuSelesai)} | ${formatWaktu.format(waktuSelesai)}'; + } + + // Format price + String totalPrice = 'Rp 0'; + if (sewaAset['total'] != null) { + final formatter = NumberFormat.currency( + locale: 'id', + symbol: 'Rp ', + decimalDigits: 0, + ); + totalPrice = formatter.format(sewaAset['total']); + } + + // Add to cancelled rentals list + cancelledRentals.add({ + 'id': sewaAset['id'] ?? '', + 'name': assetName, + 'imageUrl': imageUrl ?? 'assets/images/gambar_pendukung.jpg', + 'jumlahUnit': sewaAset['kuantitas'] ?? 0, + 'waktuSewa': waktuSewa, + 'duration': '${sewaAset['durasi'] ?? 0} ${namaSatuanWaktu}', + 'status': sewaAset['status'] ?? 'DIBATALKAN', + 'totalPrice': totalPrice, + 'tanggalSewa': tanggalSewa, + 'jamMulai': jamMulai, + 'jamSelesai': jamSelesai, + 'rentangWaktu': rentangWaktu, + 'namaSatuanWaktu': namaSatuanWaktu, + 'waktuMulai': sewaAset['waktu_mulai'], + 'waktuSelesai': sewaAset['waktu_selesai'], + 'alasanPembatalan': sewaAset['alasan_pembatalan'] ?? '-', + }); + } + + debugPrint('Processed ${cancelledRentals.length} cancelled rental records'); + } catch (e) { + debugPrint('Error loading cancelled rentals data: $e'); + } finally { + isLoadingCancelled.value = false; + } + } + + // Load data for the Pending tab (status: PERIKSA PEMBAYARAN) + Future loadPendingRentals() async { + try { + isLoadingPending.value = true; + + // Clear existing data + pendingRentals.clear(); + + // Get sewa_aset data with status "PERIKSA PEMBAYARAN" + final sewaAsetList = await authProvider.getSewaAsetByStatus(['PERIKSA PEMBAYARAN']); + + debugPrint('Fetched ${sewaAsetList.length} pending sewa_aset records'); + + // Process each sewa_aset record + for (var sewaAset in sewaAsetList) { + // Get asset details if aset_id is available + String assetName = 'Aset'; + String? imageUrl; + String namaSatuanWaktu = sewaAset['nama_satuan_waktu'] ?? 'jam'; + + if (sewaAset['aset_id'] != null) { + final asetData = await asetProvider.getAsetById(sewaAset['aset_id']); + if (asetData != null) { + assetName = asetData.nama; + imageUrl = asetData.imageUrl; + } + } + + // Parse waktu mulai and waktu selesai + DateTime? waktuMulai; + DateTime? waktuSelesai; + String waktuSewa = ''; + String tanggalSewa = ''; + String jamMulai = ''; + String jamSelesai = ''; + String rentangWaktu = ''; + + if (sewaAset['waktu_mulai'] != null && sewaAset['waktu_selesai'] != null) { + waktuMulai = DateTime.parse(sewaAset['waktu_mulai']); + waktuSelesai = DateTime.parse(sewaAset['waktu_selesai']); + + // Format for display + final formatTanggal = DateFormat('dd-MM-yyyy'); + final formatWaktu = DateFormat('HH:mm'); + final formatTanggalLengkap = DateFormat('dd MMMM yyyy', 'id_ID'); + + tanggalSewa = formatTanggalLengkap.format(waktuMulai); + jamMulai = formatWaktu.format(waktuMulai); + jamSelesai = formatWaktu.format(waktuSelesai); + + // Format based on satuan waktu + if (namaSatuanWaktu.toLowerCase() == 'jam') { + // For hours, show time range on same day + rentangWaktu = '$jamMulai - $jamSelesai'; + } else if (namaSatuanWaktu.toLowerCase() == 'hari') { + // For days, show date range + final tanggalMulai = formatTanggalLengkap.format(waktuMulai); + final tanggalSelesai = formatTanggalLengkap.format(waktuSelesai); + rentangWaktu = '$tanggalMulai - $tanggalSelesai'; + } else { + // Default format + rentangWaktu = '$jamMulai - $jamSelesai'; + } + + // Full time format for waktuSewa + waktuSewa = '${formatTanggal.format(waktuMulai)} | ${formatWaktu.format(waktuMulai)} - ' + '${formatTanggal.format(waktuSelesai)} | ${formatWaktu.format(waktuSelesai)}'; + } + + // Format price + String totalPrice = 'Rp 0'; + if (sewaAset['total'] != null) { + final formatter = NumberFormat.currency( + locale: 'id', + symbol: 'Rp ', + decimalDigits: 0, + ); + totalPrice = formatter.format(sewaAset['total']); + } + + // Add to pending rentals list + pendingRentals.add({ + 'id': sewaAset['id'] ?? '', + 'name': assetName, + 'imageUrl': imageUrl ?? 'assets/images/gambar_pendukung.jpg', + 'jumlahUnit': sewaAset['kuantitas'] ?? 0, + 'waktuSewa': waktuSewa, + 'duration': '${sewaAset['durasi'] ?? 0} ${namaSatuanWaktu}', + 'status': sewaAset['status'] ?? 'PERIKSA PEMBAYARAN', + 'totalPrice': totalPrice, + 'tanggalSewa': tanggalSewa, + 'jamMulai': jamMulai, + 'jamSelesai': jamSelesai, + 'rentangWaktu': rentangWaktu, + 'namaSatuanWaktu': namaSatuanWaktu, + 'waktuMulai': sewaAset['waktu_mulai'], + 'waktuSelesai': sewaAset['waktu_selesai'], + }); + } + + debugPrint('Processed ${pendingRentals.length} pending rental records'); + } catch (e) { + debugPrint('Error loading pending rentals data: $e'); + } finally { + isLoadingPending.value = false; + } + } + + // Load data for the Diterima tab (status: DITERIMA) + Future loadAcceptedRentals() async { + try { + isLoadingAccepted.value = true; + + // Clear existing data + acceptedRentals.clear(); + + // Get sewa_aset data with status "DITERIMA" + final sewaAsetList = await authProvider.getSewaAsetByStatus(['DITERIMA']); + + debugPrint('Fetched ${sewaAsetList.length} accepted sewa_aset records'); + + // Process each sewa_aset record + for (var sewaAset in sewaAsetList) { + // Get asset details if aset_id is available + String assetName = 'Aset'; + String? imageUrl; + String namaSatuanWaktu = sewaAset['nama_satuan_waktu'] ?? 'jam'; + + if (sewaAset['aset_id'] != null) { + final asetData = await asetProvider.getAsetById(sewaAset['aset_id']); + if (asetData != null) { + assetName = asetData.nama; + imageUrl = asetData.imageUrl; + } + } + + // Parse waktu mulai and waktu selesai + DateTime? waktuMulai; + DateTime? waktuSelesai; + String waktuSewa = ''; + String tanggalSewa = ''; + String jamMulai = ''; + String jamSelesai = ''; + String rentangWaktu = ''; + + if (sewaAset['waktu_mulai'] != null && sewaAset['waktu_selesai'] != null) { + waktuMulai = DateTime.parse(sewaAset['waktu_mulai']); + waktuSelesai = DateTime.parse(sewaAset['waktu_selesai']); + + // Format for display + final formatTanggal = DateFormat('dd-MM-yyyy'); + final formatWaktu = DateFormat('HH:mm'); + final formatTanggalLengkap = DateFormat('dd MMMM yyyy', 'id_ID'); + + tanggalSewa = formatTanggalLengkap.format(waktuMulai); + jamMulai = formatWaktu.format(waktuMulai); + jamSelesai = formatWaktu.format(waktuSelesai); + + // Format based on satuan waktu + if (namaSatuanWaktu.toLowerCase() == 'jam') { + // For hours, show time range on same day + rentangWaktu = '$jamMulai - $jamSelesai'; + } else if (namaSatuanWaktu.toLowerCase() == 'hari') { + // For days, show date range + final tanggalMulai = formatTanggalLengkap.format(waktuMulai); + final tanggalSelesai = formatTanggalLengkap.format(waktuSelesai); + rentangWaktu = '$tanggalMulai - $tanggalSelesai'; + } else { + // Default format + rentangWaktu = '$jamMulai - $jamSelesai'; + } + + // Full time format for waktuSewa + waktuSewa = '${formatTanggal.format(waktuMulai)} | ${formatWaktu.format(waktuMulai)} - ' + '${formatTanggal.format(waktuSelesai)} | ${formatWaktu.format(waktuSelesai)}'; + } + + // Format price + String totalPrice = 'Rp 0'; + if (sewaAset['total'] != null) { + final formatter = NumberFormat.currency( + locale: 'id', + symbol: 'Rp ', + decimalDigits: 0, + ); + totalPrice = formatter.format(sewaAset['total']); + } + + // Add to accepted rentals list + acceptedRentals.add({ + 'id': sewaAset['id'] ?? '', + 'name': assetName, + 'imageUrl': imageUrl ?? 'assets/images/gambar_pendukung.jpg', + 'jumlahUnit': sewaAset['kuantitas'] ?? 0, + 'waktuSewa': waktuSewa, + 'duration': '${sewaAset['durasi'] ?? 0} ${namaSatuanWaktu}', + 'status': sewaAset['status'] ?? 'DITERIMA', + 'totalPrice': totalPrice, + 'tanggalSewa': tanggalSewa, + 'jamMulai': jamMulai, + 'jamSelesai': jamSelesai, + 'rentangWaktu': rentangWaktu, + 'namaSatuanWaktu': namaSatuanWaktu, + 'waktuMulai': sewaAset['waktu_mulai'], + 'waktuSelesai': sewaAset['waktu_selesai'], + }); + } + + debugPrint('Processed ${acceptedRentals.length} accepted rental records'); + } catch (e) { + debugPrint('Error loading accepted rentals data: $e'); + } finally { + isLoadingAccepted.value = false; + } + } +} diff --git a/lib/app/modules/warga/views/order_sewa_aset_view.dart b/lib/app/modules/warga/views/order_sewa_aset_view.dart new file mode 100644 index 0000000..94a138d --- /dev/null +++ b/lib/app/modules/warga/views/order_sewa_aset_view.dart @@ -0,0 +1,2178 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:get/get.dart'; +import 'package:cached_network_image/cached_network_image.dart'; +import '../controllers/order_sewa_aset_controller.dart'; +import '../../../routes/app_routes.dart'; +import '../../../services/navigation_service.dart'; +import 'package:photo_view/photo_view.dart'; +import 'package:photo_view/photo_view_gallery.dart'; +import 'package:flutter_logs/flutter_logs.dart'; +import '../../../theme/app_colors.dart'; + +class OrderSewaAsetView extends GetView { + const OrderSewaAsetView({super.key}); + + @override + Widget build(BuildContext context) { + // Handle hot reload by checking if controller needs to be reset + WidgetsBinding.instance.addPostFrameCallback((_) { + // This will be called after the widget tree is built + controller.handleHotReload(); + + // Ensure navigation service is registered for back button functionality + if (!Get.isRegistered()) { + Get.put(NavigationService()); + debugPrint('✅ Created new NavigationService instance in view'); + } + }); + + // Function to handle back button press + void handleBackButtonPress() { + debugPrint('🔙 Back button pressed - navigating to SewaAsetView'); + try { + // First try to use the controller's method + controller.onBackPressed(); + } catch (e) { + debugPrint('⚠️ Error handling back via controller: $e'); + // Fallback to direct navigation + Get.back(); + } + } + + // Function to show confirmation dialog + void showOrderConfirmationDialog() { + final aset = controller.aset.value!; + final totalPrice = controller.totalPrice.value; + + Get.dialog( + Dialog( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(24), + ), + child: Container( + width: double.infinity, + padding: EdgeInsets.all(24), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + // Header with success icon + Container( + width: 72, + height: 72, + decoration: BoxDecoration( + color: AppColors.primarySoft, + shape: BoxShape.circle, + ), + child: Icon( + Icons.check_circle_outline_rounded, + color: AppColors.primary, + size: 40, + ), + ), + SizedBox(height: 20), + + // Title + Text( + 'Konfirmasi Pesanan', + style: TextStyle( + fontSize: 20, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + SizedBox(height: 6), + + // Subtitle + Text( + 'Periksa detail pesanan Anda', + style: TextStyle( + fontSize: 14, + color: AppColors.textSecondary, + ), + textAlign: TextAlign.center, + ), + SizedBox(height: 24), + + // Order details + Container( + padding: EdgeInsets.all(16), + decoration: BoxDecoration( + color: AppColors.surfaceLight, + borderRadius: BorderRadius.circular(16), + border: Border.all(color: AppColors.borderLight), + ), + child: Column( + children: [ + // Aset name + Row( + children: [ + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Aset', + style: TextStyle( + fontSize: 12, + color: AppColors.textSecondary, + ), + ), + Text( + aset.nama ?? 'Aset tanpa nama', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + color: AppColors.textPrimary, + ), + ), + ], + ), + ), + ], + ), + Divider(height: 24, color: AppColors.divider), + + // Duration info + Row( + children: [ + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Durasi', + style: TextStyle( + fontSize: 12, + color: AppColors.textSecondary, + ), + ), + Obx( + () => Text( + controller.isDailyRental() + ? controller.formattedDateRange.value + : '${controller.selectedDate.value}, ${controller.formattedTimeRange.value}', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + color: AppColors.textPrimary, + ), + ), + ), + ], + ), + ), + ], + ), + Divider(height: 24, color: AppColors.divider), + + // Quantity info + Row( + children: [ + Expanded( + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Jumlah Unit', + style: TextStyle( + fontSize: 12, + color: AppColors.textSecondary, + ), + ), + Obx( + () => Text( + '${controller.jumlahUnit.value} unit', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + color: AppColors.textPrimary, + ), + ), + ), + ], + ), + Column( + crossAxisAlignment: CrossAxisAlignment.end, + children: [ + Text( + 'Total', + style: TextStyle( + fontSize: 12, + color: AppColors.textSecondary, + ), + ), + Obx( + () => Text( + controller.formatPrice( + controller.totalPrice.value, + ), + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColors.primary, + ), + ), + ), + ], + ), + ], + ), + ), + ], + ), + ], + ), + ), + SizedBox(height: 24), + + // Action buttons + Row( + children: [ + Expanded( + child: OutlinedButton( + onPressed: () => Get.back(), + style: OutlinedButton.styleFrom( + padding: EdgeInsets.symmetric(vertical: 16), + side: BorderSide(color: AppColors.border), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16), + ), + ), + child: Text( + 'Batal', + style: TextStyle( + color: AppColors.textPrimary, + fontWeight: FontWeight.w600, + ), + ), + ), + ), + SizedBox(width: 16), + Expanded( + child: ElevatedButton( + onPressed: () { + Get.back(); + controller.pesanSekarang(); + }, + style: ElevatedButton.styleFrom( + backgroundColor: AppColors.primary, + foregroundColor: AppColors.textOnPrimary, + padding: EdgeInsets.symmetric(vertical: 16), + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16), + ), + ), + child: Text( + 'Pesan Sekarang', + style: TextStyle(fontWeight: FontWeight.bold), + ), + ), + ), + ], + ), + ], + ), + ), + ), + barrierDismissible: true, + ); + } + + return WillPopScope( + onWillPop: () async { + // Handle back button press here + handleBackButtonPress(); + return false; // We handle the navigation ourselves + }, + child: Scaffold( + backgroundColor: AppColors.background, + body: Obx(() { + if (controller.isLoading.value) { + return Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + CircularProgressIndicator(color: AppColors.primary), + SizedBox(height: 24), + Text( + 'Memuat data aset...', + style: TextStyle(color: Colors.grey[700], fontSize: 16), + ), + ], + ), + ); + } + + if (controller.aset.value == null) { + // Jika aset masih null setelah loading selesai, coba muat ulang dari storage + if (!controller.isLoading.value) { + debugPrint( + '⚠️ Asset is null after loading, trying to recover...', + ); + Future.microtask(() => controller.handleHotReload()); + + // Tampilkan loading indicator sementara untuk mencoba recovery + return Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + CircularProgressIndicator(color: AppColors.primary), + SizedBox(height: 24), + Text( + 'Memuat data aset...', + style: TextStyle( + color: AppColors.textSecondary, + fontSize: 16, + ), + ), + ], + ), + ); + } + + return Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon( + Icons.error_outline_rounded, + size: 80, + color: AppColors.error, + ), + SizedBox(height: 24), + Text( + 'Data aset tidak ditemukan', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: Colors.grey[800], + ), + ), + SizedBox(height: 16), + ElevatedButton.icon( + onPressed: handleBackButtonPress, + icon: Icon(Icons.arrow_back), + label: Text('Kembali'), + style: ElevatedButton.styleFrom( + backgroundColor: AppColors.primary, + foregroundColor: AppColors.textOnPrimary, + padding: EdgeInsets.symmetric( + horizontal: 24, + vertical: 12, + ), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16), + ), + ), + ), + ], + ), + ); + } + + return SafeArea( + child: Stack( + children: [ + // Main content with scroll + SingleChildScrollView( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Top section with image and back button + _buildTopSection(), + + // Asset details + _buildAssetDetails(), + + // Price options + _buildPriceOptions(), + + // Date and time selection + _buildDateSelection(context), + + // Add spacing at the bottom for the fixed total price bar + SizedBox(height: 100), + ], + ), + ), + + // Back button positioned at the top - updated to match reference image + Positioned( + top: 20, + left: 20, + child: Material( + color: Colors.transparent, + child: InkWell( + onTap: handleBackButtonPress, + borderRadius: BorderRadius.circular(8), + child: Container( + width: 32, + height: 32, + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(8), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 4, + spreadRadius: 0, + offset: Offset(0, 1), + ), + ], + ), + child: Center( + child: Icon( + Icons.arrow_back_ios, + color: AppColors.iconPrimary, + size: 18, + ), + ), + ), + ), + ), + ), + + // Fixed bottom bar for total price and order button + Positioned( + bottom: 0, + left: 0, + right: 0, + child: _buildBottomBar( + onTapPesan: showOrderConfirmationDialog, + ), + ), + ], + ), + ); + }), + ), + ); + } + + Widget _buildTopSection() { + final aset = controller.aset.value!; + return Stack( + children: [ + // Image carousel + SizedBox( + height: 320, + width: double.infinity, + child: GestureDetector( + onHorizontalDragEnd: (details) { + if (details.primaryVelocity! > 0) { + // Swipe right + controller.previousPhoto(); + } else if (details.primaryVelocity! < 0) { + // Swipe left + controller.nextPhoto(); + } + }, + // Add onTap handler for the image + onTap: () { + debugPrint("📸 Image tapped - opening fullscreen viewer"); + final imageUrl = controller.getCurrentPhotoUrl(); + if (imageUrl != null && imageUrl.isNotEmpty) { + debugPrint("📸 Current image URL: $imageUrl"); + debugPrint("📸 Total photos: ${controller.assetPhotos.length}"); + + // Extract all image URLs from the assetPhotos collection + final List photoUrls = []; + for (var photo in controller.assetPhotos) { + final url = photo.fotoAset; + if (url.isNotEmpty) { + photoUrls.add(url); + debugPrint("📸 Added photo URL: $url"); + } + } + + if (photoUrls.isEmpty) { + debugPrint("📸 No valid photo URLs found"); + return; + } + + showDialog( + context: Get.context!, + builder: + (context) => Dialog( + insetPadding: EdgeInsets.zero, + child: Container( + width: double.infinity, + height: double.infinity, + color: Colors.black, + child: Stack( + children: [ + // Image + Center( + child: InteractiveViewer( + panEnabled: true, + boundaryMargin: EdgeInsets.all(80), + minScale: 0.5, + maxScale: 4, + child: CachedNetworkImage( + imageUrl: + photoUrls[controller + .currentPhotoIndex + .value], + fit: BoxFit.contain, + placeholder: + (context, url) => Center( + child: CircularProgressIndicator( + color: Colors.white, + ), + ), + errorWidget: + (context, url, error) => Center( + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Icon( + Icons.broken_image_rounded, + size: 64, + color: Colors.grey[400], + ), + SizedBox(height: 16), + Text( + 'Gagal memuat foto', + style: TextStyle( + color: Colors.grey[600], + fontSize: 16, + ), + ), + ], + ), + ), + ), + ), + ), + + // Close button + Positioned( + top: 40, + right: 20, + child: IconButton( + icon: Container( + padding: EdgeInsets.all(8), + decoration: BoxDecoration( + color: Colors.black54, + shape: BoxShape.circle, + ), + child: Icon( + Icons.close, + color: Colors.white, + ), + ), + onPressed: () => Navigator.of(context).pop(), + ), + ), + ], + ), + ), + ), + ); + } else { + debugPrint("📸 No valid current image URL"); + } + }, + child: ClipRRect( + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(24), + bottomRight: Radius.circular(24), + ), + child: Obx(() { + // Show loading indicator when images are being loaded + if (controller.isPhotosLoading.value) { + return Container( + color: Colors.grey[200], + child: Center( + child: CircularProgressIndicator( + color: AppColors.primary, + ), + ), + ); + } + + final imageUrl = controller.getCurrentPhotoUrl(); + if (imageUrl == null || imageUrl.isEmpty) { + return Container( + color: Colors.grey[200], + child: Center( + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Icon( + Icons.image_not_supported_rounded, + size: 64, + color: Colors.grey[400], + ), + SizedBox(height: 16), + Text( + 'Tidak ada foto', + style: TextStyle( + color: Colors.grey[600], + fontSize: 16, + ), + ), + ], + ), + ), + ); + } + + return CachedNetworkImage( + imageUrl: imageUrl, + fit: BoxFit.cover, + placeholder: + (context, url) => Container( + color: Colors.grey[200], + child: Center( + child: CircularProgressIndicator( + color: AppColors.primary, + ), + ), + ), + errorWidget: + (context, url, error) => Container( + color: Colors.grey[200], + child: Center( + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Icon( + Icons.broken_image_rounded, + size: 64, + color: Colors.grey[400], + ), + SizedBox(height: 16), + Text( + 'Gagal memuat foto', + style: TextStyle( + color: Colors.grey[600], + fontSize: 16, + ), + ), + ], + ), + ), + ), + ); + }), + ), + ), + ), + + // Gradient overlay + Positioned.fill( + child: DecoratedBox( + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + Colors.black.withOpacity(0.1), + Colors.transparent, + Colors.black.withOpacity(0.3), + ], + stops: [0.0, 0.6, 1.0], + ), + ), + ), + ), + + // Zoom indicator overlay + Positioned( + bottom: 16, + right: 16, + child: Container( + padding: EdgeInsets.all(8), + decoration: BoxDecoration( + color: Colors.black.withOpacity(0.5), + borderRadius: BorderRadius.circular(12), + ), + child: Icon(Icons.zoom_in, color: Colors.white, size: 24), + ), + ), + + // Navigation arrows - only show if we have more than 1 photo + Obx( + () => + controller.assetPhotos.length > 1 + ? Positioned.fill( + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + margin: EdgeInsets.only(left: 16), + child: IconButton( + icon: Container( + width: 40, + height: 40, + decoration: BoxDecoration( + color: Colors.black26, + shape: BoxShape.circle, + ), + child: Icon( + Icons.arrow_back_ios_rounded, + color: Colors.white, + size: 20, + ), + ), + onPressed: controller.previousPhoto, + ), + ), + Container( + margin: EdgeInsets.only(right: 16), + child: IconButton( + icon: Container( + width: 40, + height: 40, + decoration: BoxDecoration( + color: Colors.black26, + shape: BoxShape.circle, + ), + child: Icon( + Icons.arrow_forward_ios_rounded, + color: Colors.white, + size: 20, + ), + ), + onPressed: controller.nextPhoto, + ), + ), + ], + ), + ) + : SizedBox.shrink(), + ), + + // Image indicators - only show if we have more than 1 photo + Obx( + () => + controller.assetPhotos.length > 1 + ? Positioned( + bottom: 20, + left: 0, + right: 0, + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: List.generate( + controller.assetPhotos.length, + (index) => AnimatedContainer( + duration: Duration(milliseconds: 200), + width: + index == controller.currentPhotoIndex.value + ? 24 + : 10, + height: 10, + margin: EdgeInsets.symmetric(horizontal: 3), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(5), + color: + index == controller.currentPhotoIndex.value + ? AppColors.primary + : AppColors.primaryLight.withOpacity(0.5), + ), + ), + ), + ), + ) + : SizedBox.shrink(), + ), + + // Photo counter + Obx( + () => + controller.assetPhotos.length > 1 + ? Positioned( + top: 20, + right: 20, + child: Container( + padding: EdgeInsets.symmetric( + horizontal: 10, + vertical: 6, + ), + decoration: BoxDecoration( + color: Colors.black45, + borderRadius: BorderRadius.circular(16), + ), + child: Text( + '${controller.currentPhotoIndex.value + 1}/${controller.assetPhotos.length}', + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + ), + ), + ), + ) + : SizedBox.shrink(), + ), + ], + ); + } + + Widget _buildAssetDetails() { + final aset = controller.aset.value!; + return Container( + padding: EdgeInsets.all(24.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Asset name with availability indicator + Row( + children: [ + Expanded( + child: Text( + aset.nama ?? 'Aset tanpa nama', + style: TextStyle( + fontSize: 24, + fontWeight: FontWeight.bold, + height: 1.2, + color: AppColors.textPrimary, + ), + ), + ), + Container( + padding: EdgeInsets.symmetric(horizontal: 12, vertical: 6), + decoration: BoxDecoration( + color: AppColors.successLight, + borderRadius: BorderRadius.circular(12), + border: Border.all(color: AppColors.success.withOpacity(0.3)), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Container( + width: 8, + height: 8, + decoration: BoxDecoration( + color: AppColors.success, + shape: BoxShape.circle, + ), + ), + SizedBox(width: 6), + Text( + 'Tersedia', + style: TextStyle( + fontSize: 12, + fontWeight: FontWeight.w600, + color: AppColors.success, + ), + ), + ], + ), + ), + ], + ), + + SizedBox(height: 24), + + // Description with card styling - Wrapped in Container with consistent padding + Container( + padding: EdgeInsets.all(20), + width: double.infinity, + constraints: BoxConstraints(minHeight: 120), + decoration: BoxDecoration( + color: AppColors.surface, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: AppColors.shadow, + blurRadius: 10, + offset: Offset(0, 2), + ), + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Icon( + Icons.description_outlined, + color: AppColors.primary, + size: 18, + ), + SizedBox(width: 8), + Text( + 'Deskripsi', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.primary, + ), + ), + ], + ), + SizedBox(height: 12), + SizedBox( + width: double.infinity, + child: Text( + aset.deskripsi ?? 'Tidak ada deskripsi untuk aset ini.', + style: TextStyle( + fontSize: 14, + color: AppColors.textSecondary, + height: 1.5, + ), + ), + ), + ], + ), + ), + + SizedBox(height: 24), + + // Jumlah Unit with card styling - Removed icons, added manual input + Container( + padding: EdgeInsets.all(20), + decoration: BoxDecoration( + color: AppColors.surface, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: AppColors.shadow, + blurRadius: 10, + offset: Offset(0, 2), + ), + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Icon( + Icons.inventory_2_outlined, + color: AppColors.primary, + size: 18, + ), + SizedBox(width: 8), + Text( + 'Jumlah Unit', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.primary, + ), + ), + ], + ), + SizedBox(height: 16), + + Row( + children: [ + // Decrease button + Obx( + () => Material( + color: Colors.transparent, + child: InkWell( + borderRadius: BorderRadius.circular(12), + onTap: + controller.jumlahUnit.value <= 1 + ? null + : () { + HapticFeedback.lightImpact(); + controller.decreaseUnit(); + }, + child: Container( + width: 40, + height: 40, + decoration: BoxDecoration( + color: + controller.jumlahUnit.value <= 1 + ? Colors.grey[200] + : Color(0xFF92B4D7).withOpacity(0.3), + borderRadius: BorderRadius.circular(12), + ), + child: Center( + child: Icon( + Icons.remove_rounded, + size: 20, + color: + controller.jumlahUnit.value <= 1 + ? Colors.grey[400] + : Color(0xFF3A6EA5), + ), + ), + ), + ), + ), + ), + + // Text field for manual input + Expanded( + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 12), + child: Obx(() { + final textController = TextEditingController( + text: controller.jumlahUnit.value.toString(), + ); + // Posisi kursor di akhir teks + textController.selection = TextSelection.fromPosition( + TextPosition(offset: textController.text.length), + ); + + return TextField( + textAlign: TextAlign.center, + keyboardType: TextInputType.number, + controller: textController, + onTap: () { + // Pilih semua teks saat di-tap + textController.selection = TextSelection( + baseOffset: 0, + extentOffset: textController.text.length, + ); + }, + decoration: InputDecoration( + isDense: true, + contentPadding: EdgeInsets.symmetric( + vertical: 12, + horizontal: 12, + ), + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(12), + borderSide: BorderSide( + color: Colors.grey[300]!, + ), + ), + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(12), + borderSide: BorderSide( + color: Colors.grey[300]!, + ), + ), + focusedBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(12), + borderSide: BorderSide( + color: Color(0xFF3A6EA5), + ), + ), + ), + style: TextStyle( + color: Color(0xFF3A6EA5), + fontWeight: FontWeight.bold, + fontSize: 16, + ), + onSubmitted: (value) { + controller.updateUnitFromInput(value); + }, + ); + }), + ), + ), + + // Increase button + Obx( + () => Material( + color: Colors.transparent, + child: InkWell( + borderRadius: BorderRadius.circular(12), + onTap: + controller.jumlahUnit.value >= + controller.maxUnit.value + ? null + : () { + HapticFeedback.lightImpact(); + controller.increaseUnit(); + }, + child: Container( + width: 40, + height: 40, + decoration: BoxDecoration( + color: + controller.jumlahUnit.value >= + controller.maxUnit.value + ? Colors.grey[200] + : Color(0xFF92B4D7).withOpacity(0.3), + borderRadius: BorderRadius.circular(12), + ), + child: Center( + child: Icon( + Icons.add_rounded, + size: 20, + color: + controller.jumlahUnit.value >= + controller.maxUnit.value + ? Colors.grey[400] + : Color(0xFF3A6EA5), + ), + ), + ), + ), + ), + ), + ], + ), + + SizedBox(height: 8), + + // Maximum unit info + Center( + child: Obx( + () => Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + 'Maksimal ${controller.maxUnit.value} unit', + style: TextStyle( + fontSize: 13, + color: AppColors.textSecondary, + ), + ), + SizedBox(width: 4), + Tooltip( + message: 'Jumlah unit yang tersedia untuk disewa', + child: Icon( + Icons.info_outline, + size: 14, + color: AppColors.textLight, + ), + ), + ], + ), + ), + ), + ], + ), + ), + ], + ), + ); + } + + Widget _buildPriceOptions() { + final aset = controller.aset.value!; + + // Filter for hourly and daily options + final hourlyOption = aset.satuanWaktuSewa.firstWhereOrNull( + (element) => + element['nama_satuan_waktu']?.toString().toLowerCase().contains( + 'jam', + ) ?? + false, + ); + + final dailyOption = aset.satuanWaktuSewa.firstWhereOrNull( + (element) => + element['nama_satuan_waktu']?.toString().toLowerCase().contains( + 'hari', + ) ?? + false, + ); + + // Count available options to handle the case when only one option is available + final availableOptionsCount = (hourlyOption != null ? 1 : 0) + (dailyOption != null ? 1 : 0); + + return Container( + padding: EdgeInsets.symmetric(horizontal: 24.0, vertical: 8.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.only(bottom: 16.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Row( + children: [ + Icon( + Icons.access_time_filled_rounded, + size: 20, + color: AppColors.primary, + ), + SizedBox(width: 8), + Text( + 'Opsi Durasi Sewa', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.primary, + ), + ), + ], + ), + // Show number of available options + availableOptionsCount == 1 + ? Container( + padding: EdgeInsets.symmetric(horizontal: 8, vertical: 4), + decoration: BoxDecoration( + color: AppColors.primarySoft, + borderRadius: BorderRadius.circular(8), + ), + child: Text( + '1 opsi tersedia', + style: TextStyle( + fontSize: 12, + color: AppColors.primary, + fontWeight: FontWeight.w500, + ), + ), + ) + : SizedBox.shrink(), + ], + ), + ), + + Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: Offset(0, 2), + ), + ], + ), + child: Column( + children: [ + // Only show hourly option if it exists + if (hourlyOption != null) + InkWell( + onTap: () { + // Only perform action if this is not already selected + if (controller.selectedSatuanWaktu.value?['id'] != hourlyOption['id']) { + HapticFeedback.lightImpact(); + controller.selectSatuanWaktu(hourlyOption); + } + }, + borderRadius: BorderRadius.vertical( + top: Radius.circular(16), + // If this is the only option, also round bottom corners + bottom: dailyOption == null ? Radius.circular(16) : Radius.zero, + ), + child: Obx(() { + bool isSelected = controller.selectedSatuanWaktu.value?['id'] == hourlyOption['id']; + + return AnimatedContainer( + duration: Duration(milliseconds: 300), + curve: Curves.easeInOut, + padding: EdgeInsets.all(16), + decoration: BoxDecoration( + color: isSelected ? AppColors.primarySoft : AppColors.surface, + borderRadius: BorderRadius.vertical( + top: Radius.circular(16), + // If this is the only option, also round bottom corners + bottom: dailyOption == null ? Radius.circular(16) : Radius.zero, + ), + ), + child: Row( + children: [ + AnimatedContainer( + duration: Duration(milliseconds: 300), + width: 48, + height: 48, + decoration: BoxDecoration( + color: isSelected ? AppColors.primary.withOpacity(0.2) : AppColors.surfaceLight, + borderRadius: BorderRadius.circular(12), + border: Border.all( + color: isSelected ? AppColors.primary.withOpacity(0.3) : AppColors.borderLight, + width: isSelected ? 1.5 : 1, + ), + ), + child: Center( + child: Icon( + Icons.access_time_rounded, + color: isSelected ? AppColors.primary : AppColors.textSecondary, + size: 24, + ), + ), + ), + SizedBox(width: 16), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Sewa per Jam', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + color: isSelected ? AppColors.primary : AppColors.textPrimary, + ), + ), + SizedBox(height: 4), + Text( + controller.formatPrice(hourlyOption['harga'] ?? 0), + style: TextStyle( + fontSize: 14, + fontWeight: isSelected ? FontWeight.w600 : FontWeight.normal, + color: isSelected ? AppColors.primary : AppColors.textSecondary, + ), + ), + ], + ), + ), + AnimatedOpacity( + opacity: isSelected ? 1.0 : 0.0, + duration: Duration(milliseconds: 300), + child: AnimatedContainer( + duration: Duration(milliseconds: 300), + padding: EdgeInsets.all(8), + decoration: BoxDecoration( + color: AppColors.primary, + shape: BoxShape.circle, + ), + child: Icon( + Icons.check, + color: AppColors.textOnPrimary, + size: 16, + ), + ), + ), + ], + ), + ); + }), + ), + + // Add divider only if both options exist + if (hourlyOption != null && dailyOption != null) + Divider(height: 1, thickness: 1, color: Colors.grey[200]), + + // Only show daily option if it exists + if (dailyOption != null) + InkWell( + onTap: () { + // Only perform action if this is not already selected + if (controller.selectedSatuanWaktu.value?['id'] != dailyOption['id']) { + HapticFeedback.lightImpact(); + controller.selectSatuanWaktu(dailyOption); + } + }, + borderRadius: BorderRadius.vertical( + // If this is the only option, also round top corners + top: hourlyOption == null ? Radius.circular(16) : Radius.zero, + bottom: Radius.circular(16), + ), + child: Obx(() { + bool isSelected = controller.selectedSatuanWaktu.value?['id'] == dailyOption['id']; + + return AnimatedContainer( + duration: Duration(milliseconds: 300), + curve: Curves.easeInOut, + padding: EdgeInsets.all(16), + decoration: BoxDecoration( + color: isSelected ? AppColors.primarySoft : AppColors.surface, + borderRadius: BorderRadius.vertical( + // If this is the only option, also round top corners + top: hourlyOption == null ? Radius.circular(16) : Radius.zero, + bottom: Radius.circular(16), + ), + ), + child: Row( + children: [ + AnimatedContainer( + duration: Duration(milliseconds: 300), + width: 48, + height: 48, + decoration: BoxDecoration( + color: isSelected ? AppColors.primary.withOpacity(0.2) : AppColors.surfaceLight, + borderRadius: BorderRadius.circular(12), + border: Border.all( + color: isSelected ? AppColors.primary.withOpacity(0.3) : AppColors.borderLight, + width: isSelected ? 1.5 : 1, + ), + ), + child: Center( + child: Icon( + Icons.calendar_today_rounded, + color: isSelected ? AppColors.primary : AppColors.textSecondary, + size: 20, + ), + ), + ), + SizedBox(width: 16), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Sewa per Hari', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + color: isSelected ? AppColors.primary : AppColors.textPrimary, + ), + ), + SizedBox(height: 4), + Text( + controller.formatPrice(dailyOption['harga'] ?? 0), + style: TextStyle( + fontSize: 14, + fontWeight: isSelected ? FontWeight.w600 : FontWeight.normal, + color: isSelected ? AppColors.primary : AppColors.textSecondary, + ), + ), + ], + ), + ), + AnimatedOpacity( + opacity: isSelected ? 1.0 : 0.0, + duration: Duration(milliseconds: 300), + child: AnimatedContainer( + duration: Duration(milliseconds: 300), + padding: EdgeInsets.all(8), + decoration: BoxDecoration( + color: AppColors.primary, + shape: BoxShape.circle, + ), + child: Icon( + Icons.check, + color: AppColors.textOnPrimary, + size: 16, + ), + ), + ), + ], + ), + ); + }), + ), + + // Show message when no options are available (should never happen, but just in case) + if (availableOptionsCount == 0) + Container( + padding: EdgeInsets.all(16), + decoration: BoxDecoration( + color: AppColors.surface, + borderRadius: BorderRadius.circular(16), + ), + child: Center( + child: Column( + children: [ + Icon( + Icons.warning_amber_rounded, + color: AppColors.warning, + size: 48, + ), + SizedBox(height: 16), + Text( + 'Tidak ada opsi durasi tersedia', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + color: AppColors.textPrimary, + ), + ), + SizedBox(height: 8), + Text( + 'Silakan pilih aset lain yang memiliki opsi durasi', + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 14, + color: AppColors.textSecondary, + ), + ), + ], + ), + ), + ), + ], + ), + ), + ], + ), + ); + } + + Widget _buildDateSelection(BuildContext context) { + return Container( + padding: EdgeInsets.all(24.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Row( + children: [ + Icon( + Icons.event_available_rounded, + size: 20, + color: AppColors.primary, + ), + SizedBox(width: 8), + Text( + 'Pilih Waktu Sewa', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.primary, + ), + ), + ], + ), + // Information badge + Obx( + () => + controller.isDailyRental() + ? _buildInfoBadge('Harian') + : _buildInfoBadge('Per Jam'), + ), + ], + ), + + SizedBox(height: 16), + + // Show different UI based on rental type (hourly or daily) + Obx( + () => + controller.isDailyRental() + ? _buildDailyRentalDateSelection(context) + : _buildHourlyRentalDateSelection(context), + ), + ], + ), + ); + } + + Widget _buildInfoBadge(String text) { + return Container( + padding: EdgeInsets.symmetric(horizontal: 12, vertical: 6), + decoration: BoxDecoration( + color: Color(0xFF92B4D7).withOpacity(0.2), + borderRadius: BorderRadius.circular(12), + ), + child: Text( + text, + style: TextStyle( + fontSize: 12, + fontWeight: FontWeight.w600, + color: Color(0xFF3A6EA5), + ), + ), + ); + } + + // Date selection for daily rentals + Widget _buildDailyRentalDateSelection(BuildContext context) { + return Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: Offset(0, 2), + ), + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Date range picker button + InkWell( + onTap: () => controller.pickDateRange(context), + borderRadius: BorderRadius.circular(16), + child: Padding( + padding: const EdgeInsets.all(16.0), + child: Row( + children: [ + Container( + width: 48, + height: 48, + decoration: BoxDecoration( + color: Color(0xFF92B4D7).withOpacity(0.2), + borderRadius: BorderRadius.circular(12), + ), + child: Center( + child: Icon( + Icons.date_range_rounded, + color: Color(0xFF3A6EA5), + size: 24, + ), + ), + ), + SizedBox(width: 16), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Rentang Tanggal', + style: TextStyle( + fontSize: 14, + color: Colors.grey[700], + ), + ), + SizedBox(height: 4), + Obx( + () => Text( + controller.formattedDateRange.value.isNotEmpty + ? controller.formattedDateRange.value + : 'Pilih tanggal sewa', + style: TextStyle( + fontSize: 16, + fontWeight: + controller.formattedDateRange.value.isNotEmpty + ? FontWeight.w600 + : FontWeight.normal, + color: + controller.formattedDateRange.value.isNotEmpty + ? Color(0xFF3A6EA5) + : Colors.grey[500], + ), + ), + ), + ], + ), + ), + Icon( + Icons.arrow_forward_ios_rounded, + size: 16, + color: Colors.grey[400], + ), + ], + ), + ), + ), + + // Display selected duration + Obx( + () => + controller.formattedDateRange.value.isNotEmpty + ? Container( + padding: EdgeInsets.symmetric( + horizontal: 16, + vertical: 12, + ), + decoration: BoxDecoration( + color: Color(0xFF92B4D7).withOpacity(0.1), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(16), + bottomRight: Radius.circular(16), + ), + ), + child: Row( + children: [ + Icon( + Icons.info_outline_rounded, + size: 16, + color: Color(0xFF3A6EA5), + ), + SizedBox(width: 8), + Text( + 'Durasi: ${controller.duration.value} hari', + style: TextStyle( + fontSize: 14, + color: Color(0xFF3A6EA5), + fontWeight: FontWeight.w500, + ), + ), + ], + ), + ) + : SizedBox.shrink(), + ), + ], + ), + ); + } + + // Date and time selection for hourly rentals + Widget _buildHourlyRentalDateSelection(BuildContext context) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Date picker button + Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: Offset(0, 2), + ), + ], + ), + child: InkWell( + onTap: () => controller.pickDate(context), + borderRadius: BorderRadius.circular(16), + child: Padding( + padding: const EdgeInsets.all(16.0), + child: Row( + children: [ + Container( + width: 48, + height: 48, + decoration: BoxDecoration( + color: Color(0xFF92B4D7).withOpacity(0.2), + borderRadius: BorderRadius.circular(12), + ), + child: Center( + child: Icon( + Icons.date_range_rounded, + color: Color(0xFF3A6EA5), + size: 24, + ), + ), + ), + SizedBox(width: 16), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Tanggal Sewa', + style: TextStyle( + fontSize: 14, + color: Colors.grey[700], + ), + ), + SizedBox(height: 4), + Obx( + () => Text( + controller.selectedDate.value, + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + color: Color(0xFF3A6EA5), + ), + ), + ), + ], + ), + ), + Icon( + Icons.arrow_forward_ios_rounded, + size: 16, + color: Colors.grey[400], + ), + ], + ), + ), + ), + ), + + SizedBox(height: 24), + + // Time selection section + Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: Offset(0, 2), + ), + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.all(16.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Row( + children: [ + Container( + width: 36, + height: 36, + decoration: BoxDecoration( + color: Color(0xFF92B4D7).withOpacity(0.2), + borderRadius: BorderRadius.circular(10), + ), + child: Center( + child: Icon( + Icons.access_time_rounded, + color: Color(0xFF3A6EA5), + size: 20, + ), + ), + ), + SizedBox(width: 12), + Text( + 'Pilih Jam', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + color: Colors.grey[900], + ), + ), + ], + ), + + // Show selected time range if any + Obx( + () => + controller.formattedTimeRange.value.isNotEmpty + ? Container( + padding: EdgeInsets.symmetric( + horizontal: 12, + vertical: 6, + ), + decoration: BoxDecoration( + color: Color(0xFF92B4D7).withOpacity(0.1), + borderRadius: BorderRadius.circular(12), + ), + child: Text( + controller.formattedTimeRange.value, + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w600, + color: Color(0xFF3A6EA5), + ), + ), + ) + : SizedBox.shrink(), + ), + ], + ), + ), + + Divider(height: 1, thickness: 1, color: Colors.grey[200]), + + // Time selection grid + Padding( + padding: const EdgeInsets.all(16.0), + child: Obx(() => _buildTimeGrid()), + ), + + // Show selected duration + Obx( + () => + controller.formattedTimeRange.value.isNotEmpty + ? Container( + padding: EdgeInsets.symmetric( + horizontal: 16, + vertical: 12, + ), + decoration: BoxDecoration( + color: Color(0xFF92B4D7).withOpacity(0.1), + borderRadius: BorderRadius.only( + bottomLeft: Radius.circular(16), + bottomRight: Radius.circular(16), + ), + ), + child: Row( + children: [ + Icon( + Icons.info_outline_rounded, + size: 16, + color: Color(0xFF3A6EA5), + ), + SizedBox(width: 8), + Text( + 'Durasi: ${controller.duration.value} jam', + style: TextStyle( + fontSize: 14, + color: Color(0xFF3A6EA5), + fontWeight: FontWeight.w500, + ), + ), + ], + ), + ) + : SizedBox.shrink(), + ), + ], + ), + ), + ], + ); + } + + Widget _buildTimeGrid() { + // Create rows of hours, with 4 hours per row + final List rows = []; + final hours = controller.availableHours; + + // Create rows of 4 hours each + for (int i = 0; i < hours.length; i += 4) { + final rowItems = []; + + // Add up to 4 hours for this row + for (int j = 0; j < 4 && i + j < hours.length; j++) { + final hour = hours[i + j]; + rowItems.add(Expanded(child: _buildTimeButton(hour))); + + // Add spacing between buttons + if (j < 3 && i + j + 1 < hours.length) { + rowItems.add(SizedBox(width: 8)); + } + } + + rows.add(Row(children: rowItems)); + + // Add spacing between rows + if (i + 4 < hours.length) { + rows.add(SizedBox(height: 8)); + } + } + + return Column(children: rows); + } + + Widget _buildTimeButton(int hour) { + bool isSelected = + controller.startHour.value <= hour && hour < controller.endHour.value; + bool isDisabled = controller.isHourDisabled(hour); + + return Material( + color: Colors.transparent, + child: InkWell( + onTap: + isDisabled + ? null + : () { + // Add haptic feedback when selecting an hour + HapticFeedback.selectionClick(); + controller.selectHour(hour); + }, + borderRadius: BorderRadius.circular(12), + child: AnimatedContainer( + duration: Duration(milliseconds: 300), + curve: Curves.easeInOut, + height: 48, + decoration: BoxDecoration( + color: + isSelected + ? Color(0xFF3A6EA5) + : isDisabled + ? Colors.grey[200] + : Colors.white, + borderRadius: BorderRadius.circular(12), + border: Border.all( + color: + isSelected + ? Color(0xFF3A6EA5) + : isDisabled + ? Colors.grey[300]! + : Colors.grey[300]!, + width: 1.5, + ), + ), + child: Center( + child: Text( + controller.formatHour(hour), + style: TextStyle( + color: + isSelected + ? Colors.white + : isDisabled + ? Colors.grey[500] + : Colors.grey[800], + fontWeight: isSelected ? FontWeight.bold : FontWeight.normal, + fontSize: 14, + ), + ), + ), + ), + ), + ); + } + + Widget _buildBottomBar({required Function onTapPesan}) { + return Container( + height: 80, + padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 12), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.only( + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.06), + blurRadius: 10, + offset: Offset(0, -5), + ), + ], + ), + child: Row( + children: [ + // Price info + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + 'Total', + style: TextStyle( + fontSize: 13, + color: AppColors.textSecondary, + ), + ), + SizedBox(height: 2), + Obx( + () => Text( + controller.formatPrice(controller.totalPrice.value), + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColors.primary, + ), + ), + ), + ], + ), + ), + // Order button + SizedBox( + width: 140, + child: ElevatedButton( + onPressed: () => onTapPesan(), + style: ElevatedButton.styleFrom( + backgroundColor: AppColors.primary, + foregroundColor: Colors.white, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(12), + ), + padding: EdgeInsets.symmetric(vertical: 12), + ), + child: Text( + 'Pesan Sekarang', + style: TextStyle(fontSize: 14, fontWeight: FontWeight.bold), + ), + ), + ), + ], + ), + ); + } +} + +// Full Screen Image Viewer Widget +class FullScreenImageViewer extends StatefulWidget { + final List imageUrls; + final int initialIndex; + + const FullScreenImageViewer({ + super.key, + required this.imageUrls, + this.initialIndex = 0, + }); + + @override + _FullScreenImageViewerState createState() => _FullScreenImageViewerState(); +} + +class _FullScreenImageViewerState extends State { + late int currentIndex; + late PageController pageController; + + @override + void initState() { + super.initState(); + currentIndex = + widget.initialIndex < widget.imageUrls.length ? widget.initialIndex : 0; + pageController = PageController(initialPage: currentIndex); + + debugPrint("📸 FullScreenImageViewer initialized"); + debugPrint("📸 Images count: ${widget.imageUrls.length}"); + debugPrint("📸 Initial index: $currentIndex"); + + // Log the first few URLs + for (int i = 0; i < widget.imageUrls.length && i < 3; i++) { + debugPrint("📸 Image URL $i: ${widget.imageUrls[i]}"); + } + } + + @override + void dispose() { + pageController.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: Colors.black, + body: Stack( + children: [ + // Photo Gallery + PhotoViewGallery.builder( + scrollPhysics: const BouncingScrollPhysics(), + builder: (BuildContext context, int index) { + final imageUrl = widget.imageUrls[index]; + debugPrint("📸 Building image at index $index: $imageUrl"); + + return PhotoViewGalleryPageOptions( + imageProvider: CachedNetworkImageProvider(imageUrl), + initialScale: PhotoViewComputedScale.contained, + minScale: PhotoViewComputedScale.contained * 0.8, + maxScale: PhotoViewComputedScale.covered * 2.0, + heroAttributes: PhotoViewHeroAttributes(tag: "photo_$index"), + ); + }, + itemCount: widget.imageUrls.length, + loadingBuilder: + (context, event) => Center( + child: SizedBox( + width: 30.0, + height: 30.0, + child: CircularProgressIndicator( + value: + event == null + ? 0 + : event.cumulativeBytesLoaded / + event.expectedTotalBytes!, + valueColor: AlwaysStoppedAnimation(Colors.white), + ), + ), + ), + backgroundDecoration: BoxDecoration(color: Colors.black), + pageController: pageController, + onPageChanged: (index) { + setState(() { + currentIndex = index; + debugPrint("📸 Page changed to index: $index"); + }); + }, + ), + + // Close button + Positioned( + top: 40, + left: 20, + child: IconButton( + icon: Container( + padding: EdgeInsets.all(8), + decoration: BoxDecoration( + color: Colors.black54, + shape: BoxShape.circle, + ), + child: Icon(Icons.close, color: Colors.white), + ), + onPressed: () => Navigator.of(context).pop(), + ), + ), + + // Image counter + Positioned( + top: 40, + right: 20, + child: Container( + padding: EdgeInsets.symmetric(horizontal: 12, vertical: 8), + decoration: BoxDecoration( + color: Colors.black54, + borderRadius: BorderRadius.circular(16), + ), + child: Text( + '${currentIndex + 1}/${widget.imageUrls.length}', + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ], + ), + ); + } +} diff --git a/lib/app/modules/warga/views/order_sewa_paket_view.dart b/lib/app/modules/warga/views/order_sewa_paket_view.dart new file mode 100644 index 0000000..bce4d2d --- /dev/null +++ b/lib/app/modules/warga/views/order_sewa_paket_view.dart @@ -0,0 +1,981 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:get/get.dart'; +import 'package:cached_network_image/cached_network_image.dart'; +import '../controllers/order_sewa_paket_controller.dart'; +import '../../../data/models/paket_model.dart'; +import '../../../routes/app_routes.dart'; +import '../../../services/navigation_service.dart'; +import 'package:photo_view/photo_view.dart'; +import 'package:photo_view/photo_view_gallery.dart'; +import 'package:flutter_logs/flutter_logs.dart'; +import '../../../theme/app_colors.dart'; +import 'package:intl/intl.dart'; + +class OrderSewaPaketView extends GetView { + const OrderSewaPaketView({super.key}); + + // Function to show confirmation dialog + void showOrderConfirmationDialog() { + final paket = controller.paket.value!; + final PaketModel? paketModel = paket is PaketModel ? paket : null; + final totalPrice = controller.totalPrice.value; + + Get.dialog( + Dialog( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(24), + ), + child: Container( + width: double.infinity, + padding: EdgeInsets.all(24), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + // Header with success icon + Container( + width: 72, + height: 72, + decoration: BoxDecoration( + color: AppColors.primarySoft, + shape: BoxShape.circle, + ), + child: Icon( + Icons.check_circle_outline_rounded, + color: AppColors.primary, + size: 40, + ), + ), + SizedBox(height: 20), + + // Title + Text( + 'Konfirmasi Pesanan', + style: TextStyle( + fontSize: 20, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + SizedBox(height: 6), + + // Subtitle + Text( + 'Periksa detail pesanan Anda', + style: TextStyle( + fontSize: 14, + color: AppColors.textSecondary, + ), + textAlign: TextAlign.center, + ), + SizedBox(height: 24), + + // Order details + Container( + padding: EdgeInsets.all(16), + decoration: BoxDecoration( + color: AppColors.surfaceLight, + borderRadius: BorderRadius.circular(16), + border: Border.all(color: AppColors.borderLight), + ), + child: Column( + children: [ + // Paket name + Row( + children: [ + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Paket', + style: TextStyle( + fontSize: 12, + color: AppColors.textSecondary, + ), + ), + Text( + paketModel?.nama ?? controller.getPaketNama(paket) ?? 'Paket tanpa nama', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + color: AppColors.textPrimary, + ), + ), + ], + ), + ), + ], + ), + Divider(height: 24, color: AppColors.divider), + + // Duration info + Row( + children: [ + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Durasi', + style: TextStyle( + fontSize: 12, + color: AppColors.textSecondary, + ), + ), + Obx( + () => Text( + controller.isDailyRental() + ? controller.formattedDateRange.value + : '${controller.selectedDate.value}, ${controller.formattedTimeRange.value}', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + color: AppColors.textPrimary, + ), + ), + ), + ], + ), + ), + ], + ), + Divider(height: 24, color: AppColors.divider), + + // Total price info + Row( + children: [ + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Total', + style: TextStyle( + fontSize: 12, + color: AppColors.textSecondary, + ), + ), + Obx( + () => Text( + controller.formatPrice(controller.totalPrice.value), + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColors.primary, + ), + ), + ), + ], + ), + ), + ], + ), + ], + ), + ), + SizedBox(height: 24), + + // Action buttons + Row( + children: [ + Expanded( + child: OutlinedButton( + onPressed: () => Get.back(), + style: OutlinedButton.styleFrom( + padding: EdgeInsets.symmetric(vertical: 16), + side: BorderSide(color: AppColors.primary), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(12), + ), + ), + child: Text( + 'Batal', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + color: AppColors.primary, + ), + ), + ), + ), + SizedBox(width: 16), + Expanded( + child: Obx( + () => ElevatedButton( + onPressed: controller.isSubmitting.value + ? null + : () { + Get.back(); + controller.submitOrder(); + }, + style: ElevatedButton.styleFrom( + padding: EdgeInsets.symmetric(vertical: 16), + backgroundColor: AppColors.primary, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(12), + ), + ), + child: controller.isSubmitting.value + ? SizedBox( + height: 20, + width: 20, + child: CircularProgressIndicator( + strokeWidth: 2, + valueColor: AlwaysStoppedAnimation( + Colors.white, + ), + ), + ) + : Text( + 'Pesan', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + color: Colors.white, + ), + ), + ), + ), + ), + ], + ), + ], + ), + ), + ), + ); + } + + @override + Widget build(BuildContext context) { + // Handle hot reload by checking if controller needs to be reset + WidgetsBinding.instance.addPostFrameCallback((_) { + // This will be called after the widget tree is built + controller.handleHotReload(); + + // Ensure navigation service is registered for back button functionality + if (!Get.isRegistered()) { + Get.put(NavigationService()); + debugPrint('✅ Created new NavigationService instance in view'); + } + }); + + // Function to handle back button press + void handleBackButtonPress() { + debugPrint('🔙 Back button pressed - navigating to SewaAsetView'); + try { + // First try to use the controller's method + controller.onBackPressed(); + } catch (e) { + debugPrint('⚠️ Error handling back via controller: $e'); + // Fallback to direct navigation + Get.back(); + } + } + + return Scaffold( + backgroundColor: AppColors.background, + appBar: AppBar( + backgroundColor: Colors.white, + elevation: 0, + leading: IconButton( + icon: Icon(Icons.arrow_back, color: AppColors.textPrimary), + onPressed: handleBackButtonPress, + ), + title: Text( + 'Pesan Paket', + style: TextStyle( + color: AppColors.textPrimary, + fontWeight: FontWeight.bold, + ), + ), + centerTitle: true, + ), + body: Obx( + () => controller.isLoading.value + ? Center(child: CircularProgressIndicator()) + : controller.paket.value == null + ? Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon( + Icons.error_outline_rounded, + size: 64, + color: AppColors.error, + ), + SizedBox(height: 16), + Text( + 'Paket tidak ditemukan', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + SizedBox(height: 8), + Text( + 'Silakan kembali dan pilih paket lain', + style: TextStyle( + fontSize: 14, + color: AppColors.textSecondary, + ), + ), + SizedBox(height: 24), + ElevatedButton( + onPressed: handleBackButtonPress, + style: ElevatedButton.styleFrom( + backgroundColor: AppColors.primary, + padding: EdgeInsets.symmetric( + horizontal: 24, + vertical: 12, + ), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(12), + ), + ), + child: Text('Kembali'), + ), + ], + ), + ) + : SingleChildScrollView( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildTopSection(), + _buildPaketDetails(), + _buildPriceOptions(), + _buildDateSelection(context), + SizedBox(height: 100), // Space for bottom bar + ], + ), + ), + ), + bottomSheet: Obx( + () => controller.isLoading.value || controller.paket.value == null + ? SizedBox.shrink() + : _buildBottomBar(onTapPesan: showOrderConfirmationDialog), + ), + ); + } + + // Build top section with paket images + Widget _buildTopSection() { + return Container( + height: 280, + width: double.infinity, + child: Stack( + children: [ + // Photo gallery + Obx( + () => controller.isPhotosLoading.value + ? Center(child: CircularProgressIndicator()) + : controller.paketImages.isEmpty + ? Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon( + Icons.image_not_supported_outlined, + size: 64, + color: AppColors.textSecondary, + ), + SizedBox(height: 16), + Text( + 'Tidak ada foto', + style: TextStyle( + fontSize: 16, + color: AppColors.textSecondary, + ), + ), + ], + ), + ) + : PhotoViewGallery.builder( + scrollPhysics: BouncingScrollPhysics(), + builder: (BuildContext context, int index) { + return PhotoViewGalleryPageOptions( + imageProvider: CachedNetworkImageProvider( + controller.paketImages[index], + ), + initialScale: PhotoViewComputedScale.contained, + minScale: PhotoViewComputedScale.contained, + maxScale: PhotoViewComputedScale.covered * 2, + heroAttributes: PhotoViewHeroAttributes( + tag: 'paket_image_$index', + ), + ); + }, + itemCount: controller.paketImages.length, + loadingBuilder: (context, event) => Center( + child: CircularProgressIndicator(), + ), + backgroundDecoration: BoxDecoration( + color: Colors.black, + ), + pageController: PageController(), + ), + ), + + // Gradient overlay at the top for back button + Positioned( + top: 0, + left: 0, + right: 0, + height: 80, + child: Container( + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topCenter, + end: Alignment.bottomCenter, + colors: [ + Colors.black.withOpacity(0.5), + Colors.transparent, + ], + ), + ), + ), + ), + ], + ), + ); + } + + // Build paket details section + Widget _buildPaketDetails() { + final paket = controller.paket.value!; + final PaketModel? paketModel = paket is PaketModel ? paket : null; + + return Container( + padding: EdgeInsets.all(16), + color: Colors.white, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Paket name and availability badge + Row( + children: [ + Expanded( + child: Text( + paketModel?.nama ?? controller.getPaketNama(paket) ?? 'Paket tanpa nama', + style: TextStyle( + fontSize: 20, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + ), + Container( + padding: EdgeInsets.symmetric(horizontal: 8, vertical: 4), + decoration: BoxDecoration( + color: AppColors.success.withOpacity(0.1), + borderRadius: BorderRadius.circular(8), + ), + child: Text( + 'Tersedia', + style: TextStyle( + fontSize: 12, + fontWeight: FontWeight.w500, + color: AppColors.success, + ), + ), + ), + ], + ), + SizedBox(height: 16), + + // Description + Text( + 'Deskripsi', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + color: AppColors.textPrimary, + ), + ), + SizedBox(height: 8), + Text( + paketModel?.deskripsi ?? controller.getPaketDeskripsi(paket) ?? 'Tidak ada deskripsi untuk paket ini.', + style: TextStyle( + fontSize: 14, + color: AppColors.textSecondary, + height: 1.5, + ), + ), + ], + ), + ); + } + // Build price options section + Widget _buildPriceOptions() { + final paket = controller.paket.value!; + final PaketModel? paketModel = paket is PaketModel ? paket : null; + final satuanWaktuSewa = paketModel?.satuanWaktuSewa ?? controller.getPaketSatuanWaktuSewa(paket); + + return Container( + padding: EdgeInsets.all(16), + color: Colors.white, + margin: EdgeInsets.only(top: 8), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Pilih Durasi', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + color: AppColors.textPrimary, + ), + ), + SizedBox(height: 16), + + // Price options grid + GridView.builder( + shrinkWrap: true, + physics: NeverScrollableScrollPhysics(), + gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( + crossAxisCount: 2, + childAspectRatio: 2.5, + crossAxisSpacing: 12, + mainAxisSpacing: 12, + ), + itemCount: satuanWaktuSewa.length, + itemBuilder: (context, index) { + final option = satuanWaktuSewa[index]; + final isSelected = controller.selectedSatuanWaktu.value != null && + controller.selectedSatuanWaktu.value!['id'] == option['id']; + + return GestureDetector( + onTap: () => controller.selectSatuanWaktu(option), + child: AnimatedContainer( + duration: Duration(milliseconds: 200), + decoration: BoxDecoration( + color: isSelected ? AppColors.primary : Colors.white, + borderRadius: BorderRadius.circular(12), + border: Border.all( + color: isSelected ? AppColors.primary : AppColors.borderLight, + width: 1, + ), + ), + padding: EdgeInsets.symmetric(horizontal: 16, vertical: 12), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + option['nama_satuan_waktu'] ?? 'Durasi', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w500, + color: isSelected ? Colors.white : AppColors.textPrimary, + ), + ), + SizedBox(height: 4), + Text( + controller.formatPrice(double.tryParse(option['harga'].toString()) ?? 0), + style: TextStyle( + fontSize: 12, + color: isSelected ? Colors.white.withOpacity(0.8) : AppColors.textSecondary, + ), + ), + ], + ), + ), + ); + }, + ), + ], + ), + ); + } + + // Build date selection section + Widget _buildDateSelection(BuildContext context) { + return Obx( + () => controller.selectedSatuanWaktu.value == null + ? SizedBox.shrink() + : Container( + padding: EdgeInsets.all(16), + color: Colors.white, + margin: EdgeInsets.only(top: 8), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + controller.isDailyRental() ? 'Pilih Tanggal' : 'Pilih Waktu', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + color: AppColors.textPrimary, + ), + ), + SizedBox(height: 16), + + // Date selection for daily rental + if (controller.isDailyRental()) + GestureDetector( + onTap: () async { + // Show date range picker + final now = DateTime.now(); + final initialStartDate = controller.selectedStartDate.value ?? now; + final initialEndDate = controller.selectedEndDate.value ?? now.add(Duration(days: 1)); + + final DateTimeRange? picked = await showDateRangePicker( + context: context, + initialDateRange: DateTimeRange(start: initialStartDate, end: initialEndDate), + firstDate: now, + lastDate: now.add(Duration(days: 365)), + builder: (context, child) { + return Theme( + data: ThemeData.light().copyWith( + colorScheme: ColorScheme.light( + primary: AppColors.primary, + onPrimary: Colors.white, + surface: Colors.white, + onSurface: AppColors.textPrimary, + ), + dialogBackgroundColor: Colors.white, + ), + child: child!, + ); + }, + ); + + if (picked != null) { + controller.selectDateRange(picked.start, picked.end); + } + }, + child: Container( + padding: EdgeInsets.all(16), + decoration: BoxDecoration( + border: Border.all(color: AppColors.borderLight), + borderRadius: BorderRadius.circular(12), + ), + child: Row( + children: [ + Icon(Icons.calendar_today, color: AppColors.primary), + SizedBox(width: 12), + Expanded( + child: Text( + controller.formattedDateRange.value.isEmpty + ? 'Pilih tanggal sewa' + : controller.formattedDateRange.value, + style: TextStyle( + fontSize: 14, + color: controller.formattedDateRange.value.isEmpty + ? AppColors.textSecondary + : AppColors.textPrimary, + ), + ), + ), + Icon(Icons.arrow_forward_ios, size: 16, color: AppColors.textSecondary), + ], + ), + ), + ) + // Time selection for hourly rental + else + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Date selection + GestureDetector( + onTap: () async { + final now = DateTime.now(); + final initialDate = controller.selectedStartDate.value ?? now; + + final DateTime? picked = await showDatePicker( + context: context, + initialDate: initialDate, + firstDate: now, + lastDate: now.add(Duration(days: 30)), + builder: (context, child) { + return Theme( + data: ThemeData.light().copyWith( + colorScheme: ColorScheme.light( + primary: AppColors.primary, + onPrimary: Colors.white, + surface: Colors.white, + onSurface: AppColors.textPrimary, + ), + dialogBackgroundColor: Colors.white, + ), + child: child!, + ); + }, + ); + + if (picked != null) { + controller.selectDate(picked); + } + }, + child: Container( + padding: EdgeInsets.all(16), + decoration: BoxDecoration( + border: Border.all(color: AppColors.borderLight), + borderRadius: BorderRadius.circular(12), + ), + child: Row( + children: [ + Icon(Icons.calendar_today, color: AppColors.primary), + SizedBox(width: 12), + Expanded( + child: Text( + controller.selectedDate.value.isEmpty + ? 'Pilih tanggal sewa' + : controller.selectedDate.value, + style: TextStyle( + fontSize: 14, + color: controller.selectedDate.value.isEmpty + ? AppColors.textSecondary + : AppColors.textPrimary, + ), + ), + ), + Icon(Icons.arrow_forward_ios, size: 16, color: AppColors.textSecondary), + ], + ), + ), + ), + SizedBox(height: 16), + + // Time range selection + controller.selectedDate.value.isEmpty + ? SizedBox.shrink() + : Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Pilih Jam', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w500, + color: AppColors.textPrimary, + ), + ), + SizedBox(height: 12), + Row( + children: [ + // Start time + Expanded( + child: GestureDetector( + onTap: () async { + // Show time picker for start time (8-20) + final List<int> availableHours = List.generate(13, (i) => i + 8); + final int? selectedHour = await showDialog<int>( + context: context, + builder: (context) => SimpleDialog( + title: Text('Pilih Jam Mulai'), + children: availableHours.map((hour) { + return SimpleDialogOption( + onPressed: () => Navigator.pop(context, hour), + child: Text('$hour:00'), + ); + }).toList(), + ), + ); + + if (selectedHour != null) { + // If end time is already selected and less than start time, reset it + if (controller.selectedEndTime.value > 0 && + controller.selectedEndTime.value <= selectedHour) { + controller.selectedEndTime.value = -1; + } + controller.selectedStartTime.value = selectedHour; + if (controller.selectedEndTime.value > 0) { + controller.selectTimeRange( + controller.selectedStartTime.value, + controller.selectedEndTime.value, + ); + } + } + }, + child: Container( + padding: EdgeInsets.all(12), + decoration: BoxDecoration( + border: Border.all(color: AppColors.borderLight), + borderRadius: BorderRadius.circular(8), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon(Icons.access_time, size: 16, color: AppColors.primary), + SizedBox(width: 8), + Text( + controller.selectedStartTime.value < 0 + ? 'Jam Mulai' + : '${controller.selectedStartTime.value}:00', + style: TextStyle( + fontSize: 14, + color: controller.selectedStartTime.value < 0 + ? AppColors.textSecondary + : AppColors.textPrimary, + ), + ), + ], + ), + ), + ), + ), + SizedBox(width: 16), + // End time + Expanded( + child: GestureDetector( + onTap: () async { + if (controller.selectedStartTime.value < 0) { + Get.snackbar( + 'Perhatian', + 'Pilih jam mulai terlebih dahulu', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: AppColors.warning, + colorText: Colors.white, + ); + return; + } + + // Show time picker for end time (start+1 to 21) + final List<int> availableHours = List.generate( + 21 - controller.selectedStartTime.value, + (i) => i + controller.selectedStartTime.value + 1, + ); + final int? selectedHour = await showDialog<int>( + context: context, + builder: (context) => SimpleDialog( + title: Text('Pilih Jam Selesai'), + children: availableHours.map((hour) { + return SimpleDialogOption( + onPressed: () => Navigator.pop(context, hour), + child: Text('$hour:00'), + ); + }).toList(), + ), + ); + + if (selectedHour != null) { + controller.selectedEndTime.value = selectedHour; + controller.selectTimeRange( + controller.selectedStartTime.value, + controller.selectedEndTime.value, + ); + } + }, + child: Container( + padding: EdgeInsets.all(12), + decoration: BoxDecoration( + border: Border.all(color: AppColors.borderLight), + borderRadius: BorderRadius.circular(8), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon(Icons.access_time, size: 16, color: AppColors.primary), + SizedBox(width: 8), + Text( + controller.selectedEndTime.value < 0 + ? 'Jam Selesai' + : '${controller.selectedEndTime.value}:00', + style: TextStyle( + fontSize: 14, + color: controller.selectedEndTime.value < 0 + ? AppColors.textSecondary + : AppColors.textPrimary, + ), + ), + ], + ), + ), + ), + ), + ], + ), + ], + ), + ], + ), + ], + ), + ), + ); + } + + // Build bottom bar with total price and order button + Widget _buildBottomBar({required VoidCallback onTapPesan}) { + return Container( + padding: EdgeInsets.symmetric(horizontal: 16, vertical: 12), + decoration: BoxDecoration( + color: Colors.white, + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: Offset(0, -5), + ), + ], + ), + child: SafeArea( + child: Row( + children: [ + // Price info + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + 'Total', + style: TextStyle( + fontSize: 12, + color: AppColors.textSecondary, + ), + ), + Obx( + () => Text( + controller.formatPrice(controller.totalPrice.value), + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColors.primary, + ), + ), + ), + ], + ), + ), + // Order button + Obx( + () => ElevatedButton( + onPressed: controller.selectedSatuanWaktu.value == null || + (controller.isDailyRental() && + (controller.selectedStartDate.value == null || + controller.selectedEndDate.value == null)) || + (!controller.isDailyRental() && + (controller.selectedStartDate.value == null || + controller.selectedStartTime.value < 0 || + controller.selectedEndTime.value < 0)) + ? null + : onTapPesan, + style: ElevatedButton.styleFrom( + backgroundColor: AppColors.primary, + padding: EdgeInsets.symmetric(horizontal: 24, vertical: 12), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(12), + ), + ), + child: Text( + 'Pesan Sekarang', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + color: Colors.white, + ), + ), + ), + ), + ], + ), + ), + ); + } + \ No newline at end of file diff --git a/lib/app/modules/warga/views/order_sewa_paket_view.dart.remaining b/lib/app/modules/warga/views/order_sewa_paket_view.dart.remaining new file mode 100644 index 0000000..325f320 --- /dev/null +++ b/lib/app/modules/warga/views/order_sewa_paket_view.dart.remaining @@ -0,0 +1,470 @@ + // Build price options section + Widget _buildPriceOptions() { + final paket = controller.paket.value!; + final PaketModel? paketModel = paket is PaketModel ? paket : null; + final satuanWaktuSewa = paketModel?.satuanWaktuSewa ?? controller.getPaketSatuanWaktuSewa(paket); + + return Container( + padding: EdgeInsets.all(16), + color: Colors.white, + margin: EdgeInsets.only(top: 8), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Pilih Durasi', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + color: AppColors.textPrimary, + ), + ), + SizedBox(height: 16), + + // Price options grid + GridView.builder( + shrinkWrap: true, + physics: NeverScrollableScrollPhysics(), + gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( + crossAxisCount: 2, + childAspectRatio: 2.5, + crossAxisSpacing: 12, + mainAxisSpacing: 12, + ), + itemCount: satuanWaktuSewa.length, + itemBuilder: (context, index) { + final option = satuanWaktuSewa[index]; + final isSelected = controller.selectedSatuanWaktu.value != null && + controller.selectedSatuanWaktu.value!['id'] == option['id']; + + return GestureDetector( + onTap: () => controller.selectSatuanWaktu(option), + child: AnimatedContainer( + duration: Duration(milliseconds: 200), + decoration: BoxDecoration( + color: isSelected ? AppColors.primary : Colors.white, + borderRadius: BorderRadius.circular(12), + border: Border.all( + color: isSelected ? AppColors.primary : AppColors.borderLight, + width: 1, + ), + ), + padding: EdgeInsets.symmetric(horizontal: 16, vertical: 12), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + option['nama_satuan_waktu'] ?? 'Durasi', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w500, + color: isSelected ? Colors.white : AppColors.textPrimary, + ), + ), + SizedBox(height: 4), + Text( + controller.formatPrice(double.tryParse(option['harga'].toString()) ?? 0), + style: TextStyle( + fontSize: 12, + color: isSelected ? Colors.white.withOpacity(0.8) : AppColors.textSecondary, + ), + ), + ], + ), + ), + ); + }, + ), + ], + ), + ); + } + + // Build date selection section + Widget _buildDateSelection(BuildContext context) { + return Obx( + () => controller.selectedSatuanWaktu.value == null + ? SizedBox.shrink() + : Container( + padding: EdgeInsets.all(16), + color: Colors.white, + margin: EdgeInsets.only(top: 8), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + controller.isDailyRental() ? 'Pilih Tanggal' : 'Pilih Waktu', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + color: AppColors.textPrimary, + ), + ), + SizedBox(height: 16), + + // Date selection for daily rental + if (controller.isDailyRental()) + GestureDetector( + onTap: () async { + // Show date range picker + final now = DateTime.now(); + final initialStartDate = controller.selectedStartDate.value ?? now; + final initialEndDate = controller.selectedEndDate.value ?? now.add(Duration(days: 1)); + + final DateTimeRange? picked = await showDateRangePicker( + context: context, + initialDateRange: DateTimeRange(start: initialStartDate, end: initialEndDate), + firstDate: now, + lastDate: now.add(Duration(days: 365)), + builder: (context, child) { + return Theme( + data: ThemeData.light().copyWith( + colorScheme: ColorScheme.light( + primary: AppColors.primary, + onPrimary: Colors.white, + surface: Colors.white, + onSurface: AppColors.textPrimary, + ), + dialogBackgroundColor: Colors.white, + ), + child: child!, + ); + }, + ); + + if (picked != null) { + controller.selectDateRange(picked.start, picked.end); + } + }, + child: Container( + padding: EdgeInsets.all(16), + decoration: BoxDecoration( + border: Border.all(color: AppColors.borderLight), + borderRadius: BorderRadius.circular(12), + ), + child: Row( + children: [ + Icon(Icons.calendar_today, color: AppColors.primary), + SizedBox(width: 12), + Expanded( + child: Text( + controller.formattedDateRange.value.isEmpty + ? 'Pilih tanggal sewa' + : controller.formattedDateRange.value, + style: TextStyle( + fontSize: 14, + color: controller.formattedDateRange.value.isEmpty + ? AppColors.textSecondary + : AppColors.textPrimary, + ), + ), + ), + Icon(Icons.arrow_forward_ios, size: 16, color: AppColors.textSecondary), + ], + ), + ), + ) + // Time selection for hourly rental + else + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Date selection + GestureDetector( + onTap: () async { + final now = DateTime.now(); + final initialDate = controller.selectedStartDate.value ?? now; + + final DateTime? picked = await showDatePicker( + context: context, + initialDate: initialDate, + firstDate: now, + lastDate: now.add(Duration(days: 30)), + builder: (context, child) { + return Theme( + data: ThemeData.light().copyWith( + colorScheme: ColorScheme.light( + primary: AppColors.primary, + onPrimary: Colors.white, + surface: Colors.white, + onSurface: AppColors.textPrimary, + ), + dialogBackgroundColor: Colors.white, + ), + child: child!, + ); + }, + ); + + if (picked != null) { + controller.selectDate(picked); + } + }, + child: Container( + padding: EdgeInsets.all(16), + decoration: BoxDecoration( + border: Border.all(color: AppColors.borderLight), + borderRadius: BorderRadius.circular(12), + ), + child: Row( + children: [ + Icon(Icons.calendar_today, color: AppColors.primary), + SizedBox(width: 12), + Expanded( + child: Text( + controller.selectedDate.value.isEmpty + ? 'Pilih tanggal sewa' + : controller.selectedDate.value, + style: TextStyle( + fontSize: 14, + color: controller.selectedDate.value.isEmpty + ? AppColors.textSecondary + : AppColors.textPrimary, + ), + ), + ), + Icon(Icons.arrow_forward_ios, size: 16, color: AppColors.textSecondary), + ], + ), + ), + ), + SizedBox(height: 16), + + // Time range selection + controller.selectedDate.value.isEmpty + ? SizedBox.shrink() + : Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Pilih Jam', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w500, + color: AppColors.textPrimary, + ), + ), + SizedBox(height: 12), + Row( + children: [ + // Start time + Expanded( + child: GestureDetector( + onTap: () async { + // Show time picker for start time (8-20) + final List availableHours = List.generate(13, (i) => i + 8); + final int? selectedHour = await showDialog( + context: context, + builder: (context) => SimpleDialog( + title: Text('Pilih Jam Mulai'), + children: availableHours.map((hour) { + return SimpleDialogOption( + onPressed: () => Navigator.pop(context, hour), + child: Text('$hour:00'), + ); + }).toList(), + ), + ); + + if (selectedHour != null) { + // If end time is already selected and less than start time, reset it + if (controller.selectedEndTime.value > 0 && + controller.selectedEndTime.value <= selectedHour) { + controller.selectedEndTime.value = -1; + } + controller.selectedStartTime.value = selectedHour; + if (controller.selectedEndTime.value > 0) { + controller.selectTimeRange( + controller.selectedStartTime.value, + controller.selectedEndTime.value, + ); + } + } + }, + child: Container( + padding: EdgeInsets.all(12), + decoration: BoxDecoration( + border: Border.all(color: AppColors.borderLight), + borderRadius: BorderRadius.circular(8), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon(Icons.access_time, size: 16, color: AppColors.primary), + SizedBox(width: 8), + Text( + controller.selectedStartTime.value < 0 + ? 'Jam Mulai' + : '${controller.selectedStartTime.value}:00', + style: TextStyle( + fontSize: 14, + color: controller.selectedStartTime.value < 0 + ? AppColors.textSecondary + : AppColors.textPrimary, + ), + ), + ], + ), + ), + ), + ), + SizedBox(width: 16), + // End time + Expanded( + child: GestureDetector( + onTap: () async { + if (controller.selectedStartTime.value < 0) { + Get.snackbar( + 'Perhatian', + 'Pilih jam mulai terlebih dahulu', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: AppColors.warning, + colorText: Colors.white, + ); + return; + } + + // Show time picker for end time (start+1 to 21) + final List availableHours = List.generate( + 21 - controller.selectedStartTime.value, + (i) => i + controller.selectedStartTime.value + 1, + ); + final int? selectedHour = await showDialog( + context: context, + builder: (context) => SimpleDialog( + title: Text('Pilih Jam Selesai'), + children: availableHours.map((hour) { + return SimpleDialogOption( + onPressed: () => Navigator.pop(context, hour), + child: Text('$hour:00'), + ); + }).toList(), + ), + ); + + if (selectedHour != null) { + controller.selectedEndTime.value = selectedHour; + controller.selectTimeRange( + controller.selectedStartTime.value, + controller.selectedEndTime.value, + ); + } + }, + child: Container( + padding: EdgeInsets.all(12), + decoration: BoxDecoration( + border: Border.all(color: AppColors.borderLight), + borderRadius: BorderRadius.circular(8), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon(Icons.access_time, size: 16, color: AppColors.primary), + SizedBox(width: 8), + Text( + controller.selectedEndTime.value < 0 + ? 'Jam Selesai' + : '${controller.selectedEndTime.value}:00', + style: TextStyle( + fontSize: 14, + color: controller.selectedEndTime.value < 0 + ? AppColors.textSecondary + : AppColors.textPrimary, + ), + ), + ], + ), + ), + ), + ), + ], + ), + ], + ), + ], + ), + ], + ), + ), + ); + } + + // Build bottom bar with total price and order button + Widget _buildBottomBar({required VoidCallback onTapPesan}) { + return Container( + padding: EdgeInsets.symmetric(horizontal: 16, vertical: 12), + decoration: BoxDecoration( + color: Colors.white, + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: Offset(0, -5), + ), + ], + ), + child: SafeArea( + child: Row( + children: [ + // Price info + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + Text( + 'Total', + style: TextStyle( + fontSize: 12, + color: AppColors.textSecondary, + ), + ), + Obx( + () => Text( + controller.formatPrice(controller.totalPrice.value), + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColors.primary, + ), + ), + ), + ], + ), + ), + // Order button + Obx( + () => ElevatedButton( + onPressed: controller.selectedSatuanWaktu.value == null || + (controller.isDailyRental() && + (controller.selectedStartDate.value == null || + controller.selectedEndDate.value == null)) || + (!controller.isDailyRental() && + (controller.selectedStartDate.value == null || + controller.selectedStartTime.value < 0 || + controller.selectedEndTime.value < 0)) + ? null + : onTapPesan, + style: ElevatedButton.styleFrom( + backgroundColor: AppColors.primary, + padding: EdgeInsets.symmetric(horizontal: 24, vertical: 12), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(12), + ), + ), + child: Text( + 'Pesan Sekarang', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + color: Colors.white, + ), + ), + ), + ), + ], + ), + ), + ); + } diff --git a/lib/app/modules/warga/views/pembayaran_sewa_view.dart b/lib/app/modules/warga/views/pembayaran_sewa_view.dart new file mode 100644 index 0000000..cc24e79 --- /dev/null +++ b/lib/app/modules/warga/views/pembayaran_sewa_view.dart @@ -0,0 +1,2154 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; // Added for Clipboard +import 'package:get/get.dart'; +import '../controllers/pembayaran_sewa_controller.dart'; +import 'package:intl/intl.dart'; +import '../../../theme/app_colors.dart'; + +class PembayaranSewaView extends GetView { + const PembayaranSewaView({super.key}); + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: AppColors.background, + appBar: AppBar( + title: const Text( + 'Detail Pesanan', + style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), + ), + centerTitle: true, + backgroundColor: AppColors.primary, + foregroundColor: AppColors.textOnPrimary, + elevation: 0, + leading: IconButton( + icon: const Icon(Icons.arrow_back), + onPressed: () => Get.back(), + ), + ), + body: Column( + children: [ + Container( + decoration: BoxDecoration( + color: AppColors.primary, + boxShadow: [ + BoxShadow( + color: AppColors.shadow, + blurRadius: 4, + offset: const Offset(0, 2), + ), + ], + ), + child: Container( + margin: const EdgeInsets.only(bottom: 4), + decoration: const BoxDecoration( + color: AppColors.surface, + borderRadius: BorderRadius.only( + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ), + ), + child: TabBar( + controller: controller.tabController, + labelColor: AppColors.primary, + unselectedLabelColor: AppColors.textSecondary, + indicatorColor: AppColors.primary, + indicatorWeight: 3, + indicatorSize: TabBarIndicatorSize.label, + labelStyle: const TextStyle( + fontWeight: FontWeight.bold, + fontSize: 14, + ), + unselectedLabelStyle: const TextStyle( + fontWeight: FontWeight.normal, + fontSize: 14, + ), + tabs: const [ + Tab(text: 'Ringkasan'), + Tab(text: 'Detail Tagihan'), + Tab(text: 'Pembayaran'), + ], + ), + ), + ), + Expanded( + child: TabBarView( + controller: controller.tabController, + children: [ + _buildSummaryTab(), + _buildBillingTab(), + _buildPaymentTab(), + ], + ), + ), + ], + ), + ); + } + + // First Tab - Summary Tab (renamed from Order Details) + Widget _buildSummaryTab() { + return RefreshIndicator( + onRefresh: controller.refreshData, + color: AppColors.primary, + child: SingleChildScrollView( + physics: const AlwaysScrollableScrollPhysics(), + padding: const EdgeInsets.all(16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildOrderStatusCard(), + const SizedBox(height: 16), + _buildPaymentSummaryCard(), + const SizedBox(height: 16), + _buildOrderProgressTimeline(), + ], + ), + ), + ); + } + + // Second Tab - Billing Tab (new tab) + Widget _buildBillingTab() { + return RefreshIndicator( + onRefresh: controller.refreshData, + color: AppColors.primary, + child: SingleChildScrollView( + physics: const AlwaysScrollableScrollPhysics(), + padding: const EdgeInsets.all(16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Obx( + () => + controller.isLoading.value + ? Center( + child: Padding( + padding: const EdgeInsets.all(20.0), + child: Column( + children: [ + const CircularProgressIndicator( + valueColor: AlwaysStoppedAnimation( + Colors.deepPurple, + ), + ), + const SizedBox(height: 16), + Text( + 'Memuat data tagihan...', + style: TextStyle( + color: Colors.grey[700], + fontSize: 14, + ), + ), + ], + ), + ), + ) + : Column( + children: [ + _buildInvoiceIdCard(), + const SizedBox(height: 16), + _buildTagihanAwalCard(), + const SizedBox(height: 16), + _buildDendaCard(), + ], + ), + ), + ], + ), + ), + ); + } + + // Third Tab - Payment Tab (renamed from Payment Instructions) + Widget _buildPaymentTab() { + return RefreshIndicator( + onRefresh: controller.refreshData, + color: AppColors.primary, + child: SingleChildScrollView( + physics: const AlwaysScrollableScrollPhysics(), + padding: const EdgeInsets.all(16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildPaymentTypeSelection(), + const SizedBox(height: 24), + Obx(() { + // Show payment method selection only after selecting a payment type + if (controller.selectedPaymentType.value.isNotEmpty) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildPaymentMethodSelection(), + const SizedBox(height: 24), + if (controller.paymentMethod.value == 'transfer') + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildTransferInstructions(), + const SizedBox(height: 24), + _buildPaymentProofUpload(), + ], + ) + else if (controller.paymentMethod.value == 'cash') + _buildCashInstructions() + else + _buildSelectPaymentMethodPrompt(), + ], + ); + } else { + // Prompt to select payment type first + return _buildSelectPaymentTypePrompt(); + } + }), + ], + ), + ), + ); + } + + // Order Status Card + Widget _buildOrderStatusCard() { + return Card( + elevation: 2, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)), + child: Padding( + padding: const EdgeInsets.all(16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + const Text( + 'Status Pesanan', + style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + ), + Container( + padding: const EdgeInsets.symmetric( + horizontal: 12, + vertical: 6, + ), + decoration: BoxDecoration( + color: Colors.orange.withOpacity(0.1), + borderRadius: BorderRadius.circular(16), + border: Border.all(color: Colors.orange.withOpacity(0.3)), + ), + child: Obx( + () => Text( + controller.orderDetails.value['status'] ?? + 'MENUNGGU PEMBAYARAN', + style: const TextStyle( + fontSize: 12, + fontWeight: FontWeight.bold, + color: Colors.orange, + ), + ), + ), + ), + ], + ), + const SizedBox(height: 16), + const Text( + 'ID Pesanan', + style: TextStyle(fontSize: 14, color: Colors.grey), + ), + const SizedBox(height: 4), + Obx( + () => Text( + controller.orderDetails.value['id'] ?? '-', + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.w500, + ), + ), + ), + const SizedBox(height: 16), + Row( + children: [ + const Icon(Icons.access_time, size: 16, color: Colors.grey), + const SizedBox(width: 4), + const Text( + 'Batas waktu pembayaran: ', + style: TextStyle(fontSize: 14, color: Colors.grey), + ), + Obx( + () => Text( + controller.orderDetails.value['status'] == 'DIBATALKAN' + ? 'Dibatalkan' + : controller.remainingTime.value, + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.bold, + color: Colors.red[700], + ), + ), + ), + ], + ), + ], + ), + ), + ); + } + + // Modern Order Progress Timeline + Widget _buildOrderProgressTimeline() { + final steps = [ + { + 'title': 'Menunggu Pembayaran', + 'description': 'Segera lakukan pembayaran untuk melanjutkan pesanan', + 'icon': Icons.payment, + 'step': 0, + }, + { + 'title': 'Memeriksa Pembayaran', + 'description': 'Pembayaran sedang diverifikasi oleh petugas', + 'icon': Icons.receipt_long, + 'step': 1, + }, + { + 'title': 'Diterima', + 'description': 'Pesanan Anda telah diterima dan dikonfirmasi', + 'icon': Icons.check_circle, + 'step': 2, + }, + { + 'title': 'Pengembalian', + 'description': 'Proses pengembalian aset sewa', + 'icon': Icons.assignment_return, + 'step': 3, + }, + { + 'title': 'Pembayaran Denda', + 'description': 'Pembayaran denda jika ada kerusakan atau keterlambatan', + 'icon': Icons.money, + 'step': 4, + }, + { + 'title': 'Memeriksa Pembayaran Denda', + 'description': 'Verifikasi pembayaran denda oleh petugas', + 'icon': Icons.fact_check, + 'step': 5, + }, + { + 'title': 'Selesai', + 'description': 'Pesanan sewa telah selesai', + 'icon': Icons.task_alt, + 'step': 6, + }, + ]; + + return Card( + elevation: 2, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(16)), + child: Padding( + padding: const EdgeInsets.all(20), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Icon(Icons.timeline, color: AppColors.primary, size: 22), + const SizedBox(width: 10), + const Text( + 'Progress Pesanan', + style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + ), + ], + ), + const SizedBox(height: 20), + Obx(() { + final currentStep = controller.currentStep.value; + return ListView.builder( + shrinkWrap: true, + physics: const NeverScrollableScrollPhysics(), + itemCount: steps.length, + itemBuilder: (context, index) { + final step = steps[index]; + final stepNumber = step['step'] as int; + final isActive = currentStep >= stepNumber; + final isCompleted = currentStep > stepNumber; + final isLast = index == steps.length - 1; + + // Determine the appropriate colors + final Color iconColor = + isActive + ? (isCompleted + ? AppColors.success + : AppColors.primary) + : Colors.grey[300]!; + + final Color lineColor = + isCompleted ? AppColors.success : Colors.grey[300]!; + + final Color bgColor = + isActive + ? (isCompleted + ? AppColors.successLight + : AppColors.primarySoft) + : Colors.grey[100]!; + + return Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Column( + children: [ + Container( + width: 36, + height: 36, + decoration: BoxDecoration( + color: bgColor, + shape: BoxShape.circle, + border: Border.all(color: iconColor, width: 2), + ), + child: Icon( + isCompleted + ? Icons.check + : step['icon'] as IconData, + color: iconColor, + size: 18, + ), + ), + if (!isLast) + Container(width: 2, height: 40, color: lineColor), + ], + ), + const SizedBox(width: 16), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + step['title'] as String, + style: TextStyle( + fontWeight: FontWeight.w600, + fontSize: 14, + color: + isActive + ? AppColors.textPrimary + : AppColors.textSecondary, + ), + ), + const SizedBox(height: 4), + Text( + step['description'] as String, + style: TextStyle( + color: AppColors.textSecondary, + fontSize: 12, + ), + ), + if (!isLast) const SizedBox(height: 20), + ], + ), + ), + if (isCompleted) + Icon( + Icons.check_circle, + color: AppColors.success, + size: 18, + ) + else if (currentStep == stepNumber) + Container( + padding: const EdgeInsets.symmetric( + horizontal: 8, + vertical: 4, + ), + decoration: BoxDecoration( + color: AppColors.primarySoft, + borderRadius: BorderRadius.circular(12), + border: Border.all( + color: AppColors.primary.withOpacity(0.3), + ), + ), + child: Text( + 'Saat ini', + style: TextStyle( + fontSize: 10, + fontWeight: FontWeight.bold, + color: AppColors.primary, + ), + ), + ), + ], + ); + }, + ); + }), + ], + ), + ), + ); + } + + // ID Tagihan Card + Widget _buildInvoiceIdCard() { + return Card( + elevation: 2, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)), + child: Padding( + padding: const EdgeInsets.all(16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Icon(Icons.receipt_long, color: Colors.deepPurple, size: 24), + const SizedBox(width: 8), + const Text( + 'ID Tagihan', + style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + ), + ], + ), + const SizedBox(height: 12), + Container( + padding: const EdgeInsets.all(12), + decoration: BoxDecoration( + color: Colors.grey[100], + borderRadius: BorderRadius.circular(8), + border: Border.all(color: Colors.grey[300]!), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Expanded( + child: Text( + controller.tagihanSewa.value['id'] ?? '-', + style: const TextStyle( + fontFamily: 'monospace', + fontWeight: FontWeight.w500, + fontSize: 14, + ), + ), + ), + IconButton( + icon: const Icon(Icons.copy, size: 18), + onPressed: () { + // Copy to clipboard functionality would go here + ScaffoldMessenger.of(Get.context!).showSnackBar( + const SnackBar( + content: Text('ID Tagihan disalin ke clipboard'), + duration: Duration(seconds: 2), + ), + ); + }, + color: Colors.deepPurple, + tooltip: 'Salin ID Tagihan', + padding: EdgeInsets.zero, + constraints: const BoxConstraints(), + ), + ], + ), + ), + ], + ), + ), + ); + } + + // Tagihan Awal Card (renamed from BillingDetailsCard) + Widget _buildTagihanAwalCard() { + return Card( + elevation: 2, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)), + child: Padding( + padding: const EdgeInsets.all(16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Icon(Icons.receipt, color: Colors.deepPurple, size: 24), + const SizedBox(width: 8), + const Text( + 'Tagihan Awal', + style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + ), + ], + ), + const SizedBox(height: 16), + Obx( + () => Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Item name from aset.nama + _buildDetailItem( + 'Item', + controller.sewaAsetDetails.value['aset_detail'] != null + ? controller + .sewaAsetDetails + .value['aset_detail']['nama'] ?? + '-' + : controller.tagihanSewa.value['nama_aset'] ?? + controller.orderDetails.value['item_name'] ?? + '-', + ), + // Quantity from sewa_aset.kuantitas + _buildDetailItem( + 'Jumlah', + '${controller.sewaAsetDetails.value['kuantitas'] ?? controller.orderDetails.value['quantity'] ?? 0} unit', + ), + // Waktu Sewa with sub-points for Waktu Mulai and Waktu Selesai + _buildDetailItemWithSubpoints( + 'Waktu Sewa', + [ + { + 'label': 'Waktu Mulai', + 'value': _formatDateTime(controller.sewaAsetDetails.value['waktu_mulai']), + }, + { + 'label': 'Waktu Selesai', + 'value': _formatDateTime(controller.sewaAsetDetails.value['waktu_selesai']), + }, + ], + ), + _buildDetailItem( + 'Durasi', + controller.tagihanSewa.value['durasi'] != null + ? '${controller.tagihanSewa.value['durasi']} ${controller.tagihanSewa.value['satuan_waktu'] ?? ''}' + : controller.orderDetails.value['duration'] ?? '-', + ), + const Divider(height: 32), + _buildDetailItem( + 'Harga per Unit', + 'Rp ${controller.tagihanSewa.value['harga_sewa'] ?? controller.orderDetails.value['price_per_unit'] ?? 0}', + isImportant: false, + ), + _buildDetailItem( + 'Total Harga', + 'Rp ${controller.tagihanSewa.value['tagihan_awal'] ?? controller.orderDetails.value['total_price'] ?? 0}', + isImportant: true, + ), + ], + ), + ), + ], + ), + ), + ); + } + + // Denda Card + Widget _buildDendaCard() { + return Card( + elevation: 2, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)), + child: Padding( + padding: const EdgeInsets.all(16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Icon( + Icons.warning_amber_rounded, + color: Colors.orange[700], + size: 24, + ), + const SizedBox(width: 8), + Text( + 'Denda', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: Colors.orange[700], + ), + ), + ], + ), + const SizedBox(height: 16), + Obx(() { + // Get values from tagihan_sewa table + final denda = controller.tagihanSewa.value['denda']; + final keterangan = controller.tagihanSewa.value['keterangan']; + final fotoKerusakan = controller.tagihanSewa.value['foto_kerusakan']; + + debugPrint('Tagihan Denda: $denda'); + debugPrint('Tagihan Keterangan: $keterangan'); + debugPrint('Tagihan Foto Kerusakan: $fotoKerusakan'); + + // Always show the denda amount, using "-" when it's null or zero + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Show denda amount + _buildDetailItem( + 'Jumlah Denda', + denda != null && denda != 0 + ? 'Rp ${NumberFormat('#,###').format(denda)}' + : '-', + isImportant: true, + valueColor: + denda != null && denda != 0 + ? Colors.red[700] + : Colors.grey[700], + ), + + // Show keterangan if it exists + Padding( + padding: const EdgeInsets.only(top: 16.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text( + 'Keterangan:', + style: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 14, + ), + ), + const SizedBox(height: 8), + Container( + width: double.infinity, + padding: const EdgeInsets.all(12), + decoration: BoxDecoration( + color: Colors.grey[100], + borderRadius: BorderRadius.circular(8), + border: Border.all(color: Colors.grey[300]!), + ), + child: Text( + (keterangan != null && + keterangan.toString().isNotEmpty) + ? keterangan.toString() + : (denda != null && denda != 0 + ? 'Terdapat denda untuk penyewaan ini.' + : 'Tidak ada denda untuk penyewaan ini.'), + style: TextStyle( + color: Colors.grey[800], + fontSize: 14, + ), + ), + ), + ], + ), + ), + + // Supporting Image - always show if denda exists + if (denda != null && denda != 0) + Padding( + padding: const EdgeInsets.only(top: 16.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text( + 'Gambar Pendukung:', + style: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 14, + ), + ), + const SizedBox(height: 8), + ClipRRect( + borderRadius: BorderRadius.circular(8), + child: GestureDetector( + onTap: () { + // Show fullscreen image when tapped + // Use the BuildContext from the current widget tree + _showFullScreenImage(Get.context!, fotoKerusakan); + }, + child: Hero( + tag: 'damage-photo-${fotoKerusakan ?? 'default'}', + child: fotoKerusakan != null && fotoKerusakan.toString().isNotEmpty && fotoKerusakan.toString().startsWith('http') + ? Image.network( + fotoKerusakan.toString(), + width: double.infinity, + height: 200, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + debugPrint('Error loading image: $error'); + return Image.asset( + 'assets/images/gambar_pendukung.jpg', + width: double.infinity, + height: 200, + fit: BoxFit.cover, + ); + }, + ) + : Image.asset( + 'assets/images/gambar_pendukung.jpg', + width: double.infinity, + height: 200, + fit: BoxFit.cover, + ), + ), + ), + ), + ], + ), + ), + ], + ); + }), + ], + ), + ), + ); + } + + // Helper method to format rental period from ISO timestamps + String _formatRentalPeriod(String? startTime, String? endTime) { + debugPrint('🏷️ _formatRentalPeriod called with:'); + debugPrint(' startTime: $startTime'); + debugPrint(' endTime: $endTime'); + + // Get satuan_waktu from tagihan + final satuanWaktu = controller.tagihanSewa.value['satuan_waktu'] ?? 'jam'; + debugPrint(' satuan_waktu: $satuanWaktu'); + + // Also debug the entire sewaAsetDetails object + debugPrint('🔍 Current sewaAsetDetails data:'); + controller.sewaAsetDetails.value.forEach((key, value) { + debugPrint(' $key: $value'); + }); + + if (startTime == null || endTime == null) { + debugPrint('⚠️ startTime or endTime is null, using fallback value:'); + debugPrint( + ' Fallback: ${controller.orderDetails.value['rental_period']}', + ); + return controller.orderDetails.value['rental_period'] ?? '-'; + } + + try { + final start = DateTime.parse(startTime); + final end = DateTime.parse(endTime); + + debugPrint('✅ Successfully parsed dates:'); + debugPrint(' start: $start'); + debugPrint(' end: $end'); + + // Format based on satuan_waktu + String formattedPeriod; + + if (satuanWaktu.toLowerCase() == 'hari') { + // Format for daily rentals: "22 April 2025, 06:00 - 23 April 2025, 21:00" + final startDateStr = + "${start.day} ${_getMonthName(start.month)} ${start.year}"; + final startTimeStr = + "${start.hour.toString().padLeft(2, '0')}:${start.minute.toString().padLeft(2, '0')}"; + final endDateStr = "${end.day} ${_getMonthName(end.month)} ${end.year}"; + final endTimeStr = + "${end.hour.toString().padLeft(2, '0')}:${end.minute.toString().padLeft(2, '0')}"; + + formattedPeriod = + "$startDateStr, $startTimeStr - $endDateStr, $endTimeStr"; + } else { + // Format for hourly rentals: "24 April 2023, 10:00 - 12:00" + final dateStr = + "${start.day} ${_getMonthName(start.month)} ${start.year}"; + final startTimeStr = + "${start.hour.toString().padLeft(2, '0')}:${start.minute.toString().padLeft(2, '0')}"; + final endTimeStr = + "${end.hour.toString().padLeft(2, '0')}:${end.minute.toString().padLeft(2, '0')}"; + + formattedPeriod = "$dateStr, $startTimeStr - $endTimeStr"; + } + + debugPrint( + '✅ Formatted period: $formattedPeriod (satuan_waktu: $satuanWaktu)', + ); + return formattedPeriod; + } catch (e) { + debugPrint('❌ Error formatting rental period: $e'); + debugPrint(' Stack trace: ${StackTrace.current}'); + return controller.orderDetails.value['rental_period'] ?? '-'; + } + } + + // Helper method to get month name in Indonesian + String _getMonthName(int month) { + const monthNames = [ + 'Januari', + 'Februari', + 'Maret', + 'April', + 'Mei', + 'Juni', + 'Juli', + 'Agustus', + 'September', + 'Oktober', + 'November', + 'Desember', + ]; + return monthNames[month - 1]; + } + + // Show fullscreen image dialog + void _showFullScreenImage(BuildContext context, dynamic imageUrl) { + final String imageSource = (imageUrl != null && + imageUrl.toString().isNotEmpty && + imageUrl.toString().startsWith('http')) + ? imageUrl.toString() + : ''; + + showDialog( + context: context, + builder: (BuildContext context) { + return Dialog( + insetPadding: EdgeInsets.zero, + backgroundColor: Colors.transparent, + child: Stack( + alignment: Alignment.center, + children: [ + // Fullscreen image with Hero animation + InteractiveViewer( + minScale: 0.5, + maxScale: 3.0, + child: Hero( + tag: 'damage-photo-${imageUrl ?? 'default'}', + child: Container( + width: MediaQuery.of(context).size.width, + height: MediaQuery.of(context).size.height, + color: Colors.black.withOpacity(0.8), + child: Center( + child: imageSource.isNotEmpty + ? Image.network( + imageSource, + fit: BoxFit.contain, + errorBuilder: (context, error, stackTrace) { + debugPrint('Error loading fullscreen image: $error'); + return Image.asset( + 'assets/images/gambar_pendukung.jpg', + fit: BoxFit.contain, + ); + }, + ) + : Image.asset( + 'assets/images/gambar_pendukung.jpg', + fit: BoxFit.contain, + ), + ), + ), + ), + ), + + // Close button at the top right + Positioned( + top: 40, + right: 20, + child: GestureDetector( + onTap: () => Navigator.of(context).pop(), + child: Container( + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: Colors.black.withOpacity(0.5), + shape: BoxShape.circle, + ), + child: const Icon( + Icons.close, + color: Colors.white, + size: 24, + ), + ), + ), + ), + ], + ), + ); + }, + ); + } + + // Detail Item Helper + Widget _buildDetailItem( + String label, + String value, { + bool isImportant = false, + Color? valueColor, + }) { + return Padding( + padding: const EdgeInsets.only(bottom: 12), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + label, + style: TextStyle( + fontSize: 14, + color: isImportant ? Colors.black : Colors.grey[700], + fontWeight: isImportant ? FontWeight.bold : FontWeight.normal, + ), + ), + Text( + value, + style: TextStyle( + fontSize: isImportant ? 16 : 14, + fontWeight: isImportant ? FontWeight.bold : FontWeight.w500, + color: + valueColor ?? + (isImportant ? Colors.deepPurple : Colors.black), + ), + ), + ], + ), + ); + } + + // Payment Type Selection (Tagihan Awal or Denda) + Widget _buildPaymentTypeSelection() { + return Card( + elevation: 2, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(16)), + child: Padding( + padding: const EdgeInsets.all(20), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Icon( + Icons.payments_outlined, + color: AppColors.primary, + size: 22, + ), + const SizedBox(width: 10), + const Text( + 'Pilih Jenis Pembayaran', + style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + ), + ], + ), + const SizedBox(height: 20), + Obx(() { + // Get tagihan awal value + final tagihanAwal = + controller.tagihanSewa.value['tagihan_awal'] ?? + controller.orderDetails.value['total_price'] ?? + 0; + + // Get denda value + final denda = controller.sewaAsetDetails.value['denda'] ?? 0; + + return Column( + children: [ + _buildPaymentTypeOption( + icon: Icons.receipt, + title: 'Pembayaran Tagihan Awal', + amount: 'Rp ${NumberFormat('#,###').format(tagihanAwal)}', + type: 'tagihan_awal', + description: 'Pembayaran untuk tagihan sewa aset', + isSelected: + controller.selectedPaymentType.value == 'tagihan_awal', + ), + const SizedBox(height: 12), + _buildPaymentTypeOption( + icon: Icons.warning_amber_rounded, + title: 'Pembayaran Denda', + amount: 'Rp ${NumberFormat('#,###').format(denda)}', + type: 'denda', + description: 'Pembayaran untuk denda yang diberikan', + isDisabled: denda == 0, + isSelected: controller.selectedPaymentType.value == 'denda', + ), + ], + ); + }), + ], + ), + ), + ); + } + + // Payment Type Option + Widget _buildPaymentTypeOption({ + required IconData icon, + required String title, + required String amount, + required String type, + required String description, + bool isDisabled = false, + bool isSelected = false, + }) { + final Color cardColor = + isDisabled + ? Colors.grey[100]! + : isSelected + ? AppColors.primarySoft + : Colors.white; + + final Color borderColor = + isDisabled + ? Colors.grey[300]! + : isSelected + ? AppColors.primary + : Colors.grey[200]!; + + final Color iconBgColor = + isDisabled + ? Colors.grey[200]! + : isSelected + ? AppColors.primary.withOpacity(0.2) + : AppColors.surfaceLight; + + final Color iconColor = + isDisabled + ? Colors.grey[400]! + : isSelected + ? AppColors.primary + : AppColors.textSecondary; + + return InkWell( + onTap: + isDisabled + ? null + : () { + controller.selectPaymentType(type); + // Reset payment method when changing payment type + controller.paymentMethod.value = ''; + }, + borderRadius: BorderRadius.circular(12), + child: AnimatedContainer( + duration: const Duration(milliseconds: 150), + width: double.infinity, + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + color: cardColor, + borderRadius: BorderRadius.circular(12), + border: Border.all(color: borderColor, width: isSelected ? 2 : 1), + ), + child: Row( + children: [ + Container( + width: 44, + height: 44, + decoration: BoxDecoration( + color: iconBgColor, + borderRadius: BorderRadius.circular(8), + ), + child: Icon(icon, color: iconColor, size: 20), + ), + const SizedBox(width: 16), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + title, + style: TextStyle( + fontWeight: FontWeight.w600, + fontSize: 14, + color: + isDisabled ? Colors.grey[500] : AppColors.textPrimary, + ), + ), + const SizedBox(height: 4), + Text( + description, + style: TextStyle( + fontSize: 12, + color: AppColors.textSecondary, + ), + ), + ], + ), + ), + Column( + crossAxisAlignment: CrossAxisAlignment.end, + children: [ + Text( + amount, + style: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 14, + color: isDisabled ? Colors.grey[500] : AppColors.primary, + ), + ), + const SizedBox(height: 4), + if (isSelected) + Container( + padding: const EdgeInsets.symmetric( + horizontal: 8, + vertical: 2, + ), + decoration: BoxDecoration( + color: AppColors.primary.withOpacity(0.1), + borderRadius: BorderRadius.circular(12), + ), + child: Text( + 'Dipilih', + style: TextStyle( + fontSize: 10, + fontWeight: FontWeight.bold, + color: AppColors.primary, + ), + ), + ), + ], + ), + ], + ), + ), + ); + } + + // Payment Method Selection + Widget _buildPaymentMethodSelection() { + return Card( + elevation: 2, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(16)), + child: Padding( + padding: const EdgeInsets.all(20), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Icon( + Icons.account_balance_wallet, + color: AppColors.primary, + size: 22, + ), + const SizedBox(width: 10), + const Text( + 'Pilih Metode Pembayaran', + style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + ), + ], + ), + const SizedBox(height: 20), + _buildPaymentMethodOption( + icon: Icons.account_balance, + title: 'Transfer Bank', + description: 'Transfer melalui rekening bank', + value: 'transfer', + ), + const Divider(height: 1, color: AppColors.divider), + _buildPaymentMethodOption( + icon: Icons.payments, + title: 'Bayar Tunai', + description: 'Bayar langsung di kantor BUMDes', + value: 'cash', + ), + ], + ), + ), + ); + } + + // Payment Method Option + Widget _buildPaymentMethodOption({ + required IconData icon, + required String title, + required String description, + required String value, + }) { + final isSelected = controller.paymentMethod.value == value; + + return Obx( + () => InkWell( + onTap: () => controller.selectPaymentMethod(value), + child: Padding( + padding: const EdgeInsets.symmetric(vertical: 12), + child: Row( + children: [ + Container( + width: 44, + height: 44, + decoration: BoxDecoration( + color: + isSelected + ? AppColors.primary.withOpacity(0.2) + : AppColors.surfaceLight, + borderRadius: BorderRadius.circular(8), + ), + child: Icon( + icon, + color: + isSelected ? AppColors.primary : AppColors.textSecondary, + size: 20, + ), + ), + const SizedBox(width: 16), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + title, + style: TextStyle( + fontWeight: FontWeight.w600, + fontSize: 14, + color: AppColors.textPrimary, + ), + ), + const SizedBox(height: 4), + Text( + description, + style: TextStyle( + fontSize: 12, + color: AppColors.textSecondary, + ), + ), + ], + ), + ), + Radio( + value: value, + groupValue: controller.paymentMethod.value, + onChanged: (val) => controller.selectPaymentMethod(val!), + activeColor: AppColors.primary, + ), + ], + ), + ), + ), + ); + } + + // Transfer Instructions + Widget _buildTransferInstructions() { + return Card( + elevation: 2, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)), + child: Padding( + padding: const EdgeInsets.all(16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text( + 'Instruksi Transfer', + style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 16), + Obx(() { + if (controller.bankAccounts.isEmpty) { + return const Center( + child: Padding( + padding: EdgeInsets.all(16.0), + child: CircularProgressIndicator(), + ), + ); + } + + return Column( + children: controller.bankAccounts.map((account) { + return Column( + children: [ + _buildBankAccount( + bankName: account['nama_bank'] ?? 'Bank', + accountNumber: account['no_rekening'] ?? '', + accountName: account['nama_akun'] ?? '', + bankLogo: 'assets/images/bank_logo.png', + ), + const SizedBox(height: 16), + ], + ); + }).toList(), + ); + }), + const SizedBox(height: 16), + const Divider(), + const SizedBox(height: 16), + _buildTransferStep( + icon: Icons.account_balance, + title: 'Transfer ke rekening BUMDes', + description: 'Lakukan transfer sesuai nominal yang tertera', + ), + _buildTransferStep( + icon: Icons.camera_alt, + title: 'Ambil bukti pembayaran', + description: + 'Simpan bukti transfer/screenshot sebagai bukti pembayaran', + ), + _buildTransferStep( + icon: Icons.upload_file, + title: 'Unggah bukti pembayaran', + description: 'Unggah foto bukti pembayaran pada form di bawah', + ), + _buildTransferStep( + icon: Icons.check_circle, + title: 'Tunggu konfirmasi', + description: 'Pembayaran Anda akan dikonfirmasi oleh petugas', + ), + _buildTransferStep( + icon: Icons.receipt_long, + title: 'Dapatkan struk pembayaran', + description: + 'Setelah dikonfirmasi, akan dibuatkan struk pembayaran', + isLast: true, + ), + ], + ), + ), + ); + } + + // Show image source options (camera or gallery) + void _showImageSourceOptions(BuildContext context) { + showModalBottomSheet( + context: context, + shape: const RoundedRectangleBorder( + borderRadius: BorderRadius.vertical(top: Radius.circular(16)), + ), + builder: (BuildContext context) { + return SafeArea( + child: Padding( + padding: const EdgeInsets.all(16.0), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + const Text( + 'Pilih Sumber Foto', + style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 16), + ListTile( + leading: Container( + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: Colors.blue[50], + shape: BoxShape.circle, + ), + child: Icon(Icons.camera_alt, color: Colors.blue[700]), + ), + title: const Text('Kamera'), + subtitle: const Text('Ambil foto dengan kamera'), + onTap: () { + Navigator.pop(context); + controller.takePhoto(); + }, + ), + const SizedBox(height: 8), + ListTile( + leading: Container( + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: Colors.green[50], + shape: BoxShape.circle, + ), + child: Icon(Icons.photo_library, color: Colors.green[700]), + ), + title: const Text('Galeri'), + subtitle: const Text('Pilih foto dari galeri'), + onTap: () { + Navigator.pop(context); + controller.selectPhotoFromGallery(); + }, + ), + const SizedBox(height: 8), + ], + ), + ), + ); + }, + ); + } + + // Bank Account Widget + Widget _buildBankAccount({ + required String bankName, + required String accountNumber, + required String accountName, + required String bankLogo, + }) { + return Container( + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + color: Colors.grey[100], + borderRadius: BorderRadius.circular(12), + border: Border.all(color: Colors.grey[300]!), + ), + child: Column( + children: [ + Row( + children: [ + // Replace this with an actual image when available + Container( + width: 40, + height: 40, + decoration: BoxDecoration( + color: Colors.grey[300], + borderRadius: BorderRadius.circular(4), + ), + child: const Center(child: Text('BCA')), + ), + const SizedBox(width: 16), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + bankName, + style: const TextStyle( + fontWeight: FontWeight.bold, + fontSize: 16, + ), + ), + const SizedBox(height: 4), + Text( + accountName, + style: TextStyle(color: Colors.grey[700], fontSize: 14), + ), + ], + ), + ], + ), + const SizedBox(height: 16), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + accountNumber, + style: const TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + letterSpacing: 1, + ), + ), + ElevatedButton.icon( + onPressed: () { + // Copy to clipboard functionality + Clipboard.setData(ClipboardData(text: accountNumber)); + + // Show feedback to user + final scaffoldMessenger = ScaffoldMessenger.of(Get.context!); + scaffoldMessenger.showSnackBar( + SnackBar( + content: Text('Nomor rekening $accountNumber disalin ke clipboard'), + duration: const Duration(seconds: 2), + backgroundColor: Colors.green[700], + behavior: SnackBarBehavior.floating, + ), + ); + }, + icon: const Icon(Icons.copy, size: 16), + label: const Text('Salin'), + style: ElevatedButton.styleFrom( + backgroundColor: Colors.deepPurple, + foregroundColor: Colors.white, + elevation: 0, + visualDensity: VisualDensity.compact, + textStyle: const TextStyle( + fontSize: 12, + fontWeight: FontWeight.bold, + ), + ), + ), + ], + ), + const SizedBox(height: 16), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'Total Transfer:', + style: TextStyle(fontSize: 14, color: Colors.grey[700]), + ), + GestureDetector( + onTap: () { + // Get the total price + final totalPrice = controller.orderDetails.value['total_price'] ?? 0; + // Format the total price as a number without 'Rp' prefix + final formattedPrice = totalPrice.toString(); + + // Copy to clipboard + Clipboard.setData(ClipboardData(text: formattedPrice)); + + // Show feedback to user + final scaffoldMessenger = ScaffoldMessenger.of(Get.context!); + scaffoldMessenger.showSnackBar( + SnackBar( + content: Text('Nominal Rp $formattedPrice disalin ke clipboard'), + duration: const Duration(seconds: 2), + backgroundColor: Colors.green[700], + behavior: SnackBarBehavior.floating, + ), + ); + }, + child: Row( + children: [ + Text( + 'Rp ${controller.orderDetails.value['total_price'] ?? 0}', + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: Colors.deepPurple, + ), + ), + const SizedBox(width: 4), + Icon( + Icons.copy, + size: 14, + color: Colors.deepPurple[300], + ), + ], + ), + ), + ], + ), + ], + ), + ); + } + + // Transfer Step Widget + Widget _buildTransferStep({ + required IconData icon, + required String title, + required String description, + bool isLast = false, + }) { + return Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Column( + children: [ + Container( + width: 32, + height: 32, + decoration: BoxDecoration( + color: Colors.deepPurple, + shape: BoxShape.circle, + ), + child: Icon(icon, color: Colors.white, size: 16), + ), + if (!isLast) + Container(width: 2, height: 32, color: Colors.grey[300]), + ], + ), + const SizedBox(width: 16), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + title, + style: const TextStyle( + fontWeight: FontWeight.bold, + fontSize: 14, + ), + ), + const SizedBox(height: 4), + Text( + description, + style: TextStyle(color: Colors.grey[700], fontSize: 12), + ), + SizedBox(height: isLast ? 0 : 16), + ], + ), + ), + ], + ); + } + + // Payment Proof Upload + Widget _buildPaymentProofUpload() { + return Card( + elevation: 2, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)), + child: Padding( + padding: const EdgeInsets.all(16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Row( + children: [ + Icon(Icons.photo_camera, size: 24), + SizedBox(width: 8), + Text( + 'Unggah Bukti Pembayaran', + style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + ), + ], + ), + const SizedBox(height: 16), + Obx(() { + return Wrap( + spacing: 12, + runSpacing: 12, + children: [ + // Display all existing images + ...List.generate( + controller.paymentProofImages.length, + (index) => _buildImageItem(index), + ), + // Add photo button + _buildAddPhotoButton(), + ], + ); + }), + const SizedBox(height: 16), + // Upload button + Obx(() { + // Disable button if there are no changes or if upload is in progress + final bool isDisabled = controller.isUploading.value || !controller.hasUnsavedChanges.value; + + return ElevatedButton.icon( + onPressed: isDisabled ? null : controller.uploadPaymentProof, + icon: controller.isUploading.value + ? const SizedBox( + width: 20, + height: 20, + child: CircularProgressIndicator( + strokeWidth: 2, + valueColor: AlwaysStoppedAnimation(Colors.white), + ), + ) + : const Icon(Icons.save), + label: Text(controller.isUploading.value + ? 'Menyimpan...' + : (controller.hasUnsavedChanges.value ? 'Simpan' : 'Tidak Ada Perubahan')), + style: ElevatedButton.styleFrom( + backgroundColor: Colors.blue, + foregroundColor: Colors.white, + minimumSize: const Size(double.infinity, 48), + // Gray out button when disabled + disabledBackgroundColor: Colors.grey[300], + disabledForegroundColor: Colors.grey[600], + ), + ); + }), + // Upload progress indicator + Obx(() { + if (controller.isUploading.value) { + return Column( + children: [ + const SizedBox(height: 16), + LinearProgressIndicator( + value: controller.uploadProgress.value, + backgroundColor: Colors.grey[200], + valueColor: AlwaysStoppedAnimation(Colors.blue[700]!), + ), + const SizedBox(height: 8), + Text( + 'Mengunggah bukti pembayaran... ${(controller.uploadProgress.value * 100).toInt()}%', + style: const TextStyle(fontSize: 12), + ), + ], + ); + } else { + return const SizedBox.shrink(); + } + }), + ], + ), + ), + ); + } + + // Build individual image item with remove button + Widget _buildImageItem(int index) { + final image = controller.paymentProofImages[index]; + return Stack( + children: [ + // Make the container tappable to show full-screen image + GestureDetector( + onTap: () => controller.showFullScreenImage(image), + child: Container( + width: 140, + height: 140, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(8), + border: Border.all(color: Colors.grey[300]!), + ), + child: ClipRRect( + borderRadius: BorderRadius.circular(8), + child: controller.getImageWidget(image), + ), + ), + ), + // Close/remove button remains the same + Positioned( + top: 4, + right: 4, + child: InkWell( + onTap: () => controller.removeImage(image), + child: Container( + padding: const EdgeInsets.all(4), + decoration: const BoxDecoration( + color: Colors.white, + shape: BoxShape.circle, + ), + child: const Icon(Icons.close, size: 18, color: Colors.red), + ), + ), + ), + ], + ); + } + + // Build add photo button + Widget _buildAddPhotoButton() { + return InkWell( + onTap: () => _showImageSourceOptions(Get.context!), + child: Container( + width: 140, + height: 140, + decoration: BoxDecoration( + color: Colors.blue[50], + borderRadius: BorderRadius.circular(8), + border: Border.all(color: Colors.blue[200]!), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon( + Icons.add_a_photo, + size: 40, + color: Colors.blue[700], + ), + const SizedBox(height: 8), + Text( + 'Tambah Foto', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w600, + color: Colors.blue[700], + ), + ), + ], + ), + ), + ); + } + + // Cash Payment Instructions + Widget _buildCashInstructions() { + return Card( + elevation: 2, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)), + child: Padding( + padding: const EdgeInsets.all(16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text( + 'Instruksi Pembayaran Tunai', + style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 16), + Container( + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + color: Colors.blue.withOpacity(0.1), + borderRadius: BorderRadius.circular(12), + border: Border.all(color: Colors.blue.withOpacity(0.3)), + ), + child: Column( + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Icon( + Icons.info_outline, + color: Colors.blue[700], + size: 20, + ), + const SizedBox(width: 12), + Expanded( + child: Text( + 'Pembayaran tunai dapat dilakukan di kantor BUMDes dengan menunjukkan ID pesanan.', + style: TextStyle( + fontSize: 14, + color: Colors.blue[700], + ), + ), + ), + ], + ), + ], + ), + ), + const SizedBox(height: 24), + _buildCashStep( + number: 1, + title: 'Datang ke kantor BUMDes', + description: 'Alamat: Jl. Merdeka No. 123, Desa Maju Jaya', + ), + _buildCashStep( + number: 2, + title: 'Tunjukkan ID pesanan', + description: + 'ID Pesanan: ${controller.orderDetails.value['id'] ?? '-'}', + ), + _buildCashStep( + number: 3, + title: 'Lakukan pembayaran tunai', + description: + 'Total: Rp ${controller.orderDetails.value['total_price'] ?? 0}', + ), + _buildCashStep( + number: 4, + title: 'Dapatkan struk pembayaran', + description: + 'Setelah dikonfirmasi, akan dibuatkan struk pembayaran', + isLast: true, + ), + ], + ), + ), + ); + } + + // Cash Step Widget + Widget _buildCashStep({ + required int number, + required String title, + required String description, + bool isLast = false, + }) { + return Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Column( + children: [ + Container( + width: 28, + height: 28, + decoration: const BoxDecoration( + color: Colors.deepPurple, + shape: BoxShape.circle, + ), + child: Center( + child: Text( + number.toString(), + style: const TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + fontSize: 14, + ), + ), + ), + ), + if (!isLast) + Container(width: 2, height: 32, color: Colors.grey[300]), + ], + ), + const SizedBox(width: 16), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + title, + style: const TextStyle( + fontWeight: FontWeight.bold, + fontSize: 14, + ), + ), + const SizedBox(height: 4), + Text( + description, + style: TextStyle(color: Colors.grey[700], fontSize: 12), + ), + SizedBox(height: isLast ? 0 : 16), + ], + ), + ), + ], + ); + } + + // Select Payment Type Prompt + Widget _buildSelectPaymentTypePrompt() { + return Container( + width: double.infinity, + padding: const EdgeInsets.all(24), + decoration: BoxDecoration( + color: Colors.grey[100], + borderRadius: BorderRadius.circular(12), + border: Border.all(color: Colors.grey[300]!), + ), + child: Column( + children: [ + Icon(Icons.payment, size: 48, color: Colors.grey[400]), + const SizedBox(height: 16), + Text( + 'Pilih jenis pembayaran terlebih dahulu', + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w500, + color: Colors.grey[700], + ), + ), + ], + ), + ); + } + + // Select Payment Method Prompt + Widget _buildSelectPaymentMethodPrompt() { + return Container( + width: double.infinity, + padding: const EdgeInsets.all(24), + decoration: BoxDecoration( + color: Colors.grey[100], + borderRadius: BorderRadius.circular(12), + border: Border.all(color: Colors.grey[300]!), + ), + child: Column( + children: [ + Icon(Icons.payment, size: 48, color: Colors.grey[400]), + const SizedBox(height: 16), + Text( + 'Pilih metode pembayaran terlebih dahulu', + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.w500, + color: Colors.grey[700], + ), + ), + ], + ), + ); + } + + // Payment Summary Card + Widget _buildPaymentSummaryCard() { + return Card( + elevation: 2, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)), + child: Padding( + padding: const EdgeInsets.all(16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Icon(Icons.receipt_long, color: Colors.deepPurple, size: 24), + const SizedBox(width: 8), + const Text( + 'Ringkasan Tagihan', + style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + ), + ], + ), + const SizedBox(height: 16), + Obx(() { + // Get values from the tagihan_sewa data + final tagihanAwal = + controller.tagihanSewa.value['tagihan_awal'] ?? + controller.orderDetails.value['total_price'] ?? + 0; + + // Get denda from tagihan_sewa + final denda = controller.tagihanSewa.value['denda'] ?? 0; + + // Get total dibayarkan from tagihan_dibayar + final dibayarkan = controller.tagihanSewa.value['tagihan_dibayar'] ?? 0; + + debugPrint('Tagihan Awal: $tagihanAwal'); + debugPrint('Denda: $denda'); + debugPrint('Total Dibayarkan: $dibayarkan'); + + // Calculate sisa tagihan + final totalTagihan = tagihanAwal + denda; + final sisaTagihan = totalTagihan - dibayarkan; + + return Column( + children: [ + _buildDetailItem( + 'Tagihan Awal', + 'Rp ${NumberFormat('#,###').format(tagihanAwal)}', + ), + _buildDetailItem( + 'Denda', + 'Rp ${NumberFormat('#,###').format(denda)}', + ), + const Divider(height: 24), + _buildDetailItem( + 'Total Tagihan', + 'Rp ${NumberFormat('#,###').format(totalTagihan)}', + isImportant: true, + ), + _buildDetailItem( + 'Total Dibayarkan', + 'Rp ${NumberFormat('#,###').format(dibayarkan)}', + valueColor: Colors.green[700], + ), + const Divider(height: 24), + _buildDetailItem( + 'Sisa Tagihan', + 'Rp ${NumberFormat('#,###').format(sisaTagihan)}', + isImportant: true, + valueColor: Colors.red[700], + ), + ], + ); + }), + ], + ), + ), + ); + } + + // Helper method to build detail item with subpoints + Widget _buildDetailItemWithSubpoints(String label, List> subpoints) { + return Padding( + padding: const EdgeInsets.only(bottom: 12), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Main label + Text( + label, + style: TextStyle( + fontSize: 14, + color: Colors.grey[700], + fontWeight: FontWeight.w500, + ), + ), + const SizedBox(height: 8), + // Subpoints with indentation + ...subpoints.map((subpoint) => Padding( + padding: const EdgeInsets.only(left: 16, bottom: 6), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Expanded( + flex: 2, + child: Text( + subpoint['label'] ?? '', + style: TextStyle( + fontSize: 13, + color: Colors.grey[600], + ), + ), + ), + Expanded( + flex: 3, + child: Text( + subpoint['value'] ?? '-', + style: const TextStyle( + fontSize: 13, + ), + textAlign: TextAlign.right, + ), + ), + ], + ), + )), + ], + ), + ); + } + + // Helper method to format date time for display + String _formatDateTime(String? dateTimeStr) { + if (dateTimeStr == null || dateTimeStr.isEmpty) { + return '-'; + } + + try { + final dateTime = DateTime.parse(dateTimeStr); + final day = dateTime.day.toString().padLeft(2, '0'); + final month = _getMonthName(dateTime.month); + final year = dateTime.year.toString(); + final hour = dateTime.hour.toString().padLeft(2, '0'); + final minute = dateTime.minute.toString().padLeft(2, '0'); + + return "$day $month $year, $hour:$minute"; + } catch (e) { + debugPrint('❌ Error formatting date time: $e'); + return dateTimeStr; + } + } +} diff --git a/lib/app/modules/warga/views/sewa_aset_view.dart b/lib/app/modules/warga/views/sewa_aset_view.dart new file mode 100644 index 0000000..8a09c53 --- /dev/null +++ b/lib/app/modules/warga/views/sewa_aset_view.dart @@ -0,0 +1,1805 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import '../controllers/sewa_aset_controller.dart'; +import '../controllers/order_sewa_aset_controller.dart'; +import '../../../routes/app_routes.dart'; +import 'package:intl/intl.dart'; +import 'package:cached_network_image/cached_network_image.dart'; +import '../../../theme/app_colors.dart'; + +class SewaAsetView extends GetView { + const SewaAsetView({super.key}); + + @override + Widget build(BuildContext context) { + // Handle hot reload by checking if controller needs to be reset + WidgetsBinding.instance.addPostFrameCallback((_) { + // This will be called after the widget tree is built + controller.handleHotReload(); + }); + + return WillPopScope( + onWillPop: () async { + // Handle back button press here + debugPrint('🔙 Back button pressed - navigating to WargaDashboard'); + controller.onBackPressed(); + return false; // We handle the navigation ourselves + }, + child: Scaffold( + backgroundColor: Colors.grey[50], + appBar: AppBar( + backgroundColor: Colors.white, + elevation: 0, + title: const Text( + 'Sewa Aset', + style: TextStyle( + color: Colors.black, + fontSize: 22, + fontWeight: FontWeight.bold, + ), + ), + centerTitle: true, + leading: IconButton( + icon: const Icon(Icons.arrow_back_ios, color: Colors.black), + onPressed: () { + debugPrint( + '🔙 Back button clicked - navigating to WargaDashboard', + ); + controller.onBackPressed(); + }, + ), + ), + body: Column( + children: [ + // Search bar + Container( + margin: const EdgeInsets.fromLTRB(16, 16, 16, 16), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: TextField( + controller: controller.searchController, + decoration: InputDecoration( + hintText: 'Cari aset...', + hintStyle: TextStyle(color: Colors.grey[400]), + prefixIcon: Icon(Icons.search, color: Colors.grey[600]), + border: InputBorder.none, + contentPadding: const EdgeInsets.symmetric(vertical: 16.0), + ), + onChanged: (value) { + controller.filterAsets(value); + }, + ), + ), + + // Tab bar + Container( + margin: const EdgeInsets.symmetric(horizontal: 16), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: TabBar( + controller: controller.tabController, + indicator: BoxDecoration( + borderRadius: BorderRadius.circular(16), + gradient: const LinearGradient( + colors: [ + Color(0xFF92B4D7), // Light blue + Color(0xFF3A6EA5), // Medium blue + Color(0xFF0E2A47), // Dark navy blue + ], + begin: Alignment.centerLeft, + end: Alignment.centerRight, + ), + boxShadow: [ + BoxShadow( + color: const Color( + 0xFF3A6EA5, + ).withOpacity(0.3), // Medium blue with opacity + blurRadius: 5, + offset: const Offset(0, 2), + ), + ], + ), + labelColor: Colors.white, + unselectedLabelColor: const Color( + 0xFF718093, + ), // Text secondary color + labelStyle: const TextStyle( + fontWeight: FontWeight.bold, + fontSize: 14, + ), + unselectedLabelStyle: const TextStyle( + fontWeight: FontWeight.w500, + fontSize: 14, + ), + padding: const EdgeInsets.all(4), + tabs: [ + Tab( + height: 50, + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon(Icons.inventory_2_outlined), + const SizedBox(width: 8), + const Text('Aset Tunggal'), + ], + ), + ), + Tab( + height: 50, + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon(Icons.category_outlined), + const SizedBox(width: 8), + const Text('Paket'), + ], + ), + ), + ], + ), + ), + + // Content Label + Padding( + padding: const EdgeInsets.fromLTRB(20, 20, 20, 0), + child: Obx(() { + bool isFirstTab = controller.currentTabIndex.value == 0; + final assetCount = controller.filteredAsets.length; + final paketCount = controller.filteredPakets.length; + + return Row( + children: [ + Icon( + isFirstTab ? Icons.inventory_2 : Icons.category, + size: 20, + color: const Color(0xFF3A6EA5), // Primary blue + ), + const SizedBox(width: 8), + Text( + isFirstTab ? 'Daftar Aset Tersedia' : 'Paket Sewa', + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: Color(0xFF3A6EA5), // Primary blue + ), + ), + const Spacer(), + if (isFirstTab) + Container( + padding: const EdgeInsets.symmetric( + horizontal: 10, + vertical: 4, + ), + decoration: BoxDecoration( + color: const Color( + 0xFF92B4D7, + ).withOpacity(0.2), // Light blue with opacity + borderRadius: BorderRadius.circular(12), + ), + child: Text( + '$assetCount aset', + style: const TextStyle( + fontSize: 12, + fontWeight: FontWeight.w500, + color: Color(0xFF3A6EA5), // Primary blue + ), + ), + ) + else + Container( + padding: const EdgeInsets.symmetric( + horizontal: 10, + vertical: 4, + ), + decoration: BoxDecoration( + color: const Color( + 0xFF92B4D7, + ).withOpacity(0.2), // Light blue with opacity + borderRadius: BorderRadius.circular(12), + ), + child: Text( + '$paketCount paket', + style: const TextStyle( + fontSize: 12, + fontWeight: FontWeight.w500, + color: Color(0xFF3A6EA5), // Primary blue + ), + ), + ), + ], + ); + }), + ), + + // Tab content + Expanded( + child: TabBarView( + controller: controller.tabController, + children: [ + // Aset Tunggal tab content + _buildAsetTunggalTab(), + + // Paket tab content + _buildPaketTab(), + ], + ), + ), + ], + ), + ), + ); + } + + // Aset Tunggal tab content + Widget _buildAsetTunggalTab() { + return Obx(() { + if (controller.isLoading.value) { + return Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const CircularProgressIndicator( + color: Color(0xFF3A6EA5), + ), // Primary blue + const SizedBox(height: 16), + Text( + 'Memuat daftar aset...', + style: TextStyle(color: Colors.grey[600]), + ), + ], + ), + ); + } + + if (controller.filteredAsets.isEmpty) { + return Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon(Icons.search_off, size: 80, color: Colors.grey[300]), + const SizedBox(height: 24), + Text( + 'Tidak ada aset yang ditemukan', + style: TextStyle( + color: Colors.grey[600], + fontSize: 16, + fontWeight: FontWeight.w500, + ), + ), + const SizedBox(height: 8), + Text( + 'Coba gunakan kata kunci lain', + style: TextStyle(color: Colors.grey[500]), + ), + ], + ), + ); + } + + return RefreshIndicator( + onRefresh: controller.loadAsets, + color: const Color(0xFF3A6EA5), // Primary blue + child: GridView.builder( + padding: const EdgeInsets.all(16.0), + gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount( + crossAxisCount: 2, + childAspectRatio: 0.50, // Make cards taller to avoid overflow + crossAxisSpacing: 16, + mainAxisSpacing: 16, + ), + itemCount: controller.filteredAsets.length, + itemBuilder: (context, index) { + final aset = controller.filteredAsets[index]; + return _buildGridAsetCard(aset); + }, + ), + ); + }); + } + + // Paket tab content + Widget _buildPaketTab() { + return Obx(() { + if (controller.isLoadingPakets.value) { + return Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const CircularProgressIndicator( + valueColor: AlwaysStoppedAnimation( + Color(0xFF3A6EA5), + ), // Primary blue + ), + const SizedBox(height: 16), + Text( + 'Memuat data paket...', + style: TextStyle(fontSize: 14, color: Colors.grey[600]), + ), + ], + ), + ); + } + + if (controller.filteredPakets.isEmpty) { + return Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon(Icons.search_off, size: 80, color: Colors.grey[300]), + const SizedBox(height: 24), + Text( + 'Tidak ada paket yang ditemukan', + style: TextStyle( + color: Colors.grey[600], + fontSize: 16, + fontWeight: FontWeight.w500, + ), + ), + const SizedBox(height: 8), + Text( + 'Coba gunakan kata kunci lain', + style: TextStyle(color: Colors.grey[500]), + ), + ], + ), + ); + } + + return Padding( + padding: const EdgeInsets.symmetric(horizontal: 16.0), + child: GridView.builder( + gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount( + crossAxisCount: 2, + childAspectRatio: 0.50, // Make cards taller to avoid overflow + crossAxisSpacing: 16, + mainAxisSpacing: 16, + ), + itemCount: controller.filteredPakets.length, + shrinkWrap: true, + physics: const NeverScrollableScrollPhysics(), + itemBuilder: (context, index) { + final paket = controller.filteredPakets[index]; + final List satuanWaktuSewa = + paket['satuanWaktuSewa'] ?? []; + + // Find the lowest price + int lowestPrice = + satuanWaktuSewa.isEmpty + ? 0 + : satuanWaktuSewa + .map((sws) => sws['harga'] ?? 0) + .reduce((a, b) => a < b ? a : b); + + // Get image URL or default + String imageUrl = paket['gambar_url'] ?? ''; + + return GestureDetector( + onTap: () => _showPaketDetailModal(paket), + child: Container( + decoration: BoxDecoration( + color: AppColors.surface, + borderRadius: BorderRadius.circular(12.0), + boxShadow: [ + BoxShadow( + color: AppColors.shadow, + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Image section + ClipRRect( + borderRadius: const BorderRadius.vertical( + top: Radius.circular(12), + ), + child: AspectRatio( + aspectRatio: 1.0, + child: CachedNetworkImage( + imageUrl: imageUrl, + fit: BoxFit.cover, + placeholder: + (context, url) => const Center( + child: CircularProgressIndicator( + valueColor: AlwaysStoppedAnimation( + Colors.purple, + ), + ), + ), + errorWidget: + (context, url, error) => Container( + color: Colors.grey[200], + child: Center( + child: Icon( + Icons.image_not_supported, + size: 32, + color: Colors.grey[400], + ), + ), + ), + ), + ), + ), + + // Content section + Expanded( + child: Padding( + padding: const EdgeInsets.all(10.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Package name + Text( + paket['nama'] ?? 'Paket', + style: const TextStyle( + fontSize: 15, + fontWeight: FontWeight.bold, + ), + maxLines: 1, + overflow: TextOverflow.ellipsis, + ), + const SizedBox(height: 4), + + // Status availability + Row( + children: [ + Container( + width: 6, + height: 6, + decoration: const BoxDecoration( + color: AppColors.success, + shape: BoxShape.circle, + ), + ), + const SizedBox(width: 4), + Text( + 'Tersedia', + style: TextStyle( + color: AppColors.success, + fontWeight: FontWeight.w500, + fontSize: 11, + ), + ), + ], + ), + const SizedBox(height: 6), + + // Package pricing - show all pricing options with scrolling + if (satuanWaktuSewa.isNotEmpty) + SizedBox( + width: double.infinity, + child: Wrap( + spacing: 4, + runSpacing: 4, + children: [ + ...satuanWaktuSewa.map((sws) { + // Pastikan data yang ditampilkan valid + final harga = sws['harga'] ?? 0; + final namaSatuan = + sws['nama_satuan_waktu'] ?? 'Satuan'; + return Container( + margin: const EdgeInsets.only( + bottom: 4, + ), + padding: const EdgeInsets.symmetric( + horizontal: 6, + vertical: 3, + ), + decoration: BoxDecoration( + color: Colors.grey[100], + borderRadius: BorderRadius.circular( + 4, + ), + border: Border.all( + color: Colors.grey[300]!, + ), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + "Rp ${_formatNumber(harga)}", + style: const TextStyle( + color: AppColors.primary, + fontWeight: FontWeight.bold, + fontSize: 11, + ), + ), + Text( + "/$namaSatuan", + style: TextStyle( + color: Colors.grey[700], + fontSize: 10, + ), + ), + ], + ), + ); + }).toList(), + ], + ), + ) + else + Container( + padding: const EdgeInsets.symmetric( + horizontal: 8, + vertical: 4, + ), + decoration: BoxDecoration( + color: Colors.grey[100], + borderRadius: BorderRadius.circular(6), + border: Border.all(color: Colors.grey[300]!), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + 'Mulai dari Rp ${NumberFormat('#,###').format(lowestPrice)}', + style: const TextStyle( + color: AppColors.primary, + fontWeight: FontWeight.bold, + fontSize: 11, + ), + ), + ], + ), + ), + + const Spacer(), + + // Remove the items count badge and replace with direct Order button + SizedBox( + width: double.infinity, + child: ElevatedButton( + onPressed: () => _showPaketDetailModal(paket), + style: ElevatedButton.styleFrom( + backgroundColor: AppColors.primary, + foregroundColor: Colors.white, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + padding: const EdgeInsets.symmetric( + vertical: 6, + ), + minimumSize: const Size(double.infinity, 30), + tapTargetSize: + MaterialTapTargetSize.shrinkWrap, + ), + child: const Text( + 'Pesan', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ], + ), + ), + ), + ], + ), + ), + ); + }, + ), + ); + }); + } + + void _showPaketDetailModal(Map paket) { + final List satuanWaktuSewa = paket['satuanWaktuSewa'] ?? []; + + // Sort pricing options by price + satuanWaktuSewa.sort( + (a, b) => (a['harga'] ?? 0).compareTo(b['harga'] ?? 0), + ); + + Get.bottomSheet( + Container( + height: Get.height * 0.85, + padding: const EdgeInsets.all(16), + decoration: const BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.vertical(top: Radius.circular(20)), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Title and close button + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'Detail Paket', + style: Theme.of( + Get.context!, + ).textTheme.titleLarge?.copyWith(fontWeight: FontWeight.bold), + ), + IconButton( + icon: const Icon(Icons.close), + onPressed: () => Get.back(), + ), + ], + ), + + Expanded( + child: ListView( + children: [ + // Package image + Container( + height: 200, + width: double.infinity, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(12), + color: Colors.grey[200], + ), + child: ClipRRect( + borderRadius: BorderRadius.circular(12), + child: CachedNetworkImage( + imageUrl: + paket['gambar_url'] ?? + 'https://placehold.co/600x400/png?text=Paket', + fit: BoxFit.cover, + placeholder: + (context, url) => const Center( + child: CircularProgressIndicator( + valueColor: AlwaysStoppedAnimation( + Colors.purple, + ), + ), + ), + errorWidget: + (context, url, error) => Container( + color: Colors.grey[200], + child: Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon( + Icons.image_not_supported, + color: Colors.grey[400], + size: 40, + ), + const SizedBox(height: 8), + Text( + 'Tidak ada gambar tersedia', + style: TextStyle( + color: Colors.grey[500], + fontSize: 14, + ), + ), + ], + ), + ), + ), + ), + ), + ), + const SizedBox(height: 16), + + // Package name + Text( + paket['nama'] ?? 'Paket', + style: const TextStyle( + fontSize: 20, + fontWeight: FontWeight.bold, + ), + ), + const SizedBox(height: 8), + + // Item count + Container( + padding: const EdgeInsets.symmetric( + horizontal: 12, + vertical: 6, + ), + decoration: BoxDecoration( + color: Colors.grey[100], + borderRadius: BorderRadius.circular(16), + ), + child: Text( + '${paket['jumlah_item'] ?? 0} item dalam paket ini', + style: TextStyle(fontSize: 13, color: Colors.grey[700]), + ), + ), + const SizedBox(height: 16), + + // Description + const Text( + 'Deskripsi', + style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 4), + Text( + paket['deskripsi'] ?? 'Deskripsi tidak tersedia', + style: TextStyle(fontSize: 14, color: Colors.grey[700]), + ), + const SizedBox(height: 16), + + // Items in package + const Text( + 'Aset dalam Paket', + style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 8), + Container( + padding: const EdgeInsets.all(12), + decoration: BoxDecoration( + color: Colors.grey[100], + borderRadius: BorderRadius.circular(12), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + for (var item in (paket['items'] ?? [])) + Padding( + padding: const EdgeInsets.symmetric(vertical: 4), + child: Row( + children: [ + const Icon( + Icons.check_circle_outline, + color: Colors.green, + size: 16, + ), + const SizedBox(width: 8), + Expanded( + child: Text( + item['aset_nama'] ?? 'Item', + style: const TextStyle(fontSize: 14), + ), + ), + Text( + 'x${item['jumlah'] ?? 1}', + style: const TextStyle( + fontSize: 14, + fontWeight: FontWeight.bold, + ), + ), + ], + ), + ), + ], + ), + ), + const SizedBox(height: 16), + + // Pricing options + const Text( + 'Pilihan Harga', + style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 8), + + if (satuanWaktuSewa.isEmpty) + Container( + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + color: Colors.orange[50], + borderRadius: BorderRadius.circular(12), + border: Border.all(color: Colors.orange[200]!), + ), + child: const Row( + children: [ + Icon(Icons.info_outline, color: Colors.orange), + SizedBox(width: 8), + Expanded( + child: Text( + 'Harga belum tersedia untuk paket ini', + style: TextStyle(color: Colors.orange), + ), + ), + ], + ), + ) + else + ListView.builder( + shrinkWrap: true, + physics: const NeverScrollableScrollPhysics(), + itemCount: satuanWaktuSewa.length, + itemBuilder: (context, index) { + final sws = satuanWaktuSewa[index]; + final String namaSatuanWaktu = + sws['nama_satuan_waktu'] ?? 'Jam'; + final int harga = sws['harga'] ?? 0; + + return Container( + margin: const EdgeInsets.only(bottom: 8), + padding: const EdgeInsets.all(12), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(12), + boxShadow: [ + BoxShadow( + color: Colors.grey.withOpacity(0.1), + spreadRadius: 1, + blurRadius: 4, + offset: const Offset(0, 1), + ), + ], + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Per $namaSatuanWaktu', + style: const TextStyle( + fontSize: 15, + fontWeight: FontWeight.bold, + ), + ), + const SizedBox(height: 2), + Text( + 'Min. ${sws['durasi_min'] ?? 1} ${namaSatuanWaktu.toLowerCase()}', + style: TextStyle( + fontSize: 12, + color: Colors.grey[600], + ), + ), + ], + ), + Column( + crossAxisAlignment: CrossAxisAlignment.end, + children: [ + Text( + 'Rp ${NumberFormat('#,###').format(harga)}', + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: Colors.deepOrange, + ), + ), + Text( + 'per ${namaSatuanWaktu.toLowerCase()}', + style: TextStyle( + fontSize: 11, + color: Colors.grey[500], + ), + ), + ], + ), + ], + ), + ); + }, + ), + ], + ), + ), + + // Order button + Padding( + padding: const EdgeInsets.only(top: 8), + child: SizedBox( + width: double.infinity, + height: 50, + child: ElevatedButton( + onPressed: () { + if (satuanWaktuSewa.isEmpty) { + Get.snackbar( + 'Tidak Dapat Memesan', + 'Pilihan harga belum tersedia untuk paket ini', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red[100], + colorText: Colors.red[800], + ); + return; + } + + _showOrderPaketForm(paket, satuanWaktuSewa); + }, + style: ElevatedButton.styleFrom( + foregroundColor: Colors.white, + backgroundColor: AppColors.primary, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(12), + ), + ), + child: const Text( + 'Pesan Paket Ini', + style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + ), + ), + ), + ), + ], + ), + ), + ); + } + + void _showOrderPaketForm( + Map paket, + List satuanWaktuSewa, + ) { + // Selected pricing option + final Rx?> selectedSWS = Rx?>( + satuanWaktuSewa.isNotEmpty ? satuanWaktuSewa[0] : null, + ); + + // Duration + final RxInt duration = RxInt(selectedSWS.value?['durasi_min'] ?? 1); + + // Calculate total price + final calculateTotal = () { + if (selectedSWS.value == null) return 0; + return (selectedSWS.value!['harga'] ?? 0) * duration.value; + }; + final RxInt totalPrice = RxInt(calculateTotal()); + + // Update total when duration or pricing option changes + ever(duration, (_) => totalPrice.value = calculateTotal()); + ever(selectedSWS, (_) { + duration.value = selectedSWS.value?['durasi_min'] ?? 1; + totalPrice.value = calculateTotal(); + }); + + Get.bottomSheet( + Container( + height: Get.height * 0.7, + padding: const EdgeInsets.all(16), + decoration: const BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.vertical(top: Radius.circular(20)), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Title and close button + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'Form Pemesanan Paket', + style: Theme.of( + Get.context!, + ).textTheme.titleLarge?.copyWith(fontWeight: FontWeight.bold), + ), + IconButton( + icon: const Icon(Icons.close), + onPressed: () => Get.back(), + ), + ], + ), + + Expanded( + child: ListView( + children: [ + // Package name + const Text( + 'Paket yang Dipilih', + style: TextStyle(fontSize: 14, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 4), + Container( + padding: const EdgeInsets.all(12), + decoration: BoxDecoration( + color: Colors.purple[50], + borderRadius: BorderRadius.circular(12), + ), + child: Row( + children: [ + Container( + width: 50, + height: 50, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(8), + color: Colors.white, + ), + child: ClipRRect( + borderRadius: BorderRadius.circular(8), + child: CachedNetworkImage( + imageUrl: + paket['gambar_url'] ?? + 'https://placehold.co/600x400/png?text=Paket', + fit: BoxFit.cover, + placeholder: + (context, url) => const Center( + child: CircularProgressIndicator( + valueColor: AlwaysStoppedAnimation( + Colors.purple, + ), + ), + ), + errorWidget: + (context, url, error) => Container( + color: Colors.grey[200], + child: Center( + child: Column( + mainAxisAlignment: + MainAxisAlignment.center, + children: [ + Icon( + Icons.image_not_supported, + color: Colors.grey[400], + size: 40, + ), + const SizedBox(height: 8), + Text( + 'Tidak ada gambar tersedia', + style: TextStyle( + color: Colors.grey[500], + fontSize: 14, + ), + ), + ], + ), + ), + ), + ), + ), + ), + const SizedBox(width: 12), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + paket['nama'] ?? 'Paket', + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + ), + ), + const SizedBox(height: 2), + Text( + '${paket['jumlah_item'] ?? 0} item dalam paket', + style: TextStyle( + fontSize: 12, + color: Colors.grey[700], + ), + ), + ], + ), + ), + ], + ), + ), + const SizedBox(height: 16), + + // Pricing option + const Text( + 'Pilih Satuan Waktu', + style: TextStyle(fontSize: 14, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 8), + Obx( + () => ListView.builder( + shrinkWrap: true, + physics: const NeverScrollableScrollPhysics(), + itemCount: satuanWaktuSewa.length, + itemBuilder: (context, index) { + final sws = satuanWaktuSewa[index]; + final bool isSelected = selectedSWS.value == sws; + + return GestureDetector( + onTap: () => selectedSWS.value = sws, + child: Container( + margin: const EdgeInsets.only(bottom: 8), + padding: const EdgeInsets.all(12), + decoration: BoxDecoration( + color: + isSelected ? Colors.purple[50] : Colors.white, + borderRadius: BorderRadius.circular(12), + border: Border.all( + color: + isSelected + ? Colors.purple + : Colors.grey[300]!, + width: isSelected ? 2 : 1, + ), + ), + child: Row( + children: [ + Icon( + isSelected + ? Icons.radio_button_checked + : Icons.radio_button_off, + color: + isSelected + ? Colors.purple + : Colors.grey[400], + ), + const SizedBox(width: 8), + Expanded( + child: Column( + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + Text( + 'Per ${sws['nama_satuan_waktu'] ?? 'Jam'}', + style: const TextStyle( + fontSize: 14, + fontWeight: FontWeight.bold, + ), + ), + const SizedBox(height: 2), + Text( + 'Min. ${sws['durasi_min'] ?? 1} ${(sws['nama_satuan_waktu'] ?? 'jam').toLowerCase()}', + style: TextStyle( + fontSize: 12, + color: Colors.grey[600], + ), + ), + ], + ), + ), + Text( + 'Rp ${NumberFormat('#,###').format(sws['harga'] ?? 0)}', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.bold, + color: + isSelected + ? Colors.purple + : Colors.grey[700], + ), + ), + ], + ), + ), + ); + }, + ), + ), + const SizedBox(height: 16), + + // Duration + const Text( + 'Durasi Sewa', + style: TextStyle(fontSize: 14, fontWeight: FontWeight.bold), + ), + const SizedBox(height: 8), + Obx(() { + final minDuration = selectedSWS.value?['durasi_min'] ?? 1; + final namaSatuanWaktu = + selectedSWS.value?['nama_satuan_waktu'] ?? 'Jam'; + + return Column( + children: [ + Row( + children: [ + IconButton( + onPressed: () { + if (duration.value > minDuration) { + duration.value--; + } + }, + icon: Container( + padding: const EdgeInsets.all(4), + decoration: BoxDecoration( + color: Colors.grey[200], + shape: BoxShape.circle, + ), + child: const Icon( + Icons.remove, + size: 18, + color: Colors.black, + ), + ), + ), + Expanded( + child: Center( + child: Text( + '${duration.value} ${namaSatuanWaktu.toLowerCase()}', + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + IconButton( + onPressed: () => duration.value++, + icon: Container( + padding: const EdgeInsets.all(4), + decoration: BoxDecoration( + color: Colors.purple[100], + shape: BoxShape.circle, + ), + child: const Icon( + Icons.add, + size: 18, + color: Colors.purple, + ), + ), + ), + ], + ), + Text( + 'Minimum ${minDuration} ${namaSatuanWaktu.toLowerCase()}', + style: TextStyle( + fontSize: 12, + color: Colors.grey[600], + ), + ), + ], + ); + }), + const SizedBox(height: 24), + + // Total price + Container( + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + color: Colors.grey[50], + borderRadius: BorderRadius.circular(12), + border: Border.all(color: Colors.grey[200]!), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + const Text( + 'Total Harga', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + ), + ), + Obx( + () => Text( + 'Rp ${NumberFormat('#,###').format(totalPrice.value)}', + style: const TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: Colors.deepOrange, + ), + ), + ), + ], + ), + ), + ], + ), + ), + + // Order button + SizedBox( + width: double.infinity, + height: 50, + child: ElevatedButton( + onPressed: () { + Get.back(); // Close the form + + // Navigate to order_sewa_paket page + // Get the navigation service from the controller + final navigationService = controller.navigationService; + + // Store the selected parameters in a controller or pass as arguments + Get.toNamed( + Routes.ORDER_SEWA_PAKET, + arguments: { + 'paketId': paket['id'], + 'satuanWaktuSewaId': selectedSWS.value?['id'] ?? '', + 'durasi': duration.value, + 'totalHarga': totalPrice.value, + 'paketData': paket, + }, + ); + }, + style: ElevatedButton.styleFrom( + foregroundColor: Colors.white, + backgroundColor: AppColors.primary, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(12), + ), + ), + child: const Text( + 'Konfirmasi Pesanan', + style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + ), + ), + ), + ], + ), + ), + ); + } + + Widget _buildAsetCard(aset) { + // Add debug information for this asset + debugPrint('📦 Building card for aset: ${aset.id} - ${aset.nama}'); + if (aset.id == null || aset.id.isEmpty) { + debugPrint('⚠️ WARNING: Aset has no ID!'); + } + + return Container( + margin: const EdgeInsets.only(bottom: 20.0), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16.0), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Asset image + ClipRRect( + borderRadius: const BorderRadius.vertical(top: Radius.circular(16)), + child: AspectRatio( + aspectRatio: 16 / 9, + child: + aset.imageUrl != null + ? Image.network( + aset.imageUrl!, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + color: Colors.grey[200], + child: Center( + child: Icon( + Icons.image_not_supported, + size: 40, + color: Colors.grey[400], + ), + ), + ); + }, + ) + : Container( + color: Colors.grey[200], + child: Center( + child: Icon( + Icons.image_not_supported, + size: 40, + color: Colors.grey[400], + ), + ), + ), + ), + ), + + // Asset details + Padding( + padding: const EdgeInsets.all(16.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Asset name + Text( + aset.nama, + style: const TextStyle( + fontSize: 20, + fontWeight: FontWeight.bold, + ), + ), + const SizedBox(height: 8), + + // Status availability + Row( + children: [ + Container( + width: 6, + height: 6, + decoration: const BoxDecoration( + color: AppColors.success, + shape: BoxShape.circle, + ), + ), + const SizedBox(width: 4), + Text( + 'Tersedia', + style: TextStyle( + color: AppColors.success, + fontWeight: FontWeight.w500, + fontSize: 11, + ), + ), + ], + ), + const SizedBox(height: 12), + + // Tampilkan harga dan satuan waktu dari join + if (aset.satuanWaktuSewa.isNotEmpty) + Wrap( + spacing: 8, + runSpacing: 8, + children: [ + ...aset.satuanWaktuSewa.map((sws) { + // Pastikan data yang ditampilkan valid + final harga = sws['harga'] ?? 0; + final namaSatuan = sws['nama_satuan_waktu'] ?? 'Satuan'; + return Container( + padding: const EdgeInsets.symmetric( + horizontal: 12, + vertical: 6, + ), + decoration: BoxDecoration( + color: Colors.grey[100], + borderRadius: BorderRadius.circular(8), + border: Border.all(color: Colors.grey[300]!), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + "Rp ${_formatNumber(harga)}", + style: const TextStyle( + color: AppColors.primary, + fontWeight: FontWeight.bold, + ), + ), + Text( + " / $namaSatuan", + style: TextStyle(color: Colors.grey[700]), + ), + ], + ), + ); + }).toList(), + ], + ) + else + Container( + padding: const EdgeInsets.symmetric( + horizontal: 12, + vertical: 6, + ), + decoration: BoxDecoration( + color: Colors.grey[100], + borderRadius: BorderRadius.circular(8), + border: Border.all(color: Colors.grey[300]!), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + controller.formatPrice(aset.harga), + style: const TextStyle( + color: AppColors.primary, + fontWeight: FontWeight.bold, + ), + ), + Text( + " / Jam", + style: TextStyle(color: Colors.grey[700]), + ), + ], + ), + ), + + const SizedBox(height: 16), + + // Order button + SizedBox( + width: double.infinity, + child: ElevatedButton( + onPressed: () { + if (aset.id == null || aset.id.isEmpty) { + debugPrint('⚠️ Cannot navigate: Aset has no ID!'); + Get.snackbar( + 'Error', + 'ID aset tidak valid', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + ); + return; + } + _showOrderPage(aset); + }, + style: ElevatedButton.styleFrom( + backgroundColor: AppColors.primary, + foregroundColor: Colors.white, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + padding: const EdgeInsets.symmetric(vertical: 6), + minimumSize: const Size(double.infinity, 30), + tapTargetSize: MaterialTapTargetSize.shrinkWrap, + ), + child: const Text( + 'Pesan Sekarang', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ], + ), + ), + ], + ), + ); + } + + // Grid-style asset card with a more compact layout + Widget _buildGridAsetCard(aset) { + debugPrint('📦 Building grid card for aset: ${aset.id} - ${aset.nama}'); + if (aset.id == null || aset.id.isEmpty) { + debugPrint('⚠️ WARNING: Aset has no ID!'); + } + + return Container( + decoration: BoxDecoration( + color: AppColors.surface, + borderRadius: BorderRadius.circular(12.0), + boxShadow: [ + BoxShadow( + color: AppColors.shadow, + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Asset image + ClipRRect( + borderRadius: const BorderRadius.vertical(top: Radius.circular(12)), + child: AspectRatio( + aspectRatio: 1.0, + child: + aset.imageUrl != null + ? Image.network( + aset.imageUrl!, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + color: Colors.grey[200], + child: Center( + child: Icon( + Icons.image_not_supported, + size: 32, + color: Colors.grey[400], + ), + ), + ); + }, + ) + : Container( + color: Colors.grey[200], + child: Center( + child: Icon( + Icons.image_not_supported, + size: 32, + color: Colors.grey[400], + ), + ), + ), + ), + ), + + // Asset details + Expanded( + child: Padding( + padding: const EdgeInsets.all(10.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Asset name + Text( + aset.nama, + style: const TextStyle( + fontSize: 15, + fontWeight: FontWeight.bold, + ), + maxLines: 1, + overflow: TextOverflow.ellipsis, + ), + const SizedBox(height: 4), + + // Status availability and price in same row to save space + Row( + children: [ + Container( + width: 6, + height: 6, + decoration: const BoxDecoration( + color: AppColors.success, + shape: BoxShape.circle, + ), + ), + const SizedBox(width: 4), + Text( + 'Tersedia', + style: TextStyle( + color: AppColors.success, + fontWeight: FontWeight.w500, + fontSize: 11, + ), + ), + ], + ), + const SizedBox(height: 6), + + // Price - show only first price option + if (aset.satuanWaktuSewa.isNotEmpty) + SizedBox( + width: double.infinity, + child: Wrap( + spacing: 4, + runSpacing: 4, + children: [ + ...aset.satuanWaktuSewa.map((sws) { + // Pastikan data yang ditampilkan valid + final harga = sws['harga'] ?? 0; + final namaSatuan = + sws['nama_satuan_waktu'] ?? 'Satuan'; + return Container( + margin: const EdgeInsets.only(bottom: 4), + padding: const EdgeInsets.symmetric( + horizontal: 6, + vertical: 3, + ), + decoration: BoxDecoration( + color: Colors.grey[100], + borderRadius: BorderRadius.circular(4), + border: Border.all(color: Colors.grey[300]!), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + "Rp ${_formatNumber(harga)}", + style: const TextStyle( + color: AppColors.primary, + fontWeight: FontWeight.bold, + fontSize: 11, + ), + ), + Text( + "/$namaSatuan", + style: TextStyle( + color: Colors.grey[700], + fontSize: 10, + ), + ), + ], + ), + ); + }).toList(), + ], + ), + ) + else + Container( + padding: const EdgeInsets.symmetric( + horizontal: 8, + vertical: 4, + ), + decoration: BoxDecoration( + color: Colors.grey[100], + borderRadius: BorderRadius.circular(6), + border: Border.all(color: Colors.grey[300]!), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + controller.formatPrice(aset.harga), + style: const TextStyle( + color: AppColors.primary, + fontWeight: FontWeight.bold, + fontSize: 12, + ), + ), + Text( + " / Jam", + style: TextStyle( + color: Colors.grey[700], + fontSize: 11, + ), + ), + ], + ), + ), + + const Spacer(), + + // Order button + SizedBox( + width: double.infinity, + child: ElevatedButton( + onPressed: () { + if (aset.id == null || aset.id.isEmpty) { + debugPrint('⚠️ Cannot navigate: Aset has no ID!'); + Get.snackbar( + 'Error', + 'ID aset tidak valid', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + ); + return; + } + _showOrderPage(aset); + }, + style: ElevatedButton.styleFrom( + backgroundColor: AppColors.primary, + foregroundColor: Colors.white, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + padding: const EdgeInsets.symmetric(vertical: 6), + minimumSize: const Size(double.infinity, 30), + tapTargetSize: MaterialTapTargetSize.shrinkWrap, + ), + child: const Text( + 'Pesan', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + ], + ), + ), + ), + ], + ), + ); + } + + // Method untuk navigasi ke halaman order aset + void _showOrderPage(aset) { + // Debug print untuk memastikan ID aset valid + print('🚀 Navigating to order page with asset ID: ${aset.id}'); + print('🔍 Asset object: ${aset.toJson()}'); + + // Make sure the asset ID is not empty + if (aset.id == null || aset.id.isEmpty) { + Get.snackbar( + 'Error', + 'ID aset tidak valid', + snackPosition: SnackPosition.BOTTOM, + backgroundColor: Colors.red, + colorText: Colors.white, + ); + return; + } + + // Use the static navigation method to ensure consistent behavior + OrderSewaAsetController.navigateToOrderPage(aset.id); + } + + // Helper to format numbers for display + String _formatNumber(dynamic number) { + if (number == null) return '0'; + + // Ensure we're working with a String + final numStr = number.toString(); + + try { + // Format with thousand separators + return NumberFormat('#,###').format(int.parse(numStr)); + } catch (e) { + return numStr; + } + } +} diff --git a/lib/app/modules/warga/views/warga_dashboard_view.dart b/lib/app/modules/warga/views/warga_dashboard_view.dart new file mode 100644 index 0000000..090004d --- /dev/null +++ b/lib/app/modules/warga/views/warga_dashboard_view.dart @@ -0,0 +1,758 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import '../controllers/warga_dashboard_controller.dart'; +import '../views/warga_layout.dart'; +import '../../../theme/app_colors.dart'; +import '../../../widgets/app_drawer.dart'; +import '../../../routes/app_routes.dart'; +import 'package:intl/intl.dart'; + +class WargaDashboardView extends GetView { + const WargaDashboardView({super.key}); + + @override + Widget build(BuildContext context) { + final size = MediaQuery.of(context).size; + + return WillPopScope( + onWillPop: () async => false, // Prevent back navigation + child: WargaLayout( + drawer: AppDrawer( + onNavItemTapped: controller.onNavItemTapped, + onLogout: controller.logout, + ), + backgroundColor: AppColors.background, + appBar: AppBar( + elevation: 0, + backgroundColor: AppColors.primary, + title: const Text( + 'Beranda', + style: TextStyle(fontWeight: FontWeight.w600), + ), + centerTitle: true, + ), + body: RefreshIndicator( + color: AppColors.primary, + onRefresh: () async { + // Re-fetch data when pulled down + await Future.delayed(const Duration(seconds: 1)); + controller.refreshData(); + }, + child: SingleChildScrollView( + physics: const AlwaysScrollableScrollPhysics(), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildUserGreetingHeader(context), + _buildActionButtons(), + _buildActiveRentalsSection(context), + const SizedBox(height: 24), + ], + ), + ), + ), + ), + ); + } + + // Modern welcome header with user profile + Widget _buildUserGreetingHeader(BuildContext context) { + return Container( + width: double.infinity, + decoration: BoxDecoration( + color: AppColors.primary, + borderRadius: const BorderRadius.only( + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + ), + child: SafeArea( + child: Padding( + padding: const EdgeInsets.fromLTRB(20, 0, 20, 30), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + // User avatar + Obx(() { + final avatarUrl = controller.userAvatar.value; + return Container( + height: 60, + width: 60, + decoration: BoxDecoration( + shape: BoxShape.circle, + border: Border.all(color: Colors.white, width: 2), + color: Colors.white.withOpacity(0.2), + ), + child: ClipRRect( + borderRadius: BorderRadius.circular(30), + child: + avatarUrl != null && avatarUrl.isNotEmpty + ? Image.network( + avatarUrl, + fit: BoxFit.cover, + errorBuilder: + (context, error, stackTrace) => + _buildAvatarFallback(), + loadingBuilder: (context, child, progress) { + if (progress == null) return child; + return _buildAvatarFallback(); + }, + ) + : _buildAvatarFallback(), + ), + ); + }), + const SizedBox(width: 16), + + // Greeting and name + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + _getGreeting(), + style: const TextStyle( + fontSize: 15, + color: Colors.white70, + fontWeight: FontWeight.w500, + ), + ), + const SizedBox(height: 4), + Obx( + () => Text( + controller.userName.value, + style: const TextStyle( + fontSize: 20, + fontWeight: FontWeight.bold, + color: Colors.white, + ), + overflow: TextOverflow.ellipsis, + ), + ), + ], + ), + ), + ], + ), + ], + ), + ), + ), + ); + } + + // Action buttons in a horizontal scroll + Widget _buildActionButtons() { + // Define services - removed Langganan and Pengaduan + final services = [ + { + 'title': 'Sewa', + 'icon': Icons.home_work_outlined, + 'color': const Color(0xFF4CAF50), + 'route': () => controller.navigateToRentals(), + }, + { + 'title': 'Bayar', + 'icon': Icons.payment_outlined, + 'color': const Color(0xFF2196F3), + 'route': () => Get.toNamed(Routes.PEMBAYARAN_SEWA), + }, + ]; + + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Header + Padding( + padding: const EdgeInsets.fromLTRB(20, 10, 20, 10), + child: Text( + 'Layanan', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + ), + + // Service cards in grid + GridView.count( + crossAxisCount: 2, + childAspectRatio: 1.5, + physics: const NeverScrollableScrollPhysics(), + shrinkWrap: true, + padding: const EdgeInsets.symmetric(horizontal: 16), + mainAxisSpacing: 16, + crossAxisSpacing: 16, + children: + services + .map( + (service) => _buildServiceCard( + title: service['title'] as String, + icon: service['icon'] as IconData, + color: service['color'] as Color, + onTap: service['route'] as VoidCallback, + ), + ) + .toList(), + ), + + // Activity Summaries Section + Padding( + padding: const EdgeInsets.fromLTRB(20, 24, 20, 10), + child: Text( + 'Ringkasan Aktivitas', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + ), + + // Summary Cards + Padding( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: Column( + children: [ + // Sewa Diterima + _buildActivityCard( + title: 'Sewa Diterima', + value: controller.activeRentals.length.toString(), + icon: Icons.check_circle_outline, + color: AppColors.success, + onTap: () => controller.navigateToRentals(), + ), + const SizedBox(height: 12), + + // Tagihan Aktif + _buildActivityCard( + title: 'Tagihan Aktif', + value: controller.activeBills.length.toString(), + icon: Icons.receipt_long_outlined, + color: AppColors.warning, + onTap: () => Get.toNamed(Routes.PEMBAYARAN_SEWA), + ), + const SizedBox(height: 12), + + // Denda Aktif + _buildActivityCard( + title: 'Denda Aktif', + value: controller.activePenalties.length.toString(), + icon: Icons.warning_amber_outlined, + color: AppColors.error, + onTap: () => Get.toNamed(Routes.PEMBAYARAN_SEWA), + ), + ], + ), + ), + ], + ); + } + + Widget _buildServiceCard({ + required String title, + required IconData icon, + required Color color, + required VoidCallback onTap, + }) { + return InkWell( + onTap: onTap, + borderRadius: BorderRadius.circular(16), + child: Container( + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: [color.withOpacity(0.7), color], + ), + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: color.withOpacity(0.3), + blurRadius: 12, + offset: const Offset(0, 6), + ), + ], + ), + child: ClipRRect( + borderRadius: BorderRadius.circular(16), + child: Stack( + children: [ + // Background decoration + Positioned( + right: -15, + bottom: -15, + child: Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.white.withOpacity(0.1), + shape: BoxShape.circle, + ), + ), + ), + Positioned( + left: -20, + top: -20, + child: Container( + width: 60, + height: 60, + decoration: BoxDecoration( + color: Colors.white.withOpacity(0.1), + shape: BoxShape.circle, + ), + ), + ), + // Icon and text + Padding( + padding: const EdgeInsets.all(16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + padding: const EdgeInsets.all(10), + decoration: BoxDecoration( + color: Colors.white.withOpacity(0.2), + borderRadius: BorderRadius.circular(12), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 4, + offset: const Offset(0, 2), + ), + ], + ), + child: Icon(icon, color: Colors.white, size: 24), + ), + Text( + title, + style: const TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + fontSize: 16, + ), + ), + ], + ), + ), + ], + ), + ), + ), + ); + } + + // Active rentals section with improved card design + Widget _buildActiveRentalsSection(BuildContext context) { + return Padding( + padding: const EdgeInsets.fromLTRB(20, 8, 20, 20), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'Sewa Diterima', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + TextButton.icon( + onPressed: () => controller.onNavItemTapped(1), + icon: const Icon(Icons.arrow_forward, size: 18), + label: const Text('Lihat Semua'), + style: TextButton.styleFrom(foregroundColor: AppColors.primary), + ), + ], + ), + const SizedBox(height: 12), + Obx(() { + if (controller.activeRentals.isEmpty) { + return _buildEmptyState( + message: 'Belum ada sewa aset yang aktif', + icon: Icons.inventory_2_outlined, + buttonText: 'Sewa Sekarang', + onPressed: () => controller.navigateToRentals(), + ); + } + + return Column( + children: + controller.activeRentals + .map((rental) => _buildModernRentalCard(rental)) + .toList(), + ); + }), + ], + ), + ); + } + + // Empty state widget with consistent design + Widget _buildEmptyState({ + required String message, + required IconData icon, + required String buttonText, + required VoidCallback onPressed, + }) { + return Container( + width: double.infinity, + padding: const EdgeInsets.symmetric(vertical: 32, horizontal: 24), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(20), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.03), + blurRadius: 10, + offset: const Offset(0, 4), + ), + ], + border: Border.all(color: Colors.grey.shade100), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Container( + padding: const EdgeInsets.all(20), + decoration: BoxDecoration( + color: AppColors.primary.withOpacity(0.1), + shape: BoxShape.circle, + ), + child: Icon(icon, size: 40, color: AppColors.primary), + ), + const SizedBox(height: 20), + Text( + message, + style: TextStyle( + fontSize: 16, + color: AppColors.textSecondary, + fontWeight: FontWeight.w500, + ), + textAlign: TextAlign.center, + ), + const SizedBox(height: 24), + ElevatedButton( + onPressed: onPressed, + style: ElevatedButton.styleFrom( + backgroundColor: AppColors.primary, + foregroundColor: Colors.white, + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(12), + ), + padding: const EdgeInsets.symmetric(horizontal: 32, vertical: 16), + ), + child: Text( + buttonText, + style: const TextStyle(fontSize: 16, fontWeight: FontWeight.w600), + ), + ), + ], + ), + ); + } + + // Modern rental card with better layout + Widget _buildModernRentalCard(Map rental) { + return Container( + margin: const EdgeInsets.only(bottom: 16), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(20), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + offset: const Offset(0, 4), + blurRadius: 15, + ), + ], + border: Border.all(color: Colors.grey.shade100, width: 1.0), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Header with glass effect + Container( + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: [ + AppColors.primary.withOpacity(0.04), + AppColors.primary.withOpacity(0.08), + ], + ), + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(20), + topRight: Radius.circular(20), + ), + ), + child: Row( + children: [ + // Asset icon + Container( + padding: const EdgeInsets.all(12), + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: [ + AppColors.primary.withOpacity(0.7), + AppColors.primary, + ], + ), + borderRadius: BorderRadius.circular(14), + boxShadow: [ + BoxShadow( + color: AppColors.primary.withOpacity(0.3), + blurRadius: 8, + offset: const Offset(0, 3), + ), + ], + ), + child: const Icon( + Icons.local_shipping, + color: Colors.white, + size: 24, + ), + ), + const SizedBox(width: 16), + + // Asset details + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + rental['name'], + style: TextStyle( + fontSize: 17, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + const SizedBox(height: 4), + Text( + rental['time'], + style: TextStyle( + fontSize: 13, + color: AppColors.textSecondary, + ), + ), + ], + ), + ), + + // Price tag + Container( + padding: const EdgeInsets.symmetric( + horizontal: 12, + vertical: 6, + ), + decoration: BoxDecoration( + color: AppColors.primary.withOpacity(0.1), + borderRadius: BorderRadius.circular(20), + border: Border.all( + color: AppColors.primary.withOpacity(0.3), + width: 1.0, + ), + ), + child: Text( + rental['price'], + style: TextStyle( + color: AppColors.primary, + fontWeight: FontWeight.bold, + fontSize: 14, + ), + ), + ), + ], + ), + ), + + // Details and actions + Padding( + padding: const EdgeInsets.fromLTRB(16, 16, 16, 16), + child: Column( + children: [ + // Details row + Row( + children: [ + Expanded( + child: _buildInfoItem( + icon: Icons.timer_outlined, + title: 'Durasi', + value: rental['duration'], + ), + ), + Expanded( + child: _buildInfoItem( + icon: Icons.calendar_today_outlined, + title: 'Status', + value: 'Diterima', + valueColor: AppColors.success, + ), + ), + ], + ), + + const SizedBox(height: 16), + + // Action buttons + if (rental['can_extend']) + OutlinedButton.icon( + onPressed: () => controller.extendRental(rental['id']), + icon: const Icon(Icons.update, size: 18), + label: const Text('Perpanjang'), + style: OutlinedButton.styleFrom( + foregroundColor: AppColors.primary, + side: BorderSide(color: AppColors.primary), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10), + ), + padding: const EdgeInsets.symmetric( + vertical: 12, + horizontal: 16, + ), + ), + ), + ], + ), + ), + ], + ), + ); + } + + // Info item for displaying details + Widget _buildInfoItem({ + required IconData icon, + required String title, + required String value, + Color? valueColor, + }) { + return Container( + padding: const EdgeInsets.all(10), + decoration: BoxDecoration( + color: Colors.grey.shade50, + borderRadius: BorderRadius.circular(10), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + title, + style: TextStyle(fontSize: 13, color: AppColors.textSecondary), + ), + const SizedBox(height: 4), + Row( + children: [ + Icon(icon, size: 16, color: AppColors.primary), + const SizedBox(width: 4), + Text( + value, + style: TextStyle( + fontSize: 15, + fontWeight: FontWeight.w600, + color: valueColor ?? AppColors.textPrimary, + ), + ), + ], + ), + ], + ), + ); + } + + // Build avatar fallback for when image is not available + Widget _buildAvatarFallback() { + return Center(child: Icon(Icons.person, color: Colors.white70, size: 30)); + } + + // Get appropriate greeting based on time of day + String _getGreeting() { + final hour = DateTime.now().hour; + if (hour < 12) { + return 'Selamat Pagi'; + } else if (hour < 17) { + return 'Selamat Siang'; + } else { + return 'Selamat Malam'; + } + } + + // Build a summary card for activities + Widget _buildActivityCard({ + required String title, + required String value, + required IconData icon, + required Color color, + required VoidCallback onTap, + }) { + return Card( + elevation: 1, + shadowColor: Colors.black12, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(12), + side: BorderSide(color: Colors.grey.shade200), + ), + child: InkWell( + onTap: onTap, + borderRadius: BorderRadius.circular(12), + child: Padding( + padding: const EdgeInsets.all(16), + child: Row( + children: [ + Container( + padding: const EdgeInsets.all(10), + decoration: BoxDecoration( + color: color.withOpacity(0.1), + borderRadius: BorderRadius.circular(10), + ), + child: Icon(icon, color: color, size: 24), + ), + const SizedBox(width: 16), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + title, + style: TextStyle( + fontSize: 14, + color: AppColors.textSecondary, + ), + ), + const SizedBox(height: 4), + Text( + value, + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + ], + ), + ), + Icon( + Icons.arrow_forward_ios, + color: AppColors.textSecondary.withOpacity(0.5), + size: 16, + ), + ], + ), + ), + ), + ); + } +} diff --git a/lib/app/modules/warga/views/warga_layout.dart b/lib/app/modules/warga/views/warga_layout.dart new file mode 100644 index 0000000..1abaa55 --- /dev/null +++ b/lib/app/modules/warga/views/warga_layout.dart @@ -0,0 +1,75 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import '../widgets/app_bottom_navbar.dart'; +import '../../../services/navigation_service.dart'; +import '../../../routes/app_routes.dart'; + +/// A wrapper layout that provides a persistent bottom navigation bar +/// and a content area for warga user pages. +class WargaLayout extends StatelessWidget { + final Widget body; + final PreferredSizeWidget? appBar; + final Widget? drawer; + final Color? backgroundColor; + final Widget? floatingActionButton; + final FloatingActionButtonLocation? floatingActionButtonLocation; + + const WargaLayout({ + super.key, + required this.body, + this.appBar, + this.drawer, + this.backgroundColor, + this.floatingActionButton, + this.floatingActionButtonLocation, + }); + + @override + Widget build(BuildContext context) { + // Access the navigation service + final navigationService = Get.find(); + + // Single Scaffold that contains all components + return Scaffold( + backgroundColor: backgroundColor ?? Colors.grey.shade100, + appBar: appBar, + // Drawer configuration for proper overlay + drawer: drawer, + drawerEdgeDragWidth: 60, // Wider drag area for easier access + drawerEnableOpenDragGesture: true, + // Higher opacity ensures good contrast & visibility when drawer opens + drawerScrimColor: Colors.black.withOpacity(0.6), + // Main body content + body: body, + // Bottom navigation bar + bottomNavigationBar: AppBottomNavbar( + selectedIndex: navigationService.currentNavIndex.value, + onItemTapped: (index) => _handleNavigation(index, navigationService), + ), + floatingActionButton: floatingActionButton, + floatingActionButtonLocation: floatingActionButtonLocation, + ); + } + + // Handle navigation for bottom navbar + void _handleNavigation(int index, NavigationService navigationService) { + if (navigationService.currentNavIndex.value == index) { + return; // Don't do anything if already on this tab + } + + navigationService.setNavIndex(index); + + // Navigate to the appropriate page + switch (index) { + case 0: + Get.offAllNamed(Routes.WARGA_DASHBOARD); + break; + case 1: + navigationService.toWargaSewa(); + break; + case 2: + navigationService.toProfile(); + break; + } + } +} diff --git a/lib/app/modules/warga/views/warga_profile_view.dart b/lib/app/modules/warga/views/warga_profile_view.dart new file mode 100644 index 0000000..5d01563 --- /dev/null +++ b/lib/app/modules/warga/views/warga_profile_view.dart @@ -0,0 +1,455 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import '../controllers/warga_dashboard_controller.dart'; +import '../views/warga_layout.dart'; +import '../../../theme/app_colors.dart'; + +class WargaProfileView extends GetView { + const WargaProfileView({super.key}); + + @override + Widget build(BuildContext context) { + return WargaLayout( + appBar: AppBar( + title: const Text('Profil Saya'), + backgroundColor: AppColors.primary, + elevation: 0, + centerTitle: true, + actions: [ + IconButton( + onPressed: () { + Get.snackbar( + 'Info', + 'Fitur edit profil akan segera tersedia', + snackPosition: SnackPosition.BOTTOM, + ); + }, + icon: const Icon(Icons.edit_outlined), + tooltip: 'Edit Profil', + ), + ], + ), + backgroundColor: Colors.grey.shade100, + body: RefreshIndicator( + color: AppColors.primary, + onRefresh: () async { + await Future.delayed(const Duration(milliseconds: 500)); + controller.refreshData(); + return; + }, + child: SingleChildScrollView( + physics: const AlwaysScrollableScrollPhysics(), + child: Column( + children: [ + _buildProfileHeader(context), + const SizedBox(height: 16), + _buildInfoCard(context), + const SizedBox(height: 16), + _buildSettingsCard(context), + const SizedBox(height: 24), + ], + ), + ), + ), + ); + } + + Widget _buildProfileHeader(BuildContext context) { + return Container( + width: double.infinity, + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: [ + AppColors.primary, + AppColors.primary.withBlue(AppColors.primary.blue + 30), + ], + ), + borderRadius: const BorderRadius.only( + bottomLeft: Radius.circular(30), + bottomRight: Radius.circular(30), + ), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.1), + blurRadius: 10, + offset: const Offset(0, 5), + ), + ], + ), + child: Padding( + padding: const EdgeInsets.fromLTRB(20, 16, 20, 36), + child: Column( + children: [ + // Profile picture with shadow effect + Obx(() { + final avatarUrl = controller.userAvatar.value; + return Container( + height: 110, + width: 110, + decoration: BoxDecoration( + shape: BoxShape.circle, + border: Border.all(color: Colors.white, width: 4), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.2), + blurRadius: 10, + offset: const Offset(0, 5), + ), + ], + ), + child: ClipRRect( + borderRadius: BorderRadius.circular(55), + child: + avatarUrl != null && avatarUrl.isNotEmpty + ? Image.network( + avatarUrl, + fit: BoxFit.cover, + errorBuilder: + (context, error, stackTrace) => + _buildAvatarFallback(), + loadingBuilder: (context, child, progress) { + if (progress == null) return child; + return _buildAvatarFallback(); + }, + ) + : _buildAvatarFallback(), + ), + ); + }), + const SizedBox(height: 16), + // User name with subtle text shadow + Obx( + () => Text( + controller.userName.value, + style: const TextStyle( + fontSize: 24, + fontWeight: FontWeight.bold, + color: Colors.white, + shadows: [ + Shadow( + color: Colors.black26, + blurRadius: 2, + offset: Offset(0, 1), + ), + ], + ), + ), + ), + const SizedBox(height: 6), + // User role in a stylish chip + Obx( + () => Container( + padding: const EdgeInsets.symmetric( + horizontal: 16, + vertical: 6, + ), + decoration: BoxDecoration( + color: Colors.white.withOpacity(0.3), + borderRadius: BorderRadius.circular(30), + border: Border.all( + color: Colors.white.withOpacity(0.5), + width: 1, + ), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Icon( + Icons.verified_user, + size: 14, + color: Colors.white.withOpacity(0.9), + ), + const SizedBox(width: 6), + Text( + controller.userRole.value, + style: TextStyle( + fontSize: 14, + color: Colors.white.withOpacity(0.9), + fontWeight: FontWeight.w600, + letterSpacing: 0.5, + ), + ), + ], + ), + ), + ), + ], + ), + ), + ); + } + + Widget _buildInfoCard(BuildContext context) { + return Card( + margin: const EdgeInsets.symmetric(horizontal: 16), + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16), + side: BorderSide(color: Colors.grey.shade200), + ), + child: Column( + children: [ + Padding( + padding: const EdgeInsets.fromLTRB(16, 16, 16, 8), + child: Row( + children: [ + Icon(Icons.person_outline, color: AppColors.primary, size: 18), + const SizedBox(width: 8), + Text( + 'INFORMASI PERSONAL', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.w600, + color: Colors.grey.shade700, + letterSpacing: 0.5, + ), + ), + ], + ), + ), + const Divider(height: 1), + _buildInfoItem( + icon: Icons.email_outlined, + title: 'Email', + value: + controller.userEmail.value.isEmpty + ? 'emailpengguna@example.com' + : controller.userEmail.value, + ), + Divider(height: 1, color: Colors.grey.shade200), + _buildInfoItem( + icon: Icons.credit_card_outlined, + title: 'NIK', + value: + controller.userNik.value.isEmpty + ? '123456789012345' + : controller.userNik.value, + ), + Divider(height: 1, color: Colors.grey.shade200), + _buildInfoItem( + icon: Icons.phone_outlined, + title: 'Nomor Telepon', + value: + controller.userPhone.value.isEmpty + ? '081234567890' + : controller.userPhone.value, + ), + Divider(height: 1, color: Colors.grey.shade200), + _buildInfoItem( + icon: Icons.home_outlined, + title: 'Alamat Lengkap', + value: + controller.userAddress.value.isEmpty + ? 'Jl. Contoh No. 123, Desa Sejahtera, Kec. Makmur, Kab. Berkah, Prov. Damai' + : controller.userAddress.value, + isMultiLine: true, + ), + ], + ), + ); + } + + Widget _buildInfoItem({ + required IconData icon, + required String title, + required String value, + bool isMultiLine = false, + }) { + return Padding( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 14), + child: Row( + crossAxisAlignment: + isMultiLine ? CrossAxisAlignment.start : CrossAxisAlignment.center, + children: [ + Container( + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: AppColors.primary.withOpacity(0.1), + borderRadius: BorderRadius.circular(10), + ), + child: Icon(icon, color: AppColors.primary, size: 20), + ), + const SizedBox(width: 12), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + title, + style: TextStyle(fontSize: 13, color: Colors.grey.shade600), + ), + const SizedBox(height: 3), + Text( + value, + style: TextStyle( + fontSize: 15, + fontWeight: FontWeight.bold, + color: Colors.grey.shade800, + ), + maxLines: isMultiLine ? 3 : 1, + overflow: TextOverflow.ellipsis, + ), + ], + ), + ), + ], + ), + ); + } + + Widget _buildSettingsCard(BuildContext context) { + return Card( + margin: const EdgeInsets.symmetric(horizontal: 16), + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16), + side: BorderSide(color: Colors.grey.shade200), + ), + child: Column( + children: [ + Padding( + padding: const EdgeInsets.fromLTRB(16, 16, 16, 8), + child: Row( + children: [ + Icon( + Icons.settings_outlined, + color: AppColors.primary, + size: 18, + ), + const SizedBox(width: 8), + Text( + 'PENGATURAN', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.w600, + color: Colors.grey.shade700, + letterSpacing: 0.5, + ), + ), + ], + ), + ), + const Divider(height: 1), + _buildActionItem( + icon: Icons.lock_outline, + title: 'Ubah Password', + iconColor: AppColors.primary, + onTap: () { + Get.snackbar( + 'Info', + 'Fitur Ubah Password akan segera tersedia', + snackPosition: SnackPosition.BOTTOM, + ); + }, + ), + Divider(height: 1, color: Colors.grey.shade200), + _buildActionItem( + icon: Icons.logout, + title: 'Keluar', + iconColor: Colors.red.shade400, + isDestructive: true, + onTap: () { + _showLogoutConfirmation(context); + }, + ), + ], + ), + ); + } + + Widget _buildActionItem({ + required IconData icon, + required String title, + required VoidCallback onTap, + Color? iconColor, + bool isDestructive = false, + }) { + final color = + isDestructive ? Colors.red.shade400 : iconColor ?? AppColors.primary; + + return InkWell( + onTap: onTap, + child: Padding( + padding: const EdgeInsets.symmetric(vertical: 12, horizontal: 16), + child: Row( + children: [ + Container( + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: color.withOpacity(0.1), + borderRadius: BorderRadius.circular(10), + ), + child: Icon(icon, color: color, size: 20), + ), + const SizedBox(width: 12), + Text( + title, + style: TextStyle( + fontSize: 15, + fontWeight: FontWeight.w500, + color: + isDestructive ? Colors.red.shade400 : Colors.grey.shade800, + ), + ), + const Spacer(), + Icon(Icons.chevron_right, color: Colors.grey.shade400, size: 20), + ], + ), + ), + ); + } + + void _showLogoutConfirmation(BuildContext context) { + showDialog( + context: context, + builder: (BuildContext context) { + return AlertDialog( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16), + ), + title: const Text('Konfirmasi Keluar'), + content: const Text('Apakah Anda yakin ingin keluar dari aplikasi?'), + actions: [ + TextButton( + onPressed: () => Navigator.of(context).pop(), + style: TextButton.styleFrom( + foregroundColor: Colors.grey.shade700, + ), + child: const Text('Batal'), + ), + ElevatedButton( + onPressed: () { + Navigator.of(context).pop(); + controller.logout(); + }, + style: ElevatedButton.styleFrom( + backgroundColor: Colors.red.shade400, + foregroundColor: Colors.white, + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + ), + child: const Text('Keluar'), + ), + ], + ); + }, + ); + } + + Widget _buildAvatarFallback() { + return Container( + color: Colors.grey.shade200, + child: Center( + child: Icon( + Icons.person, + color: AppColors.primary.withOpacity(0.7), + size: 50, + ), + ), + ); + } +} diff --git a/lib/app/modules/warga/views/warga_sewa_view.dart b/lib/app/modules/warga/views/warga_sewa_view.dart new file mode 100644 index 0000000..a94ba12 --- /dev/null +++ b/lib/app/modules/warga/views/warga_sewa_view.dart @@ -0,0 +1,1493 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/gestures.dart'; +import 'package:get/get.dart'; +import '../controllers/warga_sewa_controller.dart'; +import '../views/warga_layout.dart'; +import '../../../services/navigation_service.dart'; +import '../../../widgets/app_drawer.dart'; +import '../../../theme/app_colors.dart'; + +class WargaSewaView extends GetView { + const WargaSewaView({super.key}); + + @override + Widget build(BuildContext context) { + final navigationService = Get.find(); + + return WargaLayout( + drawer: AppDrawer( + onNavItemTapped: controller.onNavItemTapped, + onLogout: () { + Get.find().toLogin(); + }, + ), + appBar: AppBar( + backgroundColor: AppColors.primary, + elevation: 0, + title: const Text( + 'Sewa Aset Saya', + style: TextStyle( + color: Colors.white, + fontSize: 20, + fontWeight: FontWeight.w600, + ), + ), + centerTitle: true, + bottom: PreferredSize( + preferredSize: const Size.fromHeight(60), + child: _buildTabBar(), + ), + ), + body: Column( + children: [ + Expanded( + child: TabBarView( + controller: controller.tabController, + physics: const PageScrollPhysics(), + dragStartBehavior: DragStartBehavior.start, + children: [ + _buildBelumBayarTab(), + _buildPendingTab(), + _buildDiterimaTab(), + _buildAktifTab(), + _buildSelesaiTab(), + _buildDibatalkanTab(), + ], + ), + ), + ], + ), + floatingActionButton: Container( + margin: const EdgeInsets.only(bottom: 16, right: 16), + decoration: BoxDecoration( + boxShadow: [ + BoxShadow( + color: AppColors.primary.withOpacity(0.3), + blurRadius: 12, + offset: const Offset(0, 4), + spreadRadius: 0, + ), + ], + borderRadius: BorderRadius.circular(16), + ), + child: FloatingActionButton.extended( + onPressed: () => controller.navigateToRentals(), + backgroundColor: AppColors.primary, + elevation: 0, + icon: const Icon( + Icons.add_circle_outline, + size: 20, + color: Colors.white, + ), + label: const Text( + 'Sewa Baru', + style: TextStyle( + fontWeight: FontWeight.w600, + letterSpacing: 0.5, + color: Colors.white, + ), + ), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16), + ), + ), + ), + floatingActionButtonLocation: FloatingActionButtonLocation.endFloat, + ); + } + + Widget _buildTabBar() { + return Container( + width: double.infinity, + height: 60, + decoration: BoxDecoration( + color: Colors.white, + border: Border(bottom: BorderSide(color: Colors.grey.shade200)), + ), + child: TabBar( + controller: controller.tabController, + labelColor: AppColors.primary, + unselectedLabelColor: Colors.grey.shade600, + indicatorColor: AppColors.primary, + indicatorWeight: 3, + indicatorSize: TabBarIndicatorSize.label, + labelPadding: const EdgeInsets.symmetric(horizontal: 16), + padding: const EdgeInsets.symmetric(horizontal: 8), + isScrollable: true, + tabs: [ + _buildTab(text: 'Belum Bayar', icon: Icons.payment_outlined), + _buildTab(text: 'Pending', icon: Icons.pending_outlined), + _buildTab(text: 'Diterima', icon: Icons.check_circle_outline), + _buildTab(text: 'Aktif', icon: Icons.play_circle_outline), + _buildTab(text: 'Selesai', icon: Icons.task_alt_outlined), + _buildTab(text: 'Dibatalkan', icon: Icons.cancel_outlined), + ], + ), + ); + } + + Widget _buildTab({required String text, required IconData icon}) { + return Tab( + height: 60, + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Icon(icon, size: 20), + const SizedBox(width: 8), + Text( + text, + style: const TextStyle(fontSize: 14, fontWeight: FontWeight.w500), + ), + ], + ), + ); + } + + Widget _buildPendingTab() { + return Obx(() { + // Show loading indicator while fetching data + if (controller.isLoadingPending.value) { + return const Center( + child: CircularProgressIndicator(), + ); + } + + // Check if there is any data to display + if (controller.pendingRentals.isNotEmpty) { + return SingleChildScrollView( + physics: const BouncingScrollPhysics(), + padding: const EdgeInsets.all(20), + child: Column( + children: controller.pendingRentals + .map((rental) => Padding( + padding: const EdgeInsets.only(bottom: 16.0), + child: _buildUnpaidRentalCard(rental), + )) + .toList(), + ), + ); + } + + // Return empty state if no data + return _buildTabContent( + icon: Icons.pending_actions, + title: 'Tidak ada pembayaran yang sedang diperiksa', + subtitle: 'Tidak ada sewa yang sedang dalam verifikasi pembayaran', + buttonText: 'Sewa Sekarang', + onButtonPressed: () => controller.navigateToRentals(), + color: AppColors.warning, + ); + }); + } + + Widget _buildAktifTab() { + return Obx(() { + // Show loading indicator while fetching data + if (controller.isLoading.value) { + return const Center( + child: CircularProgressIndicator(), + ); + } + + // Placeholder content for the Aktif tab + return const Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon( + Icons.play_circle_filled, + size: 80, + color: Colors.grey, + ), + SizedBox(height: 16), + Text( + 'Tab Aktif', + style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), + ), + SizedBox(height: 8), + Text( + 'Konten tab Aktif akan ditampilkan di sini', + style: TextStyle(color: Colors.grey), + ), + ], + ), + ); + }); + } + + Widget _buildBelumBayarTab() { + return Obx(() { + // Show loading indicator while fetching data + if (controller.isLoading.value) { + return const Center( + child: CircularProgressIndicator(), + ); + } + + // Check if there is any data to display + if (controller.rentals.isNotEmpty) { + return SingleChildScrollView( + physics: const BouncingScrollPhysics(), + padding: const EdgeInsets.all(20), + child: Column( + children: [ + // Build a card for each rental item + ...controller.rentals.map((rental) => Column( + children: [ + _buildUnpaidRentalCard(rental), + const SizedBox(height: 20), + ], + )).toList(), + _buildTipsSection(), + ], + ), + ); + } + + // Return empty state if no data + return _buildTabContent( + icon: Icons.payment_outlined, + title: 'Belum ada pembayaran', + subtitle: 'Tidak ada sewa yang menunggu pembayaran', + buttonText: 'Sewa Sekarang', + onButtonPressed: () => controller.navigateToRentals(), + color: AppColors.primary, + ); + }); + } + + Widget _buildUnpaidRentalCard(Map rental) { + // Determine status color based on status + final bool isPembayaranDenda = rental['status'] == 'PEMBAYARAN DENDA'; + final Color statusColor = isPembayaranDenda ? AppColors.error : AppColors.warning; + + return Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: Column( + children: [ + // Header section with status + Container( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), + decoration: BoxDecoration( + color: statusColor.withOpacity(0.1), + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(16), + topRight: Radius.circular(16), + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Icon( + isPembayaranDenda ? Icons.warning_amber_rounded : Icons.access_time_rounded, + size: 18, + color: statusColor, + ), + const SizedBox(width: 8), + Text( + rental['status'] ?? 'MENUNGGU PEMBAYARAN', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.bold, + color: statusColor, + ), + ), + ], + ), + ), + + // Asset details + Padding( + padding: const EdgeInsets.all(16), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Asset image with rounded corners + ClipRRect( + borderRadius: BorderRadius.circular(12), + child: rental['imageUrl'] != null && rental['imageUrl'].toString().startsWith('http') + ? Image.network( + rental['imageUrl'], + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ) + : Image.asset( + rental['imageUrl'] ?? 'assets/images/gambar_pendukung.jpg', + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ), + ), + const SizedBox(width: 16), + // Asset details + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + rental['name'] ?? 'Aset', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + const SizedBox(height: 8), + _buildInfoRow( + icon: Icons.inventory_2_outlined, + text: '${rental['jumlahUnit'] ?? 0} Unit', + ), + const SizedBox(height: 6), + _buildInfoRow( + icon: Icons.calendar_today_outlined, + text: rental['tanggalSewa'] ?? '', + ), + const SizedBox(height: 6), + _buildInfoRow( + icon: Icons.schedule, + text: rental['rentangWaktu'] ?? '', + ), + const SizedBox(height: 12), + // Countdown timer + Container( + padding: const EdgeInsets.symmetric( + horizontal: 10, + vertical: 6, + ), + decoration: BoxDecoration( + color: AppColors.error.withOpacity(0.1), + borderRadius: BorderRadius.circular(8), + border: Border.all( + color: AppColors.error.withOpacity(0.3), + width: 1, + ), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Icon( + Icons.timer_outlined, + size: 14, + color: AppColors.error, + ), + const SizedBox(width: 4), + Text( + 'Bayar dalam ${rental['countdown'] ?? '00:59:59'}', + style: TextStyle( + fontSize: 12, + fontWeight: FontWeight.bold, + color: AppColors.error, + ), + ), + ], + ), + ), + ], + ), + ), + ], + ), + ), + + // Divider + Divider(height: 1, thickness: 1, color: Colors.grey.shade100), + + // Price section + Padding( + padding: const EdgeInsets.fromLTRB(16, 12, 16, 12), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Total Bayar', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.w500, + color: AppColors.textSecondary, + ), + ), + const SizedBox(height: 2), + Text( + rental['totalPrice'] ?? 'Rp 0', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + ], + ), + // Pay button + ElevatedButton( + onPressed: () {}, + style: ElevatedButton.styleFrom( + backgroundColor: rental['status'] == 'PEMBAYARAN DENDA' ? AppColors.error : AppColors.warning, + foregroundColor: Colors.white, + elevation: 0, + padding: const EdgeInsets.symmetric( + horizontal: 20, + vertical: 10, + ), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + ), + child: Text( + rental['status'] == 'PEMBAYARAN DENDA' ? 'Bayar Denda' : 'Bayar Sekarang', + style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 14), + ), + ), + ], + ), + ), + + // Divider + Divider(height: 1, thickness: 1, color: Colors.grey.shade100), + + // Action buttons + Padding( + padding: const EdgeInsets.all(12), + child: Row( + children: [ + Expanded( + child: _buildActionButton( + icon: Icons.info_outline, + label: 'Lihat Detail', + onPressed: () => controller.viewRentalDetail(rental), + iconColor: AppColors.info, + ), + ), + const SizedBox(width: 8), + Expanded( + child: _buildActionButton( + icon: Icons.cancel_outlined, + label: 'Batalkan', + onPressed: () => controller.cancelRental(rental['id']), + iconColor: AppColors.error, + ), + ), + ], + ), + ), + ], + ), + ); + } + + Widget _buildInfoRow({required IconData icon, required String text}) { + return Row( + children: [ + Icon(icon, size: 14, color: AppColors.textSecondary), + const SizedBox(width: 6), + Text( + text, + style: TextStyle(fontSize: 13, color: AppColors.textSecondary), + ), + ], + ); + } + + Widget _buildActionButton({ + required IconData icon, + required String label, + required VoidCallback onPressed, + required Color iconColor, + }) { + return TextButton.icon( + onPressed: onPressed, + icon: Icon(icon, size: 16, color: iconColor), + label: Text( + label, + style: TextStyle( + color: AppColors.textPrimary, + fontSize: 13, + fontWeight: FontWeight.w500, + ), + ), + style: TextButton.styleFrom( + padding: const EdgeInsets.symmetric(vertical: 8), + minimumSize: Size.zero, + tapTargetSize: MaterialTapTargetSize.shrinkWrap, + ), + ); + } + + Widget _buildDiterimaTab() { + return Obx(() { + // Show loading indicator while fetching data + if (controller.isLoadingAccepted.value) { + return const Center( + child: CircularProgressIndicator(), + ); + } + + // Check if there is any data to display + if (controller.acceptedRentals.isNotEmpty) { + return SingleChildScrollView( + physics: const BouncingScrollPhysics(), + padding: const EdgeInsets.all(20), + child: Column( + children: [ + // Build a card for each accepted rental item + ...controller.acceptedRentals.map((rental) => Column( + children: [ + _buildDiterimaRentalCard(rental), + const SizedBox(height: 20), + ], + )).toList(), + _buildTipsSectionDiterima(), + ], + ), + ); + } + + // Return empty state if no data + return _buildTabContent( + icon: Icons.check_circle_outline, + title: 'Belum ada sewa diterima', + subtitle: 'Sewa yang sudah diterima akan muncul di sini', + buttonText: 'Sewa Sekarang', + onButtonPressed: () => controller.navigateToRentals(), + color: AppColors.success, + ); + }); + } + + Widget _buildDiterimaRentalCard(Map rental) { + return Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: Column( + children: [ + // Header section with status + Container( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), + decoration: BoxDecoration( + color: AppColors.success.withOpacity(0.1), + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(16), + topRight: Radius.circular(16), + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Icon( + Icons.check_circle_outline, + size: 18, + color: AppColors.success, + ), + const SizedBox(width: 8), + Text( + rental['status'] ?? 'DITERIMA', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.bold, + color: AppColors.success, + ), + ), + ], + ), + ), + + // Asset details + Padding( + padding: const EdgeInsets.all(16), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Asset image with rounded corners + ClipRRect( + borderRadius: BorderRadius.circular(12), + child: rental['imageUrl'] != null && rental['imageUrl'].toString().startsWith('http') + ? Image.network( + rental['imageUrl'], + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ) + : Image.asset( + rental['imageUrl'] ?? 'assets/images/gambar_pendukung.jpg', + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ), + ), + const SizedBox(width: 16), + // Asset details + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + rental['name'] ?? 'Aset', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + const SizedBox(height: 8), + _buildInfoRow( + icon: Icons.inventory_2_outlined, + text: '${rental['jumlahUnit'] ?? 0} Unit', + ), + const SizedBox(height: 6), + _buildInfoRow( + icon: Icons.calendar_today_outlined, + text: rental['tanggalSewa'] ?? '', + ), + const SizedBox(height: 6), + _buildInfoRow( + icon: Icons.schedule, + text: rental['rentangWaktu'] ?? '', + ), + ], + ), + ), + ], + ), + ), + + // Divider + Divider(height: 1, thickness: 1, color: Colors.grey.shade100), + + // Price section + Padding( + padding: const EdgeInsets.fromLTRB(16, 12, 16, 12), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Total Bayar', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.w500, + color: AppColors.textSecondary, + ), + ), + const SizedBox(height: 2), + Text( + rental['totalPrice'] ?? 'Rp 0', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + ], + ), + ], + ), + ), + + // Divider + Divider(height: 1, thickness: 1, color: Colors.grey.shade100), + + // Action buttons + Padding( + padding: const EdgeInsets.all(12), + child: Row( + children: [ + Expanded( + child: _buildActionButton( + icon: Icons.info_outline, + label: 'Lihat Detail', + onPressed: () => controller.viewRentalDetail(rental), + iconColor: AppColors.info, + ), + ), + const SizedBox(width: 8), + Expanded( + child: _buildActionButton( + icon: Icons.cancel_outlined, + label: 'Batalkan', + onPressed: () => controller.cancelRental(rental['id']), + iconColor: AppColors.error, + ), + ), + ], + ), + ), + ], + ), + ); + } + + Widget _buildSelesaiTab() { + return Obx(() { + if (controller.isLoadingCompleted.value) { + return const Center( + child: Padding( + padding: EdgeInsets.all(20.0), + child: CircularProgressIndicator(), + ), + ); + } + + if (controller.completedRentals.isEmpty) { + return _buildTabContent( + icon: Icons.check_circle_outline, + title: 'Belum Ada Sewa Selesai', + subtitle: 'Anda belum memiliki riwayat sewa yang telah selesai', + buttonText: 'Lihat Aset', + onButtonPressed: () => Get.toNamed('/warga-aset'), + color: AppColors.info, + ); + } + + return SingleChildScrollView( + physics: const BouncingScrollPhysics(), + padding: const EdgeInsets.all(20), + child: Column( + children: controller.completedRentals + .map((rental) => Padding( + padding: const EdgeInsets.only(bottom: 16.0), + child: _buildSelesaiRentalCard(rental), + )) + .toList(), + ), + ); + }); + } + + Widget _buildSelesaiRentalCard(Map rental) { + return Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: Column( + children: [ + // Header section with status + Container( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), + decoration: BoxDecoration( + color: AppColors.info.withOpacity(0.1), + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(16), + topRight: Radius.circular(16), + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Icon(Icons.task_alt_outlined, size: 18, color: AppColors.info), + const SizedBox(width: 8), + Text( + rental['status'] ?? 'SELESAI', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.bold, + color: AppColors.info, + ), + ), + ], + ), + ), + + // Asset details + Padding( + padding: const EdgeInsets.all(16), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Asset image with rounded corners + ClipRRect( + borderRadius: BorderRadius.circular(12), + child: rental['imageUrl'] != null && rental['imageUrl'].toString().startsWith('http') + ? Image.network( + rental['imageUrl'], + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ) + : Image.asset( + rental['imageUrl'] ?? 'assets/images/gambar_pendukung.jpg', + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ), + ), + const SizedBox(width: 16), + // Asset details + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + rental['name'] ?? 'Aset', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.primary, + ), + ), + const SizedBox(height: 4), + Text( + '${rental['jumlahUnit'] ?? 0} Unit', + style: TextStyle( + fontSize: 14, + color: Colors.grey.shade600, + ), + ), + const SizedBox(height: 8), + _buildInfoRow( + icon: Icons.calendar_today, + text: rental['rentangWaktu'] ?? '-', + ), + const SizedBox(height: 4), + _buildInfoRow( + icon: Icons.access_time, + text: rental['duration'] ?? '-', + ), + ], + ), + ), + ], + ), + ), + + // Divider + Divider( + color: Colors.grey.shade200, + thickness: 1, + height: 1, + ), + + // Price section + Padding( + padding: const EdgeInsets.all(16), + child: Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'Total', + style: TextStyle( + fontSize: 14, + color: Colors.grey.shade600, + ), + ), + Text( + rental['totalPrice'] ?? 'Rp 0', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.primary, + ), + ), + ], + ), + const SizedBox(height: 16), + SizedBox( + width: double.infinity, + child: _buildActionButton( + icon: Icons.info_outline, + label: 'Lihat Detail', + onPressed: () => controller.viewRentalDetail(rental), + iconColor: AppColors.info, + ), + ), + ], + ), + ), + ], + ), + ); + } + + Widget _buildDibatalkanTab() { + return Obx(() { + if (controller.isLoadingCancelled.value) { + return const Center( + child: Padding( + padding: EdgeInsets.all(20.0), + child: CircularProgressIndicator(), + ), + ); + } + + if (controller.cancelledRentals.isEmpty) { + return _buildTabContent( + icon: Icons.cancel_outlined, + title: 'Belum Ada Sewa Dibatalkan', + subtitle: 'Anda belum memiliki riwayat sewa yang dibatalkan', + buttonText: 'Lihat Aset', + onButtonPressed: () => Get.toNamed('/warga-aset'), + color: AppColors.error, + ); + } + + return SingleChildScrollView( + physics: const BouncingScrollPhysics(), + padding: const EdgeInsets.all(20), + child: Column( + children: controller.cancelledRentals + .map((rental) => Padding( + padding: const EdgeInsets.only(bottom: 16.0), + child: _buildDibatalkanRentalCard(rental), + )) + .toList(), + ), + ); + }); + } + + Widget _buildDibatalkanRentalCard(Map rental) { + return Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: Column( + children: [ + // Header section with status + Container( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), + decoration: BoxDecoration( + color: AppColors.error.withOpacity(0.1), + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(16), + topRight: Radius.circular(16), + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Icon(Icons.cancel_outlined, size: 18, color: AppColors.error), + const SizedBox(width: 8), + Text( + rental['status'] ?? 'DIBATALKAN', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.bold, + color: AppColors.error, + ), + ), + ], + ), + ), + + // Asset details + Padding( + padding: const EdgeInsets.all(16), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Asset image with rounded corners + ClipRRect( + borderRadius: BorderRadius.circular(12), + child: rental['imageUrl'] != null && rental['imageUrl'].toString().startsWith('http') + ? Image.network( + rental['imageUrl'], + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ) + : Image.asset( + rental['imageUrl'] ?? 'assets/images/gambar_pendukung.jpg', + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ), + ), + const SizedBox(width: 16), + // Asset details + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + rental['name'] ?? 'Aset', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.primary, + ), + ), + const SizedBox(height: 4), + Text( + '${rental['jumlahUnit'] ?? 0} Unit', + style: TextStyle( + fontSize: 14, + color: Colors.grey.shade600, + ), + ), + const SizedBox(height: 8), + _buildInfoRow( + icon: Icons.calendar_today, + text: rental['rentangWaktu'] ?? '-', + ), + const SizedBox(height: 4), + _buildInfoRow( + icon: Icons.access_time, + text: rental['duration'] ?? '-', + ), + if (rental['alasanPembatalan'] != null && rental['alasanPembatalan'] != '-') + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: _buildInfoRow( + icon: Icons.info_outline, + text: 'Alasan: ${rental['alasanPembatalan']}', + ), + ), + ], + ), + ), + ], + ), + ), + + // Divider + Divider( + color: Colors.grey.shade200, + thickness: 1, + height: 1, + ), + + // Price section + Padding( + padding: const EdgeInsets.all(16), + child: Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'Total', + style: TextStyle( + fontSize: 14, + color: Colors.grey.shade600, + ), + ), + Text( + rental['totalPrice'] ?? 'Rp 0', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.primary, + ), + ), + ], + ), + const SizedBox(height: 16), + Row( + children: [ + Expanded( + child: _buildActionButton( + icon: Icons.info_outline, + label: 'Lihat Detail', + onPressed: () => controller.viewRentalDetail(rental), + iconColor: AppColors.info, + ), + ), + const SizedBox(width: 8), + Expanded( + child: _buildActionButton( + icon: Icons.refresh, + label: 'Pesan Kembali', + onPressed: () {}, + iconColor: AppColors.success, + ), + ), + ], + ), + ], + ), + ), + ], + ), + ); + } + + Widget _buildTabContent({ + required IconData icon, + required String title, + required String subtitle, + required String buttonText, + required VoidCallback onButtonPressed, + required Color color, + }) { + return SingleChildScrollView( + physics: const BouncingScrollPhysics(), + child: Padding( + padding: const EdgeInsets.all(24.0), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const SizedBox(height: 40), + Container( + padding: const EdgeInsets.all(28), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(24), + boxShadow: [ + BoxShadow( + color: color.withOpacity(0.08), + blurRadius: 16, + offset: const Offset(0, 4), + spreadRadius: 2, + ), + ], + ), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Container( + padding: const EdgeInsets.all(20), + decoration: BoxDecoration( + color: color.withOpacity(0.1), + shape: BoxShape.circle, + ), + child: Icon(icon, size: 60, color: color), + ), + const SizedBox(height: 28), + Text( + title, + style: TextStyle( + fontSize: 20, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + textAlign: TextAlign.center, + ), + const SizedBox(height: 12), + Text( + subtitle, + style: TextStyle( + fontSize: 16, + color: AppColors.textSecondary, + ), + textAlign: TextAlign.center, + ), + const SizedBox(height: 36), + SizedBox( + width: double.infinity, + height: 54, + child: ElevatedButton( + onPressed: onButtonPressed, + style: ElevatedButton.styleFrom( + backgroundColor: color, + foregroundColor: Colors.white, + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16), + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon(Icons.add_circle_outline, size: 20), + const SizedBox(width: 10), + Text( + buttonText, + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + ), + ), + ], + ), + ), + ), + ], + ), + ), + const SizedBox(height: 24), + // Tips section + _buildTipsSection(), + ], + ), + ), + ); + } + + Widget _buildTipsSection() { + return Container( + padding: const EdgeInsets.all(20), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.grey.withOpacity(0.08), + blurRadius: 12, + offset: const Offset(0, 3), + ), + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Icon(Icons.lightbulb_outline, color: AppColors.warning), + const SizedBox(width: 8), + Text( + 'Tips & Informasi', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + ], + ), + const SizedBox(height: 12), + _buildTipItem( + icon: Icons.schedule, + title: 'Pembayaran dalam 1 jam', + description: + 'Lakukan pembayaran dalam 1 jam untuk menghindari pembatalan otomatis.', + ), + ], + ), + ); + } + + Widget _buildTipItem({ + required IconData icon, + required String title, + required String description, + }) { + return Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Container( + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: AppColors.info.withOpacity(0.1), + borderRadius: BorderRadius.circular(8), + ), + child: Icon(icon, size: 18, color: AppColors.info), + ), + const SizedBox(width: 12), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + title, + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w600, + color: AppColors.textPrimary, + ), + ), + const SizedBox(height: 4), + Text( + description, + style: TextStyle(fontSize: 13, color: AppColors.textSecondary), + ), + ], + ), + ), + ], + ); + } + + Widget _buildTipsSectionDiterima() { + return Container( + padding: const EdgeInsets.all(20), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.grey.withOpacity(0.08), + blurRadius: 12, + offset: const Offset(0, 3), + ), + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Icon(Icons.lightbulb_outline, color: AppColors.warning), + const SizedBox(width: 8), + Text( + 'Tips & Informasi', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + ], + ), + const SizedBox(height: 12), + _buildTipItem( + icon: Icons.access_time, + title: 'Pengembalian Tepat Waktu', + description: + 'Lakukan pengembalian aset sebelum waktu sewa berakhir agar tidak dikenakan denda.', + ), + ], + ), + ); + } +} diff --git a/lib/app/modules/warga/views/warga_sewa_view.dart.bak b/lib/app/modules/warga/views/warga_sewa_view.dart.bak new file mode 100644 index 0000000..3e5b7cf --- /dev/null +++ b/lib/app/modules/warga/views/warga_sewa_view.dart.bak @@ -0,0 +1,2851 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/gestures.dart'; +import 'package:get/get.dart'; +import '../controllers/warga_sewa_controller.dart'; +import '../views/warga_layout.dart'; +import '../../../services/navigation_service.dart'; +import '../../../widgets/app_drawer.dart'; +import '../../../theme/app_colors.dart'; + +class WargaSewaView extends GetView { + const WargaSewaView({super.key}); + + @override + Widget build(BuildContext context) { + final navigationService = Get.find(); + + return WargaLayout( + drawer: AppDrawer( + onNavItemTapped: controller.onNavItemTapped, + onLogout: () { + Get.find().toLogin(); + }, + ), + appBar: AppBar( + backgroundColor: AppColors.primary, + elevation: 0, + title: const Text( + 'Sewa Aset Saya', + style: TextStyle( + color: Colors.white, + fontSize: 20, + fontWeight: FontWeight.w600, + ), + ), + centerTitle: true, + bottom: PreferredSize( + preferredSize: const Size.fromHeight(60), + child: _buildTabBar(), + ), + ), + body: Column( + children: [ + Expanded( + child: TabBarView( + controller: controller.tabController, + physics: const PageScrollPhysics(), + dragStartBehavior: DragStartBehavior.start, + children: [ + _buildBelumBayarTab(), + _buildPendingTab(), + _buildDiterimaTab(), + _buildAktifTab(), + _buildSelesaiTab(), + _buildDibatalkanTab(), + ], + ), + ), + ], + ), + floatingActionButton: Container( + margin: const EdgeInsets.only(bottom: 16, right: 16), + decoration: BoxDecoration( + boxShadow: [ + BoxShadow( + color: AppColors.primary.withOpacity(0.3), + blurRadius: 12, + offset: const Offset(0, 4), + spreadRadius: 0, + ), + ], + borderRadius: BorderRadius.circular(16), + ), + child: FloatingActionButton.extended( + onPressed: () => controller.navigateToRentals(), + backgroundColor: AppColors.primary, + elevation: 0, + icon: const Icon( + Icons.add_circle_outline, + size: 20, + color: Colors.white, + ), + label: const Text( + 'Sewa Baru', + style: TextStyle( + fontWeight: FontWeight.w600, + letterSpacing: 0.5, + color: Colors.white, + ), + ), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16), + ), + ), + ), + floatingActionButtonLocation: FloatingActionButtonLocation.endFloat, + ); + } + + Widget _buildTabBar() { + return Container( + width: double.infinity, + height: 60, + decoration: BoxDecoration( + color: Colors.white, + border: Border(bottom: BorderSide(color: Colors.grey.shade200)), + ), + child: TabBar( + controller: controller.tabController, + labelColor: AppColors.primary, + unselectedLabelColor: Colors.grey.shade600, + indicatorColor: AppColors.primary, + indicatorWeight: 3, + indicatorSize: TabBarIndicatorSize.label, + labelPadding: const EdgeInsets.symmetric(horizontal: 16), + padding: const EdgeInsets.symmetric(horizontal: 8), + isScrollable: true, + tabs: [ + _buildTab(text: 'Belum Bayar', icon: Icons.payment_outlined), + _buildTab(text: 'Pending', icon: Icons.hourglass_empty_outlined), + _buildTab(text: 'Diterima', icon: Icons.check_circle_outline), + _buildTab(text: 'Aktif', icon: Icons.play_circle_outline), + _buildTab(text: 'Selesai', icon: Icons.task_alt_outlined), + _buildTab(text: 'Dibatalkan', icon: Icons.cancel_outlined), + ], + ), + ); + } + + Widget _buildTab({required String text, required IconData icon}) { + return Tab( + height: 60, + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Icon(icon, size: 20), + const SizedBox(width: 8), + Text( + text, + style: const TextStyle(fontSize: 14, fontWeight: FontWeight.w500), + ), + ], + ), + ); + } + + Widget _buildBelumBayarTab() { + return Obx(() { + // Show loading indicator while fetching data + if (controller.isLoading.value) { + return const Center( + child: CircularProgressIndicator(), + ); + } + + // Check if there is any data to display + if (controller.rentals.isNotEmpty) { + return SingleChildScrollView( + physics: const BouncingScrollPhysics(), + padding: const EdgeInsets.all(20), + child: Column( + children: [ + // Build a card for each rental item + ...controller.rentals.map((rental) => Column( + children: [ + _buildUnpaidRentalCard(rental), + const SizedBox(height: 20), + ], + )).toList(), + _buildTipsSection(), + ], + ), + ); + } + + // Return empty state if no data + return _buildTabContent( + icon: Icons.payment_outlined, + title: 'Belum ada pembayaran', + subtitle: 'Tidak ada sewa yang menunggu pembayaran', + buttonText: 'Sewa Sekarang', + onButtonPressed: () => controller.navigateToRentals(), + color: AppColors.primary, + ); + }); + } + + Widget _buildPendingTab() { + return Obx(() { + // Show loading indicator while fetching data + if (controller.isLoadingPending.value) { + return const Center( + child: CircularProgressIndicator(), + ); + } + + // Check if there is any data to display + if (controller.pendingRentals.isNotEmpty) { + return SingleChildScrollView( + physics: const BouncingScrollPhysics(), + padding: const EdgeInsets.all(20), + child: Column( + children: [ + // Build a card for each pending rental item + ...controller.pendingRentals.map((rental) => Column( + children: [ + _buildPendingRentalCard(rental), + const SizedBox(height: 20), + ], + )).toList(), + _buildTipsSectionPending(), + ], + ), + ); + } + + // Return empty state if no data + return _buildTabContent( + icon: Icons.hourglass_empty_outlined, + title: 'Tidak ada pembayaran pending', + subtitle: 'Pembayaran yang sedang diverifikasi akan muncul di sini', + buttonText: 'Sewa Sekarang', + onButtonPressed: () => controller.navigateToRentals(), + color: Colors.orange, + ); + }); + } + + Widget _buildAktifTab() { + return Obx(() { + // Show loading indicator while fetching data + if (controller.isLoadingActive.value) { + return const Center( + child: CircularProgressIndicator(), + ); + } + + // Check if there is any data to display + if (controller.activeRentals.isNotEmpty) { + return SingleChildScrollView( + physics: const BouncingScrollPhysics(), + padding: const EdgeInsets.all(20), + child: Column( + children: [ + // Build a card for each active rental item + ...controller.activeRentals.map((rental) => Column( + children: [ + _buildAktifRentalCard(rental), + const SizedBox(height: 20), + ], + )).toList(), + _buildTipsSectionAktif(), + ], + ), + ); + } + + // Return empty state if no data + return _buildTabContent( + icon: Icons.play_circle_outline, + title: 'Tidak ada sewa aktif', + subtitle: 'Sewa yang sedang berlangsung akan muncul di sini', + buttonText: 'Sewa Sekarang', + onButtonPressed: () => controller.navigateToRentals(), + color: Colors.blue, + ); + }); + } + + Widget _buildPendingRentalCard(Map rental) { + return Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: Column( + children: [ + // Header section with status + Container( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), + decoration: BoxDecoration( + color: Colors.orange.withOpacity(0.1), + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(16), + topRight: Radius.circular(16), + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + const Icon( + Icons.hourglass_empty_outlined, + size: 18, + color: Colors.orange, + ), + const SizedBox(width: 8), + Text( + rental['status'] ?? 'PERIKSA PEMBAYARAN', + style: const TextStyle( + fontSize: 13, + fontWeight: FontWeight.bold, + color: Colors.orange, + ), + ), + ], + ), + ), + + // Asset details + Padding( + padding: const EdgeInsets.all(16), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Asset image with rounded corners + ClipRRect( + borderRadius: BorderRadius.circular(12), + child: rental['imageUrl'] != null && rental['imageUrl'].toString().startsWith('http') + ? Image.network( + rental['imageUrl'], + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ) + : Image.asset( + rental['imageUrl'] ?? 'assets/images/gambar_pendukung.jpg', + width: 90, + height: 90, + fit: BoxFit.cover, + ), + ), + const SizedBox(width: 16), + // Asset details + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + rental['name'] ?? 'Nama Aset', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + const SizedBox(height: 8), + _buildInfoRow( + icon: Icons.inventory_2_outlined, + text: '${rental['jumlahUnit'] ?? 0} Unit', + ), + const SizedBox(height: 6), + _buildInfoRow( + icon: Icons.calendar_today_outlined, + text: rental['tanggalSewa'] ?? '', + ), + const SizedBox(height: 6), + _buildInfoRow( + icon: Icons.schedule, + text: rental['rentangWaktu'] ?? '', + ), + const SizedBox(height: 12), + // Verification status + Container( + padding: const EdgeInsets.symmetric( + horizontal: 10, + vertical: 6, + ), + decoration: BoxDecoration( + color: Colors.orange.withOpacity(0.1), + borderRadius: BorderRadius.circular(8), + border: Border.all( + color: Colors.orange.withOpacity(0.3), + width: 1, + ), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + const Icon( + Icons.pending_outlined, + size: 14, + color: Colors.orange, + ), + const SizedBox(width: 4), + const Text( + 'Menunggu verifikasi', + style: TextStyle( + fontSize: 12, + fontWeight: FontWeight.bold, + color: Colors.orange, + ), + ), + ], + ), + ), + ], + ), + ), + ], + ), + ), + + // Divider + Divider(height: 1, thickness: 1, color: Colors.grey.shade100), + + // Price section + Padding( + padding: const EdgeInsets.fromLTRB(16, 12, 16, 12), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Total Bayar', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.w500, + color: AppColors.textSecondary, + ), + ), + const SizedBox(height: 2), + Text( + rental['totalPrice'] ?? 'Rp 0', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + ], + ), + // View detail button + ElevatedButton( + onPressed: () => controller.viewRentalDetail(rental), + style: ElevatedButton.styleFrom( + backgroundColor: Colors.orange, + foregroundColor: Colors.white, + elevation: 0, + padding: const EdgeInsets.symmetric( + horizontal: 20, + vertical: 10, + ), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + ), + child: const Text( + 'Lihat Detail', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w600, + ), + ), + ), + ], + ), + ), + ], + ), + ); + } + + Widget _buildAktifRentalCard(Map rental) { + return Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: Column( + children: [ + // Header section with status + Container( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), + decoration: BoxDecoration( + color: Colors.blue.withOpacity(0.1), + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(16), + topRight: Radius.circular(16), + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + const Icon( + Icons.play_circle_outline, + size: 18, + color: Colors.blue, + ), + const SizedBox(width: 8), + Text( + rental['status'] ?? 'AKTIF', + style: const TextStyle( + fontSize: 13, + fontWeight: FontWeight.bold, + color: Colors.blue, + ), + ), + ], + ), + ), + + // Asset details + Padding( + padding: const EdgeInsets.all(16), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Asset image with rounded corners + ClipRRect( + borderRadius: BorderRadius.circular(12), + child: rental['imageUrl'] != null && rental['imageUrl'].toString().startsWith('http') + ? Image.network( + rental['imageUrl'], + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ) + : Image.asset( + rental['imageUrl'] ?? 'assets/images/gambar_pendukung.jpg', + width: 90, + height: 90, + fit: BoxFit.cover, + ), + ), + const SizedBox(width: 16), + // Asset details + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + rental['name'] ?? 'Nama Aset', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + const SizedBox(height: 8), + _buildInfoRow( + icon: Icons.inventory_2_outlined, + text: '${rental['jumlahUnit'] ?? 0} Unit', + ), + const SizedBox(height: 6), + _buildInfoRow( + icon: Icons.calendar_today_outlined, + text: rental['tanggalSewa'] ?? '', + ), + const SizedBox(height: 6), + _buildInfoRow( + icon: Icons.schedule, + text: rental['rentangWaktu'] ?? '', + ), + const SizedBox(height: 12), + // Active status + Container( + padding: const EdgeInsets.symmetric( + horizontal: 10, + vertical: 6, + ), + decoration: BoxDecoration( + color: Colors.blue.withOpacity(0.1), + borderRadius: BorderRadius.circular(8), + border: Border.all( + color: Colors.blue.withOpacity(0.3), + width: 1, + ), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + const Icon( + Icons.access_time_filled, + size: 14, + color: Colors.blue, + ), + const SizedBox(width: 4), + const Text( + 'Sedang berlangsung', + style: TextStyle( + fontSize: 12, + fontWeight: FontWeight.bold, + color: Colors.blue, + ), + ), + ], + ), + ), + ], + ), + ), + ], + ), + ), + + // Divider + Divider(height: 1, thickness: 1, color: Colors.grey.shade100), + + // Price section + Padding( + padding: const EdgeInsets.fromLTRB(16, 12, 16, 12), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Total Bayar', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.w500, + color: AppColors.textSecondary, + ), + ), + const SizedBox(height: 2), + Text( + rental['totalPrice'] ?? 'Rp 0', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + ], + ), + // View detail button + ElevatedButton( + onPressed: () => controller.viewRentalDetail(rental), + style: ElevatedButton.styleFrom( + backgroundColor: Colors.blue, + foregroundColor: Colors.white, + elevation: 0, + padding: const EdgeInsets.symmetric( + horizontal: 20, + vertical: 10, + ), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + ), + child: const Text( + 'Lihat Detail', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w600, + ), + ), + ), + ], + ), + ), + ], + ), + ); + } + + Widget _buildUnpaidRentalCard(Map rental) { + // Determine status color based on status + final bool isPembayaranDenda = rental['status'] == 'PEMBAYARAN DENDA'; + final Color statusColor = isPembayaranDenda ? AppColors.error : AppColors.warning; + + return Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: Column( + children: [ + // Header section with status + Container( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), + decoration: BoxDecoration( + color: statusColor.withOpacity(0.1), + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(16), + topRight: Radius.circular(16), + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Icon( + isPembayaranDenda ? Icons.warning_amber_rounded : Icons.access_time_rounded, + size: 18, + color: statusColor, + ), + const SizedBox(width: 8), + Text( + rental['status'] ?? 'MENUNGGU PEMBAYARAN', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.bold, + color: statusColor, + ), + ), + ], + ), + ), + + // Asset details + Padding( + padding: const EdgeInsets.all(16), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Asset image with rounded corners + ClipRRect( + borderRadius: BorderRadius.circular(12), + child: rental['imageUrl'] != null && rental['imageUrl'].toString().startsWith('http') + ? Image.network( + rental['imageUrl'], + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ) + : Image.asset( + rental['imageUrl'] ?? 'assets/images/gambar_pendukung.jpg', + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ), + ), + const SizedBox(width: 16), + // Asset details + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + rental['name'] ?? 'Aset', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + const SizedBox(height: 8), + _buildInfoRow( + icon: Icons.inventory_2_outlined, + text: '${rental['jumlahUnit'] ?? 0} Unit', + ), + const SizedBox(height: 6), + _buildInfoRow( + icon: Icons.calendar_today_outlined, + text: rental['tanggalSewa'] ?? '', + ), + const SizedBox(height: 6), + _buildInfoRow( + icon: Icons.schedule, + text: rental['rentangWaktu'] ?? '', + ), + const SizedBox(height: 12), + // Countdown timer + Container( + padding: const EdgeInsets.symmetric( + horizontal: 10, + vertical: 6, + ), + decoration: BoxDecoration( + color: AppColors.error.withOpacity(0.1), + borderRadius: BorderRadius.circular(8), + border: Border.all( + color: AppColors.error.withOpacity(0.3), + width: 1, + ), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Icon( + Icons.timer_outlined, + size: 14, + color: AppColors.error, + ), + const SizedBox(width: 4), + Text( + 'Bayar dalam ${rental['countdown'] ?? '00:59:59'}', + style: TextStyle( + fontSize: 12, + fontWeight: FontWeight.bold, + color: AppColors.error, + ), + ), + ], + ), + ), + ], + ), + ), + ], + ), + ), + + // Divider + Divider(height: 1, thickness: 1, color: Colors.grey.shade100), + + // Price section + Padding( + padding: const EdgeInsets.fromLTRB(16, 12, 16, 12), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Total Bayar', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.w500, + color: AppColors.textSecondary, + ), + ), + const SizedBox(height: 2), + Text( + rental['totalPrice'] ?? 'Rp 0', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + ], + ), + // Pay button + ElevatedButton( + onPressed: () {}, + style: ElevatedButton.styleFrom( + backgroundColor: rental['status'] == 'PEMBAYARAN DENDA' ? AppColors.error : AppColors.warning, + foregroundColor: Colors.white, + elevation: 0, + padding: const EdgeInsets.symmetric( + horizontal: 20, + vertical: 10, + ), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + ), + child: Text( + rental['status'] == 'PEMBAYARAN DENDA' ? 'Bayar Denda' : 'Bayar Sekarang', + style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 14), + ), + ), + ], + ), + ), + + // Divider + Divider(height: 1, thickness: 1, color: Colors.grey.shade100), + + // Action buttons + Padding( + padding: const EdgeInsets.all(12), + child: Row( + children: [ + Expanded( + child: _buildActionButton( + icon: Icons.info_outline, + label: 'Lihat Detail', + onPressed: () => controller.viewRentalDetail(rental), + iconColor: AppColors.info, + ), + ), + const SizedBox(width: 8), + Expanded( + child: _buildActionButton( + icon: Icons.cancel_outlined, + label: 'Batalkan', + onPressed: () => controller.cancelRental(rental['id']), + iconColor: AppColors.error, + ), + ), + ], + ), + ), + ], + ), + ); + } + + Widget _buildInfoRow({required IconData icon, required String text}) { + return Row( + children: [ + Icon(icon, size: 14, color: AppColors.textSecondary), + const SizedBox(width: 6), + Text( + text, + style: TextStyle(fontSize: 13, color: AppColors.textSecondary), + ), + ], + ); + } + + Widget _buildActionButton({ + required IconData icon, + required String label, + required VoidCallback onPressed, + required Color iconColor, + }) { + return TextButton.icon( + onPressed: onPressed, + icon: Icon(icon, size: 16, color: iconColor), + label: Text( + label, + style: TextStyle( + color: AppColors.textPrimary, + fontSize: 13, + fontWeight: FontWeight.w500, + ), + ), + style: TextButton.styleFrom( + padding: const EdgeInsets.symmetric(vertical: 8), + minimumSize: Size.zero, + tapTargetSize: MaterialTapTargetSize.shrinkWrap, + ), + ); + } + + Widget _buildDiterimaTab() { + return Obx(() { + // Show loading indicator while fetching data + if (controller.isLoadingAccepted.value) { + return const Center( + child: CircularProgressIndicator(), + ); + } + + // Check if there is any data to display + if (controller.acceptedRentals.isNotEmpty) { + return SingleChildScrollView( + physics: const BouncingScrollPhysics(), + padding: const EdgeInsets.all(20), + child: Column( + children: [ + // Build a card for each accepted rental item + ...controller.acceptedRentals.map((rental) => Column( + children: [ + _buildDiterimaRentalCard(rental), + const SizedBox(height: 20), + ], + )).toList(), + _buildTipsSectionDiterima(), + ], + ), + ); + } + + // Return empty state if no data + return _buildTabContent( + icon: Icons.check_circle_outline, + title: 'Belum ada sewa diterima', + subtitle: 'Sewa yang sudah diterima akan muncul di sini', + buttonText: 'Sewa Sekarang', + onButtonPressed: () => controller.navigateToRentals(), + color: AppColors.success, + ); + }); + } + + Widget _buildAktifTab() { + return Obx(() { + // Show loading indicator while fetching data + if (controller.isLoadingActive.value) { + return const Center( + child: CircularProgressIndicator(), + ); + } + + // Check if there is any data to display + if (controller.activeRentals.isNotEmpty) { + return SingleChildScrollView( + physics: const BouncingScrollPhysics(), + padding: const EdgeInsets.all(20), + child: Column( + children: [ + // Build a card for each active rental item + ...controller.activeRentals.map((rental) => Column( + children: [ + _buildAktifRentalCard(rental), + const SizedBox(height: 20), + ], + )).toList(), + _buildTipsSectionAktif(), + ], + ), + ); + } + + // Return empty state if no data + return _buildTabContent( + icon: Icons.play_circle_outline, + title: 'Tidak ada sewa aktif', + subtitle: 'Sewa yang sedang berlangsung akan muncul di sini', + buttonText: 'Sewa Sekarang', + onButtonPressed: () => controller.navigateToRentals(), + color: Colors.blue, + ); + }); + } + + Widget _buildDiterimaRentalCard(Map rental) { + return Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: Column( + children: [ + // Header section with status + Container( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), + decoration: BoxDecoration( + color: AppColors.success.withOpacity(0.1), + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(16), + topRight: Radius.circular(16), + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Icon( + Icons.check_circle_outline, + size: 18, + color: AppColors.success, + ), + const SizedBox(width: 8), + Text( + rental['status'] ?? 'DITERIMA', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.bold, + color: AppColors.success, + ), + ), + ], + ), + ), + + // Asset details + Padding( + padding: const EdgeInsets.all(16), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Asset image with rounded corners + ClipRRect( + borderRadius: BorderRadius.circular(12), + child: rental['imageUrl'] != null && rental['imageUrl'].toString().startsWith('http') + ? Image.network( + rental['imageUrl'], + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ) + : Image.asset( + rental['imageUrl'] ?? 'assets/images/gambar_pendukung.jpg', + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ), + ), + const SizedBox(width: 16), + // Asset details + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + rental['name'] ?? 'Aset', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + const SizedBox(height: 8), + _buildInfoRow( + icon: Icons.inventory_2_outlined, + text: '${rental['jumlahUnit'] ?? 0} Unit', + ), + const SizedBox(height: 6), + _buildInfoRow( + icon: Icons.calendar_today_outlined, + text: rental['tanggalSewa'] ?? '', + ), + const SizedBox(height: 6), + _buildInfoRow( + icon: Icons.schedule, + text: rental['rentangWaktu'] ?? '', + ), + ], + ), + ), + ], + ), + ), + + // Divider + Divider(height: 1, thickness: 1, color: Colors.grey.shade100), + + // Price section + Padding( + padding: const EdgeInsets.fromLTRB(16, 12, 16, 12), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Total Bayar', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.w500, + color: AppColors.textSecondary, + ), + ), + const SizedBox(height: 2), + Text( + rental['totalPrice'] ?? 'Rp 0', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + ], + ), + ], + ), + ), + + // Divider + Divider(height: 1, thickness: 1, color: Colors.grey.shade100), + + // Action buttons + Padding( + padding: const EdgeInsets.all(12), + child: Row( + children: [ + Expanded( + child: _buildActionButton( + icon: Icons.info_outline, + label: 'Lihat Detail', + onPressed: () => controller.viewRentalDetail(rental), + iconColor: AppColors.info, + ), + ), + const SizedBox(width: 8), + Expanded( + child: _buildActionButton( + icon: Icons.cancel_outlined, + label: 'Batalkan', + onPressed: () => controller.cancelRental(rental['id']), + iconColor: AppColors.error, + ), + ), + ], + ), + ), + ], + ), + ); + } + + Widget _buildSelesaiTab() { + return Obx(() { + if (controller.isLoadingCompleted.value) { + return const Center( + child: Padding( + padding: EdgeInsets.all(20.0), + child: CircularProgressIndicator(), + ), + ); + } + + if (controller.completedRentals.isEmpty) { + return _buildTabContent( + icon: Icons.check_circle_outline, + title: 'Belum Ada Sewa Selesai', + subtitle: 'Anda belum memiliki riwayat sewa yang telah selesai', + buttonText: 'Lihat Aset', + onButtonPressed: () => Get.toNamed('/warga-aset'), + color: AppColors.info, + ); + } + + return SingleChildScrollView( + physics: const BouncingScrollPhysics(), + padding: const EdgeInsets.all(20), + child: Column( + children: controller.completedRentals + .map((rental) => Padding( + padding: const EdgeInsets.only(bottom: 16.0), + child: _buildSelesaiRentalCard(rental), + )) + .toList(), + ), + ); + }); + } + + Widget _buildSelesaiRentalCard(Map rental) { + return Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: Column( + children: [ + // Header section with status + Container( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), + decoration: BoxDecoration( + color: AppColors.info.withOpacity(0.1), + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(16), + topRight: Radius.circular(16), + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Icon(Icons.task_alt_outlined, size: 18, color: AppColors.info), + const SizedBox(width: 8), + Text( + rental['status'] ?? 'SELESAI', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.bold, + color: AppColors.info, + ), + ), + ], + ), + ), + + // Asset details + Padding( + padding: const EdgeInsets.all(16), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Asset image with rounded corners + ClipRRect( + borderRadius: BorderRadius.circular(12), + child: rental['imageUrl'] != null && rental['imageUrl'].toString().startsWith('http') + ? Image.network( + rental['imageUrl'], + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ) + : Image.asset( + rental['imageUrl'] ?? 'assets/images/gambar_pendukung.jpg', + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ), + ), + const SizedBox(width: 16), + // Asset details + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + rental['name'] ?? 'Aset', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.primary, + ), + ), + const SizedBox(height: 4), + Text( + '${rental['jumlahUnit'] ?? 0} Unit', + style: TextStyle( + fontSize: 14, + color: Colors.grey.shade600, + ), + ), + const SizedBox(height: 8), + _buildInfoRow( + icon: Icons.calendar_today, + text: rental['rentangWaktu'] ?? '-', + ), + const SizedBox(height: 4), + _buildInfoRow( + icon: Icons.access_time, + text: rental['duration'] ?? '-', + ), + ], + ), + ), + ], + ), + ), + + // Divider + Divider( + color: Colors.grey.shade200, + thickness: 1, + height: 1, + ), + + // Price section + Padding( + padding: const EdgeInsets.all(16), + child: Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'Total', + style: TextStyle( + fontSize: 14, + color: Colors.grey.shade600, + ), + ), + Text( + rental['totalPrice'] ?? 'Rp 0', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.primary, + ), + ), + ], + ), + const SizedBox(height: 16), + SizedBox( + width: double.infinity, + child: _buildActionButton( + icon: Icons.info_outline, + label: 'Lihat Detail', + onPressed: () => controller.viewRentalDetail(rental), + iconColor: AppColors.info, + ), + ), + ], + ), + ), + ], + ), + ); + } + + Widget _buildDibatalkanTab() { + return Obx(() { + if (controller.isLoadingCancelled.value) { + return const Center( + child: Padding( + padding: EdgeInsets.all(20.0), + child: CircularProgressIndicator(), + ), + ); + } + + if (controller.cancelledRentals.isEmpty) { + return _buildTabContent( + icon: Icons.cancel_outlined, + title: 'Belum Ada Sewa Dibatalkan', + subtitle: 'Anda belum memiliki riwayat sewa yang dibatalkan', + buttonText: 'Lihat Aset', + onButtonPressed: () => Get.toNamed('/warga-aset'), + color: AppColors.error, + ); + } + + return SingleChildScrollView( + physics: const BouncingScrollPhysics(), + padding: const EdgeInsets.all(20), + child: Column( + children: controller.cancelledRentals + .map((rental) => Padding( + padding: const EdgeInsets.only(bottom: 16.0), + child: _buildDibatalkanRentalCard(rental), + )) + .toList(), + ), + ); + }); + } + + Widget _buildDibatalkanRentalCard(Map rental) { + return Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: Column( + children: [ + // Header section with status + Container( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), + decoration: BoxDecoration( + color: AppColors.error.withOpacity(0.1), + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(16), + topRight: Radius.circular(16), + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Icon(Icons.cancel_outlined, size: 18, color: AppColors.error), + const SizedBox(width: 8), + Text( + rental['status'] ?? 'DIBATALKAN', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.bold, + color: AppColors.error, + ), + ), + ], + ), + ), + + // Asset details + Padding( + padding: const EdgeInsets.all(16), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Asset image with rounded corners + ClipRRect( + borderRadius: BorderRadius.circular(12), + child: rental['imageUrl'] != null && rental['imageUrl'].toString().startsWith('http') + ? Image.network( + rental['imageUrl'], + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ) + : Image.asset( + rental['imageUrl'] ?? 'assets/images/gambar_pendukung.jpg', + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ), + ), + const SizedBox(width: 16), + // Asset details + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + rental['name'] ?? 'Aset', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.primary, + ), + ), + const SizedBox(height: 4), + Text( + '${rental['jumlahUnit'] ?? 0} Unit', + style: TextStyle( + fontSize: 14, + color: Colors.grey.shade600, + ), + ), + const SizedBox(height: 8), + _buildInfoRow( + icon: Icons.calendar_today, + text: rental['rentangWaktu'] ?? '-', + ), + const SizedBox(height: 4), + _buildInfoRow( + icon: Icons.access_time, + text: rental['duration'] ?? '-', + ), + if (rental['alasanPembatalan'] != null && rental['alasanPembatalan'] != '-') + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: _buildInfoRow( + icon: Icons.info_outline, + text: 'Alasan: ${rental['alasanPembatalan']}', + ), + ), + ], + ), + ), + ], + ), + ), + + // Divider + Divider( + color: Colors.grey.shade200, + thickness: 1, + height: 1, + ), + + // Price section + Padding( + padding: const EdgeInsets.all(16), + child: Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'Total', + style: TextStyle( + fontSize: 14, + color: Colors.grey.shade600, + ), + ), + Text( + rental['totalPrice'] ?? 'Rp 0', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.primary, + ), + ), + ], + ), + const SizedBox(height: 16), + Row( + children: [ + Expanded( + child: _buildActionButton( + icon: Icons.info_outline, + label: 'Lihat Detail', + onPressed: () => controller.viewRentalDetail(rental), + iconColor: AppColors.info, + ), + ), + const SizedBox(width: 8), + Expanded( + child: _buildActionButton( + icon: Icons.refresh, + label: 'Pesan Kembali', + onPressed: () {}, + iconColor: AppColors.success, + ), + ), + ], + ), + ], + ), + ), + ], + ), + ); + } + + Widget _buildTabContent({ + required IconData icon, + required String title, + required String subtitle, + required String buttonText, + required VoidCallback onButtonPressed, + required Color color, + }) { + return SingleChildScrollView( + physics: const BouncingScrollPhysics(), + child: Padding( + padding: const EdgeInsets.all(24.0), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const SizedBox(height: 40), + Container( + padding: const EdgeInsets.all(28), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(24), + boxShadow: [ + BoxShadow( + color: color.withOpacity(0.08), + blurRadius: 16, + offset: const Offset(0, 4), + spreadRadius: 2, + ), + ], + ), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Container( + padding: const EdgeInsets.all(20), + decoration: BoxDecoration( + color: color.withOpacity(0.1), + shape: BoxShape.circle, + ), + child: Icon(icon, size: 60, color: color), + ), + const SizedBox(height: 28), + Text( + title, + style: TextStyle( + fontSize: 20, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + textAlign: TextAlign.center, + ), + const SizedBox(height: 12), + Text( + subtitle, + style: TextStyle( + fontSize: 16, + color: AppColors.textSecondary, + ), + textAlign: TextAlign.center, + ), + const SizedBox(height: 36), + SizedBox( + width: double.infinity, + height: 54, + child: ElevatedButton( + onPressed: onButtonPressed, + style: ElevatedButton.styleFrom( + backgroundColor: color, + foregroundColor: Colors.white, + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16), + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon(Icons.add_circle_outline, size: 20), + const SizedBox(width: 10), + Text( + buttonText, + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + ), + ), + ], + ), + ), + ), + ], + ), + ), + const SizedBox(height: 24), + // Tips section + _buildTipsSection(), + ], + ), + ), + ); + } + + Widget _buildTipsSection() { + return Container( + padding: const EdgeInsets.all(20), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.grey.withOpacity(0.08), + blurRadius: 12, + offset: const Offset(0, 3), + ), + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Icon(Icons.lightbulb_outline, color: AppColors.warning), + const SizedBox(width: 8), + Text( + 'Tips & Informasi', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + ], + ), + const SizedBox(height: 12), + _buildTipItem( + icon: Icons.schedule, + title: 'Pembayaran dalam 1 jam', + description: + 'Lakukan pembayaran dalam 1 jam untuk menghindari pembatalan otomatis.', + ), + ], + ), + ); + } + + Widget _buildTipsSectionPending() { + return Container( + padding: const EdgeInsets.all(20), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.grey.withOpacity(0.08), + blurRadius: 12, + offset: const Offset(0, 3), + ), + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Icon(Icons.lightbulb_outline, color: Colors.orange), + const SizedBox(width: 8), + Text( + 'Tips Verifikasi', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + ], + ), + const SizedBox(height: 12), + _buildTipItem( + icon: Icons.access_time, + title: 'Proses Verifikasi', + description: + 'Verifikasi pembayaran biasanya membutuhkan waktu 1-2 jam kerja.', + ), + const SizedBox(height: 12), + _buildTipItem( + icon: Icons.image_outlined, + title: 'Bukti Pembayaran', + description: + 'Pastikan bukti pembayaran yang diupload jelas dan terbaca.', + ), + ], + ), + ); + } + + Widget _buildTipsSectionAktif() { + return Container( + padding: const EdgeInsets.all(20), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.grey.withOpacity(0.08), + blurRadius: 12, + offset: const Offset(0, 3), + ), + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Icon(Icons.lightbulb_outline, color: Colors.blue), + const SizedBox(width: 8), + Text( + 'Tips Sewa Aktif', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + ], + ), + const SizedBox(height: 12), + _buildTipItem( + icon: Icons.rule_outlined, + title: 'Ketentuan Penggunaan', + description: + 'Gunakan aset sesuai dengan ketentuan yang berlaku.', + ), + const SizedBox(height: 12), + _buildTipItem( + icon: Icons.access_time, + title: 'Waktu Pengembalian', + description: + 'Kembalikan aset tepat waktu untuk menghindari denda.', + ), + ], + ), + ); + } + Widget _buildTipItem({ + required IconData icon, + required String title, + required String description, + }) { + return Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Container( + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: AppColors.info.withOpacity(0.1), + borderRadius: BorderRadius.circular(8), + ), + child: Icon(icon, size: 18, color: AppColors.info), + ), + const SizedBox(width: 12), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + title, + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w600, + color: AppColors.textPrimary, + ), + ), + const SizedBox(height: 4), + Text( + description, + style: TextStyle(fontSize: 13, color: AppColors.textSecondary), + ), + ], + ), + ), + ], + ); + } + + Widget _buildTipsSectionDiterima() { + return Container( + padding: const EdgeInsets.all(20), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.grey.withOpacity(0.08), + blurRadius: 12, + offset: const Offset(0, 3), + ), + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Icon(Icons.lightbulb_outline, color: AppColors.warning), + const SizedBox(width: 8), + Text( + 'Tips & Informasi', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + ], + ), + const SizedBox(height: 12), + _buildTipItem( + icon: Icons.access_time, + title: 'Pengembalian Tepat Waktu', + description: + 'Lakukan pengembalian aset sebelum waktu sewa berakhir agar tidak dikenakan denda.', + ), + ], + ), + ); + } +} + Widget _buildDiterimaTab() { + return Obx(() { + // Show loading indicator while fetching data + if (controller.isLoadingAccepted.value) { + return const Center( + child: CircularProgressIndicator(), + ); + } + + // Check if there is any data to display + if (controller.acceptedRentals.isNotEmpty) { + return SingleChildScrollView( + physics: const BouncingScrollPhysics(), + padding: const EdgeInsets.all(20), + child: Column( + children: [ + // Build a card for each accepted rental item + ...controller.acceptedRentals.map((rental) => Column( + children: [ + _buildAcceptedRentalCard(rental), + const SizedBox(height: 20), + ], + )).toList(), + _buildTipsSection(), + ], + ), + ); + } + + // Return empty state if no data + return _buildTabContent( + icon: Icons.check_circle_outline, + title: 'Belum ada pembayaran diterima', + subtitle: 'Pembayaran yang telah diverifikasi akan muncul di sini', + buttonText: 'Sewa Sekarang', + onButtonPressed: () => controller.navigateToRentals(), + color: AppColors.success, + ); + }); + } + + Widget _buildSelesaiTab() { + return Obx(() { + // Show loading indicator while fetching data + if (controller.isLoadingCompleted.value) { + return const Center( + child: CircularProgressIndicator(), + ); + } + + // Check if there is any data to display + if (controller.completedRentals.isNotEmpty) { + return SingleChildScrollView( + physics: const BouncingScrollPhysics(), + padding: const EdgeInsets.all(20), + child: Column( + children: [ + // Build a card for each completed rental item + ...controller.completedRentals.map((rental) => Column( + children: [ + _buildCompletedRentalCard(rental), + const SizedBox(height: 20), + ], + )).toList(), + _buildTipsSection(), + ], + ), + ); + } + + // Return empty state if no data + return _buildTabContent( + icon: Icons.task_alt_outlined, + title: 'Belum ada sewa selesai', + subtitle: 'Sewa yang telah selesai akan muncul di sini', + buttonText: 'Sewa Sekarang', + onButtonPressed: () => controller.navigateToRentals(), + color: AppColors.success, + ); + }); + } + + Widget _buildDibatalkanTab() { + return Obx(() { + // Show loading indicator while fetching data + if (controller.isLoadingCancelled.value) { + return const Center( + child: CircularProgressIndicator(), + ); + } + + // Check if there is any data to display + if (controller.cancelledRentals.isNotEmpty) { + return SingleChildScrollView( + physics: const BouncingScrollPhysics(), + padding: const EdgeInsets.all(20), + child: Column( + children: [ + // Build a card for each cancelled rental item + ...controller.cancelledRentals.map((rental) => Column( + children: [ + _buildCancelledRentalCard(rental), + const SizedBox(height: 20), + ], + )).toList(), + _buildTipsSection(), + ], + ), + ); + } + + // Return empty state if no data + return _buildTabContent( + icon: Icons.cancel_outlined, + title: 'Tidak ada sewa dibatalkan', + subtitle: 'Sewa yang dibatalkan akan muncul di sini', + buttonText: 'Sewa Sekarang', + onButtonPressed: () => controller.navigateToRentals(), + color: AppColors.error, + ); + }); + } + + Widget _buildAcceptedRentalCard(Map<String, dynamic> rental) { + return Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: Column( + children: [ + // Header section with status + Container( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), + decoration: BoxDecoration( + color: AppColors.success.withOpacity(0.1), + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(16), + topRight: Radius.circular(16), + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Icon( + Icons.check_circle_outline, + size: 18, + color: AppColors.success, + ), + const SizedBox(width: 8), + Text( + rental['status'] ?? 'PEMBAYARAN DITERIMA', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.bold, + color: AppColors.success, + ), + ), + ], + ), + ), + + // Asset details + Padding( + padding: const EdgeInsets.all(16), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Asset image with rounded corners + ClipRRect( + borderRadius: BorderRadius.circular(12), + child: rental['imageUrl'] != null && rental['imageUrl'].toString().startsWith('http') + ? Image.network( + rental['imageUrl'], + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ) + : Image.asset( + rental['imageUrl'] ?? 'assets/images/gambar_pendukung.jpg', + width: 90, + height: 90, + fit: BoxFit.cover, + ), + ), + const SizedBox(width: 16), + // Asset details + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + rental['name'] ?? 'Nama Aset', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + const SizedBox(height: 8), + _buildInfoRow( + icon: Icons.inventory_2_outlined, + text: '${rental['jumlahUnit'] ?? 0} Unit', + ), + const SizedBox(height: 6), + _buildInfoRow( + icon: Icons.calendar_today_outlined, + text: rental['tanggalSewa'] ?? '', + ), + const SizedBox(height: 6), + _buildInfoRow( + icon: Icons.schedule, + text: rental['rentangWaktu'] ?? '', + ), + const SizedBox(height: 12), + // Payment accepted status + Container( + padding: const EdgeInsets.symmetric( + horizontal: 10, + vertical: 6, + ), + decoration: BoxDecoration( + color: AppColors.success.withOpacity(0.1), + borderRadius: BorderRadius.circular(8), + border: Border.all( + color: AppColors.success.withOpacity(0.3), + width: 1, + ), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Icon( + Icons.check_circle, + size: 14, + color: AppColors.success, + ), + const SizedBox(width: 4), + Text( + 'Pembayaran diterima', + style: TextStyle( + fontSize: 12, + fontWeight: FontWeight.bold, + color: AppColors.success, + ), + ), + ], + ), + ), + ], + ), + ), + ], + ), + ), + + // Divider + Divider(height: 1, thickness: 1, color: Colors.grey.shade100), + + // Action section + Padding( + padding: const EdgeInsets.all(16), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + // Price + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Total Pembayaran', + style: TextStyle( + fontSize: 12, + color: Colors.grey.shade600, + ), + ), + const SizedBox(height: 2), + Text( + rental['totalPrice'] ?? 'Rp 0', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + ], + ), + // View detail button + ElevatedButton( + onPressed: () => controller.viewRentalDetail(rental), + style: ElevatedButton.styleFrom( + backgroundColor: AppColors.success, + foregroundColor: Colors.white, + elevation: 0, + padding: const EdgeInsets.symmetric( + horizontal: 20, + vertical: 10, + ), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + ), + child: const Text( + 'Lihat Detail', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w600, + ), + ), + ), + ], + ), + ), + ], + ), + ); + } + + Widget _buildCompletedRentalCard(Map<String, dynamic> rental) { + return Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: Column( + children: [ + // Header section with status + Container( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), + decoration: BoxDecoration( + color: AppColors.success.withOpacity(0.1), + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(16), + topRight: Radius.circular(16), + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Icon( + Icons.task_alt_outlined, + size: 18, + color: AppColors.success, + ), + const SizedBox(width: 8), + Text( + rental['status'] ?? 'SELESAI', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.bold, + color: AppColors.success, + ), + ), + ], + ), + ), + + // Asset details + Padding( + padding: const EdgeInsets.all(16), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Asset image with rounded corners + ClipRRect( + borderRadius: BorderRadius.circular(12), + child: rental['imageUrl'] != null && rental['imageUrl'].toString().startsWith('http') + ? Image.network( + rental['imageUrl'], + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ) + : Image.asset( + rental['imageUrl'] ?? 'assets/images/gambar_pendukung.jpg', + width: 90, + height: 90, + fit: BoxFit.cover, + ), + ), + const SizedBox(width: 16), + // Asset details + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + rental['name'] ?? 'Nama Aset', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + const SizedBox(height: 8), + _buildInfoRow( + icon: Icons.inventory_2_outlined, + text: '${rental['jumlahUnit'] ?? 0} Unit', + ), + const SizedBox(height: 6), + _buildInfoRow( + icon: Icons.calendar_today_outlined, + text: rental['tanggalSewa'] ?? '', + ), + const SizedBox(height: 6), + _buildInfoRow( + icon: Icons.schedule, + text: rental['rentangWaktu'] ?? '', + ), + const SizedBox(height: 12), + // Completed status + Container( + padding: const EdgeInsets.symmetric( + horizontal: 10, + vertical: 6, + ), + decoration: BoxDecoration( + color: AppColors.success.withOpacity(0.1), + borderRadius: BorderRadius.circular(8), + border: Border.all( + color: AppColors.success.withOpacity(0.3), + width: 1, + ), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Icon( + Icons.check_circle, + size: 14, + color: AppColors.success, + ), + const SizedBox(width: 4), + Text( + 'Sewa selesai', + style: TextStyle( + fontSize: 12, + fontWeight: FontWeight.bold, + color: AppColors.success, + ), + ), + ], + ), + ), + ], + ), + ), + ], + ), + ), + + // Divider + Divider(height: 1, thickness: 1, color: Colors.grey.shade100), + + // Action section + Padding( + padding: const EdgeInsets.all(16), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + // Price + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Total Pembayaran', + style: TextStyle( + fontSize: 12, + color: Colors.grey.shade600, + ), + ), + const SizedBox(height: 2), + Text( + rental['totalPrice'] ?? 'Rp 0', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + ], + ), + // View detail button + ElevatedButton( + onPressed: () => controller.viewRentalDetail(rental), + style: ElevatedButton.styleFrom( + backgroundColor: AppColors.success, + foregroundColor: Colors.white, + elevation: 0, + padding: const EdgeInsets.symmetric( + horizontal: 20, + vertical: 10, + ), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + ), + child: const Text( + 'Lihat Detail', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w600, + ), + ), + ), + ], + ), + ), + ], + ), + ); + } + + Widget _buildCancelledRentalCard(Map<String, dynamic> rental) { + return Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: Column( + children: [ + // Header section with status + Container( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), + decoration: BoxDecoration( + color: AppColors.error.withOpacity(0.1), + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(16), + topRight: Radius.circular(16), + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Icon( + Icons.cancel_outlined, + size: 18, + color: AppColors.error, + ), + const SizedBox(width: 8), + Text( + rental['status'] ?? 'DIBATALKAN', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.bold, + color: AppColors.error, + ), + ), + ], + ), + ), + + // Asset details + Padding( + padding: const EdgeInsets.all(16), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Asset image with rounded corners + ClipRRect( + borderRadius: BorderRadius.circular(12), + child: rental['imageUrl'] != null && rental['imageUrl'].toString().startsWith('http') + ? Image.network( + rental['imageUrl'], + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ) + : Image.asset( + rental['imageUrl'] ?? 'assets/images/gambar_pendukung.jpg', + width: 90, + height: 90, + fit: BoxFit.cover, + ), + ), + const SizedBox(width: 16), + // Asset details + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + rental['name'] ?? 'Nama Aset', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + const SizedBox(height: 8), + _buildInfoRow( + icon: Icons.inventory_2_outlined, + text: '${rental['jumlahUnit'] ?? 0} Unit', + ), + const SizedBox(height: 6), + _buildInfoRow( + icon: Icons.calendar_today_outlined, + text: rental['tanggalSewa'] ?? '', + ), + const SizedBox(height: 6), + _buildInfoRow( + icon: Icons.schedule, + text: rental['rentangWaktu'] ?? '', + ), + const SizedBox(height: 12), + // Cancelled status + Container( + padding: const EdgeInsets.symmetric( + horizontal: 10, + vertical: 6, + ), + decoration: BoxDecoration( + color: AppColors.error.withOpacity(0.1), + borderRadius: BorderRadius.circular(8), + border: Border.all( + color: AppColors.error.withOpacity(0.3), + width: 1, + ), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Icon( + Icons.cancel, + size: 14, + color: AppColors.error, + ), + const SizedBox(width: 4), + Text( + 'Sewa dibatalkan', + style: TextStyle( + fontSize: 12, + fontWeight: FontWeight.bold, + color: AppColors.error, + ), + ), + ], + ), + ), + ], + ), + ), + ], + ), + ), + + // Divider + Divider(height: 1, thickness: 1, color: Colors.grey.shade100), + + // Action section + Padding( + padding: const EdgeInsets.all(16), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + // Price + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Total Pembayaran', + style: TextStyle( + fontSize: 12, + color: Colors.grey.shade600, + ), + ), + const SizedBox(height: 2), + Text( + rental['totalPrice'] ?? 'Rp 0', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + ], + ), + // View detail button + ElevatedButton( + onPressed: () => controller.viewRentalDetail(rental), + style: ElevatedButton.styleFrom( + backgroundColor: AppColors.error, + foregroundColor: Colors.white, + elevation: 0, + padding: const EdgeInsets.symmetric( + horizontal: 20, + vertical: 10, + ), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + ), + child: const Text( + 'Lihat Detail', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w600, + ), + ), + ), + ], + ), + ), + ], + ), + ); + } + \ No newline at end of file diff --git a/lib/app/modules/warga/views/warga_sewa_view.dart.clean b/lib/app/modules/warga/views/warga_sewa_view.dart.clean new file mode 100644 index 0000000..13ef913 --- /dev/null +++ b/lib/app/modules/warga/views/warga_sewa_view.dart.clean @@ -0,0 +1,2851 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/gestures.dart'; +import 'package:get/get.dart'; +import '../controllers/warga_sewa_controller.dart'; +import '../views/warga_layout.dart'; +import '../../../services/navigation_service.dart'; +import '../../../widgets/app_drawer.dart'; +import '../../../theme/app_colors.dart'; + +class WargaSewaView extends GetView { + const WargaSewaView({super.key}); + + @override + Widget build(BuildContext context) { + final navigationService = Get.find(); + + return WargaLayout( + drawer: AppDrawer( + onNavItemTapped: controller.onNavItemTapped, + onLogout: () { + Get.find().toLogin(); + }, + ), + appBar: AppBar( + backgroundColor: AppColors.primary, + elevation: 0, + title: const Text( + 'Sewa Aset Saya', + style: TextStyle( + color: Colors.white, + fontSize: 20, + fontWeight: FontWeight.w600, + ), + ), + centerTitle: true, + bottom: PreferredSize( + preferredSize: const Size.fromHeight(60), + child: _buildTabBar(), + ), + ), + body: Column( + children: [ + Expanded( + child: TabBarView( + controller: controller.tabController, + physics: const PageScrollPhysics(), + dragStartBehavior: DragStartBehavior.start, + children: [ + _buildBelumBayarTab(), + _buildPendingTab(), + _buildDiterimaTab(), + _buildAktifTab(), + _buildSelesaiTab(), + _buildDibatalkanTab(), + ], + ), + ), + ], + ), + floatingActionButton: Container( + margin: const EdgeInsets.only(bottom: 16, right: 16), + decoration: BoxDecoration( + boxShadow: [ + BoxShadow( + color: AppColors.primary.withOpacity(0.3), + blurRadius: 12, + offset: const Offset(0, 4), + spreadRadius: 0, + ), + ], + borderRadius: BorderRadius.circular(16), + ), + child: FloatingActionButton.extended( + onPressed: () => controller.navigateToRentals(), + backgroundColor: AppColors.primary, + elevation: 0, + icon: const Icon( + Icons.add_circle_outline, + size: 20, + color: Colors.white, + ), + label: const Text( + 'Sewa Baru', + style: TextStyle( + fontWeight: FontWeight.w600, + letterSpacing: 0.5, + color: Colors.white, + ), + ), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16), + ), + ), + ), + floatingActionButtonLocation: FloatingActionButtonLocation.endFloat, + ); + } + + Widget _buildTabBar() { + return Container( + width: double.infinity, + height: 60, + decoration: BoxDecoration( + color: Colors.white, + border: Border(bottom: BorderSide(color: Colors.grey.shade200)), + ), + child: TabBar( + controller: controller.tabController, + labelColor: AppColors.primary, + unselectedLabelColor: Colors.grey.shade600, + indicatorColor: AppColors.primary, + indicatorWeight: 3, + indicatorSize: TabBarIndicatorSize.label, + labelPadding: const EdgeInsets.symmetric(horizontal: 16), + padding: const EdgeInsets.symmetric(horizontal: 8), + isScrollable: true, + tabs: [ + _buildTab(text: 'Belum Bayar', icon: Icons.payment_outlined), + _buildTab(text: 'Pending', icon: Icons.hourglass_empty_outlined), + _buildTab(text: 'Diterima', icon: Icons.check_circle_outline), + _buildTab(text: 'Aktif', icon: Icons.play_circle_outline), + _buildTab(text: 'Selesai', icon: Icons.task_alt_outlined), + _buildTab(text: 'Dibatalkan', icon: Icons.cancel_outlined), + ], + ), + ); + } + + Widget _buildTab({required String text, required IconData icon}) { + return Tab( + height: 60, + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Icon(icon, size: 20), + const SizedBox(width: 8), + Text( + text, + style: const TextStyle(fontSize: 14, fontWeight: FontWeight.w500), + ), + ], + ), + ); + } + + Widget _buildBelumBayarTab() { + return Obx(() { + // Show loading indicator while fetching data + if (controller.isLoading.value) { + return const Center( + child: CircularProgressIndicator(), + ); + } + + // Check if there is any data to display + if (controller.rentals.isNotEmpty) { + return SingleChildScrollView( + physics: const BouncingScrollPhysics(), + padding: const EdgeInsets.all(20), + child: Column( + children: [ + // Build a card for each rental item + ...controller.rentals.map((rental) => Column( + children: [ + _buildUnpaidRentalCard(rental), + const SizedBox(height: 20), + ], + )).toList(), + _buildTipsSection(), + ], + ), + ); + } + + // Return empty state if no data + return _buildTabContent( + icon: Icons.payment_outlined, + title: 'Belum ada pembayaran', + subtitle: 'Tidak ada sewa yang menunggu pembayaran', + buttonText: 'Sewa Sekarang', + onButtonPressed: () => controller.navigateToRentals(), + color: AppColors.primary, + ); + }); + } + + Widget _buildPendingTab() { + return Obx(() { + // Show loading indicator while fetching data + if (controller.isLoadingPending.value) { + return const Center( + child: CircularProgressIndicator(), + ); + } + + // Check if there is any data to display + if (controller.pendingRentals.isNotEmpty) { + return SingleChildScrollView( + physics: const BouncingScrollPhysics(), + padding: const EdgeInsets.all(20), + child: Column( + children: [ + // Build a card for each pending rental item + ...controller.pendingRentals.map((rental) => Column( + children: [ + _buildPendingRentalCard(rental), + const SizedBox(height: 20), + ], + )).toList(), + _buildTipsSectionPending(), + ], + ), + ); + } + + // Return empty state if no data + return _buildTabContent( + icon: Icons.hourglass_empty_outlined, + title: 'Tidak ada pembayaran pending', + subtitle: 'Pembayaran yang sedang diverifikasi akan muncul di sini', + buttonText: 'Sewa Sekarang', + onButtonPressed: () => controller.navigateToRentals(), + color: Colors.orange, + ); + }); + } + + Widget _buildAktifTab() { + return Obx(() { + // Show loading indicator while fetching data + if (controller.isLoadingActive.value) { + return const Center( + child: CircularProgressIndicator(), + ); + } + + // Check if there is any data to display + if (controller.activeRentals.isNotEmpty) { + return SingleChildScrollView( + physics: const BouncingScrollPhysics(), + padding: const EdgeInsets.all(20), + child: Column( + children: [ + // Build a card for each active rental item + ...controller.activeRentals.map((rental) => Column( + children: [ + _buildAktifRentalCard(rental), + const SizedBox(height: 20), + ], + )).toList(), + _buildTipsSectionAktif(), + ], + ), + ); + } + + // Return empty state if no data + return _buildTabContent( + icon: Icons.play_circle_outline, + title: 'Tidak ada sewa aktif', + subtitle: 'Sewa yang sedang berlangsung akan muncul di sini', + buttonText: 'Sewa Sekarang', + onButtonPressed: () => controller.navigateToRentals(), + color: Colors.blue, + ); + }); + } + + Widget _buildPendingRentalCard(Map rental) { + return Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: Column( + children: [ + // Header section with status + Container( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), + decoration: BoxDecoration( + color: Colors.orange.withOpacity(0.1), + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(16), + topRight: Radius.circular(16), + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + const Icon( + Icons.hourglass_empty_outlined, + size: 18, + color: Colors.orange, + ), + const SizedBox(width: 8), + Text( + rental['status'] ?? 'PERIKSA PEMBAYARAN', + style: const TextStyle( + fontSize: 13, + fontWeight: FontWeight.bold, + color: Colors.orange, + ), + ), + ], + ), + ), + + // Asset details + Padding( + padding: const EdgeInsets.all(16), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Asset image with rounded corners + ClipRRect( + borderRadius: BorderRadius.circular(12), + child: rental['imageUrl'] != null && rental['imageUrl'].toString().startsWith('http') + ? Image.network( + rental['imageUrl'], + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ) + : Image.asset( + rental['imageUrl'] ?? 'assets/images/gambar_pendukung.jpg', + width: 90, + height: 90, + fit: BoxFit.cover, + ), + ), + const SizedBox(width: 16), + // Asset details + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + rental['name'] ?? 'Nama Aset', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + const SizedBox(height: 8), + _buildInfoRow( + icon: Icons.inventory_2_outlined, + text: '${rental['jumlahUnit'] ?? 0} Unit', + ), + const SizedBox(height: 6), + _buildInfoRow( + icon: Icons.calendar_today_outlined, + text: rental['tanggalSewa'] ?? '', + ), + const SizedBox(height: 6), + _buildInfoRow( + icon: Icons.schedule, + text: rental['rentangWaktu'] ?? '', + ), + const SizedBox(height: 12), + // Verification status + Container( + padding: const EdgeInsets.symmetric( + horizontal: 10, + vertical: 6, + ), + decoration: BoxDecoration( + color: Colors.orange.withOpacity(0.1), + borderRadius: BorderRadius.circular(8), + border: Border.all( + color: Colors.orange.withOpacity(0.3), + width: 1, + ), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + const Icon( + Icons.pending_outlined, + size: 14, + color: Colors.orange, + ), + const SizedBox(width: 4), + const Text( + 'Menunggu verifikasi', + style: TextStyle( + fontSize: 12, + fontWeight: FontWeight.bold, + color: Colors.orange, + ), + ), + ], + ), + ), + ], + ), + ), + ], + ), + ), + + // Divider + Divider(height: 1, thickness: 1, color: Colors.grey.shade100), + + // Price section + Padding( + padding: const EdgeInsets.fromLTRB(16, 12, 16, 12), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Total Bayar', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.w500, + color: AppColors.textSecondary, + ), + ), + const SizedBox(height: 2), + Text( + rental['totalPrice'] ?? 'Rp 0', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + ], + ), + // View detail button + ElevatedButton( + onPressed: () => controller.viewRentalDetail(rental), + style: ElevatedButton.styleFrom( + backgroundColor: Colors.orange, + foregroundColor: Colors.white, + elevation: 0, + padding: const EdgeInsets.symmetric( + horizontal: 20, + vertical: 10, + ), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + ), + child: const Text( + 'Lihat Detail', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w600, + ), + ), + ), + ], + ), + ), + ], + ), + ); + } + + Widget _buildAktifRentalCard(Map rental) { + return Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: Column( + children: [ + // Header section with status + Container( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), + decoration: BoxDecoration( + color: Colors.blue.withOpacity(0.1), + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(16), + topRight: Radius.circular(16), + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + const Icon( + Icons.play_circle_outline, + size: 18, + color: Colors.blue, + ), + const SizedBox(width: 8), + Text( + rental['status'] ?? 'AKTIF', + style: const TextStyle( + fontSize: 13, + fontWeight: FontWeight.bold, + color: Colors.blue, + ), + ), + ], + ), + ), + + // Asset details + Padding( + padding: const EdgeInsets.all(16), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Asset image with rounded corners + ClipRRect( + borderRadius: BorderRadius.circular(12), + child: rental['imageUrl'] != null && rental['imageUrl'].toString().startsWith('http') + ? Image.network( + rental['imageUrl'], + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ) + : Image.asset( + rental['imageUrl'] ?? 'assets/images/gambar_pendukung.jpg', + width: 90, + height: 90, + fit: BoxFit.cover, + ), + ), + const SizedBox(width: 16), + // Asset details + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + rental['name'] ?? 'Nama Aset', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + const SizedBox(height: 8), + _buildInfoRow( + icon: Icons.inventory_2_outlined, + text: '${rental['jumlahUnit'] ?? 0} Unit', + ), + const SizedBox(height: 6), + _buildInfoRow( + icon: Icons.calendar_today_outlined, + text: rental['tanggalSewa'] ?? '', + ), + const SizedBox(height: 6), + _buildInfoRow( + icon: Icons.schedule, + text: rental['rentangWaktu'] ?? '', + ), + const SizedBox(height: 12), + // Active status + Container( + padding: const EdgeInsets.symmetric( + horizontal: 10, + vertical: 6, + ), + decoration: BoxDecoration( + color: Colors.blue.withOpacity(0.1), + borderRadius: BorderRadius.circular(8), + border: Border.all( + color: Colors.blue.withOpacity(0.3), + width: 1, + ), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + const Icon( + Icons.access_time_filled, + size: 14, + color: Colors.blue, + ), + const SizedBox(width: 4), + const Text( + 'Sedang berlangsung', + style: TextStyle( + fontSize: 12, + fontWeight: FontWeight.bold, + color: Colors.blue, + ), + ), + ], + ), + ), + ], + ), + ), + ], + ), + ), + + // Divider + Divider(height: 1, thickness: 1, color: Colors.grey.shade100), + + // Price section + Padding( + padding: const EdgeInsets.fromLTRB(16, 12, 16, 12), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Total Bayar', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.w500, + color: AppColors.textSecondary, + ), + ), + const SizedBox(height: 2), + Text( + rental['totalPrice'] ?? 'Rp 0', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + ], + ), + // View detail button + ElevatedButton( + onPressed: () => controller.viewRentalDetail(rental), + style: ElevatedButton.styleFrom( + backgroundColor: Colors.blue, + foregroundColor: Colors.white, + elevation: 0, + padding: const EdgeInsets.symmetric( + horizontal: 20, + vertical: 10, + ), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + ), + child: const Text( + 'Lihat Detail', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w600, + ), + ), + ), + ], + ), + ), + ], + ), + ); + } + + Widget _buildUnpaidRentalCard(Map rental) { + // Determine status color based on status + final bool isPembayaranDenda = rental['status'] == 'PEMBAYARAN DENDA'; + final Color statusColor = isPembayaranDenda ? AppColors.error : AppColors.warning; + + return Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: Column( + children: [ + // Header section with status + Container( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), + decoration: BoxDecoration( + color: statusColor.withOpacity(0.1), + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(16), + topRight: Radius.circular(16), + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Icon( + isPembayaranDenda ? Icons.warning_amber_rounded : Icons.access_time_rounded, + size: 18, + color: statusColor, + ), + const SizedBox(width: 8), + Text( + rental['status'] ?? 'MENUNGGU PEMBAYARAN', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.bold, + color: statusColor, + ), + ), + ], + ), + ), + + // Asset details + Padding( + padding: const EdgeInsets.all(16), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Asset image with rounded corners + ClipRRect( + borderRadius: BorderRadius.circular(12), + child: rental['imageUrl'] != null && rental['imageUrl'].toString().startsWith('http') + ? Image.network( + rental['imageUrl'], + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ) + : Image.asset( + rental['imageUrl'] ?? 'assets/images/gambar_pendukung.jpg', + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ), + ), + const SizedBox(width: 16), + // Asset details + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + rental['name'] ?? 'Aset', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + const SizedBox(height: 8), + _buildInfoRow( + icon: Icons.inventory_2_outlined, + text: '${rental['jumlahUnit'] ?? 0} Unit', + ), + const SizedBox(height: 6), + _buildInfoRow( + icon: Icons.calendar_today_outlined, + text: rental['tanggalSewa'] ?? '', + ), + const SizedBox(height: 6), + _buildInfoRow( + icon: Icons.schedule, + text: rental['rentangWaktu'] ?? '', + ), + const SizedBox(height: 12), + // Countdown timer + Container( + padding: const EdgeInsets.symmetric( + horizontal: 10, + vertical: 6, + ), + decoration: BoxDecoration( + color: AppColors.error.withOpacity(0.1), + borderRadius: BorderRadius.circular(8), + border: Border.all( + color: AppColors.error.withOpacity(0.3), + width: 1, + ), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Icon( + Icons.timer_outlined, + size: 14, + color: AppColors.error, + ), + const SizedBox(width: 4), + Text( + 'Bayar dalam ${rental['countdown'] ?? '00:59:59'}', + style: TextStyle( + fontSize: 12, + fontWeight: FontWeight.bold, + color: AppColors.error, + ), + ), + ], + ), + ), + ], + ), + ), + ], + ), + ), + + // Divider + Divider(height: 1, thickness: 1, color: Colors.grey.shade100), + + // Price section + Padding( + padding: const EdgeInsets.fromLTRB(16, 12, 16, 12), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Total Bayar', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.w500, + color: AppColors.textSecondary, + ), + ), + const SizedBox(height: 2), + Text( + rental['totalPrice'] ?? 'Rp 0', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + ], + ), + // Pay button + ElevatedButton( + onPressed: () {}, + style: ElevatedButton.styleFrom( + backgroundColor: rental['status'] == 'PEMBAYARAN DENDA' ? AppColors.error : AppColors.warning, + foregroundColor: Colors.white, + elevation: 0, + padding: const EdgeInsets.symmetric( + horizontal: 20, + vertical: 10, + ), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + ), + child: Text( + rental['status'] == 'PEMBAYARAN DENDA' ? 'Bayar Denda' : 'Bayar Sekarang', + style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 14), + ), + ), + ], + ), + ), + + // Divider + Divider(height: 1, thickness: 1, color: Colors.grey.shade100), + + // Action buttons + Padding( + padding: const EdgeInsets.all(12), + child: Row( + children: [ + Expanded( + child: _buildActionButton( + icon: Icons.info_outline, + label: 'Lihat Detail', + onPressed: () => controller.viewRentalDetail(rental), + iconColor: AppColors.info, + ), + ), + const SizedBox(width: 8), + Expanded( + child: _buildActionButton( + icon: Icons.cancel_outlined, + label: 'Batalkan', + onPressed: () => controller.cancelRental(rental['id']), + iconColor: AppColors.error, + ), + ), + ], + ), + ), + ], + ), + ); + } + + Widget _buildInfoRow({required IconData icon, required String text}) { + return Row( + children: [ + Icon(icon, size: 14, color: AppColors.textSecondary), + const SizedBox(width: 6), + Text( + text, + style: TextStyle(fontSize: 13, color: AppColors.textSecondary), + ), + ], + ); + } + + Widget _buildActionButton({ + required IconData icon, + required String label, + required VoidCallback onPressed, + required Color iconColor, + }) { + return TextButton.icon( + onPressed: onPressed, + icon: Icon(icon, size: 16, color: iconColor), + label: Text( + label, + style: TextStyle( + color: AppColors.textPrimary, + fontSize: 13, + fontWeight: FontWeight.w500, + ), + ), + style: TextButton.styleFrom( + padding: const EdgeInsets.symmetric(vertical: 8), + minimumSize: Size.zero, + tapTargetSize: MaterialTapTargetSize.shrinkWrap, + ), + ); + } + + Widget _buildDiterimaTab() { + return Obx(() { + // Show loading indicator while fetching data + if (controller.isLoadingAccepted.value) { + return const Center( + child: CircularProgressIndicator(), + ); + } + + // Check if there is any data to display + if (controller.acceptedRentals.isNotEmpty) { + return SingleChildScrollView( + physics: const BouncingScrollPhysics(), + padding: const EdgeInsets.all(20), + child: Column( + children: [ + // Build a card for each accepted rental item + ...controller.acceptedRentals.map((rental) => Column( + children: [ + _buildDiterimaRentalCard(rental), + const SizedBox(height: 20), + ], + )).toList(), + _buildTipsSectionDiterima(), + ], + ), + ); + } + + // Return empty state if no data + return _buildTabContent( + icon: Icons.check_circle_outline, + title: 'Belum ada sewa diterima', + subtitle: 'Sewa yang sudah diterima akan muncul di sini', + buttonText: 'Sewa Sekarang', + onButtonPressed: () => controller.navigateToRentals(), + color: AppColors.success, + ); + }); + } + + Widget _buildAktifTab() { + return Obx(() { + // Show loading indicator while fetching data + if (controller.isLoadingActive.value) { + return const Center( + child: CircularProgressIndicator(), + ); + } + + // Check if there is any data to display + if (controller.activeRentals.isNotEmpty) { + return SingleChildScrollView( + physics: const BouncingScrollPhysics(), + padding: const EdgeInsets.all(20), + child: Column( + children: [ + // Build a card for each active rental item + ...controller.activeRentals.map((rental) => Column( + children: [ + _buildAktifRentalCard(rental), + const SizedBox(height: 20), + ], + )).toList(), + _buildTipsSectionAktif(), + ], + ), + ); + } + + // Return empty state if no data + return _buildTabContent( + icon: Icons.play_circle_outline, + title: 'Tidak ada sewa aktif', + subtitle: 'Sewa yang sedang berlangsung akan muncul di sini', + buttonText: 'Sewa Sekarang', + onButtonPressed: () => controller.navigateToRentals(), + color: Colors.blue, + ); + }); + } + + Widget _buildDiterimaRentalCard(Map rental) { + return Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: Column( + children: [ + // Header section with status + Container( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), + decoration: BoxDecoration( + color: AppColors.success.withOpacity(0.1), + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(16), + topRight: Radius.circular(16), + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Icon( + Icons.check_circle_outline, + size: 18, + color: AppColors.success, + ), + const SizedBox(width: 8), + Text( + rental['status'] ?? 'DITERIMA', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.bold, + color: AppColors.success, + ), + ), + ], + ), + ), + + // Asset details + Padding( + padding: const EdgeInsets.all(16), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Asset image with rounded corners + ClipRRect( + borderRadius: BorderRadius.circular(12), + child: rental['imageUrl'] != null && rental['imageUrl'].toString().startsWith('http') + ? Image.network( + rental['imageUrl'], + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ) + : Image.asset( + rental['imageUrl'] ?? 'assets/images/gambar_pendukung.jpg', + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ), + ), + const SizedBox(width: 16), + // Asset details + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + rental['name'] ?? 'Aset', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + const SizedBox(height: 8), + _buildInfoRow( + icon: Icons.inventory_2_outlined, + text: '${rental['jumlahUnit'] ?? 0} Unit', + ), + const SizedBox(height: 6), + _buildInfoRow( + icon: Icons.calendar_today_outlined, + text: rental['tanggalSewa'] ?? '', + ), + const SizedBox(height: 6), + _buildInfoRow( + icon: Icons.schedule, + text: rental['rentangWaktu'] ?? '', + ), + ], + ), + ), + ], + ), + ), + + // Divider + Divider(height: 1, thickness: 1, color: Colors.grey.shade100), + + // Price section + Padding( + padding: const EdgeInsets.fromLTRB(16, 12, 16, 12), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Total Bayar', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.w500, + color: AppColors.textSecondary, + ), + ), + const SizedBox(height: 2), + Text( + rental['totalPrice'] ?? 'Rp 0', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + ], + ), + ], + ), + ), + + // Divider + Divider(height: 1, thickness: 1, color: Colors.grey.shade100), + + // Action buttons + Padding( + padding: const EdgeInsets.all(12), + child: Row( + children: [ + Expanded( + child: _buildActionButton( + icon: Icons.info_outline, + label: 'Lihat Detail', + onPressed: () => controller.viewRentalDetail(rental), + iconColor: AppColors.info, + ), + ), + const SizedBox(width: 8), + Expanded( + child: _buildActionButton( + icon: Icons.cancel_outlined, + label: 'Batalkan', + onPressed: () => controller.cancelRental(rental['id']), + iconColor: AppColors.error, + ), + ), + ], + ), + ), + ], + ), + ); + } + + Widget _buildSelesaiTab() { + return Obx(() { + if (controller.isLoadingCompleted.value) { + return const Center( + child: Padding( + padding: EdgeInsets.all(20.0), + child: CircularProgressIndicator(), + ), + ); + } + + if (controller.completedRentals.isEmpty) { + return _buildTabContent( + icon: Icons.check_circle_outline, + title: 'Belum Ada Sewa Selesai', + subtitle: 'Anda belum memiliki riwayat sewa yang telah selesai', + buttonText: 'Lihat Aset', + onButtonPressed: () => Get.toNamed('/warga-aset'), + color: AppColors.info, + ); + } + + return SingleChildScrollView( + physics: const BouncingScrollPhysics(), + padding: const EdgeInsets.all(20), + child: Column( + children: controller.completedRentals + .map((rental) => Padding( + padding: const EdgeInsets.only(bottom: 16.0), + child: _buildSelesaiRentalCard(rental), + )) + .toList(), + ), + ); + }); + } + + Widget _buildSelesaiRentalCard(Map rental) { + return Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: Column( + children: [ + // Header section with status + Container( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), + decoration: BoxDecoration( + color: AppColors.info.withOpacity(0.1), + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(16), + topRight: Radius.circular(16), + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Icon(Icons.task_alt_outlined, size: 18, color: AppColors.info), + const SizedBox(width: 8), + Text( + rental['status'] ?? 'SELESAI', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.bold, + color: AppColors.info, + ), + ), + ], + ), + ), + + // Asset details + Padding( + padding: const EdgeInsets.all(16), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Asset image with rounded corners + ClipRRect( + borderRadius: BorderRadius.circular(12), + child: rental['imageUrl'] != null && rental['imageUrl'].toString().startsWith('http') + ? Image.network( + rental['imageUrl'], + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ) + : Image.asset( + rental['imageUrl'] ?? 'assets/images/gambar_pendukung.jpg', + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ), + ), + const SizedBox(width: 16), + // Asset details + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + rental['name'] ?? 'Aset', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.primary, + ), + ), + const SizedBox(height: 4), + Text( + '${rental['jumlahUnit'] ?? 0} Unit', + style: TextStyle( + fontSize: 14, + color: Colors.grey.shade600, + ), + ), + const SizedBox(height: 8), + _buildInfoRow( + icon: Icons.calendar_today, + text: rental['rentangWaktu'] ?? '-', + ), + const SizedBox(height: 4), + _buildInfoRow( + icon: Icons.access_time, + text: rental['duration'] ?? '-', + ), + ], + ), + ), + ], + ), + ), + + // Divider + Divider( + color: Colors.grey.shade200, + thickness: 1, + height: 1, + ), + + // Price section + Padding( + padding: const EdgeInsets.all(16), + child: Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'Total', + style: TextStyle( + fontSize: 14, + color: Colors.grey.shade600, + ), + ), + Text( + rental['totalPrice'] ?? 'Rp 0', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.primary, + ), + ), + ], + ), + const SizedBox(height: 16), + SizedBox( + width: double.infinity, + child: _buildActionButton( + icon: Icons.info_outline, + label: 'Lihat Detail', + onPressed: () => controller.viewRentalDetail(rental), + iconColor: AppColors.info, + ), + ), + ], + ), + ), + ], + ), + ); + } + + Widget _buildDibatalkanTab() { + return Obx(() { + if (controller.isLoadingCancelled.value) { + return const Center( + child: Padding( + padding: EdgeInsets.all(20.0), + child: CircularProgressIndicator(), + ), + ); + } + + if (controller.cancelledRentals.isEmpty) { + return _buildTabContent( + icon: Icons.cancel_outlined, + title: 'Belum Ada Sewa Dibatalkan', + subtitle: 'Anda belum memiliki riwayat sewa yang dibatalkan', + buttonText: 'Lihat Aset', + onButtonPressed: () => Get.toNamed('/warga-aset'), + color: AppColors.error, + ); + } + + return SingleChildScrollView( + physics: const BouncingScrollPhysics(), + padding: const EdgeInsets.all(20), + child: Column( + children: controller.cancelledRentals + .map((rental) => Padding( + padding: const EdgeInsets.only(bottom: 16.0), + child: _buildDibatalkanRentalCard(rental), + )) + .toList(), + ), + ); + }); + } + + Widget _buildDibatalkanRentalCard(Map rental) { + return Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: Column( + children: [ + // Header section with status + Container( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), + decoration: BoxDecoration( + color: AppColors.error.withOpacity(0.1), + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(16), + topRight: Radius.circular(16), + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Icon(Icons.cancel_outlined, size: 18, color: AppColors.error), + const SizedBox(width: 8), + Text( + rental['status'] ?? 'DIBATALKAN', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.bold, + color: AppColors.error, + ), + ), + ], + ), + ), + + // Asset details + Padding( + padding: const EdgeInsets.all(16), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Asset image with rounded corners + ClipRRect( + borderRadius: BorderRadius.circular(12), + child: rental['imageUrl'] != null && rental['imageUrl'].toString().startsWith('http') + ? Image.network( + rental['imageUrl'], + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ) + : Image.asset( + rental['imageUrl'] ?? 'assets/images/gambar_pendukung.jpg', + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ), + ), + const SizedBox(width: 16), + // Asset details + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + rental['name'] ?? 'Aset', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.primary, + ), + ), + const SizedBox(height: 4), + Text( + '${rental['jumlahUnit'] ?? 0} Unit', + style: TextStyle( + fontSize: 14, + color: Colors.grey.shade600, + ), + ), + const SizedBox(height: 8), + _buildInfoRow( + icon: Icons.calendar_today, + text: rental['rentangWaktu'] ?? '-', + ), + const SizedBox(height: 4), + _buildInfoRow( + icon: Icons.access_time, + text: rental['duration'] ?? '-', + ), + if (rental['alasanPembatalan'] != null && rental['alasanPembatalan'] != '-') + Padding( + padding: const EdgeInsets.only(top: 8.0), + child: _buildInfoRow( + icon: Icons.info_outline, + text: 'Alasan: ${rental['alasanPembatalan']}', + ), + ), + ], + ), + ), + ], + ), + ), + + // Divider + Divider( + color: Colors.grey.shade200, + thickness: 1, + height: 1, + ), + + // Price section + Padding( + padding: const EdgeInsets.all(16), + child: Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'Total', + style: TextStyle( + fontSize: 14, + color: Colors.grey.shade600, + ), + ), + Text( + rental['totalPrice'] ?? 'Rp 0', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.primary, + ), + ), + ], + ), + const SizedBox(height: 16), + Row( + children: [ + Expanded( + child: _buildActionButton( + icon: Icons.info_outline, + label: 'Lihat Detail', + onPressed: () => controller.viewRentalDetail(rental), + iconColor: AppColors.info, + ), + ), + const SizedBox(width: 8), + Expanded( + child: _buildActionButton( + icon: Icons.refresh, + label: 'Pesan Kembali', + onPressed: () {}, + iconColor: AppColors.success, + ), + ), + ], + ), + ], + ), + ), + ], + ), + ); + } + + Widget _buildTabContent({ + required IconData icon, + required String title, + required String subtitle, + required String buttonText, + required VoidCallback onButtonPressed, + required Color color, + }) { + return SingleChildScrollView( + physics: const BouncingScrollPhysics(), + child: Padding( + padding: const EdgeInsets.all(24.0), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const SizedBox(height: 40), + Container( + padding: const EdgeInsets.all(28), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(24), + boxShadow: [ + BoxShadow( + color: color.withOpacity(0.08), + blurRadius: 16, + offset: const Offset(0, 4), + spreadRadius: 2, + ), + ], + ), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Container( + padding: const EdgeInsets.all(20), + decoration: BoxDecoration( + color: color.withOpacity(0.1), + shape: BoxShape.circle, + ), + child: Icon(icon, size: 60, color: color), + ), + const SizedBox(height: 28), + Text( + title, + style: TextStyle( + fontSize: 20, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + textAlign: TextAlign.center, + ), + const SizedBox(height: 12), + Text( + subtitle, + style: TextStyle( + fontSize: 16, + color: AppColors.textSecondary, + ), + textAlign: TextAlign.center, + ), + const SizedBox(height: 36), + SizedBox( + width: double.infinity, + height: 54, + child: ElevatedButton( + onPressed: onButtonPressed, + style: ElevatedButton.styleFrom( + backgroundColor: color, + foregroundColor: Colors.white, + elevation: 0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16), + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Icon(Icons.add_circle_outline, size: 20), + const SizedBox(width: 10), + Text( + buttonText, + style: const TextStyle( + fontSize: 16, + fontWeight: FontWeight.w600, + ), + ), + ], + ), + ), + ), + ], + ), + ), + const SizedBox(height: 24), + // Tips section + _buildTipsSection(), + ], + ), + ), + ); + } + + Widget _buildTipsSection() { + return Container( + padding: const EdgeInsets.all(20), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.grey.withOpacity(0.08), + blurRadius: 12, + offset: const Offset(0, 3), + ), + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Icon(Icons.lightbulb_outline, color: AppColors.warning), + const SizedBox(width: 8), + Text( + 'Tips & Informasi', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + ], + ), + const SizedBox(height: 12), + _buildTipItem( + icon: Icons.schedule, + title: 'Pembayaran dalam 1 jam', + description: + 'Lakukan pembayaran dalam 1 jam untuk menghindari pembatalan otomatis.', + ), + ], + ), + ); + } + + Widget _buildTipsSectionPending() { + return Container( + padding: const EdgeInsets.all(20), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.grey.withOpacity(0.08), + blurRadius: 12, + offset: const Offset(0, 3), + ), + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Icon(Icons.lightbulb_outline, color: Colors.orange), + const SizedBox(width: 8), + Text( + 'Tips Verifikasi', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + ], + ), + const SizedBox(height: 12), + _buildTipItem( + icon: Icons.access_time, + title: 'Proses Verifikasi', + description: + 'Verifikasi pembayaran biasanya membutuhkan waktu 1-2 jam kerja.', + ), + const SizedBox(height: 12), + _buildTipItem( + icon: Icons.image_outlined, + title: 'Bukti Pembayaran', + description: + 'Pastikan bukti pembayaran yang diupload jelas dan terbaca.', + ), + ], + ), + ); + } + + Widget _buildTipsSectionAktif() { + return Container( + padding: const EdgeInsets.all(20), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.grey.withOpacity(0.08), + blurRadius: 12, + offset: const Offset(0, 3), + ), + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Icon(Icons.lightbulb_outline, color: Colors.blue), + const SizedBox(width: 8), + Text( + 'Tips Sewa Aktif', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + ], + ), + const SizedBox(height: 12), + _buildTipItem( + icon: Icons.rule_outlined, + title: 'Ketentuan Penggunaan', + description: + 'Gunakan aset sesuai dengan ketentuan yang berlaku.', + ), + const SizedBox(height: 12), + _buildTipItem( + icon: Icons.access_time, + title: 'Waktu Pengembalian', + description: + 'Kembalikan aset tepat waktu untuk menghindari denda.', + ), + ], + ), + ); + } + Widget _buildTipItem({ + required IconData icon, + required String title, + required String description, + }) { + return Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Container( + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: AppColors.info.withOpacity(0.1), + borderRadius: BorderRadius.circular(8), + ), + child: Icon(icon, size: 18, color: AppColors.info), + ), + const SizedBox(width: 12), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + title, + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w600, + color: AppColors.textPrimary, + ), + ), + const SizedBox(height: 4), + Text( + description, + style: TextStyle(fontSize: 13, color: AppColors.textSecondary), + ), + ], + ), + ), + ], + ); + } + + Widget _buildTipsSectionDiterima() { + return Container( + padding: const EdgeInsets.all(20), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.grey.withOpacity(0.08), + blurRadius: 12, + offset: const Offset(0, 3), + ), + ], + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Icon(Icons.lightbulb_outline, color: AppColors.warning), + const SizedBox(width: 8), + Text( + 'Tips & Informasi', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + ], + ), + const SizedBox(height: 12), + _buildTipItem( + icon: Icons.access_time, + title: 'Pengembalian Tepat Waktu', + description: + 'Lakukan pengembalian aset sebelum waktu sewa berakhir agar tidak dikenakan denda.', + ), + ], + ), + ); + } +} + Widget _buildDiterimaTab() { + return Obx(() { + // Show loading indicator while fetching data + if (controller.isLoadingAccepted.value) { + return const Center( + child: CircularProgressIndicator(), + ); + } + + // Check if there is any data to display + if (controller.acceptedRentals.isNotEmpty) { + return SingleChildScrollView( + physics: const BouncingScrollPhysics(), + padding: const EdgeInsets.all(20), + child: Column( + children: [ + // Build a card for each accepted rental item + ...controller.acceptedRentals.map((rental) => Column( + children: [ + _buildAcceptedRentalCard(rental), + const SizedBox(height: 20), + ], + )).toList(), + _buildTipsSection(), + ], + ), + ); + } + + // Return empty state if no data + return _buildTabContent( + icon: Icons.check_circle_outline, + title: 'Belum ada pembayaran diterima', + subtitle: 'Pembayaran yang telah diverifikasi akan muncul di sini', + buttonText: 'Sewa Sekarang', + onButtonPressed: () => controller.navigateToRentals(), + color: AppColors.success, + ); + }); + } + + Widget _buildSelesaiTab() { + return Obx(() { + // Show loading indicator while fetching data + if (controller.isLoadingCompleted.value) { + return const Center( + child: CircularProgressIndicator(), + ); + } + + // Check if there is any data to display + if (controller.completedRentals.isNotEmpty) { + return SingleChildScrollView( + physics: const BouncingScrollPhysics(), + padding: const EdgeInsets.all(20), + child: Column( + children: [ + // Build a card for each completed rental item + ...controller.completedRentals.map((rental) => Column( + children: [ + _buildCompletedRentalCard(rental), + const SizedBox(height: 20), + ], + )).toList(), + _buildTipsSection(), + ], + ), + ); + } + + // Return empty state if no data + return _buildTabContent( + icon: Icons.task_alt_outlined, + title: 'Belum ada sewa selesai', + subtitle: 'Sewa yang telah selesai akan muncul di sini', + buttonText: 'Sewa Sekarang', + onButtonPressed: () => controller.navigateToRentals(), + color: AppColors.success, + ); + }); + } + + Widget _buildDibatalkanTab() { + return Obx(() { + // Show loading indicator while fetching data + if (controller.isLoadingCancelled.value) { + return const Center( + child: CircularProgressIndicator(), + ); + } + + // Check if there is any data to display + if (controller.cancelledRentals.isNotEmpty) { + return SingleChildScrollView( + physics: const BouncingScrollPhysics(), + padding: const EdgeInsets.all(20), + child: Column( + children: [ + // Build a card for each cancelled rental item + ...controller.cancelledRentals.map((rental) => Column( + children: [ + _buildCancelledRentalCard(rental), + const SizedBox(height: 20), + ], + )).toList(), + _buildTipsSection(), + ], + ), + ); + } + + // Return empty state if no data + return _buildTabContent( + icon: Icons.cancel_outlined, + title: 'Tidak ada sewa dibatalkan', + subtitle: 'Sewa yang dibatalkan akan muncul di sini', + buttonText: 'Sewa Sekarang', + onButtonPressed: () => controller.navigateToRentals(), + color: AppColors.error, + ); + }); + } + + Widget _buildAcceptedRentalCard(Map<String, dynamic> rental) { + return Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: Column( + children: [ + // Header section with status + Container( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), + decoration: BoxDecoration( + color: AppColors.success.withOpacity(0.1), + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(16), + topRight: Radius.circular(16), + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Icon( + Icons.check_circle_outline, + size: 18, + color: AppColors.success, + ), + const SizedBox(width: 8), + Text( + rental['status'] ?? 'PEMBAYARAN DITERIMA', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.bold, + color: AppColors.success, + ), + ), + ], + ), + ), + + // Asset details + Padding( + padding: const EdgeInsets.all(16), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Asset image with rounded corners + ClipRRect( + borderRadius: BorderRadius.circular(12), + child: rental['imageUrl'] != null && rental['imageUrl'].toString().startsWith('http') + ? Image.network( + rental['imageUrl'], + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ) + : Image.asset( + rental['imageUrl'] ?? 'assets/images/gambar_pendukung.jpg', + width: 90, + height: 90, + fit: BoxFit.cover, + ), + ), + const SizedBox(width: 16), + // Asset details + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + rental['name'] ?? 'Nama Aset', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + const SizedBox(height: 8), + _buildInfoRow( + icon: Icons.inventory_2_outlined, + text: '${rental['jumlahUnit'] ?? 0} Unit', + ), + const SizedBox(height: 6), + _buildInfoRow( + icon: Icons.calendar_today_outlined, + text: rental['tanggalSewa'] ?? '', + ), + const SizedBox(height: 6), + _buildInfoRow( + icon: Icons.schedule, + text: rental['rentangWaktu'] ?? '', + ), + const SizedBox(height: 12), + // Payment accepted status + Container( + padding: const EdgeInsets.symmetric( + horizontal: 10, + vertical: 6, + ), + decoration: BoxDecoration( + color: AppColors.success.withOpacity(0.1), + borderRadius: BorderRadius.circular(8), + border: Border.all( + color: AppColors.success.withOpacity(0.3), + width: 1, + ), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Icon( + Icons.check_circle, + size: 14, + color: AppColors.success, + ), + const SizedBox(width: 4), + Text( + 'Pembayaran diterima', + style: TextStyle( + fontSize: 12, + fontWeight: FontWeight.bold, + color: AppColors.success, + ), + ), + ], + ), + ), + ], + ), + ), + ], + ), + ), + + // Divider + Divider(height: 1, thickness: 1, color: Colors.grey.shade100), + + // Action section + Padding( + padding: const EdgeInsets.all(16), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + // Price + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Total Pembayaran', + style: TextStyle( + fontSize: 12, + color: Colors.grey.shade600, + ), + ), + const SizedBox(height: 2), + Text( + rental['totalPrice'] ?? 'Rp 0', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + ], + ), + // View detail button + ElevatedButton( + onPressed: () => controller.viewRentalDetail(rental), + style: ElevatedButton.styleFrom( + backgroundColor: AppColors.success, + foregroundColor: Colors.white, + elevation: 0, + padding: const EdgeInsets.symmetric( + horizontal: 20, + vertical: 10, + ), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + ), + child: const Text( + 'Lihat Detail', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w600, + ), + ), + ), + ], + ), + ), + ], + ), + ); + } + + Widget _buildCompletedRentalCard(Map<String, dynamic> rental) { + return Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: Column( + children: [ + // Header section with status + Container( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), + decoration: BoxDecoration( + color: AppColors.success.withOpacity(0.1), + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(16), + topRight: Radius.circular(16), + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Icon( + Icons.task_alt_outlined, + size: 18, + color: AppColors.success, + ), + const SizedBox(width: 8), + Text( + rental['status'] ?? 'SELESAI', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.bold, + color: AppColors.success, + ), + ), + ], + ), + ), + + // Asset details + Padding( + padding: const EdgeInsets.all(16), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Asset image with rounded corners + ClipRRect( + borderRadius: BorderRadius.circular(12), + child: rental['imageUrl'] != null && rental['imageUrl'].toString().startsWith('http') + ? Image.network( + rental['imageUrl'], + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ) + : Image.asset( + rental['imageUrl'] ?? 'assets/images/gambar_pendukung.jpg', + width: 90, + height: 90, + fit: BoxFit.cover, + ), + ), + const SizedBox(width: 16), + // Asset details + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + rental['name'] ?? 'Nama Aset', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + const SizedBox(height: 8), + _buildInfoRow( + icon: Icons.inventory_2_outlined, + text: '${rental['jumlahUnit'] ?? 0} Unit', + ), + const SizedBox(height: 6), + _buildInfoRow( + icon: Icons.calendar_today_outlined, + text: rental['tanggalSewa'] ?? '', + ), + const SizedBox(height: 6), + _buildInfoRow( + icon: Icons.schedule, + text: rental['rentangWaktu'] ?? '', + ), + const SizedBox(height: 12), + // Completed status + Container( + padding: const EdgeInsets.symmetric( + horizontal: 10, + vertical: 6, + ), + decoration: BoxDecoration( + color: AppColors.success.withOpacity(0.1), + borderRadius: BorderRadius.circular(8), + border: Border.all( + color: AppColors.success.withOpacity(0.3), + width: 1, + ), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Icon( + Icons.check_circle, + size: 14, + color: AppColors.success, + ), + const SizedBox(width: 4), + Text( + 'Sewa selesai', + style: TextStyle( + fontSize: 12, + fontWeight: FontWeight.bold, + color: AppColors.success, + ), + ), + ], + ), + ), + ], + ), + ), + ], + ), + ), + + // Divider + Divider(height: 1, thickness: 1, color: Colors.grey.shade100), + + // Action section + Padding( + padding: const EdgeInsets.all(16), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + // Price + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Total Pembayaran', + style: TextStyle( + fontSize: 12, + color: Colors.grey.shade600, + ), + ), + const SizedBox(height: 2), + Text( + rental['totalPrice'] ?? 'Rp 0', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + ], + ), + // View detail button + ElevatedButton( + onPressed: () => controller.viewRentalDetail(rental), + style: ElevatedButton.styleFrom( + backgroundColor: AppColors.success, + foregroundColor: Colors.white, + elevation: 0, + padding: const EdgeInsets.symmetric( + horizontal: 20, + vertical: 10, + ), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + ), + child: const Text( + 'Lihat Detail', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w600, + ), + ), + ), + ], + ), + ), + ], + ), + ); + } + + Widget _buildCancelledRentalCard(Map<String, dynamic> rental) { + return Container( + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(16), + boxShadow: [ + BoxShadow( + color: Colors.black.withOpacity(0.05), + blurRadius: 10, + offset: const Offset(0, 2), + ), + ], + ), + child: Column( + children: [ + // Header section with status + Container( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12), + decoration: BoxDecoration( + color: AppColors.error.withOpacity(0.1), + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(16), + topRight: Radius.circular(16), + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Icon( + Icons.cancel_outlined, + size: 18, + color: AppColors.error, + ), + const SizedBox(width: 8), + Text( + rental['status'] ?? 'DIBATALKAN', + style: TextStyle( + fontSize: 13, + fontWeight: FontWeight.bold, + color: AppColors.error, + ), + ), + ], + ), + ), + + // Asset details + Padding( + padding: const EdgeInsets.all(16), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // Asset image with rounded corners + ClipRRect( + borderRadius: BorderRadius.circular(12), + child: rental['imageUrl'] != null && rental['imageUrl'].toString().startsWith('http') + ? Image.network( + rental['imageUrl'], + width: 90, + height: 90, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + return Container( + width: 90, + height: 90, + decoration: BoxDecoration( + color: Colors.grey.shade200, + borderRadius: BorderRadius.circular(12), + ), + child: Icon( + Icons.image_not_supported_outlined, + size: 36, + color: Colors.grey.shade400, + ), + ); + }, + ) + : Image.asset( + rental['imageUrl'] ?? 'assets/images/gambar_pendukung.jpg', + width: 90, + height: 90, + fit: BoxFit.cover, + ), + ), + const SizedBox(width: 16), + // Asset details + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + rental['name'] ?? 'Nama Aset', + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + const SizedBox(height: 8), + _buildInfoRow( + icon: Icons.inventory_2_outlined, + text: '${rental['jumlahUnit'] ?? 0} Unit', + ), + const SizedBox(height: 6), + _buildInfoRow( + icon: Icons.calendar_today_outlined, + text: rental['tanggalSewa'] ?? '', + ), + const SizedBox(height: 6), + _buildInfoRow( + icon: Icons.schedule, + text: rental['rentangWaktu'] ?? '', + ), + const SizedBox(height: 12), + // Cancelled status + Container( + padding: const EdgeInsets.symmetric( + horizontal: 10, + vertical: 6, + ), + decoration: BoxDecoration( + color: AppColors.error.withOpacity(0.1), + borderRadius: BorderRadius.circular(8), + border: Border.all( + color: AppColors.error.withOpacity(0.3), + width: 1, + ), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Icon( + Icons.cancel, + size: 14, + color: AppColors.error, + ), + const SizedBox(width: 4), + Text( + 'Sewa dibatalkan', + style: TextStyle( + fontSize: 12, + fontWeight: FontWeight.bold, + color: AppColors.error, + ), + ), + ], + ), + ), + ], + ), + ), + ], + ), + ), + + // Divider + Divider(height: 1, thickness: 1, color: Colors.grey.shade100), + + // Action section + Padding( + padding: const EdgeInsets.all(16), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + // Price + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Total Pembayaran', + style: TextStyle( + fontSize: 12, + color: Colors.grey.shade600, + ), + ), + const SizedBox(height: 2), + Text( + rental['totalPrice'] ?? 'Rp 0', + style: TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: AppColors.textPrimary, + ), + ), + ], + ), + // View detail button + ElevatedButton( + onPressed: () => controller.viewRentalDetail(rental), + style: ElevatedButton.styleFrom( + backgroundColor: AppColors.error, + foregroundColor: Colors.white, + elevation: 0, + padding: const EdgeInsets.symmetric( + horizontal: 20, + vertical: 10, + ), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + ), + child: const Text( + 'Lihat Detail', + style: TextStyle( + fontSize: 14, + fontWeight: FontWeight.w600, + ), + ), + ), + ], + ), + ), + ], + ), + ); + } + diff --git a/lib/app/modules/warga/views/warga_sewa_view.dart.fixed b/lib/app/modules/warga/views/warga_sewa_view.dart.fixed new file mode 100644 index 0000000000000000000000000000000000000000..9cd86d8fcec88f12b9aff206c090b3ac26c1fd61 GIT binary patch literal 267064 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