diff --git a/lib/app/app.dart b/lib/app/app.dart index da3b46f..0714483 100644 --- a/lib/app/app.dart +++ b/lib/app/app.dart @@ -12,7 +12,7 @@ class MyApp extends StatelessWidget { return GetMaterialApp( title: 'Quiz App', locale: Get.locale ?? context.locale, - fallbackLocale: const Locale('en', 'US'), + fallbackLocale: const Locale('id', 'ID'), localizationsDelegates: context.localizationDelegates, supportedLocales: context.supportedLocales, initialBinding: InitialBindings(), diff --git a/lib/core/endpoint/api_endpoint.dart b/lib/core/endpoint/api_endpoint.dart index ab82f99..9f01866 100644 --- a/lib/core/endpoint/api_endpoint.dart +++ b/lib/core/endpoint/api_endpoint.dart @@ -1,6 +1,6 @@ class APIEndpoint { - static const String baseUrl = "http://192.168.1.18:5000"; - // static const String baseUrl = "http://103.193.178.121:5000"; + // static const String baseUrl = "http://172.16.106.19:5000"; + static const String baseUrl = "http://103.193.178.121:5000"; static const String api = "$baseUrl/api"; static const String login = "/login"; diff --git a/lib/data/services/quiz_service.dart b/lib/data/services/quiz_service.dart index b0b2bf1..f62a8e0 100644 --- a/lib/data/services/quiz_service.dart +++ b/lib/data/services/quiz_service.dart @@ -107,7 +107,7 @@ class QuizService extends GetxService { Future>?> recommendationQuiz({int page = 1, int amount = 3, String userId = ""}) async { try { Locale locale = Localizations.localeOf(Get.context!); - final response = await dio.get("${APIEndpoint.quizRecommendation}?page=$page&limit=$amount&user_id$userId&lang_code=${locale.languageCode}"); + final response = await dio.get("${APIEndpoint.quizRecommendation}?page=$page&limit=$amount&user_id=$userId&lang_code=${locale.languageCode}"); if (response.statusCode == 200) { final parsedResponse = BaseResponseModel>.fromJson( diff --git a/lib/feature/login/controllers/login_controller.dart b/lib/feature/login/controllers/login_controller.dart index 4b0ab43..584d6be 100644 --- a/lib/feature/login/controllers/login_controller.dart +++ b/lib/feature/login/controllers/login_controller.dart @@ -3,6 +3,7 @@ import 'package:get/get.dart'; import 'package:quiz_app/app/routes/app_pages.dart'; import 'package:quiz_app/component/global_button.dart'; import 'package:quiz_app/core/helper/connection_check.dart'; +import 'package:quiz_app/core/utils/custom_floating_loading.dart'; import 'package:quiz_app/core/utils/custom_notification.dart'; import 'package:quiz_app/core/utils/logger.dart'; import 'package:quiz_app/data/controllers/user_controller.dart'; @@ -87,6 +88,7 @@ class LoginController extends GetxController { } try { isLoading.value = true; + CustomFloatingLoading.showLoadingDialog(Get.context!); final LoginResponseModel response = await _authService.loginWithEmail( LoginRequestModel(email: email, password: password), @@ -97,13 +99,12 @@ class LoginController extends GetxController { await _userStorageService.saveUser(userEntity); _userController.setUserFromEntity(userEntity); _userStorageService.isLogged = true; - + CustomFloatingLoading.hideLoadingDialog(Get.context!); Get.offAllNamed(AppRoutes.mainPage); } catch (e, stackTrace) { logC.e(e, stackTrace: stackTrace); + CustomFloatingLoading.hideLoadingDialog(Get.context!); CustomNotification.error(title: "Gagal", message: "Periksa kembali email dan kata sandi Anda"); - } finally { - isLoading.value = false; } } @@ -113,15 +114,20 @@ class LoginController extends GetxController { return; } try { + CustomFloatingLoading.showLoadingDialog(Get.context!); final user = await _googleAuthService.signIn(); if (user == null) { Get.snackbar("Kesalahan", "Masuk dengan Google dibatalkan"); + + CustomFloatingLoading.hideLoadingDialog(Get.context!); return; } final idToken = await user.authentication.then((auth) => auth.idToken); if (idToken == null || idToken.isEmpty) { Get.snackbar("Kesalahan", "Tidak menerima ID Token dari Google"); + + CustomFloatingLoading.hideLoadingDialog(Get.context!); return; } @@ -131,7 +137,7 @@ class LoginController extends GetxController { await _userStorageService.saveUser(userEntity); _userController.setUserFromEntity(userEntity); _userStorageService.isLogged = true; - + CustomFloatingLoading.hideLoadingDialog(Get.context!); Get.offAllNamed(AppRoutes.mainPage); } catch (e, stackTrace) { logC.e("Google Sign-In Error: $e", stackTrace: stackTrace); diff --git a/lib/main.dart b/lib/main.dart index 11c14fb..35ae197 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -29,7 +29,8 @@ void main() { Locale('ms', 'MY'), ], path: 'assets/translations', - fallbackLocale: Locale('en', 'US'), + fallbackLocale: Locale('id', 'ID'), + startLocale: Locale('id', 'ID'), useOnlyLangCode: false, child: MyApp(), ),