api integration about us, privacy, terms and condition and faq api pending
This commit is contained in:
@@ -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: ''),
|
||||
|
||||
|
||||
@@ -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,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
@@ -87,6 +87,7 @@ class _NotificationScreenState extends State<NotificationScreen> {
|
||||
),
|
||||
sizedBoxHeight(30.h),
|
||||
ListView.builder(
|
||||
physics: NeverScrollableScrollPhysics(),
|
||||
shrinkWrap: true,
|
||||
itemCount: CardList.length,
|
||||
itemBuilder: (context, index) {
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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> {
|
||||
)
|
||||
],
|
||||
),
|
||||
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
827
lib/view/Sidemenu/ContentBytes.dart
Normal file
827
lib/view/Sidemenu/ContentBytes.dart
Normal 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',
|
||||
),
|
||||
]);
|
||||
}
|
||||
}
|
||||
68
lib/view/Sidemenu/PlayerWidget.dart
Normal file
68
lib/view/Sidemenu/PlayerWidget.dart
Normal 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());
|
||||
}
|
||||
}
|
||||
@@ -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,
|
||||
|
||||
@@ -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();
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
@@ -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,
|
||||
),
|
||||
|
||||
@@ -380,7 +380,9 @@ class _KycState extends State<Kyc> {
|
||||
SizedBox(
|
||||
height: 15.h,
|
||||
),
|
||||
const CustomTextFormField(),
|
||||
const CustomTextFormField(
|
||||
texttype: TextInputType.phone,
|
||||
),
|
||||
SizedBox(
|
||||
height: 30.h,
|
||||
),
|
||||
|
||||
@@ -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",
|
||||
),
|
||||
),
|
||||
],
|
||||
)
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user