contact ui, create ticket
This commit is contained in:
@@ -27,9 +27,10 @@ class _ExploreUnseenState extends State<ExploreUnseen> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
drawerEnableOpenDragGesture: false,
|
||||
key: _scaffoldKey1,
|
||||
backgroundColor: Colors.black,
|
||||
drawer: Container(width: 320.w, child: SideMenu()),
|
||||
drawer: Container(child: SideMenu()),
|
||||
extendBody: true,
|
||||
appBar: CommonAppbar(titleTxt: ''),
|
||||
|
||||
|
||||
665
lib/view/MainScreen/Portfolio/Holdings.dart
Normal file
665
lib/view/MainScreen/Portfolio/Holdings.dart
Normal file
@@ -0,0 +1,665 @@
|
||||
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: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 Scaffold(
|
||||
key: _scaffoldKey1,
|
||||
backgroundColor: Colors.black,
|
||||
drawer: Container(width: 320.w, 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),
|
||||
);
|
||||
}
|
||||
|
||||
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: 'manrope'),
|
||||
),
|
||||
),
|
||||
TableCell(
|
||||
child: Text(
|
||||
"AVG Price",
|
||||
textAlign: TextAlign.center,
|
||||
style: TextStyle(
|
||||
fontSize: 16.sp,
|
||||
color: Colors.white,
|
||||
fontWeight: FontWeight.w500,
|
||||
fontFamily: 'manrope'),
|
||||
),
|
||||
),
|
||||
TableCell(
|
||||
child: Text(
|
||||
"Quantity",
|
||||
textAlign: TextAlign.center,
|
||||
style: TextStyle(
|
||||
fontSize: 16.sp,
|
||||
color: Colors.white,
|
||||
fontWeight: FontWeight.w500,
|
||||
fontFamily: 'manrope'),
|
||||
),
|
||||
),
|
||||
TableCell(
|
||||
child: Text(
|
||||
"Exchange",
|
||||
textAlign: TextAlign.center,
|
||||
style: TextStyle(
|
||||
fontSize: 16.sp,
|
||||
color: Colors.white,
|
||||
fontWeight: FontWeight.w500,
|
||||
fontFamily: 'manrope'),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
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: 'manrope'),
|
||||
),
|
||||
),
|
||||
TableCell(
|
||||
child: Text(
|
||||
"416.66",
|
||||
textAlign: TextAlign.center,
|
||||
style: TextStyle(
|
||||
fontSize: 16.sp,
|
||||
color: Colors.white,
|
||||
fontWeight: FontWeight.w500,
|
||||
fontFamily: 'manrope'),
|
||||
),
|
||||
),
|
||||
TableCell(
|
||||
child: Text(
|
||||
"3",
|
||||
textAlign: TextAlign.center,
|
||||
style: TextStyle(
|
||||
fontSize: 16.sp,
|
||||
color: Colors.white,
|
||||
fontWeight: FontWeight.w500,
|
||||
fontFamily: 'manrope'),
|
||||
),
|
||||
),
|
||||
TableCell(
|
||||
child: Text(
|
||||
"BSE",
|
||||
textAlign: TextAlign.center,
|
||||
style: TextStyle(
|
||||
fontSize: 16.sp,
|
||||
color: Colors.white,
|
||||
fontWeight: FontWeight.w500,
|
||||
fontFamily: 'manrope'),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
);
|
||||
}),
|
||||
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: 18.sp,
|
||||
color: Colors.white,
|
||||
fontWeight: FontWeight.w500,
|
||||
fontFamily: 'manrope'),
|
||||
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: '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: 'Portfolio 1',
|
||||
),
|
||||
Tab(
|
||||
text: 'Portfolio 2',
|
||||
),
|
||||
Tab(
|
||||
text: 'Portfolio 3',
|
||||
),
|
||||
Tab(
|
||||
text: 'Portfolio 4',
|
||||
),
|
||||
Tab(
|
||||
text: 'Portfolio 5',
|
||||
),
|
||||
]);
|
||||
}
|
||||
}
|
||||
95
lib/view/MainScreen/Portfolio/PortfolioEmpty.dart
Normal file
95
lib/view/MainScreen/Portfolio/PortfolioEmpty.dart
Normal file
@@ -0,0 +1,95 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:lottie/lottie.dart';
|
||||
import 'package:traderscircuit/Utils/Common/CommonBottomNavigation.dart';
|
||||
import 'package:traderscircuit/Utils/Common/commonBotton.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 Portfolio extends StatefulWidget {
|
||||
const Portfolio({super.key});
|
||||
|
||||
@override
|
||||
State<Portfolio> createState() => _PortfolioState();
|
||||
}
|
||||
|
||||
class _PortfolioState extends State<Portfolio> {
|
||||
GlobalKey<ScaffoldState> _scaffoldKey1 = GlobalKey<ScaffoldState>();
|
||||
List<String> containerTexts = ["Swing Trade", "Multibagger", "Options"];
|
||||
final selectedIndex = 0.obs;
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
key: _scaffoldKey1,
|
||||
backgroundColor: Colors.black,
|
||||
drawer: Container(width: 320.w, 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: Column(
|
||||
children: [
|
||||
Row(
|
||||
children: [
|
||||
text25W600("My Portfolio"),
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 30.h,
|
||||
),
|
||||
Text(
|
||||
'Please click the "Add" button below to add a portfolio.',
|
||||
textAlign: TextAlign.center,
|
||||
style: TextStyle(
|
||||
color: Colors.white,
|
||||
fontSize: 16.sp,
|
||||
fontWeight: FontWeight.w400,
|
||||
),
|
||||
),
|
||||
Spacer(),
|
||||
LottieBuilder.asset(
|
||||
"assets/images/empty.json",
|
||||
width: 200.w,
|
||||
height: 200.h,
|
||||
),
|
||||
Spacer(),
|
||||
CommonBtn(text: "Add"),
|
||||
Spacer(),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
)
|
||||
],
|
||||
),
|
||||
bottomNavigationBar: bottomnavigationbar(mainController),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -30,7 +30,7 @@ class _ShortTradeState extends State<ShortTrade> {
|
||||
return Scaffold(
|
||||
key: _scaffoldKey1,
|
||||
backgroundColor: Colors.black,
|
||||
drawer: Container(width: 320.w, child: SideMenu()),
|
||||
drawer: Container(child: SideMenu()),
|
||||
extendBody: true,
|
||||
appBar: AppBar(
|
||||
scrolledUnderElevation: 0.0,
|
||||
@@ -50,6 +50,7 @@ class _ShortTradeState extends State<ShortTrade> {
|
||||
),
|
||||
),
|
||||
),
|
||||
// title: text22W600('Short'),
|
||||
),
|
||||
|
||||
// CommonAppbar(
|
||||
@@ -136,7 +137,7 @@ class _ShortTradeState extends State<ShortTrade> {
|
||||
Widget ActiveCallsTab() {
|
||||
return Obx(() {
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
if (selectedIndex == 1) _unlockbottomsheet();
|
||||
if (selectedIndex == 1 || selectedIndex == 2) _unlockbottomsheet();
|
||||
});
|
||||
return selectedIndex == 0
|
||||
? Column(
|
||||
@@ -235,18 +236,17 @@ class _ShortTradeState extends State<ShortTrade> {
|
||||
|
||||
void _unlockbottomsheet() {
|
||||
Get.bottomSheet(
|
||||
SizedBox(
|
||||
height: 500,
|
||||
child: commonGlassContainer(
|
||||
width: double.infinity,
|
||||
height: 500,
|
||||
borderradius: 0,
|
||||
customWidget: SizedBox(
|
||||
height: 100,
|
||||
|
||||
commonGlassContainer(
|
||||
width: double.infinity,
|
||||
height: 439.h,
|
||||
borderradius: 4,
|
||||
customWidget: Center(
|
||||
child: Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 35.w),
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
sizedBoxHeight(50.h),
|
||||
// Image.asset(
|
||||
// 'assets/images/png/Group 1000003722.png',
|
||||
// height: 100.h,
|
||||
@@ -254,12 +254,17 @@ class _ShortTradeState extends State<ShortTrade> {
|
||||
// sizedBoxHeight(25.h),
|
||||
text20W400('Please subscribed to unlock'),
|
||||
sizedBoxHeight(30.h),
|
||||
CommonBtn(text: 'Subscribe Now'),
|
||||
CommonBtn(
|
||||
text: 'Subscribe Now',
|
||||
onTap: () {},
|
||||
),
|
||||
|
||||
SizedBox(
|
||||
height: 100,
|
||||
)
|
||||
],
|
||||
),
|
||||
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
324
lib/view/Sidemenu/FaqScreen.dart
Normal file
324
lib/view/Sidemenu/FaqScreen.dart
Normal file
@@ -0,0 +1,324 @@
|
||||
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: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/onBoarding/splashScreen1.dart';
|
||||
|
||||
class FaqScreen extends StatefulWidget {
|
||||
const FaqScreen({super.key});
|
||||
|
||||
@override
|
||||
State<FaqScreen> createState() => _FaqScreenState();
|
||||
}
|
||||
|
||||
class _FaqScreenState extends State<FaqScreen> {
|
||||
List<String> containerTexts = [
|
||||
"Subscriptions",
|
||||
"Investments",
|
||||
"App features"
|
||||
];
|
||||
|
||||
final selectedIndex = 0.obs;
|
||||
late RxList<bool> isExpandedList;
|
||||
@override
|
||||
void initState() {
|
||||
isExpandedList = RxList.generate(Faqcard.length, (index) => index == 0);
|
||||
super.initState();
|
||||
}
|
||||
|
||||
List<Map<String, String>> Faqcard = [
|
||||
{
|
||||
'title': 'How to create new account?',
|
||||
'content':
|
||||
"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since. Lorem Ipsum has been the industry's standard dummy text ever since.",
|
||||
},
|
||||
{
|
||||
'title': 'What is Traders Circuits ?',
|
||||
'content':
|
||||
"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since. Lorem Ipsum has been the industry's standard dummy text ever since.",
|
||||
},
|
||||
{
|
||||
'title': 'What is Traders Circuits ?',
|
||||
'content':
|
||||
"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since. Lorem Ipsum has been the industry's standard dummy text ever since.",
|
||||
},
|
||||
{
|
||||
'title': 'What is Traders Circuits ?',
|
||||
'content':
|
||||
"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since. Lorem Ipsum has been the industry's standard dummy text ever since.",
|
||||
},
|
||||
{
|
||||
'title': 'What is Traders Circuits ?',
|
||||
'content':
|
||||
"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since. Lorem Ipsum has been the industry's standard dummy text ever since.",
|
||||
},
|
||||
];
|
||||
|
||||
List<Map<String, String>> Faqcard2 = [
|
||||
{
|
||||
'title': 'How to create new account?',
|
||||
'content':
|
||||
"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since. Lorem Ipsum has been the industry's standard dummy text ever since.",
|
||||
},
|
||||
{
|
||||
'title': 'What is Traders Circuits ?',
|
||||
'content':
|
||||
"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since. Lorem Ipsum has been the industry's standard dummy text ever since.",
|
||||
},
|
||||
];
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: CommonAppbar(
|
||||
titleTxt: "",
|
||||
),
|
||||
backgroundColor: Colors.black,
|
||||
extendBody: true,
|
||||
body: Stack(children: [
|
||||
CommonBlurLeft(),
|
||||
CommonBlurRight(),
|
||||
Stack(children: [
|
||||
Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 16),
|
||||
child: ListView(physics: BouncingScrollPhysics(), children: [
|
||||
text25W600('FAQ'),
|
||||
sizedBoxHeight(20),
|
||||
CustomTextFormField1(
|
||||
hintText: 'Search Chats',
|
||||
leadingIcon: Container(
|
||||
height: 20,
|
||||
width: 20,
|
||||
child: Center(
|
||||
child: SvgPicture.asset(
|
||||
'assets/images/svg/search-svgrepo-com.svg',
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
sizedBoxHeight(20.h),
|
||||
SizedBox(
|
||||
height: 60,
|
||||
width: double.infinity,
|
||||
// color: Colors.amber,
|
||||
child: ListView.builder(
|
||||
shrinkWrap: true,
|
||||
scrollDirection: Axis.horizontal,
|
||||
itemCount: containerTexts.length,
|
||||
itemBuilder: (context, index) {
|
||||
return GestureDetector(
|
||||
onTap: () {
|
||||
selectedIndex.value = index;
|
||||
},
|
||||
child: Row(
|
||||
children: [
|
||||
topContainer(containerTexts[index], index),
|
||||
sizedBoxWidth(10.w)
|
||||
],
|
||||
),
|
||||
);
|
||||
}),
|
||||
),
|
||||
sizedBoxHeight(20.h),
|
||||
Obx(() {
|
||||
return selectedIndex == 0
|
||||
? Column(
|
||||
children: List.generate(Faqcard.length, (index) {
|
||||
return customExpandableItem(
|
||||
isExpanded: isExpandedList[index],
|
||||
title: Faqcard[index]['title']!,
|
||||
content: Faqcard[index]['content']!,
|
||||
toggleExpansion: () => toggleExpansion(index),
|
||||
);
|
||||
}))
|
||||
: Column(
|
||||
children: List.generate(Faqcard2.length, (index) {
|
||||
return customExpandableItem(
|
||||
isExpanded: isExpandedList[index],
|
||||
title: Faqcard2[index]['title']!,
|
||||
content: Faqcard2[index]['content']!,
|
||||
toggleExpansion: () => toggleExpansion(index),
|
||||
);
|
||||
}));
|
||||
}),
|
||||
|
||||
// ListView.builder(
|
||||
// shrinkWrap: true,
|
||||
// itemCount: Faqcard.length,
|
||||
// itemBuilder: (BuildContext context, int index) {
|
||||
// return Obx(
|
||||
// () {
|
||||
// return customExpandableItem(
|
||||
// isExpanded: isExpandedList[index],
|
||||
// title: Faqcard[index]['title']!,
|
||||
// content: Faqcard[index]['content']!,
|
||||
// toggleExpansion: () => toggleExpansion(index),
|
||||
// );
|
||||
// },
|
||||
// );
|
||||
// },
|
||||
// ),
|
||||
|
||||
sizedBoxHeight(30.h),
|
||||
]))
|
||||
])
|
||||
]));
|
||||
}
|
||||
|
||||
Widget topContainer(String text, int index) {
|
||||
return Obx(() {
|
||||
return selectedIndex.value == index
|
||||
? Container(
|
||||
height: 38.h,
|
||||
width: 136.w,
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(5),
|
||||
color: Color(0XFF3F0502),
|
||||
border: Border.all(color: Color(0xFF9A0000), width: 1)),
|
||||
child: Center(child: text16W500(text)),
|
||||
)
|
||||
: commonGlassContainer(
|
||||
width: 136.w,
|
||||
height: 38.h,
|
||||
borderradius: 5,
|
||||
customWidget: Center(child: text16W400(text)),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
void toggleExpansion(int index) {
|
||||
// isExpandedList[index] = !isExpandedList[index];
|
||||
for (int i = 0; i < isExpandedList.length; i++) {
|
||||
if (i != index) {
|
||||
isExpandedList[i] = false;
|
||||
}
|
||||
}
|
||||
// Toggle the expansion state of the container being toggled
|
||||
isExpandedList[index] = !isExpandedList[index];
|
||||
}
|
||||
|
||||
Widget customExpandableItem({
|
||||
required bool isExpanded,
|
||||
required String title,
|
||||
required String content,
|
||||
required VoidCallback toggleExpansion,
|
||||
}) {
|
||||
return Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
GestureDetector(
|
||||
onTap: toggleExpansion,
|
||||
child: commonGlassContainer(
|
||||
width: double.infinity,
|
||||
height: isExpanded ? 55.h : 65.h,
|
||||
borderradius: 8,
|
||||
customWidget: Padding(
|
||||
padding: EdgeInsets.only(right: 13.w, left: 13.w),
|
||||
child: Center(
|
||||
child: Row(
|
||||
children: [
|
||||
Text(
|
||||
title,
|
||||
style: TextStyle(
|
||||
fontFamily: 'manrope',
|
||||
fontSize: 16.sp,
|
||||
fontWeight: FontWeight.w500,
|
||||
color: Colors.white,
|
||||
),
|
||||
),
|
||||
Spacer(),
|
||||
Icon(
|
||||
isExpanded
|
||||
? Icons.keyboard_arrow_up_outlined
|
||||
: Icons.keyboard_arrow_down_outlined,
|
||||
color: Colors.white,
|
||||
size: 25.sp,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
Visibility(
|
||||
visible: isExpanded,
|
||||
child: Column(
|
||||
children: [
|
||||
Container(
|
||||
height: 198.h,
|
||||
width: double.infinity,
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.only(
|
||||
bottomLeft: Radius.circular(8.r),
|
||||
bottomRight: Radius.circular(8.r),
|
||||
),
|
||||
color: Colors.black,
|
||||
border: Border.all(color: Color(0xFF3A3A3A), width: 0.5)),
|
||||
child: Padding(
|
||||
padding: EdgeInsets.only(
|
||||
top: 11.h, left: 14.w, bottom: 25.h, right: 28.w),
|
||||
child: Text(
|
||||
content,
|
||||
style: TextStyle(
|
||||
color: Color(0xFFFFFFFF),
|
||||
fontFamily: 'manrope',
|
||||
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: 'manrope',
|
||||
fontSize: 16.sp,
|
||||
fontWeight: FontWeight.w500,
|
||||
color: Colors.white,
|
||||
),
|
||||
),
|
||||
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,
|
||||
children: [
|
||||
sizedBoxHeight(5.h),
|
||||
SvgPicture.asset(
|
||||
'assets/images/svg/thumbs-down.svg'),
|
||||
],
|
||||
)
|
||||
],
|
||||
)
|
||||
]),
|
||||
)))
|
||||
],
|
||||
),
|
||||
),
|
||||
isExpanded ? sizedBoxHeight(40.h) : sizedBoxHeight(18.h),
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,8 @@ 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: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';
|
||||
@@ -110,7 +112,7 @@ class _SideMenuState extends State<SideMenu> {
|
||||
decoration: const ShapeDecoration(
|
||||
image: DecorationImage(
|
||||
image: AssetImage(
|
||||
"assets/images/png/Ellipse 560.png"),
|
||||
"assets/images/png/Ellipse 560 (1).png"),
|
||||
fit: BoxFit.fill,
|
||||
),
|
||||
shape: OvalBorder(),
|
||||
@@ -143,11 +145,8 @@ class _SideMenuState extends State<SideMenu> {
|
||||
),
|
||||
),
|
||||
ListTile(
|
||||
leading: SizedBox(
|
||||
width: 25.w,
|
||||
height: 25.h,
|
||||
child: SvgPicture.asset(
|
||||
'assets/images/svg/sidemenu/sub.svg')),
|
||||
leading:
|
||||
SvgPicture.asset('assets/images/svg/sidemenu/sub.svg'),
|
||||
title: text18W400('My Subscription'),
|
||||
trailing: Container(
|
||||
height: 35.h,
|
||||
@@ -178,11 +177,8 @@ class _SideMenuState extends State<SideMenu> {
|
||||
),
|
||||
),
|
||||
ListTile(
|
||||
leading: SizedBox(
|
||||
width: 25.w,
|
||||
height: 25.h,
|
||||
child: SvgPicture.asset(
|
||||
'assets/images/svg/sidemenu/content.svg')),
|
||||
leading: SvgPicture.asset(
|
||||
'assets/images/svg/sidemenu/content.svg'),
|
||||
title: text18W400('Content bytes'),
|
||||
selected: true,
|
||||
onTap: () {
|
||||
@@ -208,7 +204,7 @@ class _SideMenuState extends State<SideMenu> {
|
||||
width: 25.w,
|
||||
height: 25.h,
|
||||
child: SvgPicture.asset(
|
||||
'assets/images/svg/sidemenu/sub.svg')),
|
||||
'assets/images/svg/sidemenu/Gray.svg')),
|
||||
title: text18W400('Update My KYC'),
|
||||
trailing: Container(
|
||||
height: 40.h,
|
||||
@@ -256,11 +252,8 @@ class _SideMenuState extends State<SideMenu> {
|
||||
),
|
||||
),
|
||||
ListTile(
|
||||
leading: SizedBox(
|
||||
width: 25.w,
|
||||
height: 25.h,
|
||||
child: SvgPicture.asset(
|
||||
'assets/images/svg/sidemenu/sub.svg')),
|
||||
leading: SvgPicture.asset(
|
||||
'assets/images/svg/sidemenu/Group 51347.svg'),
|
||||
title: text18W400('My Subscription'),
|
||||
trailing: Container(
|
||||
height: 35.h,
|
||||
@@ -403,7 +396,7 @@ void navigateTo(int index, BuildContext context) {
|
||||
switch (index) {
|
||||
case 0:
|
||||
{
|
||||
// Get.toNamed(RouteName.FAQScreen);
|
||||
Get.toNamed(RouteName.faqscreen);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -421,124 +414,57 @@ void navigateTo(int index, BuildContext context) {
|
||||
|
||||
case 3:
|
||||
{
|
||||
// Get.toNamed(RouteName.contactUsMain);
|
||||
Get.toNamed(RouteName.termsandcondition);
|
||||
}
|
||||
break;
|
||||
|
||||
case 4:
|
||||
{
|
||||
Get.toNamed(RouteName.termsandcondition);
|
||||
Get.toNamed(RouteName.privacypolicy);
|
||||
}
|
||||
break;
|
||||
|
||||
case 5:
|
||||
{
|
||||
Get.toNamed(RouteName.privacypolicy);
|
||||
Get.toNamed(RouteName.aboutus);
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
{
|
||||
Get.toNamed(RouteName.aboutus);
|
||||
// Get.toNamed(RouteName.settings);
|
||||
}
|
||||
break;
|
||||
|
||||
case 7:
|
||||
{
|
||||
Get.bottomSheet(
|
||||
Column(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
||||
children: [
|
||||
SizedBox(
|
||||
width: double.infinity,
|
||||
child: SvgPicture.asset('assets/images/svg/logout.svg'),
|
||||
),
|
||||
Text(
|
||||
'Are You Sure You Want To Logout?',
|
||||
textAlign: TextAlign.center,
|
||||
style: TextStyle(
|
||||
color: Colors.black,
|
||||
fontSize: 20.sp,
|
||||
commonGlassContainer(
|
||||
width: double.infinity,
|
||||
height: 363.h,
|
||||
borderradius: 4,
|
||||
customWidget: Center(
|
||||
child: Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 20.w),
|
||||
child: Column(
|
||||
children: [
|
||||
sizedBoxHeight(60.h),
|
||||
// Image.asset(
|
||||
// 'assets/images/png/Group 1000003722.png',
|
||||
// height: 100.h,
|
||||
// ),
|
||||
// sizedBoxHeight(25.h),
|
||||
text22W600('Confirm Logout'),
|
||||
sizedBoxHeight(30.h),
|
||||
text20W400_center(
|
||||
'Are you sure you want to logout your account?'),
|
||||
sizedBoxHeight(50.h),
|
||||
CommonYesNoBtn(),
|
||||
],
|
||||
),
|
||||
),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
||||
children: [
|
||||
InkWell(
|
||||
onTap: () {
|
||||
Navigator.of(context).pop();
|
||||
},
|
||||
child: Container(
|
||||
width: 150.w,
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.white,
|
||||
borderRadius: BorderRadius.circular(5.r),
|
||||
border: Border.all(
|
||||
color: Colors.black,
|
||||
),
|
||||
),
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(18.0),
|
||||
child: Text(
|
||||
'No',
|
||||
textAlign: TextAlign.center,
|
||||
style: TextStyle(
|
||||
color: Colors.black,
|
||||
fontSize: 16.sp,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
InkWell(
|
||||
// onTap: () async {
|
||||
// FirebaseAuth auth = FirebaseAuth.instance;
|
||||
// final GoogleSignIn googleSignIn = GoogleSignIn();
|
||||
|
||||
// if (auth.currentUser != null &&
|
||||
// auth.currentUser?.providerData.any((userInfo) =>
|
||||
// userInfo.providerId == 'google.com') ==
|
||||
// true) {
|
||||
// await googleSignIn.signOut();
|
||||
// Navigator.of(context).pop();
|
||||
// Get.back();
|
||||
// Get.toNamed(RouteName.login);
|
||||
// } else {
|
||||
// SharedPreferences prefs =
|
||||
// await SharedPreferences.getInstance();
|
||||
// prefs.remove('token');
|
||||
// Navigator.of(context).pop();
|
||||
// Get.back();
|
||||
// Get.toNamed(RouteName.login);
|
||||
// }
|
||||
// },
|
||||
onTap: () {
|
||||
Get.back();
|
||||
// Get.toNamed(RouteName.login);
|
||||
},
|
||||
child: Container(
|
||||
width: 150.w,
|
||||
decoration: BoxDecoration(
|
||||
color: const Color(0xFF3192D8),
|
||||
borderRadius: BorderRadius.circular(5.r),
|
||||
),
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(18.0),
|
||||
child: Text(
|
||||
'Yes',
|
||||
textAlign: TextAlign.center,
|
||||
style: TextStyle(
|
||||
color: Colors.white,
|
||||
fontSize: 16.sp,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
backgroundColor: Colors.white,
|
||||
backgroundColor: Colors.black.withOpacity(0.3),
|
||||
);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
import 'dart:developer';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
@@ -75,7 +72,7 @@ class CreateTicketBottomSheet {
|
||||
const Gap(14),
|
||||
Stack(
|
||||
children: [
|
||||
CustomTextFormField1(
|
||||
CustomTextFormField3(
|
||||
texttype: TextInputType.multiline,
|
||||
hintText: "Description (min 30 characters)",
|
||||
textEditingController: descriptionController,
|
||||
|
||||
Reference in New Issue
Block a user