google sign in
This commit is contained in:
@@ -94,4 +94,7 @@ class ApiUrls {
|
||||
|
||||
//logout
|
||||
static String logout = "${base}Logout";
|
||||
|
||||
//signin with google
|
||||
static String googlesignin = "${base}sign-in-with-google";
|
||||
}
|
||||
|
||||
@@ -966,7 +966,7 @@ class HoldingsTabBar extends StatelessWidget {
|
||||
indicatorColor: const Color(0xFFFFFFFF),
|
||||
labelColor: Colors.white,
|
||||
unselectedLabelColor: const Color(0xffFFFFFF),
|
||||
overlayColor: WidgetStateProperty.all(const Color(0xFFFFFFFF)),
|
||||
overlayColor: MaterialStateProperty.all(const Color(0xFFFFFFFF)),
|
||||
tabs: const [
|
||||
Tab(
|
||||
text: 'Holdings',
|
||||
@@ -1006,7 +1006,7 @@ class PortfolioTabBar extends StatelessWidget {
|
||||
indicatorColor: const Color(0xff6C0000),
|
||||
labelColor: Colors.white,
|
||||
unselectedLabelColor: const Color(0xFF464646),
|
||||
overlayColor: WidgetStateProperty.all(const Color(0xFFFFFFFF)),
|
||||
overlayColor: MaterialStateProperty.all(const Color(0xFFFFFFFF)),
|
||||
tabs: List.generate(portfolioLength, (counter) {
|
||||
return Tab(
|
||||
text: portoflioName[counter].brokerName,
|
||||
|
||||
@@ -9,12 +9,14 @@ import 'package:get/get.dart';
|
||||
import 'package:glassmorphism/glassmorphism.dart';
|
||||
import 'package:google_sign_in/google_sign_in.dart';
|
||||
import 'package:onesignal_flutter/onesignal_flutter.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
import 'package:traderscircuit/Utils/Common/CustomTextFormField.dart';
|
||||
import 'package:traderscircuit/Utils/Common/commonBotton.dart';
|
||||
import 'package:traderscircuit/Utils/base_manager.dart';
|
||||
import 'package:traderscircuit/Utils/text.dart';
|
||||
import 'package:traderscircuit/Utils/utils.dart';
|
||||
import 'package:traderscircuit/resources/routes/route_name.dart';
|
||||
import 'package:traderscircuit/view/login/VerifyOtp.dart';
|
||||
import 'package:traderscircuit/view/onBoarding/splashScreen1.dart';
|
||||
import 'package:traderscircuit/view_model/GoogleApi/google_api.dart';
|
||||
import '../../view_model/SendOtp/sendOtpObserver.dart';
|
||||
@@ -37,86 +39,107 @@ class _LoginScreenState extends State<LoginScreen> {
|
||||
}
|
||||
|
||||
_signInWithGooglecheck() async {
|
||||
// try {
|
||||
final GoogleSignIn googleSignIn = GoogleSignIn();
|
||||
await googleSignIn.signOut();
|
||||
final GoogleSignInAccount? googleUser = await googleSignIn.signIn();
|
||||
if (googleUser == null) {
|
||||
return;
|
||||
}
|
||||
final GoogleSignInAuthentication googleAuth =
|
||||
await googleUser.authentication;
|
||||
try {
|
||||
final GoogleSignIn googleSignIn = GoogleSignIn();
|
||||
await googleSignIn.signOut();
|
||||
final GoogleSignInAccount? googleUser = await googleSignIn.signIn();
|
||||
if (googleUser == null) {
|
||||
return;
|
||||
}
|
||||
final GoogleSignInAuthentication googleAuth =
|
||||
await googleUser.authentication;
|
||||
|
||||
print('googleAuth AccessToken ${googleAuth.accessToken}');
|
||||
print('googleAuth AccessToken ${googleAuth.accessToken}');
|
||||
|
||||
// Show loading dialog
|
||||
showDialog(
|
||||
context: context,
|
||||
barrierDismissible: false,
|
||||
builder: (BuildContext context) {
|
||||
return Center(
|
||||
child: CircularProgressIndicator(
|
||||
color: Colors.white,
|
||||
),
|
||||
// Show loading dialog
|
||||
showDialog(
|
||||
context: context,
|
||||
barrierDismissible: false,
|
||||
builder: (BuildContext context) {
|
||||
return Center(
|
||||
child: CircularProgressIndicator(
|
||||
color: Colors.white,
|
||||
),
|
||||
);
|
||||
},
|
||||
);
|
||||
|
||||
final status = await OneSignal.shared.getDeviceState();
|
||||
final String? playerIdV = status?.userId;
|
||||
Map<String, String> updata = {
|
||||
"principal_source_xid": '3',
|
||||
"access_token": '${googleAuth.accessToken}',
|
||||
"player_id": playerIdV!,
|
||||
};
|
||||
// Call Google API
|
||||
final response = await GoogleAPI(updata).googleApi();
|
||||
|
||||
// Dismiss loading dialog
|
||||
Navigator.of(context).pop();
|
||||
|
||||
if (response.status == ResponseStatus.SUCCESS) {
|
||||
// await global.setname();
|
||||
// await global.getVar();
|
||||
|
||||
Get.snackbar(
|
||||
"Success!",
|
||||
'Google Sign In successful!',
|
||||
duration: Duration(seconds: 2),
|
||||
colorText: Colors.white,
|
||||
backgroundColor: Colors.green,
|
||||
margin: EdgeInsets.all(8),
|
||||
snackStyle: SnackStyle.FLOATING,
|
||||
snackPosition: SnackPosition.BOTTOM,
|
||||
);
|
||||
},
|
||||
);
|
||||
SharedPreferences prefs = await SharedPreferences.getInstance();
|
||||
await prefs.setString(
|
||||
'accessToken', response.data["data"]["access-token"]);
|
||||
isProfileUpdated =
|
||||
response.data["data"]["user_data"]["profile_updated"];
|
||||
isriskProfileUpdated =
|
||||
response.data["data"]["user_data"]["risk_profile_updated"];
|
||||
isKycUpdated = response.data["data"]["user_data"]["kyc_updated"];
|
||||
isSecuredAccess = response.data["data"]["user_data"]["secured_access"];
|
||||
isProfileUpdated == 0
|
||||
? Get.toNamed(RouteName.adddetails)
|
||||
:
|
||||
// isKycUpdated == 0
|
||||
// ? Get.toNamed(RouteName.kyc)
|
||||
// :
|
||||
isriskProfileUpdated == 0
|
||||
? Get.toNamed(RouteName.updateriskprofile, arguments: {
|
||||
"fromScreen": "login-flow",
|
||||
})
|
||||
: Get.toNamed(RouteName.mainscreen);
|
||||
print('signup: ${prefs.getString('token')}');
|
||||
|
||||
// final status = await OneSignal.shared.getDeviceState();
|
||||
// final String? playerIdV = status?.userId;
|
||||
// Map<String, String> updata = {
|
||||
// "principal_source_xid": '3',
|
||||
// "access_token": '${googleAuth.accessToken}',
|
||||
// "player_id": playerIdV!,
|
||||
// };
|
||||
// // Call Google API
|
||||
// final data = await GoogleAPI(updata).googleApi();
|
||||
|
||||
// // Dismiss loading dialog
|
||||
// Navigator.of(context).pop();
|
||||
|
||||
// if (data.status == ResponseStatus.SUCCESS) {
|
||||
// // await global.setname();
|
||||
// // await global.getVar();
|
||||
|
||||
// Get.snackbar(
|
||||
// "Success!",
|
||||
// 'Google Sign In successful!',
|
||||
// duration: Duration(seconds: 2),
|
||||
// colorText: Colors.white,
|
||||
// backgroundColor: Colors.green,
|
||||
// margin: EdgeInsets.all(8),
|
||||
// snackStyle: SnackStyle.FLOATING,
|
||||
// snackPosition: SnackPosition.BOTTOM,
|
||||
// );
|
||||
|
||||
// Get.toNamed(RouteName.adddetails);
|
||||
// } else {
|
||||
// // Show an error message
|
||||
// Get.snackbar(
|
||||
// "Error!",
|
||||
// data.message,
|
||||
// duration: Duration(seconds: 2),
|
||||
// colorText: Colors.white,
|
||||
// backgroundColor: Colors.red,
|
||||
// margin: EdgeInsets.all(8),
|
||||
// snackStyle: SnackStyle.FLOATING,
|
||||
// snackPosition: SnackPosition.BOTTOM,
|
||||
// );
|
||||
// }
|
||||
// } catch (e) {
|
||||
// print("Error during Google sign-in and API call: $e");
|
||||
// Get.snackbar(
|
||||
// "Error!",
|
||||
// 'Something went wrong, please try again!',
|
||||
// duration: Duration(seconds: 2),
|
||||
// colorText: Colors.white,
|
||||
// backgroundColor: Colors.red,
|
||||
// margin: EdgeInsets.all(8),
|
||||
// snackStyle: SnackStyle.FLOATING,
|
||||
// snackPosition: SnackPosition.BOTTOM,
|
||||
// );
|
||||
// }
|
||||
// Get.toNamed(RouteName.adddetails);
|
||||
} else {
|
||||
// Show an error message
|
||||
Get.snackbar(
|
||||
"Error!",
|
||||
response.message,
|
||||
duration: Duration(seconds: 2),
|
||||
colorText: Colors.white,
|
||||
backgroundColor: Colors.red,
|
||||
margin: EdgeInsets.all(8),
|
||||
snackStyle: SnackStyle.FLOATING,
|
||||
snackPosition: SnackPosition.BOTTOM,
|
||||
);
|
||||
}
|
||||
} catch (e) {
|
||||
print("Error during Google sign-in and API call: $e");
|
||||
Get.snackbar(
|
||||
"Error!",
|
||||
'Something went wrong, please try again!',
|
||||
duration: Duration(seconds: 2),
|
||||
colorText: Colors.white,
|
||||
backgroundColor: Colors.red,
|
||||
margin: EdgeInsets.all(8),
|
||||
snackStyle: SnackStyle.FLOATING,
|
||||
snackPosition: SnackPosition.BOTTOM,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -338,7 +361,7 @@ class _LoginScreenState extends State<LoginScreen> {
|
||||
if (isValid!) {
|
||||
FocusManager.instance.primaryFocus
|
||||
?.unfocus();
|
||||
if (isValid != null && isValid) {
|
||||
if (isValid != null && isValid) {
|
||||
Map<String, String> myLoginData = {
|
||||
"mobile_number": phonecontroller.text,
|
||||
};
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
import 'package:get/get.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
import 'package:traderscircuit/Utils/api_urls.dart';
|
||||
import 'package:traderscircuit/Utils/base_manager.dart';
|
||||
import 'package:traderscircuit/data/network/network_api_services.dart';
|
||||
import 'package:traderscircuit/resources/routes/route_name.dart';
|
||||
import 'package:traderscircuit/view/login/VerifyOtp.dart';
|
||||
|
||||
class GoogleAPI {
|
||||
GoogleAPI(this.data);
|
||||
@@ -9,16 +13,16 @@ class GoogleAPI {
|
||||
SharedPreferences prefs = await SharedPreferences.getInstance();
|
||||
final response = await NetworkApiServices().postApi(
|
||||
data,
|
||||
"auth/google-signin/",
|
||||
ApiUrls.googlesignin,
|
||||
);
|
||||
|
||||
if (response.status == ResponseStatus.SUCCESS) {
|
||||
//Map<String, dynamic> responseData = jsonDecode(response.data);
|
||||
if (response.data['success'] == true) {
|
||||
// await prefs.setString('token', response.data["data"]["access"]);
|
||||
// await prefs.setString('refreshToken', response.data["data"]["refresh"]);
|
||||
// await prefs.setBool('hasSignedInBefore', response.data["data"]["complete"]);
|
||||
print('signup: ${prefs.getString('token')}');
|
||||
if (response.data["status"] == "success") {
|
||||
// await prefs.setString('token', response.data["data"]["access"]);
|
||||
// await prefs.setString('refreshToken', response.data["data"]["refresh"]);
|
||||
// await prefs.setBool('hasSignedInBefore', response.data["data"]["complete"]);
|
||||
|
||||
} else {
|
||||
return ResponseData<dynamic>(
|
||||
response.data['message'], ResponseStatus.FAILED);
|
||||
@@ -27,4 +31,4 @@ class GoogleAPI {
|
||||
|
||||
return response;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user