diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 045a898..429bd5e 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -48,7 +48,7 @@
@@ -61,7 +61,7 @@
diff --git a/lib/Utils/api_urls.dart b/lib/Utils/api_urls.dart
index 7e0f3dc..5a94d29 100644
--- a/lib/Utils/api_urls.dart
+++ b/lib/Utils/api_urls.dart
@@ -1,8 +1,6 @@
class ApiUrls {
// PIE BASE URL FOR SMALL CASE --> NEED TO BE UPDATED
- static const String pieBase = "https://app.piadvisors.in/";
-
//Base URL
static const base = "https://tradercircuit.betadelivery.com/api/";
diff --git a/lib/main.dart b/lib/main.dart
index e59c512..c91f1f5 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -3,6 +3,7 @@ import 'dart:developer';
import 'dart:ui';
import 'package:connectivity_plus/connectivity_plus.dart';
+import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_crashlytics/firebase_crashlytics.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
@@ -10,14 +11,13 @@ 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:onesignal_flutter/onesignal_flutter.dart';
+import 'package:scgateway_flutter_plugin/scgateway_flutter_plugin.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:traderscircuit/Utils/utils.dart';
import 'package:traderscircuit/firebase_options.dart';
-import 'package:scgateway_flutter_plugin/scgateway_flutter_plugin.dart';
import 'package:traderscircuit/resources/routes/route_name.dart';
-import 'package:firebase_core/firebase_core.dart';
import 'package:traderscircuit/resources/routes/routes.dart';
-import 'package:onesignal_flutter/onesignal_flutter.dart';
import 'view_model/LoginPage/Loginbloc.dart';
import 'view_model/SendOtp/sendOtpbloc.dart';
@@ -53,7 +53,7 @@ Future main() async {
//smallcase
ScgatewayFlutterPlugin.setConfigEnvironment(
GatewayEnvironment.PRODUCTION,
- 'pi-advisors',
+ 'traderscircuit',
false,
[],
);
diff --git a/lib/model/HomeModel/home_model.dart b/lib/model/HomeModel/home_model.dart
index bccb503..d508d84 100644
--- a/lib/model/HomeModel/home_model.dart
+++ b/lib/model/HomeModel/home_model.dart
@@ -399,8 +399,8 @@ class NSEINDEXNiftyBank {
double? lastPrice;
String? volume;
String? averagePrice;
- Null? oi;
- dynamic? netChange;
+ void oi;
+ dynamic netChange;
String? totalBuyQuantity;
String? totalSellQuantity;
String? lowerCircuitLimit;
@@ -433,7 +433,7 @@ class NSEINDEXNiftyBank {
timestamp = json['timestamp'];
instrumentToken = json['instrument_token'];
symbol = json['symbol'];
- lastPrice = json['last_price'];
+ lastPrice = _parseJsonToDouble(json['last_price']);
volume = json['volume'];
averagePrice = json['average_price'];
oi = json['oi'];
@@ -459,7 +459,6 @@ class NSEINDEXNiftyBank {
data['last_price'] = lastPrice;
data['volume'] = volume;
data['average_price'] = averagePrice;
- data['oi'] = oi;
data['net_change'] = netChange;
data['total_buy_quantity'] = totalBuyQuantity;
data['total_sell_quantity'] = totalSellQuantity;
@@ -495,16 +494,6 @@ class Ohlc {
data['close'] = close;
return data;
}
-
- double? _parseJsonToDouble(dynamic value) {
- if (value is int) {
- return value.toDouble();
- } else if (value is double) {
- return value;
- } else {
- return null; // Or handle it in another appropriate way
- }
- }
}
class NSEINDEXNifty50 {
@@ -514,9 +503,8 @@ class NSEINDEXNifty50 {
String? instrumentToken;
String? symbol;
double? lastPrice;
- Null? volume;
- Null? averagePrice;
- Null? oi;
+ double? volume;
+ double? averagePrice;
double? netChange;
String? totalBuyQuantity;
String? totalSellQuantity;
@@ -534,7 +522,6 @@ class NSEINDEXNifty50 {
this.lastPrice,
this.volume,
this.averagePrice,
- this.oi,
this.netChange,
this.totalBuyQuantity,
this.totalSellQuantity,
@@ -550,10 +537,9 @@ class NSEINDEXNifty50 {
timestamp = json['timestamp'];
instrumentToken = json['instrument_token'];
symbol = json['symbol'];
- lastPrice = json['last_price'];
+ lastPrice = json['last_price'].toDouble();
volume = json['volume'];
averagePrice = json['average_price'];
- oi = json['oi'];
netChange = json['net_change'];
totalBuyQuantity = json['total_buy_quantity'];
totalSellQuantity = json['total_sell_quantity'];
@@ -576,7 +562,7 @@ class NSEINDEXNifty50 {
data['last_price'] = lastPrice;
data['volume'] = volume;
data['average_price'] = averagePrice;
- data['oi'] = oi;
+
data['net_change'] = netChange;
data['total_buy_quantity'] = totalBuyQuantity;
data['total_sell_quantity'] = totalSellQuantity;
@@ -708,3 +694,13 @@ class ContentByteVideo {
return data;
}
}
+
+double? _parseJsonToDouble(dynamic value) {
+ if (value is int) {
+ return value.toDouble();
+ } else if (value is double) {
+ return value;
+ } else {
+ return null; // Or handle it in another appropriate way
+ }
+}
diff --git a/lib/model/SmallCaseModel/broker_account_model.dart b/lib/model/SmallCaseModel/broker_account_model.dart
index 16b1a4e..7f2810f 100644
--- a/lib/model/SmallCaseModel/broker_account_model.dart
+++ b/lib/model/SmallCaseModel/broker_account_model.dart
@@ -1,34 +1,76 @@
class BrokerAccountModel {
- final String? id;
- final String? userId;
- final String? brokerName;
- final String? authToken;
- final String? txnId;
+ String? status;
+ int? statusCode;
+ String? message;
+ List? data;
- const BrokerAccountModel({
- required this.id,
- required this.userId,
- required this.brokerName,
- required this.authToken,
- required this.txnId,
- });
+ BrokerAccountModel({this.status, this.statusCode, this.message, this.data});
- factory BrokerAccountModel.fromJson(Map json) {
- return BrokerAccountModel(
- id: json['id'].toString(),
- userId: json['user_id'].toString(),
- brokerName: json['broker_name'] as String?,
- authToken: json['auth_token'] as String?,
- txnId: json['transaction_id'] as String?,
- );
+ BrokerAccountModel.fromJson(Map json) {
+ status = json['status'];
+ statusCode = json['status_code'];
+ message = json['message'];
+ if (json['data'] != null) {
+ data = [];
+ json['data'].forEach((v) {
+ data!.add(Data.fromJson(v));
+ });
+ }
}
Map toJson() {
final Map data = {};
- data['user_id'] = userId;
- data['broker_name'] = brokerName;
- data['auth_token'] = authToken;
- data['transaction_id'] = txnId;
+ data['status'] = status;
+ data['status_code'] = statusCode;
+ data['message'] = message;
+ if (this.data != null) {
+ data['data'] = this.data!.map((v) => v.toJson()).toList();
+ }
+ return data;
+ }
+}
+
+class Data {
+ int? id;
+ int? iamPrincipalXid;
+ String? brokerName;
+ String? authToken;
+ String? transactionId;
+ int? isActive;
+ String? createdAt;
+ String? updatedAt;
+
+ Data(
+ {this.id,
+ this.iamPrincipalXid,
+ this.brokerName,
+ this.authToken,
+ this.transactionId,
+ this.isActive,
+ this.createdAt,
+ this.updatedAt});
+
+ Data.fromJson(Map json) {
+ id = json['id'];
+ iamPrincipalXid = json['iam_principal_xid'];
+ brokerName = json['broker_name'];
+ authToken = json['auth_token'];
+ transactionId = json['transaction_id'];
+ isActive = json['is_active'];
+ createdAt = json['created_at'];
+ updatedAt = json['updated_at'];
+ }
+
+ Map toJson() {
+ final Map data = {};
+ data['id'] = id;
+ data['iam_principal_xid'] = iamPrincipalXid;
+ data['broker_name'] = brokerName;
+ data['auth_token'] = authToken;
+ data['transaction_id'] = transactionId;
+ data['is_active'] = isActive;
+ data['created_at'] = createdAt;
+ data['updated_at'] = updatedAt;
return data;
}
}
diff --git a/lib/resources/routes/routes.dart b/lib/resources/routes/routes.dart
index 7fc6ce7..3af7fc1 100644
--- a/lib/resources/routes/routes.dart
+++ b/lib/resources/routes/routes.dart
@@ -1,32 +1,28 @@
import 'package:get/get.dart';
import 'package:traderscircuit/Utils/Common/noInternet.dart';
-import 'package:traderscircuit/model/StockDetailsModel/stock_details_model.dart';
import 'package:traderscircuit/resources/routes/route_name.dart';
import 'package:traderscircuit/view/MainScreen/ExploreUnseen.dart';
+import 'package:traderscircuit/view/MainScreen/HomeScreen.dart';
+import 'package:traderscircuit/view/MainScreen/MainScreen.dart';
+import 'package:traderscircuit/view/MainScreen/Notification.dart';
+import 'package:traderscircuit/view/MainScreen/ShortTrade.dart';
import 'package:traderscircuit/view/MainScreen/stockDetails/Search.dart';
import 'package:traderscircuit/view/MainScreen/stockDetails/option_chain_screen.dart';
import 'package:traderscircuit/view/MainScreen/stockDetails/stock_details_screen.dart';
import 'package:traderscircuit/view/Sidemenu/AboutUs.dart';
-import 'package:traderscircuit/view/Sidemenu/ContentByte/ContentBytes.dart';
import 'package:traderscircuit/view/Sidemenu/ContentByte/AudioMore.dart';
+import 'package:traderscircuit/view/Sidemenu/ContentByte/ContentBytes.dart';
import 'package:traderscircuit/view/Sidemenu/ContentByte/ReadMore.dart';
import 'package:traderscircuit/view/Sidemenu/ContentByte/VideosMore.dart';
import 'package:traderscircuit/view/Sidemenu/FaqScreen.dart';
import 'package:traderscircuit/view/Sidemenu/PrivacyPolicy.dart';
import 'package:traderscircuit/view/Sidemenu/Settings.dart';
+import 'package:traderscircuit/view/Sidemenu/Sidemenu.dart';
import 'package:traderscircuit/view/Sidemenu/TermsAndCondition.dart';
import 'package:traderscircuit/view/Sidemenu/contactUs/contact_us_main.dart';
import 'package:traderscircuit/view/Sidemenu/myProfile/my_profile_screen.dart';
-
import 'package:traderscircuit/view/login/AddDetails.dart';
import 'package:traderscircuit/view/login/Kyc.dart';
-
-import 'package:traderscircuit/view/MainScreen/HomeScreen.dart';
-import 'package:traderscircuit/view/MainScreen/MainScreen.dart';
-import 'package:traderscircuit/view/MainScreen/Notification.dart';
-import 'package:traderscircuit/view/MainScreen/ShortTrade.dart';
-import 'package:traderscircuit/view/Sidemenu/Sidemenu.dart';
-
import 'package:traderscircuit/view/login/LoginScreen.dart';
import 'package:traderscircuit/view/login/UpdateRiskProfile.dart';
import 'package:traderscircuit/view/login/VerifyOtp.dart';
@@ -207,7 +203,7 @@ class AppRoutes {
),
//search
- GetPage(
+ GetPage(
name: RouteName.search,
page: () => const Search(),
),
diff --git a/lib/view/MainScreen/Portfolio/Holdings.dart b/lib/view/MainScreen/Portfolio/Holdings.dart
deleted file mode 100644
index c30aff5..0000000
--- a/lib/view/MainScreen/Portfolio/Holdings.dart
+++ /dev/null
@@ -1,711 +0,0 @@
-import 'package:flutter/material.dart';
-import 'package:flutter/services.dart';
-import 'package:flutter_screenutil/flutter_screenutil.dart';
-import 'package:flutter_svg/svg.dart';
-import 'package:get/get.dart';
-import 'package:glassmorphism/glassmorphism.dart';
-import 'package:traderscircuit/Utils/Common/CommonBottomNavigation.dart';
-import 'package:traderscircuit/Utils/Common/commonBotton.dart';
-import 'package:traderscircuit/Utils/Common/comonGlassmorphicContainer.dart';
-import 'package:traderscircuit/Utils/Common/sized_box.dart';
-import 'package:traderscircuit/Utils/text.dart';
-import 'package:traderscircuit/view/MainScreen/MainScreen.dart';
-import 'package:traderscircuit/view/Sidemenu/Sidemenu.dart';
-import 'package:traderscircuit/view/onBoarding/splashScreen1.dart';
-
-class Holdings extends StatefulWidget {
- const Holdings({super.key});
-
- @override
- State createState() => _HoldingsState();
-}
-
-class _HoldingsState extends State {
- GlobalKey _scaffoldKey1 = GlobalKey();
- List containerTexts = [
- "Portfolio 1",
- "Portfolio 1",
- "Portfolio 1",
- "Portfolio 1",
- "Portfolio 1"
- ];
- final selectedIndex = 0.obs;
- @override
- Widget build(BuildContext context) {
- return WillPopScope(
- onWillPop: () async {
- _onBackButtonPressed(context);
- return true; // Return true to allow the pop action
- },
- child: Scaffold(
- key: _scaffoldKey1,
- backgroundColor: Colors.black,
- drawerEnableOpenDragGesture: false,
- drawer: Container(child: SideMenu()),
- extendBody: true,
- appBar: AppBar(
- scrolledUnderElevation: 0.0,
- backgroundColor: Colors.black,
- elevation: 0,
- automaticallyImplyLeading: false,
- titleSpacing: 0,
- leading: InkWell(
- onTap: () {
- _scaffoldKey1.currentState?.openDrawer();
- },
- child: Center(
- child: Image.asset(
- 'assets/images/png/menu.png',
- height: 15.h,
- width: 20.w,
- ),
- ),
- ),
- ),
- body: Stack(
- children: [
- CommonBlurLeft(),
- CommonBlurRight(),
- Stack(
- children: [
- Padding(
- padding: EdgeInsets.symmetric(horizontal: 16, vertical: 16),
- child: ListView(
- physics: NeverScrollableScrollPhysics(),
- children: [
- text25W600("My Portfolio"),
- SizedBox(
- height: 10,
- ),
- DefaultTabController(
- length: 5,
- // initialIndex: selectedIndex.value,
- child: Column(
- children: [
- PortfolioTabBar(),
- SizedBox(
- height: 30.h,
- ),
- SizedBox(
- height: 570.h,
- child: TabBarView(
- children: [
- DefaultTabController(
- length: 2,
- // initialIndex: selectedIndex.value,
- child: Column(
- children: [
- HoldingsTabBar(),
- Expanded(
- child: TabBarView(
- children: [
- Holdings(),
- PortfolioReview(),
- ],
- ),
- ),
- ],
- ),
- ),
- DefaultTabController(
- length: 2,
- // initialIndex: selectedIndex.value,
- child: Column(
- children: [
- HoldingsTabBar(),
- Expanded(
- child: TabBarView(
- children: [
- Holdings(),
- PortfolioReview(),
- ],
- ),
- ),
- ],
- ),
- ),
- DefaultTabController(
- length: 2,
- // initialIndex: selectedIndex.value,
- child: Column(
- children: [
- HoldingsTabBar(),
- Expanded(
- child: TabBarView(
- children: [
- Holdings(),
- PortfolioReview(),
- ],
- ),
- ),
- ],
- ),
- ),
- DefaultTabController(
- length: 2,
- // initialIndex: selectedIndex.value,
- child: Column(
- children: [
- HoldingsTabBar(),
- Expanded(
- child: TabBarView(
- children: [
- Holdings(),
- PortfolioReview(),
- ],
- ),
- ),
- ],
- ),
- ),
- DefaultTabController(
- length: 2,
- // initialIndex: selectedIndex.value,
- child: Column(
- children: [
- HoldingsTabBar(),
- Expanded(
- child: TabBarView(
- children: [
- Holdings(),
- PortfolioReview(),
- ],
- ),
- ),
- ],
- ),
- ),
- ],
- ),
- ),
- ],
- ),
- ),
- sizedBoxHeight(40.h),
- ],
- ),
- ),
- ],
- ),
- ],
- ),
- bottomNavigationBar: bottomnavigationbar(mainController),
- ),
- );
- }
-
- Future _onBackButtonPressed(BuildContext context) async {
- bool? exitApp = await showDialog(
- context: context,
- builder: (context) {
- return AlertDialog(
- backgroundColor: const Color(0xFFFFF3E4),
- title: const Text('Exit App'),
- content: const Text('Do you really want to close the app?'),
- actions: [
- TextButton(
- onPressed: () {
- Navigator.of(context).pop(false);
- },
- child: const Text(
- 'No',
- style: TextStyle(
- color: Color(0xff1B243D),
- ),
- ),
- ),
- TextButton(
- onPressed: () {
- SystemNavigator.pop();
- Navigator.pop(context);
- },
- child: const Text(
- 'Yes',
- style: TextStyle(
- color: Color(0xff1B243D),
- ),
- ),
- )
- ],
- );
- });
- return exitApp ?? false;
- }
-
- Widget Holdings() {
- return Obx(() {
- WidgetsBinding.instance.addPostFrameCallback((_) {
- if (selectedIndex == 1) _unlockbottomsheet();
- });
- return selectedIndex == 0
- ? Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- sizedBoxHeight(20.h),
- HoldingCard(
- text: 'TATA MOTORS',
- content: 'Text',
- ),
- sizedBoxHeight(25.h),
- Table(
- children: [
- TableRow(
- children: [
- TableCell(
- child: Text(
- "Stock Name",
- textAlign: TextAlign.center,
- style: TextStyle(
- fontSize: 16.sp,
- color: Colors.white,
- fontWeight: FontWeight.w500,
- fontFamily: 'hiragino'),
- ),
- ),
- TableCell(
- child: Text(
- "AVG Price",
- textAlign: TextAlign.center,
- style: TextStyle(
- fontSize: 16.sp,
- color: Colors.white,
- fontWeight: FontWeight.w500,
- fontFamily: 'hiragino'),
- ),
- ),
- TableCell(
- child: Text(
- "Quantity",
- textAlign: TextAlign.center,
- style: TextStyle(
- fontSize: 16.sp,
- color: Colors.white,
- fontWeight: FontWeight.w500,
- fontFamily: 'hiragino'),
- ),
- ),
- TableCell(
- child: Text(
- "Exchange",
- textAlign: TextAlign.center,
- style: TextStyle(
- fontSize: 16.sp,
- color: Colors.white,
- fontWeight: FontWeight.w500,
- fontFamily: 'hiragino'),
- ),
- ),
- ],
- ),
- ],
- ),
- Divider(
- color: Color(0xFF3A3A3A),
- ),
- Expanded(
- child: ListView.separated(
- physics: BouncingScrollPhysics(),
- shrinkWrap: true,
- itemCount: 16,
- itemBuilder: ((context, index) {
- return Table(
- children: [
- TableRow(
- children: [
- TableCell(
- child: Text(
- "TATA MOTORS",
- textAlign: TextAlign.center,
- style: TextStyle(
- fontSize: 16.sp,
- color: Colors.white,
- fontWeight: FontWeight.w500,
- fontFamily: 'hiragino'),
- ),
- ),
- TableCell(
- child: Text(
- "416.66",
- textAlign: TextAlign.center,
- style: TextStyle(
- fontSize: 16.sp,
- color: Colors.white,
- fontWeight: FontWeight.w500,
- fontFamily: 'hiragino'),
- ),
- ),
- TableCell(
- child: Text(
- "3",
- textAlign: TextAlign.center,
- style: TextStyle(
- fontSize: 16.sp,
- color: Colors.white,
- fontWeight: FontWeight.w500,
- fontFamily: 'hiragino'),
- ),
- ),
- TableCell(
- child: Text(
- "BSE",
- textAlign: TextAlign.center,
- style: TextStyle(
- fontSize: 16.sp,
- color: Colors.white,
- fontWeight: FontWeight.w500,
- fontFamily: 'hiragino'),
- ),
- ),
- ],
- ),
- ],
- );
- }),
- separatorBuilder: (BuildContext context, int index) {
- return Divider();
- },
- ),
- ),
- SizedBox(
- height: 30.h,
- )
- ],
- )
- : selectedIndex == 1
- ? Column(
- children: [],
- )
- : Column(
- children: [],
- );
- });
- }
-
- void _unlockbottomsheet() {
- Get.bottomSheet(
- SizedBox(
- height: 200,
- child: commonGlassContainer(
- width: double.infinity,
- height: 200,
- borderradius: 2,
- customWidget: Column(
- mainAxisAlignment: MainAxisAlignment.start,
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- // Image.asset(
- // 'assets/images/png/Group 1000003722.png',
- // height: 100.h,
- // ),
- // sizedBoxHeight(25.h),
- text20W400('Please subscribed to unlock'),
- sizedBoxHeight(30.h),
- CommonBtn(text: 'Subscribe Now'),
- ],
- ),
- ),
- ),
- backgroundColor: Colors.black.withOpacity(0.3),
- );
- }
-
- Widget PortfolioReview() {
- List