small case integration

This commit is contained in:
jayesh
2024-06-18 10:36:24 +05:30
parent bc1d3b4834
commit d737d74d78
10 changed files with 1248 additions and 1283 deletions

View File

@@ -48,7 +48,7 @@
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:host="pi-advisors"
android:host="traderscircuit"
android:scheme="scgateway"
/>
</intent-filter>
@@ -61,7 +61,7 @@
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:host="pi-advisors"
android:host="traderscircuit"
android:scheme="scgatewayredirect"
/>
</intent-filter>

View File

@@ -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/";

View File

@@ -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<void> main() async {
//smallcase
ScgatewayFlutterPlugin.setConfigEnvironment(
GatewayEnvironment.PRODUCTION,
'pi-advisors',
'traderscircuit',
false,
[],
);

View File

@@ -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
}
}

View File

@@ -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>? 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});
BrokerAccountModel.fromJson(Map<String, dynamic> json) {
status = json['status'];
statusCode = json['status_code'];
message = json['message'];
if (json['data'] != null) {
data = <Data>[];
json['data'].forEach((v) {
data!.add(Data.fromJson(v));
});
factory BrokerAccountModel.fromJson(Map<String, dynamic> 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?,
);
}
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};
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<String, dynamic> 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<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};
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;
}
}

View File

@@ -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';

View File

@@ -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<Holdings> createState() => _HoldingsState();
}
class _HoldingsState extends State<Holdings> {
GlobalKey<ScaffoldState> _scaffoldKey1 = GlobalKey<ScaffoldState>();
List<String> 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<bool> _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<Map<String, String>> cardSwing = [
{
'text': 'Performance Overview:',
'content':
'Your portfolio has generated a total return of 15% over the past six months, outperforming the S&P 500 index by 5%.',
},
{
'text': 'Asset Allocation:',
'content':
'Your portfolio is well-diversified, with 60% allocated to equities, 30% to bonds, and 10% to cash equivalents.',
},
{
'text': 'Individual Holdings Analysis:',
'content':
'Your investment in Company XYZ has performed exceptionally well, with a 25% increase in share price since purchase, driven by strong quarterly earnings.',
},
];
return SingleChildScrollView(
child: Column(
children: [
sizedBoxHeight(20.h),
Obx(() {
return selectedIndex == 0
? Column(
children: List.generate(cardSwing.length, (index) {
return Column(
children: [
PortfolioCard(
text: cardSwing[index]['text']!,
content: cardSwing[index]['content']!,
),
sizedBoxHeight(20.h)
],
);
}),
)
: selectedIndex == 1
? Column(
children: List.generate(cardSwing.length, (index) {
return Column(
children: [
PortfolioCard(
text: cardSwing[index]['text']!,
content: cardSwing[index]['content']!,
),
sizedBoxHeight(20.h)
],
);
}),
)
: Column(
children: List.generate(cardSwing.length, (index) {
return Column(
children: [
PortfolioCard(
text: cardSwing[index]['text']!,
content: cardSwing[index]['content']!,
),
sizedBoxHeight(20.h)
],
);
}),
);
}),
sizedBoxHeight(200.h)
],
),
);
}
Widget PortfolioCard({
required String text,
required String content,
}) {
return commonGlassContainer(
width: double.infinity,
height: 166.h,
borderradius: 8,
customWidget: Column(
children: [
Padding(
padding: EdgeInsets.symmetric(vertical: 16.h, horizontal: 16.w),
child: Row(
children: [
Container(
decoration: BoxDecoration(
color: Color(0xFF6C0000),
borderRadius: BorderRadius.circular(2),
),
height: 25.h,
width: 4.w,
),
sizedBoxWidth(15.w),
text18W600(text),
Spacer(),
],
),
),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 18),
child: text16W400(content),
)
],
),
);
}
Widget HoldingCard({
required String text,
required String content,
}) {
return commonGlassContainer(
width: double.infinity,
height: 166.h,
borderradius: 8,
customWidget: Column(
children: [
Padding(
padding: EdgeInsets.symmetric(vertical: 16.h, horizontal: 16.w),
child: Row(
children: [
GlassmorphicContainer(
width: 47.w,
height: 47.h,
borderRadius: 100,
blur: 10,
alignment: Alignment.center,
border: 0.9,
linearGradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
Color(0xff3A3A3A),
Color(0xFF3A3A3A),
],
),
borderGradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
Color.fromRGBO(70, 5, 1, 0.8),
Color.fromRGBO(102, 102, 102, 0.8),
],
),
child: Center(
child: Image.asset(
'assets/images/png/TATAMOTORS.NS_BIG 1.png',
width: 26.w,
height: 23.h,
),
),
),
sizedBoxWidth(15.w),
text18W600(text),
Spacer(),
],
),
),
Container(
width: double.infinity,
height: 1.h,
color: Color(0xFF3A3A3A),
),
Padding(
padding: const EdgeInsets.all(18),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
text14W400_979797('Portfolio Value'),
sizedBoxHeight(5.h),
SizedBox(width: 150.w, child: text15W600("₹ 40,000"))
],
),
sizedBoxWidth(30.w),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
text14W400_979797('%P/L'),
sizedBoxHeight(5.h),
text14W400_00FF19("-36.006%")
],
)
],
),
],
),
)
],
),
);
}
Widget topContainer(String text, int index) {
return Obx(() {
return selectedIndex.value == index
? Container(
height: 40.h,
width: 126.w,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(5),
color: Color(0Xff6C0000),
),
child: Center(child: text16W500(text)),
)
: commonGlassContainer(
width: 126.w,
height: 40.h,
borderradius: 5,
customWidget: Center(child: text16W400(text)),
);
});
}
}
class HoldingsTabBar extends StatelessWidget {
// Set the desired height
@override
Widget build(BuildContext context) {
return Container(
decoration: BoxDecoration(
border: Border.all(color: Color(0Xff3A3A3A)),
borderRadius: BorderRadius.circular(8.r),
),
padding: const EdgeInsets.all(8.0), // Set the desired padding
child: TabBar(
indicator: BoxDecoration(
color: const Color(0xff6C0000),
borderRadius: BorderRadius.circular(5),
),
dividerColor: Colors.transparent,
labelStyle: TextStyle(
fontSize: 16.sp,
color: Colors.white,
fontWeight: FontWeight.w500,
fontFamily: 'hiragino'),
indicatorSize: TabBarIndicatorSize.tab,
indicatorColor: const Color(0xFFFFFFFF),
labelColor: Colors.white,
unselectedLabelColor: const Color(0xffFFFFFF),
overlayColor: MaterialStateProperty.all(const Color(0xFFFFFFFF)),
tabs: const [
Tab(
text: 'Holdings',
),
Tab(
text: 'Portfolio Reviews',
),
]),
);
}
}
class PortfolioTabBar extends StatelessWidget {
// Set the desired height
@override
Widget build(BuildContext context) {
return TabBar(
tabAlignment: TabAlignment.start,
isScrollable: true,
dividerColor: Colors.transparent,
labelStyle: TextStyle(
fontSize: 18.sp,
color: Colors.white,
fontWeight: FontWeight.w500,
fontFamily: 'hiragino'),
indicatorSize: TabBarIndicatorSize.tab,
indicatorWeight: 2,
indicatorColor: const Color(0xff6C0000),
labelColor: Colors.white,
unselectedLabelColor: const Color(0xFF464646),
overlayColor: MaterialStateProperty.all(const Color(0xFFFFFFFF)),
tabs: const [
Tab(
text: 'Portfolio 1',
),
Tab(
text: 'Portfolio 2',
),
Tab(
text: 'Portfolio 3',
),
Tab(
text: 'Portfolio 4',
),
Tab(
text: 'Portfolio 5',
),
]);
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,9 +1,14 @@
import 'dart:convert';
import 'dart:developer';
import 'package:dio/dio.dart';
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
import 'package:scgateway_flutter_plugin/scgateway_flutter_plugin.dart';
import '../../Utils/api_urls.dart';
import '../../Utils/base_manager.dart';
import '../../data/network/network_api_services.dart';
import '../../model/SmallCaseModel/broker_account_model.dart';
// void openDashboardPage(BuildContext context) {
@@ -19,83 +24,142 @@ import '../../model/SmallCaseModel/broker_account_model.dart';
// }
//broker account table
//fetch broker accounts
Future<List<BrokerAccountModel>> fetchBrokerAccounts() async {
final response = await http.Client()
.get(Uri.parse('${ApiUrls.pieBase}api/get_broker_account_data'));
final parsed = jsonDecode(response.body);
return parsed
.map<BrokerAccountModel>((json) => BrokerAccountModel.fromJson(json))
.toList();
}
//delete broker account
Future<bool> deleteBrokerAccount(int id) async {
final response = await http.Client()
.get(Uri.parse('${ApiUrls.pieBase}api/delete_brokerage_account/$id'));
.get(Uri.parse('${ApiUrls.base}api/delete_brokerage_account/$id'));
if (response.statusCode == 200) return true;
return false;
}
//post broker account
Future<bool> postBrokerAccount({
required String userId,
required String brokerName,
required String authToken,
required String txnId,
}) async {
var response = await http.post(
Uri.parse('${ApiUrls.pieBase}api/add_broker_account'),
body: <String, String>{
"user_id": userId,
final response = await NetworkApiServices().postApi(
FormData.fromMap({
"broker_name": brokerName,
"auth_token": authToken,
"transaction_id": txnId,
},
}),
'${ApiUrls.base}add-broker-account',
);
if (response.statusCode == 200) return true;
if (response.status == ResponseStatus.SUCCESS) {
Map<String, dynamic> responseData =
Map<String, dynamic>.from(response.data);
if (responseData['status'] == "success") {
return true;
} else {
return false;
}
}
return false;
}
Future<String> fetchAuthToken() async {
var response = await http.get(
Uri.parse(
'${ApiUrls.pieBase}api/get_small_case_auth_token/',
),
//fetch broker accounts
Future<List<Data>> fetchBrokerAccounts() async {
final response = await NetworkApiServices().getApi(
'${ApiUrls.base}get-broker-account-data',
);
return jsonDecode(response.body)['data'];
// log(response.data.toString());
if (response.status == ResponseStatus.SUCCESS) {
Map<String, dynamic> responseData =
Map<String, dynamic>.from(response.data);
if (responseData['status'] == "success") {
BrokerAccountModel brokerAccountModel =
BrokerAccountModel.fromJson(responseData);
return brokerAccountModel.data!;
} else {
return [];
}
}
return [];
}
Future<String> fetchAuthToken() async {
final response = await NetworkApiServices().getApi(
'${ApiUrls.base}get-small-case-auth-token',
);
// log(response.data.toString());
if (response.status == ResponseStatus.SUCCESS) {
Map<String, dynamic> responseData =
Map<String, dynamic>.from(response.data);
if (responseData['status'] == "success") {
return response.data['data'];
} else {
return "Failed";
}
}
return "Failed";
}
Future<String> fetchBrokerConnectTxnId({required String authToken}) async {
var response = await http.get(
Uri.parse(
'${ApiUrls.pieBase}api/get_small_case_broker_connect_transaction/$authToken',
),
final response = await NetworkApiServices().postApi(
FormData.fromMap({"auth_token": authToken}),
'${ApiUrls.base}get-transaction-id',
);
return jsonDecode(response.body)['data']['transactionId'];
log(response.data.toString());
if (response.status == ResponseStatus.SUCCESS) {
Map<String, dynamic> responseData =
Map<String, dynamic>.from(response.data);
if (responseData['status'] == "success") {
return response.data['data']["data"]
['transactionId']; // jsonDecode(response.body)
} else {
return "Failed";
}
}
return "Failed";
}
Future<http.Response> fetchHoldingsImportTxnId(String authToken) async {
var response = await http.get(
Uri.parse(
'${ApiUrls.pieBase}api/get_small_case_holding_import_transaction_id/$authToken',
),
Future<String> fetchHoldingsImportTxnId(String authToken) async {
log(authToken);
final response = await NetworkApiServices().postApi(
FormData.fromMap({"auth_token": authToken}),
'${ApiUrls.base}create-transaction-holdings-import',
);
return response;
log(response.data.toString());
if (response.status == ResponseStatus.SUCCESS) {
Map<String, dynamic> responseData =
Map<String, dynamic>.from(response.data);
if (responseData['status'] == "success" &&
!responseData.toString().contains(
"{status: error, status_code: 500, message: Something went wrong.}")) {
return response.data['data']["data"]
['transactionId']; // jsonDecode(response.body)
} else {
return "Failed";
}
}
return "Failed";
}
Future<Map<String, dynamic>> fetchHoldings(String authToken) async {
var response = await http.get(
Uri.parse(
'${ApiUrls.pieBase}api/fetch_small_case_holding/$authToken',
),
final response = await NetworkApiServices().postApi(
FormData.fromMap({"auth_token": authToken}),
'${ApiUrls.base}fetch-holdings',
);
return jsonDecode(response.body)['data'];
log(response.data.toString());
if (response.status == ResponseStatus.SUCCESS) {
Map<String, dynamic> responseData =
Map<String, dynamic>.from(response.data);
if (responseData['status'] == "success") {
return responseData;
} else {
return {};
}
}
return {};
}
Future<String> fetchStocksOrderTxnId(String authToken, String body) async {
var response = await http.post(Uri.parse(
'${ApiUrls.pieBase}api/create_post_transaction_stock_order?body=$body&auth_token=$authToken'));
'${ApiUrls.base}api/create_post_transaction_stock_order?body=$body&auth_token=$authToken'));
var txnId = jsonDecode(response.body)['data']['transactionId'];
return txnId;
}

View File

@@ -5,10 +5,10 @@ packages:
dependency: transitive
description:
name: _flutterfire_internals
sha256: "4eec93681221723a686ad580c2e7d960e1017cf1a4e0a263c2573c2c6b0bf5cd"
sha256: "37a42d06068e2fe3deddb2da079a8c4d105f241225ba27b7122b37e9865fd8f7"
url: "https://pub.dev"
source: hosted
version: "1.3.25"
version: "1.3.35"
another_flushbar:
dependency: transitive
description:
@@ -21,18 +21,18 @@ packages:
dependency: transitive
description:
name: archive
sha256: "22600aa1e926be775fa5fe7e6894e7fb3df9efda8891c73f70fb3262399a432d"
sha256: cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d
url: "https://pub.dev"
source: hosted
version: "3.4.10"
version: "3.6.1"
args:
dependency: transitive
description:
name: args
sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596
sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a"
url: "https://pub.dev"
source: hosted
version: "2.4.2"
version: "2.5.0"
async:
dependency: "direct main"
description:
@@ -53,10 +53,10 @@ packages:
dependency: "direct main"
description:
name: audio_video_progress_bar
sha256: ccc7d7b83d2a16c52d4a7fb332faabd1baa053fb0e4c16815aefd3945ab33b81
sha256: "552b1f73c56c4c88407999e0a8507176f60c56de3e6d63bc20a0eab48467d4c9"
url: "https://pub.dev"
source: hosted
version: "2.0.2"
version: "2.0.3"
bloc:
dependency: transitive
description:
@@ -93,10 +93,10 @@ packages:
dependency: transitive
description:
name: cached_network_image_web
sha256: "42a835caa27c220d1294311ac409a43361088625a4f23c820b006dd9bffb3316"
sha256: "205d6a9f1862de34b93184f22b9d2d94586b2f05c581d546695e3d8f6a805cd7"
url: "https://pub.dev"
source: hosted
version: "1.1.1"
version: "1.2.0"
characters:
dependency: transitive
description:
@@ -157,10 +157,10 @@ packages:
dependency: transitive
description:
name: cross_file
sha256: "2f9d2cbccb76127ba28528cb3ae2c2326a122446a83de5a056aaa3880d3882c5"
sha256: "55d7b444feb71301ef6b8838dbc1ae02e63dd48c8773f3810ff53bb1e2945b32"
url: "https://pub.dev"
source: hosted
version: "0.3.3+7"
version: "0.3.4+1"
crypto:
dependency: transitive
description:
@@ -181,10 +181,10 @@ packages:
dependency: "direct main"
description:
name: cupertino_icons
sha256: d57953e10f9f8327ce64a508a355f0b1ec902193f66288e8cb5070e7c47eeb2d
sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6
url: "https://pub.dev"
source: hosted
version: "1.0.6"
version: "1.0.8"
dbus:
dependency: transitive
description:
@@ -213,10 +213,10 @@ packages:
dependency: "direct main"
description:
name: dio
sha256: "0978e9a3e45305a80a7210dbeaf79d6ee8bee33f70c8e542dc654c952070217f"
sha256: "11e40df547d418cc0c4900a9318b26304e665da6fa4755399a9ff9efd09034b5"
url: "https://pub.dev"
source: hosted
version: "5.4.2+1"
version: "5.4.3+1"
dotted_border:
dependency: "direct main"
description:
@@ -261,10 +261,10 @@ packages:
dependency: transitive
description:
name: ffi
sha256: "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878"
sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21"
url: "https://pub.dev"
source: hosted
version: "2.1.0"
version: "2.1.2"
file:
dependency: transitive
description:
@@ -293,10 +293,10 @@ packages:
dependency: transitive
description:
name: file_selector_macos
sha256: b15c3da8bd4908b9918111fa486903f5808e388b8d1c559949f584725a6594d6
sha256: f42eacb83b318e183b1ae24eead1373ab1334084404c8c16e0354f9a3e55d385
url: "https://pub.dev"
source: hosted
version: "0.9.3+3"
version: "0.9.4"
file_selector_platform_interface:
dependency: transitive
description:
@@ -317,66 +317,66 @@ packages:
dependency: "direct main"
description:
name: firebase_analytics
sha256: b13cbf1ee78744ca5e6b762e9218db3bd3967a0edfed75f58339907892a2ccb9
sha256: dbf1e7ab22cfb1f4a4adb103b46a26276b4edc593d4a78ef6fb942bafc92e035
url: "https://pub.dev"
source: hosted
version: "10.8.9"
version: "10.10.7"
firebase_analytics_platform_interface:
dependency: transitive
description:
name: firebase_analytics_platform_interface
sha256: "416b33d62033db5ecd2df719fcb657ad04e9995fa0fc392ffdab4ca0e76cb679"
sha256: "3729b74f8cf1d974a27ba70332ecb55ff5ff560edc8164a6469f4a055b429c37"
url: "https://pub.dev"
source: hosted
version: "3.9.9"
version: "3.10.8"
firebase_analytics_web:
dependency: transitive
description:
name: firebase_analytics_web
sha256: "9dca9d8d468172444ef18cabb73fe99f7aae24733bfad67115bd36bffd2d65c1"
sha256: "019cd7eee74254d33fbd2e29229367ce33063516bf6b3258a341d89e3b0f1655"
url: "https://pub.dev"
source: hosted
version: "0.5.5+21"
version: "0.5.7+7"
firebase_core:
dependency: "direct main"
description:
name: firebase_core
sha256: "53316975310c8af75a96e365f9fccb67d1c544ef0acdbf0d88bbe30eedd1c4f9"
sha256: "26de145bb9688a90962faec6f838247377b0b0d32cc0abecd9a4e43525fc856c"
url: "https://pub.dev"
source: hosted
version: "2.27.0"
version: "2.32.0"
firebase_core_platform_interface:
dependency: transitive
description:
name: firebase_core_platform_interface
sha256: c437ae5d17e6b5cc7981cf6fd458a5db4d12979905f9aafd1fea930428a9fe63
sha256: "1003a5a03a61fc9a22ef49f37cbcb9e46c86313a7b2e7029b9390cf8c6fc32cb"
url: "https://pub.dev"
source: hosted
version: "5.0.0"
version: "5.1.0"
firebase_core_web:
dependency: transitive
description:
name: firebase_core_web
sha256: c8e1d59385eee98de63c92f961d2a7062c5d9a65e7f45bdc7f1b0b205aab2492
sha256: "6643fe3dbd021e6ccfb751f7882b39df355708afbdeb4130fc50f9305a9d1a3d"
url: "https://pub.dev"
source: hosted
version: "2.11.5"
version: "2.17.2"
firebase_crashlytics:
dependency: "direct main"
description:
name: firebase_crashlytics
sha256: c4f1b723d417bc9c4774810e774ff91df8fb0032d33fb2888b2c887e865581b8
sha256: "9897c01efaa950d2f6da8317d12452749a74dc45f33b46390a14cfe28067f271"
url: "https://pub.dev"
source: hosted
version: "3.4.18"
version: "3.5.7"
firebase_crashlytics_platform_interface:
dependency: transitive
description:
name: firebase_crashlytics_platform_interface
sha256: c5a11fca3df76a98e3fa68fde8b10a08aacb9a7639f619fbfd4dad6c67a08643
sha256: "16a71e08fbf6e00382816e1b13397898c29a54fa0ad969c2c2a3b82a704877f0"
url: "https://pub.dev"
source: hosted
version: "3.6.25"
version: "3.6.35"
fl_chart:
dependency: "direct main"
description:
@@ -394,10 +394,10 @@ packages:
dependency: "direct main"
description:
name: flutter_bloc
sha256: f0ecf6e6eb955193ca60af2d5ca39565a86b8a142452c5b24d96fb477428f4d2
sha256: b594505eac31a0518bdcb4b5b79573b8d9117b193cc80cc12e17d639b10aa27a
url: "https://pub.dev"
source: hosted
version: "8.1.5"
version: "8.1.6"
flutter_branch_sdk:
dependency: "direct main"
description:
@@ -482,10 +482,10 @@ packages:
dependency: transitive
description:
name: flutter_isolate
sha256: "8ab879634322a012feb096153cf759caa118d81300189d1730455f3718bca24b"
sha256: "994ddec596da4ca12ca52154fd59404077584643eb7e3f1008a55fda9fe0b76b"
url: "https://pub.dev"
source: hosted
version: "2.0.5-pre"
version: "2.0.4"
flutter_lints:
dependency: "direct dev"
description:
@@ -498,18 +498,18 @@ packages:
dependency: transitive
description:
name: flutter_plugin_android_lifecycle
sha256: b068ffc46f82a55844acfa4fdbb61fad72fa2aef0905548419d97f0f95c456da
sha256: c6b0b4c05c458e1c01ad9bcc14041dd7b1f6783d487be4386f793f47a8a4d03e
url: "https://pub.dev"
source: hosted
version: "2.0.17"
version: "2.0.20"
flutter_screenutil:
dependency: "direct main"
description:
name: flutter_screenutil
sha256: "8cf100b8e4973dc570b6415a2090b0bfaa8756ad333db46939efc3e774ee100d"
sha256: "8239210dd68bee6b0577aa4a090890342d04a136ce1c81f98ee513fc0ce891de"
url: "https://pub.dev"
source: hosted
version: "5.9.0"
version: "5.9.3"
flutter_svg:
dependency: "direct main"
description:
@@ -532,10 +532,10 @@ packages:
dependency: "direct main"
description:
name: fluttertoast
sha256: dfdde255317af381bfc1c486ed968d5a43a2ded9c931e87cbecd88767d6a71c1
sha256: "7eae679e596a44fdf761853a706f74979f8dd3cd92cf4e23cae161fda091b847"
url: "https://pub.dev"
source: hosted
version: "8.2.4"
version: "8.2.6"
gap:
dependency: "direct main"
description:
@@ -556,10 +556,10 @@ packages:
dependency: transitive
description:
name: get_it
sha256: e6017ce7fdeaf218dc51a100344d8cb70134b80e28b760f8bb23c242437bafd7
sha256: d85128a5dae4ea777324730dc65edd9c9f43155c109d5cc0a69cab74139fbac1
url: "https://pub.dev"
source: hosted
version: "7.6.7"
version: "7.7.0"
glassmorphism:
dependency: "direct main"
description:
@@ -620,34 +620,34 @@ packages:
dependency: "direct main"
description:
name: image_picker
sha256: "26222b01a0c9a2c8fe02fc90b8208bd3325da5ed1f4a2acabf75939031ac0bdd"
sha256: "021834d9c0c3de46bf0fe40341fa07168407f694d9b2bb18d532dc1261867f7a"
url: "https://pub.dev"
source: hosted
version: "1.0.7"
version: "1.1.2"
image_picker_android:
dependency: transitive
description:
name: image_picker_android
sha256: "39f2bfe497e495450c81abcd44b62f56c2a36a37a175da7d137b4454977b51b1"
sha256: "4161e1f843d8480d2e9025ee22411778c3c9eb7e40076dcf2da23d8242b7b51c"
url: "https://pub.dev"
source: hosted
version: "0.8.9+3"
version: "0.8.12+3"
image_picker_for_web:
dependency: transitive
description:
name: image_picker_for_web
sha256: e2423c53a68b579a7c37a1eda967b8ae536c3d98518e5db95ca1fe5719a730a3
sha256: "5d6eb13048cd47b60dbf1a5495424dea226c5faf3950e20bf8120a58efb5b5f3"
url: "https://pub.dev"
source: hosted
version: "3.0.2"
version: "3.0.4"
image_picker_ios:
dependency: transitive
description:
name: image_picker_ios
sha256: fadafce49e8569257a0cad56d24438a6fa1f0cbd7ee0af9b631f7492818a4ca3
sha256: "6703696ad49f5c3c8356d576d7ace84d1faf459afb07accbb0fae780753ff447"
url: "https://pub.dev"
source: hosted
version: "0.8.9+1"
version: "0.8.12"
image_picker_linux:
dependency: transitive
description:
@@ -668,10 +668,10 @@ packages:
dependency: transitive
description:
name: image_picker_platform_interface
sha256: fa4e815e6fcada50e35718727d83ba1c92f1edf95c0b4436554cec301b56233b
sha256: "9ec26d410ff46f483c5519c29c02ef0e02e13a543f882b152d4bfd2f06802f80"
url: "https://pub.dev"
source: hosted
version: "2.9.3"
version: "2.10.0"
image_picker_windows:
dependency: transitive
description:
@@ -692,10 +692,10 @@ packages:
dependency: transitive
description:
name: intl
sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d"
sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf
url: "https://pub.dev"
source: hosted
version: "0.18.1"
version: "0.19.0"
js:
dependency: transitive
description:
@@ -708,50 +708,50 @@ packages:
dependency: "direct main"
description:
name: just_audio
sha256: b7cb6bbf3750caa924d03f432ba401ec300fd90936b3f73a9b33d58b1e96286b
sha256: "5abfab1d199e01ab5beffa61b3e782350df5dad036cb8c83b79fa45fc656614e"
url: "https://pub.dev"
source: hosted
version: "0.9.37"
version: "0.9.38"
just_audio_platform_interface:
dependency: transitive
description:
name: just_audio_platform_interface
sha256: c3dee0014248c97c91fe6299edb73dc4d6c6930a2f4f713579cd692d9e47f4a1
sha256: "0243828cce503c8366cc2090cefb2b3c871aa8ed2f520670d76fd47aa1ab2790"
url: "https://pub.dev"
source: hosted
version: "4.2.2"
version: "4.3.0"
just_audio_web:
dependency: transitive
description:
name: just_audio_web
sha256: "134356b0fe3d898293102b33b5fd618831ffdc72bb7a1b726140abdf22772b70"
sha256: "0edb481ad4aa1ff38f8c40f1a3576013c3420bf6669b686fe661627d49bc606c"
url: "https://pub.dev"
source: hosted
version: "0.4.9"
version: "0.4.11"
leak_tracker:
dependency: transitive
description:
name: leak_tracker
sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa"
sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a"
url: "https://pub.dev"
source: hosted
version: "10.0.0"
version: "10.0.4"
leak_tracker_flutter_testing:
dependency: transitive
description:
name: leak_tracker_flutter_testing
sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0
sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8"
url: "https://pub.dev"
source: hosted
version: "2.0.1"
version: "3.0.3"
leak_tracker_testing:
dependency: transitive
description:
name: leak_tracker_testing
sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47
sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
url: "https://pub.dev"
source: hosted
version: "2.0.1"
version: "3.0.1"
lints:
dependency: transitive
description:
@@ -772,26 +772,26 @@ packages:
dependency: "direct main"
description:
name: local_auth
sha256: "27679ed8e0d7daab2357db6bb7076359e083a56b295c0c59723845301da6aed9"
sha256: "280421b416b32de31405b0a25c3bd42dfcef2538dfbb20c03019e02a5ed55ed0"
url: "https://pub.dev"
source: hosted
version: "2.1.8"
version: "2.2.0"
local_auth_android:
dependency: transitive
description:
name: local_auth_android
sha256: "3bcd732dda7c75fcb7ddaef12e131230f53dcc8c00790d0d6efb3aa0fbbeda57"
sha256: "48dfb2d954da8ef6a77adfc93a29998f7729e9308eaa817e91dea4500317b2c8"
url: "https://pub.dev"
source: hosted
version: "1.0.37"
local_auth_ios:
version: "1.0.39"
local_auth_darwin:
dependency: transitive
description:
name: local_auth_ios
sha256: eb283b530029b334698918f1e282d4483737cbca972ff21b9193be3d6de8e2b8
name: local_auth_darwin
sha256: e424ebf90d5233452be146d4a7da4bcd7a70278b67791592f3fde1bda8eef9e2
url: "https://pub.dev"
source: hosted
version: "1.1.6"
version: "1.3.1"
local_auth_platform_interface:
dependency: transitive
description:
@@ -844,18 +844,18 @@ packages:
dependency: transitive
description:
name: meta
sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04
sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136"
url: "https://pub.dev"
source: hosted
version: "1.11.0"
version: "1.12.0"
mime:
dependency: transitive
description:
name: mime
sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e
sha256: "2e123074287cc9fd6c09de8336dae606d1ddb88d9ac47358826db698c176a1f2"
url: "https://pub.dev"
source: hosted
version: "1.0.4"
version: "1.0.5"
nested:
dependency: transitive
description:
@@ -916,26 +916,26 @@ packages:
dependency: transitive
description:
name: path_provider
sha256: b27217933eeeba8ff24845c34003b003b2b22151de3c908d0e679e8fe1aa078b
sha256: c9e7d3a4cd1410877472158bee69963a4579f78b68c65a2b7d40d1a7a88bb161
url: "https://pub.dev"
source: hosted
version: "2.1.2"
version: "2.1.3"
path_provider_android:
dependency: transitive
description:
name: path_provider_android
sha256: "477184d672607c0a3bf68fbbf601805f92ef79c82b64b4d6eb318cbca4c48668"
sha256: "9c96da072b421e98183f9ea7464898428e764bc0ce5567f27ec8693442e72514"
url: "https://pub.dev"
source: hosted
version: "2.2.2"
version: "2.2.5"
path_provider_foundation:
dependency: transitive
description:
name: path_provider_foundation
sha256: "5a7999be66e000916500be4f15a3633ebceb8302719b47b9cc49ce924125350f"
sha256: f234384a3fdd67f989b4d54a5d73ca2a6c422fa55ae694381ae0f4375cd1ea16
url: "https://pub.dev"
source: hosted
version: "2.3.2"
version: "2.4.0"
path_provider_linux:
dependency: transitive
description:
@@ -972,18 +972,18 @@ packages:
dependency: transitive
description:
name: permission_handler_android
sha256: "8bb852cd759488893805c3161d0b2b5db55db52f773dbb014420b304055ba2c5"
sha256: b29a799ca03be9f999aa6c39f7de5209482d638e6f857f6b93b0875c618b7e54
url: "https://pub.dev"
source: hosted
version: "12.0.6"
version: "12.0.7"
permission_handler_apple:
dependency: transitive
description:
name: permission_handler_apple
sha256: e9ad66020b89ff1b63908f247c2c6f931c6e62699b756ef8b3c4569350cd8662
sha256: e6f6d73b12438ef13e648c4ae56bd106ec60d17e90a59c4545db6781229082a0
url: "https://pub.dev"
source: hosted
version: "9.4.4"
version: "9.4.5"
permission_handler_html:
dependency: transitive
description:
@@ -1012,10 +1012,10 @@ packages:
dependency: transitive
description:
name: petitparser
sha256: cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750
sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27
url: "https://pub.dev"
source: hosted
version: "5.4.0"
version: "6.0.2"
pin_code_fields:
dependency: "direct main"
description:
@@ -1028,10 +1028,10 @@ packages:
dependency: transitive
description:
name: platform
sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec"
sha256: "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65"
url: "https://pub.dev"
source: hosted
version: "3.1.4"
version: "3.1.5"
plugin_platform_interface:
dependency: transitive
description:
@@ -1040,14 +1040,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.8"
pointycastle:
dependency: transitive
description:
name: pointycastle
sha256: "43ac87de6e10afabc85c445745a7b799e04de84cebaa4fd7bf55a5e1e9604d29"
url: "https://pub.dev"
source: hosted
version: "3.7.4"
provider:
dependency: transitive
description:
@@ -1068,10 +1060,10 @@ packages:
dependency: "direct main"
description:
name: scgateway_flutter_plugin
sha256: c52831292d73b7004af314f7e34ea4c510110da3e7d1cc274a745b3524e6a724
sha256: "271354169511e130668b0cd06c3bd2c1c64a7a7383a328120587a5170ec75dd8"
url: "https://pub.dev"
source: hosted
version: "2.3.1"
version: "2.4.0+3"
share_plus:
dependency: transitive
description:
@@ -1092,26 +1084,26 @@ packages:
dependency: "direct main"
description:
name: shared_preferences
sha256: "81429e4481e1ccfb51ede496e916348668fd0921627779233bd24cc3ff6abd02"
sha256: d3bbe5553a986e83980916ded2f0b435ef2e1893dfaa29d5a7a790d0eca12180
url: "https://pub.dev"
source: hosted
version: "2.2.2"
version: "2.2.3"
shared_preferences_android:
dependency: transitive
description:
name: shared_preferences_android
sha256: "8568a389334b6e83415b6aae55378e158fbc2314e074983362d20c562780fb06"
sha256: "93d0ec9dd902d85f326068e6a899487d1f65ffcd5798721a95330b26c8131577"
url: "https://pub.dev"
source: hosted
version: "2.2.1"
version: "2.2.3"
shared_preferences_foundation:
dependency: transitive
description:
name: shared_preferences_foundation
sha256: "7708d83064f38060c7b39db12aefe449cb8cdc031d6062280087bc4cdb988f5c"
sha256: "0a8a893bf4fd1152f93fec03a415d11c27c74454d96e2318a7ac38dd18683ab7"
url: "https://pub.dev"
source: hosted
version: "2.3.5"
version: "2.4.0"
shared_preferences_linux:
dependency: transitive
description:
@@ -1132,10 +1124,10 @@ packages:
dependency: transitive
description:
name: shared_preferences_web
sha256: d762709c2bbe80626ecc819143013cc820fa49ca5e363620ee20a8b15a3e3daf
sha256: "9aee1089b36bd2aafe06582b7d7817fd317ef05fc30e6ba14bff247d0933042a"
url: "https://pub.dev"
source: hosted
version: "2.2.1"
version: "2.3.0"
shared_preferences_windows:
dependency: transitive
description:
@@ -1177,18 +1169,18 @@ packages:
dependency: transitive
description:
name: sqflite
sha256: a9016f495c927cb90557c909ff26a6d92d9bd54fc42ba92e19d4e79d61e798c6
sha256: a43e5a27235518c03ca238e7b4732cf35eabe863a369ceba6cbefa537a66f16d
url: "https://pub.dev"
source: hosted
version: "2.3.2"
version: "2.3.3+1"
sqflite_common:
dependency: transitive
description:
name: sqflite_common
sha256: "28d8c66baee4968519fb8bd6cdbedad982d6e53359091f0b74544a9f32ec72d5"
sha256: "3da423ce7baf868be70e2c0976c28a1bb2f73644268b7ffa7d2e08eab71f16a4"
url: "https://pub.dev"
source: hosted
version: "2.5.3"
version: "2.5.4"
stack_trace:
dependency: transitive
description:
@@ -1217,10 +1209,10 @@ packages:
dependency: "direct main"
description:
name: syncfusion_flutter_charts
sha256: "5f868f5a82380ef1b3de416b7812e1ac7acce6a629f9281618adee81d90716cc"
sha256: bdb7cc5814ceb187793cea587f4a5946afcffd96726b219cee79df8460f44b7b
url: "https://pub.dev"
source: hosted
version: "21.2.10"
version: "21.2.4"
syncfusion_flutter_core:
dependency: transitive
description:
@@ -1297,10 +1289,10 @@ packages:
dependency: transitive
description:
name: test_api
sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b"
sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f"
url: "https://pub.dev"
source: hosted
version: "0.6.1"
version: "0.7.0"
timeago:
dependency: "direct main"
description:
@@ -1321,26 +1313,26 @@ packages:
dependency: transitive
description:
name: url_launcher
sha256: c512655380d241a337521703af62d2c122bf7b77a46ff7dd750092aa9433499c
sha256: "21b704ce5fa560ea9f3b525b43601c678728ba46725bab9b01187b4831377ed3"
url: "https://pub.dev"
source: hosted
version: "6.2.4"
version: "6.3.0"
url_launcher_android:
dependency: transitive
description:
name: url_launcher_android
sha256: d4ed0711849dd8e33eb2dd69c25db0d0d3fdc37e0a62e629fe32f57a22db2745
sha256: ceb2625f0c24ade6ef6778d1de0b2e44f2db71fded235eb52295247feba8c5cf
url: "https://pub.dev"
source: hosted
version: "6.3.0"
version: "6.3.3"
url_launcher_ios:
dependency: transitive
description:
name: url_launcher_ios
sha256: "75bb6fe3f60070407704282a2d295630cab232991eb52542b18347a8a941df03"
sha256: "7068716403343f6ba4969b4173cbf3b84fc768042124bc2c011e5d782b24fe89"
url: "https://pub.dev"
source: hosted
version: "6.2.4"
version: "6.3.0"
url_launcher_linux:
dependency: transitive
description:
@@ -1353,10 +1345,10 @@ packages:
dependency: transitive
description:
name: url_launcher_macos
sha256: b7244901ea3cf489c5335bdacda07264a6e960b1c1b1a9f91e4bc371d9e68234
sha256: "9a1a42d5d2d95400c795b2914c36fdcb525870c752569438e4ebb09a2b5d90de"
url: "https://pub.dev"
source: hosted
version: "3.1.0"
version: "3.2.0"
url_launcher_platform_interface:
dependency: transitive
description:
@@ -1369,10 +1361,10 @@ packages:
dependency: transitive
description:
name: url_launcher_web
sha256: "7fd2f55fe86cea2897b963e864dc01a7eb0719ecc65fcef4c1cc3d686d718bb2"
sha256: "8d9e750d8c9338601e709cd0885f95825086bd8b642547f26bda435aade95d8a"
url: "https://pub.dev"
source: hosted
version: "2.2.0"
version: "2.3.1"
url_launcher_windows:
dependency: transitive
description:
@@ -1425,26 +1417,26 @@ packages:
dependency: "direct main"
description:
name: video_player
sha256: afc65f4b8bcb2c188f64a591f84fb471f4f2e19fc607c65fd8d2f8fedb3dec23
sha256: aced48e701e24c02b0b7f881a8819e4937794e46b5a5821005e2bf3b40a324cc
url: "https://pub.dev"
source: hosted
version: "2.8.3"
version: "2.8.7"
video_player_android:
dependency: transitive
description:
name: video_player_android
sha256: "4dd9b8b86d70d65eecf3dcabfcdfbb9c9115d244d022654aba49a00336d540c2"
sha256: "9529001630e42988f755772972d5014d30121610700e8e502278a245939f8fc8"
url: "https://pub.dev"
source: hosted
version: "2.4.12"
version: "2.5.0"
video_player_avfoundation:
dependency: transitive
description:
name: video_player_avfoundation
sha256: bc923884640d6dc403050586eb40713cdb8d1d84e6886d8aca50ab04c59124c2
sha256: d1e9a824f2b324000dc8fb2dcb2a3285b6c1c7c487521c63306cc5b394f68a7c
url: "https://pub.dev"
source: hosted
version: "2.5.2"
version: "2.6.1"
video_player_platform_interface:
dependency: transitive
description:
@@ -1457,10 +1449,10 @@ packages:
dependency: transitive
description:
name: video_player_web
sha256: "34beb3a07d4331a24f7e7b2f75b8e2b103289038e07e65529699a671b6a6e2cb"
sha256: ff4d69a6614b03f055397c27a71c9d3ddea2b2a23d71b2ba0164f59ca32b8fe2
url: "https://pub.dev"
source: hosted
version: "2.1.3"
version: "2.3.1"
videoplayerkb:
dependency: "direct main"
description:
@@ -1474,10 +1466,10 @@ packages:
dependency: transitive
description:
name: vm_service
sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957
sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec"
url: "https://pub.dev"
source: hosted
version: "13.0.0"
version: "14.2.1"
wakelock:
dependency: transitive
description:
@@ -1522,18 +1514,26 @@ packages:
dependency: transitive
description:
name: web
sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152
sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27"
url: "https://pub.dev"
source: hosted
version: "0.3.0"
version: "0.5.1"
web_socket:
dependency: transitive
description:
name: web_socket
sha256: "24301d8c293ce6fe327ffe6f59d8fd8834735f0ec36e4fd383ec7ff8a64aa078"
url: "https://pub.dev"
source: hosted
version: "0.1.5"
web_socket_channel:
dependency: "direct main"
description:
name: web_socket_channel
sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b
sha256: a2d56211ee4d35d9b344d9d4ce60f362e4f5d1aafb988302906bd732bc731276
url: "https://pub.dev"
source: hosted
version: "2.4.0"
version: "3.0.0"
win32:
dependency: transitive
description:
@@ -1554,10 +1554,10 @@ packages:
dependency: transitive
description:
name: xml
sha256: "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84"
sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226
url: "https://pub.dev"
source: hosted
version: "6.3.0"
version: "6.5.0"
sdks:
dart: ">=3.2.0 <4.0.0"
flutter: ">=3.16.0"
dart: ">=3.4.0 <4.0.0"
flutter: ">=3.22.0"