diff --git a/assets/images/png/Ellipse 560 (1).png b/assets/images/png/Ellipse 560 (1).png new file mode 100644 index 0000000..a6ac547 Binary files /dev/null and b/assets/images/png/Ellipse 560 (1).png differ diff --git a/assets/images/png/Ellipse 560.png b/assets/images/png/Ellipse 560.png deleted file mode 100644 index fa3d83d..0000000 Binary files a/assets/images/png/Ellipse 560.png and /dev/null differ diff --git a/assets/images/svg/search-svgrepo-com.svg b/assets/images/svg/search-svgrepo-com.svg new file mode 100644 index 0000000..5a10e0e --- /dev/null +++ b/assets/images/svg/search-svgrepo-com.svg @@ -0,0 +1,3 @@ + + + diff --git a/assets/images/svg/sidemenu/Gray.svg b/assets/images/svg/sidemenu/Gray.svg new file mode 100644 index 0000000..17309fc --- /dev/null +++ b/assets/images/svg/sidemenu/Gray.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/assets/images/svg/sidemenu/Group 51347.svg b/assets/images/svg/sidemenu/Group 51347.svg new file mode 100644 index 0000000..224da5c --- /dev/null +++ b/assets/images/svg/sidemenu/Group 51347.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/assets/images/svg/thumbs-down.svg b/assets/images/svg/thumbs-down.svg new file mode 100644 index 0000000..a272caa --- /dev/null +++ b/assets/images/svg/thumbs-down.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/images/svg/thumbs-up.svg b/assets/images/svg/thumbs-up.svg new file mode 100644 index 0000000..eb958fd --- /dev/null +++ b/assets/images/svg/thumbs-up.svg @@ -0,0 +1,3 @@ + + + diff --git a/lib/Utils/Common/CommonBottomNavigation.dart b/lib/Utils/Common/CommonBottomNavigation.dart index bedce78..b4f406a 100644 --- a/lib/Utils/Common/CommonBottomNavigation.dart +++ b/lib/Utils/Common/CommonBottomNavigation.dart @@ -6,8 +6,7 @@ import 'package:flutter_svg/svg.dart'; import 'package:glassmorphism/glassmorphism.dart'; import 'package:traderscircuit/Utils/Common/MainController.dart'; -GlassmorphicContainer bottomnavigationbar( - MainController _mainController) { +GlassmorphicContainer bottomnavigationbar(MainController _mainController) { return GlassmorphicContainer( width: double.infinity, height: 83.h, @@ -76,9 +75,9 @@ GlassmorphicContainer bottomnavigationbar( shape: BoxShape.circle, boxShadow: [ BoxShadow( - color: Colors.grey.withOpacity(0.4), + color: Colors.grey.withOpacity(0.2), spreadRadius: 15, - blurRadius: 10, + blurRadius: 5, offset: Offset(0, 10), ), ], diff --git a/lib/Utils/Common/CustomTextFormField.dart b/lib/Utils/Common/CustomTextFormField.dart index 18fba02..54bd94f 100644 --- a/lib/Utils/Common/CustomTextFormField.dart +++ b/lib/Utils/Common/CustomTextFormField.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:glassmorphism/glassmorphism.dart'; class CustomTextFormField extends StatefulWidget { @@ -145,3 +146,156 @@ class _CustomTextFormFieldState extends State { ); } } + +class CustomTextFormField1 extends StatefulWidget { + const CustomTextFormField1({ + Key? key, + this.validator, + this.textEditingController, + this.hintText, + this.leadingIcon, + this.prefixIconColor = const Color(0xFF737373), + this.isInputPassword = false, + this.validatorText, + this.value, + this.readonly = false, + this.enabled = true, + this.maxlines = 1, + this.texttype, + this.inputFormatters, + this.onInput, + this.onTap, + this.suffixIcon, + }) : super(key: key); + + final dynamic validator; + final TextEditingController? textEditingController; + final String? hintText; + final Widget? leadingIcon; + final Color prefixIconColor; + final bool isInputPassword; + final String? validatorText; + final String? value; + final bool readonly; + final bool enabled; + final int maxlines; + final TextInputType? texttype; + final dynamic inputFormatters; + final Function(String)? onInput; + final VoidCallback? onTap; + final Widget? suffixIcon; + + @override + State createState() => _CustomTextFormField1State(); +} + +class _CustomTextFormField1State extends State { + late bool obscureText; + + @override + void initState() { + super.initState(); + obscureText = widget.isInputPassword; + } + + @override + Widget build(BuildContext context) { + return GlassmorphicContainer( + width: double.infinity, + height: 50, + borderRadius: 8, + blur: 10, + alignment: Alignment.bottomCenter, + border: 0.8, + linearGradient: LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: [ + Color(0xFFffffff).withOpacity(0.1), + Color(0xFFFFFFFF).withOpacity(0.05), + ], + stops: [ + 0.1, + 1, + ]), + borderGradient: LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: [ + Color(0xff3A3A3A), + Color(0xFF3A3A3A), + ], + ), + child: TextFormField( + cursorColor: Colors.red, + initialValue: widget.value, + readOnly: widget.readonly, + onTap: widget.onTap, + enabled: widget.enabled, + enableInteractiveSelection: false, + maxLines: widget.maxlines, + autovalidateMode: AutovalidateMode.onUserInteraction, + obscureText: obscureText, + controller: widget.textEditingController, + + decoration: InputDecoration( + hintText: widget.hintText, + prefixIconColor: widget.prefixIconColor, + + hintStyle: TextStyle( + fontSize: 16.sp, + color: Colors.white, + fontWeight: FontWeight.w400, + fontFamily: 'manrope'), + + // ignore: prefer_null_aware_operators + prefixIcon: widget.leadingIcon == null ? null : widget.leadingIcon!, + suffixIcon: widget.isInputPassword + ? GestureDetector( + onTap: () => setState(() => obscureText = !obscureText), + child: obscureText + ? const Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Padding( + padding: EdgeInsets.only(right: 20.0), + child: Icon(Icons.remove_red_eye), + ), + ], + ) + : const Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Padding( + padding: EdgeInsets.only(right: 20.0), + child: Icon( + Icons.remove_red_eye_outlined, + color: Color(0xFF959595), + ), + ), + ], + ), + ) + : widget.suffixIcon == null + ? null + : widget.suffixIcon!, + border: InputBorder.none, + contentPadding: EdgeInsets.symmetric(horizontal: 10, vertical: 10), + ), + style: TextStyle(color: Colors.white), + keyboardType: widget.texttype, + // validator: widget.validator ?? + // (value) { + // if (value == null || value.isEmpty) { + // return "Empty value"; + // } + // return null; + // }, + inputFormatters: widget.inputFormatters, + onChanged: (value) { + widget.onInput?.call(value); + }, + ), + ); + } +} diff --git a/lib/Utils/Common/commonBotton.dart b/lib/Utils/Common/commonBotton.dart index 8819c2d..fb855c6 100644 --- a/lib/Utils/Common/commonBotton.dart +++ b/lib/Utils/Common/commonBotton.dart @@ -1,5 +1,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:glassmorphism/glassmorphism.dart'; +import 'package:traderscircuit/Utils/Common/sized_box.dart'; +import 'package:traderscircuit/Utils/text.dart'; Widget CommonBtn({void Function()? onTap, required String text}) { return InkWell( @@ -24,6 +27,83 @@ Widget CommonBtn({void Function()? onTap, required String text}) { )); } +Widget CommonYesNoBtn({ + void Function()? yesonTap, + void Function()? noonTap, +}) { + return Row( + children: [ + GestureDetector( + onTap: yesonTap, + child: GlassmorphicContainer( + width: 170.w, + height: 50.h, + borderRadius: 8, + blur: 10, + alignment: Alignment.center, + border: 0.9, + linearGradient: LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: [ + Colors.white.withOpacity(0.1), + Color(0xFFFFFFFF).withOpacity(0.05), + ], + stops: [ + 0.1, + 1, + ], + ), + 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: text18W500('Yes'), + ), + ), + ), + sizedBoxWidth(10.w), + GestureDetector( + onTap: noonTap, + child: Container( + height: 50.h, + width: 170.w, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(8.r), + border: Border.all(color: Color(0xFF9A0000), width: 1.w), + color: Color(0xFF6C0000)), + child: Center(child: text18W500('No')), + ), + ) + ], + ); +} + + // InkWell( + // onTap: onTap, + // child: Container( + // width: double.infinity, + // height: 50.h, + // decoration: BoxDecoration( + // color: Color(0xff9A0000), borderRadius: BorderRadius.circular(5)), + // child: Center( + // child: Text( + // text, + // textAlign: TextAlign.center, + // style: TextStyle( + // color: Colors.white, + // fontSize: 20.sp, + // fontFamily: 'Cambria', + // fontWeight: FontWeight.w400, + // ), + // ), + // ), + // )); Widget kycBtn({ void Function()? onTap, required String text, diff --git a/lib/Utils/text.dart b/lib/Utils/text.dart index 1d8141f..b745d03 100644 --- a/lib/Utils/text.dart +++ b/lib/Utils/text.dart @@ -12,6 +12,18 @@ Widget text20W400(String text) { ); } +Widget text20W400_center(String text) { + return Text( + text, + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 20.sp, + color: Colors.white, + fontWeight: FontWeight.w400, + fontFamily: 'manrope'), + ); +} + Widget text18W800(String text) { return Text( text, @@ -167,6 +179,7 @@ Widget text12W400(String text) { fontFamily: 'manrope'), ); } + Widget text12W500(String text) { return Text( text, diff --git a/lib/resources/routes/route_name.dart b/lib/resources/routes/route_name.dart index 60a26a0..ae578f1 100644 --- a/lib/resources/routes/route_name.dart +++ b/lib/resources/routes/route_name.dart @@ -40,4 +40,6 @@ class RouteName { static const String termsandcondition = '/termsandcondition'; static const String privacypolicy = '/privacypolicy'; static const String aboutus = '/aboutus'; + static const String faqscreen = '/faqscreen'; + } diff --git a/lib/resources/routes/routes.dart b/lib/resources/routes/routes.dart index d233d14..780542a 100644 --- a/lib/resources/routes/routes.dart +++ b/lib/resources/routes/routes.dart @@ -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/FaqScreen.dart'; import 'package:traderscircuit/view/Sidemenu/PrivacyPolicy.dart'; import 'package:traderscircuit/view/Sidemenu/TermsAndCondition.dart'; @@ -139,6 +140,10 @@ class AppRoutes { GetPage( name: RouteName.aboutus, page: () => const AboutUs(), + ), + GetPage( + name: RouteName.faqscreen, + page: () => const FaqScreen(), ), ]; } diff --git a/lib/view/MainScreen/ShortTrade.dart b/lib/view/MainScreen/ShortTrade.dart index c6693d2..9c803a5 100644 --- a/lib/view/MainScreen/ShortTrade.dart +++ b/lib/view/MainScreen/ShortTrade.dart @@ -30,7 +30,7 @@ class _ShortTradeState extends State { 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 { ), ), ), + // title: text22W600('Short'), ), // CommonAppbar( @@ -136,7 +137,7 @@ class _ShortTradeState extends State { Widget ActiveCallsTab() { return Obx(() { WidgetsBinding.instance.addPostFrameCallback((_) { - if (selectedIndex == 1) _unlockbottomsheet(); + if (selectedIndex == 1 || selectedIndex == 2) _unlockbottomsheet(); }); return selectedIndex == 0 ? Column( @@ -235,18 +236,16 @@ class _ShortTradeState extends State { 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,7 +253,11 @@ class _ShortTradeState extends State { // sizedBoxHeight(25.h), text20W400('Please subscribed to unlock'), sizedBoxHeight(30.h), - CommonBtn(text: 'Subscribe Now'), + CommonBtn( + text: 'Subscribe Now', + onTap: () {}, + ), + SizedBox( height: 100, ) diff --git a/lib/view/Sidemenu/FaqScreen.dart b/lib/view/Sidemenu/FaqScreen.dart new file mode 100644 index 0000000..149889c --- /dev/null +++ b/lib/view/Sidemenu/FaqScreen.dart @@ -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 createState() => _FaqScreenState(); +} + +class _FaqScreenState extends State { + List containerTexts = [ + "Subscriptions", + "Investments", + "App features" + ]; + + final selectedIndex = 0.obs; + late RxList isExpandedList; + @override + void initState() { + isExpandedList = RxList.generate(Faqcard.length, (index) => index == 0); + super.initState(); + } + + List> 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> 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), + ], + ); + } +} diff --git a/lib/view/Sidemenu/Sidemenu.dart b/lib/view/Sidemenu/Sidemenu.dart index ca68bf7..97c692a 100644 --- a/lib/view/Sidemenu/Sidemenu.dart +++ b/lib/view/Sidemenu/Sidemenu.dart @@ -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'; @@ -108,7 +110,7 @@ class _SideMenuState extends State { decoration: ShapeDecoration( image: DecorationImage( image: AssetImage( - "assets/images/png/Ellipse 560.png"), + "assets/images/png/Ellipse 560 (1).png"), fit: BoxFit.fill, ), shape: const OvalBorder(), @@ -141,11 +143,8 @@ class _SideMenuState extends State { ), ), 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, @@ -176,11 +175,8 @@ class _SideMenuState extends State { ), ), 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: () { @@ -206,7 +202,7 @@ class _SideMenuState extends State { 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 { ), ), 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, @@ -402,7 +395,7 @@ void navigateTo(int index, BuildContext context) { switch (index) { case 0: { - // Get.toNamed(RouteName.FAQScreen); + Get.toNamed(RouteName.faqscreen); } break; @@ -420,124 +413,57 @@ void navigateTo(int index, BuildContext context) { case 3: { - // Get.toNamed(RouteName.contactUs); + 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: 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; diff --git a/pubspec.lock b/pubspec.lock index 6eb065e..2729c12 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -45,10 +45,10 @@ packages: dependency: transitive description: name: collection - sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687 + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a url: "https://pub.dev" source: hosted - version: "1.17.2" + version: "1.18.0" connectivity_plus: dependency: "direct main" description: @@ -380,10 +380,10 @@ packages: dependency: transitive description: name: meta - sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" + sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e url: "https://pub.dev" source: hosted - version: "1.9.1" + version: "1.10.0" mime: dependency: transitive description: @@ -553,18 +553,18 @@ packages: dependency: transitive description: name: stack_trace - sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 + sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.11.1" stream_channel: dependency: transitive description: name: stream_channel - sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" string_scanner: dependency: transitive description: @@ -585,10 +585,10 @@ packages: dependency: transitive description: name: test_api - sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8" + sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" url: "https://pub.dev" source: hosted - version: "0.6.0" + version: "0.6.1" typed_data: dependency: transitive description: @@ -633,10 +633,10 @@ packages: dependency: transitive description: name: web - sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10 + sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152 url: "https://pub.dev" source: hosted - version: "0.1.4-beta" + version: "0.3.0" win32: dependency: transitive description: @@ -662,5 +662,5 @@ packages: source: hosted version: "6.3.0" sdks: - dart: ">=3.1.0 <4.0.0" + dart: ">=3.2.0-194.0.dev <4.0.0" flutter: ">=3.13.0"