Commit b1f93059 authored by Dio Maulana's avatar Dio Maulana

fixed onboarding load

parent 9cb9c600
...@@ -7,14 +7,16 @@ String? getLatitude() { ...@@ -7,14 +7,16 @@ String? getLatitude() {
return prefs.getString(_latitude); return prefs.getString(_latitude);
} }
Future<void> setLatitude(String value) async { Future<String> setLatitude(String value) async {
prefs.setString(_latitude, value); prefs.setString(_latitude, value);
return value;
} }
String? getLongitude() { String? getLongitude() {
return prefs.getString(_longitude); return prefs.getString(_longitude);
} }
Future<void> setLongitude(String value) async { Future<String> setLongitude(String value) async {
prefs.setString(_longitude, value); prefs.setString(_longitude, value);
return value;
} }
...@@ -36,15 +36,7 @@ class _OnBoardingViewState extends State<OnBoardingView> { ...@@ -36,15 +36,7 @@ class _OnBoardingViewState extends State<OnBoardingView> {
super.initState(); super.initState();
getUserPermission().then((value) { getUserPermission().then((value) {
if (value) { if (value) {
getNearestBranch().then((branchBool) { getUserLocationAndNearestBranch();
if (branchBool) {
// ambil list shift kalau ada outlet
getShiftList();
} else {
// setstate aja, gausah ambil list shift karena gak ada utlet
setState(() {});
}
});
} }
}); });
...@@ -94,14 +86,27 @@ class _OnBoardingViewState extends State<OnBoardingView> { ...@@ -94,14 +86,27 @@ class _OnBoardingViewState extends State<OnBoardingView> {
}); });
} }
Future<void> getUserLocationAndNearestBranch() async {
Position position = await Geolocator.getCurrentPosition();
setLatitude(position.latitude.toString()).then((value) {
setLongitude(position.longitude.toString()).then((value) {
getNearestBranch().then((branchBool) {
if (branchBool) {
// ambil list shift kalau ada outlet
getShiftList();
} else {
// setstate aja, gausah ambil list shift karena gak ada utlet
setState(() {});
}
});
});
});
}
Future<bool> getUserPermission() async { Future<bool> getUserPermission() async {
LocationPermission permission = await Geolocator.requestPermission(); LocationPermission permission = await Geolocator.requestPermission();
if (permission == LocationPermission.always || if (permission == LocationPermission.always ||
permission == LocationPermission.whileInUse) { permission == LocationPermission.whileInUse) {
Geolocator.getCurrentPosition().then((position) {
setLatitude(position.latitude.toString());
setLongitude(position.longitude.toString());
});
return true; return true;
} else { } else {
// ignore: use_build_context_synchronously // ignore: use_build_context_synchronously
...@@ -268,13 +273,47 @@ dengan sekali klik''', ...@@ -268,13 +273,47 @@ dengan sekali klik''',
), ),
), ),
) )
: Text( : Column(
errorMessage!, children: [
style: getSemiBoldStyle( Text(
color: Colors.black, errorMessage!,
fontSize: 16, style: getSemiBoldStyle(
), color: Colors.black,
textAlign: TextAlign.center, fontSize: 16,
),
textAlign: TextAlign.center,
),
(errorMessage == Strings.cantConnectToServer)
? GestureDetector(
onTap: () {
Navigator.pushNamedAndRemoveUntil(
context,
Routes.onBoarding,
(route) => false,
);
},
child: Container(
width: 60,
height: 60,
margin: EdgeInsets.only(
top: AppMargin.m10,
),
decoration: BoxDecoration(
borderRadius:
BorderRadius.circular(100),
color: ColorManager.primary,
),
child: const Center(
child: Icon(
Icons.refresh_rounded,
color: Colors.white,
size: 23,
),
),
),
)
: const SizedBox(),
],
) )
: CircularProgressIndicator( : CircularProgressIndicator(
color: ColorManager.primary, color: ColorManager.primary,
......
...@@ -7,7 +7,7 @@ class Strings { ...@@ -7,7 +7,7 @@ class Strings {
"Tidak ada outlet yang ditemukan dalam radius 10Km"; "Tidak ada outlet yang ditemukan dalam radius 10Km";
static String errorGetShiftList = static String errorGetShiftList =
"Tidak dapat terhubung ke server, shift tidak ditemukan"; "Tidak dapat terhubung ke server, shift tidak ditemukan";
static String cantConnectToServer = "Can't connect to server"; static String cantConnectToServer = "Can't connect to server, refresh page";
static String serverError = "Something wrong with our server, refresh page"; static String serverError = "Something wrong with our server, refresh page";
static String succesGetData = "Success get data"; static String succesGetData = "Success get data";
static String pleaseWait = "Please wait..."; static String pleaseWait = "Please wait...";
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment