api integration about us, privacy, terms and condition and faq api pending

This commit is contained in:
jayesh
2024-04-01 16:44:55 +05:30
35 changed files with 1181 additions and 87 deletions

View File

@@ -285,6 +285,18 @@ Widget text14W500(String text) {
);
}
Widget text14W500Overflow(String text) {
return Text(
text,
style: TextStyle(
fontSize: 14.sp,
color: Colors.white,
fontWeight: FontWeight.w500,
overflow: TextOverflow.ellipsis,
fontFamily: 'manrope'),
);
}
Widget text16W400_DADADA(String text) {
return Text(
text,
@@ -339,3 +351,14 @@ Widget text14W500_black(String text) {
fontFamily: 'manrope'),
);
}
Widget text10W300(String text) {
return Text(
text,
style: TextStyle(
fontSize: 10.sp,
color: Colors.white,
fontWeight: FontWeight.w300,
fontFamily: 'manrope'),
);
}

View File

@@ -110,7 +110,7 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
fontFamily: 'manrope',
),
debugShowCheckedModeBanner: false,
initialRoute: RouteName.splashScreen,
initialRoute: RouteName.contentbytes,
getPages: AppRoutes.appRoutes(),
),
designSize: const Size(390, 844),

View File

@@ -41,11 +41,16 @@ class RouteName {
static const String settings = '/settings';
static const String faqscreen = '/faqscreen';
static const String contentbytes = '/contentbytes';
//contact us
static const String contactUsMain = '/contactUsMain';
static const String contactUsMainDetails = '/contactUsMainDetails';
//my Profile
static const String myProfileScreen = '/myProfileScreen';
}

View File

@@ -3,6 +3,7 @@ import 'package:traderscircuit/Utils/Common/noInternet.dart';
import 'package:traderscircuit/resources/routes/route_name.dart';
import 'package:traderscircuit/view/MainScreen/ExploreUnseen.dart';
import 'package:traderscircuit/view/Sidemenu/AboutUs.dart';
import 'package:traderscircuit/view/Sidemenu/ContentBytes.dart';
import 'package:traderscircuit/view/Sidemenu/FaqScreen.dart';
import 'package:traderscircuit/view/Sidemenu/PrivacyPolicy.dart';
import 'package:traderscircuit/view/Sidemenu/Settings.dart';
@@ -154,6 +155,10 @@ class AppRoutes {
name: RouteName.settings,
page: () => const Settings(),
),
GetPage(
name: RouteName.contentbytes,
page: () => const ContentBytes(),
),
//contact us

View File

@@ -27,10 +27,8 @@ class _ExploreUnseenState extends State<ExploreUnseen> {
@override
Widget build(BuildContext context) {
return Scaffold(
drawerEnableOpenDragGesture: false,
key: _scaffoldKey1,
backgroundColor: Colors.black,
drawer: Container(child: SideMenu()),
extendBody: true,
appBar: CommonAppbar(titleTxt: ''),

View File

@@ -12,6 +12,7 @@ import 'package:traderscircuit/Utils/Common/sized_box.dart';
import 'package:traderscircuit/Utils/text.dart';
import 'package:traderscircuit/resources/routes/route_name.dart';
import 'package:traderscircuit/view/MainScreen/MainScreen.dart';
import 'package:traderscircuit/view/Sidemenu/PlayerWidget.dart';
import 'package:traderscircuit/view/Sidemenu/Sidemenu.dart';
import 'package:traderscircuit/view/onBoarding/splashScreen1.dart';
@@ -206,26 +207,31 @@ Widget ActiveCallsTab() {
children: [
text22W600('Content Bytes'),
sizedBoxHeight(8.w),
SingleChildScrollView(
scrollDirection: Axis.horizontal,
child: Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [
text16W400_DADADA('The Beauty and Power of Video'),
sizedBoxWidth(10.w),
Container(
height: 35.h,
width: 105.w,
decoration: BoxDecoration(
color: Color(0xFF3A3A3A).withOpacity(0.6),
borderRadius: BorderRadius.circular(5.r),
border: Border.all(
color: Color(0xFF3A3A3A),
)),
child: Center(child: text16W500('View More')),
Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [
text16W400_DADADA('The Beauty and Power of Video'),
sizedBoxWidth(10.w),
Container(
height: 35.h,
width: 105.w,
decoration: BoxDecoration(
color: Color(0xFF3A3A3A).withOpacity(0.6),
borderRadius: BorderRadius.circular(5.r),
border: Border.all(
color: Color(0xFF3A3A3A),
),
),
],
),
child: Center(
child: InkWell(
onTap: () {
Get.toNamed(RouteName.contentbytes);
},
child: text16W500('View More'),
),
),
),
],
),
sizedBoxHeight(20.h),
commonGlassContainer(
@@ -236,19 +242,26 @@ Widget ActiveCallsTab() {
padding: EdgeInsets.symmetric(vertical: 10.h, horizontal: 10.w),
child: Column(
children: [
Container(
height: 200.h,
width: double.infinity,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8.r),
image: DecorationImage(
image: AssetImage(
'assets/images/png/Rectangle 17934.png'))),
child: Center(
child: SvgPicture.asset(
'assets/images/svg/gridicons_play.svg',
height: 56.h,
width: 56.w,
InkWell(
onTap: () {
Get.to(
() => PlayerWidget(),
);
},
child: Container(
height: 200.h,
width: double.infinity,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8.r),
image: DecorationImage(
image: AssetImage(
'assets/images/png/Rectangle 17934.png'))),
child: Center(
child: SvgPicture.asset(
'assets/images/svg/gridicons_play.svg',
height: 56.h,
width: 56.w,
),
),
),
),

View File

@@ -87,6 +87,7 @@ class _NotificationScreenState extends State<NotificationScreen> {
),
sizedBoxHeight(30.h),
ListView.builder(
physics: NeverScrollableScrollPhysics(),
shrinkWrap: true,
itemCount: CardList.length,
itemBuilder: (context, index) {

View File

@@ -34,7 +34,8 @@ class _HoldingsState extends State<Holdings> {
return Scaffold(
key: _scaffoldKey1,
backgroundColor: Colors.black,
drawer: Container(width: 320.w, child: SideMenu()),
drawerEnableOpenDragGesture: false,
drawer: Container( child: SideMenu()),
extendBody: true,
appBar: AppBar(
scrolledUnderElevation: 0.0,

View File

@@ -25,7 +25,8 @@ class _PortfolioState extends State<Portfolio> {
return Scaffold(
key: _scaffoldKey1,
backgroundColor: Colors.black,
drawer: Container(width: 320.w, child: SideMenu()),
drawerEnableOpenDragGesture: false,
drawer: Container(child: SideMenu()),
extendBody: true,
appBar: AppBar(
scrolledUnderElevation: 0.0,

View File

@@ -10,7 +10,9 @@ 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/resources/routes/route_name.dart';
import 'package:traderscircuit/view/MainScreen/MainScreen.dart';
import 'package:traderscircuit/view/Sidemenu/PlayerWidget.dart';
import 'package:traderscircuit/view/Sidemenu/Sidemenu.dart';
import 'package:traderscircuit/view/onBoarding/splashScreen1.dart';
@@ -29,7 +31,7 @@ class _ShortTradeState extends State<ShortTrade> {
Widget build(BuildContext context) {
return Scaffold(
key: _scaffoldKey1,
backgroundColor: Colors.black,
backgroundColor: Colors.black, drawerEnableOpenDragGesture: false,
drawer: Container(child: SideMenu()),
extendBody: true,
appBar: AppBar(
@@ -168,7 +170,14 @@ class _ShortTradeState extends State<ShortTrade> {
border: Border.all(
color: Color(0xFF3A3A3A),
)),
child: Center(child: text16W500('View More')),
child: Center(
child: InkWell(
onTap: () {
Get.toNamed(RouteName.contentbytes);
},
child: text16W500('View More'),
),
),
),
],
),
@@ -183,19 +192,24 @@ class _ShortTradeState extends State<ShortTrade> {
EdgeInsets.symmetric(vertical: 10.h, horizontal: 10.w),
child: Column(
children: [
Container(
height: 200.h,
width: double.infinity,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8.r),
image: DecorationImage(
image: AssetImage(
'assets/images/png/Rectangle 17934.png'))),
child: Center(
child: SvgPicture.asset(
'assets/images/svg/gridicons_play.svg',
height: 56.h,
width: 56.w,
InkWell(
onTap: () {
Get.to(PlayerWidget());
},
child: Container(
height: 200.h,
width: double.infinity,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8.r),
image: DecorationImage(
image: AssetImage(
'assets/images/png/Rectangle 17934.png'))),
child: Center(
child: SvgPicture.asset(
'assets/images/svg/gridicons_play.svg',
height: 56.h,
width: 56.w,
),
),
),
),
@@ -236,7 +250,6 @@ class _ShortTradeState extends State<ShortTrade> {
void _unlockbottomsheet() {
Get.bottomSheet(
commonGlassContainer(
width: double.infinity,
height: 439.h,
@@ -264,7 +277,6 @@ class _ShortTradeState extends State<ShortTrade> {
)
],
),
),
),
),

View File

@@ -0,0 +1,827 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:get/get.dart';
import 'package:traderscircuit/Utils/Common/CommonAppbar.dart';
import 'package:traderscircuit/Utils/Common/CustomTextFormField.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/Sidemenu/PlayerWidget.dart';
import 'package:traderscircuit/view/Sidemenu/Sidemenu.dart';
import 'package:traderscircuit/view/onBoarding/splashScreen1.dart';
class ContentBytes extends StatefulWidget {
const ContentBytes({super.key});
@override
State<ContentBytes> createState() => _ContentBytesState();
}
class _ContentBytesState extends State<ContentBytes> {
GlobalKey<ScaffoldState> _scaffoldKey1 = GlobalKey<ScaffoldState>();
final selectedIndex = 0.obs;
List<String> reels = [
"assets/images/png/sidemenu/reels1.png",
"assets/images/png/sidemenu/reels2.png",
"assets/images/png/sidemenu/reels3.png",
"assets/images/png/sidemenu/reels4.png",
];
List<String> audionewimage = [
"assets/images/png/sidemenu/audionew1.png",
"assets/images/png/sidemenu/audionew2.png",
"assets/images/png/sidemenu/audionew1.png",
];
List<String> mostread = [
"assets/images/png/sidemenu/Read1.png",
"assets/images/png/sidemenu/Read2.png",
"assets/images/png/sidemenu/Read1.png",
];
List<String> audio = [
"assets/images/png/sidemenu/audio1.png",
"assets/images/png/sidemenu/audio2.png",
"assets/images/png/sidemenu/audio3.png",
"assets/images/png/sidemenu/audio4.png",
"assets/images/png/sidemenu/audio1.png",
"assets/images/png/sidemenu/audio2.png",
];
List<String> audioname = [
"Week of 21st March 2024",
"Week of 21st March 2024",
"Week of 21st March 2024",
"Week of 21st March 2024",
"Week of 21st March 2024",
"Week of 21st March 2024",
];
List<String> audionamenewrelease = [
"Week of 21st March 2024",
"Week of 21st March 2024",
"Week of 21st March 2024",
];
@override
Widget build(BuildContext context) {
return Scaffold(
key: _scaffoldKey1,
backgroundColor: Colors.black,
extendBody: true,
appBar: CommonAppbar(titleTxt: "Content Bytes"),
body: Stack(
children: [
CommonBlurLeft(),
CommonBlurRight(),
Stack(
children: [
Padding(
padding: EdgeInsets.symmetric(horizontal: 16, vertical: 16),
child: ListView(
children: [
SizedBox(
height: 10,
),
DefaultTabController(
length: 3,
// initialIndex: selectedIndex.value,
child: Column(
children: [
ContentTabBar(),
SizedBox(
height: 30.h,
),
SizedBox(
height: 600.h,
child: TabBarView(
children: [
Videos(images: reels),
Audios(
audio: audio,
audioname: audioname,
audionewimage: audionewimage,
audionamenewrelease: audionamenewrelease),
Reads(mostread: mostread),
],
),
),
],
),
),
sizedBoxHeight(40.h),
],
),
),
],
),
],
),
);
}
}
class Reads extends StatelessWidget {
const Reads({
super.key,
required this.mostread,
});
final List<String> mostread;
@override
Widget build(BuildContext context) {
return SingleChildScrollView(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
children: [
SizedBox(
width: 300,
child: CustomTextFormField(
leadingIcon: Icon(Icons.search),
),
),
SizedBox(
width: 15.w,
),
Image.asset(
"assets/images/png/filter.png",
height: 30.h,
width: 30.w,
),
],
),
SizedBox(
height: 10.h,
),
text22W600('Harnessing the Power of Ebooks"'),
sizedBoxHeight(20.h),
commonGlassContainer(
borderradius: 8,
width: double.infinity,
height: 150.h,
customWidget: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.end,
children: [
SizedBox(
width: 10,
),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Spacer(),
SizedBox(
width: 235.w,
child: text20W400('"Stock Market Essentials"'),
),
sizedBoxHeight(10.h),
SizedBox(
width: 230.w,
child: text16W400(
'A Comprehensive Guide to Understanding the Market'),
),
Spacer()
],
),
SizedBox(
width: 20,
),
Column(
mainAxisAlignment: MainAxisAlignment.end,
crossAxisAlignment: CrossAxisAlignment.end,
children: [
Image.asset(
"assets/images/png/sidemenu/book1.png",
height: 110,
),
],
)
],
),
),
sizedBoxHeight(20.h),
commonGlassContainer(
borderradius: 8,
width: double.infinity,
height: 150.h,
customWidget: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.end,
children: [
SizedBox(
width: 10,
),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Spacer(),
SizedBox(
width: 235.w,
child: text20W400('"Stock Market Essentials"'),
),
sizedBoxHeight(10.h),
SizedBox(
width: 230.w,
child: text16W400(
'A Comprehensive Guide to Understanding the Market'),
),
Spacer()
],
),
SizedBox(
width: 20,
),
Column(
mainAxisAlignment: MainAxisAlignment.end,
crossAxisAlignment: CrossAxisAlignment.end,
children: [
Image.asset(
"assets/images/png/sidemenu/book1.png",
height: 110,
),
],
)
],
),
),
sizedBoxHeight(30.h),
text22W500("Most Read"),
sizedBoxHeight(25.h),
Container(
height: 220.h,
child: ListView.separated(
separatorBuilder: (context, index) {
return SizedBox(
width: 10.w,
);
},
scrollDirection: Axis.horizontal,
itemCount: 3,
itemBuilder: (context, index) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
height: 216.h,
width: 150.w,
decoration: BoxDecoration(
gradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
Colors.white.withOpacity(0.1),
Color(0xFFFFFFFF).withOpacity(0.05),
],
stops: [
0.1,
1,
],
),
borderRadius: BorderRadius.circular(8),
),
child: Image.asset(mostread[index]),
),
],
);
},
),
),
sizedBoxHeight(30.h),
text22W500("Previous Read"),
sizedBoxHeight(20.h),
Container(
height: 90.h,
child: ListView.separated(
separatorBuilder: (context, index) {
return SizedBox(
width: 10.w,
);
},
scrollDirection: Axis.horizontal,
itemCount: 2,
itemBuilder: (context, index) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
height: 85.h,
width: 230.w,
decoration: BoxDecoration(
gradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
Colors.white.withOpacity(0.1),
Color(0xFFFFFFFF).withOpacity(0.05),
],
stops: [
0.1,
1,
],
),
borderRadius: BorderRadius.circular(8),
),
child: Row(
// mainAxisAlignment:
// MainAxisAlignment.start,
children: [
SizedBox(
width: 10,
),
Image.asset(mostread[index]),
SizedBox(
width: 15.w,
),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
SizedBox(
width: 135.w,
child: text12W500("Stock Market Essentials"),
),
SizedBox(
width: 130.w,
child: text10W300(
"A Comprehensive Guide to Understanding the Market"),
)
],
)
],
),
),
],
);
},
),
),
],
),
);
}
}
class Audios extends StatelessWidget {
const Audios({
super.key,
required this.audio,
required this.audioname,
required this.audionewimage,
required this.audionamenewrelease,
});
final List<String> audio;
final List<String> audioname;
final List<String> audionewimage;
final List<String> audionamenewrelease;
@override
Widget build(BuildContext context) {
return SingleChildScrollView(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
children: [
SizedBox(
width: 300,
child: CustomTextFormField(
leadingIcon: Icon(Icons.search),
),
),
SizedBox(
width: 15.w,
),
Image.asset(
"assets/images/png/filter.png",
height: 30.h,
width: 30.w,
),
],
),
SizedBox(
height: 10.h,
),
text22W600('Content Bytes'),
sizedBoxHeight(8.w),
text16W400_DADADA('The Beauty and Power of Video'),
sizedBoxHeight(20.h),
Container(
height: 550,
child: GridView.builder(
physics: NeverScrollableScrollPhysics(),
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
mainAxisExtent: 172,
crossAxisCount: 2, // number of items in each row
mainAxisSpacing: 8.0, // spacing between rows
crossAxisSpacing: 8.0, // spacing between columns
),
itemCount: 6, // total number of items
itemBuilder: (context, index) {
return Container(
decoration: BoxDecoration(
gradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
Colors.white.withOpacity(0.1),
Color(0xFFFFFFFF).withOpacity(0.05),
],
stops: [
0.1,
1,
],
),
borderRadius: BorderRadius.circular(8),
),
child: Stack(
children: [
Image.asset(
audio[index],
),
Positioned(
bottom: 5,
left: 5,
child: Row(
children: [
CircleAvatar(
radius: 18.sp,
child: Icon(Icons.headphones),
),
SizedBox(
width: 5.w,
),
SizedBox(
width: 125.w,
child: text14W500(audioname[index]),
),
],
),
),
],
),
);
},
),
),
SizedBox(
height: 20.h,
),
text22W600("New Release"),
SizedBox(
height: 25.h,
),
Container(
height: 250.h,
child: ListView.separated(
separatorBuilder: (context, index) {
return SizedBox(
width: 10,
);
},
scrollDirection: Axis.horizontal,
itemCount: 3,
itemBuilder: (context, index) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
height: 183.h,
width: 148.w,
decoration: BoxDecoration(
gradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
Colors.white.withOpacity(0.1),
Color(0xFFFFFFFF).withOpacity(0.05),
],
stops: [
0.1,
1,
],
),
borderRadius: BorderRadius.circular(8),
),
child: Stack(
children: [
Image.asset(audionewimage[index]),
Positioned(
right: 5,
top: 5,
child: CircleAvatar(
radius: 15,
child: Icon(
Icons.headphones,
size: 20,
),
),
),
],
),
),
SizedBox(
height: 10,
),
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
SizedBox(
width: 148.w,
child: text14W500Overflow(audionamenewrelease[index]),
),
],
)
],
);
},
),
)
],
),
);
}
}
class Videos extends StatelessWidget {
const Videos({
super.key,
required this.images,
});
final List<String> images;
@override
Widget build(BuildContext context) {
return SingleChildScrollView(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
children: [
SizedBox(
width: 300,
child: CustomTextFormField(
leadingIcon: Icon(Icons.search),
),
),
SizedBox(
width: 15.w,
),
Image.asset(
"assets/images/png/filter.png",
height: 30.h,
width: 30.w,
),
],
),
SizedBox(
height: 10.h,
),
text22W600('Content Bytes'),
sizedBoxHeight(8.w),
text16W400_DADADA('The Beauty and Power of Video'),
sizedBoxHeight(20.h),
InkWell(
onTap: () {
Get.to(() => PlayerWidget());
},
child: commonGlassContainer(
borderradius: 8,
width: double.infinity,
height: 300.h,
customWidget: Padding(
padding:
EdgeInsets.symmetric(vertical: 10.h, horizontal: 10.w),
child: Column(
children: [
Container(
height: 200.h,
width: double.infinity,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8.r),
image: DecorationImage(
image: AssetImage(
'assets/images/png/Rectangle 17934.png'))),
child: Center(
child: SvgPicture.asset(
'assets/images/svg/gridicons_play.svg',
height: 56.h,
width: 56.w,
),
),
),
sizedBoxHeight(20.h),
Row(
children: [
CircleAvatar(
radius: 23.r,
backgroundImage: AssetImage(
'assets/images/png/Ellipse 1494.png'),
),
sizedBoxWidth(10.w),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
text18W500('Week of 21st February 2024'),
// sizedBoxHeight(10.h),
text12W400_979797('20k views . 2 days ago'),
],
)
],
)
],
),
)),
),
sizedBoxHeight(20.h),
InkWell(
onTap: () {
Get.to(() {
PlayerWidget();
});
},
child: commonGlassContainer(
borderradius: 8,
width: double.infinity,
height: 300.h,
customWidget: Padding(
padding:
EdgeInsets.symmetric(vertical: 10.h, horizontal: 10.w),
child: Column(
children: [
Container(
height: 200.h,
width: double.infinity,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8.r),
image: DecorationImage(
image: AssetImage(
'assets/images/png/Rectangle 17934.png'))),
child: Center(
child: SvgPicture.asset(
'assets/images/svg/gridicons_play.svg',
height: 56.h,
width: 56.w,
),
),
),
sizedBoxHeight(20.h),
Row(
children: [
CircleAvatar(
radius: 23.r,
backgroundImage: AssetImage(
'assets/images/png/Ellipse 1494.png'),
),
sizedBoxWidth(10.w),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
text18W500('Week of 21st February 2024'),
// sizedBoxHeight(10.h),
text12W400_979797('20k views . 2 days ago'),
],
)
],
)
],
),
)),
),
sizedBoxHeight(15.h),
text22W600("Reels"),
sizedBoxHeight(25.h),
Container(
height: 500,
child: GridView.builder(
physics: NeverScrollableScrollPhysics(),
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
mainAxisExtent: 215,
crossAxisCount: 2, // number of items in each row
mainAxisSpacing: 8.0, // spacing between rows
crossAxisSpacing: 8.0, // spacing between columns
),
itemCount: 4, // total number of items
itemBuilder: (context, index) {
return Container(
decoration: BoxDecoration(
gradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
Colors.white.withOpacity(0.1),
Color(0xFFFFFFFF).withOpacity(0.05),
],
stops: [
0.1,
1,
],
),
borderRadius: BorderRadius.circular(8),
),
child: Image.asset(images[index]),
);
},
),
),
sizedBoxHeight(20.h),
InkWell(
onTap: () {
Get.to(() {
PlayerWidget();
});
},
child: commonGlassContainer(
borderradius: 8,
width: double.infinity,
height: 300.h,
customWidget: Padding(
padding:
EdgeInsets.symmetric(vertical: 10.h, horizontal: 10.w),
child: Column(
children: [
Container(
height: 200.h,
width: double.infinity,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8.r),
image: DecorationImage(
image: AssetImage(
'assets/images/png/Rectangle 17934.png'))),
child: Center(
child: SvgPicture.asset(
'assets/images/svg/gridicons_play.svg',
height: 56.h,
width: 56.w,
),
),
),
sizedBoxHeight(20.h),
Row(
children: [
CircleAvatar(
radius: 23.r,
backgroundImage: AssetImage(
'assets/images/png/Ellipse 1494.png'),
),
sizedBoxWidth(10.w),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
text18W500('Week of 21st February 2024'),
// sizedBoxHeight(10.h),
text12W400_979797('20k views . 2 days ago'),
],
)
],
)
],
),
)),
),
],
),
);
}
}
class ContentTabBar extends StatelessWidget {
// Set the desired height
@override
Widget build(BuildContext context) {
return TabBar(
tabAlignment: TabAlignment.fill,
isScrollable: false,
dividerColor: Colors.transparent,
labelStyle: TextStyle(
fontSize: 18.sp,
color: Colors.white,
fontWeight: FontWeight.w500,
fontFamily: 'manrope'),
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: 'Videos',
),
Tab(
text: 'Audios',
),
Tab(
text: 'Reads',
),
]);
}
}

View File

@@ -0,0 +1,68 @@
import 'package:chewie/chewie.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:traderscircuit/Utils/Common/CommonAppBar.dart';
import 'package:video_player/video_player.dart';
class PlayerWidget extends StatefulWidget {
const PlayerWidget({super.key});
@override
State<PlayerWidget> createState() => _PlayerWidgetState();
}
class _PlayerWidgetState extends State<PlayerWidget> {
late VideoPlayerController videoPlayerController;
late ChewieController chewieController;
@override
void initState() {
// TODO: implement initState
super.initState();
_initializePlayer();
}
_initializePlayer() async {
videoPlayerController = VideoPlayerController.networkUrl(Uri.tryParse(
"https://flutter.github.io/assets-for-api-docs/assets/videos/bee.mp4")!);
await videoPlayerController.initialize();
initChewie();
}
initChewie() {
chewieController = ChewieController(
videoPlayerController: videoPlayerController,
autoPlay: true,
looping: false);
}
@override
Widget build(BuildContext context) {
return videoPlayerController != null &&
videoPlayerController.value.isInitialized
? Scaffold(
backgroundColor: Colors.black,
appBar: AppBar(
backgroundColor: Colors.black,
leading: InkWell(
onTap: () => Get.back(),
child: Icon(
Icons.arrow_back_ios,
color: Colors.white,
),
),
),
// CommonAppbar(titleTxt: ""),
body: Center(
child: AspectRatio(
aspectRatio: videoPlayerController.value.aspectRatio,
child: Chewie(
controller: chewieController,
),
),
),
)
: Center(child: CircularProgressIndicator());
}
}

View File

@@ -13,6 +13,9 @@ class Settings extends StatefulWidget {
class _SettingsState extends State<Settings> {
bool isSwitched = false;
bool isSwitched1 = false;
bool isSwitched2 = false;
bool isSwitched3 = false;
void _toggleSwitch(bool value) {
setState(() {
@@ -20,6 +23,24 @@ class _SettingsState extends State<Settings> {
});
}
void _toggleSwitch1(bool value1) {
setState(() {
isSwitched1 = value1;
});
}
void _toggleSwitch2(bool value2) {
setState(() {
isSwitched2 = value2;
});
}
void _toggleSwitch3(bool value3) {
setState(() {
isSwitched3 = value3;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
@@ -43,23 +64,7 @@ class _SettingsState extends State<Settings> {
children: [
// CommonDropdownBtn(hint: "hint", items: ["hi", "hii"]),
SizedBox(
height: 10.h,
),
Row(
children: [
text20W400("Dark Mode"),
Spacer(),
Switch(
value: isSwitched,
onChanged: _toggleSwitch,
activeTrackColor: Colors.green,
activeColor: Colors.white,
inactiveTrackColor: Colors.white,
inactiveThumbColor: Colors.black,
),
],
),
SizedBox(
height: 40.h,
),
@@ -103,8 +108,8 @@ class _SettingsState extends State<Settings> {
text20W400("In - App Notifications"),
Spacer(),
Switch(
value: isSwitched,
onChanged: _toggleSwitch,
value: isSwitched1,
onChanged: _toggleSwitch1,
activeTrackColor: Colors.green,
activeColor: Colors.white,
inactiveTrackColor: Colors.white,
@@ -120,8 +125,8 @@ class _SettingsState extends State<Settings> {
text20W400("Push Notifications"),
Spacer(),
Switch(
value: isSwitched,
onChanged: _toggleSwitch,
value: isSwitched2,
onChanged: _toggleSwitch2,
activeTrackColor: Colors.green,
activeColor: Colors.white,
inactiveTrackColor: Colors.white,
@@ -137,8 +142,8 @@ class _SettingsState extends State<Settings> {
text20W400("E-mail Notifications"),
Spacer(),
Switch(
value: isSwitched,
onChanged: _toggleSwitch,
value: isSwitched3,
onChanged: _toggleSwitch3,
activeTrackColor: Colors.green,
activeColor: Colors.white,
inactiveTrackColor: Colors.white,

View File

@@ -183,7 +183,7 @@ class _SideMenuState extends State<SideMenu> {
selected: true,
onTap: () {
setState(() {
// Get.toNamed(RouteName.privacypolicy);
Get.toNamed(RouteName.contentbytes);
});
},
),
@@ -254,7 +254,7 @@ class _SideMenuState extends State<SideMenu> {
ListTile(
leading: SvgPicture.asset(
'assets/images/svg/sidemenu/Group 51347.svg'),
title: text18W400('My Subscription'),
title: text18W400('My Risk Profile'),
trailing: Container(
height: 35.h,
width: 122.w,
@@ -267,7 +267,7 @@ class _SideMenuState extends State<SideMenu> {
selected: true,
onTap: () {
setState(() {
// Get.toNamed(RouteName.privacypolicy);
Get.toNamed(RouteName.updateriskprofile);
});
},
),
@@ -458,7 +458,14 @@ void navigateTo(int index, BuildContext context) {
text20W400_center(
'Are you sure you want to logout your account?'),
sizedBoxHeight(50.h),
CommonYesNoBtn(),
CommonYesNoBtn(
yesonTap: () {
Get.toNamed(RouteName.loginscreen);
},
noonTap: () {
Get.back();
},
),
],
),
),

View File

@@ -109,7 +109,9 @@ class _AddDetailsState extends State<AddDetails> {
SizedBox(
height: 15.h,
),
CustomTextFormField(),
CustomTextFormField(
texttype: TextInputType.emailAddress,
),
SizedBox(
height: 30.h,
),
@@ -121,7 +123,9 @@ class _AddDetailsState extends State<AddDetails> {
SizedBox(
height: 15.h,
),
CustomTextFormField(),
CustomTextFormField(
texttype: TextInputType.phone,
),
SizedBox(
height: 30.h,
),

View File

@@ -380,7 +380,9 @@ class _KycState extends State<Kyc> {
SizedBox(
height: 15.h,
),
const CustomTextFormField(),
const CustomTextFormField(
texttype: TextInputType.phone,
),
SizedBox(
height: 30.h,
),

View File

@@ -309,8 +309,13 @@ class _LoginScreenState extends State<LoginScreen> {
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
text16W700(
"Continue as guest",
InkWell(
onTap: () {
Get.toNamed(RouteName.mainscreen);
},
child: text16W700(
"Continue as guest",
),
),
],
)

View File

@@ -50,6 +50,8 @@ class _VerifyOTPState extends State<VerifyOTP> {
child: PinCodeTextField(
showCursor: true,
cursorColor: Colors.white,
hintStyle:
TextStyle(fontSize: 18.sp, color: Colors.white),
textStyle:
TextStyle(fontSize: 18.sp, color: Colors.white),
errorTextSpace: 22,