Merge branch 'main' into splash

This commit is contained in:
Raj
2024-04-12 19:35:33 +05:30
committed by GitHub
16 changed files with 1279 additions and 624 deletions

View File

@@ -244,9 +244,9 @@ Widget ActiveCallsTab() {
children: [
InkWell(
onTap: () {
Get.to(
() => PlayerWidget(),
);
Get.to(() => PlayerWidget(), arguments: {
"video_url": "",
});
},
child: Container(
height: 200.h,

View File

@@ -194,9 +194,9 @@ class _ShortTradeState extends State<ShortTrade> {
children: [
InkWell(
onTap: () {
Get.to(
() => PlayerWidget(),
);
Get.to(() => PlayerWidget(), arguments: {
"video_url": "",
});
},
child: Container(
height: 200.h,

File diff suppressed because it is too large Load Diff

View File

@@ -13,7 +13,9 @@ class PlayerWidget extends StatefulWidget {
class _PlayerWidgetState extends State<PlayerWidget> {
late VideoPlayerController videoPlayerController;
late ChewieController chewieController;
var videoUrl = Get.arguments["video_url"];
var videoUrl = Get.arguments["video_url"] == ""
? "https://player.vimeo.com/progressive_redirect/playback/930595309/rendition/360p/file.mp4?loc=external&signature=55ffa7ff72b807e1b3830cd6d308b092d4b1f82baadf6c20e7c235cd9a33bcdf"
: Get.arguments["video_url"];
@override
void initState() {
_initializePlayer();
@@ -41,6 +43,13 @@ class _PlayerWidgetState extends State<PlayerWidget> {
looping: false);
}
@override
void dispose() {
videoPlayerController.dispose();
chewieController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return videoPlayerController != null &&

View File

@@ -0,0 +1,24 @@
import 'package:flutter/material.dart';
import 'package:syncfusion_flutter_pdfviewer/pdfviewer.dart';
class ReadPDF extends StatelessWidget {
ReadPDF({
super.key,
required this.title,
required this.pdfUrfl,
});
String? title;
String? pdfUrfl;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(title!),
),
body: SfPdfViewer.network(
'https://cdn.syncfusion.com/content/PDFViewer/flutter-succinctly.pdf',
),
);
}
}

View File

@@ -1,7 +1,10 @@
import 'dart:developer';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:flutter_svg/svg.dart';
import 'package:get/get.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:traderscircuit/Utils/Common/CommonAppBar.dart';
import 'package:traderscircuit/Utils/Common/CustomTextFormField.dart';
import 'package:traderscircuit/Utils/Common/comonGlassmorphicContainer.dart';
@@ -11,6 +14,8 @@ import 'package:traderscircuit/model/FAQModel/faq_model.dart';
import 'package:traderscircuit/view/onBoarding/splashScreen1.dart';
import 'package:traderscircuit/view_model/FaqApi/faq_api.dart';
Rx<FAQModel> faqModel = FAQModel().obs;
class FaqScreen extends StatefulWidget {
const FaqScreen({super.key});
@@ -22,23 +27,29 @@ class _FaqScreenState extends State<FaqScreen> {
List<String> categoryList = [];
RxBool isLoading = true.obs;
FAQModel faqModel = FAQModel();
@override
void initState() {
getData();
FAQApi().getFAQData().then((value) {
faqModel = FAQModel.fromJson(value.data);
for (var a in faqModel.data!) {
faqModel.value = FAQModel.fromJson(value.data);
for (var a in faqModel.value.data!) {
categoryList.add(a.categoryName!);
}
isExpandedList = RxList.generate(
faqModel.data![selectedIndex.value].faqQueAns!.length,
faqModel.value.data![selectedIndex.value].faqQueAns!.length,
(index) => index == 0);
isLoading.value = false;
});
super.initState();
}
String? token;
getData() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
token = prefs.getString('accessToken');
}
final selectedIndex = 0.obs;
late RxList<bool> isExpandedList;
@@ -95,6 +106,7 @@ class _FaqScreenState extends State<FaqScreen> {
selectedIndex.value = index;
isExpandedList = RxList.generate(
faqModel
.value
.data![selectedIndex.value]
.faqQueAns!
.length,
@@ -114,16 +126,33 @@ class _FaqScreenState extends State<FaqScreen> {
Obx(() {
return Column(
children: List.generate(
faqModel.data![selectedIndex.value]
.faqQueAns!.length, (index) {
faqModel
.value
.data![selectedIndex.value]
.faqQueAns!
.length, (index) {
return customExpandableItem(
index: index,
selectedIndex: selectedIndex.value,
faqModel1: faqModel.value,
isExpanded: isExpandedList[index],
title: faqModel.data![selectedIndex.value]
.faqQueAns![index].faqQuestion!,
content: faqModel.data![selectedIndex.value]
.faqQueAns![index].faqAnswer!,
title: faqModel
.value
.data![selectedIndex.value]
.faqQueAns![index]
.faqQuestion!,
content: faqModel
.value
.data![selectedIndex.value]
.faqQueAns![index]
.faqAnswer!,
toggleExpansion: () =>
toggleExpansion(index),
faqId: faqModel
.value
.data![selectedIndex.value]
.faqQueAns![index]
.id!,
);
}));
}),
@@ -144,13 +173,21 @@ class _FaqScreenState extends State<FaqScreen> {
borderRadius: BorderRadius.circular(5),
color: const Color(0XFF3F0502),
border: Border.all(color: const Color(0xFF9A0000), width: 1)),
child: Center(child: text16W500(text)),
child: Center(
child: Padding(
padding: const EdgeInsets.symmetric(vertical: 8),
child: FittedBox(child: text16W500(text)),
)),
)
: commonGlassContainer(
width: 136.w,
height: 38.h,
borderradius: 5,
customWidget: Center(child: text16W400(text)),
customWidget: Center(
child: Padding(
padding: const EdgeInsets.symmetric(vertical: 9),
child: FittedBox(child: text16W400(text)),
)),
);
});
}
@@ -171,6 +208,10 @@ class _FaqScreenState extends State<FaqScreen> {
required String title,
required String content,
required VoidCallback toggleExpansion,
required int faqId,
required FAQModel faqModel1,
required int selectedIndex,
required int index,
}) {
return Column(
mainAxisAlignment: MainAxisAlignment.center,
@@ -230,58 +271,125 @@ class _FaqScreenState extends State<FaqScreen> {
child: Text(
content,
style: TextStyle(
color: Color(0xFFFFFFFF),
color: const Color(0xFFFFFFFF),
fontFamily: 'hiragino',
fontSize: 14.sp,
fontWeight: FontWeight.w400,
),
),
),
),
sizedBoxHeight(12.h),
commonGlassContainer(
width: double.infinity,
height: 65.h,
borderradius: 8,
customWidget: Padding(
padding: EdgeInsets.only(right: 8.w, left: 13.w),
child: Center(
child: Row(children: [
Text(
'Was this answer helpful?',
style: TextStyle(
fontFamily: 'hiragino',
fontSize: 16.sp,
fontWeight: FontWeight.w500,
color: Colors.white,
),
),
const Spacer(),
Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
text16W500('Yes'),
sizedBoxWidth(2.w),
SvgPicture.asset(
'assets/images/svg/thumbs-up.svg'),
sizedBoxWidth(8.w),
text16W500('No'),
sizedBoxWidth(2.w),
Column(
mainAxisAlignment: MainAxisAlignment.center,
token == null || token!.isEmpty
? const SizedBox()
: sizedBoxHeight(12.h),
token == null || token!.isEmpty
? const SizedBox()
: commonGlassContainer(
width: double.infinity,
height: 65.h,
borderradius: 8,
customWidget: Padding(
padding: EdgeInsets.only(right: 8.w, left: 13.w),
child: Center(
child: Row(children: [
Text(
'Was this answer helpful?',
style: TextStyle(
fontFamily: 'hiragino',
fontSize: 16.sp,
fontWeight: FontWeight.w500,
color: Colors.white,
),
),
const Spacer(),
Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
sizedBoxHeight(5.h),
SvgPicture.asset(
'assets/images/svg/thumbs-down.svg'),
InkWell(
onTap: () {
FAQApi()
.updaeFAQLikeDisklikeData(faqId, 1)
.then((value) {
FAQApi().getFAQData().then((value) {
faqModel.value =
FAQModel.fromJson(value.data);
setState(() {});
});
});
},
child: Row(
children: [
text16W500('Yes'),
sizedBoxWidth(2.w),
(faqModel
.value
.data![selectedIndex]
.faqQueAns![index]
.userLikes!
.isNotEmpty &&
faqModel
.value
.data![selectedIndex]
.faqQueAns![index]
.userLikes![0]
.status! ==
1)
? SvgPicture.asset(
'assets/images/svg/filled_thumb_up.svg')
: SvgPicture.asset(
'assets/images/svg/thumbs-up.svg'),
],
),
),
sizedBoxWidth(8.w),
InkWell(
onTap: () {
FAQApi()
.updaeFAQLikeDisklikeData(faqId, 0)
.then((value) {
FAQApi().getFAQData().then((value) {
faqModel.value =
FAQModel.fromJson(value.data);
});
});
},
child: Row(
children: [
text16W500('No'),
sizedBoxWidth(2.w),
Column(
mainAxisAlignment:
MainAxisAlignment.center,
children: [
sizedBoxHeight(5.h),
(faqModel
.value
.data![selectedIndex]
.faqQueAns![index]
.userLikes!
.isNotEmpty &&
faqModel
.value
.data![
selectedIndex]
.faqQueAns![index]
.userLikes![0]
.status! ==
0)
? SvgPicture.asset(
'assets/images/svg/filled_thumb_down.svg')
: SvgPicture.asset(
'assets/images/svg/thumbs-down.svg'),
],
)
],
),
)
],
)
],
)
]),
)))
),
]),
)))
],
),
),

View File

@@ -9,6 +9,8 @@ import 'package:get/get.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:traderscircuit/resources/routes/route_name.dart';
import '../../Utils/Common/noInternet.dart';
class SplashScreen extends StatefulWidget {
const SplashScreen({super.key});
@@ -44,52 +46,55 @@ class _SplashScreenState extends State<SplashScreen>
void initState() {
super.initState();
checkInternet();
log(_connectionStatus.toString());
Future.delayed(Duration(seconds: 2), () async {
Get.toNamed(RouteName.sliderscreen1);
// if (_connectionStatus == ConnectivityResult.none) {
// var result = await Get.to(NoInternet());
// if (result != null && result) {
// Timer(const Duration(seconds: 1), () async {
// SharedPreferences prefs = await SharedPreferences.getInstance();
// token = prefs.getString('token');
// myusername = prefs.getString('name');
// phonenumber = prefs.getString('contact_number');
// OnBoard = prefs.getBool('OnBoard') ?? false;
// if (OnBoard == false) {
// Get.toNamed(RouteName.sliderscreen1);
// } else {
// if (token == null || token!.isEmpty) {
// Get.offAndToNamed(RouteName.loginScreen);
// } else {
// GetProfile().GetProfileAPI().then((value) {
// Get.toNamed(RouteName.mainScreen, arguments: 0);
// });
// }
// }
// });
// }
// } else {
// Timer(const Duration(seconds: 2), () async {
// SharedPreferences prefs = await SharedPreferences.getInstance();
// token = prefs.getString('token');
// myusername = prefs.getString('name');
// phonenumber = prefs.getString('contact_number');
// OnBoard = prefs.getBool('OnBoard') ?? false;
// if (OnBoard == false) {
// Get.toNamed(RouteName.sliderscreen1);
// } else {
// if (token == null || token!.isEmpty) {
// Get.offAndToNamed(RouteName.loginScreen);
// } else {
// GetProfile().GetProfileAPI().then((value) {
// Get.toNamed(RouteName.mainScreen, arguments: 0);
// });
// }
// }
// });
// }
Future.delayed(Duration(seconds: 2), () async {
if (_connectionStatus == ConnectivityResult.none) {
var result = await Get.to(NoInternet());
if (result != null && result) {
Timer(const Duration(seconds: 1), () async {
SharedPreferences prefs = await SharedPreferences.getInstance();
var token = prefs.getString('accessToken');
// myusername = prefs.getString('name');
// phonenumber = prefs.getString('contact_number');
// OnBoard = prefs.getBool('OnBoard') ?? false;
// if (OnBoard == false) {
// Get.toNamed(RouteName.sliderscreen1);
// }
// else {
if (token == null || token!.isEmpty) {
Get.offAndToNamed(RouteName.loginscreen);
} else {
// GetProfile().GetProfileAPI().then((value) {
// Get.toNamed(RouteName.mainScreen, arguments: 0);
// });
Get.toNamed(RouteName.mainscreen);
}
// }
});
}
} else {
Timer(const Duration(seconds: 2), () async {
SharedPreferences prefs = await SharedPreferences.getInstance();
var token = prefs.getString('accessToken');
// myusername = prefs.getString('name');
// phonenumber = prefs.getString('contact_number');
// OnBoard = prefs.getBool('OnBoard') ?? false;
// if (OnBoard == false) {
// Get.toNamed(RouteName.sliderscreen1);
// }
// else {
if (token == null || token!.isEmpty) {
Get.offAndToNamed(RouteName.loginscreen);
} else {
// GetProfile().GetProfileAPI().then((value) {
// Get.toNamed(RouteName.mainScreen, arguments: 0);
// });
Get.toNamed(RouteName.mainscreen);
}
// }
});
}
});
// for scaleTansition
_scaleController = AnimationController(
@@ -131,7 +136,8 @@ class _SplashScreenState extends State<SplashScreen>
scale: _scaleAnimation,
child: Text(
"Traders Circuit",
style: TextStyle(fontFamily: 'hiragino',
style: TextStyle(
fontFamily: 'hiragino',
fontSize: 50,
fontWeight: FontWeight.w600,
color: Colors.white),