Browse Source

Update 1509

dienianindya 1 year ago
parent
commit
c78a849b73
100 changed files with 237 additions and 397 deletions
  1. 2
    2
      android/app/build.gradle
  2. 1
    0
      android/app/src/main/AndroidManifest.xml
  3. BIN
      android/app/src/main/res/IconKitchen-Output/android/play_store_512.png
  4. 0
    6
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-anydpi-v26/ic_launcher.xml
  5. BIN
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-hdpi/ic_launcher.png
  6. BIN
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-hdpi/ic_launcher_background.png
  7. BIN
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-hdpi/ic_launcher_foreground.png
  8. BIN
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-hdpi/ic_launcher_monochrome.png
  9. BIN
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-mdpi/ic_launcher.png
  10. BIN
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-mdpi/ic_launcher_background.png
  11. BIN
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-mdpi/ic_launcher_foreground.png
  12. BIN
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-mdpi/ic_launcher_monochrome.png
  13. BIN
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xhdpi/ic_launcher.png
  14. BIN
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xhdpi/ic_launcher_background.png
  15. BIN
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xhdpi/ic_launcher_foreground.png
  16. BIN
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xhdpi/ic_launcher_monochrome.png
  17. BIN
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xxhdpi/ic_launcher.png
  18. BIN
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xxhdpi/ic_launcher_background.png
  19. BIN
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xxhdpi/ic_launcher_foreground.png
  20. BIN
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xxhdpi/ic_launcher_monochrome.png
  21. BIN
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xxxhdpi/ic_launcher.png
  22. BIN
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xxxhdpi/ic_launcher_background.png
  23. BIN
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xxxhdpi/ic_launcher_foreground.png
  24. BIN
      android/app/src/main/res/IconKitchen-Output/android/res/mipmap-xxxhdpi/ic_launcher_monochrome.png
  25. BIN
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon-20@2x.png
  26. BIN
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon-20@2x~ipad.png
  27. BIN
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon-20@3x.png
  28. BIN
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon-20~ipad.png
  29. BIN
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon-29.png
  30. BIN
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon-29@2x.png
  31. BIN
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon-29@2x~ipad.png
  32. BIN
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon-29@3x.png
  33. BIN
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon-29~ipad.png
  34. BIN
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon-40@2x.png
  35. BIN
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon-40@2x~ipad.png
  36. BIN
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon-40@3x.png
  37. BIN
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon-40~ipad.png
  38. BIN
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon-60@2x~car.png
  39. BIN
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon-60@3x~car.png
  40. BIN
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon-83.5@2x~ipad.png
  41. BIN
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon@2x.png
  42. BIN
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon@2x~ipad.png
  43. BIN
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon@3x.png
  44. BIN
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon~ios-marketing.png
  45. BIN
      android/app/src/main/res/IconKitchen-Output/ios/AppIcon~ipad.png
  46. 0
    134
      android/app/src/main/res/IconKitchen-Output/ios/Contents.json
  47. 0
    18
      android/app/src/main/res/IconKitchen-Output/web/README.txt
  48. BIN
      android/app/src/main/res/IconKitchen-Output/web/apple-touch-icon.png
  49. BIN
      android/app/src/main/res/IconKitchen-Output/web/favicon.ico
  50. BIN
      android/app/src/main/res/IconKitchen-Output/web/icon-192-maskable.png
  51. BIN
      android/app/src/main/res/IconKitchen-Output/web/icon-192.png
  52. BIN
      android/app/src/main/res/IconKitchen-Output/web/icon-512-maskable.png
  53. BIN
      android/app/src/main/res/IconKitchen-Output/web/icon-512.png
  54. 0
    5
      android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
  55. BIN
      android/app/src/main/res/mipmap-hdpi/ic_launcher.png
  56. BIN
      android/app/src/main/res/mipmap-hdpi/ic_launcher_background.png
  57. BIN
      android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
  58. BIN
      android/app/src/main/res/mipmap-hdpi/ic_launcher_monochrome.png
  59. BIN
      android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
  60. BIN
      android/app/src/main/res/mipmap-ldpi/ic_launcher.png
  61. BIN
      android/app/src/main/res/mipmap-mdpi/ic_launcher.png
  62. BIN
      android/app/src/main/res/mipmap-mdpi/ic_launcher_background.png
  63. BIN
      android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
  64. BIN
      android/app/src/main/res/mipmap-mdpi/ic_launcher_monochrome.png
  65. BIN
      android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
  66. BIN
      android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
  67. BIN
      android/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png
  68. BIN
      android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
  69. BIN
      android/app/src/main/res/mipmap-xhdpi/ic_launcher_monochrome.png
  70. BIN
      android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
  71. BIN
      android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
  72. BIN
      android/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png
  73. BIN
      android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
  74. BIN
      android/app/src/main/res/mipmap-xxhdpi/ic_launcher_monochrome.png
  75. BIN
      android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
  76. BIN
      android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
  77. BIN
      android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png
  78. BIN
      android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
  79. BIN
      android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_monochrome.png
  80. BIN
      android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
  81. 1
    1
      android/build.gradle
  82. BIN
      assets/icons/ic_notif.png
  83. BIN
      assets/icons/ic_pp_1.png
  84. BIN
      assets/icons/ic_pp_2.png
  85. BIN
      ess_keystore.jks
  86. BIN
      hris_keystore.jks
  87. BIN
      hris_selfservice_mobile.zip
  88. 180
    171
      lib/Screens/Home/home_screen.dart
  89. 0
    5
      lib/Screens/Login/login_screen.dart
  90. 21
    22
      lib/Screens/Menu/Absensi/absensi_history_screen.dart
  91. 7
    7
      lib/Screens/Menu/Absensi/absensi_screen.dart
  92. 4
    4
      lib/Screens/Menu/AjukanCuti/ajukancuti_screen.dart
  93. 2
    3
      lib/Screens/Menu/AjukanCuti/history_cuti.dart
  94. 4
    4
      lib/Screens/Menu/Reimburse/reimburse_screen.dart
  95. 4
    4
      lib/Screens/Menu/SlipGaji/slipgaji_screen.dart
  96. 4
    4
      lib/Screens/Menu/SuratTugas/deklarasi_st.dart
  97. 3
    3
      lib/Screens/Menu/SuratTugas/history_st.dart
  98. 2
    2
      lib/Screens/Menu/SuratTugas/pengajuan_extendTanggalKembali.dart
  99. 2
    2
      lib/Screens/Menu/SuratTugas/pengajuan_st.dart
  100. 0
    0
      lib/Screens/Menu/SuratTugas/pengajuan_uangMukaTambahan.dart

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

53
 
53
 
54
     signingConfigs {
54
     signingConfigs {
55
         release {
55
         release {
56
-            storeFile file('D:/employee_self_service/ttwenty.jks')
56
+            storeFile file('D:/employee_self_service/ess_keystore.jks')
57
             storePassword '123123'
57
             storePassword '123123'
58
-            keyAlias 'ttwenty'
58
+            keyAlias 'ess_keystore'
59
             keyPassword '123123'
59
             keyPassword '123123'
60
         }
60
         }
61
     }
61
     }

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

2
     xmlns:tools="http://schemas.android.com/tools"
2
     xmlns:tools="http://schemas.android.com/tools"
3
     package="com.example.hris_selfservice_mobile">
3
     package="com.example.hris_selfservice_mobile">
4
 
4
 
5
+
5
     <uses-permission android:name="android.permission.INTERNET" />
6
     <uses-permission android:name="android.permission.INTERNET" />
6
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
7
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
7
     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
8
     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

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


+ 0
- 6
android/app/src/main/res/IconKitchen-Output/android/res/mipmap-anydpi-v26/ic_launcher.xml View File

1
-<?xml version="1.0" encoding="utf-8"?>
2
-<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
3
-  <background android:drawable="@mipmap/ic_launcher_background"/>
4
-  <foreground android:drawable="@mipmap/ic_launcher_foreground"/>
5
-  <monochrome android:drawable="@mipmap/ic_launcher_monochrome"/>
6
-</adaptive-icon>

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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


BIN
android/app/src/main/res/IconKitchen-Output/ios/AppIcon-20@2x.png View File


BIN
android/app/src/main/res/IconKitchen-Output/ios/AppIcon-20@2x~ipad.png View File


BIN
android/app/src/main/res/IconKitchen-Output/ios/AppIcon-20@3x.png View File


BIN
android/app/src/main/res/IconKitchen-Output/ios/AppIcon-20~ipad.png View File


BIN
android/app/src/main/res/IconKitchen-Output/ios/AppIcon-29.png View File


BIN
android/app/src/main/res/IconKitchen-Output/ios/AppIcon-29@2x.png View File


BIN
android/app/src/main/res/IconKitchen-Output/ios/AppIcon-29@2x~ipad.png View File


BIN
android/app/src/main/res/IconKitchen-Output/ios/AppIcon-29@3x.png View File


BIN
android/app/src/main/res/IconKitchen-Output/ios/AppIcon-29~ipad.png View File


BIN
android/app/src/main/res/IconKitchen-Output/ios/AppIcon-40@2x.png View File


BIN
android/app/src/main/res/IconKitchen-Output/ios/AppIcon-40@2x~ipad.png View File


BIN
android/app/src/main/res/IconKitchen-Output/ios/AppIcon-40@3x.png View File


BIN
android/app/src/main/res/IconKitchen-Output/ios/AppIcon-40~ipad.png View File


BIN
android/app/src/main/res/IconKitchen-Output/ios/AppIcon-60@2x~car.png View File


BIN
android/app/src/main/res/IconKitchen-Output/ios/AppIcon-60@3x~car.png View File


BIN
android/app/src/main/res/IconKitchen-Output/ios/AppIcon-83.5@2x~ipad.png View File


BIN
android/app/src/main/res/IconKitchen-Output/ios/AppIcon@2x.png View File


BIN
android/app/src/main/res/IconKitchen-Output/ios/AppIcon@2x~ipad.png View File


BIN
android/app/src/main/res/IconKitchen-Output/ios/AppIcon@3x.png View File


BIN
android/app/src/main/res/IconKitchen-Output/ios/AppIcon~ios-marketing.png View File


BIN
android/app/src/main/res/IconKitchen-Output/ios/AppIcon~ipad.png View File


+ 0
- 134
android/app/src/main/res/IconKitchen-Output/ios/Contents.json View File

1
-{
2
-  "images": [
3
-    {
4
-      "filename": "AppIcon@2x.png",
5
-      "idiom": "iphone",
6
-      "scale": "2x",
7
-      "size": "60x60"
8
-    },
9
-    {
10
-      "filename": "AppIcon@3x.png",
11
-      "idiom": "iphone",
12
-      "scale": "3x",
13
-      "size": "60x60"
14
-    },
15
-    {
16
-      "filename": "AppIcon~ipad.png",
17
-      "idiom": "ipad",
18
-      "scale": "1x",
19
-      "size": "76x76"
20
-    },
21
-    {
22
-      "filename": "AppIcon@2x~ipad.png",
23
-      "idiom": "ipad",
24
-      "scale": "2x",
25
-      "size": "76x76"
26
-    },
27
-    {
28
-      "filename": "AppIcon-83.5@2x~ipad.png",
29
-      "idiom": "ipad",
30
-      "scale": "2x",
31
-      "size": "83.5x83.5"
32
-    },
33
-    {
34
-      "filename": "AppIcon-40@2x.png",
35
-      "idiom": "iphone",
36
-      "scale": "2x",
37
-      "size": "40x40"
38
-    },
39
-    {
40
-      "filename": "AppIcon-40@3x.png",
41
-      "idiom": "iphone",
42
-      "scale": "3x",
43
-      "size": "40x40"
44
-    },
45
-    {
46
-      "filename": "AppIcon-40~ipad.png",
47
-      "idiom": "ipad",
48
-      "scale": "1x",
49
-      "size": "40x40"
50
-    },
51
-    {
52
-      "filename": "AppIcon-40@2x~ipad.png",
53
-      "idiom": "ipad",
54
-      "scale": "2x",
55
-      "size": "40x40"
56
-    },
57
-    {
58
-      "filename": "AppIcon-20@2x.png",
59
-      "idiom": "iphone",
60
-      "scale": "2x",
61
-      "size": "20x20"
62
-    },
63
-    {
64
-      "filename": "AppIcon-20@3x.png",
65
-      "idiom": "iphone",
66
-      "scale": "3x",
67
-      "size": "20x20"
68
-    },
69
-    {
70
-      "filename": "AppIcon-20~ipad.png",
71
-      "idiom": "ipad",
72
-      "scale": "1x",
73
-      "size": "20x20"
74
-    },
75
-    {
76
-      "filename": "AppIcon-20@2x~ipad.png",
77
-      "idiom": "ipad",
78
-      "scale": "2x",
79
-      "size": "20x20"
80
-    },
81
-    {
82
-      "filename": "AppIcon-29.png",
83
-      "idiom": "iphone",
84
-      "scale": "1x",
85
-      "size": "29x29"
86
-    },
87
-    {
88
-      "filename": "AppIcon-29@2x.png",
89
-      "idiom": "iphone",
90
-      "scale": "2x",
91
-      "size": "29x29"
92
-    },
93
-    {
94
-      "filename": "AppIcon-29@3x.png",
95
-      "idiom": "iphone",
96
-      "scale": "3x",
97
-      "size": "29x29"
98
-    },
99
-    {
100
-      "filename": "AppIcon-29~ipad.png",
101
-      "idiom": "ipad",
102
-      "scale": "1x",
103
-      "size": "29x29"
104
-    },
105
-    {
106
-      "filename": "AppIcon-29@2x~ipad.png",
107
-      "idiom": "ipad",
108
-      "scale": "2x",
109
-      "size": "29x29"
110
-    },
111
-    {
112
-      "filename": "AppIcon-60@2x~car.png",
113
-      "idiom": "car",
114
-      "scale": "2x",
115
-      "size": "60x60"
116
-    },
117
-    {
118
-      "filename": "AppIcon-60@3x~car.png",
119
-      "idiom": "car",
120
-      "scale": "3x",
121
-      "size": "60x60"
122
-    },
123
-    {
124
-      "filename": "AppIcon~ios-marketing.png",
125
-      "idiom": "ios-marketing",
126
-      "scale": "1x",
127
-      "size": "1024x1024"
128
-    }
129
-  ],
130
-  "info": {
131
-    "author": "iconkitchen",
132
-    "version": 1
133
-  }
134
-}

+ 0
- 18
android/app/src/main/res/IconKitchen-Output/web/README.txt View File

1
-Add this to your HTML <head>:
2
-
3
-    <link rel="icon" href="/favicon.ico" sizes="any">
4
-    <link rel="apple-touch-icon" href="/apple-touch-icon.png">
5
-
6
-Add this to your app's manifest.json:
7
-
8
-    ...
9
-    {
10
-      "icons": [
11
-        { "src": "/favicon.ico", "type": "image/x-icon", "sizes": "16x16 32x32" },
12
-        { "src": "/icon-192.png", "type": "image/png", "sizes": "192x192" },
13
-        { "src": "/icon-512.png", "type": "image/png", "sizes": "512x512" },
14
-        { "src": "/icon-192-maskable.png", "type": "image/png", "sizes": "192x192", "purpose": "maskable" },
15
-        { "src": "/icon-512-maskable.png", "type": "image/png", "sizes": "512x512", "purpose": "maskable" }
16
-      ]
17
-    }
18
-    ...

BIN
android/app/src/main/res/IconKitchen-Output/web/apple-touch-icon.png View File


BIN
android/app/src/main/res/IconKitchen-Output/web/favicon.ico View File


BIN
android/app/src/main/res/IconKitchen-Output/web/icon-192-maskable.png View File


BIN
android/app/src/main/res/IconKitchen-Output/web/icon-192.png View File


BIN
android/app/src/main/res/IconKitchen-Output/web/icon-512-maskable.png View File


BIN
android/app/src/main/res/IconKitchen-Output/web/icon-512.png View File


+ 0
- 5
android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml View File

1
-<?xml version="1.0" encoding="utf-8"?>
2
-<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
3
-    <background android:drawable="@drawable/ic_launcher_background"/>
4
-    <foreground android:drawable="@mipmap/ic_launcher_foreground"/>
5
-</adaptive-icon>

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-hdpi/ic_launcher_round.png View File


BIN
android/app/src/main/res/mipmap-ldpi/ic_launcher.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-mdpi/ic_launcher_round.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-xhdpi/ic_launcher_round.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-xxhdpi/ic_launcher_round.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/mipmap-xxxhdpi/ic_launcher_round.png View File


+ 1
- 1
android/build.gradle View File

1
 buildscript {
1
 buildscript {
2
-    ext.kotlin_version = '1.7.20'
2
+    ext.kotlin_version = '1.9.10'
3
     repositories {
3
     repositories {
4
         google()
4
         google()
5
         mavenCentral()
5
         mavenCentral()

BIN
assets/icons/ic_notif.png View File


BIN
assets/icons/ic_pp_1.png View File


BIN
assets/icons/ic_pp_2.png View File


BIN
ess_keystore.jks View File


BIN
hris_keystore.jks View File


BIN
hris_selfservice_mobile.zip View File


+ 180
- 171
lib/Screens/Home/home_screen.dart View File

4
 
4
 
5
 import 'package:connectivity_plus/connectivity_plus.dart';
5
 import 'package:connectivity_plus/connectivity_plus.dart';
6
 import 'package:double_back_to_close/double_back_to_close.dart';
6
 import 'package:double_back_to_close/double_back_to_close.dart';
7
+import 'package:employee_selfservice_mobile/Screens/NotificationCenter/NotificationCenter.dart';
7
 import 'package:flutter/cupertino.dart';
8
 import 'package:flutter/cupertino.dart';
8
 import 'package:flutter/material.dart';
9
 import 'package:flutter/material.dart';
9
 import 'package:fluttertoast/fluttertoast.dart';
10
 import 'package:fluttertoast/fluttertoast.dart';
100
             fontSize: 15.0,
101
             fontSize: 15.0,
101
             fontWeight: FontWeight.w600));
102
             fontWeight: FontWeight.w600));
102
 
103
 
103
-    loading.show();
104
+    await loading.show();
104
 
105
 
105
     GetProfileImage_Post.connectToAPI(session!).then((valueResult) async {
106
     GetProfileImage_Post.connectToAPI(session!).then((valueResult) async {
106
       Map<String, dynamic> object = json.decode(valueResult);
107
       Map<String, dynamic> object = json.decode(valueResult);
111
           String photo = object['result']['photo'].toString();
112
           String photo = object['result']['photo'].toString();
112
           if (photo == "false") {
113
           if (photo == "false") {
113
             setState(() {
114
             setState(() {
114
-              _imageToShow = AssetImage('assets/images/ic_administrator.png');
115
+              _imageToShow = AssetImage('assets/icons/ic_pp_2.png');
115
             });
116
             });
116
           } else if (photo != "false") {
117
           } else if (photo != "false") {
117
             Uint8List decodedBytes = Base64Decoder().convert(photo);
118
             Uint8List decodedBytes = Base64Decoder().convert(photo);
121
                   .image;
122
                   .image;
122
             });
123
             });
123
           }
124
           }
124
-          await loading.hide();
125
         } else if (status == "failed") {
125
         } else if (status == "failed") {
126
           String message = object['result']['message'].toString();
126
           String message = object['result']['message'].toString();
127
           Fluttertoast.showToast(
127
           Fluttertoast.showToast(
132
               textColor: Colors.white,
132
               textColor: Colors.white,
133
               fontSize: 16.0);
133
               fontSize: 16.0);
134
         }
134
         }
135
-        await loading.hide();
136
       } else {
135
       } else {
137
         Fluttertoast.showToast(
136
         Fluttertoast.showToast(
138
             msg: "Server Response Error",
137
             msg: "Server Response Error",
141
             timeInSecForIosWeb: 1,
140
             timeInSecForIosWeb: 1,
142
             textColor: Colors.white,
141
             textColor: Colors.white,
143
             fontSize: 16.0);
142
             fontSize: 16.0);
144
-        await loading.hide();
145
       }
143
       }
144
+      await loading.hide();
146
     });
145
     });
147
     return _imageToShow;
146
     return _imageToShow;
148
   }
147
   }
171
           position = object['result']['position'].toString();
170
           position = object['result']['position'].toString();
172
 
171
 
173
           var prefs = await SharedPreferences.getInstance();
172
           var prefs = await SharedPreferences.getInstance();
174
-          await prefs.setString('position', position);
175
-
173
+          if (position == "false") {
174
+            position = "-";
175
+            await prefs.setString('position', position);
176
+          } else {
177
+            await prefs.setString('position', position);
178
+          }
176
         }
179
         }
177
       } else {
180
       } else {
178
         Fluttertoast.showToast(
181
         Fluttertoast.showToast(
187
   }
190
   }
188
 
191
 
189
   int _selectedIndex = 0;
192
   int _selectedIndex = 0;
193
+
190
   void _onItemTapped(int index) {
194
   void _onItemTapped(int index) {
191
     setState(() {
195
     setState(() {
192
       _selectedIndex = index;
196
       _selectedIndex = index;
223
     );
227
     );
224
   }
228
   }
225
 
229
 
226
-  showDialogBox() => showCupertinoDialog<String>(
227
-    context: context,
228
-    builder: (BuildContext context) => CupertinoAlertDialog(
229
-      title: const Text('No Connection'),
230
-      content: const Text('Please check your internet connectivity'),
231
-      actions: <Widget>[
232
-        Column(
233
-          children: [
234
-            SizedBox(
235
-              width: 250,
236
-              height: 250,
237
-              child: LottieBuilder.asset(
238
-                  //'assets/animation/animation_no_internet.json',
239
-                  'assets/animation/animation_no_internet_3.json',
240
-                  repeat: true),
230
+  showDialogBox() =>
231
+      showCupertinoDialog<String>(
232
+        context: context,
233
+        builder: (BuildContext context) =>
234
+            CupertinoAlertDialog(
235
+              title: const Text('No Connection'),
236
+              content: const Text('Please check your internet connectivity'),
237
+              actions: <Widget>[
238
+                Column(
239
+                  children: [
240
+                    SizedBox(
241
+                      width: 250,
242
+                      height: 250,
243
+                      child: LottieBuilder.asset(
244
+                        //'assets/animation/animation_no_internet.json',
245
+                          'assets/animation/animation_no_internet_3.json',
246
+                          repeat: true),
247
+                    ),
248
+                  ],
249
+                ),
250
+                TextButton(
251
+                  onPressed: () async {
252
+                    Navigator.pop(context, 'Cancel');
253
+                    setState(() => isAlertSet = false);
254
+                    isDeviceConnected =
255
+                    await InternetConnectionChecker().hasConnection;
256
+                    if (!isDeviceConnected && isAlertSet == false) {
257
+                      showDialogBox();
258
+                      setState(() => isAlertSet = true);
259
+                    }
260
+                  },
261
+                  child: const Text('Retry'),
262
+                ),
263
+              ],
241
             ),
264
             ),
242
-          ],
243
-        ),
244
-        TextButton(
245
-          onPressed: () async {
246
-            Navigator.pop(context, 'Cancel');
247
-            setState(() => isAlertSet = false);
248
-            isDeviceConnected = await InternetConnectionChecker().hasConnection;
249
-            if (!isDeviceConnected && isAlertSet == false) {
250
-              showDialogBox();
251
-              setState(() => isAlertSet = true);
252
-            }
253
-          },
254
-          child: const Text('Retry'),
255
-        ),
256
-      ],
257
-    ),
258
-  );
265
+      );
259
 }
266
 }
260
 
267
 
261
 class BottomNavBar extends StatefulWidget {
268
 class BottomNavBar extends StatefulWidget {
268
 class _BottomNavBarState extends State<BottomNavBar> {
275
 class _BottomNavBarState extends State<BottomNavBar> {
269
   List<Widget> _widgetOptions = <Widget>[
276
   List<Widget> _widgetOptions = <Widget>[
270
     HomeScreen(),
277
     HomeScreen(),
271
-    ReimburseScreen(),
278
+    NotificationCenter_Screen(),
272
     SettingsScreen(),
279
     SettingsScreen(),
273
   ];
280
   ];
274
 
281
 
275
   int _selectedIndex = 0;
282
   int _selectedIndex = 0;
283
+
276
   void _onItemTapped(int index) {
284
   void _onItemTapped(int index) {
277
     setState(() {
285
     setState(() {
278
       _selectedIndex = index;
286
       _selectedIndex = index;
279
     });
287
     });
280
   }
288
   }
289
+
281
   @override
290
   @override
282
   Widget build(BuildContext context) {
291
   Widget build(BuildContext context) {
283
     return Scaffold(
292
     return Scaffold(
284
       body: _widgetOptions.elementAt(_selectedIndex),
293
       body: _widgetOptions.elementAt(_selectedIndex),
285
       bottomNavigationBar: BottomNavigationBar(
294
       bottomNavigationBar: BottomNavigationBar(
286
-            items: const <BottomNavigationBarItem>[
287
-              BottomNavigationBarItem(
288
-                icon: Icon(Icons.home),
289
-                label: 'Home',
290
-              ),
291
-              BottomNavigationBarItem(
292
-                icon: Icon(Icons.notifications),
293
-                label: 'Notification',
294
-              ),BottomNavigationBarItem(
295
-                icon: Icon(Icons.person),
296
-                label: 'Profile',
297
-              ),
298
-            ],
299
-            currentIndex: _selectedIndex,
300
-            selectedItemColor: Colors.white,
301
-            backgroundColor: Color(0xFF5666b7),
302
-            onTap: _onItemTapped),
303
-      );
295
+          items: const <BottomNavigationBarItem>[
296
+            BottomNavigationBarItem(
297
+              icon: Icon(Icons.home),
298
+              label: 'Home',
299
+            ),
300
+            BottomNavigationBarItem(
301
+              icon: Icon(Icons.notifications),
302
+              label: 'Notification',
303
+            ), BottomNavigationBarItem(
304
+              icon: Icon(Icons.person),
305
+              label: 'Profile',
306
+            ),
307
+          ],
308
+          currentIndex: _selectedIndex,
309
+          selectedItemColor: Colors.white,
310
+          backgroundColor: Color(0xFF5666b7),
311
+          onTap: _onItemTapped),
312
+    );
304
   }
313
   }
305
 }
314
 }
306
 
315
 
307
-
308
 class HomeScreen extends StatefulWidget {
316
 class HomeScreen extends StatefulWidget {
309
   @override
317
   @override
310
   State<HomeScreen> createState() => _HomeScreenState();
318
   State<HomeScreen> createState() => _HomeScreenState();
331
             Uint8List decodedBytes = Base64Decoder().convert(photo);
339
             Uint8List decodedBytes = Base64Decoder().convert(photo);
332
             //logDev.log(decodedBytes.toString(), name: "DECODED BYTES photo");
340
             //logDev.log(decodedBytes.toString(), name: "DECODED BYTES photo");
333
             setState(() {
341
             setState(() {
334
-              _imageToShow = Image.memory(decodedBytes, gaplessPlayback: true).image;
342
+              _imageToShow = Image
343
+                  .memory(decodedBytes, gaplessPlayback: true)
344
+                  .image;
335
             });
345
             });
336
           }
346
           }
337
         } else if (status == "failed") {
347
         } else if (status == "failed") {
359
 
369
 
360
   @override
370
   @override
361
   Widget build(BuildContext context) {
371
   Widget build(BuildContext context) {
362
-    var size = MediaQuery.of(context).size;
372
+    var size = MediaQuery
373
+        .of(context)
374
+        .size;
363
 
375
 
364
     return FocusDetector(
376
     return FocusDetector(
365
       /*onVisibilityGained: (){
377
       /*onVisibilityGained: (){
371
       onFocusLost: (){
383
       onFocusLost: (){
372
         getProfileImage();
384
         getProfileImage();
373
       },*/
385
       },*/
374
-      onFocusGained: (){
386
+      onFocusGained: () {
375
         getProfileImage();
387
         getProfileImage();
376
       },
388
       },
377
 /*      onForegroundLost: (){
389
 /*      onForegroundLost: (){
401
                     padding: EdgeInsets.all(20),
413
                     padding: EdgeInsets.all(20),
402
                     child: Column(
414
                     child: Column(
403
                       children: <Widget>[
415
                       children: <Widget>[
404
-                       /* Align(
416
+                        /* Align(
405
                           alignment: Alignment.topRight,
417
                           alignment: Alignment.topRight,
406
                           child: InkWell(
418
                           child: InkWell(
407
                             child: Container(
419
                             child: Container(
418
                           ),
430
                           ),
419
                         ),*/
431
                         ),*/
420
                         Container(
432
                         Container(
421
-                          child:  Stack(
433
+                          child: Stack(
422
                             alignment: Alignment.topLeft,
434
                             alignment: Alignment.topLeft,
423
                             children: [
435
                             children: [
424
                               Container(
436
                               Container(
425
-                                margin: EdgeInsets.only(top: (((size.width - 20) * 0.33) * 0.5) + 40),
437
+                                margin: EdgeInsets.only(
438
+                                    top: (((size.width - 20) * 0.33) * 0.5) +
439
+                                        40),
426
                                 child: Card(
440
                                 child: Card(
427
                                   elevation: 15,
441
                                   elevation: 15,
428
                                   child: Container(
442
                                   child: Container(
432
                                       decoration: BoxDecoration(
446
                                       decoration: BoxDecoration(
433
                                           color: Colors.white,
447
                                           color: Colors.white,
434
                                           borderRadius:
448
                                           borderRadius:
435
-                                          BorderRadius.all(Radius.circular(10))),
449
+                                          BorderRadius.all(
450
+                                              Radius.circular(10))),
436
                                       child: Column(
451
                                       child: Column(
437
-                                        mainAxisAlignment: MainAxisAlignment.end,
438
-                                        crossAxisAlignment: CrossAxisAlignment.center,
452
+                                        mainAxisAlignment: MainAxisAlignment
453
+                                            .end,
454
+                                        crossAxisAlignment: CrossAxisAlignment
455
+                                            .center,
439
                                         children: <Widget>[
456
                                         children: <Widget>[
440
                                           Text(name,
457
                                           Text(name,
441
                                             maxLines: 2,
458
                                             maxLines: 2,
442
                                             overflow: TextOverflow.ellipsis,
459
                                             overflow: TextOverflow.ellipsis,
443
                                             textAlign: TextAlign.center,
460
                                             textAlign: TextAlign.center,
444
                                             style: GoogleFonts.inter(
461
                                             style: GoogleFonts.inter(
445
-                                                fontSize: 18,
462
+                                                fontSize: size.width * 0.045,
446
                                                 color: Colors.black,
463
                                                 color: Colors.black,
447
                                                 fontWeight: FontWeight.bold),
464
                                                 fontWeight: FontWeight.bold),
448
                                           ),
465
                                           ),
449
                                           Text(position,
466
                                           Text(position,
450
                                             textAlign: TextAlign.center,
467
                                             textAlign: TextAlign.center,
451
                                             style: GoogleFonts.inter(
468
                                             style: GoogleFonts.inter(
452
-                                                fontSize: 17, color: Colors.black),
469
+                                                fontSize: size.width * 0.035,
470
+                                                color: Colors.black),
453
                                           ),
471
                                           ),
454
                                         ],
472
                                         ],
455
                                       )),
473
                                       )),
482
                           crossAxisSpacing: 15,
500
                           crossAxisSpacing: 15,
483
                           mainAxisSpacing: 15,
501
                           mainAxisSpacing: 15,
484
                           crossAxisCount: 2,
502
                           crossAxisCount: 2,
503
+                          childAspectRatio: 1.0,
485
                           children: <Widget>[
504
                           children: <Widget>[
486
                             InkWell(
505
                             InkWell(
487
                                 child: Container(
506
                                 child: Container(
488
-                                  decoration: BoxDecoration(
489
-                                      color: Color(0xFFD0D0D0),
490
-                                      borderRadius: BorderRadius.circular(5)),
491
-                                  child: Column(
492
-                                    crossAxisAlignment: CrossAxisAlignment.center,
493
-                                    mainAxisAlignment: MainAxisAlignment.center,
494
-                                    children: <Widget>[
495
-                                      Container(
496
-                                        width: 75,
497
-                                        height: 75,
498
-                                        child: Image.asset(
499
-                                          "assets/icons/menu/ic_absensi.png",
500
-                                          fit: BoxFit.fill,
501
-                                          alignment: Alignment.center,
502
-                                        ),
503
-                                      ),
504
-                                      Container(
505
-                                        margin: EdgeInsets.only(top: 10),
506
-                                        padding: EdgeInsets.all(5),
507
-                                        child: Text(
508
-                                          'Attendance',
509
-                                          textAlign: TextAlign.center,
510
-                                          style: GoogleFonts.acme(
511
-                                              fontSize: 18, color: Colors.black),
512
-                                        ),
507
+                                    width: size.width,
508
+                                    height: size.height,
509
+                                    decoration: BoxDecoration(
510
+                                        color: Color(0xFFD0D0D0),
511
+                                        borderRadius: BorderRadius.circular(5)),
512
+                                    child: Center(
513
+                                      child: Column(
514
+                                        crossAxisAlignment: CrossAxisAlignment.center,
515
+                                        mainAxisAlignment: MainAxisAlignment.center,
516
+                                        children: <Widget>[
517
+                                          Container(
518
+                                            width: size.width * 0.18,
519
+                                            child: Image.asset(
520
+                                                "assets/icons/menu/ic_absensi.png",
521
+                                                fit: BoxFit.contain)
522
+                                          ),
523
+                                          Text(
524
+                                            'Attendance',
525
+                                            textAlign: TextAlign.center,
526
+                                            style: GoogleFonts.acme(
527
+                                                fontSize: size.width * 0.045,
528
+                                                color: Colors.black),
529
+                                          ),
530
+                                        ],
513
                                       ),
531
                                       ),
514
-                                    ],
515
-                                  ),
532
+                                    )
516
                                 ),
533
                                 ),
517
                                 onTap: () {
534
                                 onTap: () {
518
                                   Navigator.push(
535
                                   Navigator.push(
519
                                       context,
536
                                       context,
520
                                       MaterialPageRoute(
537
                                       MaterialPageRoute(
521
-                                          builder: (context) => AbsensiScreen()));
538
+                                          builder: (context) =>
539
+                                              AbsensiScreen()));
522
                                 }),
540
                                 }),
523
                             InkWell(
541
                             InkWell(
524
                               child: Container(
542
                               child: Container(
543
+                                width: size.width,
544
+                                height: size.height,
525
                                 decoration: BoxDecoration(
545
                                 decoration: BoxDecoration(
526
                                     color: Color(0xFFD0D0D0),
546
                                     color: Color(0xFFD0D0D0),
527
                                     borderRadius: BorderRadius.circular(5)),
547
                                     borderRadius: BorderRadius.circular(5)),
530
                                   mainAxisAlignment: MainAxisAlignment.center,
550
                                   mainAxisAlignment: MainAxisAlignment.center,
531
                                   children: <Widget>[
551
                                   children: <Widget>[
532
                                     Container(
552
                                     Container(
533
-                                      width: 75,
534
-                                      height: 75,
553
+                                      width: size.width * 0.18,
535
                                       child: Image.asset(
554
                                       child: Image.asset(
536
-                                          "assets/icons/menu/ic_slipgaji_2.png",
537
-                                          fit: BoxFit.fill,
538
-                                          alignment: Alignment.center),
555
+                                        "assets/icons/menu/ic_slipgaji_2.png",
556
+                                        fit: BoxFit.contain),
539
                                     ),
557
                                     ),
540
-                                    Container(
541
-                                      margin: EdgeInsets.only(top: 10),
542
-                                      padding: EdgeInsets.all(5),
543
-                                      child: Text(
544
-                                        'Pay Slip',
545
-                                        textAlign: TextAlign.center,
546
-                                        style: GoogleFonts.acme(
547
-                                            fontSize: 18, color: Colors.black),
548
-                                      ),
558
+                                    Text(
559
+                                      'Pay Slip',
560
+                                      textAlign: TextAlign.center,
561
+                                      style: GoogleFonts.acme(
562
+                                          fontSize: size.width * 0.045,
563
+                                          color: Colors.black),
549
                                     ),
564
                                     ),
550
                                   ],
565
                                   ],
551
                                 ),
566
                                 ),
554
                                 Navigator.push(
569
                                 Navigator.push(
555
                                     context,
570
                                     context,
556
                                     MaterialPageRoute(
571
                                     MaterialPageRoute(
557
-                                        builder: (context) => SlipGajiScreen()));
572
+                                        builder: (context) =>
573
+                                            SlipGajiScreen()));
558
                               },
574
                               },
559
                             ),
575
                             ),
560
                             InkWell(
576
                             InkWell(
561
                               child: Container(
577
                               child: Container(
578
+                                width: size.width,
579
+                                height: size.height,
562
                                 decoration: BoxDecoration(
580
                                 decoration: BoxDecoration(
563
                                     color: Color(0xFFD0D0D0),
581
                                     color: Color(0xFFD0D0D0),
564
                                     borderRadius: BorderRadius.circular(5)),
582
                                     borderRadius: BorderRadius.circular(5)),
567
                                   mainAxisAlignment: MainAxisAlignment.center,
585
                                   mainAxisAlignment: MainAxisAlignment.center,
568
                                   children: <Widget>[
586
                                   children: <Widget>[
569
                                     Container(
587
                                     Container(
570
-                                      width: 70,
571
-                                      height: 70,
588
+                                      width: size.width * 0.18,
572
                                       child: Image.asset(
589
                                       child: Image.asset(
573
-                                          "assets/icons/menu/ic_cuti_2.png",
574
-                                          fit: BoxFit.fill,
575
-                                          alignment: Alignment.center),
590
+                                        "assets/icons/menu/ic_cuti_2.png",
591
+                                        fit: BoxFit.contain),
576
                                     ),
592
                                     ),
577
-                                    Container(
578
-                                      margin: EdgeInsets.only(top: 10),
579
-                                      padding: EdgeInsets.all(5),
580
-                                      child: Text(
581
-                                        'Leaves',
582
-                                        textAlign: TextAlign.center,
583
-                                        style: GoogleFonts.acme(
584
-                                            fontSize: 18, color: Colors.black),
585
-                                      ),
593
+                                    Text(
594
+                                      'Leaves',
595
+                                      textAlign: TextAlign.center,
596
+                                      style: GoogleFonts.acme(
597
+                                          fontSize: size.width * 0.045,
598
+                                          color: Colors.black),
586
                                     ),
599
                                     ),
587
                                   ],
600
                                   ],
588
                                 ),
601
                                 ),
591
                                 Navigator.push(
604
                                 Navigator.push(
592
                                     context,
605
                                     context,
593
                                     MaterialPageRoute(
606
                                     MaterialPageRoute(
594
-                                        builder: (context) => AjukanCutiScreen()));
607
+                                        builder: (context) =>
608
+                                            AjukanCutiScreen()));
595
                               },
609
                               },
596
                             ),
610
                             ),
597
                             InkWell(
611
                             InkWell(
598
                               child: Container(
612
                               child: Container(
613
+                                width: size.width,
614
+                                height: size.height,
599
                                 decoration: BoxDecoration(
615
                                 decoration: BoxDecoration(
600
                                     color: Color(0xFFD0D0D0),
616
                                     color: Color(0xFFD0D0D0),
601
                                     borderRadius: BorderRadius.circular(5)),
617
                                     borderRadius: BorderRadius.circular(5)),
604
                                   mainAxisAlignment: MainAxisAlignment.center,
620
                                   mainAxisAlignment: MainAxisAlignment.center,
605
                                   children: <Widget>[
621
                                   children: <Widget>[
606
                                     Container(
622
                                     Container(
607
-                                      width: 70,
608
-                                      height: 70,
623
+                                      width: size.width * 0.18,
609
                                       child: Image.asset(
624
                                       child: Image.asset(
610
                                         "assets/icons/menu/ic_surattugas_2.png",
625
                                         "assets/icons/menu/ic_surattugas_2.png",
611
-                                        fit: BoxFit.fill,
612
-                                        alignment: Alignment.center,
626
+                                        fit: BoxFit.contain,
613
                                       ),
627
                                       ),
614
                                     ),
628
                                     ),
615
-                                    Container(
616
-                                      margin: EdgeInsets.only(top: 10),
617
-                                      padding: EdgeInsets.all(5),
618
-                                      child: Text(
619
-                                        'Assignment Letter',
620
-                                        textAlign: TextAlign.center,
621
-                                        style: GoogleFonts.acme(
622
-                                            fontSize: 18, color: Colors.black),
623
-                                      ),
629
+                                    Text(
630
+                                      'Assignment Letter',
631
+                                      textAlign: TextAlign.center,
632
+                                      style: GoogleFonts.acme(
633
+                                          fontSize: size.width * 0.045,
634
+                                          color: Colors.black),
624
                                     ),
635
                                     ),
625
                                   ],
636
                                   ],
626
                                 ),
637
                                 ),
629
                                 Navigator.push(
640
                                 Navigator.push(
630
                                     context,
641
                                     context,
631
                                     MaterialPageRoute(
642
                                     MaterialPageRoute(
632
-                                        builder: (context) => SuratTugas_Screen()));
643
+                                        builder: (context) =>
644
+                                            SuratTugas_Screen()));
633
                               },
645
                               },
634
                             ),
646
                             ),
635
                             InkWell(
647
                             InkWell(
636
                               child: Container(
648
                               child: Container(
649
+                                width: size.width,
650
+                                height: size.height,
637
                                 decoration: BoxDecoration(
651
                                 decoration: BoxDecoration(
638
                                     color: Color(0xFFD0D0D0),
652
                                     color: Color(0xFFD0D0D0),
639
                                     borderRadius: BorderRadius.circular(5)),
653
                                     borderRadius: BorderRadius.circular(5)),
642
                                   mainAxisAlignment: MainAxisAlignment.center,
656
                                   mainAxisAlignment: MainAxisAlignment.center,
643
                                   children: <Widget>[
657
                                   children: <Widget>[
644
                                     Container(
658
                                     Container(
645
-                                      width: 70,
646
-                                      height: 70,
659
+                                      width: size.width * 0.18,
647
                                       child: Image.asset(
660
                                       child: Image.asset(
648
-                                          "assets/icons/menu/ic_reimburse.png",
649
-                                          fit: BoxFit.fill,
650
-                                          alignment: Alignment.center),
651
-                                    ),
652
-                                    Container(
653
-                                      margin: EdgeInsets.only(top: 10),
654
-                                      padding: EdgeInsets.all(5),
655
-                                      child: Text(
656
-                                        'Reimburse',
657
-                                        textAlign: TextAlign.center,
658
-                                        style: GoogleFonts.acme(
659
-                                            fontSize: 18, color: Colors.black),
661
+                                        "assets/icons/menu/ic_reimburse.png",
662
+                                        fit: BoxFit.contain,
660
                                       ),
663
                                       ),
661
                                     ),
664
                                     ),
665
+                                    Text(
666
+                                      'Reimburse',
667
+                                      textAlign: TextAlign.center,
668
+                                      style: GoogleFonts.acme(
669
+                                          fontSize: size.width * 0.045,
670
+                                          color: Colors.black),
671
+                                    ),
662
                                   ],
672
                                   ],
663
                                 ),
673
                                 ),
664
                               ),
674
                               ),
666
                                 Navigator.push(
676
                                 Navigator.push(
667
                                     context,
677
                                     context,
668
                                     MaterialPageRoute(
678
                                     MaterialPageRoute(
669
-                                        builder: (context) => ReimburseScreen()));
679
+                                        builder: (context) =>
680
+                                            ReimburseScreen()));
670
                               },
681
                               },
671
                             ),
682
                             ),
672
                             InkWell(
683
                             InkWell(
673
                               child: Container(
684
                               child: Container(
685
+                                width: size.width,
686
+                                height: size.height,
674
                                 decoration: BoxDecoration(
687
                                 decoration: BoxDecoration(
675
                                     color: Color(0xFFD0D0D0),
688
                                     color: Color(0xFFD0D0D0),
676
                                     borderRadius: BorderRadius.circular(5)),
689
                                     borderRadius: BorderRadius.circular(5)),
679
                                   mainAxisAlignment: MainAxisAlignment.center,
692
                                   mainAxisAlignment: MainAxisAlignment.center,
680
                                   children: <Widget>[
693
                                   children: <Widget>[
681
                                     Container(
694
                                     Container(
682
-                                      width: 70,
683
-                                      height: 70,
695
+                                      width: size.width * 0.18,
684
                                       child: Image.asset(
696
                                       child: Image.asset(
685
-                                          "assets/icons/menu/ic_about_3.png",
686
-                                          fit: BoxFit.fill,
687
-                                          alignment: Alignment.center),
688
-                                    ),
689
-                                    Container(
690
-                                      margin: EdgeInsets.only(top: 10),
691
-                                      padding: EdgeInsets.all(5),
692
-                                      child: Text(
693
-                                        'About',
694
-                                        textAlign: TextAlign.center,
695
-                                        style: GoogleFonts.acme(
696
-                                            fontSize: 18, color: Colors.black),
697
+                                        "assets/icons/menu/ic_about_3.png",
698
+                                        fit: BoxFit.contain,
697
                                       ),
699
                                       ),
698
                                     ),
700
                                     ),
701
+                                    Text(
702
+                                      'About',
703
+                                      textAlign: TextAlign.center,
704
+                                      style: GoogleFonts.acme(
705
+                                          fontSize: size.width * 0.045,
706
+                                          color: Colors.black),
707
+                                    ),
699
                                   ],
708
                                   ],
700
                                 ),
709
                                 ),
701
                               ),
710
                               ),

+ 0
- 5
lib/Screens/Login/login_screen.dart View File

1
 import 'dart:async';
1
 import 'dart:async';
2
 import 'dart:convert';
2
 import 'dart:convert';
3
-import 'package:firebase_core/firebase_core.dart';
4
 import 'package:firebase_messaging/firebase_messaging.dart';
3
 import 'package:firebase_messaging/firebase_messaging.dart';
5
 import 'package:flutter/material.dart';
4
 import 'package:flutter/material.dart';
6
 import 'package:flutter/services.dart';
5
 import 'package:flutter/services.dart';
13
 import 'package:employee_selfservice_mobile/Screens/Splash/splash_screen.dart';
12
 import 'package:employee_selfservice_mobile/Screens/Splash/splash_screen.dart';
14
 import 'package:progress_dialog_null_safe/progress_dialog_null_safe.dart';
13
 import 'package:progress_dialog_null_safe/progress_dialog_null_safe.dart';
15
 import 'package:shared_preferences/shared_preferences.dart';
14
 import 'package:shared_preferences/shared_preferences.dart';
16
-import '../../firebase_options.dart';
17
 import '../Home/home_screen.dart';
15
 import '../Home/home_screen.dart';
18
 import 'inputWidget.dart';
16
 import 'inputWidget.dart';
19
 import 'dart:developer' as logDev;
17
 import 'dart:developer' as logDev;
173
                                 } else {
171
                                 } else {
174
                                   await loading.show();
172
                                   await loading.show();
175
 
173
 
176
-                                  await Firebase.initializeApp(
177
-                                    options: DefaultFirebaseOptions.currentPlatform,
178
-                                  );
179
                                   final notif_token = await FirebaseMessaging.instance.getToken();
174
                                   final notif_token = await FirebaseMessaging.instance.getToken();
180
                                   logDev.log(notif_token.toString(), name: "NOTIFICATION TOKEN");
175
                                   logDev.log(notif_token.toString(), name: "NOTIFICATION TOKEN");
181
 
176
 

+ 21
- 22
lib/Screens/Menu/Absensi/absensi_history_screen.dart View File

228
         await loading.hide();
228
         await loading.hide();
229
       }
229
       }
230
     });
230
     });
231
-    //await loading.hide();
232
   }
231
   }
233
 
232
 
234
   @override
233
   @override
305
                                     children: [
304
                                     children: [
306
                                       Column(
305
                                       Column(
307
                                         children: [
306
                                         children: [
308
-                                          Text(dayDate_List[i], style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center,),
309
-                                          Text(date_List[i], style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center),
310
-                                          Text(month_List[i], style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center),
307
+                                          Text(dayDate_List[i], style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center,),
308
+                                          Text(date_List[i], style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center),
309
+                                          Text(month_List[i], style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center),
311
                                         ],
310
                                         ],
312
                                       ),
311
                                       ),
313
                                       Visibility(
312
                                       Visibility(
314
                                         visible: visibilityDate2[i],
313
                                         visible: visibilityDate2[i],
315
                                         child: Column(
314
                                         child: Column(
316
                                           children: [
315
                                           children: [
317
-                                            Text("\t|\t", style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center,),
318
-                                            Text("\t|\t", style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center),
319
-                                            Text("\t|\t", style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center),
316
+                                            Text("\t|\t", style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center,),
317
+                                            Text("\t|\t", style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center),
318
+                                            Text("\t|\t", style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center),
320
                                           ],
319
                                           ],
321
                                         ),
320
                                         ),
322
                                       ),
321
                                       ),
324
                                         visible: visibilityDate2[i],
323
                                         visible: visibilityDate2[i],
325
                                         child: Column(
324
                                         child: Column(
326
                                           children: [
325
                                           children: [
327
-                                            Text(dayDate_list_2[i], style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center,),
328
-                                            Text(date_list_2[i], style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center),
329
-                                            Text(month_list_2[i], style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center),
326
+                                            Text(dayDate_list_2[i], style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center,),
327
+                                            Text(date_list_2[i], style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center),
328
+                                            Text(month_list_2[i], style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center),
330
                                           ],
329
                                           ],
331
                                         ),
330
                                         ),
332
                                       ),
331
                                       ),
336
                                           mainAxisAlignment: MainAxisAlignment.center,
335
                                           mainAxisAlignment: MainAxisAlignment.center,
337
                                           crossAxisAlignment: CrossAxisAlignment.center,
336
                                           crossAxisAlignment: CrossAxisAlignment.center,
338
                                           children: [
337
                                           children: [
339
-                                            Text(dayDate_List[i], style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.right,),
340
-                                            Text(date_List[i], style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.right),
341
-                                            Text(month_List[i], style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.right),
338
+                                            Text(dayDate_List[i], style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.right,),
339
+                                            Text(date_List[i], style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.right),
340
+                                            Text(month_List[i], style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.right),
342
                                           ],
341
                                           ],
343
                                           )
342
                                           )
344
                                       ),
343
                                       ),
348
                                             visible: visibilityDate2[i],
347
                                             visible: visibilityDate2[i],
349
                                             child: Column(
348
                                             child: Column(
350
                                               children: [
349
                                               children: [
351
-                                                Text("|", style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center,),
352
-                                                Text("|", style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center),
353
-                                                Text("|", style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center),
350
+                                                Text("|", style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center,),
351
+                                                Text("|", style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center),
352
+                                                Text("|", style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.center),
354
                                               ],
353
                                               ],
355
                                             ),
354
                                             ),
356
                                           )
355
                                           )
361
                                             visible: visibilityDate2[i],
360
                                             visible: visibilityDate2[i],
362
                                             child: Column(
361
                                             child: Column(
363
                                               children: [
362
                                               children: [
364
-                                                Text(dayDate_list_2[i], style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.left,),
365
-                                                Text(date_list_2[i], style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.left),
366
-                                                Text(month_list_2[i], style: GoogleFonts.fredokaOne(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.left),
363
+                                                Text(dayDate_list_2[i], style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.left,),
364
+                                                Text(date_list_2[i], style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.left),
365
+                                                Text(month_list_2[i], style: GoogleFonts.fredoka(fontSize: 15, color: Colors.blueGrey), textAlign: TextAlign.left),
367
                                               ],
366
                                               ],
368
                                             ),
367
                                             ),
369
                                           ))*/
368
                                           ))*/
375
                                 flex: 2,
374
                                 flex: 2,
376
                                 child: Column(
375
                                 child: Column(
377
                                   children: [
376
                                   children: [
378
-                                    Text("Check In", style: GoogleFonts.fredokaOne(fontSize: 16),textAlign: TextAlign.center),
377
+                                    Text("Check In", style: GoogleFonts.fredoka(fontSize: 16),textAlign: TextAlign.center),
379
                                     Text(showCheckIn_List[i], style: GoogleFonts.barlowSemiCondensed(fontSize: 16),textAlign: TextAlign.center),
378
                                     Text(showCheckIn_List[i], style: GoogleFonts.barlowSemiCondensed(fontSize: 16),textAlign: TextAlign.center),
380
                                   ],
379
                                   ],
381
                                 ),
380
                                 ),
384
                                 flex: 2,
383
                                 flex: 2,
385
                                 child: Column(
384
                                 child: Column(
386
                                   children: [
385
                                   children: [
387
-                                    Text("Check Out", style: GoogleFonts.fredokaOne(fontSize: 16),textAlign: TextAlign.center),
386
+                                    Text("Check Out", style: GoogleFonts.fredoka(fontSize: 16),textAlign: TextAlign.center),
388
                                     Text(showCheckOut_List[i], style: GoogleFonts.barlowSemiCondensed(fontSize: 16),textAlign: TextAlign.center),
387
                                     Text(showCheckOut_List[i], style: GoogleFonts.barlowSemiCondensed(fontSize: 16),textAlign: TextAlign.center),
389
                                   ],
388
                                   ],
390
                                 ),
389
                                 ),
393
                                 flex: 2,
392
                                 flex: 2,
394
                                 child: Column(
393
                                 child: Column(
395
                                   children: [
394
                                   children: [
396
-                                    Text("Working\nHours", style: GoogleFonts.fredokaOne(fontSize: 16), textAlign: TextAlign.center),
395
+                                    Text("Working\nHours", style: GoogleFonts.fredoka(fontSize: 16), textAlign: TextAlign.center),
397
                                     Text(worked_hours_List[i], style: GoogleFonts.barlowSemiCondensed(fontSize: 16),textAlign: TextAlign.center),
396
                                     Text(worked_hours_List[i], style: GoogleFonts.barlowSemiCondensed(fontSize: 16),textAlign: TextAlign.center),
398
                                   ],
397
                                   ],
399
                                 ),
398
                                 ),

+ 7
- 7
lib/Screens/Menu/Absensi/absensi_screen.dart View File

75
         messageTextStyle: TextStyle(
75
         messageTextStyle: TextStyle(
76
             color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
76
             color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
77
 
77
 
78
-    loading.show();
78
+    await loading.show();
79
 
79
 
80
     bool serviceEnabled = await Geolocator.isLocationServiceEnabled();
80
     bool serviceEnabled = await Geolocator.isLocationServiceEnabled();
81
     logDev.log(serviceEnabled.toString(), name: "ON/OFF LOCATION SERVICE");
81
     logDev.log(serviceEnabled.toString(), name: "ON/OFF LOCATION SERVICE");
143
           });
143
           });
144
           await loading.hide();
144
           await loading.hide();
145
         }
145
         }
146
+        await loading.hide();
146
       });
147
       });
147
 
148
 
148
       //History
149
       //History
218
     bool serviceEnabled;
219
     bool serviceEnabled;
219
     LocationPermission permission;
220
     LocationPermission permission;
220
 
221
 
221
-    //loading.show();
222
     serviceEnabled = await Geolocator.isLocationServiceEnabled();
222
     serviceEnabled = await Geolocator.isLocationServiceEnabled();
223
     if (!serviceEnabled) {
223
     if (!serviceEnabled) {
224
       await loading.hide();
224
       await loading.hide();
273
         messageTextStyle: TextStyle(
273
         messageTextStyle: TextStyle(
274
             color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
274
             color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
275
 
275
 
276
-    loading.show();
276
+    await loading.show();
277
     position = await Geolocator.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
277
     position = await Geolocator.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
278
     if (position.isMocked) {
278
     if (position.isMocked) {
279
       await loading.hide();
279
       await loading.hide();
338
         messageTextStyle: TextStyle(
338
         messageTextStyle: TextStyle(
339
             color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
339
             color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
340
 
340
 
341
-    loading.show();
341
+    await loading.show();
342
 
342
 
343
     position = await Geolocator.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
343
     position = await Geolocator.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
344
     if (position.isMocked) {
344
     if (position.isMocked) {
527
                                   child: Column(
527
                                   child: Column(
528
                                     children: [
528
                                     children: [
529
                                       Text('Check In',
529
                                       Text('Check In',
530
-                                          style: GoogleFonts.fredokaOne(
530
+                                          style: GoogleFonts.fredoka(
531
                                               fontSize: 19)),
531
                                               fontSize: 19)),
532
                                       Text(showCheckIn_List,
532
                                       Text(showCheckIn_List,
533
                                           style: GoogleFonts.barlowSemiCondensed(
533
                                           style: GoogleFonts.barlowSemiCondensed(
539
                                   child: Column(
539
                                   child: Column(
540
                                     children: [
540
                                     children: [
541
                                       Text('Check Out',
541
                                       Text('Check Out',
542
-                                          style: GoogleFonts.fredokaOne(
542
+                                          style: GoogleFonts.fredoka(
543
                                               fontSize: 19)),
543
                                               fontSize: 19)),
544
                                       Text(showCheckOut_List,
544
                                       Text(showCheckOut_List,
545
                                           style: GoogleFonts.barlowSemiCondensed(
545
                                           style: GoogleFonts.barlowSemiCondensed(
947
   Widget okButton = TextButton(
947
   Widget okButton = TextButton(
948
     child: Text("Open Settings"),
948
     child: Text("Open Settings"),
949
     onPressed: () {
949
     onPressed: () {
950
-      AppSettings.openLocationSettings();
950
+      //AppSettings.openLocationSettings();
951
       Navigator.of(context, rootNavigator: true).pop();
951
       Navigator.of(context, rootNavigator: true).pop();
952
       loading.hide();
952
       loading.hide();
953
      /* Navigator.pushReplacement(
953
      /* Navigator.pushReplacement(

+ 4
- 4
lib/Screens/Menu/AjukanCuti/ajukancuti_screen.dart View File

61
     super.initState();
61
     super.initState();
62
   }
62
   }
63
 
63
 
64
-  getJenisCuti () {
64
+  getJenisCuti () async {
65
     ProgressDialog loading = ProgressDialog(context);
65
     ProgressDialog loading = ProgressDialog(context);
66
     loading = ProgressDialog(context,
66
     loading = ProgressDialog(context,
67
         type: ProgressDialogType.normal, isDismissible: false, showLogs: true);
67
         type: ProgressDialogType.normal, isDismissible: false, showLogs: true);
80
         messageTextStyle: TextStyle(
80
         messageTextStyle: TextStyle(
81
             color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
81
             color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
82
 
82
 
83
-    loading.show();
83
+    await loading.show();
84
     JenisCuti_Post.connectToAPI().then((valueResult) async {
84
     JenisCuti_Post.connectToAPI().then((valueResult) async {
85
       Map<String, dynamic> object = json.decode(valueResult);
85
       Map<String, dynamic> object = json.decode(valueResult);
86
       if (object.containsKey("result").toString() == "true"){
86
       if (object.containsKey("result").toString() == "true"){
522
                                             fontSize: 17,
522
                                             fontSize: 17,
523
                                             fontWeight: FontWeight.w500)),
523
                                             fontWeight: FontWeight.w500)),
524
                                   ),
524
                                   ),
525
-                                  onTap: () {
525
+                                  onTap: () async {
526
                                     ProgressDialog loading = ProgressDialog(context);
526
                                     ProgressDialog loading = ProgressDialog(context);
527
                                     loading = ProgressDialog(context,
527
                                     loading = ProgressDialog(context,
528
                                         type: ProgressDialogType.normal, isDismissible: false, showLogs: true);
528
                                         type: ProgressDialogType.normal, isDismissible: false, showLogs: true);
546
                                     if (!validateFormCuti(context)){
546
                                     if (!validateFormCuti(context)){
547
                                       return;
547
                                       return;
548
                                     } else if (validateFormCuti(context)){
548
                                     } else if (validateFormCuti(context)){
549
-                                      loading.show();
549
+                                      await loading.show();
550
                                       PengajuanCuti_Post.connectToAPI(idCuti, formattedDateFrom,
550
                                       PengajuanCuti_Post.connectToAPI(idCuti, formattedDateFrom,
551
                                           formattedDateTo, deskripsiTeksController.text.toString(), fileAttach)
551
                                           formattedDateTo, deskripsiTeksController.text.toString(), fileAttach)
552
                                           .then((valueResult) async {
552
                                           .then((valueResult) async {

+ 2
- 3
lib/Screens/Menu/AjukanCuti/history_cuti.dart View File

73
         messageTextStyle: TextStyle(
73
         messageTextStyle: TextStyle(
74
             color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
74
             color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
75
 
75
 
76
-    loading.show();
76
+    await loading.show();
77
     HistoryCuti_Post.connectToAPI().then((valueResult) async {
77
     HistoryCuti_Post.connectToAPI().then((valueResult) async {
78
       Map<String, dynamic> object = jsonDecode(valueResult);
78
       Map<String, dynamic> object = jsonDecode(valueResult);
79
       if (object.containsKey("result").toString() == "true") {
79
       if (object.containsKey("result").toString() == "true") {
140
 
140
 
141
             HistoryLength = historyCuti.length;
141
             HistoryLength = historyCuti.length;
142
           });
142
           });
143
-          await loading.hide();
144
         }
143
         }
145
       } else {
144
       } else {
146
         Fluttertoast.showToast(
145
         Fluttertoast.showToast(
151
             textColor: Colors.white,
150
             textColor: Colors.white,
152
             fontSize: 16.0);
151
             fontSize: 16.0);
153
       }
152
       }
153
+      await loading.hide();
154
     });
154
     });
155
-    await loading.hide();
156
   }
155
   }
157
 
156
 
158
   @override
157
   @override

+ 4
- 4
lib/Screens/Menu/Reimburse/reimburse_screen.dart View File

55
     super.initState();
55
     super.initState();
56
   }
56
   }
57
 
57
 
58
-  getKategoriReimburse () {
58
+  getKategoriReimburse () async {
59
     ProgressDialog loading = ProgressDialog(context);
59
     ProgressDialog loading = ProgressDialog(context);
60
     loading = ProgressDialog(context,
60
     loading = ProgressDialog(context,
61
         type: ProgressDialogType.normal, isDismissible: false, showLogs: true);
61
         type: ProgressDialogType.normal, isDismissible: false, showLogs: true);
74
         messageTextStyle: TextStyle(
74
         messageTextStyle: TextStyle(
75
             color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
75
             color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
76
 
76
 
77
-    loading.show();
77
+    await loading.show();
78
     CategoryReimburse_Post.connectToAPI().then((valueResult) async {
78
     CategoryReimburse_Post.connectToAPI().then((valueResult) async {
79
       Map<String, dynamic> object = json.decode(valueResult);
79
       Map<String, dynamic> object = json.decode(valueResult);
80
       if (object.containsKey("result").toString() == "true"){
80
       if (object.containsKey("result").toString() == "true"){
579
                                                 fontSize: 17,
579
                                                 fontSize: 17,
580
                                                 fontWeight: FontWeight.w500)),
580
                                                 fontWeight: FontWeight.w500)),
581
                                       ),
581
                                       ),
582
-                                      onTap: () {
582
+                                      onTap: () async {
583
                                         ProgressDialog loading = ProgressDialog(context);
583
                                         ProgressDialog loading = ProgressDialog(context);
584
                                         loading = ProgressDialog(context,
584
                                         loading = ProgressDialog(context,
585
                                             type: ProgressDialogType.normal, isDismissible: false, showLogs: true);
585
                                             type: ProgressDialogType.normal, isDismissible: false, showLogs: true);
601
                                         if (!validateFormReimburse(context)){
601
                                         if (!validateFormReimburse(context)){
602
                                           return;
602
                                           return;
603
                                         } else if (validateFormReimburse(context)){
603
                                         } else if (validateFormReimburse(context)){
604
-                                          loading.show();
604
+                                          await loading.show();
605
                                           PengajuanReimburse_Post.connectToAPI(namaProdukTeksController.text.toString(), idReimburse,
605
                                           PengajuanReimburse_Post.connectToAPI(namaProdukTeksController.text.toString(), idReimburse,
606
                                               formattedDateFrom, totalHargaTeksController.text.toString(), valuePayment,
606
                                               formattedDateFrom, totalHargaTeksController.text.toString(), valuePayment,
607
                                               deskripsiTeksController.text.toString(), fileAttach).then((valueResult) async {
607
                                               deskripsiTeksController.text.toString(), fileAttach).then((valueResult) async {

+ 4
- 4
lib/Screens/Menu/SlipGaji/slipgaji_screen.dart View File

85
             color: Colors.black, fontSize: 10.0, fontWeight: FontWeight.w400),
85
             color: Colors.black, fontSize: 10.0, fontWeight: FontWeight.w400),
86
         messageTextStyle: TextStyle(
86
         messageTextStyle: TextStyle(
87
             color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
87
             color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
88
-    loading.show();
88
+    await loading.show();
89
     HistorySlipGaji_Post.connectToAPI().then((valueResult) async {
89
     HistorySlipGaji_Post.connectToAPI().then((valueResult) async {
90
       Map<String, dynamic> object = json.decode(valueResult);
90
       Map<String, dynamic> object = json.decode(valueResult);
91
       if (object.containsKey("result").toString() == "true"){
91
       if (object.containsKey("result").toString() == "true"){
172
             color: Colors.black, fontSize: 10.0, fontWeight: FontWeight.w400),
172
             color: Colors.black, fontSize: 10.0, fontWeight: FontWeight.w400),
173
         messageTextStyle: TextStyle(
173
         messageTextStyle: TextStyle(
174
             color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
174
             color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
175
-    loading.show();
175
+    await loading.show();
176
 
176
 
177
     final SharedPreferences prefs = await SharedPreferences.getInstance();
177
     final SharedPreferences prefs = await SharedPreferences.getInstance();
178
       DetailSlipGaji_Post.connectToAPI(batchID_List[indexBatchID]).then((valueResult) async {
178
       DetailSlipGaji_Post.connectToAPI(batchID_List[indexBatchID]).then((valueResult) async {
392
                       child: Container(
392
                       child: Container(
393
                         alignment: Alignment.centerRight,
393
                         alignment: Alignment.centerRight,
394
                         child: ElevatedButton(
394
                         child: ElevatedButton(
395
-                          onPressed: () {
395
+                          onPressed: () async {
396
                             ProgressDialog loading = ProgressDialog(context);
396
                             ProgressDialog loading = ProgressDialog(context);
397
                             loading = ProgressDialog(context,
397
                             loading = ProgressDialog(context,
398
                                 type: ProgressDialogType.normal, isDismissible: false, showLogs: true);
398
                                 type: ProgressDialogType.normal, isDismissible: false, showLogs: true);
410
                                     color: Colors.black, fontSize: 10.0, fontWeight: FontWeight.w400),
410
                                     color: Colors.black, fontSize: 10.0, fontWeight: FontWeight.w400),
411
                                 messageTextStyle: TextStyle(
411
                                 messageTextStyle: TextStyle(
412
                                     color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
412
                                     color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
413
-                            loading.show();
413
+                            await loading.show();
414
 
414
 
415
                             DownloadSlipGaji_Post.connectToAPI(batchID_List[indexBatchID]).then((valueResult) async {
415
                             DownloadSlipGaji_Post.connectToAPI(batchID_List[indexBatchID]).then((valueResult) async {
416
                               Map<String, dynamic> object = json.decode(valueResult);
416
                               Map<String, dynamic> object = json.decode(valueResult);

+ 4
- 4
lib/Screens/Menu/SuratTugas/deklarasi_st.dart View File

279
                                             messageTextStyle: TextStyle(
279
                                             messageTextStyle: TextStyle(
280
                                                 color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
280
                                                 color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
281
 
281
 
282
-                                        //loading.show();
282
+                                        //await loading.show();
283
 
283
 
284
                                         /*if (!validateFormCuti(context)){
284
                                         /*if (!validateFormCuti(context)){
285
                                                 return;
285
                                                 return;
286
                                               } else if (validateFormCuti(context)){
286
                                               } else if (validateFormCuti(context)){
287
-                                                loading.show();
287
+                                                await loading.show();
288
                                                 PengajuanCuti_Post.connectToAPI(idCuti, formattedDateFrom,
288
                                                 PengajuanCuti_Post.connectToAPI(idCuti, formattedDateFrom,
289
                                                     formattedDateTo, deskripsiTeksController.text.toString(), fileAttach)
289
                                                     formattedDateTo, deskripsiTeksController.text.toString(), fileAttach)
290
                                                     .then((valueResult) async {
290
                                                     .then((valueResult) async {
297
                                               String to = object['result']['to'].toString();
297
                                               String to = object['result']['to'].toString();
298
                                               String deskripsi = object['result']['deskripsi'].toString();
298
                                               String deskripsi = object['result']['deskripsi'].toString();
299
                                               String attachment = object['result']['attachment'].toString();*//*
299
                                               String attachment = object['result']['attachment'].toString();*//*
300
-                                                    loading.hide();
300
+                                                    await loading.hide();
301
                                                     deskripsiTeksController.clear();
301
                                                     deskripsiTeksController.clear();
302
                                                     Widget okButton = TextButton(
302
                                                     Widget okButton = TextButton(
303
                                                       child: Text("OK"),
303
                                                       child: Text("OK"),
332
                                                   } else if (object.containsKey("error").toString() == "true") {
332
                                                   } else if (object.containsKey("error").toString() == "true") {
333
                                                     String errorMessage = object['error']['data']['message']
333
                                                     String errorMessage = object['error']['data']['message']
334
                                                         .toString();
334
                                                         .toString();
335
-                                                    loading.hide();
335
+                                                    await loading.hide();
336
                                                     Widget okButton = TextButton(
336
                                                     Widget okButton = TextButton(
337
                                                       child: Text("OK"),
337
                                                       child: Text("OK"),
338
                                                       onPressed: () {
338
                                                       onPressed: () {

+ 3
- 3
lib/Screens/Menu/SuratTugas/history_st.dart View File

89
         messageTextStyle: TextStyle(
89
         messageTextStyle: TextStyle(
90
             color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
90
             color: Colors.black, fontSize: 15.0, fontWeight: FontWeight.w600));
91
 
91
 
92
-    loading.show();
92
+    await loading.show();
93
     HistoryST_Post.connectToAPI().then((valueResult) async {
93
     HistoryST_Post.connectToAPI().then((valueResult) async {
94
       Map<String, dynamic> object = jsonDecode(valueResult);
94
       Map<String, dynamic> object = jsonDecode(valueResult);
95
       if (object.containsKey("result").toString() == "true") {
95
       if (object.containsKey("result").toString() == "true") {
99
           alertDialogFailedRetrievedData(context);
99
           alertDialogFailedRetrievedData(context);
100
         } else {
100
         } else {
101
           List <dynamic> historyST = object['result'];
101
           List <dynamic> historyST = object['result'];
102
-          setState(() {
102
+          setState(() async {
103
             for (int i = 0; i < historyST.length; i++){
103
             for (int i = 0; i < historyST.length; i++){
104
               String id = historyST[i]['id'].toString();
104
               String id = historyST[i]['id'].toString();
105
               String number = historyST[i]['number'].toString();
105
               String number = historyST[i]['number'].toString();
205
             ticketTo_List.removeAt(0);
205
             ticketTo_List.removeAt(0);
206
             ticketDate_List.removeAt(0);
206
             ticketDate_List.removeAt(0);
207
             ticketPrice_List.removeAt(0);
207
             ticketPrice_List.removeAt(0);
208
-            loading.hide();
208
+            await loading.hide();
209
           });
209
           });
210
         }
210
         }
211
       } else {
211
       } else {

+ 2
- 2
lib/Screens/Menu/SuratTugas/pengajuan_extendTanggalKembali.dart View File

829
                                                       fontSize: 17,
829
                                                       fontSize: 17,
830
                                                       fontWeight: FontWeight.w500)),
830
                                                       fontWeight: FontWeight.w500)),
831
                                             ),
831
                                             ),
832
-                                            onTap: () {
832
+                                            onTap: () async {
833
                                               ProgressDialog loading = ProgressDialog(context);
833
                                               ProgressDialog loading = ProgressDialog(context);
834
                                               loading = ProgressDialog(context,
834
                                               loading = ProgressDialog(context,
835
                                                   type: ProgressDialogType.normal, isDismissible: false, showLogs: true);
835
                                                   type: ProgressDialogType.normal, isDismissible: false, showLogs: true);
851
                                               if (!validateFormPengajuanST(context)){
851
                                               if (!validateFormPengajuanST(context)){
852
                                                 return;
852
                                                 return;
853
                                               } else if (validateFormPengajuanST(context)){
853
                                               } else if (validateFormPengajuanST(context)){
854
-                                                loading.show();
854
+                                                await loading.show();
855
                                                 PengajuanST_Post.connectToAPI(
855
                                                 PengajuanST_Post.connectToAPI(
856
                                                     formattedDateST, uangMukaTeksController.text.toString(), keperluanTeksController.text.toString(),
856
                                                     formattedDateST, uangMukaTeksController.text.toString(), keperluanTeksController.text.toString(),
857
                                                     formattedDateDeparture, formattedDateReturn, tujuanTeksController.text.toString(), kendaraan,
857
                                                     formattedDateDeparture, formattedDateReturn, tujuanTeksController.text.toString(), kendaraan,

+ 2
- 2
lib/Screens/Menu/SuratTugas/pengajuan_st.dart View File

774
                                             fontSize: 17,
774
                                             fontSize: 17,
775
                                             fontWeight: FontWeight.w500)),
775
                                             fontWeight: FontWeight.w500)),
776
                                   ),
776
                                   ),
777
-                                  onTap: () {
777
+                                  onTap: () async {
778
                                     ProgressDialog loading =
778
                                     ProgressDialog loading =
779
                                     ProgressDialog(context);
779
                                     ProgressDialog(context);
780
                                     loading = ProgressDialog(context,
780
                                     loading = ProgressDialog(context,
806
                                       return;
806
                                       return;
807
                                     } else if (validateFormPengajuanST(
807
                                     } else if (validateFormPengajuanST(
808
                                         context)) {
808
                                         context)) {
809
-                                      loading.show();
809
+                                      await loading.show();
810
                                       PengajuanST_Post.connectToAPI(
810
                                       PengajuanST_Post.connectToAPI(
811
                                           formattedDateST,
811
                                           formattedDateST,
812
                                           uangMukaTeksController.text
812
                                           uangMukaTeksController.text

+ 0
- 0
lib/Screens/Menu/SuratTugas/pengajuan_uangMukaTambahan.dart View File


Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save