From 5a0182d69eb2088d92b3227bf4afc3ff4140d480 Mon Sep 17 00:00:00 2001
From: BakoL2323 <142969559+ardiyanto1234@users.noreply.github.com>
Date: Fri, 19 Jun 2026 11:09:54 +0700
Subject: [PATCH] push
---
.github/workflows/dart.yml | 42 +
.gitignore | 45 +
.metadata | 30 +
.vscode/launch.json | 25 +
README.md | 16 +
analysis_options.yaml | 33 +
android/.gitignore | 14 +
android/app/build.gradle.kts | 44 +
android/app/src/debug/AndroidManifest.xml | 7 +
android/app/src/main/AndroidManifest.xml | 51 +
.../example/sidak_desa_mobile/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 | 24 +
.../reports/problems/problems-report.html | 663 ++++++++++
android/gradle.properties | 3 +
.../gradle/wrapper/gradle-wrapper.properties | 5 +
android/settings.gradle.kts | 26 +
assets/images/Union.png | Bin 0 -> 11175 bytes
assets/images/banner.png | Bin 0 -> 6311 bytes
assets/images/gito.jpg | Bin 0 -> 93526 bytes
assets/images/icon_izin.png | Bin 0 -> 2076 bytes
assets/images/icon_masuk.png | Bin 0 -> 2473 bytes
assets/images/icon_riwayat.png | Bin 0 -> 10067 bytes
assets/images/ilustrasi.png | Bin 0 -> 39401 bytes
assets/images/indro.jpg | Bin 0 -> 93526 bytes
assets/images/logo.png | Bin 0 -> 18698 bytes
assets/images/splash_screen.png | Bin 0 -> 22870 bytes
devtools_options.yaml | 3 +
docs/image.png | Bin 0 -> 64065 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 | 101 ++
.../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 | 53 +
ios/Runner/Runner-Bridging-Header.h | 1 +
ios/RunnerTests/RunnerTests.swift | 12 +
lib/core/api/api.dart | 3 +
lib/core/const/app_colors.dart | 5 +
lib/core/widgets/app_bottom_navbar.dart | 110 ++
lib/core/widgets/app_button.dart | 33 +
lib/core/widgets/app_textfield.dart | 44 +
lib/core/widgets/app_textfield_password.dart | 64 +
lib/data/fetch/attedance_api.dart | 69 +
lib/data/fetch/auth_api.dart | 84 ++
lib/data/model/user_model.dart | 185 +++
lib/data/shared/auth_storage.dart | 32 +
lib/main.dart | 23 +
.../controllers/absen_controller.dart | 325 +++++
.../controllers/dashboard_controller.dart | 140 ++
.../controllers/login_controller.dart | 62 +
.../controllers/splash_screen_controller.dart | 32 +
lib/presentation/views/login_screen.dart | 284 ++++
lib/presentation/views/main_screen.dart | 41 +
.../views/pages/absen_screen.dart | 162 +++
.../views/pages/dashboard_screen.dart | 582 +++++++++
.../views/pages/detail_riwayat.dart | 749 +++++++++++
.../views/pages/fiturizin_page.dart | 452 +++++++
.../views/pages/forgotpassword_page.dart | 468 +++++++
.../views/pages/konfirmasi_sandi_baru.dart | 499 ++++++++
.../views/pages/profile_screen.dart | 776 +++++++++++
.../views/pages/riwayat_page.dart | 1137 +++++++++++++++++
.../views/pages/scanner_screen.dart | 101 ++
.../views/pages/veryfikasiOTP.dart | 483 +++++++
lib/presentation/views/splash_screen.dart | 27 +
lib/utils/device_id.dart | 21 +
linux/.gitignore | 1 +
linux/CMakeLists.txt | 128 ++
linux/flutter/CMakeLists.txt | 88 ++
linux/flutter/generated_plugin_registrant.cc | 15 +
linux/flutter/generated_plugin_registrant.h | 15 +
linux/flutter/generated_plugins.cmake | 24 +
linux/runner/CMakeLists.txt | 26 +
linux/runner/main.cc | 6 +
linux/runner/my_application.cc | 148 +++
linux/runner/my_application.h | 21 +
macos/.gitignore | 7 +
macos/Flutter/Flutter-Debug.xcconfig | 1 +
macos/Flutter/Flutter-Release.xcconfig | 1 +
macos/Flutter/GeneratedPluginRegistrant.swift | 20 +
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 | 698 ++++++++++
pubspec.yaml | 94 ++
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 | 17 +
windows/flutter/generated_plugin_registrant.h | 15 +
windows/flutter/generated_plugins.cmake | 25 +
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 ++
172 files changed, 13073 insertions(+)
create mode 100644 .github/workflows/dart.yml
create mode 100644 .gitignore
create mode 100644 .metadata
create mode 100644 .vscode/launch.json
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/sidak_desa_mobile/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/build/reports/problems/problems-report.html
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/Union.png
create mode 100644 assets/images/banner.png
create mode 100644 assets/images/gito.jpg
create mode 100644 assets/images/icon_izin.png
create mode 100644 assets/images/icon_masuk.png
create mode 100644 assets/images/icon_riwayat.png
create mode 100644 assets/images/ilustrasi.png
create mode 100644 assets/images/indro.jpg
create mode 100644 assets/images/logo.png
create mode 100644 assets/images/splash_screen.png
create mode 100644 devtools_options.yaml
create mode 100644 docs/image.png
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/core/api/api.dart
create mode 100644 lib/core/const/app_colors.dart
create mode 100644 lib/core/widgets/app_bottom_navbar.dart
create mode 100644 lib/core/widgets/app_button.dart
create mode 100644 lib/core/widgets/app_textfield.dart
create mode 100644 lib/core/widgets/app_textfield_password.dart
create mode 100644 lib/data/fetch/attedance_api.dart
create mode 100644 lib/data/fetch/auth_api.dart
create mode 100644 lib/data/model/user_model.dart
create mode 100644 lib/data/shared/auth_storage.dart
create mode 100644 lib/main.dart
create mode 100644 lib/presentation/controllers/absen_controller.dart
create mode 100644 lib/presentation/controllers/dashboard_controller.dart
create mode 100644 lib/presentation/controllers/login_controller.dart
create mode 100644 lib/presentation/controllers/splash_screen_controller.dart
create mode 100644 lib/presentation/views/login_screen.dart
create mode 100644 lib/presentation/views/main_screen.dart
create mode 100644 lib/presentation/views/pages/absen_screen.dart
create mode 100644 lib/presentation/views/pages/dashboard_screen.dart
create mode 100644 lib/presentation/views/pages/detail_riwayat.dart
create mode 100644 lib/presentation/views/pages/fiturizin_page.dart
create mode 100644 lib/presentation/views/pages/forgotpassword_page.dart
create mode 100644 lib/presentation/views/pages/konfirmasi_sandi_baru.dart
create mode 100644 lib/presentation/views/pages/profile_screen.dart
create mode 100644 lib/presentation/views/pages/riwayat_page.dart
create mode 100644 lib/presentation/views/pages/scanner_screen.dart
create mode 100644 lib/presentation/views/pages/veryfikasiOTP.dart
create mode 100644 lib/presentation/views/splash_screen.dart
create mode 100644 lib/utils/device_id.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/.github/workflows/dart.yml b/.github/workflows/dart.yml
new file mode 100644
index 0000000..3383c71
--- /dev/null
+++ b/.github/workflows/dart.yml
@@ -0,0 +1,42 @@
+# This workflow uses actions that are not certified by GitHub.
+# They are provided by a third-party and are governed by
+# separate terms of service, privacy policy, and support
+# documentation.
+
+name: Dart
+
+on:
+ push:
+ branches: [ "main" ]
+ pull_request:
+ branches: [ "main" ]
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v4
+
+ # Note: This workflow uses the latest stable version of the Dart SDK.
+ # You can specify other versions if desired, see documentation here:
+ # https://github.com/dart-lang/setup-dart/blob/main/README.md
+ # - uses: dart-lang/setup-dart@v1
+ - uses: dart-lang/setup-dart@9a04e6d73cca37bd455e0608d7e5092f881fd603
+
+ - name: Install dependencies
+ run: dart pub get
+
+ # Uncomment this step to verify the use of 'dart format' on each commit.
+ # - name: Verify formatting
+ # run: dart format --output=none --set-exit-if-changed .
+
+ # Consider passing '--fatal-infos' for slightly stricter analysis.
+ - name: Analyze project source
+ run: dart analyze
+
+ # Your project will need to have tests in test/ and a dependency on
+ # package:test for this step to succeed. Note that Flutter projects will
+ # want to change this to 'flutter test'.
+ - name: Run tests
+ run: dart test
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..3820a95
--- /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-dependencies
+.pub-cache/
+.pub/
+/build/
+/coverage/
+
+# 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..9fb0019
--- /dev/null
+++ b/.metadata
@@ -0,0 +1,30 @@
+# 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: "582a0e7c5581dc0ca5f7bfd8662bb8db6f59d536"
+ channel: "stable"
+
+project_type: app
+
+# Tracks metadata for the flutter migrate command
+migration:
+ platforms:
+ - platform: root
+ create_revision: 582a0e7c5581dc0ca5f7bfd8662bb8db6f59d536
+ base_revision: 582a0e7c5581dc0ca5f7bfd8662bb8db6f59d536
+ - platform: android
+ create_revision: 582a0e7c5581dc0ca5f7bfd8662bb8db6f59d536
+ base_revision: 582a0e7c5581dc0ca5f7bfd8662bb8db6f59d536
+
+ # 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/.vscode/launch.json b/.vscode/launch.json
new file mode 100644
index 0000000..16fe745
--- /dev/null
+++ b/.vscode/launch.json
@@ -0,0 +1,25 @@
+{
+ // Use IntelliSense to learn about possible attributes.
+ // Hover to view descriptions of existing attributes.
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "name": "sidakpelem-mobile-main",
+ "request": "launch",
+ "type": "dart"
+ },
+ {
+ "name": "sidakpelem-mobile-main (profile mode)",
+ "request": "launch",
+ "type": "dart",
+ "flutterMode": "profile"
+ },
+ {
+ "name": "sidakpelem-mobile-main (release mode)",
+ "request": "launch",
+ "type": "dart",
+ "flutterMode": "release"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..fbf5a29
--- /dev/null
+++ b/README.md
@@ -0,0 +1,16 @@
+# sidak_desa_mobile
+
+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..8fa4bf0
--- /dev/null
+++ b/analysis_options.yaml
@@ -0,0 +1,33 @@
+# 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.
+analyzer:
+ errors:
+ avoid_print: ignore
+ deprecated_member_use: ignore
+ unused_import: ignore
+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..1653be0
--- /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.sidak_desa_mobile"
+ compileSdk = flutter.compileSdkVersion
+ ndkVersion = flutter.ndkVersion
+
+ compileOptions {
+ sourceCompatibility = JavaVersion.VERSION_17
+ targetCompatibility = JavaVersion.VERSION_17
+ }
+
+ kotlinOptions {
+ jvmTarget = JavaVersion.VERSION_17.toString()
+ }
+
+ defaultConfig {
+ // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
+ applicationId = "com.example.sidak_desa_mobile"
+ // 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..a41c647
--- /dev/null
+++ b/android/app/src/main/AndroidManifest.xml
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/android/app/src/main/kotlin/com/example/sidak_desa_mobile/MainActivity.kt b/android/app/src/main/kotlin/com/example/sidak_desa_mobile/MainActivity.kt
new file mode 100644
index 0000000..c579005
--- /dev/null
+++ b/android/app/src/main/kotlin/com/example/sidak_desa_mobile/MainActivity.kt
@@ -0,0 +1,5 @@
+package com.example.sidak_desa_mobile
+
+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@@q0|W-^A&VhjhO+044$%!YxiPI;`p4Q#=k
za-F;6dk-j1J*_nBlG2>3KywUtLX8Ua?`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..dbee657
--- /dev/null
+++ b/android/build.gradle.kts
@@ -0,0 +1,24 @@
+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/build/reports/problems/problems-report.html b/android/build/reports/problems/problems-report.html
new file mode 100644
index 0000000..0a894d1
--- /dev/null
+++ b/android/build/reports/problems/problems-report.html
@@ -0,0 +1,663 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ Gradle Configuration Cache
+
+
+
+
+
+
+ Loading...
+
+
+
+
+
+
+
diff --git a/android/gradle.properties b/android/gradle.properties
new file mode 100644
index 0000000..3c6656c
--- /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
+dev.steenbakker.mobile_scanner.useUnbundled=true
diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 0000000..e4ef43f
--- /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.14-all.zip
diff --git a/android/settings.gradle.kts b/android/settings.gradle.kts
new file mode 100644
index 0000000..ca7fe06
--- /dev/null
+++ b/android/settings.gradle.kts
@@ -0,0 +1,26 @@
+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.11.1" apply false
+ id("org.jetbrains.kotlin.android") version "2.2.20" apply false
+}
+
+include(":app")
diff --git a/assets/images/Union.png b/assets/images/Union.png
new file mode 100644
index 0000000000000000000000000000000000000000..3485652ff7b3b4c21c58822b332c4ec52ab34ef8
GIT binary patch
literal 11175
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