Browse Source

First Commit

dienianindya 4 months ago
parent
commit
67fedfb0e9
84 changed files with 4074 additions and 414 deletions
  1. 3
    3
      android/app/build.gradle
  2. 6
    6
      android/app/google-services.json
  3. 1
    1
      android/app/src/debug/AndroidManifest.xml
  4. 2
    2
      android/app/src/main/AndroidManifest.xml
  5. 1
    1
      android/app/src/main/java/com/icp/tower/MainActivity.java
  6. BIN
      android/app/src/main/res/appstore.png
  7. BIN
      android/app/src/main/res/mipmap-hdpi/ic_launcher.png
  8. BIN
      android/app/src/main/res/mipmap-hdpi/ic_launcher_background.png
  9. BIN
      android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
  10. BIN
      android/app/src/main/res/mipmap-hdpi/ic_launcher_monochrome.png
  11. BIN
      android/app/src/main/res/mipmap-mdpi/ic_launcher.png
  12. BIN
      android/app/src/main/res/mipmap-mdpi/ic_launcher_background.png
  13. BIN
      android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
  14. BIN
      android/app/src/main/res/mipmap-mdpi/ic_launcher_monochrome.png
  15. BIN
      android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
  16. BIN
      android/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png
  17. BIN
      android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
  18. BIN
      android/app/src/main/res/mipmap-xhdpi/ic_launcher_monochrome.png
  19. BIN
      android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
  20. BIN
      android/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png
  21. BIN
      android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
  22. BIN
      android/app/src/main/res/mipmap-xxhdpi/ic_launcher_monochrome.png
  23. BIN
      android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
  24. BIN
      android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png
  25. BIN
      android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
  26. BIN
      android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_monochrome.png
  27. BIN
      android/app/src/main/res/play_store_512.png
  28. BIN
      android/app/src/main/res/playstore.png
  29. 1
    1
      android/app/src/profile/AndroidManifest.xml
  30. BIN
      assets/icons/logo_bakti_1.png
  31. BIN
      assets/icons/logo_bakti_2.png
  32. BIN
      assets/icons/menu/survey_1.png
  33. BIN
      assets/icons/menu/survey_2.png
  34. BIN
      assets/icons/menu/survey_3.png
  35. BIN
      assets/icons/menu/survey_4.png
  36. BIN
      assets/icons/tower_1.png
  37. BIN
      assets/images/ic_logo.png
  38. BIN
      assets/images/sindi_icon.png
  39. BIN
      canvasing_keystore.jks
  40. 3
    3
      ios/Runner.xcodeproj/project.pbxproj
  41. 1
    1
      ios/Runner/GoogleService-Info.plist
  42. 2
    2
      ios/Runner/Info.plist
  43. 3
    3
      ios/firebase_app_id_file.json
  44. 8
    13
      lib/Screens/Home/home_screen.dart
  45. 2
    3
      lib/Screens/Login/background.dart
  46. 1
    1
      lib/Screens/Login/login_post.dart
  47. 3
    2
      lib/Screens/Login/login_screen.dart
  48. 386
    89
      lib/Screens/Menu/Canvasing/canvasingDetail_screen.dart
  49. 6
    2
      lib/Screens/Menu/Canvasing/canvasing_screen.dart
  50. 1
    1
      lib/Screens/Menu/Canvasing/filingData_post.dart
  51. 2
    2
      lib/Screens/Menu/Canvasing/filing_screen.dart
  52. 1
    1
      lib/Screens/Menu/Canvasing/getAll_post.dart
  53. 1
    1
      lib/Screens/Menu/Canvasing/navigate_post.dart
  54. 1
    1
      lib/Screens/Menu/Canvasing/startFiling_post.dart
  55. 1
    1
      lib/Screens/Menu/Canvasing/updateGPS_post.dart
  56. 44
    30
      lib/Screens/Menu/Dashboard/dashboard_screen.dart
  57. 1
    1
      lib/Screens/Menu/History/getHistory_post.dart
  58. 3
    3
      lib/Screens/Menu/History/history_screen.dart
  59. 1099
    0
      lib/Screens/Menu/Survey/detailsurvey_screen.dart
  60. 1787
    0
      lib/Screens/Menu/Survey/editsurvey_screen.dart
  61. 28
    0
      lib/Screens/Menu/Survey/getdetailtsurvey_post.dart
  62. 32
    0
      lib/Screens/Menu/Survey/getlistsurvey_post.dart
  63. 45
    0
      lib/Screens/Menu/Survey/sendSurvey_post.dart
  64. 308
    0
      lib/Screens/Menu/Survey/surveylist_screen.dart
  65. 1
    1
      lib/Screens/Settings/RequestHttp/changePassword_post.dart
  66. 1
    1
      lib/Screens/Settings/RequestHttp/changeprofileimage_post.dart
  67. 1
    1
      lib/Screens/Settings/RequestHttp/getDetail_post.dart
  68. 1
    1
      lib/Screens/Settings/RequestHttp/getProfileImage_post.dart
  69. 1
    1
      lib/Screens/Settings/RequestHttp/logout_post.dart
  70. 5
    5
      lib/Screens/Settings/settings_screen.dart
  71. 1
    1
      lib/Screens/Splash/loginstatus_post.dart
  72. 13
    5
      lib/Screens/Splash/splash_screen.dart
  73. 1
    1
      lib/constants.dart
  74. 18
    36
      lib/firebase_options.dart
  75. 1
    1
      lib/main.dart
  76. 2
    0
      macos/Flutter/GeneratedPluginRegistrant.swift
  77. 1
    1
      macos/Runner/GoogleService-Info.plist
  78. 3
    3
      macos/firebase_app_id_file.json
  79. 207
    151
      pubspec.lock
  80. 27
    24
      pubspec.yaml
  81. 1
    1
      test/widget_test.dart
  82. BIN
      tower_keystore.jks
  83. 3
    3
      web/index.html
  84. 3
    3
      web/manifest.json

+ 3
- 3
android/app/build.gradle View File

@@ -40,7 +40,7 @@ android {
40 40
 
41 41
     defaultConfig {
42 42
         // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
43
-        applicationId "com.icp.canvassing"
43
+        applicationId "com.icp.tower"
44 44
         // You can update the following values to match your application needs.
45 45
         // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration.
46 46
         //minSdkVersion flutter.minSdkVersion
@@ -54,9 +54,9 @@ android {
54 54
 
55 55
     signingConfigs {
56 56
         release {
57
-            storeFile file('D:/Android Studio Projects/poc/canvasing_keystore.jks')
57
+            storeFile file('D:/Android Studio Projects/tower/tower_keystore.jks')
58 58
             storePassword '123123'
59
-            keyAlias 'canvasing_keystore'
59
+            keyAlias 'tower_keystore'
60 60
             keyPassword '123123'
61 61
         }
62 62
     }

+ 6
- 6
android/app/google-services.json View File

@@ -1,21 +1,21 @@
1 1
 {
2 2
   "project_info": {
3
-    "project_number": "11716618948",
4
-    "project_id": "canvas-56baa",
5
-    "storage_bucket": "canvas-56baa.appspot.com"
3
+    "project_number": "882999599258",
4
+    "project_id": "towerapp-7c319",
5
+    "storage_bucket": "towerapp-7c319.appspot.com"
6 6
   },
7 7
   "client": [
8 8
     {
9 9
       "client_info": {
10
-        "mobilesdk_app_id": "1:11716618948:android:e8a6512d2d905094937791",
10
+        "mobilesdk_app_id": "1:882999599258:android:cad182a9fb3ecb72f0bf23",
11 11
         "android_client_info": {
12
-          "package_name": "com.icp.canvassing"
12
+          "package_name": "com.icp.tower"
13 13
         }
14 14
       },
15 15
       "oauth_client": [],
16 16
       "api_key": [
17 17
         {
18
-          "current_key": "AIzaSyAsylxl5a2treqN-GI1lqcx6Ode6-hl8hk"
18
+          "current_key": "AIzaSyCliz5B63cjNerUsuoAI95Pj_l9xC55uLA"
19 19
         }
20 20
       ],
21 21
       "services": {

+ 1
- 1
android/app/src/debug/AndroidManifest.xml View File

@@ -1,5 +1,5 @@
1 1
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
2
-    package="com.icp.canvassing">
2
+    package="com.icp.tower">
3 3
     <!-- The INTERNET permission is required for development. Specifically,
4 4
          the Flutter tool needs it to communicate with the running application
5 5
          to allow setting breakpoints, to provide hot reload, etc.

+ 2
- 2
android/app/src/main/AndroidManifest.xml View File

@@ -1,6 +1,6 @@
1 1
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
2 2
     xmlns:tools="http://schemas.android.com/tools"
3
-    package="com.icp.canvassing">
3
+    package="com.icp.tower">
4 4
 
5 5
     <uses-permission android:name="android.permission.INTERNET" />
6 6
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
@@ -9,7 +9,7 @@
9 9
 
10 10
     <application
11 11
         android:icon="@mipmap/ic_launcher"
12
-        android:label="Canvasing App"
12
+        android:label="POC Bakti"
13 13
         android:usesCleartextTraffic="true"
14 14
         tools:targetApi="m">
15 15
 

android/app/src/main/java/com/icp/canvassing/MainActivity.java → android/app/src/main/java/com/icp/tower/MainActivity.java View File

@@ -1,4 +1,4 @@
1
-package com.icp.canvassing;
1
+package com.icp.tower;
2 2
 
3 3
 import io.flutter.embedding.android.FlutterActivity;
4 4
 

BIN
android/app/src/main/res/appstore.png View File


BIN
android/app/src/main/res/mipmap-hdpi/ic_launcher.png View File


BIN
android/app/src/main/res/mipmap-hdpi/ic_launcher_background.png View File


BIN
android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png View File


BIN
android/app/src/main/res/mipmap-hdpi/ic_launcher_monochrome.png View File


BIN
android/app/src/main/res/mipmap-mdpi/ic_launcher.png View File


BIN
android/app/src/main/res/mipmap-mdpi/ic_launcher_background.png View File


BIN
android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png View File


BIN
android/app/src/main/res/mipmap-mdpi/ic_launcher_monochrome.png View File


BIN
android/app/src/main/res/mipmap-xhdpi/ic_launcher.png View File


BIN
android/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png View File


BIN
android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png View File


BIN
android/app/src/main/res/mipmap-xhdpi/ic_launcher_monochrome.png View File


BIN
android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png View File


BIN
android/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png View File


BIN
android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png View File


BIN
android/app/src/main/res/mipmap-xxhdpi/ic_launcher_monochrome.png View File


BIN
android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png View File


BIN
android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png View File


BIN
android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png View File


BIN
android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_monochrome.png View File


BIN
android/app/src/main/res/play_store_512.png View File


BIN
android/app/src/main/res/playstore.png View File


+ 1
- 1
android/app/src/profile/AndroidManifest.xml View File

@@ -1,5 +1,5 @@
1 1
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
2
-    package="com.urp.hris">
2
+    package="com.icp.tower">
3 3
     <!-- The INTERNET permission is required for development. Specifically,
4 4
          the Flutter tool needs it to communicate with the running application
5 5
          to allow setting breakpoints, to provide hot reload, etc.

BIN
assets/icons/logo_bakti_1.png View File


BIN
assets/icons/logo_bakti_2.png View File


BIN
assets/icons/menu/survey_1.png View File


BIN
assets/icons/menu/survey_2.png View File


BIN
assets/icons/menu/survey_3.png View File


BIN
assets/icons/menu/survey_4.png View File


BIN
assets/icons/tower_1.png View File


BIN
assets/images/ic_logo.png View File


BIN
assets/images/sindi_icon.png View File


BIN
canvasing_keystore.jks View File


+ 3
- 3
ios/Runner.xcodeproj/project.pbxproj View File

@@ -294,7 +294,7 @@
294 294
 					"$(inherited)",
295 295
 					"@executable_path/Frameworks",
296 296
 				);
297
-				PRODUCT_BUNDLE_IDENTIFIER = com.urp.hris;
297
+				PRODUCT_BUNDLE_IDENTIFIER = com.icp.tower;
298 298
 				PRODUCT_NAME = "$(TARGET_NAME)";
299 299
 				SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
300 300
 				SWIFT_VERSION = 5.0;
@@ -422,7 +422,7 @@
422 422
 					"$(inherited)",
423 423
 					"@executable_path/Frameworks",
424 424
 				);
425
-				PRODUCT_BUNDLE_IDENTIFIER = com.urp.hris;
425
+				PRODUCT_BUNDLE_IDENTIFIER = com.icp.tower;
426 426
 				PRODUCT_NAME = "$(TARGET_NAME)";
427 427
 				SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
428 428
 				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
@@ -444,7 +444,7 @@
444 444
 					"$(inherited)",
445 445
 					"@executable_path/Frameworks",
446 446
 				);
447
-				PRODUCT_BUNDLE_IDENTIFIER = com.urp.hris;
447
+				PRODUCT_BUNDLE_IDENTIFIER = com.icp.tower;
448 448
 				PRODUCT_NAME = "$(TARGET_NAME)";
449 449
 				SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
450 450
 				SWIFT_VERSION = 5.0;

+ 1
- 1
ios/Runner/GoogleService-Info.plist View File

@@ -13,7 +13,7 @@
13 13
 	<key>PLIST_VERSION</key>
14 14
 	<string>1</string>
15 15
 	<key>BUNDLE_ID</key>
16
-	<string>com.example.hrisSelfserviceMobile</string>
16
+	<string>com.icp.tower</string>
17 17
 	<key>PROJECT_ID</key>
18 18
 	<string>gsi---employee-self-service</string>
19 19
 	<key>STORAGE_BUCKET</key>

+ 2
- 2
ios/Runner/Info.plist View File

@@ -5,7 +5,7 @@
5 5
 	<key>CFBundleDevelopmentRegion</key>
6 6
 	<string>$(DEVELOPMENT_LANGUAGE)</string>
7 7
 	<key>CFBundleDisplayName</key>
8
-	<string>employee self service</string>
8
+	<string>Tower App</string>
9 9
 	<key>CFBundleExecutable</key>
10 10
 	<string>$(EXECUTABLE_NAME)</string>
11 11
 	<key>CFBundleIdentifier</key>
@@ -13,7 +13,7 @@
13 13
 	<key>CFBundleInfoDictionaryVersion</key>
14 14
 	<string>6.0</string>
15 15
 	<key>CFBundleName</key>
16
-	<string>Employee Self Service</string>
16
+	<string>Tower App</string>
17 17
 	<key>CFBundlePackageType</key>
18 18
 	<string>APPL</string>
19 19
 	<key>CFBundleShortVersionString</key>

+ 3
- 3
ios/firebase_app_id_file.json View File

@@ -1,7 +1,7 @@
1 1
 {
2 2
   "file_generated_by": "FlutterFire CLI",
3 3
   "purpose": "FirebaseAppID & ProjectID for this Firebase app in this directory",
4
-  "GOOGLE_APP_ID": "1:11716618948:ios:2cfdbccbd58e6267937791",
5
-  "FIREBASE_PROJECT_ID": "canvas-56baa",
6
-  "GCM_SENDER_ID": "11716618948"
4
+  "GOOGLE_APP_ID": "1:882999599258:ios:833092d4b56f3f16f0bf23",
5
+  "FIREBASE_PROJECT_ID": "towerapp-7c319",
6
+  "GCM_SENDER_ID": "882999599258"
7 7
 }

+ 8
- 13
lib/Screens/Home/home_screen.dart View File

@@ -1,19 +1,15 @@
1 1
 import 'dart:async';
2
-import 'package:connectivity_plus/connectivity_plus.dart';
3 2
 import 'package:double_back_to_close/double_back_to_close.dart';
4
-import 'package:employee_selfservice_mobile/Screens/Menu/Canvasing/canvasing_screen.dart';
5
-import 'package:employee_selfservice_mobile/Screens/Menu/Dashboard/dashboard_screen.dart';
6
-import 'package:employee_selfservice_mobile/Screens/Menu/History/history_screen.dart';
7 3
 import 'package:flutter/cupertino.dart';
8 4
 import 'package:flutter/material.dart';
9 5
 import 'package:focus_detector/focus_detector.dart';
10 6
 import 'package:google_fonts/google_fonts.dart';
11
-import 'package:employee_selfservice_mobile/Screens/Menu/About/about_screen.dart';
12
-import 'package:employee_selfservice_mobile/Screens/Settings/settings_screen.dart';
7
+import 'package:tower_app/Screens/Menu/About/about_screen.dart';
13 8
 import 'package:lottie/lottie.dart';
14 9
 import 'dart:developer' as logDev;
15 10
 import 'package:internet_connection_checker/internet_connection_checker.dart';
16
-
11
+import 'package:connectivity_plus/connectivity_plus.dart';
12
+import '../Menu/Survey/surveylist_screen.dart';
17 13
 
18 14
 var _imageToShow;
19 15
 
@@ -30,7 +26,6 @@ class _HomeView extends State<HomeView> {
30 26
   @override
31 27
   initState() {
32 28
     getConnectivity();
33
-    /*getDetail();*/
34 29
     _imageToShow = AssetImage('assets/images/ic_pp_2.png');
35 30
     WidgetsBinding.instance.addPostFrameCallback((_) {
36 31
       _imageToShow = AssetImage('assets/icons/ic_pp_2.png');
@@ -304,13 +299,13 @@ class _HomeScreenState extends State<HomeScreen> {
304 299
                                           Container(
305 300
                                             width: size.width * 0.18,
306 301
                                             child: Image.asset(
307
-                                                "assets/icons/menu/ic_canvasing_3.png",
302
+                                                "assets/icons/menu/survey_4.png",
308 303
                                                 fit: BoxFit.contain)
309 304
                                           ),
310 305
                                           Container(
311 306
                                             margin: EdgeInsets.only(top: 5),
312 307
                                             child: Text(
313
-                                              'Canvasing',
308
+                                              'Survey',
314 309
                                               textAlign: TextAlign.center,
315 310
                                               style: GoogleFonts.acme(
316 311
                                                   fontSize: size.width * 0.045,
@@ -326,9 +321,9 @@ class _HomeScreenState extends State<HomeScreen> {
326 321
                                       context,
327 322
                                       MaterialPageRoute(
328 323
                                           builder: (context) =>
329
-                                              CanvasingScreen()));
324
+                                              ListSurveyScreen()));
330 325
                                 }),
331
-                            InkWell(
326
+                            /*InkWell(
332 327
                                 child: Container(
333 328
                                     width: size.width,
334 329
                                     height: size.height,
@@ -405,7 +400,7 @@ class _HomeScreenState extends State<HomeScreen> {
405 400
                                       MaterialPageRoute(
406 401
                                           builder: (context) =>
407 402
                                               HistoryScreen()));
408
-                                }),
403
+                                }),*/
409 404
                             InkWell(
410 405
                               child: Container(
411 406
                                 width: size.width,

+ 2
- 3
lib/Screens/Login/background.dart View File

@@ -14,11 +14,10 @@ class Background extends StatelessWidget {
14 14
             alignment: Alignment.bottomCenter,
15 15
             children: <Widget>[
16 16
               Container(
17
-                alignment: Alignment.bottomCenter,
18 17
                 padding: EdgeInsets.only(top: 0),
19 18
                 child: Image.asset(
20
-                  'assets/images/collaboration.png',
21
-                  width: MediaQuery.of(context).size.width / 1.5,
19
+                  'assets/icons/logo_bakti_1.png',
20
+                  width: MediaQuery.of(context).size.width / 2,
22 21
                 ),
23 22
               ),
24 23
               Container(

+ 1
- 1
lib/Screens/Login/login_post.dart View File

@@ -2,7 +2,7 @@ import 'dart:convert';
2 2
 import 'dart:core';
3 3
 import 'dart:io' show Platform;
4 4
 import 'package:http/http.dart' as http;
5
-import 'package:employee_selfservice_mobile/constants.dart';
5
+import 'package:tower_app/constants.dart';
6 6
 import 'dart:developer' as developer;
7 7
 
8 8
 late String platformDevice;

+ 3
- 2
lib/Screens/Login/login_screen.dart View File

@@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
3 3
 import 'package:flutter/services.dart';
4 4
 import 'package:fluttertoast/fluttertoast.dart';
5 5
 import 'package:google_fonts/google_fonts.dart';
6
-import 'package:employee_selfservice_mobile/Screens/Login/background.dart';
6
+import 'package:tower_app/Screens/Login/background.dart';
7 7
 import 'package:progress_dialog_null_safe/progress_dialog_null_safe.dart';
8 8
 import 'package:shared_preferences/shared_preferences.dart';
9 9
 import '../Home/home_screen.dart';
@@ -82,7 +82,8 @@ class _LoginScreenState extends State<LoginScreen> {
82 82
               Column(
83 83
                 crossAxisAlignment: CrossAxisAlignment.center,
84 84
                 children: <Widget>[
85
-                  Padding(
85
+                  Container(
86
+                    margin: EdgeInsets.only (top: 15),
86 87
                     padding: EdgeInsets.only(top: 0),
87 88
                     child: Text(
88 89
                       "Login",

+ 386
- 89
lib/Screens/Menu/Canvasing/canvasingDetail_screen.dart View File

@@ -2,13 +2,15 @@ import 'dart:async';
2 2
 import 'dart:convert';
3 3
 import 'dart:ffi';
4 4
 
5
-import 'package:employee_selfservice_mobile/Screens/Menu/Canvasing/filing_screen.dart';
6
-import 'package:employee_selfservice_mobile/Screens/Menu/Canvasing/navigate_post.dart';
7
-import 'package:employee_selfservice_mobile/Screens/Menu/Canvasing/startFiling_post.dart';
8
-import 'package:employee_selfservice_mobile/Screens/Menu/Canvasing/updateGPS_post.dart';
5
+import 'package:tower_app/Screens/Menu/Canvasing/filing_screen.dart';
6
+import 'package:tower_app/Screens/Menu/Canvasing/navigate_post.dart';
7
+import 'package:tower_app/Screens/Menu/Canvasing/startFiling_post.dart';
8
+import 'package:tower_app/Screens/Menu/Canvasing/updateGPS_post.dart';
9
+import 'package:flutter/cupertino.dart';
9 10
 import 'package:flutter/material.dart';
10 11
 import 'package:flutter_map/plugin_api.dart';
11 12
 import 'package:geolocator/geolocator.dart';
13
+import 'package:google_fonts/google_fonts.dart';
12 14
 import 'package:latlong2/latlong.dart' as latlong;
13 15
 import 'package:location/location.dart' as loc;
14 16
 import 'dart:developer' as logDev;
@@ -17,6 +19,8 @@ import 'package:progress_dialog_null_safe/progress_dialog_null_safe.dart';
17 19
 import 'package:shared_preferences/shared_preferences.dart';
18 20
 import 'package:sliding_up_panel/sliding_up_panel.dart';
19 21
 
22
+import '../../background.dart';
23
+
20 24
 class CanvasingDetail extends StatefulWidget {
21 25
   const CanvasingDetail({Key? key}) : super(key: key);
22 26
 
@@ -28,13 +32,26 @@ class _CanvasingDetail extends State<CanvasingDetail> {
28 32
   late latlong.LatLng point = latlong.LatLng(-6.183580253674716, 106.93103973792664);
29 33
   late Position position;
30 34
 
35
+  late String name, customer, telp, alamat;
36
+
37
+  bool visibleData = true;
38
+  bool visibleMap = false;
39
+  bool visibleButtonUpdate = false;
40
+  bool visibleNavigate = true;
41
+  bool visibleFiling  = false;
42
+
31 43
   MapController _mapController = MapController();
32 44
 
33 45
   @override
34 46
   void initState() {
35
-    determinePosition();
47
+    //determinePosition();
48
+    name = "";
49
+    customer = "";
50
+    telp = "";
51
+    alamat = "";
52
+
36 53
     WidgetsBinding.instance.addPostFrameCallback((_) {
37
-      initTimer();
54
+      getData();
38 55
     });
39 56
     super.initState();
40 57
   }
@@ -55,6 +72,38 @@ class _CanvasingDetail extends State<CanvasingDetail> {
55 72
     super.dispose();
56 73
   }
57 74
 
75
+  getData() async {
76
+    ProgressDialog loading = ProgressDialog(context);
77
+    loading = ProgressDialog(context,
78
+        type: ProgressDialogType.normal, isDismissible: false, showLogs: true);
79
+    loading.style(
80
+        message: 'Please Wait .....',
81
+        borderRadius: 3,
82
+        backgroundColor: Colors.white,
83
+        progressWidget: CircularProgressIndicator(),
84
+        elevation: 10.0,
85
+        padding: EdgeInsets.all(10),
86
+        insetAnimCurve: Curves.easeInOut,
87
+        progress: 0.0,
88
+        maxProgress: 100.0,
89
+        progressTextStyle: TextStyle(
90
+            color: Colors.black, fontSize: 10.0, fontWeight: FontWeight.w400),
91
+        messageTextStyle: TextStyle(
92
+            color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
93
+
94
+    await loading.show();
95
+    final SharedPreferences prefs = await SharedPreferences.getInstance();
96
+    setState(() {
97
+      name = prefs.getString('name')!;
98
+      customer = prefs.getString('customer')!;
99
+      telp = prefs.getString('telp')!;
100
+      alamat = prefs.getString('alamat')!;
101
+      logDev.log(name + ", " + customer + ", " + telp + ", " + alamat, name: "DATANYA APA NIH?");
102
+    });
103
+    await loading.hide();
104
+
105
+  }
106
+
58 107
   determinePosition() async {
59 108
     StreamSubscription<ServiceStatus> serviceStatusStream = Geolocator.getServiceStatusStream().listen(
60 109
             (ServiceStatus status) {
@@ -144,8 +193,9 @@ class _CanvasingDetail extends State<CanvasingDetail> {
144 193
         }
145 194
         await loading.hide();
146 195
       });
147
-      logDev.log("DAH SELESE BUiLD NAVIGATENYA!", name: "UDAH?");
196
+      logDev.log("DAH SELESE BUILD NAVIGATENYA!", name: "UDAH?");
148 197
 
198
+      initTimer();
149 199
     }
150 200
 
151 201
   Future<void> updatePosition() async {
@@ -268,51 +318,247 @@ class _CanvasingDetail extends State<CanvasingDetail> {
268 318
         body: Container (
269 319
           child: Stack(
270 320
             children: [
271
-              FlutterMap(
272
-                mapController: _mapController,
273
-                options: new MapOptions(
274
-                    onTap: (p, point) async {}, center: point, zoom: 15),
275
-                children: [
276
-                  TileLayer(
277
-                    minZoom: 1,
278
-                    maxZoom: 22,
279
-                    maxNativeZoom: 18,
280
-                    minNativeZoom: 1,
281
-                    backgroundColor: Colors.black54,
282
-                    urlTemplate:
283
-                    'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
284
-                    subdomains: ['a', 'b', 'c'],
285
-                  ),
286
-                  MarkerLayer(markers: [
287
-                    Marker(
288
-                        width: 135,
289
-                        height: 135,
290
-                        point: point,
291
-                        builder: (ctx) => Container(
292
-                          child: Icon(
293
-                            Icons.location_on,
294
-                            color: Colors.red,
321
+              Visibility(
322
+                  visible: visibleData,
323
+                  child: Stack(
324
+                    children: [
325
+                      WavyHeader(),
326
+                      Container(
327
+                          margin: EdgeInsets.only(
328
+                              top: (size.height / 6) - 20),
329
+                          padding: EdgeInsets.fromLTRB(0, 5, 25, 5),
330
+                          child: Row(
331
+                            mainAxisAlignment: MainAxisAlignment.end,
332
+                            crossAxisAlignment: CrossAxisAlignment.end,
333
+                            children: [
334
+                              Text(
335
+                                'Detail Canvasing\t\t',
336
+                                maxLines: 1,
337
+                                style: GoogleFonts.luckiestGuy(
338
+                                  fontSize: 28,
339
+                                  color: Color(0xFF4858A7),
340
+                                  fontStyle: FontStyle.italic,
341
+                                ),
342
+                              ),
343
+                              Image.asset(
344
+                                'assets/icons/menu/ic_history.png',
345
+                                width: 40,
346
+                                height: 40,
347
+                              ),
348
+                            ],
349
+                          )
350
+                      ),
351
+                      SafeArea(
352
+                        child: Container(
353
+                          width: MediaQuery.of(context).size.width,
354
+                          margin: EdgeInsets.only(
355
+                            top: MediaQuery.of(context).size.height / 5,
356
+                            left: 10,
357
+                            right: 10,
358
+                            bottom : 15,
359
+                          ),
360
+                          child: Container(
361
+                            child: Card(
362
+                              elevation: 10,
363
+                              child: Container(
364
+                                decoration: BoxDecoration(
365
+                                    color: Color(0XFFFAF7EE),
366
+                                    borderRadius: BorderRadius.circular(10)),
367
+                                child: Column(
368
+                                  children: [
369
+                                    Container(
370
+                                      margin: EdgeInsets.only(left: 10, right: 10, top: 15, bottom: 10),
371
+                                      child: Column(
372
+                                        children: [
373
+                                          Align(
374
+                                            alignment: Alignment.centerLeft,
375
+                                            child:  Text(
376
+                                              'Name',
377
+                                              style: GoogleFonts.inconsolata(
378
+                                                  fontSize: 19, fontWeight: FontWeight.bold),
379
+                                            ),
380
+                                          ),
381
+                                          Container(
382
+                                            margin: EdgeInsets.only(top: 7),
383
+                                            width: MediaQuery.of(context).size.width,
384
+                                            height: 35,
385
+                                            decoration: BoxDecoration(
386
+                                                color:
387
+                                                CupertinoColors.systemGrey2,
388
+                                                borderRadius:
389
+                                                BorderRadius.circular(5)),
390
+                                            child: Align(
391
+                                              alignment: Alignment.centerLeft,
392
+                                              child:  Text(
393
+                                                '\t\t' + name,
394
+                                                style: GoogleFonts.inconsolata(
395
+                                                    fontSize: 17),
396
+                                              ),
397
+                                            ),
398
+                                          ),
399
+                                        ],
400
+                                      ),
401
+                                    ),
402
+                                    Container(
403
+                                      margin: EdgeInsets.only(left: 10, right: 10, top: 15, bottom: 10),
404
+                                      child: Column(
405
+                                        children: [
406
+                                          Align(
407
+                                            alignment: Alignment.centerLeft,
408
+                                            child:  Text(
409
+                                              'Customer',
410
+                                              style: GoogleFonts.inconsolata(
411
+                                                  fontSize: 19, fontWeight: FontWeight.bold),
412
+                                            ),
413
+                                          ),
414
+                                          Container(
415
+                                            margin: EdgeInsets.only(top: 7),
416
+                                            width: MediaQuery.of(context).size.width,
417
+                                            height: 35,
418
+                                            decoration: BoxDecoration(
419
+                                                color:
420
+                                                CupertinoColors.systemGrey2,
421
+                                                borderRadius:
422
+                                                BorderRadius.circular(5)),
423
+                                            child: Align(
424
+                                              alignment: Alignment.centerLeft,
425
+                                              child:  Text(
426
+                                                '\t\t' + customer,
427
+                                                style: GoogleFonts.inconsolata(
428
+                                                    fontSize: 17),
429
+                                              ),
430
+                                            ),
431
+                                          ),
432
+                                        ],
433
+                                      ),
434
+                                    ),
435
+                                    Container(
436
+                                      margin: EdgeInsets.only(left: 10, right: 10, top: 15, bottom: 10),
437
+                                      child: Column(
438
+                                        children: [
439
+                                          Align(
440
+                                            alignment: Alignment.centerLeft,
441
+                                            child:  Text(
442
+                                              'Phone Number',
443
+                                              style: GoogleFonts.inconsolata(
444
+                                                  fontSize: 19, fontWeight: FontWeight.bold),
445
+                                            ),
446
+                                          ),
447
+                                          Container(
448
+                                            margin: EdgeInsets.only(top: 7),
449
+                                            width: MediaQuery.of(context).size.width,
450
+                                            height: 35,
451
+                                            decoration: BoxDecoration(
452
+                                                color:
453
+                                                CupertinoColors.systemGrey2,
454
+                                                borderRadius:
455
+                                                BorderRadius.circular(5)),
456
+                                            child: Align(
457
+                                              alignment: Alignment.centerLeft,
458
+                                              child:  Text(
459
+                                                '\t\t' + telp,
460
+                                                style: GoogleFonts.inconsolata(
461
+                                                    fontSize: 17),
462
+                                              ),
463
+                                            ),
464
+                                          ),
465
+                                        ],
466
+                                      ),
467
+                                    ),
468
+                                    Container(
469
+                                      margin: EdgeInsets.only(left: 10, right: 10, top: 15, bottom: 10),
470
+                                      child: Column(
471
+                                        children: [
472
+                                          Align(
473
+                                            alignment: Alignment.centerLeft,
474
+                                            child:  Text(
475
+                                              'Address',
476
+                                              style: GoogleFonts.inconsolata(
477
+                                                  fontSize: 19, fontWeight: FontWeight.bold),
478
+                                            ),
479
+                                          ),
480
+                                          Container(
481
+                                            margin: EdgeInsets.only(top: 7),
482
+                                            width: MediaQuery.of(context).size.width,
483
+                                            height: 35,
484
+                                            decoration: BoxDecoration(
485
+                                                color:
486
+                                                CupertinoColors.systemGrey2,
487
+                                                borderRadius:
488
+                                                BorderRadius.circular(5)),
489
+                                            child: Align(
490
+                                              alignment: Alignment.centerLeft,
491
+                                              child:  Text(
492
+                                                '\t\t' + alamat,
493
+                                                style: GoogleFonts.inconsolata(
494
+                                                    fontSize: 17),
495
+                                              ),
496
+                                            ),
497
+                                          ),
498
+                                        ],
499
+                                      ),
500
+                                    ),
501
+                                  ],
502
+                                ),
503
+                              ),
504
+                            ),
295 505
                           ),
296
-                        ))
297
-                  ])
298
-                ],
506
+                        ),
507
+                      ),
508
+                    ],
509
+                  )),
510
+              Visibility(
511
+                visible: visibleMap,
512
+                child: FlutterMap(
513
+                  mapController: _mapController,
514
+                  options: new MapOptions(
515
+                      onTap: (p, point) async {}, center: point, zoom: 15),
516
+                  children: [
517
+                    TileLayer(
518
+                      minZoom: 1,
519
+                      maxZoom: 22,
520
+                      maxNativeZoom: 18,
521
+                      minNativeZoom: 1,
522
+                      backgroundColor: Colors.black54,
523
+                      urlTemplate:
524
+                      'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
525
+                      subdomains: ['a', 'b', 'c'],
526
+                    ),
527
+                    MarkerLayer(markers: [
528
+                      Marker(
529
+                          width: 135,
530
+                          height: 135,
531
+                          point: point,
532
+                          builder: (ctx) => Container(
533
+                            child: Icon(
534
+                              Icons.location_on,
535
+                              color: Colors.red,
536
+                            ),
537
+                          ))
538
+                    ])
539
+                  ],
540
+                ),
299 541
               ),
300
-              Container(
301
-                alignment: AlignmentDirectional.bottomEnd,
302
-                child: Container(
303
-                  margin: EdgeInsets.fromLTRB(10, 15, 0, (size.height*0.3) + 15),
304
-                  child: RawMaterialButton(
305
-                    onPressed: () {
306
-                      setState(() {
307
-                        updatePosition();
308
-                      });
309
-                    },
310
-                    elevation: 5.0,
311
-                    fillColor: Colors.white,
312
-                    child: Image.asset('assets/images/location1.png',
313
-                        height: 40, width: 40),
314
-                    padding: EdgeInsets.all(5.0),
315
-                    shape: CircleBorder(),
542
+              Visibility(
543
+                visible: visibleButtonUpdate,
544
+                child:
545
+                Container(
546
+                  alignment: AlignmentDirectional.bottomEnd,
547
+                  child: Container(
548
+                    margin: EdgeInsets.fromLTRB(10, 15, 0, (size.height*0.2) + 15),
549
+                    child: RawMaterialButton(
550
+                      onPressed: () {
551
+                        setState(() {
552
+                          updatePosition();
553
+                        });
554
+                      },
555
+                      elevation: 5.0,
556
+                      fillColor: Colors.white,
557
+                      child: Image.asset('assets/images/location1.png',
558
+                          height: 40, width: 40),
559
+                      padding: EdgeInsets.all(5.0),
560
+                      shape: CircleBorder(),
561
+                    ),
316 562
                   ),
317 563
                 ),
318 564
               ),
@@ -346,46 +592,97 @@ class _CanvasingDetail extends State<CanvasingDetail> {
346 592
                   ],
347 593
                 ),
348 594
               ),
349
-              Container(
350
-                margin: EdgeInsets.fromLTRB(10, 15, 10, 15),
351
-                child: InkWell(
352
-                  child: Container(
353
-                      padding: EdgeInsets.fromLTRB(10, 10, 10, 10),
354
-                      width: double.infinity,
355
-                      decoration: BoxDecoration(
356
-                          borderRadius: BorderRadius.circular(5),
357
-                          gradient: LinearGradient(colors: [
358
-                            Color(0xFF2D4059),
359
-                            Color(0xFF2D4059),
360
-                          ])),
361
-                      child: Row(
362
-                        mainAxisAlignment: MainAxisAlignment.center,
363
-                        children: [
364
-                          Text('Start Filing\t\t',
365
-                              textAlign: TextAlign.center,
366
-                              style: TextStyle(
367
-                                  color: Colors.white,
368
-                                  fontSize: 17,
369
-                                  fontWeight: FontWeight.w500)),
370
-                          Image.asset(
371
-                            'assets/images/ic_arrow_white.png',
372
-                            width: 30,
373
-                            height: 30,
374
-                          )
375
-                        ],
376
-                      )),
377
-                  onTap: () async {
378
-                    final SharedPreferences prefs = await SharedPreferences.getInstance();
379
-                    String? idDetail = prefs.getString('idDetail');
380
-                    int? user_id = prefs.getInt('user_id');
381
-
382
-                    StartFiling_Post.connectToAPI(idDetail!, user_id!).then((valueResult) async {
383
-                      Navigator.push(context, MaterialPageRoute(builder: (context) => FilingScreen()));
384
-                    });
385
-
386
-                  },
595
+              Visibility(
596
+                visible: visibleNavigate,
597
+                child: Container(
598
+                  margin: EdgeInsets.fromLTRB(10, 15, 10, 15),
599
+                  child: InkWell(
600
+                    child: Container(
601
+                        padding: EdgeInsets.fromLTRB(10, 10, 10, 10),
602
+                        width: double.infinity,
603
+                        decoration: BoxDecoration(
604
+                            borderRadius: BorderRadius.circular(5),
605
+                            gradient: LinearGradient(colors: [
606
+                              Color(0xFF2D4059),
607
+                              Color(0xFF2D4059),
608
+                            ])),
609
+                        child: Row(
610
+                          mainAxisAlignment: MainAxisAlignment.center,
611
+                          children: [
612
+                            Text('Start Navigate\t\t',
613
+                                textAlign: TextAlign.center,
614
+                                style: TextStyle(
615
+                                    color: Colors.white,
616
+                                    fontSize: 17,
617
+                                    fontWeight: FontWeight.w500)),
618
+                            Image.asset(
619
+                              'assets/images/ic_arrow_white.png',
620
+                              width: 30,
621
+                              height: 30,
622
+                            )
623
+                          ],
624
+                        )),
625
+                    onTap: () async {
626
+                      setState(() {
627
+                        determinePosition();
628
+                        visibleData = !visibleData;
629
+                        visibleMap = !visibleMap;
630
+                        visibleButtonUpdate = !visibleButtonUpdate;
631
+                        visibleNavigate = !visibleNavigate;
632
+                        visibleFiling = !visibleFiling;
633
+                      });
634
+                      /*StartFiling_Post.connectToAPI(idDetail!, user_id!).then((valueResult) async {
635
+                        Navigator.push(context, MaterialPageRoute(builder: (context) => FilingScreen()));
636
+                      });*/
637
+
638
+                    },
639
+                  ),
387 640
                 ),
388
-              )
641
+              ),
642
+              Visibility(
643
+                visible: visibleFiling,
644
+                child: Container(
645
+                  margin: EdgeInsets.fromLTRB(10, 15, 10, 15),
646
+                  child: InkWell(
647
+                    child: Container(
648
+                        padding: EdgeInsets.fromLTRB(10, 10, 10, 10),
649
+                        width: double.infinity,
650
+                        decoration: BoxDecoration(
651
+                            borderRadius: BorderRadius.circular(5),
652
+                            gradient: LinearGradient(colors: [
653
+                              Color(0xFF2D4059),
654
+                              Color(0xFF2D4059),
655
+                            ])),
656
+                        child: Row(
657
+                          mainAxisAlignment: MainAxisAlignment.center,
658
+                          children: [
659
+                            Text('Start Filing\t\t',
660
+                                textAlign: TextAlign.center,
661
+                                style: TextStyle(
662
+                                    color: Colors.white,
663
+                                    fontSize: 17,
664
+                                    fontWeight: FontWeight.w500)),
665
+                            Image.asset(
666
+                              'assets/images/ic_arrow_white.png',
667
+                              width: 30,
668
+                              height: 30,
669
+                            )
670
+                          ],
671
+                        )),
672
+                    onTap: () async {
673
+                      final SharedPreferences prefs = await SharedPreferences.getInstance();
674
+                      String? idDetail = prefs.getString('idDetail');
675
+                      int? user_id = prefs.getInt('user_id');
676
+
677
+                      StartFiling_Post.connectToAPI(idDetail!, user_id!).then((valueResult) async {
678
+                        Navigator.push(context, MaterialPageRoute(builder: (context) => FilingScreen()));
679
+                      });
680
+
681
+                    },
682
+                  ),
683
+                ),
684
+              ),
685
+
389 686
             ],
390 687
           ),
391 688
         ),

+ 6
- 2
lib/Screens/Menu/Canvasing/canvasing_screen.dart View File

@@ -2,8 +2,8 @@ import 'dart:async';
2 2
 import 'dart:convert';
3 3
 import 'dart:ffi';
4 4
 
5
-import 'package:employee_selfservice_mobile/Screens/Menu/Canvasing/canvasingDetail_screen.dart';
6
-import 'package:employee_selfservice_mobile/Screens/Menu/Canvasing/getAll_post.dart';
5
+import 'package:tower_app/Screens/Menu/Canvasing/canvasingDetail_screen.dart';
6
+import 'package:tower_app/Screens/Menu/Canvasing/getAll_post.dart';
7 7
 import 'package:flutter/material.dart';
8 8
 import 'package:fluttertoast/fluttertoast.dart';
9 9
 import 'package:google_fonts/google_fonts.dart';
@@ -261,6 +261,10 @@ class _CanvasingScreen extends State<CanvasingScreen> {
261 261
                           //visible[i] = !visible[i];
262 262
                           var prefs = await SharedPreferences.getInstance();
263 263
                           await prefs.setString('idDetail', id_List[i]);
264
+                          await prefs.setString('name', name_List[i]);
265
+                          await prefs.setString('customer', customer_List[i]);
266
+                          await prefs.setString('telp', telp_List[i]);
267
+                          await prefs.setString('alamat', alamat_List[i]);
264 268
                           Navigator.push(context, MaterialPageRoute(builder: (context) => CanvasingDetail()));
265 269
                         });
266 270
                       },

+ 1
- 1
lib/Screens/Menu/Canvasing/filingData_post.dart View File

@@ -2,7 +2,7 @@ import 'dart:convert';
2 2
 import 'dart:core';
3 3
 import 'package:flutter/material.dart';
4 4
 import 'package:http/http.dart' as http;
5
-import 'package:employee_selfservice_mobile/constants.dart';
5
+import 'package:tower_app/constants.dart';
6 6
 import 'dart:developer' as developer;
7 7
 
8 8
 import 'package:shared_preferences/shared_preferences.dart';

+ 2
- 2
lib/Screens/Menu/Canvasing/filing_screen.dart View File

@@ -1,7 +1,7 @@
1 1
 import 'dart:convert';
2 2
 import 'dart:io';
3
-import 'package:employee_selfservice_mobile/Screens/Home/home_screen.dart';
4
-import 'package:employee_selfservice_mobile/Screens/Menu/Canvasing/filingData_post.dart';
3
+import 'package:tower_app/Screens/Home/home_screen.dart';
4
+import 'package:tower_app/Screens/Menu/Canvasing/filingData_post.dart';
5 5
 import 'package:file_picker/file_picker.dart';
6 6
 import 'package:flutter/cupertino.dart';
7 7
 import 'package:flutter/material.dart';

+ 1
- 1
lib/Screens/Menu/Canvasing/getAll_post.dart View File

@@ -2,7 +2,7 @@ import 'dart:convert';
2 2
 import 'dart:core';
3 3
 import 'package:flutter/material.dart';
4 4
 import 'package:http/http.dart' as http;
5
-import 'package:employee_selfservice_mobile/constants.dart';
5
+import 'package:tower_app/constants.dart';
6 6
 import 'dart:developer' as developer;
7 7
 
8 8
 import 'package:shared_preferences/shared_preferences.dart';

+ 1
- 1
lib/Screens/Menu/Canvasing/navigate_post.dart View File

@@ -2,7 +2,7 @@ import 'dart:convert';
2 2
 import 'dart:core';
3 3
 import 'package:flutter/material.dart';
4 4
 import 'package:http/http.dart' as http;
5
-import 'package:employee_selfservice_mobile/constants.dart';
5
+import 'package:tower_app/constants.dart';
6 6
 import 'dart:developer' as developer;
7 7
 
8 8
 import 'package:shared_preferences/shared_preferences.dart';

+ 1
- 1
lib/Screens/Menu/Canvasing/startFiling_post.dart View File

@@ -2,7 +2,7 @@ import 'dart:convert';
2 2
 import 'dart:core';
3 3
 import 'package:flutter/material.dart';
4 4
 import 'package:http/http.dart' as http;
5
-import 'package:employee_selfservice_mobile/constants.dart';
5
+import 'package:tower_app/constants.dart';
6 6
 import 'dart:developer' as developer;
7 7
 
8 8
 import 'package:shared_preferences/shared_preferences.dart';

+ 1
- 1
lib/Screens/Menu/Canvasing/updateGPS_post.dart View File

@@ -2,7 +2,7 @@ import 'dart:convert';
2 2
 import 'dart:core';
3 3
 import 'package:flutter/material.dart';
4 4
 import 'package:http/http.dart' as http;
5
-import 'package:employee_selfservice_mobile/constants.dart';
5
+import 'package:tower_app/constants.dart';
6 6
 import 'dart:developer' as developer;
7 7
 
8 8
 class UpdateGPS_Post {

+ 44
- 30
lib/Screens/Menu/Dashboard/dashboard_screen.dart View File

@@ -1,12 +1,6 @@
1
-import 'dart:convert';
2
-import 'dart:ffi';
3 1
 
4
-import 'package:employee_selfservice_mobile/Screens/Menu/Canvasing/canvasingDetail_screen.dart';
5
-import 'package:employee_selfservice_mobile/Screens/Menu/Canvasing/getAll_post.dart';
6
-import 'package:employee_selfservice_mobile/Screens/Menu/History/getHistory_post.dart';
7
-import 'package:employee_selfservice_mobile/constants.dart';
2
+import 'package:tower_app/constants.dart';
8 3
 import 'package:flutter/material.dart';
9
-import 'package:fluttertoast/fluttertoast.dart';
10 4
 import 'package:google_fonts/google_fonts.dart';
11 5
 import 'package:progress_dialog_null_safe/progress_dialog_null_safe.dart';
12 6
 import 'package:shared_preferences/shared_preferences.dart';
@@ -31,38 +25,59 @@ class _DashboardScreen extends State<DashboardScreen> {
31 25
   initState() {
32 26
     super.initState();
33 27
     getUserID();
34
-    //logDev.log(user_id.toString(), name: "user id setelah balikan??");
35
-    controller = WebViewController()
36
-      ..setJavaScriptMode(JavaScriptMode.unrestricted)
37
-      ..setBackgroundColor(const Color(0x00000000))
38
-      ..setNavigationDelegate(
39
-        NavigationDelegate(
40
-          onProgress: (int progress) {
41
-            // Update loading bar.
42
-          },
43
-          onPageStarted: (String url) {},
44
-          onPageFinished: (String url) {},
45
-          onWebResourceError: (WebResourceError error) {},
46
-          onNavigationRequest: (NavigationRequest request) {
47
-            if (request.url.startsWith('https://www.youtube.com/')) {
48
-              return NavigationDecision.prevent;
49
-            }
50
-            return NavigationDecision.navigate;
51
-          },
52
-        ),
53
-      )
54
-      ..loadRequest(Uri.parse(baseURL + "/dashboard/"));
55 28
    /* WidgetsBinding.instance.addPostFrameCallback((_) async {
56 29
 
57 30
     });*/
58 31
   }
59 32
 
60 33
   getUserID() async {
34
+    ProgressDialog loading = ProgressDialog(context);
35
+    loading = ProgressDialog(context,
36
+        type: ProgressDialogType.normal, isDismissible: false, showLogs: true);
37
+    loading.style(
38
+        message: 'Please Wait .....',
39
+        borderRadius: 3,
40
+        backgroundColor: Colors.white,
41
+        progressWidget: CircularProgressIndicator(),
42
+        elevation: 10.0,
43
+        padding: EdgeInsets.all(10),
44
+        insetAnimCurve: Curves.easeInOut,
45
+        progress: 0.0,
46
+        maxProgress: 100.0,
47
+        progressTextStyle: TextStyle(
48
+            color: Colors.black, fontSize: 10.0, fontWeight: FontWeight.w400),
49
+        messageTextStyle: TextStyle(
50
+            color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
51
+
52
+    await loading.show();
53
+
61 54
     final SharedPreferences prefs = await SharedPreferences.getInstance();
62 55
     user_id = prefs.getInt('user_id')!;
63 56
     logDev.log(user_id.toString(), name: "user id??");
64 57
 
65
-    return user_id;
58
+    setState(() {
59
+      controller = WebViewController()
60
+        ..setJavaScriptMode(JavaScriptMode.unrestricted)
61
+        ..setBackgroundColor(const Color(0x00000000))
62
+        ..setNavigationDelegate(
63
+          NavigationDelegate(
64
+            onProgress: (int progress) {
65
+              // Update loading bar.
66
+            },
67
+            onPageStarted: (String url) {},
68
+            onPageFinished: (String url) {},
69
+            onWebResourceError: (WebResourceError error) {},
70
+            onNavigationRequest: (NavigationRequest request) {
71
+              if (request.url.startsWith('https://www.youtube.com/')) {
72
+                return NavigationDecision.prevent;
73
+              }
74
+              return NavigationDecision.navigate;
75
+            },
76
+          ),
77
+        )
78
+        ..loadRequest(Uri.parse(baseURL + "/dashboard/" + user_id.toString()));
79
+    });
80
+    await loading.hide();
66 81
   }
67 82
 
68 83
   @override
@@ -103,7 +118,6 @@ class _DashboardScreen extends State<DashboardScreen> {
103 118
                     ),
104 119
                   ],
105 120
                 ),
106
-
107 121
               ],
108 122
             ),
109 123
             Container(

+ 1
- 1
lib/Screens/Menu/History/getHistory_post.dart View File

@@ -2,7 +2,7 @@ import 'dart:convert';
2 2
 import 'dart:core';
3 3
 import 'package:flutter/material.dart';
4 4
 import 'package:http/http.dart' as http;
5
-import 'package:employee_selfservice_mobile/constants.dart';
5
+import 'package:tower_app/constants.dart';
6 6
 import 'dart:developer' as developer;
7 7
 
8 8
 import 'package:shared_preferences/shared_preferences.dart';

+ 3
- 3
lib/Screens/Menu/History/history_screen.dart View File

@@ -1,9 +1,9 @@
1 1
 import 'dart:convert';
2 2
 import 'dart:ffi';
3 3
 
4
-import 'package:employee_selfservice_mobile/Screens/Menu/Canvasing/canvasingDetail_screen.dart';
5
-import 'package:employee_selfservice_mobile/Screens/Menu/Canvasing/getAll_post.dart';
6
-import 'package:employee_selfservice_mobile/Screens/Menu/History/getHistory_post.dart';
4
+import 'package:tower_app/Screens/Menu/Canvasing/canvasingDetail_screen.dart';
5
+import 'package:tower_app/Screens/Menu/Canvasing/getAll_post.dart';
6
+import 'package:tower_app/Screens/Menu/History/getHistory_post.dart';
7 7
 import 'package:flutter/material.dart';
8 8
 import 'package:fluttertoast/fluttertoast.dart';
9 9
 import 'package:google_fonts/google_fonts.dart';

+ 1099
- 0
lib/Screens/Menu/Survey/detailsurvey_screen.dart
File diff suppressed because it is too large
View File


+ 1787
- 0
lib/Screens/Menu/Survey/editsurvey_screen.dart
File diff suppressed because it is too large
View File


+ 28
- 0
lib/Screens/Menu/Survey/getdetailtsurvey_post.dart View File

@@ -0,0 +1,28 @@
1
+import 'dart:convert';
2
+import 'dart:core';
3
+import 'package:flutter/material.dart';
4
+import 'package:http/http.dart' as http;
5
+import 'package:tower_app/constants.dart';
6
+import 'dart:developer' as developer;
7
+
8
+import 'package:shared_preferences/shared_preferences.dart';
9
+
10
+class GetDetailSurvey_Post {
11
+  late int id;
12
+
13
+  GetDetailSurvey_Post({required this.id});
14
+
15
+  static Future<String> connectToAPI(int id) async {
16
+    String URL = baseURL + "/api/detail_survey";
17
+
18
+    var sendData = await http.post(Uri.parse(URL), body: jsonEncode({
19
+      "id": id
20
+    }), headers: {
21
+      "Content-Type": "application/json",
22
+      "Api-key": apiKey
23
+    });
24
+
25
+    //developer.log(sendData.body, name: "GET ALL");
26
+    return sendData.body;
27
+  }
28
+}

+ 32
- 0
lib/Screens/Menu/Survey/getlistsurvey_post.dart View File

@@ -0,0 +1,32 @@
1
+import 'dart:convert';
2
+import 'dart:core';
3
+import 'package:flutter/material.dart';
4
+import 'package:http/http.dart' as http;
5
+import 'package:tower_app/constants.dart';
6
+import 'dart:developer' as developer;
7
+
8
+import 'package:shared_preferences/shared_preferences.dart';
9
+
10
+class GetListSurvey_Post {
11
+  late int user_id;
12
+
13
+  GetListSurvey_Post({required this.user_id});
14
+
15
+  static Future<String> connectToAPI(int user_id) async {
16
+    String URL = baseURL + "/api/get_survey";
17
+
18
+    var sendData = await http.post(Uri.parse(URL), body: jsonEncode({
19
+      "data": [
20
+        {
21
+          "user_id": user_id
22
+        }
23
+      ]
24
+    }), headers: {
25
+      "Content-Type": "application/json",
26
+      "Api-key": apiKey
27
+    });
28
+
29
+    //developer.log(sendData.body, name: "GET ALL");
30
+    return sendData.body;
31
+  }
32
+}

+ 45
- 0
lib/Screens/Menu/Survey/sendSurvey_post.dart View File

@@ -0,0 +1,45 @@
1
+import 'dart:convert';
2
+import 'dart:core';
3
+import 'package:http/http.dart' as http;
4
+import 'package:tower_app/constants.dart';
5
+import 'dart:developer' as developer;
6
+
7
+class SendSurvey_Post {
8
+  late int user_id, id, jumlah_penduduk;
9
+  late String desa, kecamatan, kabupaten, provinsi, posisi, signal_2G, signal_3G, signal_4G, catatan;
10
+  late List<List<dynamic>> tempat_keramaian;
11
+  late List<List<dynamic>> foto_keterangan;
12
+
13
+  SendSurvey_Post({required this.user_id});
14
+
15
+  static Future<String> connectToAPI(int user_id, int id, String desa, String kecamatan, String kabupaten, String provinsi,
16
+      int jumlah_penduduk, String posisi, String signal_2G, String signal_3G, String signal_4G, String catatan,
17
+      List<List<dynamic>> tempat_keramaian, List<List<dynamic>> foto_keterangan) async {
18
+    String URL = baseURL + "/api/send_survey";
19
+
20
+    var sendData = await http.post(Uri.parse(URL), body: jsonEncode(
21
+        {
22
+          "user_id": user_id,
23
+          "id": id,
24
+          "desa" : desa,
25
+          "kecamatan": kecamatan,
26
+          "kabupaten" : kabupaten,
27
+          "provinsi": provinsi,
28
+          "jumlah_penduduk": jumlah_penduduk,
29
+          "posisi": posisi,
30
+          "signal_2G": signal_2G,
31
+          "signal_3G": signal_3G,
32
+          "signal_4G": signal_4G,
33
+          "tempat_keramaian" : tempat_keramaian,
34
+          "catatan" : catatan,
35
+          "foto" : foto_keterangan
36
+
37
+    }), headers: {
38
+      "Content-Type": "application/json",
39
+      "Api-key": apiKey
40
+    });
41
+
42
+    //developer.log(sendData.body, name: "GET ALL");
43
+    return sendData.body;
44
+  }
45
+}

+ 308
- 0
lib/Screens/Menu/Survey/surveylist_screen.dart View File

@@ -0,0 +1,308 @@
1
+import 'dart:convert';
2
+import 'dart:ffi';
3
+
4
+import 'package:flutter/material.dart';
5
+import 'package:fluttertoast/fluttertoast.dart';
6
+import 'package:google_fonts/google_fonts.dart';
7
+import 'package:progress_dialog_null_safe/progress_dialog_null_safe.dart';
8
+import 'package:shared_preferences/shared_preferences.dart';
9
+import 'package:tower_app/Screens/Menu/Survey/detailsurvey_screen.dart';
10
+import 'package:tower_app/Screens/Menu/Survey/editsurvey_screen.dart';
11
+import 'package:tower_app/Screens/Menu/Survey/getlistsurvey_post.dart';
12
+import 'dart:developer' as logDev;
13
+
14
+import '../../background.dart';
15
+
16
+class ListSurveyScreen extends StatefulWidget {
17
+  const ListSurveyScreen({Key? key}) : super(key: key);
18
+
19
+  @override
20
+  State<ListSurveyScreen> createState() => _ListSurveyScreen();
21
+}
22
+
23
+class _ListSurveyScreen extends State<ListSurveyScreen> {
24
+  late List <int> id_List;
25
+  late List <String> name_List;
26
+  late List <String> date_List;
27
+  late List <String> site_List;
28
+  late List <String> state_List;
29
+  late List <Color> stateColor;
30
+  //late List <bool> visibleEditButton;
31
+
32
+  int AllDataLength = 0;
33
+
34
+  @override
35
+  initState() {
36
+    super.initState();
37
+    id_List = [0];
38
+    name_List = [""];
39
+    date_List = [""];
40
+    site_List = [""];
41
+    state_List = [""];
42
+    stateColor = [Colors.blueAccent];
43
+    //visibleEditButton = [false];
44
+
45
+    WidgetsBinding.instance.addPostFrameCallback((_) async {
46
+      getListSurvey();
47
+    });
48
+  }
49
+
50
+  getListSurvey() async {
51
+    ProgressDialog loading = ProgressDialog(context);
52
+    loading = ProgressDialog(context,
53
+        type: ProgressDialogType.normal, isDismissible: false, showLogs: true);
54
+    loading.style(
55
+        message: 'Please Wait .....',
56
+        borderRadius: 3,
57
+        backgroundColor: Colors.white,
58
+        progressWidget: CircularProgressIndicator(),
59
+        elevation: 10.0,
60
+        padding: EdgeInsets.all(10),
61
+        insetAnimCurve: Curves.easeInOut,
62
+        progress: 0.0,
63
+        maxProgress: 100.0,
64
+        progressTextStyle: TextStyle(
65
+            color: Colors.black, fontSize: 10.0, fontWeight: FontWeight.w400),
66
+        messageTextStyle: TextStyle(
67
+            color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
68
+
69
+    final SharedPreferences prefs = await SharedPreferences.getInstance();
70
+    int? user_id = prefs.getInt('user_id');
71
+    logDev.log(user_id!.toString(), name: "ID NYA BERAPA???!!!");
72
+
73
+    await loading.show();
74
+    GetListSurvey_Post.connectToAPI(user_id).then((valueResult) async {
75
+      Map<String, dynamic> object = jsonDecode(valueResult);
76
+      if (object.containsKey("result").toString() == "true") {
77
+        String status = object['result']['status'].toString();
78
+        if (status.contains("failed")) {
79
+          await loading.hide();
80
+          alertDialogFailedRetrievedData(context);
81
+        } else if (status.contains("success")){
82
+          logDev.log(status, name: "SUCCeSS?");
83
+          List <dynamic> allData = object['result']['data'];
84
+          await loading.hide();
85
+          setState(() {
86
+            for (int i = 0; i < allData.length; i++){
87
+              int id = allData[i]['id'];
88
+              String name = allData[i]['name'].toString();
89
+              String date = allData[i]['date'].toString();
90
+              String site = allData[i]['site'].toString();
91
+              String state = allData[i]['state'].toString();
92
+
93
+              id_List.add(id);
94
+              name_List.add(name);
95
+              date_List.add(date);
96
+              site_List.add(site);
97
+              //state_List.add(state);
98
+              if (state == "done"){
99
+                stateColor.add(Colors.blueAccent);
100
+                state_List.add("Done");
101
+              } else if (state == "approved"){
102
+                stateColor.add(Colors.deepOrangeAccent);
103
+                state_List.add("Approved");
104
+              }
105
+            }
106
+
107
+            id_List.removeAt(0);
108
+            name_List.removeAt(0);
109
+            date_List.removeAt(0);
110
+            site_List.removeAt(0);
111
+            state_List.removeAt(0);
112
+            stateColor.removeAt(0);
113
+
114
+            AllDataLength = allData.length;
115
+          });
116
+        }
117
+      } else {
118
+        Fluttertoast.showToast(
119
+            msg: "Server Response Error",
120
+            toastLength: Toast.LENGTH_SHORT,
121
+            gravity: ToastGravity.CENTER,
122
+            timeInSecForIosWeb: 1,
123
+            textColor: Colors.white,
124
+            fontSize: 16.0);
125
+      }
126
+    });
127
+    await loading.hide();
128
+  }
129
+
130
+  @override
131
+  Widget build(BuildContext context) {
132
+    var size = MediaQuery.of(context).size;
133
+    return Scaffold(
134
+      body: Stack(
135
+          children: [
136
+            Column(
137
+              children: <Widget>[
138
+                Stack(
139
+                  children: [
140
+                    WavyHeader(),
141
+                    Container(
142
+                        margin: EdgeInsets.only(
143
+                            top: (size.height / 6) - 20),
144
+                        padding: EdgeInsets.fromLTRB(0, 5, 25, 5),
145
+                        child: Row(
146
+                          mainAxisAlignment: MainAxisAlignment.end,
147
+                          crossAxisAlignment: CrossAxisAlignment.end,
148
+                          children: [
149
+                            Text(
150
+                              'SURVEY\t\t',
151
+                              maxLines: 1,
152
+                              style: GoogleFonts.luckiestGuy(
153
+                                fontSize: 28,
154
+                                color: Color(0xFF4858A7),
155
+                                fontStyle: FontStyle.italic,
156
+                              ),
157
+                            ),
158
+                            Image.asset(
159
+                              'assets/icons/menu/survey_3.png',
160
+                              width: 40,
161
+                              height: 40,
162
+                            ),
163
+                          ],
164
+                        )
165
+                    ),
166
+                  ],
167
+                ),
168
+              ],
169
+            ),
170
+            Container(
171
+              margin: EdgeInsets.only(top: (MediaQuery.of(context).size.height / 6) + 40,
172
+                  left: 5, right: 5, bottom: 10),
173
+              child: ListView.builder(
174
+                scrollDirection: Axis.vertical,
175
+                shrinkWrap: true,
176
+                itemCount: AllDataLength,
177
+                itemBuilder: (context, int i) {
178
+                  return Container(
179
+                    child: InkWell(
180
+                      child: Card(
181
+                        elevation: 10,
182
+                        child: Column(
183
+                          children: [
184
+                            Row(
185
+                              children: [
186
+                                Expanded(
187
+                                    flex: 10,
188
+                                    child: Padding(
189
+                                      padding: EdgeInsets.fromLTRB(10, 5, 5, 5),
190
+                                      child: Column(
191
+                                        mainAxisAlignment: MainAxisAlignment.center,
192
+                                        crossAxisAlignment: CrossAxisAlignment.start,
193
+                                        children: [
194
+                                          //Text(id_List[i], style: GoogleFonts.rubikBubbles(fontSize: 15)),
195
+                                          Text(name_List[i], style: GoogleFonts.breeSerif(fontSize: 18, fontWeight: FontWeight.bold)),
196
+                                          Text("Date\t:\t" + date_List[i], style: GoogleFonts.nunito(fontSize: 15)),
197
+                                          Text("Site\t\t\t:\t" + site_List[i], style: GoogleFonts.nunito(fontSize: 15)),
198
+                                          Container(margin: EdgeInsets.only(bottom: 5, right: 10, top:10),
199
+                                            child: Align
200
+                                              (alignment: Alignment.centerRight,
201
+                                              child: Text(state_List[i], style: GoogleFonts.nunito(fontSize: 16, color: stateColor[i])))),
202
+                                          /*Text(alamat_List[i], style: GoogleFonts.nunito(fontSize: 15)),
203
+                                          Text("", style: GoogleFonts.nunito(fontSize: 14)),
204
+                                          Text(stage_List[i], style: GoogleFonts.nunito(fontSize: 17, fontWeight: FontWeight.bold, color: Colors.blueAccent)),*/
205
+                                        ],
206
+                                      ),
207
+                                    )
208
+                                ),
209
+                                /*Expanded(
210
+                                    flex: 2,
211
+                                    child: Visibility(
212
+                                        visible: visibleEditButton[i],
213
+                                        child: Padding(
214
+                                          padding: EdgeInsets.fromLTRB(10, 5, 5, 5),
215
+                                          child: Column(
216
+                                            mainAxisAlignment: MainAxisAlignment.start,
217
+                                            crossAxisAlignment: CrossAxisAlignment.start,
218
+                                            children: [
219
+                                              Text("hello", style: GoogleFonts.nunito(fontSize: 15)),
220
+                                            ],
221
+                                          ),
222
+                                        )
223
+                                    ),
224
+                                ),*/
225
+                              ],
226
+                            ),
227
+                            /*Align(
228
+                              alignment: Alignment.centerLeft,
229
+                              child: Visibility(
230
+                                  visible: visibleEditButton[i],
231
+                                  child: Padding(
232
+                                    padding: EdgeInsets.fromLTRB(10, 5, 5, 5),
233
+                                    child: Column(
234
+                                      mainAxisAlignment: MainAxisAlignment.start,
235
+                                      crossAxisAlignment: CrossAxisAlignment.start,
236
+                                      children: [
237
+                                        Text("Edit", style: GoogleFonts.nunito(fontSize: 15)),
238
+                                      ],
239
+                                    ),
240
+                                  )
241
+                              ),
242
+                            )*/
243
+                          ],
244
+                        ),
245
+                      ),
246
+                      onTap: () async {
247
+                        var prefs = await SharedPreferences.getInstance();
248
+                        await prefs.setInt('idDetail', id_List[i]);
249
+                        await prefs.setString('nameDetail', name_List[i]);
250
+                        await prefs.setString('dateDetail', date_List[i]);
251
+                        await prefs.setString('siteDetail', site_List[i]);
252
+                        setState(() {
253
+                          if (state_List[i] == "Approved"){
254
+                            Navigator.push(context, MaterialPageRoute(builder: (context) => EditSurveyScreen()));
255
+                          } else if (state_List[i] == "Done") {
256
+                            Navigator.push(context, MaterialPageRoute(builder: (context) => DetailSurveyScreen()));
257
+                          }
258
+                        });
259
+
260
+                      },
261
+                    ),
262
+                  );
263
+                },
264
+              ),
265
+            )
266
+          ]),
267
+    );
268
+  }
269
+}
270
+
271
+
272
+alertDialogFailedRetrievedData(BuildContext context) {
273
+  Widget okButton = TextButton(
274
+    child: Text("Refresh"),
275
+    onPressed: () {
276
+      Navigator.of(context, rootNavigator: true).pop();
277
+      Navigator.pushReplacement(
278
+          context, MaterialPageRoute(builder: (context) => ListSurveyScreen()));
279
+    },
280
+  );
281
+
282
+  Widget noButton = TextButton(
283
+    child: Text("Back"),
284
+    onPressed: () {
285
+      Navigator.of(context, rootNavigator: true).pop();
286
+      Navigator.pop(context);
287
+    },
288
+  );
289
+
290
+  // set up the AlertDialog
291
+  AlertDialog alert = AlertDialog(
292
+    title: Text("POC Bakti"),
293
+    content: Text("Failed to Retrieve Data"),
294
+    actions: [
295
+      noButton,
296
+      okButton,
297
+    ],
298
+  );
299
+
300
+  // show the dialog
301
+  showDialog(
302
+    context: context,
303
+    barrierDismissible: false,
304
+    builder: (BuildContext context) {
305
+      return alert;
306
+    },
307
+  );
308
+}

+ 1
- 1
lib/Screens/Settings/RequestHttp/changePassword_post.dart View File

@@ -1,7 +1,7 @@
1 1
 import 'dart:convert';
2 2
 import 'dart:core';
3 3
 import 'package:http/http.dart' as http;
4
-import 'package:employee_selfservice_mobile/constants.dart';
4
+import 'package:tower_app/constants.dart';
5 5
 import 'dart:developer' as developer;
6 6
 
7 7
 import 'package:shared_preferences/shared_preferences.dart';

+ 1
- 1
lib/Screens/Settings/RequestHttp/changeprofileimage_post.dart View File

@@ -1,7 +1,7 @@
1 1
 import 'dart:convert';
2 2
 import 'dart:core';
3 3
 import 'package:http/http.dart' as http;
4
-import 'package:employee_selfservice_mobile/constants.dart';
4
+import 'package:tower_app/constants.dart';
5 5
 import 'dart:developer' as developer;
6 6
 
7 7
 import 'package:shared_preferences/shared_preferences.dart';

+ 1
- 1
lib/Screens/Settings/RequestHttp/getDetail_post.dart View File

@@ -1,7 +1,7 @@
1 1
 import 'dart:convert';
2 2
 import 'dart:core';
3 3
 import 'package:http/http.dart' as http;
4
-import 'package:employee_selfservice_mobile/constants.dart';
4
+import 'package:tower_app/constants.dart';
5 5
 import 'dart:developer' as developer;
6 6
 import 'package:shared_preferences/shared_preferences.dart';
7 7
 

+ 1
- 1
lib/Screens/Settings/RequestHttp/getProfileImage_post.dart View File

@@ -1,7 +1,7 @@
1 1
 import 'dart:convert';
2 2
 import 'dart:core';
3 3
 import 'package:http/http.dart' as http;
4
-import 'package:employee_selfservice_mobile/constants.dart';
4
+import 'package:tower_app/constants.dart';
5 5
 import 'dart:developer' as developer;
6 6
 
7 7
 import 'package:shared_preferences/shared_preferences.dart';

+ 1
- 1
lib/Screens/Settings/RequestHttp/logout_post.dart View File

@@ -1,7 +1,7 @@
1 1
 import 'dart:convert';
2 2
 import 'dart:core';
3 3
 import 'package:http/http.dart' as http;
4
-import 'package:employee_selfservice_mobile/constants.dart';
4
+import 'package:tower_app/constants.dart';
5 5
 import 'dart:developer' as developer;
6 6
 
7 7
 import 'package:shared_preferences/shared_preferences.dart';

+ 5
- 5
lib/Screens/Settings/settings_screen.dart View File

@@ -4,11 +4,11 @@ import 'package:flutter/material.dart';
4 4
 import 'package:flutter/services.dart';
5 5
 import 'package:fluttertoast/fluttertoast.dart';
6 6
 import 'package:google_fonts/google_fonts.dart';
7
-import 'package:employee_selfservice_mobile/Screens/Settings/RequestHttp/changePassword_post.dart';
8
-import 'package:employee_selfservice_mobile/Screens/Settings/RequestHttp/changeprofileimage_post.dart';
9
-import 'package:employee_selfservice_mobile/Screens/Settings/RequestHttp/getDetail_post.dart';
10
-import 'package:employee_selfservice_mobile/Screens/Settings/RequestHttp/getProfileImage_post.dart';
11
-import 'package:employee_selfservice_mobile/Screens/Settings/RequestHttp/logout_post.dart';
7
+import 'package:tower_app/Screens/Settings/RequestHttp/changePassword_post.dart';
8
+import 'package:tower_app/Screens/Settings/RequestHttp/changeprofileimage_post.dart';
9
+import 'package:tower_app/Screens/Settings/RequestHttp/getDetail_post.dart';
10
+import 'package:tower_app/Screens/Settings/RequestHttp/getProfileImage_post.dart';
11
+import 'package:tower_app/Screens/Settings/RequestHttp/logout_post.dart';
12 12
 import 'package:image_picker/image_picker.dart';
13 13
 import 'package:progress_dialog_null_safe/progress_dialog_null_safe.dart';
14 14
 import 'package:shared_preferences/shared_preferences.dart';

+ 1
- 1
lib/Screens/Splash/loginstatus_post.dart View File

@@ -1,7 +1,7 @@
1 1
 import 'dart:convert';
2 2
 import 'dart:core';
3 3
 import 'package:http/http.dart' as http;
4
-import 'package:employee_selfservice_mobile/constants.dart';
4
+import 'package:tower_app/constants.dart';
5 5
 import 'dart:developer' as logDev;
6 6
 
7 7
 class LoginStatus_Post {

+ 13
- 5
lib/Screens/Splash/splash_screen.dart View File

@@ -1,15 +1,14 @@
1 1
 import 'dart:async';
2 2
 import 'dart:convert';
3 3
 import 'dart:io';
4
-import 'package:connectivity_plus/connectivity_plus.dart';
5 4
 import 'package:flutter/cupertino.dart';
6 5
 import 'package:flutter/material.dart';
7 6
 import 'package:flutter/services.dart';
8 7
 import 'package:fluttertoast/fluttertoast.dart';
9 8
 import 'package:google_fonts/google_fonts.dart';
10
-import 'package:employee_selfservice_mobile/Screens/Login/login_screen.dart';
11
-import 'package:employee_selfservice_mobile/Screens/Splash/loginstatus_post.dart';
12
-import 'package:employee_selfservice_mobile/constants.dart';
9
+import 'package:tower_app/Screens/Login/login_screen.dart';
10
+import 'package:tower_app/Screens/Splash/loginstatus_post.dart';
11
+import 'package:tower_app/constants.dart';
13 12
 import 'package:internet_connection_checker/internet_connection_checker.dart';
14 13
 import 'package:lottie/lottie.dart';
15 14
 import 'package:shared_preferences/shared_preferences.dart';
@@ -134,7 +133,16 @@ class SplashScreen extends StatelessWidget {
134 133
                   child: SizedBox(
135 134
                       width: size.width * 0.55,
136 135
                       //height: 250,
137
-                      child: Image.asset('assets/icons/menu/ic_canvasing_1.png')
136
+                      child: Image.asset('assets/icons/tower_1.png')
137
+                    /*LottieBuilder.asset('assets/animation/animation_4.json',
138
+                    repeat: true, ),*/
139
+                  ),
140
+                ),
141
+                Container(
142
+                  margin: EdgeInsets.only(top: 15),
143
+                  child: SizedBox(
144
+                      child: Image.asset('assets/icons/logo_bakti_1.png',
145
+                        width: size.width * 0.25,)
138 146
                     /*LottieBuilder.asset('assets/animation/animation_4.json',
139 147
                     repeat: true, ),*/
140 148
                   ),

+ 1
- 1
lib/constants.dart View File

@@ -9,7 +9,7 @@ String appName = "Employee Self Service";
9 9
 //String baseURL = "http://10.209.8.49:8090";
10 10
 //String baseURL = "https://bisops.globalservice.co.id";
11 11
 //String baseURL = "https://urp.myapps.id";
12
-String baseURL = "http://209.97.161.28:8069";
12
+String baseURL = "http://167.172.92.138:8069";
13 13
 //String apiKey = "admin";
14 14
 //String apiKey = "G514p1k3y";
15 15
 String apiKey = "4pik3y";

+ 18
- 36
lib/firebase_options.dart View File

@@ -17,15 +17,24 @@ import 'package:flutter/foundation.dart'
17 17
 class DefaultFirebaseOptions {
18 18
   static FirebaseOptions get currentPlatform {
19 19
     if (kIsWeb) {
20
-      return web;
20
+      throw UnsupportedError(
21
+        'DefaultFirebaseOptions have not been configured for web - '
22
+        'you can reconfigure this by running the FlutterFire CLI again.',
23
+      );
21 24
     }
22 25
     switch (defaultTargetPlatform) {
23 26
       case TargetPlatform.android:
24
-        return android;
27
+        throw UnsupportedError(
28
+          'DefaultFirebaseOptions have not been configured for android - '
29
+          'you can reconfigure this by running the FlutterFire CLI again.',
30
+        );
25 31
       case TargetPlatform.iOS:
26 32
         return ios;
27 33
       case TargetPlatform.macOS:
28
-        return macos;
34
+        throw UnsupportedError(
35
+          'DefaultFirebaseOptions have not been configured for macos - '
36
+          'you can reconfigure this by running the FlutterFire CLI again.',
37
+        );
29 38
       case TargetPlatform.windows:
30 39
         throw UnsupportedError(
31 40
           'DefaultFirebaseOptions have not been configured for windows - '
@@ -43,39 +52,12 @@ class DefaultFirebaseOptions {
43 52
     }
44 53
   }
45 54
 
46
-  static const FirebaseOptions web = FirebaseOptions(
47
-    apiKey: 'AIzaSyBNRdnOpCYHm70Qc0Jo4sEH8lEpqhfVm2I',
48
-    appId: '1:11716618948:web:19cebf44e0d875f0937791',
49
-    messagingSenderId: '11716618948',
50
-    projectId: 'canvas-56baa',
51
-    authDomain: 'canvas-56baa.firebaseapp.com',
52
-    storageBucket: 'canvas-56baa.appspot.com',
53
-    measurementId: 'G-F5J2T5S5VC',
54
-  );
55
-
56
-  static const FirebaseOptions android = FirebaseOptions(
57
-    apiKey: 'AIzaSyAsylxl5a2treqN-GI1lqcx6Ode6-hl8hk',
58
-    appId: '1:11716618948:android:e8a6512d2d905094937791',
59
-    messagingSenderId: '11716618948',
60
-    projectId: 'canvas-56baa',
61
-    storageBucket: 'canvas-56baa.appspot.com',
62
-  );
63
-
64 55
   static const FirebaseOptions ios = FirebaseOptions(
65
-    apiKey: 'AIzaSyBqWHTEHPlp6FFcTGQXkwuMsOcEopWG3F8',
66
-    appId: '1:11716618948:ios:2cfdbccbd58e6267937791',
67
-    messagingSenderId: '11716618948',
68
-    projectId: 'canvas-56baa',
69
-    storageBucket: 'canvas-56baa.appspot.com',
70
-    iosBundleId: 'com.urp.hris',
71
-  );
72
-
73
-  static const FirebaseOptions macos = FirebaseOptions(
74
-    apiKey: 'AIzaSyBqWHTEHPlp6FFcTGQXkwuMsOcEopWG3F8',
75
-    appId: '1:11716618948:ios:2cfdbccbd58e6267937791',
76
-    messagingSenderId: '11716618948',
77
-    projectId: 'canvas-56baa',
78
-    storageBucket: 'canvas-56baa.appspot.com',
79
-    iosBundleId: 'com.urp.hris',
56
+    apiKey: 'AIzaSyBd8GnJrHukkhuqBedhGjpppUaybZt2eqk',
57
+    appId: '1:882999599258:ios:833092d4b56f3f16f0bf23',
58
+    messagingSenderId: '882999599258',
59
+    projectId: 'towerapp-7c319',
60
+    storageBucket: 'towerapp-7c319.appspot.com',
61
+    iosBundleId: 'com.icp.tower',
80 62
   );
81 63
 }

+ 1
- 1
lib/main.dart View File

@@ -1,5 +1,5 @@
1 1
 import 'dart:ui';
2
-import 'package:employee_selfservice_mobile/Screens/Login/login_screen.dart';
2
+import 'package:tower_app/Screens/Login/login_screen.dart';
3 3
 import 'package:firebase_core/firebase_core.dart';
4 4
 import 'package:firebase_messaging/firebase_messaging.dart';
5 5
 import 'package:flutter/material.dart';

+ 2
- 0
macos/Flutter/GeneratedPluginRegistrant.swift View File

@@ -17,6 +17,7 @@ import geolocator_apple
17 17
 import location
18 18
 import path_provider_foundation
19 19
 import shared_preferences_foundation
20
+import sqflite
20 21
 import url_launcher_macos
21 22
 
22 23
 func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
@@ -32,5 +33,6 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
32 33
   LocationPlugin.register(with: registry.registrar(forPlugin: "LocationPlugin"))
33 34
   PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
34 35
   SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
36
+  SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin"))
35 37
   UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin"))
36 38
 }

+ 1
- 1
macos/Runner/GoogleService-Info.plist View File

@@ -13,7 +13,7 @@
13 13
 	<key>PLIST_VERSION</key>
14 14
 	<string>1</string>
15 15
 	<key>BUNDLE_ID</key>
16
-	<string>com.urp.ess</string>
16
+	<string>com.icp.tower</string>
17 17
 	<key>PROJECT_ID</key>
18 18
 	<string>employee-self-service-8280b</string>
19 19
 	<key>STORAGE_BUCKET</key>

+ 3
- 3
macos/firebase_app_id_file.json View File

@@ -1,7 +1,7 @@
1 1
 {
2 2
   "file_generated_by": "FlutterFire CLI",
3 3
   "purpose": "FirebaseAppID & ProjectID for this Firebase app in this directory",
4
-  "GOOGLE_APP_ID": "1:11716618948:ios:2cfdbccbd58e6267937791",
5
-  "FIREBASE_PROJECT_ID": "canvas-56baa",
6
-  "GCM_SENDER_ID": "11716618948"
4
+  "GOOGLE_APP_ID": "1:882999599258:ios:654f38cf5e7f6cddf0bf23",
5
+  "FIREBASE_PROJECT_ID": "towerapp-7c319",
6
+  "GCM_SENDER_ID": "882999599258"
7 7
 }

+ 207
- 151
pubspec.lock View File

@@ -5,10 +5,10 @@ packages:
5 5
     dependency: transitive
6 6
     description:
7 7
       name: _flutterfire_internals
8
-      sha256: d84d98f1992976775f83083523a34c5d22fea191eec3abb2bd09537fb623c2e0
8
+      sha256: f5628cd9c92ed11083f425fd1f8f1bc60ecdda458c81d73b143aeda036c35fe7
9 9
       url: "https://pub.dev"
10 10
     source: hosted
11
-    version: "1.3.7"
11
+    version: "1.3.16"
12 12
   animated_splash_screen:
13 13
     dependency: "direct main"
14 14
     description:
@@ -29,10 +29,18 @@ packages:
29 29
     dependency: "direct main"
30 30
     description:
31 31
       name: animations
32
-      sha256: ef57563eed3620bd5d75ad96189846aca1e033c0c45fc9a7d26e80ab02b88a70
32
+      sha256: "708e4b68c23228c264b038fe7003a2f5d01ce85fc64d8cae090e86b27fcea6c5"
33 33
       url: "https://pub.dev"
34 34
     source: hosted
35
-    version: "2.0.8"
35
+    version: "2.0.10"
36
+  api_cache_manager:
37
+    dependency: "direct main"
38
+    description:
39
+      name: api_cache_manager
40
+      sha256: "675dee8d3e8d6ec690f4d443b25bb398f1b31c1c1cb219c7c19531c62d20aed9"
41
+      url: "https://pub.dev"
42
+    source: hosted
43
+    version: "1.0.2"
36 44
   app_settings:
37 45
     dependency: "direct main"
38 46
     description:
@@ -45,10 +53,10 @@ packages:
45 53
     dependency: transitive
46 54
     description:
47 55
       name: archive
48
-      sha256: "7e0d52067d05f2e0324268097ba723b71cb41ac8a6a2b24d1edf9c536b987b03"
56
+      sha256: "7b875fd4a20b165a3084bd2d210439b22ebc653f21cea4842729c0c30c82596b"
49 57
       url: "https://pub.dev"
50 58
     source: hosted
51
-    version: "3.4.6"
59
+    version: "3.4.9"
52 60
   args:
53 61
     dependency: transitive
54 62
     description:
@@ -93,10 +101,10 @@ packages:
93 101
     dependency: transitive
94 102
     description:
95 103
       name: cli_util
96
-      sha256: b8db3080e59b2503ca9e7922c3df2072cf13992354d5e944074ffa836fba43b7
104
+      sha256: c05b7406fdabc7a49a3929d4af76bcaccbbffcbcdcf185b082e1ae07da323d19
97 105
       url: "https://pub.dev"
98 106
     source: hosted
99
-    version: "0.4.0"
107
+    version: "0.4.1"
100 108
   clock:
101 109
     dependency: transitive
102 110
     description:
@@ -109,18 +117,18 @@ packages:
109 117
     dependency: "direct main"
110 118
     description:
111 119
       name: collection
112
-      sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687
120
+      sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
113 121
       url: "https://pub.dev"
114 122
     source: hosted
115
-    version: "1.17.2"
123
+    version: "1.18.0"
116 124
   connectivity_plus:
117 125
     dependency: "direct main"
118 126
     description:
119 127
       name: connectivity_plus
120
-      sha256: "77a180d6938f78ca7d2382d2240eb626c0f6a735d0bfdce227d8ffb80f95c48b"
128
+      sha256: "224a77051d52a11fbad53dd57827594d3bd24f945af28bd70bab376d68d437f0"
121 129
       url: "https://pub.dev"
122 130
     source: hosted
123
-    version: "4.0.2"
131
+    version: "5.0.2"
124 132
   connectivity_plus_platform_interface:
125 133
     dependency: transitive
126 134
     description:
@@ -141,10 +149,10 @@ packages:
141 149
     dependency: transitive
142 150
     description:
143 151
       name: cross_file
144
-      sha256: fd832b5384d0d6da4f6df60b854d33accaaeb63aa9e10e736a87381f08dee2cb
152
+      sha256: fedaadfa3a6996f75211d835aaeb8fede285dae94262485698afd832371b9a5e
145 153
       url: "https://pub.dev"
146 154
     source: hosted
147
-    version: "0.3.3+5"
155
+    version: "0.3.3+8"
148 156
   crypto:
149 157
     dependency: transitive
150 158
     description:
@@ -165,26 +173,26 @@ packages:
165 173
     dependency: transitive
166 174
     description:
167 175
       name: dbus
168
-      sha256: "6f07cba3f7b3448d42d015bfd3d53fe12e5b36da2423f23838efc1d5fb31a263"
176
+      sha256: "365c771ac3b0e58845f39ec6deebc76e3276aa9922b0cc60840712094d9047ac"
169 177
       url: "https://pub.dev"
170 178
     source: hosted
171
-    version: "0.7.8"
179
+    version: "0.7.10"
172 180
   device_imei:
173 181
     dependency: "direct main"
174 182
     description:
175 183
       name: device_imei
176
-      sha256: deaa9360d97111378f9ca142bccfe95f611ef5a8828d8e870edf3f86550bf9c4
184
+      sha256: "44a1ed0027a41a232c6cdc9995d23603432bfbcc5b78bea130bbfb83e376bd19"
177 185
       url: "https://pub.dev"
178 186
     source: hosted
179
-    version: "0.0.4+1"
187
+    version: "0.0.4+2"
180 188
   device_info_plus:
181 189
     dependency: "direct main"
182 190
     description:
183 191
       name: device_info_plus
184
-      sha256: "86add5ef97215562d2e090535b0a16f197902b10c369c558a100e74ea06e8659"
192
+      sha256: "0042cb3b2a76413ea5f8a2b40cec2a33e01d0c937e91f0f7c211fde4f7739ba6"
185 193
       url: "https://pub.dev"
186 194
     source: hosted
187
-    version: "9.0.3"
195
+    version: "9.1.1"
188 196
   device_info_plus_platform_interface:
189 197
     dependency: transitive
190 198
     description:
@@ -197,10 +205,10 @@ packages:
197 205
     dependency: "direct main"
198 206
     description:
199 207
       name: dio
200
-      sha256: "417e2a6f9d83ab396ec38ff4ea5da6c254da71e4db765ad737a42af6930140b7"
208
+      sha256: "797e1e341c3dd2f69f2dad42564a6feff3bfb87187d05abb93b9609e6f1645c3"
201 209
       url: "https://pub.dev"
202 210
     source: hosted
203
-    version: "5.3.3"
211
+    version: "5.4.0"
204 212
   double_back_to_close:
205 213
     dependency: "direct main"
206 214
     description:
@@ -229,18 +237,18 @@ packages:
229 237
     dependency: transitive
230 238
     description:
231 239
       name: file
232
-      sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d"
240
+      sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c"
233 241
       url: "https://pub.dev"
234 242
     source: hosted
235
-    version: "6.1.4"
243
+    version: "7.0.0"
236 244
   file_picker:
237 245
     dependency: "direct main"
238 246
     description:
239 247
       name: file_picker
240
-      sha256: be325344c1f3070354a1d84a231a1ba75ea85d413774ec4bdf444c023342e030
248
+      sha256: "4e42aacde3b993c5947467ab640882c56947d9d27342a5b6f2895b23956954a6"
241 249
       url: "https://pub.dev"
242 250
     source: hosted
243
-    version: "5.5.0"
251
+    version: "6.1.1"
244 252
   file_selector_linux:
245 253
     dependency: transitive
246 254
     description:
@@ -277,66 +285,66 @@ packages:
277 285
     dependency: "direct main"
278 286
     description:
279 287
       name: firebase_core
280
-      sha256: "95580fa07c8ca3072a2bb1fecd792616a33f8683477d25b7d29d3a6a399e6ece"
288
+      sha256: "96607c0e829a581c2a483c658f04e8b159964c3bae2730f73297070bc85d40bb"
281 289
       url: "https://pub.dev"
282 290
     source: hosted
283
-    version: "2.17.0"
291
+    version: "2.24.2"
284 292
   firebase_core_platform_interface:
285 293
     dependency: transitive
286 294
     description:
287 295
       name: firebase_core_platform_interface
288
-      sha256: b63e3be6c96ef5c33bdec1aab23c91eb00696f6452f0519401d640938c94cba2
296
+      sha256: c437ae5d17e6b5cc7981cf6fd458a5db4d12979905f9aafd1fea930428a9fe63
289 297
       url: "https://pub.dev"
290 298
     source: hosted
291
-    version: "4.8.0"
299
+    version: "5.0.0"
292 300
   firebase_core_web:
293 301
     dependency: transitive
294 302
     description:
295 303
       name: firebase_core_web
296
-      sha256: e8c408923cd3a25bd342c576a114f2126769cd1a57106a4edeaa67ea4a84e962
304
+      sha256: d585bdf3c656c3f7821ba1bd44da5f13365d22fcecaf5eb75c4295246aaa83c0
297 305
       url: "https://pub.dev"
298 306
     source: hosted
299
-    version: "2.8.0"
307
+    version: "2.10.0"
300 308
   firebase_crashlytics:
301 309
     dependency: "direct main"
302 310
     description:
303 311
       name: firebase_crashlytics
304
-      sha256: "833cf891d10e5e819a2034048ff7e8882bcc0b51055c0e17f5fe3f3c3c177a9d"
312
+      sha256: "5ccdf05de039f9544d0ba41c5ae2052ca2425985d32229911b09f69981164518"
305 313
       url: "https://pub.dev"
306 314
     source: hosted
307
-    version: "3.3.7"
315
+    version: "3.4.8"
308 316
   firebase_crashlytics_platform_interface:
309 317
     dependency: transitive
310 318
     description:
311 319
       name: firebase_crashlytics_platform_interface
312
-      sha256: dfdf1172f35fc0b0132bc5ec815aed52c07643ee56732e6807ca7dc12f7fce86
320
+      sha256: "359197344def001589c84f8d1d57c05f6e2e773f559205610ce58c25e2045a57"
313 321
       url: "https://pub.dev"
314 322
     source: hosted
315
-    version: "3.6.7"
323
+    version: "3.6.16"
316 324
   firebase_messaging:
317 325
     dependency: "direct main"
318 326
     description:
319 327
       name: firebase_messaging
320
-      sha256: "67f9d7c87457e71ad78ee81e332f232b8a24f7d5e338f8c958fa7d6e9e0e3636"
328
+      sha256: "199fe8186a5370d1cf5ce0819191079afc305914e8f38715f5e23943940dfe2d"
321 329
       url: "https://pub.dev"
322 330
     source: hosted
323
-    version: "14.6.9"
331
+    version: "14.7.9"
324 332
   firebase_messaging_platform_interface:
325 333
     dependency: transitive
326 334
     description:
327 335
       name: firebase_messaging_platform_interface
328
-      sha256: "8c7ced3201886ad7ba37f344c1468ccfc08abb3023922e0e5a016eaf38abb96c"
336
+      sha256: "54e283a0e41d81d854636ad0dad73066adc53407a60a7c3189c9656e2f1b6107"
329 337
       url: "https://pub.dev"
330 338
     source: hosted
331
-    version: "4.5.8"
339
+    version: "4.5.18"
332 340
   firebase_messaging_web:
333 341
     dependency: transitive
334 342
     description:
335 343
       name: firebase_messaging_web
336
-      sha256: b601322bdb44e2fefe4cc7b85ef0dbb7a2479d4a7653a51340821cf8d60696b5
344
+      sha256: "90dc7ed885e90a24bb0e56d661d4d2b5f84429697fd2cbb9e5890a0ca370e6f4"
337 345
       url: "https://pub.dev"
338 346
     source: hosted
339
-    version: "3.5.8"
347
+    version: "3.5.18"
340 348
   flutter:
341 349
     dependency: "direct main"
342 350
     description: flutter
@@ -346,10 +354,18 @@ packages:
346 354
     dependency: "direct main"
347 355
     description:
348 356
       name: flutter_animate
349
-      sha256: "62f346340a96192070e31e3f2a1bd30a28530f1fe8be978821e06cd56b74d6d2"
357
+      sha256: "1dbc1aabfb8ec1e9d9feed2b675c21fb6b0a11f99be53ec3bc0f1901af6a8eb7"
350 358
       url: "https://pub.dev"
351 359
     source: hosted
352
-    version: "4.2.0+1"
360
+    version: "4.3.0"
361
+  flutter_cache_manager:
362
+    dependency: "direct main"
363
+    description:
364
+      name: flutter_cache_manager
365
+      sha256: "8207f27539deb83732fdda03e259349046a39a4c767269285f449ade355d54ba"
366
+      url: "https://pub.dev"
367
+    source: hosted
368
+    version: "3.3.1"
353 369
   flutter_gif:
354 370
     dependency: "direct main"
355 371
     description:
@@ -362,10 +378,10 @@ packages:
362 378
     dependency: "direct main"
363 379
     description:
364 380
       name: flutter_image
365
-      sha256: b41c6cbf9462d8cbdeeb7b5dd84c7bca5176e9e4d6e8b968290e371ab758cc0c
381
+      sha256: "0fd3090d50f3bb5619905102f4e61995cce14cae8af8d116d55ae03ea744a1e4"
366 382
       url: "https://pub.dev"
367 383
     source: hosted
368
-    version: "4.1.8"
384
+    version: "4.1.10"
369 385
   flutter_launcher_icons:
370 386
     dependency: "direct main"
371 387
     description:
@@ -378,10 +394,10 @@ packages:
378 394
     dependency: "direct main"
379 395
     description:
380 396
       name: flutter_local_notifications
381
-      sha256: "501ed9d54f1c8c0535b7991bade36f9e7e3b45a2346401f03775c1ec7a3c06ae"
397
+      sha256: "892ada16046d641263f30c72e7432397088810a84f34479f6677494802a2b535"
382 398
       url: "https://pub.dev"
383 399
     source: hosted
384
-    version: "15.1.2"
400
+    version: "16.3.0"
385 401
   flutter_local_notifications_linux:
386 402
     dependency: transitive
387 403
     description:
@@ -426,10 +442,10 @@ packages:
426 442
     dependency: transitive
427 443
     description:
428 444
       name: flutter_plugin_android_lifecycle
429
-      sha256: f185ac890306b5779ecbd611f52502d8d4d63d27703ef73161ca0407e815f02c
445
+      sha256: b068ffc46f82a55844acfa4fdbb61fad72fa2aef0905548419d97f0f95c456da
430 446
       url: "https://pub.dev"
431 447
     source: hosted
432
-    version: "2.0.16"
448
+    version: "2.0.17"
433 449
   flutter_polyline_points:
434 450
     dependency: "direct main"
435 451
     description:
@@ -458,10 +474,10 @@ packages:
458 474
     dependency: "direct main"
459 475
     description:
460 476
       name: flutter_svg
461
-      sha256: "8c5d68a82add3ca76d792f058b186a0599414f279f00ece4830b9b231b570338"
477
+      sha256: d39e7f95621fc84376bc0f7d504f05c3a41488c562f4a8ad410569127507402c
462 478
       url: "https://pub.dev"
463 479
     source: hosted
464
-    version: "2.0.7"
480
+    version: "2.0.9"
465 481
   flutter_test:
466 482
     dependency: "direct dev"
467 483
     description: flutter
@@ -484,10 +500,10 @@ packages:
484 500
     dependency: "direct main"
485 501
     description:
486 502
       name: fluttertoast
487
-      sha256: "474f7d506230897a3cd28c965ec21c5328ae5605fc9c400cd330e9e9d6ac175c"
503
+      sha256: dfdde255317af381bfc1c486ed968d5a43a2ded9c931e87cbecd88767d6a71c1
488 504
       url: "https://pub.dev"
489 505
     source: hosted
490
-    version: "8.2.2"
506
+    version: "8.2.4"
491 507
   focus_detector:
492 508
     dependency: "direct main"
493 509
     description:
@@ -516,10 +532,10 @@ packages:
516 532
     dependency: transitive
517 533
     description:
518 534
       name: geocoding_ios
519
-      sha256: c85495ce8fb34e4fbd2dd8fc5f79263d622d9f88c4af948c965daf6b27a7f3a1
535
+      sha256: "8f79e380abb640ef4d88baee8bb65390058c802601158d0813dc990b36b189d2"
520 536
       url: "https://pub.dev"
521 537
     source: hosted
522
-    version: "2.1.0"
538
+    version: "2.1.1"
523 539
   geocoding_platform_interface:
524 540
     dependency: transitive
525 541
     description:
@@ -540,26 +556,26 @@ packages:
540 556
     dependency: transitive
541 557
     description:
542 558
       name: geolocator_android
543
-      sha256: "93906636752ea4d4e778afa981fdfe7409f545b3147046300df194330044d349"
559
+      sha256: "741579fa6c9e412984d2bdb2fbaa54e3c3f7587c60aeacfe6e058358a11f40f8"
544 560
       url: "https://pub.dev"
545 561
     source: hosted
546
-    version: "4.3.1"
562
+    version: "4.4.0"
547 563
   geolocator_apple:
548 564
     dependency: transitive
549 565
     description:
550 566
       name: geolocator_apple
551
-      sha256: ab90ae811c42ec2f6021e01eca71df00dee6ff1e69d2c2dafd4daeb0b793f73d
567
+      sha256: "1d938e2462cc5145c1402f89d49e70b60a2a51b89fb57414ced71417f1f479b1"
552 568
       url: "https://pub.dev"
553 569
     source: hosted
554
-    version: "2.3.2"
570
+    version: "2.3.3"
555 571
   geolocator_platform_interface:
556 572
     dependency: transitive
557 573
     description:
558 574
       name: geolocator_platform_interface
559
-      sha256: b7aca62aa05d7e610c396a53a1936ff87fce2f735d76e93fde9269c341c46a25
575
+      sha256: "6c8d494d6948757c56720b778af742f6973f31fca1f702a7539b8917e4a2468a"
560 576
       url: "https://pub.dev"
561 577
     source: hosted
562
-    version: "4.1.1"
578
+    version: "4.2.0"
563 579
   geolocator_web:
564 580
     dependency: transitive
565 581
     description:
@@ -572,10 +588,10 @@ packages:
572 588
     dependency: transitive
573 589
     description:
574 590
       name: geolocator_windows
575
-      sha256: "8725beaa00db2b52f53d9811584cb4488240b250b04a09763e80945017f65c9c"
591
+      sha256: a92fae29779d5c6dc60e8411302f5221ade464968fe80a36d330e80a71f087af
576 592
       url: "https://pub.dev"
577 593
     source: hosted
578
-    version: "0.2.1"
594
+    version: "0.2.2"
579 595
   get_it:
580 596
     dependency: "direct main"
581 597
     description:
@@ -588,18 +604,18 @@ packages:
588 604
     dependency: "direct main"
589 605
     description:
590 606
       name: google_fonts
591
-      sha256: e20ff62b158b96f392bfc8afe29dee1503c94fbea2cbe8186fd59b756b8ae982
607
+      sha256: f0b8d115a13ecf827013ec9fc883390ccc0e87a96ed5347a3114cac177ef18e8
592 608
       url: "https://pub.dev"
593 609
     source: hosted
594
-    version: "5.1.0"
610
+    version: "6.1.0"
595 611
   http:
596 612
     dependency: "direct main"
597 613
     description:
598 614
       name: http
599
-      sha256: "759d1a329847dd0f39226c688d3e06a6b8679668e350e2891a6474f8b4bb8525"
615
+      sha256: d4872660c46d929f6b8a9ef4e7a7eff7e49bbf0c4ec3f385ee32df5119175139
600 616
       url: "https://pub.dev"
601 617
     source: hosted
602
-    version: "1.1.0"
618
+    version: "1.1.2"
603 619
   http_parser:
604 620
     dependency: transitive
605 621
     description:
@@ -620,10 +636,10 @@ packages:
620 636
     dependency: "direct main"
621 637
     description:
622 638
       name: image_cropper
623
-      sha256: "19340e50a8c09124ef2196884e9eb79d219d84cb819cfbf52141221216e30515"
639
+      sha256: f4bad5ed2dfff5a7ce0dfbad545b46a945c702bb6182a921488ef01ba7693111
624 640
       url: "https://pub.dev"
625 641
     source: hosted
626
-    version: "5.0.0"
642
+    version: "5.0.1"
627 643
   image_cropper_for_web:
628 644
     dependency: transitive
629 645
     description:
@@ -644,18 +660,18 @@ packages:
644 660
     dependency: "direct main"
645 661
     description:
646 662
       name: image_picker
647
-      sha256: "7d7f2768df2a8b0a3cefa5ef4f84636121987d403130e70b17ef7e2cf650ba84"
663
+      sha256: fc712337719239b0b6e41316aa133350b078fa39b6cbd706b61f3fd421b03c77
648 664
       url: "https://pub.dev"
649 665
     source: hosted
650
-    version: "1.0.4"
666
+    version: "1.0.5"
651 667
   image_picker_android:
652 668
     dependency: transitive
653 669
     description:
654 670
       name: image_picker_android
655
-      sha256: "0c7b83bbe2980c8a8e36e974f055e11e51675784e13a4762889feed0f3937ff2"
671
+      sha256: ecdc963d2aa67af5195e723a40580f802d4392e31457a12a562b3e2bd6a396fe
656 672
       url: "https://pub.dev"
657 673
     source: hosted
658
-    version: "0.8.8+1"
674
+    version: "0.8.9+1"
659 675
   image_picker_for_web:
660 676
     dependency: transitive
661 677
     description:
@@ -668,10 +684,10 @@ packages:
668 684
     dependency: transitive
669 685
     description:
670 686
       name: image_picker_ios
671
-      sha256: c5538cacefacac733c724be7484377923b476216ad1ead35a0d2eadcdc0fc497
687
+      sha256: eac0a62104fa12feed213596df0321f57ce5a572562f72a68c4ff81e9e4caacf
672 688
       url: "https://pub.dev"
673 689
     source: hosted
674
-    version: "0.8.8+2"
690
+    version: "0.8.9"
675 691
   image_picker_linux:
676 692
     dependency: transitive
677 693
     description:
@@ -716,10 +732,10 @@ packages:
716 732
     dependency: "direct main"
717 733
     description:
718 734
       name: intl
719
-      sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d"
735
+      sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf
720 736
       url: "https://pub.dev"
721 737
     source: hosted
722
-    version: "0.18.1"
738
+    version: "0.19.0"
723 739
   js:
724 740
     dependency: transitive
725 741
     description:
@@ -780,10 +796,10 @@ packages:
780 796
     dependency: "direct main"
781 797
     description:
782 798
       name: lottie
783
-      sha256: b8bdd54b488c54068c57d41ae85d02808da09e2bee8b8dd1f59f441e7efa60cd
799
+      sha256: a93542cc2d60a7057255405f62252533f8e8956e7e06754955669fd32fb4b216
784 800
       url: "https://pub.dev"
785 801
     source: hosted
786
-    version: "2.6.0"
802
+    version: "2.7.0"
787 803
   matcher:
788 804
     dependency: transitive
789 805
     description:
@@ -804,10 +820,10 @@ packages:
804 820
     dependency: "direct main"
805 821
     description:
806 822
       name: meta
807
-      sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3"
823
+      sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e
808 824
       url: "https://pub.dev"
809 825
     source: hosted
810
-    version: "1.9.1"
826
+    version: "1.10.0"
811 827
   mgrs_dart:
812 828
     dependency: transitive
813 829
     description:
@@ -849,7 +865,7 @@ packages:
849 865
     source: hosted
850 866
     version: "2.1.0"
851 867
   path:
852
-    dependency: transitive
868
+    dependency: "direct main"
853 869
     description:
854 870
       name: path
855 871
       sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
@@ -876,10 +892,10 @@ packages:
876 892
     dependency: transitive
877 893
     description:
878 894
       name: path_provider_android
879
-      sha256: "6b8b19bd80da4f11ce91b2d1fb931f3006911477cec227cce23d3253d80df3f1"
895
+      sha256: "477184d672607c0a3bf68fbbf601805f92ef79c82b64b4d6eb318cbca4c48668"
880 896
       url: "https://pub.dev"
881 897
     source: hosted
882
-    version: "2.2.0"
898
+    version: "2.2.2"
883 899
   path_provider_foundation:
884 900
     dependency: transitive
885 901
     description:
@@ -916,10 +932,10 @@ packages:
916 932
     dependency: transitive
917 933
     description:
918 934
       name: petitparser
919
-      sha256: cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750
935
+      sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27
920 936
       url: "https://pub.dev"
921 937
     source: hosted
922
-    version: "5.4.0"
938
+    version: "6.0.2"
923 939
   platform:
924 940
     dependency: transitive
925 941
     description:
@@ -932,10 +948,10 @@ packages:
932 948
     dependency: transitive
933 949
     description:
934 950
       name: plugin_platform_interface
935
-      sha256: da3fdfeccc4d4ff2da8f8c556704c08f912542c5fb3cf2233ed75372384a034d
951
+      sha256: f4f88d4a900933e7267e2b353594774fc0d07fb072b47eedcd5b54e1ea3269f8
936 952
       url: "https://pub.dev"
937 953
     source: hosted
938
-    version: "2.1.6"
954
+    version: "2.1.7"
939 955
   pointycastle:
940 956
     dependency: transitive
941 957
     description:
@@ -972,10 +988,18 @@ packages:
972 988
     dependency: "direct main"
973 989
     description:
974 990
       name: provider
975
-      sha256: cdbe7530b12ecd9eb455bdaa2fcb8d4dad22e80b8afb4798b41479d5ce26847f
991
+      sha256: "9a96a0a19b594dbc5bf0f1f27d2bc67d5f95957359b461cd9feb44ed6ae75096"
992
+      url: "https://pub.dev"
993
+    source: hosted
994
+    version: "6.1.1"
995
+  rxdart:
996
+    dependency: transitive
997
+    description:
998
+      name: rxdart
999
+      sha256: "0c7c0cedd93788d996e33041ffecda924cc54389199cde4e6a34b440f50044cb"
976 1000
       url: "https://pub.dev"
977 1001
     source: hosted
978
-    version: "6.0.5"
1002
+    version: "0.27.7"
979 1003
   shared_preferences:
980 1004
     dependency: "direct main"
981 1005
     description:
@@ -1004,10 +1028,10 @@ packages:
1004 1028
     dependency: transitive
1005 1029
     description:
1006 1030
       name: shared_preferences_linux
1007
-      sha256: c2eb5bf57a2fe9ad6988121609e47d3e07bb3bdca5b6f8444e4cf302428a128a
1031
+      sha256: "9f2cbcf46d4270ea8be39fa156d86379077c8a5228d9dfdb1164ae0bb93f1faa"
1008 1032
       url: "https://pub.dev"
1009 1033
     source: hosted
1010
-    version: "2.3.1"
1034
+    version: "2.3.2"
1011 1035
   shared_preferences_platform_interface:
1012 1036
     dependency: transitive
1013 1037
     description:
@@ -1020,18 +1044,18 @@ packages:
1020 1044
     dependency: transitive
1021 1045
     description:
1022 1046
       name: shared_preferences_web
1023
-      sha256: d762709c2bbe80626ecc819143013cc820fa49ca5e363620ee20a8b15a3e3daf
1047
+      sha256: "7b15ffb9387ea3e237bb7a66b8a23d2147663d391cafc5c8f37b2e7b4bde5d21"
1024 1048
       url: "https://pub.dev"
1025 1049
     source: hosted
1026
-    version: "2.2.1"
1050
+    version: "2.2.2"
1027 1051
   shared_preferences_windows:
1028 1052
     dependency: transitive
1029 1053
     description:
1030 1054
       name: shared_preferences_windows
1031
-      sha256: f763a101313bd3be87edffe0560037500967de9c394a714cd598d945517f694f
1055
+      sha256: "841ad54f3c8381c480d0c9b508b89a34036f512482c407e6df7a9c4aa2ef8f59"
1032 1056
       url: "https://pub.dev"
1033 1057
     source: hosted
1034
-    version: "2.3.1"
1058
+    version: "2.3.2"
1035 1059
   sky_engine:
1036 1060
     dependency: transitive
1037 1061
     description: flutter
@@ -1053,22 +1077,46 @@ packages:
1053 1077
       url: "https://pub.dev"
1054 1078
     source: hosted
1055 1079
     version: "1.10.0"
1080
+  sprintf:
1081
+    dependency: transitive
1082
+    description:
1083
+      name: sprintf
1084
+      sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23"
1085
+      url: "https://pub.dev"
1086
+    source: hosted
1087
+    version: "7.0.0"
1088
+  sqflite:
1089
+    dependency: transitive
1090
+    description:
1091
+      name: sqflite
1092
+      sha256: "591f1602816e9c31377d5f008c2d9ef7b8aca8941c3f89cc5fd9d84da0c38a9a"
1093
+      url: "https://pub.dev"
1094
+    source: hosted
1095
+    version: "2.3.0"
1096
+  sqflite_common:
1097
+    dependency: transitive
1098
+    description:
1099
+      name: sqflite_common
1100
+      sha256: bb4738f15b23352822f4c42a531677e5c6f522e079461fd240ead29d8d8a54a6
1101
+      url: "https://pub.dev"
1102
+    source: hosted
1103
+    version: "2.5.0+2"
1056 1104
   stack_trace:
1057 1105
     dependency: transitive
1058 1106
     description:
1059 1107
       name: stack_trace
1060
-      sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5
1108
+      sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
1061 1109
       url: "https://pub.dev"
1062 1110
     source: hosted
1063
-    version: "1.11.0"
1111
+    version: "1.11.1"
1064 1112
   stream_channel:
1065 1113
     dependency: transitive
1066 1114
     description:
1067 1115
       name: stream_channel
1068
-      sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8"
1116
+      sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
1069 1117
       url: "https://pub.dev"
1070 1118
     source: hosted
1071
-    version: "2.1.1"
1119
+    version: "2.1.2"
1072 1120
   string_scanner:
1073 1121
     dependency: transitive
1074 1122
     description:
@@ -1081,26 +1129,34 @@ packages:
1081 1129
     dependency: "direct main"
1082 1130
     description:
1083 1131
       name: syncfusion_flutter_calendar
1084
-      sha256: "0ef40e5dd10b94b9bb2808c217a10d24061b87e9106b9b35ecd8d489bb4f4b23"
1132
+      sha256: c7baeea19cf9a08ead53a438878b39a2bcd89e7989cbaa56b7fdb5b15e5783c7
1085 1133
       url: "https://pub.dev"
1086 1134
     source: hosted
1087
-    version: "23.1.41"
1135
+    version: "21.2.3"
1088 1136
   syncfusion_flutter_core:
1089 1137
     dependency: transitive
1090 1138
     description:
1091 1139
       name: syncfusion_flutter_core
1092
-      sha256: a8e3d3ea369566bb45f454331c5863939632b6068d15b558fa384811f1f5aa51
1140
+      sha256: "8db8f55c77f56968681447d3837c10f27a9e861e238a898fda116c7531def979"
1093 1141
       url: "https://pub.dev"
1094 1142
     source: hosted
1095
-    version: "23.1.41"
1143
+    version: "21.2.10"
1096 1144
   syncfusion_flutter_datepicker:
1097 1145
     dependency: transitive
1098 1146
     description:
1099 1147
       name: syncfusion_flutter_datepicker
1100
-      sha256: "0faff9098c24299429743e895e6365aed4849884c19b7ce110aaee21db7afacf"
1148
+      sha256: cdc7f12804d609935400262f8d05d9eda8a1f3dbdfef363fb837f09b1f35023d
1101 1149
       url: "https://pub.dev"
1102 1150
     source: hosted
1103
-    version: "23.1.41"
1151
+    version: "21.2.3"
1152
+  synchronized:
1153
+    dependency: transitive
1154
+    description:
1155
+      name: synchronized
1156
+      sha256: "539ef412b170d65ecdafd780f924e5be3f60032a1128df156adad6c5b373d558"
1157
+      url: "https://pub.dev"
1158
+    source: hosted
1159
+    version: "3.1.0+1"
1104 1160
   term_glyph:
1105 1161
     dependency: transitive
1106 1162
     description:
@@ -1113,18 +1169,18 @@ packages:
1113 1169
     dependency: transitive
1114 1170
     description:
1115 1171
       name: test_api
1116
-      sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8"
1172
+      sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b"
1117 1173
       url: "https://pub.dev"
1118 1174
     source: hosted
1119
-    version: "0.6.0"
1175
+    version: "0.6.1"
1120 1176
   timezone:
1121 1177
     dependency: transitive
1122 1178
     description:
1123 1179
       name: timezone
1124
-      sha256: "1cfd8ddc2d1cfd836bc93e67b9be88c3adaeca6f40a00ca999104c30693cdca0"
1180
+      sha256: "24c8fcdd49a805d95777a39064862133ff816ebfffe0ceff110fb5960e557964"
1125 1181
       url: "https://pub.dev"
1126 1182
     source: hosted
1127
-    version: "0.9.2"
1183
+    version: "0.9.1"
1128 1184
   transparent_image:
1129 1185
     dependency: "direct main"
1130 1186
     description:
@@ -1161,98 +1217,98 @@ packages:
1161 1217
     dependency: "direct main"
1162 1218
     description:
1163 1219
       name: url_launcher
1164
-      sha256: "47e208a6711459d813ba18af120d9663c20bdf6985d6ad39fe165d2538378d27"
1220
+      sha256: e9aa5ea75c84cf46b3db4eea212523591211c3cf2e13099ee4ec147f54201c86
1165 1221
       url: "https://pub.dev"
1166 1222
     source: hosted
1167
-    version: "6.1.14"
1223
+    version: "6.2.2"
1168 1224
   url_launcher_android:
1169 1225
     dependency: transitive
1170 1226
     description:
1171 1227
       name: url_launcher_android
1172
-      sha256: b04af59516ab45762b2ca6da40fa830d72d0f6045cd97744450b73493fa76330
1228
+      sha256: "31222ffb0063171b526d3e569079cf1f8b294075ba323443fdc690842bfd4def"
1173 1229
       url: "https://pub.dev"
1174 1230
     source: hosted
1175
-    version: "6.1.0"
1231
+    version: "6.2.0"
1176 1232
   url_launcher_ios:
1177 1233
     dependency: transitive
1178 1234
     description:
1179 1235
       name: url_launcher_ios
1180
-      sha256: "7c65021d5dee51813d652357bc65b8dd4a6177082a9966bc8ba6ee477baa795f"
1236
+      sha256: bba3373219b7abb6b5e0d071b0fe66dfbe005d07517a68e38d4fc3638f35c6d3
1181 1237
       url: "https://pub.dev"
1182 1238
     source: hosted
1183
-    version: "6.1.5"
1239
+    version: "6.2.1"
1184 1240
   url_launcher_linux:
1185 1241
     dependency: transitive
1186 1242
     description:
1187 1243
       name: url_launcher_linux
1188
-      sha256: b651aad005e0cb06a01dbd84b428a301916dc75f0e7ea6165f80057fee2d8e8e
1244
+      sha256: ab360eb661f8879369acac07b6bb3ff09d9471155357da8443fd5d3cf7363811
1189 1245
       url: "https://pub.dev"
1190 1246
     source: hosted
1191
-    version: "3.0.6"
1247
+    version: "3.1.1"
1192 1248
   url_launcher_macos:
1193 1249
     dependency: transitive
1194 1250
     description:
1195 1251
       name: url_launcher_macos
1196
-      sha256: b55486791f666e62e0e8ff825e58a023fd6b1f71c49926483f1128d3bbd8fe88
1252
+      sha256: b7244901ea3cf489c5335bdacda07264a6e960b1c1b1a9f91e4bc371d9e68234
1197 1253
       url: "https://pub.dev"
1198 1254
     source: hosted
1199
-    version: "3.0.7"
1255
+    version: "3.1.0"
1200 1256
   url_launcher_platform_interface:
1201 1257
     dependency: transitive
1202 1258
     description:
1203 1259
       name: url_launcher_platform_interface
1204
-      sha256: "95465b39f83bfe95fcb9d174829d6476216f2d548b79c38ab2506e0458787618"
1260
+      sha256: "980e8d9af422f477be6948bdfb68df8433be71f5743a188968b0c1b887807e50"
1205 1261
       url: "https://pub.dev"
1206 1262
     source: hosted
1207
-    version: "2.1.5"
1263
+    version: "2.2.0"
1208 1264
   url_launcher_web:
1209 1265
     dependency: transitive
1210 1266
     description:
1211 1267
       name: url_launcher_web
1212
-      sha256: "2942294a500b4fa0b918685aff406773ba0a4cd34b7f42198742a94083020ce5"
1268
+      sha256: "7286aec002c8feecc338cc33269e96b73955ab227456e9fb2a91f7fab8a358e9"
1213 1269
       url: "https://pub.dev"
1214 1270
     source: hosted
1215
-    version: "2.0.20"
1271
+    version: "2.2.2"
1216 1272
   url_launcher_windows:
1217 1273
     dependency: transitive
1218 1274
     description:
1219 1275
       name: url_launcher_windows
1220
-      sha256: "95fef3129dc7cfaba2bc3d5ba2e16063bb561fc6d78e63eee16162bc70029069"
1276
+      sha256: ecf9725510600aa2bb6d7ddabe16357691b6d2805f66216a97d1b881e21beff7
1221 1277
       url: "https://pub.dev"
1222 1278
     source: hosted
1223
-    version: "3.0.8"
1279
+    version: "3.1.1"
1224 1280
   uuid:
1225 1281
     dependency: transitive
1226 1282
     description:
1227 1283
       name: uuid
1228
-      sha256: "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313"
1284
+      sha256: "22c94e5ad1e75f9934b766b53c742572ee2677c56bc871d850a57dad0f82127f"
1229 1285
       url: "https://pub.dev"
1230 1286
     source: hosted
1231
-    version: "3.0.7"
1287
+    version: "4.2.2"
1232 1288
   vector_graphics:
1233 1289
     dependency: transitive
1234 1290
     description:
1235 1291
       name: vector_graphics
1236
-      sha256: "670f6e07aca990b4a2bcdc08a784193c4ccdd1932620244c3a86bb72a0eac67f"
1292
+      sha256: "0f0c746dd2d6254a0057218ff980fc7f5670fd0fcf5e4db38a490d31eed4ad43"
1237 1293
       url: "https://pub.dev"
1238 1294
     source: hosted
1239
-    version: "1.1.7"
1295
+    version: "1.1.9+1"
1240 1296
   vector_graphics_codec:
1241 1297
     dependency: transitive
1242 1298
     description:
1243 1299
       name: vector_graphics_codec
1244
-      sha256: "7451721781d967db9933b63f5733b1c4533022c0ba373a01bdd79d1a5457f69f"
1300
+      sha256: "0edf6d630d1bfd5589114138ed8fada3234deacc37966bec033d3047c29248b7"
1245 1301
       url: "https://pub.dev"
1246 1302
     source: hosted
1247
-    version: "1.1.7"
1303
+    version: "1.1.9+1"
1248 1304
   vector_graphics_compiler:
1249 1305
     dependency: transitive
1250 1306
     description:
1251 1307
       name: vector_graphics_compiler
1252
-      sha256: "80a13c613c8bde758b1464a1755a7b3a8f2b6cec61fbf0f5a53c94c30f03ba2e"
1308
+      sha256: d24333727332d9bd20990f1483af4e09abdb9b1fc7c3db940b56ab5c42790c26
1253 1309
       url: "https://pub.dev"
1254 1310
     source: hosted
1255
-    version: "1.1.7"
1311
+    version: "1.1.9+1"
1256 1312
   vector_math:
1257 1313
     dependency: "direct main"
1258 1314
     description:
@@ -1273,50 +1329,50 @@ packages:
1273 1329
     dependency: transitive
1274 1330
     description:
1275 1331
       name: web
1276
-      sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10
1332
+      sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152
1277 1333
       url: "https://pub.dev"
1278 1334
     source: hosted
1279
-    version: "0.1.4-beta"
1335
+    version: "0.3.0"
1280 1336
   webview_flutter:
1281 1337
     dependency: "direct main"
1282 1338
     description:
1283 1339
       name: webview_flutter
1284
-      sha256: c1ab9b81090705c6069197d9fdc1625e587b52b8d70cdde2339d177ad0dbb98e
1340
+      sha256: "42393b4492e629aa3a88618530a4a00de8bb46e50e7b3993fedbfdc5352f0dbf"
1285 1341
       url: "https://pub.dev"
1286 1342
     source: hosted
1287
-    version: "4.4.1"
1343
+    version: "4.4.2"
1288 1344
   webview_flutter_android:
1289 1345
     dependency: transitive
1290 1346
     description:
1291 1347
       name: webview_flutter_android
1292
-      sha256: b0cd33dd7d3dd8e5f664e11a19e17ba12c352647269921a3b568406b001f1dff
1348
+      sha256: b54c89fe14a6d26a2a46e24880da0441cdd2bf1f6d01a5b3e1d39558feb1de0b
1293 1349
       url: "https://pub.dev"
1294 1350
     source: hosted
1295
-    version: "3.12.0"
1351
+    version: "3.13.1"
1296 1352
   webview_flutter_platform_interface:
1297 1353
     dependency: transitive
1298 1354
     description:
1299 1355
       name: webview_flutter_platform_interface
1300
-      sha256: "6d9213c65f1060116757a7c473247c60f3f7f332cac33dc417c9e362a9a13e4f"
1356
+      sha256: dbe745ee459a16b6fec296f7565a8ef430d0d681001d8ae521898b9361854943
1301 1357
       url: "https://pub.dev"
1302 1358
     source: hosted
1303
-    version: "2.6.0"
1359
+    version: "2.9.0"
1304 1360
   webview_flutter_wkwebview:
1305 1361
     dependency: transitive
1306 1362
     description:
1307 1363
       name: webview_flutter_wkwebview
1308
-      sha256: b4b42295b3aa91ed22ba6d3dd7de56efbb8f3ab3d6e41d8b1615d13537c7801d
1364
+      sha256: eebfabfa8a115b535b52031b8b26f7a4b58ceceab378bc9db8762b0fb46f7b5d
1309 1365
       url: "https://pub.dev"
1310 1366
     source: hosted
1311
-    version: "3.9.2"
1367
+    version: "3.10.0"
1312 1368
   win32:
1313 1369
     dependency: transitive
1314 1370
     description:
1315 1371
       name: win32
1316
-      sha256: "350a11abd2d1d97e0cc7a28a81b781c08002aa2864d9e3f192ca0ffa18b06ed3"
1372
+      sha256: b0f37db61ba2f2e9b7a78a1caece0052564d1bc70668156cf3a29d676fe4e574
1317 1373
       url: "https://pub.dev"
1318 1374
     source: hosted
1319
-    version: "5.0.9"
1375
+    version: "5.1.1"
1320 1376
   win32_registry:
1321 1377
     dependency: transitive
1322 1378
     description:
@@ -1345,10 +1401,10 @@ packages:
1345 1401
     dependency: transitive
1346 1402
     description:
1347 1403
       name: xml
1348
-      sha256: "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84"
1404
+      sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226
1349 1405
       url: "https://pub.dev"
1350 1406
     source: hosted
1351
-    version: "6.3.0"
1407
+    version: "6.5.0"
1352 1408
   yaml:
1353 1409
     dependency: transitive
1354 1410
     description:
@@ -1358,5 +1414,5 @@ packages:
1358 1414
     source: hosted
1359 1415
     version: "3.1.2"
1360 1416
 sdks:
1361
-  dart: ">=3.1.0 <4.0.0"
1362
-  flutter: ">=3.13.0"
1417
+  dart: ">=3.2.0 <4.0.0"
1418
+  flutter: ">=3.16.0"

+ 27
- 24
pubspec.yaml View File

@@ -1,5 +1,5 @@
1
-name: employee_selfservice_mobile
2
-description: Employee Self Service Flutter project.
1
+name: tower_app
2
+description: Tower App.
3 3
 
4 4
 # The following line prevents the package from being accidentally published to
5 5
 # pub.dev using `flutter pub publish`. This is preferred for private packages.
@@ -33,7 +33,7 @@ environment:
33 33
 dependencies:
34 34
   flutter:
35 35
     sdk: flutter
36
-  google_fonts: ^5.1.0
36
+  google_fonts: ^6.1.0
37 37
 
38 38
   # The following adds the Cupertino Icons font to your application.
39 39
   # Use with the CupertinoIcons class for iOS style icons.
@@ -42,24 +42,24 @@ dependencies:
42 42
   flutter_staggered_grid_view: ^0.7.0
43 43
   double_back_to_close: ^2.0.0
44 44
   animated_splash_screen: ^1.3.0
45
-  lottie: ^2.6.0
45
+  lottie: ^2.7.0
46 46
   fluttertoast: ^8.1.1
47 47
   #google_maps_flutter: ^2.2.1
48
-  http: ^1.1.0
49
-  intl: ^0.18.0
50
-  dio: ^5.3.2
48
+  http: ^1.1.2
49
+  intl: ^0.19.0
50
+  dio: ^5.4.0
51 51
   get_it: ^7.6.4
52
-  shared_preferences: ^2.2.1
52
+  shared_preferences: ^2.2.2
53 53
   # device_information: ^0.0.4
54
-  device_imei: ^0.0.2
55
-  device_info_plus: ^9.0.3
54
+  device_imei: ^0.0.4+2
55
+  device_info_plus: ^9.1.1
56 56
   flutter_udid: ^2.0.1
57
-  image_picker: ^1.0.4
58
-  image_cropper: ^5.0.0
57
+  image_picker: ^1.0.5
58
+  image_cropper: ^5.0.1
59 59
   #progress_dialog: ^1.2.4
60 60
   progress_dialog_null_safe: ^1.0.7
61 61
   #mapbox_gl: ^0.16.0
62
-  file_picker: ^5.5.0
62
+  file_picker: ^6.1.1
63 63
   #device_id: ^0.2.0
64 64
   flutter_launcher_icons: ^0.13.1
65 65
   location: ^5.0.3
@@ -73,28 +73,31 @@ dependencies:
73 73
   async: ^2.9.0
74 74
   flutter_image: ^4.1.8
75 75
   vector_math: ^2.1.2
76
-  meta: ^1.9.1
76
+  meta: ^1.10.0
77 77
   collection: ^1.17.2
78 78
   flutter_map_marker_cluster: ^1.2.0
79 79
   flutter_polyline_points: ^2.0.0
80
-  provider: ^6.0.5
81
-  connectivity_plus: ^4.0.2
80
+  provider: ^6.1.1
81
+  connectivity_plus: ^5.0.2
82 82
   internet_connection_checker: ^1.0.0+1
83 83
   #plain_notification_token: ^0.0.4
84 84
   focus_detector: ^2.0.1
85
-  firebase_core: ^2.15.1
86
-  flutter_local_notifications: ^15.1.1
87
-  firebase_messaging: ^14.6.7
88
-  url_launcher: ^6.1.14
85
+  firebase_core: ^2.24.2
86
+  flutter_local_notifications: ^16.2.0
87
+  firebase_messaging: ^14.7.9
88
+  url_launcher: ^6.2.2
89 89
   flutter_sliding_up_panel: ^2.1.1
90 90
   sliding_up_panel: ^2.0.0+1
91 91
   flutter_animate: ^4.2.0+1
92
-  animations: ^2.0.8
93
-  firebase_crashlytics: ^3.3.5
92
+  animations: ^2.0.10
93
+  firebase_crashlytics: ^3.4.8
94 94
   app_settings: ^5.1.1
95 95
   flutter_gif: ^0.0.4
96
-  syncfusion_flutter_calendar: ^23.1.41
97
-  webview_flutter: ^4.4.1
96
+  syncfusion_flutter_calendar: ^21.2.3
97
+  webview_flutter: ^4.4.2
98
+  path: ^1.8.3
99
+  flutter_cache_manager: ^3.3.1
100
+  api_cache_manager: ^1.0.1
98 101
 
99 102
 dev_dependencies:
100 103
   flutter_test:

+ 1
- 1
test/widget_test.dart View File

@@ -7,7 +7,7 @@
7 7
 
8 8
 import 'package:flutter/material.dart';
9 9
 import 'package:flutter_test/flutter_test.dart';
10
-import 'package:employee_selfservice_mobile/main.dart';
10
+import 'package:tower_app/main.dart';
11 11
 
12 12
 void main() {
13 13
   testWidgets('Counter increments smoke test', (WidgetTester tester) async {

BIN
tower_keystore.jks View File


+ 3
- 3
web/index.html View File

@@ -18,18 +18,18 @@
18 18
 
19 19
   <meta charset="UTF-8">
20 20
   <meta content="IE=Edge" http-equiv="X-UA-Compatible">
21
-  <meta name="description" content="HRIS Self Service Flutter project.">
21
+  <meta name="description" content="Tower App project.">
22 22
 
23 23
   <!-- iOS meta tags & icons -->
24 24
   <meta name="apple-mobile-web-app-capable" content="yes">
25 25
   <meta name="apple-mobile-web-app-status-bar-style" content="black">
26
-  <meta name="apple-mobile-web-app-title" content="hris_selfservice_mobile">
26
+  <meta name="apple-mobile-web-app-title" content="tower_app">
27 27
   <link rel="apple-touch-icon" href="icons/Icon-192.png">
28 28
 
29 29
   <!-- Favicon -->
30 30
   <link rel="icon" type="image/png" href="favicon.png"/>
31 31
 
32
-  <title>hris_selfservice_mobile</title>
32
+  <title>tower_app</title>
33 33
   <link rel="manifest" href="manifest.json">
34 34
 
35 35
   <script>

+ 3
- 3
web/manifest.json View File

@@ -1,11 +1,11 @@
1 1
 {
2
-    "name": "hris_selfservice_mobile",
3
-    "short_name": "hris_selfservice_mobile",
2
+    "name": "tower_app",
3
+    "short_name": "tower_app",
4 4
     "start_url": ".",
5 5
     "display": "standalone",
6 6
     "background_color": "#0175C2",
7 7
     "theme_color": "#0175C2",
8
-    "description": "HRIS Self Service Flutter project.",
8
+    "description": "Tower App",
9 9
     "orientation": "portrait-primary",
10 10
     "prefer_related_applications": false,
11 11
     "icons": [

Loading…
Cancel
Save