diff --git a/sigap-mobile/.env b/sigap-mobile/.env
index ebb1c48..46e136c 100644
--- a/sigap-mobile/.env
+++ b/sigap-mobile/.env
@@ -35,7 +35,7 @@ SEND_EMAIL_HOOK_SECRET="jeroAB/CXdS721OiHV0Ac0yRcxO7eNihgjblH62xMhLBNc6OwK3DQnkb
DENO_ENV=development
-MAPBOX_ACCESS_TOKEN="pk.eyJ1IjoidmVyZ2lsZ29vZDEiLCJhIjoiY205b254eGltMGJ5dzJqb2F4cGpsZXlpNSJ9.zxmnSQxuc5NBwiFpsTGJCg"
-MAPBOX_TILESET_ID="vergilgood1.cm9x176pl09k11ope7hzkij0r-06afz"
+MAPBOX_ACCESS_TOKEN=pk.eyJ1IjoidmVyZ2lsZ29vZDEiLCJhIjoiY205b254eGltMGJ5dzJqb2F4cGpsZXlpNSJ9.zxmnSQxuc5NBwiFpsTGJCg
+MAPBOX_TILESET_ID=vergilgood1.cm9x176pl09k11ope7hzkij0r-06afz
NODE_ENV=development
diff --git a/sigap-mobile/.vscode/settings.json b/sigap-mobile/.vscode/settings.json
index f49799b..4afc3b0 100644
--- a/sigap-mobile/.vscode/settings.json
+++ b/sigap-mobile/.vscode/settings.json
@@ -21,5 +21,6 @@
"http",
"net"
],
- "files.autoSave": "afterDelay"
+ "files.autoSave": "afterDelay",
+ "java.configuration.updateBuildConfiguration": "interactive"
}
diff --git a/sigap-mobile/android/app/build.gradle.kts b/sigap-mobile/android/app/build.gradle.kts
index ad2800e..d8d8deb 100644
--- a/sigap-mobile/android/app/build.gradle.kts
+++ b/sigap-mobile/android/app/build.gradle.kts
@@ -8,13 +8,38 @@ plugins {
android {
namespace = "com.backspacex.sigap"
compileSdk = flutter.compileSdkVersion
- ndkVersion = flutter.ndkVersion
+ ndkVersion = "27.0.12077973"
compileOptions {
+ // Flag to enable support for the new language APIs
+
+ // For AGP 4.1+
+ isCoreLibraryDesugaringEnabled = true
+ // For AGP 4.0
+ // coreLibraryDesugaringEnabled = true
+
+ // Sets Java compatibility to Java 8
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
+ dependencies {
+ // For AGP 7.4+
+ coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.5")
+ // For AGP 7.3
+ // coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:1.2.3")
+ // For AGP 4.0 to 7.2
+ // coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:1.1.9")
+
+ // Material components for Android
+ implementation("com.google.android.material:material:1.14.0-alpha01")
+
+ // AppCompat library
+ val appcompat_version = "1.7.0"
+ implementation("androidx.appcompat:appcompat:$appcompat_version")
+ implementation("androidx.appcompat:appcompat-resources:$appcompat_version")
+ }
+
kotlinOptions {
jvmTarget = JavaVersion.VERSION_11.toString()
}
diff --git a/sigap-mobile/android/app/src/main/AndroidManifest.xml b/sigap-mobile/android/app/src/main/AndroidManifest.xml
index 04a1e76..a7a76dd 100644
--- a/sigap-mobile/android/app/src/main/AndroidManifest.xml
+++ b/sigap-mobile/android/app/src/main/AndroidManifest.xml
@@ -6,7 +6,7 @@
-
+
+
-
-
-
-
+ -
+
+
+ -
+
+
+ -
+
+
diff --git a/sigap-mobile/android/app/src/main/res/drawable-xhdpi/android12splash.png b/sigap-mobile/android/app/src/main/res/drawable-xhdpi/android12splash.png
new file mode 100644
index 0000000..c3094ac
Binary files /dev/null and b/sigap-mobile/android/app/src/main/res/drawable-xhdpi/android12splash.png differ
diff --git a/sigap-mobile/android/app/src/main/res/drawable-xhdpi/branding.png b/sigap-mobile/android/app/src/main/res/drawable-xhdpi/branding.png
new file mode 100644
index 0000000..c3094ac
Binary files /dev/null and b/sigap-mobile/android/app/src/main/res/drawable-xhdpi/branding.png differ
diff --git a/sigap-mobile/android/app/src/main/res/drawable-xhdpi/splash.png b/sigap-mobile/android/app/src/main/res/drawable-xhdpi/splash.png
new file mode 100644
index 0000000..c3094ac
Binary files /dev/null and b/sigap-mobile/android/app/src/main/res/drawable-xhdpi/splash.png differ
diff --git a/sigap-mobile/android/app/src/main/res/drawable-xxhdpi/android12splash.png b/sigap-mobile/android/app/src/main/res/drawable-xxhdpi/android12splash.png
new file mode 100644
index 0000000..406593f
Binary files /dev/null and b/sigap-mobile/android/app/src/main/res/drawable-xxhdpi/android12splash.png differ
diff --git a/sigap-mobile/android/app/src/main/res/drawable-xxhdpi/branding.png b/sigap-mobile/android/app/src/main/res/drawable-xxhdpi/branding.png
new file mode 100644
index 0000000..406593f
Binary files /dev/null and b/sigap-mobile/android/app/src/main/res/drawable-xxhdpi/branding.png differ
diff --git a/sigap-mobile/android/app/src/main/res/drawable-xxhdpi/splash.png b/sigap-mobile/android/app/src/main/res/drawable-xxhdpi/splash.png
new file mode 100644
index 0000000..406593f
Binary files /dev/null and b/sigap-mobile/android/app/src/main/res/drawable-xxhdpi/splash.png differ
diff --git a/sigap-mobile/android/app/src/main/res/drawable-xxxhdpi/android12splash.png b/sigap-mobile/android/app/src/main/res/drawable-xxxhdpi/android12splash.png
new file mode 100644
index 0000000..9bd0de2
Binary files /dev/null and b/sigap-mobile/android/app/src/main/res/drawable-xxxhdpi/android12splash.png differ
diff --git a/sigap-mobile/android/app/src/main/res/drawable-xxxhdpi/branding.png b/sigap-mobile/android/app/src/main/res/drawable-xxxhdpi/branding.png
new file mode 100644
index 0000000..9bd0de2
Binary files /dev/null and b/sigap-mobile/android/app/src/main/res/drawable-xxxhdpi/branding.png differ
diff --git a/sigap-mobile/android/app/src/main/res/drawable-xxxhdpi/splash.png b/sigap-mobile/android/app/src/main/res/drawable-xxxhdpi/splash.png
new file mode 100644
index 0000000..9bd0de2
Binary files /dev/null and b/sigap-mobile/android/app/src/main/res/drawable-xxxhdpi/splash.png differ
diff --git a/sigap-mobile/android/app/src/main/res/drawable/background.png b/sigap-mobile/android/app/src/main/res/drawable/background.png
new file mode 100644
index 0000000..8e21404
Binary files /dev/null and b/sigap-mobile/android/app/src/main/res/drawable/background.png differ
diff --git a/sigap-mobile/android/app/src/main/res/drawable/launch_background.xml b/sigap-mobile/android/app/src/main/res/drawable/launch_background.xml
index 304732f..5367a88 100644
--- a/sigap-mobile/android/app/src/main/res/drawable/launch_background.xml
+++ b/sigap-mobile/android/app/src/main/res/drawable/launch_background.xml
@@ -1,12 +1,12 @@
-
-
-
-
-
+ -
+
+
+ -
+
+
+ -
+
+
diff --git a/sigap-mobile/android/app/src/main/res/values-night-v31/styles.xml b/sigap-mobile/android/app/src/main/res/values-night-v31/styles.xml
new file mode 100644
index 0000000..a35c870
--- /dev/null
+++ b/sigap-mobile/android/app/src/main/res/values-night-v31/styles.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
diff --git a/sigap-mobile/android/app/src/main/res/values-night/styles.xml b/sigap-mobile/android/app/src/main/res/values-night/styles.xml
index 06952be..dbc9ea9 100644
--- a/sigap-mobile/android/app/src/main/res/values-night/styles.xml
+++ b/sigap-mobile/android/app/src/main/res/values-night/styles.xml
@@ -5,6 +5,10 @@
- @drawable/launch_background
+ - false
+ - false
+ - false
+ - shortEdges
+
+
+
+
diff --git a/sigap-mobile/android/app/src/main/res/values/styles.xml b/sigap-mobile/android/app/src/main/res/values/styles.xml
index efffa6c..e6cafe5 100644
--- a/sigap-mobile/android/app/src/main/res/values/styles.xml
+++ b/sigap-mobile/android/app/src/main/res/values/styles.xml
@@ -1,10 +1,12 @@
-
-
diff --git a/sigap-mobile/assets/images/animations/loader.json b/sigap-mobile/assets/images/animations/loader.json
new file mode 100644
index 0000000..c30b930
--- /dev/null
+++ b/sigap-mobile/assets/images/animations/loader.json
@@ -0,0 +1 @@
+{"v":"4.6.9","fr":29.9700012207031,"ip":0,"op":45.0000018328876,"w":800,"h":600,"nm":"Loader","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Shape Layer 1","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[49.206,49.9,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167"],"t":12,"s":[10,10],"e":[25,25]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":22,"s":[25,25],"e":[25,25]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167"],"t":37,"s":[25,25],"e":[10,10]},{"t":47.0000019143492}]},"p":{"a":0,"k":[75,-75]},"r":{"a":0,"k":0},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect"},{"ty":"fl","c":{"a":0,"k":[0.105882,0.105882,0.105882,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-36.706,37.6],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 16","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167"],"t":10,"s":[10,10],"e":[25,25]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":20,"s":[25,25],"e":[25,25]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167"],"t":35,"s":[25,25],"e":[10,10]},{"t":45.0000018328876}]},"p":{"a":0,"k":[50,-75]},"r":{"a":0,"k":0},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect"},{"ty":"fl","c":{"a":0,"k":[0.105882,0.105882,0.105882,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-36.706,37.6],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 15","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167"],"t":8,"s":[10,10],"e":[25,25]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":18,"s":[25,25],"e":[25,25]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167"],"t":33,"s":[25,25],"e":[10,10]},{"t":43.0000017514259}]},"p":{"a":0,"k":[25,-75]},"r":{"a":0,"k":0},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect"},{"ty":"fl","c":{"a":0,"k":[0.105882,0.105882,0.105882,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-36.706,37.6],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 14","np":3,"cix":2,"ix":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167"],"t":6,"s":[10,10],"e":[25,25]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":16,"s":[25,25],"e":[25,25]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167"],"t":31,"s":[25,25],"e":[10,10]},{"t":41.0000016699642}]},"p":{"a":0,"k":[0,-75]},"r":{"a":0,"k":0},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect"},{"ty":"fl","c":{"a":0,"k":[0.105882,0.105882,0.105882,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-36.706,37.6],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 13","np":3,"cix":2,"ix":4,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167"],"t":10,"s":[10,10],"e":[25,25]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":20,"s":[25,25],"e":[25,25]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167"],"t":35,"s":[25,25],"e":[10,10]},{"t":45.0000018328876}]},"p":{"a":0,"k":[75,-50]},"r":{"a":0,"k":0},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect"},{"ty":"fl","c":{"a":0,"k":[0.105882,0.105882,0.105882,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-36.706,37.6],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 12","np":3,"cix":2,"ix":5,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167"],"t":8,"s":[10,10],"e":[25,25]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":18,"s":[25,25],"e":[25,25]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167"],"t":33,"s":[25,25],"e":[10,10]},{"t":43.0000017514259}]},"p":{"a":0,"k":[50,-50]},"r":{"a":0,"k":0},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect"},{"ty":"fl","c":{"a":0,"k":[0.105882,0.105882,0.105882,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-36.706,37.6],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 11","np":3,"cix":2,"ix":6,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167"],"t":6,"s":[10,10],"e":[25,25]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":16,"s":[25,25],"e":[25,25]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167"],"t":31,"s":[25,25],"e":[10,10]},{"t":41.0000016699642}]},"p":{"a":0,"k":[25,-50]},"r":{"a":0,"k":0},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect"},{"ty":"fl","c":{"a":0,"k":[0.105882,0.105882,0.105882,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-36.706,37.6],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 10","np":3,"cix":2,"ix":7,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167"],"t":4,"s":[10,10],"e":[25,25]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":14,"s":[25,25],"e":[25,25]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167"],"t":29,"s":[25,25],"e":[10,10]},{"t":39.0000015885026}]},"p":{"a":0,"k":[0,-50]},"r":{"a":0,"k":0},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect"},{"ty":"fl","c":{"a":0,"k":[0.105882,0.105882,0.105882,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-36.706,37.6],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 9","np":3,"cix":2,"ix":8,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167"],"t":8,"s":[10,10],"e":[25,25]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":18,"s":[25,25],"e":[25,25]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167"],"t":33,"s":[25,25],"e":[10,10]},{"t":43.0000017514259}]},"p":{"a":0,"k":[75,-25]},"r":{"a":0,"k":0},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect"},{"ty":"fl","c":{"a":0,"k":[0.105882,0.105882,0.105882,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-36.706,37.6],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 8","np":3,"cix":2,"ix":9,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167"],"t":6,"s":[10,10],"e":[25,25]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":16,"s":[25,25],"e":[25,25]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167"],"t":31,"s":[25,25],"e":[10,10]},{"t":41.0000016699642}]},"p":{"a":0,"k":[50,-25]},"r":{"a":0,"k":0},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect"},{"ty":"fl","c":{"a":0,"k":[0.105882,0.105882,0.105882,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-36.706,37.6],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 7","np":3,"cix":2,"ix":10,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167"],"t":4,"s":[10,10],"e":[25,25]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":14,"s":[25,25],"e":[25,25]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167"],"t":29,"s":[25,25],"e":[10,10]},{"t":39.0000015885026}]},"p":{"a":0,"k":[25,-25]},"r":{"a":0,"k":0},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect"},{"ty":"fl","c":{"a":0,"k":[0.105882,0.105882,0.105882,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-36.706,37.6],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 6","np":3,"cix":2,"ix":11,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167"],"t":2,"s":[10,10],"e":[25,25]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":12,"s":[25,25],"e":[25,25]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167"],"t":27,"s":[25,25],"e":[10,10]},{"t":37.0000015070409}]},"p":{"a":0,"k":[0,-25]},"r":{"a":0,"k":0},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect"},{"ty":"fl","c":{"a":0,"k":[0.105882,0.105882,0.105882,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-36.706,37.6],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 5","np":3,"cix":2,"ix":12,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167"],"t":6,"s":[10,10],"e":[25,25]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":16,"s":[25,25],"e":[25,25]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167"],"t":31,"s":[25,25],"e":[10,10]},{"t":41.0000016699642}]},"p":{"a":0,"k":[75,0]},"r":{"a":0,"k":0},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect"},{"ty":"fl","c":{"a":0,"k":[0.105882,0.105882,0.105882,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-36.706,37.6],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 4","np":3,"cix":2,"ix":13,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167"],"t":4,"s":[10,10],"e":[25,25]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":14,"s":[25,25],"e":[25,25]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167"],"t":29,"s":[25,25],"e":[10,10]},{"t":39.0000015885026}]},"p":{"a":0,"k":[50,0]},"r":{"a":0,"k":0},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect"},{"ty":"fl","c":{"a":0,"k":[0.105882,0.105882,0.105882,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-36.706,37.6],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 3","np":3,"cix":2,"ix":14,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167"],"t":2,"s":[10,10],"e":[25,25]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":12,"s":[25,25],"e":[25,25]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167"],"t":27,"s":[25,25],"e":[10,10]},{"t":37.0000015070409}]},"p":{"a":0,"k":[25,0]},"r":{"a":0,"k":0},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect"},{"ty":"fl","c":{"a":0,"k":[0.105882,0.105882,0.105882,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-36.706,37.6],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 2","np":3,"cix":2,"ix":15,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167"],"t":0,"s":[10,10],"e":[25,25]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":10,"s":[25,25],"e":[25,25]},{"i":{"x":[0,0],"y":[1,1]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"n":["0_1_0p167_0p167","0_1_0p167_0p167"],"t":25,"s":[25,25],"e":[10,10]},{"t":35.0000014255792}]},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect"},{"ty":"fl","c":{"a":0,"k":[0.105882,0.105882,0.105882,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[-36.706,37.6],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 1","np":3,"cix":2,"ix":16,"mn":"ADBE Vector Group"}],"ip":0,"op":300.00001221925,"st":0,"bm":0,"sr":1}]}],"layers":[{"ddd":0,"ind":6,"ty":0,"nm":"Loader 2","refId":"comp_0","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[400,300,0]},"a":{"a":0,"k":[50,50,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"w":100,"h":100,"ip":0,"op":90.0000036657751,"st":0,"bm":0,"sr":1}]}
\ No newline at end of file
diff --git a/sigap-mobile/assets/images/animations/splash-dark.json b/sigap-mobile/assets/images/animations/splash-dark.json
new file mode 100644
index 0000000..25958bf
--- /dev/null
+++ b/sigap-mobile/assets/images/animations/splash-dark.json
@@ -0,0 +1 @@
+{"assets":[{"id":"6","layers":[{"ind":5,"ty":4,"ks":{},"ip":0,"op":181,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[25,25]},"r":{"a":0,"k":0},"s":{"a":0,"k":[50,50]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":181,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[19.21,9.38],[19.21,18.75],[27.32,23.44],[35.41,28.13],[35.41,18.75],[27.32,14.06],[27.32,4.69],[19.21,0]]}}},{"ty":"fl","c":{"a":0,"k":[0.11,0.11,0.12,1]},"r":2,"o":{"a":0,"k":100}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[11.11,23.44],[11.11,4.69],[3,9.38],[3,28.13],[11.11,32.81],[19.21,37.5],[27.32,32.81],[19.21,28.13]]}}},{"ty":"fl","c":{"a":0,"k":[0.11,0.11,0.12,1]},"r":2,"o":{"a":0,"k":100}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]}],"fr":60,"h":400,"ip":0,"layers":[{"ind":8,"ty":0,"parent":4,"ks":{},"w":50,"h":50,"ip":0,"op":181,"st":0,"refId":"6"},{"ind":4,"ty":3,"parent":3,"ks":{"s":{"a":0,"k":[240,240]}},"ip":0,"op":181,"st":0},{"ind":3,"ty":3,"parent":2,"ks":{"a":{"a":0,"k":[60,60]},"p":{"a":0,"k":[120,120]},"s":{"a":1,"k":[{"t":0,"s":[0,0],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":6,"s":[0,0],"i":{"x":[0.25,0.25],"y":[1,1]},"o":{"x":[0.25,0.25],"y":[0.1,0.1]}},{"t":30,"s":[100,100],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":180,"s":[100,100],"h":1}]}},"ip":0,"op":181,"st":0},{"ind":10,"ty":4,"parent":9,"ks":{},"ip":0,"op":181,"st":0,"shapes":[{"ty":"el","p":{"a":0,"k":[120,120]},"s":{"a":0,"k":[240,240]}},{"ty":"fl","c":{"a":0,"k":[1,1,1]},"o":{"a":0,"k":100}}]},{"ind":9,"ty":3,"parent":2,"ks":{},"ip":0,"op":181,"st":0},{"ind":2,"ty":3,"parent":1,"ks":{"a":{"a":0,"k":[120,120]},"p":{"a":0,"k":[200,200]},"s":{"a":1,"k":[{"t":0,"s":[0,0],"i":{"x":[0.25,0.25],"y":[1,1]},"o":{"x":[0.25,0.25],"y":[0.1,0.1]}},{"t":24,"s":[100,100],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":156,"s":[100,100],"i":{"x":[0.667,0.667],"y":[0.001,0.001]},"o":{"x":[0.334,0.334],"y":[0,0]}},{"t":180,"s":[0,0],"h":1}]}},"ip":0,"op":181,"st":0},{"ind":1,"ty":3,"parent":0,"ks":{},"ip":0,"op":181,"st":0},{"ind":0,"ty":3,"ks":{},"ip":0,"op":181,"st":0}],"meta":{"g":"https://jitter.video"},"op":180,"v":"5.7.4","w":400}
\ No newline at end of file
diff --git a/sigap-mobile/assets/images/animations/splash-light.json b/sigap-mobile/assets/images/animations/splash-light.json
new file mode 100644
index 0000000..99089fa
--- /dev/null
+++ b/sigap-mobile/assets/images/animations/splash-light.json
@@ -0,0 +1 @@
+{"assets":[{"id":"6","layers":[{"ind":5,"ty":4,"ks":{},"ip":0,"op":181,"st":0,"shapes":[{"ty":"rc","p":{"a":0,"k":[25,25]},"r":{"a":0,"k":0},"s":{"a":0,"k":[50,50]}},{"ty":"fl","c":{"a":0,"k":[0,0,0,0]},"o":{"a":0,"k":0}}]},{"ind":0,"ty":4,"ks":{"s":{"a":0,"k":[133.33,133.33]}},"ip":0,"op":181,"st":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[19.21,9.38],[19.21,18.75],[27.32,23.44],[35.41,28.13],[35.41,18.75],[27.32,14.06],[27.32,4.69],[19.21,0]]}}},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"r":2,"o":{"a":0,"k":100}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"sh","ks":{"a":0,"k":{"c":true,"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[11.11,23.44],[11.11,4.69],[3,9.38],[3,28.13],[11.11,32.81],[19.21,37.5],[27.32,32.81],[19.21,28.13]]}}},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"r":2,"o":{"a":0,"k":100}},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]},{"ty":"tr","o":{"a":0,"k":100}}]}]}]}],"fr":60,"h":400,"ip":0,"layers":[{"ind":8,"ty":0,"parent":4,"ks":{},"w":50,"h":50,"ip":0,"op":181,"st":0,"refId":"6"},{"ind":4,"ty":3,"parent":3,"ks":{"s":{"a":0,"k":[240,240]}},"ip":0,"op":181,"st":0},{"ind":3,"ty":3,"parent":2,"ks":{"a":{"a":0,"k":[60,60]},"p":{"a":0,"k":[120,120]},"s":{"a":1,"k":[{"t":0,"s":[0,0],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":6,"s":[0,0],"i":{"x":[0.25,0.25],"y":[1,1]},"o":{"x":[0.25,0.25],"y":[0.1,0.1]}},{"t":30,"s":[100,100],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":180,"s":[100,100],"h":1}]}},"ip":0,"op":181,"st":0},{"ind":10,"ty":4,"parent":9,"ks":{},"ip":0,"op":181,"st":0,"shapes":[{"ty":"el","p":{"a":0,"k":[120,120]},"s":{"a":0,"k":[240,240]}},{"ty":"fl","c":{"a":0,"k":[0.114,0.114,0.122]},"o":{"a":0,"k":100}}]},{"ind":9,"ty":3,"parent":2,"ks":{},"ip":0,"op":181,"st":0},{"ind":2,"ty":3,"parent":1,"ks":{"a":{"a":0,"k":[120,120]},"p":{"a":0,"k":[200,200]},"s":{"a":1,"k":[{"t":0,"s":[0,0],"i":{"x":[0.25,0.25],"y":[1,1]},"o":{"x":[0.25,0.25],"y":[0.1,0.1]}},{"t":24,"s":[100,100],"i":{"x":[1,1],"y":[1,1]},"o":{"x":[0,0],"y":[0,0]}},{"t":156,"s":[100,100],"i":{"x":[0.667,0.667],"y":[0.001,0.001]},"o":{"x":[0.334,0.334],"y":[0,0]}},{"t":180,"s":[0,0],"h":1}]}},"ip":0,"op":181,"st":0},{"ind":1,"ty":3,"parent":0,"ks":{},"ip":0,"op":181,"st":0},{"ind":0,"ty":3,"ks":{},"ip":0,"op":181,"st":0}],"meta":{"g":"https://jitter.video"},"op":180,"v":"5.7.4","w":400}
\ No newline at end of file
diff --git a/sigap-mobile/assets/images/content/backpacking-dark.svg b/sigap-mobile/assets/images/content/backpacking-dark.svg
new file mode 100644
index 0000000..83d248d
--- /dev/null
+++ b/sigap-mobile/assets/images/content/backpacking-dark.svg
@@ -0,0 +1,175 @@
+
diff --git a/sigap-mobile/assets/images/content/backpacking.svg b/sigap-mobile/assets/images/content/backpacking.svg
new file mode 100644
index 0000000..ff1c5ce
--- /dev/null
+++ b/sigap-mobile/assets/images/content/backpacking.svg
@@ -0,0 +1,170 @@
+
diff --git a/sigap-mobile/assets/images/content/calling-help-dark.svg b/sigap-mobile/assets/images/content/calling-help-dark.svg
new file mode 100644
index 0000000..053e55f
--- /dev/null
+++ b/sigap-mobile/assets/images/content/calling-help-dark.svg
@@ -0,0 +1,123 @@
+
diff --git a/sigap-mobile/assets/images/content/calling-help.svg b/sigap-mobile/assets/images/content/calling-help.svg
new file mode 100644
index 0000000..561a1a6
--- /dev/null
+++ b/sigap-mobile/assets/images/content/calling-help.svg
@@ -0,0 +1,118 @@
+
diff --git a/sigap-mobile/assets/images/content/communication-dark.svg b/sigap-mobile/assets/images/content/communication-dark.svg
new file mode 100644
index 0000000..22ebd2e
--- /dev/null
+++ b/sigap-mobile/assets/images/content/communication-dark.svg
@@ -0,0 +1,156 @@
+
diff --git a/sigap-mobile/assets/images/content/communication.svg b/sigap-mobile/assets/images/content/communication.svg
new file mode 100644
index 0000000..769f358
--- /dev/null
+++ b/sigap-mobile/assets/images/content/communication.svg
@@ -0,0 +1,151 @@
+
diff --git a/sigap-mobile/assets/images/content/crashed-error-dark.svg b/sigap-mobile/assets/images/content/crashed-error-dark.svg
new file mode 100644
index 0000000..1eb653a
--- /dev/null
+++ b/sigap-mobile/assets/images/content/crashed-error-dark.svg
@@ -0,0 +1,159 @@
+
diff --git a/sigap-mobile/assets/images/content/crashed-error.svg b/sigap-mobile/assets/images/content/crashed-error.svg
new file mode 100644
index 0000000..a8f408b
--- /dev/null
+++ b/sigap-mobile/assets/images/content/crashed-error.svg
@@ -0,0 +1,154 @@
+
diff --git a/sigap-mobile/assets/images/content/customer-support-dark.svg b/sigap-mobile/assets/images/content/customer-support-dark.svg
new file mode 100644
index 0000000..88697a2
--- /dev/null
+++ b/sigap-mobile/assets/images/content/customer-support-dark.svg
@@ -0,0 +1,101 @@
+
diff --git a/sigap-mobile/assets/images/content/customer-support.svg b/sigap-mobile/assets/images/content/customer-support.svg
new file mode 100644
index 0000000..a6dd664
--- /dev/null
+++ b/sigap-mobile/assets/images/content/customer-support.svg
@@ -0,0 +1,96 @@
+
diff --git a/sigap-mobile/assets/images/content/falling-dark.svg b/sigap-mobile/assets/images/content/falling-dark.svg
new file mode 100644
index 0000000..780b73b
--- /dev/null
+++ b/sigap-mobile/assets/images/content/falling-dark.svg
@@ -0,0 +1,128 @@
+
diff --git a/sigap-mobile/assets/images/content/falling.svg b/sigap-mobile/assets/images/content/falling.svg
new file mode 100644
index 0000000..1ed6b62
--- /dev/null
+++ b/sigap-mobile/assets/images/content/falling.svg
@@ -0,0 +1,128 @@
+
diff --git a/sigap-mobile/assets/images/content/hitchhiking-dark.svg b/sigap-mobile/assets/images/content/hitchhiking-dark.svg
new file mode 100644
index 0000000..d1c200b
--- /dev/null
+++ b/sigap-mobile/assets/images/content/hitchhiking-dark.svg
@@ -0,0 +1,111 @@
+
diff --git a/sigap-mobile/assets/images/content/hitchhiking.svg b/sigap-mobile/assets/images/content/hitchhiking.svg
new file mode 100644
index 0000000..a95297a
--- /dev/null
+++ b/sigap-mobile/assets/images/content/hitchhiking.svg
@@ -0,0 +1,111 @@
+
diff --git a/sigap-mobile/assets/images/content/home-office-dark.svg b/sigap-mobile/assets/images/content/home-office-dark.svg
new file mode 100644
index 0000000..22b95bb
--- /dev/null
+++ b/sigap-mobile/assets/images/content/home-office-dark.svg
@@ -0,0 +1,152 @@
+
diff --git a/sigap-mobile/assets/images/content/home-office.svg b/sigap-mobile/assets/images/content/home-office.svg
new file mode 100644
index 0000000..f6932c1
--- /dev/null
+++ b/sigap-mobile/assets/images/content/home-office.svg
@@ -0,0 +1,154 @@
+
diff --git a/sigap-mobile/assets/images/content/looking-at-the-map-dark.svg b/sigap-mobile/assets/images/content/looking-at-the-map-dark.svg
new file mode 100644
index 0000000..66930b1
--- /dev/null
+++ b/sigap-mobile/assets/images/content/looking-at-the-map-dark.svg
@@ -0,0 +1,97 @@
+
diff --git a/sigap-mobile/assets/images/content/looking-at-the-map.svg b/sigap-mobile/assets/images/content/looking-at-the-map.svg
new file mode 100644
index 0000000..8ba2022
--- /dev/null
+++ b/sigap-mobile/assets/images/content/looking-at-the-map.svg
@@ -0,0 +1,92 @@
+
diff --git a/sigap-mobile/assets/images/content/online-dating-dark.svg b/sigap-mobile/assets/images/content/online-dating-dark.svg
new file mode 100644
index 0000000..8200785
--- /dev/null
+++ b/sigap-mobile/assets/images/content/online-dating-dark.svg
@@ -0,0 +1,78 @@
+
diff --git a/sigap-mobile/assets/images/content/online-dating.svg b/sigap-mobile/assets/images/content/online-dating.svg
new file mode 100644
index 0000000..1b313c0
--- /dev/null
+++ b/sigap-mobile/assets/images/content/online-dating.svg
@@ -0,0 +1,80 @@
+
diff --git a/sigap-mobile/assets/images/content/paper-plane-dark.svg b/sigap-mobile/assets/images/content/paper-plane-dark.svg
new file mode 100644
index 0000000..4eb834b
--- /dev/null
+++ b/sigap-mobile/assets/images/content/paper-plane-dark.svg
@@ -0,0 +1,157 @@
+
diff --git a/sigap-mobile/assets/images/content/paper-plane.svg b/sigap-mobile/assets/images/content/paper-plane.svg
new file mode 100644
index 0000000..f9855a0
--- /dev/null
+++ b/sigap-mobile/assets/images/content/paper-plane.svg
@@ -0,0 +1,157 @@
+
diff --git a/sigap-mobile/assets/images/content/question-mark-dark.svg b/sigap-mobile/assets/images/content/question-mark-dark.svg
new file mode 100644
index 0000000..a959f50
--- /dev/null
+++ b/sigap-mobile/assets/images/content/question-mark-dark.svg
@@ -0,0 +1,93 @@
+
diff --git a/sigap-mobile/assets/images/content/question-mark.svg b/sigap-mobile/assets/images/content/question-mark.svg
new file mode 100644
index 0000000..6e10cf3
--- /dev/null
+++ b/sigap-mobile/assets/images/content/question-mark.svg
@@ -0,0 +1,95 @@
+
diff --git a/sigap-mobile/assets/images/content/searching-location-on-the-phone-dark.svg b/sigap-mobile/assets/images/content/searching-location-on-the-phone-dark.svg
new file mode 100644
index 0000000..824f941
--- /dev/null
+++ b/sigap-mobile/assets/images/content/searching-location-on-the-phone-dark.svg
@@ -0,0 +1,101 @@
+
diff --git a/sigap-mobile/assets/images/content/searching-location-on-the-phone.svg b/sigap-mobile/assets/images/content/searching-location-on-the-phone.svg
new file mode 100644
index 0000000..4569bd2
--- /dev/null
+++ b/sigap-mobile/assets/images/content/searching-location-on-the-phone.svg
@@ -0,0 +1,101 @@
+
diff --git a/sigap-mobile/assets/images/content/telephone-call-dark.svg b/sigap-mobile/assets/images/content/telephone-call-dark.svg
new file mode 100644
index 0000000..4b40104
--- /dev/null
+++ b/sigap-mobile/assets/images/content/telephone-call-dark.svg
@@ -0,0 +1,160 @@
+
diff --git a/sigap-mobile/assets/images/content/telephone-call.svg b/sigap-mobile/assets/images/content/telephone-call.svg
new file mode 100644
index 0000000..b2fc38f
--- /dev/null
+++ b/sigap-mobile/assets/images/content/telephone-call.svg
@@ -0,0 +1,155 @@
+
diff --git a/sigap-mobile/assets/images/content/traveling-with-a-suitcase-dark.svg b/sigap-mobile/assets/images/content/traveling-with-a-suitcase-dark.svg
new file mode 100644
index 0000000..6459a5e
--- /dev/null
+++ b/sigap-mobile/assets/images/content/traveling-with-a-suitcase-dark.svg
@@ -0,0 +1,135 @@
+
diff --git a/sigap-mobile/assets/images/content/traveling-with-a-suitcase.svg b/sigap-mobile/assets/images/content/traveling-with-a-suitcase.svg
new file mode 100644
index 0000000..c2e71f6
--- /dev/null
+++ b/sigap-mobile/assets/images/content/traveling-with-a-suitcase.svg
@@ -0,0 +1,130 @@
+
diff --git a/sigap-mobile/assets/images/content/video-call-dark.svg b/sigap-mobile/assets/images/content/video-call-dark.svg
new file mode 100644
index 0000000..6417d69
--- /dev/null
+++ b/sigap-mobile/assets/images/content/video-call-dark.svg
@@ -0,0 +1,128 @@
+
diff --git a/sigap-mobile/assets/images/content/video-call.svg b/sigap-mobile/assets/images/content/video-call.svg
new file mode 100644
index 0000000..79f7c9e
--- /dev/null
+++ b/sigap-mobile/assets/images/content/video-call.svg
@@ -0,0 +1,130 @@
+
diff --git a/sigap-mobile/assets/images/content/woman-hugging-earth-dark.svg b/sigap-mobile/assets/images/content/woman-hugging-earth-dark.svg
new file mode 100644
index 0000000..3d2a2f3
--- /dev/null
+++ b/sigap-mobile/assets/images/content/woman-hugging-earth-dark.svg
@@ -0,0 +1,91 @@
+
diff --git a/sigap-mobile/assets/images/content/woman-hugging-earth.svg b/sigap-mobile/assets/images/content/woman-hugging-earth.svg
new file mode 100644
index 0000000..d0208f9
--- /dev/null
+++ b/sigap-mobile/assets/images/content/woman-hugging-earth.svg
@@ -0,0 +1,93 @@
+
diff --git a/sigap-mobile/assets/images/content/woman-tourist-dark.svg b/sigap-mobile/assets/images/content/woman-tourist-dark.svg
new file mode 100644
index 0000000..2e641a8
--- /dev/null
+++ b/sigap-mobile/assets/images/content/woman-tourist-dark.svg
@@ -0,0 +1,146 @@
+
diff --git a/sigap-mobile/assets/images/content/woman-tourist.svg b/sigap-mobile/assets/images/content/woman-tourist.svg
new file mode 100644
index 0000000..04843fb
--- /dev/null
+++ b/sigap-mobile/assets/images/content/woman-tourist.svg
@@ -0,0 +1,141 @@
+
diff --git a/sigap-mobile/assets/logos/logo-bg-dark.png b/sigap-mobile/assets/logos/logo-bg-dark.png
new file mode 100644
index 0000000..91f25b5
Binary files /dev/null and b/sigap-mobile/assets/logos/logo-bg-dark.png differ
diff --git a/sigap-mobile/assets/logos/logo-bg-dark.svg b/sigap-mobile/assets/logos/logo-bg-dark.svg
new file mode 100644
index 0000000..4c0becd
--- /dev/null
+++ b/sigap-mobile/assets/logos/logo-bg-dark.svg
@@ -0,0 +1,17 @@
+
diff --git a/sigap-mobile/assets/logos/logo-bg-light.png b/sigap-mobile/assets/logos/logo-bg-light.png
new file mode 100644
index 0000000..87eb83e
Binary files /dev/null and b/sigap-mobile/assets/logos/logo-bg-light.png differ
diff --git a/sigap-mobile/assets/logos/logo-bg-light.svg b/sigap-mobile/assets/logos/logo-bg-light.svg
new file mode 100644
index 0000000..e62d21a
--- /dev/null
+++ b/sigap-mobile/assets/logos/logo-bg-light.svg
@@ -0,0 +1,21 @@
+
diff --git a/sigap-mobile/assets/logos/logo-dark.png b/sigap-mobile/assets/logos/logo-dark.png
new file mode 100644
index 0000000..7e37ca3
Binary files /dev/null and b/sigap-mobile/assets/logos/logo-dark.png differ
diff --git a/sigap-mobile/assets/logos/logo-dark.svg b/sigap-mobile/assets/logos/logo-dark.svg
new file mode 100644
index 0000000..4b421c5
--- /dev/null
+++ b/sigap-mobile/assets/logos/logo-dark.svg
@@ -0,0 +1,4 @@
+
diff --git a/sigap-mobile/assets/logos/logo-light.png b/sigap-mobile/assets/logos/logo-light.png
new file mode 100644
index 0000000..0ee065e
Binary files /dev/null and b/sigap-mobile/assets/logos/logo-light.png differ
diff --git a/sigap-mobile/assets/logos/logo-light.svg b/sigap-mobile/assets/logos/logo-light.svg
new file mode 100644
index 0000000..5ee81ad
--- /dev/null
+++ b/sigap-mobile/assets/logos/logo-light.svg
@@ -0,0 +1,4 @@
+
diff --git a/sigap-mobile/assets/logos/logo.png b/sigap-mobile/assets/logos/logo.png
new file mode 100644
index 0000000..e686563
Binary files /dev/null and b/sigap-mobile/assets/logos/logo.png differ
diff --git a/sigap-mobile/assets/logos/logo.svg b/sigap-mobile/assets/logos/logo.svg
new file mode 100644
index 0000000..6d966da
--- /dev/null
+++ b/sigap-mobile/assets/logos/logo.svg
@@ -0,0 +1,27 @@
+
diff --git a/sigap-mobile/flutter_native_splash.yaml b/sigap-mobile/flutter_native_splash.yaml
new file mode 100644
index 0000000..83c296b
--- /dev/null
+++ b/sigap-mobile/flutter_native_splash.yaml
@@ -0,0 +1,15 @@
+flutter_native_splash:
+ color: "#ffffff"
+ image: assets/logos/logo-light.png
+ branding: assets/logos/logo-light.png
+ color_dark: "#121212"
+ image_dark: assets/logos/logo-dark.png
+ branding_dark: assets/logos/logo-dark.png
+
+ android_12:
+ image: assets/logos/logo-light.png
+ icon_background_color: "#ffffff"
+ image_dark: assets/logos/logo-dark.png
+ icon_background_color_dark: "#121212"
+
+ web: false
diff --git a/sigap-mobile/ios/Runner/Assets.xcassets/BrandingImage.imageset/BrandingImage.png b/sigap-mobile/ios/Runner/Assets.xcassets/BrandingImage.imageset/BrandingImage.png
new file mode 100644
index 0000000..1899490
Binary files /dev/null and b/sigap-mobile/ios/Runner/Assets.xcassets/BrandingImage.imageset/BrandingImage.png differ
diff --git a/sigap-mobile/ios/Runner/Assets.xcassets/BrandingImage.imageset/BrandingImage@2x.png b/sigap-mobile/ios/Runner/Assets.xcassets/BrandingImage.imageset/BrandingImage@2x.png
new file mode 100644
index 0000000..c3094ac
Binary files /dev/null and b/sigap-mobile/ios/Runner/Assets.xcassets/BrandingImage.imageset/BrandingImage@2x.png differ
diff --git a/sigap-mobile/ios/Runner/Assets.xcassets/BrandingImage.imageset/BrandingImage@3x.png b/sigap-mobile/ios/Runner/Assets.xcassets/BrandingImage.imageset/BrandingImage@3x.png
new file mode 100644
index 0000000..406593f
Binary files /dev/null and b/sigap-mobile/ios/Runner/Assets.xcassets/BrandingImage.imageset/BrandingImage@3x.png differ
diff --git a/sigap-mobile/ios/Runner/Assets.xcassets/BrandingImage.imageset/BrandingImageDark.png b/sigap-mobile/ios/Runner/Assets.xcassets/BrandingImage.imageset/BrandingImageDark.png
new file mode 100644
index 0000000..970899f
Binary files /dev/null and b/sigap-mobile/ios/Runner/Assets.xcassets/BrandingImage.imageset/BrandingImageDark.png differ
diff --git a/sigap-mobile/ios/Runner/Assets.xcassets/BrandingImage.imageset/BrandingImageDark@2x.png b/sigap-mobile/ios/Runner/Assets.xcassets/BrandingImage.imageset/BrandingImageDark@2x.png
new file mode 100644
index 0000000..23b8228
Binary files /dev/null and b/sigap-mobile/ios/Runner/Assets.xcassets/BrandingImage.imageset/BrandingImageDark@2x.png differ
diff --git a/sigap-mobile/ios/Runner/Assets.xcassets/BrandingImage.imageset/BrandingImageDark@3x.png b/sigap-mobile/ios/Runner/Assets.xcassets/BrandingImage.imageset/BrandingImageDark@3x.png
new file mode 100644
index 0000000..fee2fa1
Binary files /dev/null and b/sigap-mobile/ios/Runner/Assets.xcassets/BrandingImage.imageset/BrandingImageDark@3x.png differ
diff --git a/sigap-mobile/ios/Runner/Assets.xcassets/BrandingImage.imageset/Contents.json b/sigap-mobile/ios/Runner/Assets.xcassets/BrandingImage.imageset/Contents.json
new file mode 100644
index 0000000..bdbce88
--- /dev/null
+++ b/sigap-mobile/ios/Runner/Assets.xcassets/BrandingImage.imageset/Contents.json
@@ -0,0 +1,56 @@
+{
+ "images" : [
+ {
+ "filename" : "BrandingImage.png",
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "appearances" : [
+ {
+ "appearance" : "luminosity",
+ "value" : "dark"
+ }
+ ],
+ "filename" : "BrandingImageDark.png",
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "filename" : "BrandingImage@2x.png",
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "appearances" : [
+ {
+ "appearance" : "luminosity",
+ "value" : "dark"
+ }
+ ],
+ "filename" : "BrandingImageDark@2x.png",
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "BrandingImage@3x.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ },
+ {
+ "appearances" : [
+ {
+ "appearance" : "luminosity",
+ "value" : "dark"
+ }
+ ],
+ "filename" : "BrandingImageDark@3x.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/sigap-mobile/ios/Runner/Assets.xcassets/LaunchBackground.imageset/Contents.json b/sigap-mobile/ios/Runner/Assets.xcassets/LaunchBackground.imageset/Contents.json
new file mode 100644
index 0000000..8bb185b
--- /dev/null
+++ b/sigap-mobile/ios/Runner/Assets.xcassets/LaunchBackground.imageset/Contents.json
@@ -0,0 +1,22 @@
+{
+ "images" : [
+ {
+ "filename" : "background.png",
+ "idiom" : "universal"
+ },
+ {
+ "appearances" : [
+ {
+ "appearance" : "luminosity",
+ "value" : "dark"
+ }
+ ],
+ "filename" : "darkbackground.png",
+ "idiom" : "universal"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/sigap-mobile/ios/Runner/Assets.xcassets/LaunchBackground.imageset/background.png b/sigap-mobile/ios/Runner/Assets.xcassets/LaunchBackground.imageset/background.png
new file mode 100644
index 0000000..8e21404
Binary files /dev/null and b/sigap-mobile/ios/Runner/Assets.xcassets/LaunchBackground.imageset/background.png differ
diff --git a/sigap-mobile/ios/Runner/Assets.xcassets/LaunchBackground.imageset/darkbackground.png b/sigap-mobile/ios/Runner/Assets.xcassets/LaunchBackground.imageset/darkbackground.png
new file mode 100644
index 0000000..75b99f0
Binary files /dev/null and b/sigap-mobile/ios/Runner/Assets.xcassets/LaunchBackground.imageset/darkbackground.png differ
diff --git a/sigap-mobile/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/sigap-mobile/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
index 0bedcf2..f3387d4 100644
--- a/sigap-mobile/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
+++ b/sigap-mobile/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
@@ -1,23 +1,56 @@
{
"images" : [
{
- "idiom" : "universal",
"filename" : "LaunchImage.png",
+ "idiom" : "universal",
"scale" : "1x"
},
{
+ "appearances" : [
+ {
+ "appearance" : "luminosity",
+ "value" : "dark"
+ }
+ ],
+ "filename" : "LaunchImageDark.png",
"idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
"filename" : "LaunchImage@2x.png",
+ "idiom" : "universal",
"scale" : "2x"
},
{
+ "appearances" : [
+ {
+ "appearance" : "luminosity",
+ "value" : "dark"
+ }
+ ],
+ "filename" : "LaunchImageDark@2x.png",
"idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
"filename" : "LaunchImage@3x.png",
+ "idiom" : "universal",
+ "scale" : "3x"
+ },
+ {
+ "appearances" : [
+ {
+ "appearance" : "luminosity",
+ "value" : "dark"
+ }
+ ],
+ "filename" : "LaunchImageDark@3x.png",
+ "idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
- "version" : 1,
- "author" : "xcode"
+ "author" : "xcode",
+ "version" : 1
}
}
diff --git a/sigap-mobile/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/sigap-mobile/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
index 9da19ea..1899490 100644
Binary files a/sigap-mobile/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png and b/sigap-mobile/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png differ
diff --git a/sigap-mobile/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/sigap-mobile/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
index 9da19ea..c3094ac 100644
Binary files a/sigap-mobile/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png and b/sigap-mobile/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png differ
diff --git a/sigap-mobile/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/sigap-mobile/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
index 9da19ea..406593f 100644
Binary files a/sigap-mobile/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png and b/sigap-mobile/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png differ
diff --git a/sigap-mobile/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImageDark.png b/sigap-mobile/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImageDark.png
new file mode 100644
index 0000000..970899f
Binary files /dev/null and b/sigap-mobile/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImageDark.png differ
diff --git a/sigap-mobile/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImageDark@2x.png b/sigap-mobile/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImageDark@2x.png
new file mode 100644
index 0000000..23b8228
Binary files /dev/null and b/sigap-mobile/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImageDark@2x.png differ
diff --git a/sigap-mobile/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImageDark@3x.png b/sigap-mobile/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImageDark@3x.png
new file mode 100644
index 0000000..fee2fa1
Binary files /dev/null and b/sigap-mobile/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImageDark@3x.png differ
diff --git a/sigap-mobile/ios/Runner/Base.lproj/LaunchScreen.storyboard b/sigap-mobile/ios/Runner/Base.lproj/LaunchScreen.storyboard
index f2e259c..7c020dc 100644
--- a/sigap-mobile/ios/Runner/Base.lproj/LaunchScreen.storyboard
+++ b/sigap-mobile/ios/Runner/Base.lproj/LaunchScreen.storyboard
@@ -16,13 +16,22 @@
-
-
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
@@ -32,6 +41,8 @@
-
+
+
+
diff --git a/sigap-mobile/ios/Runner/Info.plist b/sigap-mobile/ios/Runner/Info.plist
index 5f19451..117733b 100644
--- a/sigap-mobile/ios/Runner/Info.plist
+++ b/sigap-mobile/ios/Runner/Info.plist
@@ -1,64 +1,75 @@
-
- CFBundleDevelopmentRegion
- $(DEVELOPMENT_LANGUAGE)
- CFBundleDisplayName
- Sigap
- CFBundleExecutable
- $(EXECUTABLE_NAME)
- CFBundleIdentifier
- $(PRODUCT_BUNDLE_IDENTIFIER)
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundleName
- sigap
- CFBundlePackageType
- APPL
- CFBundleShortVersionString
- $(FLUTTER_BUILD_NAME)
- CFBundleSignature
- ????
- CFBundleVersion
- $(FLUTTER_BUILD_NUMBER)
- LSRequiresIPhoneOS
-
- UILaunchStoryboardName
- LaunchScreen
- UIMainStoryboardFile
- Main
- UISupportedInterfaceOrientations
-
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
-
- UISupportedInterfaceOrientations~ipad
-
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationPortraitUpsideDown
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
-
- CADisableMinimumFrameDurationOnPhone
-
- UIApplicationSupportsIndirectInputEvents
-
-
- CFBundleURLTypes
-
-
- CFBundleTypeRole
- Editor
- CFBundleURLSchemes
-
- io.supabase.flutterquickstart
-
-
-
-
- NSLocationWhenInUseUsageDescription
- This app needs access to location when open.
-
-
\ No newline at end of file
+
+ CFBundleDevelopmentRegion
+ $(DEVELOPMENT_LANGUAGE)
+ CFBundleDisplayName
+ Sigap
+ CFBundleExecutable
+ $(EXECUTABLE_NAME)
+ CFBundleIdentifier
+ $(PRODUCT_BUNDLE_IDENTIFIER)
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleName
+ sigap
+ CFBundlePackageType
+ APPL
+ CFBundleShortVersionString
+ $(FLUTTER_BUILD_NAME)
+ CFBundleSignature
+ ????
+ CFBundleVersion
+ $(FLUTTER_BUILD_NUMBER)
+ LSRequiresIPhoneOS
+
+ UILaunchStoryboardName
+ LaunchScreen
+ UIMainStoryboardFile
+ Main
+ UISupportedInterfaceOrientations
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ UISupportedInterfaceOrientations~ipad
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationPortraitUpsideDown
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ CADisableMinimumFrameDurationOnPhone
+
+ UIApplicationSupportsIndirectInputEvents
+
+
+ CFBundleURLTypes
+
+
+ CFBundleTypeRole
+ Editor
+ CFBundleURLSchemes
+
+ io.supabase.flutterquickstart
+
+
+
+
+
+
+ NSLocationWhenInUseUsageDescription
+ Aplikasi ini memerlukan akses lokasi untuk menunjukkan posisi Anda pada peta
+ NSLocationAlwaysUsageDescription
+ Aplikasi ini memerlukan akses lokasi untuk navigasi latar belakang
+ io.flutter.embedded_views_preview
+
+ MGLMapboxAccessToken
+ $(MAPBOX_ACCESS_TOKEN)
+ UIStatusBarHidden
+
+
+
diff --git a/sigap-mobile/lib/app.dart b/sigap-mobile/lib/app.dart
index da2be11..d7f92f5 100644
--- a/sigap-mobile/lib/app.dart
+++ b/sigap-mobile/lib/app.dart
@@ -1,9 +1,9 @@
import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
-import 'package:get/get_navigation/src/root/get_material_app.dart';
+import 'package:get/get.dart';
+import 'package:sigap/splash_screen.dart';
import 'package:sigap/src/cores/bindings/app_bindings.dart';
import 'package:sigap/src/cores/routes/app_pages.dart';
-import 'package:sigap/src/utils/constants/colors.dart';
import 'package:sigap/src/utils/constants/text_strings.dart';
import 'package:sigap/src/utils/theme/theme.dart';
@@ -12,6 +12,7 @@ class App extends StatelessWidget {
@override
Widget build(BuildContext context) {
+
return GetMaterialApp(
title: TTexts.appName,
themeMode: ThemeMode.system,
@@ -22,10 +23,7 @@ class App extends StatelessWidget {
localizationsDelegates: GlobalMaterialLocalizations.delegates,
supportedLocales: const [Locale('id', '')],
getPages: AppPages.routes,
- home: const Scaffold(
- backgroundColor: TColors.primary,
- body: Center(child: CircularProgressIndicator(color: TColors.white)),
- ),
+ home: const AnimatedSplashScreenWidget(),
);
}
}
diff --git a/sigap-mobile/lib/main.dart b/sigap-mobile/lib/main.dart
index 394b76c..59f6502 100644
--- a/sigap-mobile/lib/main.dart
+++ b/sigap-mobile/lib/main.dart
@@ -1,25 +1,25 @@
import 'package:flutter/material.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
-import 'package:flutter_native_splash/flutter_native_splash.dart';
import 'package:get_storage/get_storage.dart';
+import 'package:mapbox_maps_flutter/mapbox_maps_flutter.dart';
import 'package:sigap/app.dart';
import 'package:supabase_flutter/supabase_flutter.dart';
Future main() async {
// Ensure that the Flutter binding is initialized before calling any Flutter
- final WidgetsBinding widgetBinding =
- WidgetsFlutterBinding.ensureInitialized();
+ // WidgetsBinding widgetsBinding = WidgetsFlutterBinding.ensureInitialized();
+ // FlutterNativeSplash.preserve(widgetsBinding: widgetsBinding);
+
+ // Load environment variables from the .env file
+ await dotenv.load(fileName: ".env");
// -- GetX Local Storage
await GetStorage.init();
- // -- Await splash until other item load
- FlutterNativeSplash.preserve(widgetsBinding: widgetBinding);
-
// Initialize the authentication repository with Supabase
await Supabase.initialize(
- url: dotenv.env['SUPABASE_URL']!,
- anonKey: dotenv.env['SUPABASE_ANON_KEY']!,
+ url: dotenv.env['SUPABASE_URL'] ?? '',
+ anonKey: dotenv.env['SUPABASE_ANON_KEY'] ?? '',
authOptions: const FlutterAuthClientOptions(
authFlowType: AuthFlowType.pkce,
// detectSessionInUri: true,
@@ -29,6 +29,12 @@ Future main() async {
),
storageOptions: const StorageClientOptions(retryAttempts: 10),
);
+
+ // Initialize the Mapbox
+ String mapboxAccesToken = dotenv.env['MAPBOX_ACCESS_TOKEN'] ?? '';
+ MapboxOptions.setAccessToken(mapboxAccesToken);
+
runApp(const App());
}
+
diff --git a/sigap-mobile/lib/splash_screen.dart b/sigap-mobile/lib/splash_screen.dart
new file mode 100644
index 0000000..775c7d6
--- /dev/null
+++ b/sigap-mobile/lib/splash_screen.dart
@@ -0,0 +1,64 @@
+import 'package:animated_splash_screen/animated_splash_screen.dart';
+import 'package:flutter/material.dart';
+import 'package:lottie/lottie.dart';
+import 'package:sigap/src/features/onboarding/screens/onboarding/onboarding_screen.dart';
+import 'package:sigap/src/utils/constants/colors.dart';
+import 'package:sigap/src/utils/constants/image_strings.dart';
+import 'package:sigap/src/utils/helpers/helper_functions.dart';
+
+class AnimatedSplashScreenWidget extends StatelessWidget {
+ const AnimatedSplashScreenWidget({super.key});
+
+ @override
+ Widget build(BuildContext context) {
+ final isDark = THelperFunctions.isDarkMode(context);
+
+ // Try to find SplashController, but don't fail if it's not ready yet
+ // SplashController? splashController;
+ // if (Get.isRegistered()) {
+ // splashController = Get.find();
+ // } else {
+ // // Register a temporary controller if the real one isn't ready
+ // splashController = Get.put(SplashController());
+ // }
+
+ return AnimatedSplashScreen(
+ splash: Center(
+ child: Lottie.asset(
+ isDark ? TImages.darkSplashApp : TImages.lightSplashApp,
+ ),
+ ),
+ splashIconSize: 300,
+ duration: 3500,
+ nextScreen: const OnboardingScreen(),
+ backgroundColor: isDark ? TColors.dark : TColors.white,
+ );
+ }
+}
+
+// A transition screen that shows a loading indicator
+// until authentication is ready
+// class _LoadingScreen extends StatelessWidget {
+// const _LoadingScreen();
+
+// @override
+// Widget build(BuildContext context) {
+// final isDark = THelperFunctions.isDarkMode(context);
+
+// // This will be shown after the animated splash screen
+// // while we wait for initialization to complete
+// return Scaffold(
+// backgroundColor: isDark ? TColors.dark : TColors.white,
+// body: const Center(
+// child: Column(
+// mainAxisAlignment: MainAxisAlignment.center,
+// children: [
+// CircularProgressIndicator(),
+// SizedBox(height: 24),
+// Text("Menyiapkan aplikasi..."),
+// ],
+// ),
+// ),
+// );
+// }
+// }
diff --git a/sigap-mobile/lib/src/cores/bindings/general_bindings.dart b/sigap-mobile/lib/src/cores/bindings/general_bindings.dart
index a0d1fe0..9323e93 100644
--- a/sigap-mobile/lib/src/cores/bindings/general_bindings.dart
+++ b/sigap-mobile/lib/src/cores/bindings/general_bindings.dart
@@ -7,6 +7,7 @@ class UtilityBindings extends Bindings {
@override
void dependencies() {
+ // Get.put(BackgroundService.instance, permanent: true);
Get.put(NetworkManager());
Get.put(logger);
}
diff --git a/sigap-mobile/lib/src/cores/bindings/repository_bindings.dart b/sigap-mobile/lib/src/cores/bindings/repository_bindings.dart
index f2efcc5..4c1eb90 100644
--- a/sigap-mobile/lib/src/cores/bindings/repository_bindings.dart
+++ b/sigap-mobile/lib/src/cores/bindings/repository_bindings.dart
@@ -1,5 +1,5 @@
import 'package:get/get.dart';
-import 'package:sigap/src/cores/repositories/authentication/authentication_repositories.dart';
+import 'package:sigap/src/cores/repositories/authentication/authentication_repository.dart';
import 'package:sigap/src/cores/repositories/daily-ops/officers_repository.dart';
import 'package:sigap/src/cores/repositories/daily-ops/units_repository.dart';
import 'package:sigap/src/cores/repositories/personalization/profile_repository.dart';
diff --git a/sigap-mobile/lib/src/cores/bindings/service_bindings.dart b/sigap-mobile/lib/src/cores/bindings/service_bindings.dart
index fe8edbc..06b0e3d 100644
--- a/sigap-mobile/lib/src/cores/bindings/service_bindings.dart
+++ b/sigap-mobile/lib/src/cores/bindings/service_bindings.dart
@@ -1,4 +1,5 @@
import 'package:get/get.dart';
+import 'package:sigap/src/cores/services/background_service.dart';
import 'package:sigap/src/cores/services/biometric_service.dart';
import 'package:sigap/src/cores/services/location_service.dart';
import 'package:sigap/src/cores/services/supabase_service.dart';
@@ -6,9 +7,13 @@ import 'package:sigap/src/cores/services/supabase_service.dart';
class ServiceBindings extends Bindings {
@override
Future dependencies() async {
+ final locationService = await BackgroundService.instance
+ .compute((message) => LocationService(), null);
+ final biometricService = await BackgroundService.instance
+ .compute((message) => BiometricService(), null);
// Initialize services
await Get.putAsync(() => SupabaseService().init());
- await Get.putAsync(() => BiometricService().init());
- await Get.putAsync(() => LocationService().init());
+ await Get.putAsync(() => biometricService.init(), permanent: true);
+ await Get.putAsync(() => locationService.init(), permanent: true);
}
}
diff --git a/sigap-mobile/lib/src/cores/repositories/authentication/authentication_repositories.dart b/sigap-mobile/lib/src/cores/repositories/authentication/authentication_repository.dart
similarity index 89%
rename from sigap-mobile/lib/src/cores/repositories/authentication/authentication_repositories.dart
rename to sigap-mobile/lib/src/cores/repositories/authentication/authentication_repository.dart
index d5faf79..d76eb08 100644
--- a/sigap-mobile/lib/src/cores/repositories/authentication/authentication_repositories.dart
+++ b/sigap-mobile/lib/src/cores/repositories/authentication/authentication_repository.dart
@@ -1,5 +1,4 @@
import 'package:flutter/services.dart';
-import 'package:flutter_native_splash/flutter_native_splash.dart';
import 'package:get/get.dart';
import 'package:get_storage/get_storage.dart';
import 'package:sigap/src/cores/services/biometric_service.dart';
@@ -16,19 +15,24 @@ import 'package:supabase_flutter/supabase_flutter.dart';
class AuthenticationRepository extends GetxController {
static AuthenticationRepository get instance => Get.find();
+ // ---------------------------------------------------------------------------
+ // VARIABLES & GETTERS
+ // ---------------------------------------------------------------------------
// Variable
final storage = GetStorage();
final _supabase = SupabaseService.instance.client;
final _locationService = LocationService.instance;
- final _biometricService = Get.put(BiometricService());
+ final _biometricService = Get.find();
// Getters that use the Supabase service
User? get authUser => SupabaseService.instance.currentUser;
String? get currentUserId => SupabaseService.instance.currentUserId;
+ // ---------------------------------------------------------------------------
+ // LIFECYCLE & REDIRECT
+ // ---------------------------------------------------------------------------
@override
void onReady() {
- FlutterNativeSplash.remove();
screenRedirect();
}
@@ -58,6 +62,7 @@ class AuthenticationRepository extends GetxController {
}
}
+ // Redirect user to appropriate screen on app start
screenRedirect() async {
final user = _supabase.auth.currentUser;
if (user != null) {
@@ -76,7 +81,10 @@ class AuthenticationRepository extends GetxController {
}
}
- // ----------------- Email and Password Sign In -----------------
+ // ---------------------------------------------------------------------------
+ // EMAIL & PASSWORD AUTHENTICATION
+ // ---------------------------------------------------------------------------
+ // Sign in with email and password
Future signInWithEmailPassword({
required String email,
required String password,
@@ -119,7 +127,10 @@ class AuthenticationRepository extends GetxController {
}
}
- // [SESSION] - CHECK SESSION
+ // ---------------------------------------------------------------------------
+ // SESSION MANAGEMENT
+ // ---------------------------------------------------------------------------
+ // Get current session
Future