This commit is contained in:
Rajshinde046
2024-06-04 15:56:01 +05:30
parent 507f297b73
commit 3d9e71cbba
10 changed files with 644 additions and 90 deletions

View File

@@ -66,9 +66,48 @@
android:scheme="scgatewayredirect"
/>
</intent-filter>
<!-- Branch URI Scheme -->
<intent-filter>
<!-- If utilizing $deeplink_path please explicitly declare your hosts, or utilize a wildcard(*) -->
<!-- REPLACE `android:scheme` with your Android URI scheme -->
<data android:scheme="traderscircuit" android:host="open" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
<!-- Branch App Links - Live App -->
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- REPLACE `android:host` with your `app.link` domain -->
<data android:scheme="https" android:host="tradercircuit.app.link" />
<!-- REPLACE `android:host` with your `-alternate` domain (required for proper functioning of App Links and Deepviews) -->
<data android:scheme="https" android:host="tradercircuit-alternate.app.link" />
</intent-filter>
<!-- Branch App Links - Test App -->
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" android:host="tradercircuit.app.link" />
<!-- REPLACE `android:host` with your `-alternate` domain (required for proper functioning of App Links and Deepviews) -->
<data android:scheme="https" android:host="tradercircuit-alternate.app.link" />
</intent-filter>
</activity>
<meta-data
android:name="flutterEmbedding"
android:value="2" />
<!-- Branch init -->
<!-- REPLACE `BranchKey` with the value from your Branch Dashboard -->
<meta-data android:name="io.branch.sdk.BranchKey" android:value="key_live_azjLxmgnULWy5EfWdRK9lmdeqxcQeXn6" />
<!-- REPLACE `BranchKey.test` with the value from your Branch Dashboard -->
<meta-data android:name="io.branch.sdk.BranchKey.test" android:value="secret_live_Ckr5XZfmfCLVKAIoopOctL311cCukl2H" />
<!-- Set to `true` to use `BranchKey.test` -->
<meta-data android:name="io.branch.sdk.TestMode" android:value="false" />
</application>
</manifest>

View File

@@ -88,4 +88,7 @@ class ApiUrls {
//Stock Details
static String subscriptionApi = "${base}my-subscription-page";
//setting
static String setting = "${base}update-notification";
}

View File

@@ -7,6 +7,7 @@ import 'package:firebase_crashlytics/firebase_crashlytics.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_branch_sdk/flutter_branch_sdk.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:shared_preferences/shared_preferences.dart';
@@ -77,6 +78,8 @@ class MyApp extends StatefulWidget {
}
class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
StreamSubscription<Map>? streamSubscription;
StreamController<String> controllerData = StreamController<String>();
var _connectionStatus = ConnectivityResult.values.toString();
late StreamSubscription<ConnectivityResult> subscription;
Connectivity connectivity = Connectivity();
@@ -109,6 +112,30 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
// print(_connectionStatus);
}
void listenDynamicLinks() async {
streamSubscription = FlutterBranchSdk.initSession().listen((data) {
print('listenDynamicLinks - DeepLink Data: $data');
controllerData.sink.add((data.toString()));
if (data.containsKey('+clicked_branch_link') &&
data['+clicked_branch_link'] == true) {
debugPrint(
'------------------------------------Link clicked----------------------------------------------');
// debugPrint('Custom string: ${data['custom_string']}');
debugPrint('Custom number: ${data['custom_number']}');
debugPrint("var type is ${data['custom_number'].runtimeType}");
debugPrint(
'------------------------------------------------------------------------------------------------');
// showSnackBar(
// message: 'Link clicked: Custom string - ${data['custom_string']}',
// duration: 10);
// Get.to(() =>
// SvpMain(fromHome: false, index: int.parse(data['custom_number'])));
}
}, onError: (error) {
print('InitSesseion error: ${error.toString()}');
});
}
Future<void> checkInternet() async {
final connectivityResult = await (Connectivity().checkConnectivity());

View File

@@ -30,18 +30,18 @@ class Data {
int? principalTypeXid;
int? principalSourceXid;
String? userName;
Null? gender;
String? gender;
String? dateOfBirth;
String? phoneNumber;
Null? otherPhoneNumber;
String? otherPhoneNumber;
String? emailAddress;
Null? addressLine1;
Null? addressLine2;
String? addressLine1;
String? addressLine2;
String? city;
Null? postCode;
String? postCode;
String? profilePhoto;
Null? referralCode;
Null? description;
String? referralCode;
String? description;
int? whatsappUpdate;
int? profileUpdated;
int? riskProfileUpdated;
@@ -50,6 +50,13 @@ class Data {
String? playerId;
int? notificationAlert;
String? isActive;
bool? isSubscriptionTaken;
bool? isSubscriptionCancelled;
SubscriptionData? subscriptionData;
int? alertWhatsAppNotification;
int? alertInAppNotification;
int? alertPushAppNotification;
int? alertSmsAppNotification;
Data(
{this.id,
@@ -75,7 +82,14 @@ class Data {
this.securedAccess,
this.playerId,
this.notificationAlert,
this.isActive});
this.isActive,
this.isSubscriptionTaken,
this.isSubscriptionCancelled,
this.subscriptionData,
this.alertWhatsAppNotification,
this.alertInAppNotification,
this.alertPushAppNotification,
this.alertSmsAppNotification});
Data.fromJson(Map<String, dynamic> json) {
id = json['id'];
@@ -102,6 +116,15 @@ class Data {
playerId = json['player_id'];
notificationAlert = json['notification_alert'];
isActive = json['is_active'];
isSubscriptionTaken = json['is_subscription_taken'];
isSubscriptionCancelled = json['is_subscription_cancelled'];
subscriptionData = json['subscription_data'] != null
? new SubscriptionData.fromJson(json['subscription_data'])
: null;
alertWhatsAppNotification = json['alert_whats_app_notification'];
alertInAppNotification = json['alert_in_app_notification'];
alertPushAppNotification = json['alert_push_app_notification'];
alertSmsAppNotification = json['alert_sms_app_notification'];
}
Map<String, dynamic> toJson() {
@@ -130,6 +153,254 @@ class Data {
data['player_id'] = this.playerId;
data['notification_alert'] = this.notificationAlert;
data['is_active'] = this.isActive;
data['is_subscription_taken'] = this.isSubscriptionTaken;
data['is_subscription_cancelled'] = this.isSubscriptionCancelled;
if (this.subscriptionData != null) {
data['subscription_data'] = this.subscriptionData!.toJson();
}
data['alert_whats_app_notification'] = this.alertWhatsAppNotification;
data['alert_in_app_notification'] = this.alertInAppNotification;
data['alert_push_app_notification'] = this.alertPushAppNotification;
data['alert_sms_app_notification'] = this.alertSmsAppNotification;
return data;
}
}
class SubscriptionData {
int? id;
int? iamPrincipalXid;
int? manageProductXid;
String? razorpayPlanId;
String? subscriptionId;
String? razorpayCustomerId;
String? status;
String? paymentMethod;
int? quantity;
String? chargeAt;
String? startAt;
String? endAt;
String? totalCount;
int? isCancelledSubscription;
String? cancelledAt;
String? expireBy;
String? shortUrl;
String? hasScheduledChanges;
int? isActive;
String? createdBy;
String? modifiedBy;
String? deletedAt;
String? createdAt;
String? updatedAt;
String? amount;
ProductData? productData;
SubscriptionData(
{this.id,
this.iamPrincipalXid,
this.manageProductXid,
this.razorpayPlanId,
this.subscriptionId,
this.razorpayCustomerId,
this.status,
this.paymentMethod,
this.quantity,
this.chargeAt,
this.startAt,
this.endAt,
this.totalCount,
this.isCancelledSubscription,
this.cancelledAt,
this.expireBy,
this.shortUrl,
this.hasScheduledChanges,
this.isActive,
this.createdBy,
this.modifiedBy,
this.deletedAt,
this.createdAt,
this.updatedAt,
this.amount,
this.productData});
SubscriptionData.fromJson(Map<String, dynamic> json) {
id = json['id'];
iamPrincipalXid = json['iam_principal_xid'];
manageProductXid = json['manage_product_xid'];
razorpayPlanId = json['razorpay_plan_id'];
subscriptionId = json['subscription_id'];
razorpayCustomerId = json['razorpay_customer_id'];
status = json['status'];
paymentMethod = json['payment_method'];
quantity = json['quantity'];
chargeAt = json['charge_at'];
startAt = json['start_at'];
endAt = json['end_at'];
totalCount = json['total_count'];
isCancelledSubscription = json['isCancelledSubscription'];
cancelledAt = json['cancelled_at'];
expireBy = json['expire_by'];
shortUrl = json['short_url'];
hasScheduledChanges = json['has_scheduled_changes'];
isActive = json['is_active'];
createdBy = json['created_by'];
modifiedBy = json['modified_by'];
deletedAt = json['deleted_at'];
createdAt = json['created_at'];
updatedAt = json['updated_at'];
amount = json['amount'];
productData = json['product_data'] != null
? new ProductData.fromJson(json['product_data'])
: null;
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['iam_principal_xid'] = this.iamPrincipalXid;
data['manage_product_xid'] = this.manageProductXid;
data['razorpay_plan_id'] = this.razorpayPlanId;
data['subscription_id'] = this.subscriptionId;
data['razorpay_customer_id'] = this.razorpayCustomerId;
data['status'] = this.status;
data['payment_method'] = this.paymentMethod;
data['quantity'] = this.quantity;
data['charge_at'] = this.chargeAt;
data['start_at'] = this.startAt;
data['end_at'] = this.endAt;
data['total_count'] = this.totalCount;
data['isCancelledSubscription'] = this.isCancelledSubscription;
data['cancelled_at'] = this.cancelledAt;
data['expire_by'] = this.expireBy;
data['short_url'] = this.shortUrl;
data['has_scheduled_changes'] = this.hasScheduledChanges;
data['is_active'] = this.isActive;
data['created_by'] = this.createdBy;
data['modified_by'] = this.modifiedBy;
data['deleted_at'] = this.deletedAt;
data['created_at'] = this.createdAt;
data['updated_at'] = this.updatedAt;
data['amount'] = this.amount;
if (this.productData != null) {
data['product_data'] = this.productData!.toJson();
}
return data;
}
}
class ProductData {
int? id;
String? razorpayPlanId;
int? productTypeXid;
int? productTierXid;
String? productName;
String? productDescription;
String? productPrice;
String? productImage;
String? template;
int? isActive;
String? createdBy;
String? modifiedBy;
String? deletedAt;
String? createdAt;
String? updatedAt;
ProductTier? productTier;
ProductData(
{this.id,
this.razorpayPlanId,
this.productTypeXid,
this.productTierXid,
this.productName,
this.productDescription,
this.productPrice,
this.productImage,
this.template,
this.isActive,
this.createdBy,
this.modifiedBy,
this.deletedAt,
this.createdAt,
this.updatedAt,
this.productTier});
ProductData.fromJson(Map<String, dynamic> json) {
id = json['id'];
razorpayPlanId = json['razorpay_plan_id'];
productTypeXid = json['product_type_xid'];
productTierXid = json['product_tier_xid'];
productName = json['product_name'];
productDescription = json['product_description'];
productPrice = json['product_price'];
productImage = json['product_image'];
template = json['template'];
isActive = json['is_active'];
createdBy = json['created_by'];
modifiedBy = json['modified_by'];
deletedAt = json['deleted_at'];
createdAt = json['created_at'];
updatedAt = json['updated_at'];
productTier = json['product_tier'] != null
? new ProductTier.fromJson(json['product_tier'])
: null;
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['razorpay_plan_id'] = this.razorpayPlanId;
data['product_type_xid'] = this.productTypeXid;
data['product_tier_xid'] = this.productTierXid;
data['product_name'] = this.productName;
data['product_description'] = this.productDescription;
data['product_price'] = this.productPrice;
data['product_image'] = this.productImage;
data['template'] = this.template;
data['is_active'] = this.isActive;
data['created_by'] = this.createdBy;
data['modified_by'] = this.modifiedBy;
data['deleted_at'] = this.deletedAt;
data['created_at'] = this.createdAt;
data['updated_at'] = this.updatedAt;
if (this.productTier != null) {
data['product_tier'] = this.productTier!.toJson();
}
return data;
}
}
class ProductTier {
int? id;
String? name;
int? isActive;
String? createdAt;
String? updatedAt;
String? deletedAt;
ProductTier(
{this.id,
this.name,
this.isActive,
this.createdAt,
this.updatedAt,
this.deletedAt});
ProductTier.fromJson(Map<String, dynamic> json) {
id = json['id'];
name = json['name'];
isActive = json['is_active'];
createdAt = json['created_at'];
updatedAt = json['updated_at'];
deletedAt = json['deleted_at'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['name'] = this.name;
data['is_active'] = this.isActive;
data['created_at'] = this.createdAt;
data['updated_at'] = this.updatedAt;
data['deleted_at'] = this.deletedAt;
return data;
}
}

View File

@@ -6,7 +6,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:flutter_svg/svg.dart';
import 'package:gap/gap.dart';
import 'package:get/get.dart';
import 'package:glassmorphism/glassmorphism.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:traderscircuit/Utils/Common/CommonBottomNavigation.dart';
import 'package:traderscircuit/Utils/Common/CommonTabBar.dart';
import 'package:traderscircuit/Utils/Common/commonBotton.dart';
@@ -20,8 +20,10 @@ import 'package:traderscircuit/model/ProductsModel/call_recommendations_model.da
import 'package:traderscircuit/view/MainScreen/MainScreen.dart';
import 'package:traderscircuit/view/MainScreen/stockDetails/stock_details_screen.dart';
import 'package:traderscircuit/view/Sidemenu/Sidemenu.dart';
import 'package:traderscircuit/view/Sidemenu/webview_subscription.dart';
import 'package:traderscircuit/view/onBoarding/splashScreen1.dart';
import 'package:traderscircuit/view_model/ProductsApi/products_api.dart';
import 'package:traderscircuit/view_model/ProfileAPI/GetProfileApi.dart';
class ShortTrade extends StatefulWidget {
const ShortTrade({super.key});
@@ -259,71 +261,156 @@ class _ShortTradeState extends State<ShortTrade> {
return Padding(
padding: EdgeInsets.only(top: 20.h, bottom: 5.h),
child: productsController.selectedIndex.value == 0
? cardSwingWidget(
instrumentName: callRecommendationsModel
.data!.activeCalls![index].instrumentKey!,
pdfLink: "",
image: callRecommendationsModel
.data!.activeCalls![index].stockImage!,
text: callRecommendationsModel
.data!.activeCalls![index].stockName!,
amount: '₹ 196.50 - ₹ 197',
targetamount:
'${callRecommendationsModel.data!.activeCalls![index].targetPrice}',
stoploss:
'${callRecommendationsModel.data!.activeCalls![index].stopLoss}',
time:
'${callRecommendationsModel.data!.activeCalls![index].duration}',
action: callRecommendationsModel
.data!.activeCalls![index].actionData!.name!,
)
: productsController.selectedIndex.value == 1
? cardMultibaggerWidget(
instrumentName: callRecommendationsModel
.data!.activeCalls![index].instrumentKey!,
image: callRecommendationsModel
.data!.activeCalls![index].stockImage!,
action: callRecommendationsModel
.data!.activeCalls![index].actionData!.name!,
text: callRecommendationsModel
.data!.activeCalls![index].stockName!,
price:
"${callRecommendationsModel.data!.activeCalls![index].buyPrice}",
date: callRecommendationsModel
.data!.activeCalls![index].createdAt!,
returns:
"${callRecommendationsModel.data!.activeCalls![index].targetPrice}",
stoploss:
"${callRecommendationsModel.data!.activeCalls![index].stopLoss}",
duration: callRecommendationsModel
.data!.activeCalls![index].duration!,
pdfname: "Download Pdf",
pdfLink: callRecommendationsModel
.data!.activeCalls![index].docs!,
)
: cardOptionWidget(
? ProfileObj!.data!.subscriptionData!.productData!
.productName! ==
"Swing Trade"
? cardSwingWidget(
instrumentName: callRecommendationsModel
.data!.activeCalls![index].instrumentKey!,
pdfLink: "",
image: callRecommendationsModel
.data!.activeCalls![index].stockImage!,
action: callRecommendationsModel
.data!.activeCalls![index].actionData!.name!,
text: callRecommendationsModel
.data!.activeCalls![index].stockName!,
optiontype: callRecommendationsModel.data!
.activeCalls![index].optionTypeData!.name!,
price:
"${callRecommendationsModel.data!.activeCalls![index].buyPrice}",
date: callRecommendationsModel
.data!.activeCalls![index].createdAt!,
premium:
"${callRecommendationsModel.data!.activeCalls![index].currentPrice}",
price1:
"${callRecommendationsModel.data!.activeCalls![index].targetPrice}",
amount: '₹ 196.50 - ₹ 197',
targetamount:
'${callRecommendationsModel.data!.activeCalls![index].targetPrice}',
stoploss:
"${callRecommendationsModel.data!.activeCalls![index].stopLoss}",
),
'${callRecommendationsModel.data!.activeCalls![index].stopLoss}',
time:
'${callRecommendationsModel.data!.activeCalls![index].duration}',
action: callRecommendationsModel
.data!.activeCalls![index].actionData!.name!,
)
: Text("Please Subscribe to Swing traxde")
: productsController.selectedIndex.value == 1
? ProfileObj!.data!.subscriptionData!.productData!
.productName! ==
"MultiBagger"
? cardMultibaggerWidget(
instrumentName: callRecommendationsModel
.data!.activeCalls![index].instrumentKey!,
image: callRecommendationsModel
.data!.activeCalls![index].stockImage!,
action: callRecommendationsModel.data!
.activeCalls![index].actionData!.name!,
text: callRecommendationsModel
.data!.activeCalls![index].stockName!,
price:
"${callRecommendationsModel.data!.activeCalls![index].buyPrice}",
date: callRecommendationsModel
.data!.activeCalls![index].createdAt!,
returns:
"${callRecommendationsModel.data!.activeCalls![index].targetPrice}",
stoploss:
"${callRecommendationsModel.data!.activeCalls![index].stopLoss}",
duration: callRecommendationsModel
.data!.activeCalls![index].duration!,
pdfname: "Download Pdf",
pdfLink: callRecommendationsModel
.data!.activeCalls![index].docs!,
)
: Center(
child: commonGlassContainer(
width: double.infinity,
height: 150,
borderradius: 2,
customWidget: Center(
child: Column(
children: [
SizedBox(
height: 20,
),
text18W500(
"Please Subscribe to Multibagger"),
SizedBox(
height: 20,
),
Padding(
padding: const EdgeInsets.all(8.0),
child: CommonBtn(
text: "Unlock Now",
onTap: () async {
SharedPreferences prefs =
await SharedPreferences
.getInstance();
Get.to(WebViewSubscription(
token: prefs
.getString('accessToken')
.toString()));
},
),
)
],
),
),
),
)
// Text("Please Subscribe to Multibagger")
: ProfileObj!.data!.subscriptionData!.productData!
.productName! ==
"Options"
? cardOptionWidget(
instrumentName: callRecommendationsModel
.data!.activeCalls![index].instrumentKey!,
pdfLink: "",
image: callRecommendationsModel
.data!.activeCalls![index].stockImage!,
action: callRecommendationsModel.data!
.activeCalls![index].actionData!.name!,
text: callRecommendationsModel
.data!.activeCalls![index].stockName!,
optiontype: callRecommendationsModel.data!
.activeCalls![index].optionTypeData!.name!,
price:
"${callRecommendationsModel.data!.activeCalls![index].buyPrice}",
date: callRecommendationsModel
.data!.activeCalls![index].createdAt!,
premium:
"${callRecommendationsModel.data!.activeCalls![index].currentPrice}",
price1:
"${callRecommendationsModel.data!.activeCalls![index].targetPrice}",
stoploss:
"${callRecommendationsModel.data!.activeCalls![index].stopLoss}",
)
: Center(
child: commonGlassContainer(
width: double.infinity,
height: 150,
borderradius: 2,
customWidget: Center(
child: Column(
children: [
SizedBox(
height: 20,
),
text18W500(
"Please Subscribe to Options"),
SizedBox(
height: 20,
),
Padding(
padding: const EdgeInsets.all(8.0),
child: CommonBtn(
text: "Unlock Now",
onTap: () async {
SharedPreferences prefs =
await SharedPreferences
.getInstance();
Get.to(WebViewSubscription(
token: prefs
.getString('accessToken')
.toString()));
},
),
)
],
),
),
),
),
);
});
}

View File

@@ -1,3 +1,5 @@
import 'dart:developer';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:flutter_svg/flutter_svg.dart';
@@ -14,6 +16,8 @@ import 'package:traderscircuit/resources/routes/route_name.dart';
import 'package:traderscircuit/view/onBoarding/splashScreen1.dart';
import 'package:traderscircuit/view_model/Login/delete_account_api.dart';
import 'package:traderscircuit/Utils/Dialogs.dart';
import 'package:traderscircuit/view_model/ProfileAPI/GetProfileApi.dart';
import 'package:traderscircuit/view_model/SettingApi/setting_api.dart';
class Settings extends StatefulWidget {
const Settings({super.key});
@@ -23,33 +27,103 @@ class Settings extends StatefulWidget {
}
class _SettingsState extends State<Settings> {
bool isSwitched = false;
bool isSwitched1 = false;
bool isSwitched2 = false;
bool isSwitched3 = false;
late bool isSwitched = false;
late bool isSwitched1 = false;
late bool isSwitched2 = false;
late bool isSwitched3 = false;
void _toggleSwitch(bool value) {
@override
void initState() {
super.initState();
isSwitched = ProfileObj!.data?.alertWhatsAppNotification == 1;
isSwitched1 = ProfileObj!.data?.alertInAppNotification == 1;
isSwitched2 = ProfileObj!.data?.alertPushAppNotification == 1;
isSwitched3 = ProfileObj!.data?.alertSmsAppNotification == 1;
}
Future<void> _verifycheck({
required int alertWhatsAppNotification,
required int alertInAppNotification,
required int alertPushAppNotification,
required int alertSmsAppNotification,
}) async {
Map<String, String> updata = {
"alert_whats_app_notification": alertWhatsAppNotification.toString(),
"alert_in_app_notification": alertInAppNotification.toString(),
"alert_push_app_notification": alertPushAppNotification.toString(),
"alert_sms_app_notification": alertSmsAppNotification.toString(),
};
final resp = await SettingAPI(updata).verifysettingApi();
if (resp.status == ResponseStatus.SUCCESS) {
log(resp.data.toString());
} else if (resp.status == ResponseStatus.PRIVATE) {
String? message = resp.data['message'];
Utils.showToast("$message");
} else if (resp.status == ResponseStatus.ERROR) {
Get.back();
String? message = resp.data['message'];
Utils.showToast("$message");
} else {
Get.back();
String? message = resp.message;
Utils.showToast(message);
}
}
void _toggleSwitch(bool value) async {
setState(() {
isSwitched = value;
ProfileObj?.data?.alertWhatsAppNotification = value ? 1 : 0;
});
await _verifycheck(
alertWhatsAppNotification:
ProfileObj?.data?.alertWhatsAppNotification ?? 0,
alertInAppNotification: ProfileObj?.data?.alertInAppNotification ?? 0,
alertPushAppNotification: ProfileObj?.data?.alertPushAppNotification ?? 0,
alertSmsAppNotification: ProfileObj?.data?.alertSmsAppNotification ?? 0,
);
}
void _toggleSwitch1(bool value1) {
void _toggleSwitch1(bool value1) async {
setState(() {
isSwitched1 = value1;
ProfileObj?.data?.alertInAppNotification = value1 ? 1 : 0;
});
await _verifycheck(
alertWhatsAppNotification:
ProfileObj?.data?.alertWhatsAppNotification ?? 0,
alertInAppNotification: ProfileObj?.data?.alertInAppNotification ?? 0,
alertPushAppNotification: ProfileObj?.data?.alertPushAppNotification ?? 0,
alertSmsAppNotification: ProfileObj?.data?.alertSmsAppNotification ?? 0,
);
}
void _toggleSwitch2(bool value2) {
void _toggleSwitch2(bool value2) async {
setState(() {
isSwitched2 = value2;
ProfileObj?.data?.alertPushAppNotification = value2 ? 1 : 0;
});
await _verifycheck(
alertWhatsAppNotification:
ProfileObj?.data?.alertWhatsAppNotification ?? 0,
alertInAppNotification: ProfileObj?.data?.alertInAppNotification ?? 0,
alertPushAppNotification: ProfileObj?.data?.alertPushAppNotification ?? 0,
alertSmsAppNotification: ProfileObj?.data?.alertSmsAppNotification ?? 0,
);
}
void _toggleSwitch3(bool value3) {
void _toggleSwitch3(bool value3) async {
setState(() {
isSwitched3 = value3;
ProfileObj?.data?.alertSmsAppNotification = value3 ? 1 : 0;
});
await _verifycheck(
alertWhatsAppNotification:
ProfileObj?.data?.alertWhatsAppNotification ?? 0,
alertInAppNotification: ProfileObj?.data?.alertInAppNotification ?? 0,
alertPushAppNotification: ProfileObj?.data?.alertPushAppNotification ?? 0,
alertSmsAppNotification: ProfileObj?.data?.alertSmsAppNotification ?? 0,
);
}
@override

View File

@@ -8,17 +8,10 @@ import 'package:get/get.dart';
import 'package:glassmorphism/glassmorphism.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/Login/send_otp_api.dart';
import 'package:traderscircuit/Utils/Dialogs.dart';
import 'package:traderscircuit/view_model/LoginPage/Loginbloc.dart';
import '../../view_model/LoginPage/Loginobserver.dart';
import '../../view_model/SendOtp/sendOtpObserver.dart';
import '../../view_model/SendOtp/sendOtpbloc.dart';

View File

@@ -0,0 +1,27 @@
import 'package:traderscircuit/Utils/api_urls.dart';
import 'package:traderscircuit/Utils/base_manager.dart';
import 'package:traderscircuit/data/network/network_api_services.dart';
class SettingAPI {
SettingAPI(this.data);
var data;
Future<ResponseData<dynamic>> verifysettingApi() async {
final response = await NetworkApiServices().postApi(
// optionalpar: true,
data,
ApiUrls.setting,
);
if (response.status == ResponseStatus.SUCCESS) {
Map<String, dynamic> responseData =
Map<String, dynamic>.from(response.data);
if (responseData['status'] == "success") {
print("token is $response");
} else {
return ResponseData<dynamic>(
responseData['message'], ResponseStatus.FAILED);
}
}
return response;
}
}

View File

@@ -399,7 +399,7 @@ packages:
source: hosted
version: "8.1.5"
flutter_branch_sdk:
dependency: transitive
dependency: "direct main"
description:
name: flutter_branch_sdk
sha256: "3850097e5c70d89db235fb160e92eac5928f4206ab167b0d83c7e4e50b1357f8"
@@ -728,6 +728,30 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.4.9"
leak_tracker:
dependency: transitive
description:
name: leak_tracker
sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa"
url: "https://pub.dev"
source: hosted
version: "10.0.0"
leak_tracker_flutter_testing:
dependency: transitive
description:
name: leak_tracker_flutter_testing
sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0
url: "https://pub.dev"
source: hosted
version: "2.0.1"
leak_tracker_testing:
dependency: transitive
description:
name: leak_tracker_testing
sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47
url: "https://pub.dev"
source: hosted
version: "2.0.1"
lints:
dependency: transitive
description:
@@ -796,26 +820,26 @@ packages:
dependency: transitive
description:
name: matcher
sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e"
sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
url: "https://pub.dev"
source: hosted
version: "0.12.16"
version: "0.12.16+1"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41"
sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
url: "https://pub.dev"
source: hosted
version: "0.5.0"
version: "0.8.0"
meta:
dependency: transitive
description:
name: meta
sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e
sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04
url: "https://pub.dev"
source: hosted
version: "1.10.0"
version: "1.11.0"
mime:
dependency: transitive
description:
@@ -860,10 +884,10 @@ packages:
dependency: transitive
description:
name: path
sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
url: "https://pub.dev"
source: hosted
version: "1.8.3"
version: "1.9.0"
path_drawing:
dependency: transitive
description:
@@ -1422,6 +1446,14 @@ packages:
url: "https://github.com/kishan06/videoPlayerKB.git"
source: git
version: "0.0.2"
vm_service:
dependency: transitive
description:
name: vm_service
sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957
url: "https://pub.dev"
source: hosted
version: "13.0.0"
wakelock:
dependency: transitive
description:

View File

@@ -60,6 +60,7 @@ dependencies:
syncfusion_flutter_charts: ^21.2.4
flutter_inappwebview: ^6.0.0
flutter_branch_sdk: ^7.1.0
dev_dependencies: