conflict resolve
This commit is contained in:
BIN
assets/images/png/whatsapp.png
Normal file
BIN
assets/images/png/whatsapp.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.1 KiB |
@@ -3,6 +3,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:traderscircuit/Utils/text.dart';
|
||||
|
||||
class CommonAppbar extends StatelessWidget implements PreferredSizeWidget {
|
||||
@override
|
||||
@@ -10,16 +11,22 @@ class CommonAppbar extends StatelessWidget implements PreferredSizeWidget {
|
||||
const CommonAppbar(
|
||||
{Key? key,
|
||||
required this.titleTxt,
|
||||
this.suffixIcon,
|
||||
this.showLeading = true,
|
||||
this.customBack,
|
||||
this.backPageName = '',
|
||||
this.customActionWidget,
|
||||
this.onCustomActionPressed,
|
||||
this.height = 105})
|
||||
: super(key: key);
|
||||
|
||||
final String titleTxt;
|
||||
final String? suffixIcon;
|
||||
final bool? showLeading;
|
||||
final bool? customBack;
|
||||
final String? backPageName;
|
||||
final Widget? customActionWidget;
|
||||
final VoidCallback? onCustomActionPressed;
|
||||
final double height;
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
@@ -50,27 +57,55 @@ class CommonAppbar extends StatelessWidget implements PreferredSizeWidget {
|
||||
centerTitle: false,
|
||||
titlePadding: EdgeInsets.all(0),
|
||||
title: Padding(
|
||||
padding: EdgeInsets.only(left: 16.w),
|
||||
padding: EdgeInsets.only(left: 16.w, right: 16),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
mainAxisAlignment: MainAxisAlignment.end,
|
||||
children: [
|
||||
Text(
|
||||
titleTxt,
|
||||
style: TextStyle(
|
||||
color: Colors.white,
|
||||
fontSize: 24.sp,
|
||||
fontWeight: FontWeight.w500,
|
||||
fontFamily: 'manrope'),
|
||||
maxLines: 2,
|
||||
softWrap: true,
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
titleTxt,
|
||||
style: TextStyle(
|
||||
color: Colors.white,
|
||||
fontSize: 24.sp,
|
||||
fontWeight: FontWeight.w500,
|
||||
fontFamily: 'manrope'),
|
||||
maxLines: 2,
|
||||
softWrap: true,
|
||||
),
|
||||
],
|
||||
),
|
||||
|
||||
// newTextfield(
|
||||
// FontWeight.w400, 0)
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
actions: [
|
||||
// if (calendarWidget == true)
|
||||
// InkWell(
|
||||
// onTap: onCustomActionPressed,
|
||||
// child: Padding(
|
||||
// padding: EdgeInsets.only(right: 14.w),
|
||||
// child: Icon(
|
||||
// Icons.calendar_month_outlined,
|
||||
// color: Color(0xFF3192D8),
|
||||
// size: 28,
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
if (customActionWidget != null)
|
||||
InkWell(
|
||||
onTap: onCustomActionPressed,
|
||||
child: Padding(
|
||||
padding: EdgeInsets.only(right: 14.w),
|
||||
child: customActionWidget,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
172
lib/Utils/Common/CommonDropdown.dart
Normal file
172
lib/Utils/Common/CommonDropdown.dart
Normal file
@@ -0,0 +1,172 @@
|
||||
// ignore_for_file: prefer_const_constructors
|
||||
|
||||
import 'dart:ui';
|
||||
|
||||
import 'package:dropdown_button2/dropdown_button2.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
|
||||
class CommonDropdownBtn extends StatefulWidget {
|
||||
const CommonDropdownBtn({
|
||||
required this.hint,
|
||||
required this.items,
|
||||
this.isEnabled = true,
|
||||
this.islocation = false,
|
||||
this.textcolor = false,
|
||||
this.onItemSelected,
|
||||
bool showAddButton = false,
|
||||
super.key,
|
||||
});
|
||||
final String hint;
|
||||
final List<String>? items;
|
||||
final void Function(String)? onItemSelected;
|
||||
final bool isEnabled;
|
||||
final bool islocation;
|
||||
final bool textcolor;
|
||||
|
||||
@override
|
||||
State<CommonDropdownBtn> createState() => _CommonDropdownBtnState();
|
||||
}
|
||||
|
||||
class _CommonDropdownBtnState extends State<CommonDropdownBtn> {
|
||||
final kInnerDecoration = BoxDecoration(
|
||||
color: Colors.white,
|
||||
border: Border.all(color: Colors.white),
|
||||
borderRadius: BorderRadius.circular(32),
|
||||
);
|
||||
late String label;
|
||||
final List<String> items = [
|
||||
'Item1',
|
||||
'Item2',
|
||||
'Item3',
|
||||
'Item4',
|
||||
'Item5',
|
||||
'Item6',
|
||||
'Item7',
|
||||
'Item8',
|
||||
];
|
||||
String? selectedValue;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return DropdownButtonHideUnderline(
|
||||
child: Row(
|
||||
children: [
|
||||
widget.islocation
|
||||
? Padding(
|
||||
padding: EdgeInsets.only(left: 4.w),
|
||||
child: SvgPicture.asset("assets/svg/location.svg"),
|
||||
)
|
||||
: SizedBox(),
|
||||
Expanded(
|
||||
child: DropdownButton2(
|
||||
isExpanded: true,
|
||||
hint: Row(
|
||||
children: [
|
||||
// SizedBox(
|
||||
// width: 4,
|
||||
// ),
|
||||
// widget.islocation
|
||||
// ? SvgPicture.asset("assets/svg/location.svg")
|
||||
// : SizedBox(),
|
||||
|
||||
// widget.islocation ? sizedBoxWidth(4.w) : SizedBox(),
|
||||
|
||||
Expanded(
|
||||
child: Text(
|
||||
widget.hint,
|
||||
style: TextStyle(
|
||||
fontSize: 12.sp,
|
||||
//fontWeight: FontWeight.bold,
|
||||
color: Colors.white,
|
||||
fontWeight: FontWeight.w500),
|
||||
overflow: TextOverflow.ellipsis,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
items: widget.items!
|
||||
.map((item) => DropdownMenuItem<String>(
|
||||
value: item,
|
||||
child: Text(
|
||||
item,
|
||||
style: TextStyle(
|
||||
color: Colors.white,
|
||||
fontSize: 16.sp,
|
||||
fontFamily: 'manrope',
|
||||
fontWeight: FontWeight.w500,
|
||||
),
|
||||
overflow: TextOverflow.ellipsis,
|
||||
),
|
||||
))
|
||||
.toList(),
|
||||
value: selectedValue,
|
||||
onChanged: (value) {
|
||||
setState(() {
|
||||
selectedValue = value as String;
|
||||
});
|
||||
},
|
||||
buttonStyleData: ButtonStyleData(
|
||||
height: 50.h,
|
||||
width: double.infinity,
|
||||
padding: EdgeInsets.only(left: 12.w, right: 4.w),
|
||||
decoration: BoxDecoration(
|
||||
gradient: LinearGradient(
|
||||
begin: Alignment.topLeft,
|
||||
end: Alignment.bottomRight,
|
||||
colors: [
|
||||
Color(0xFFffffff).withOpacity(0.1),
|
||||
Color(0xFFFFFFFF).withOpacity(0.05),
|
||||
],
|
||||
stops: [
|
||||
0.1,
|
||||
1,
|
||||
]),
|
||||
borderRadius: BorderRadius.circular(10),
|
||||
border: Border.all(
|
||||
color: Color(0xffFEF3F8),
|
||||
),
|
||||
color: Color(0xFFFFFFFF).withOpacity(0.05),
|
||||
),
|
||||
elevation: 0,
|
||||
),
|
||||
iconStyleData: IconStyleData(
|
||||
icon: Icon(
|
||||
Icons.keyboard_arrow_down,
|
||||
),
|
||||
iconSize: 23.sp,
|
||||
iconEnabledColor: Color(0xFF9A0000),
|
||||
iconDisabledColor: Color(0xFF9A0000),
|
||||
),
|
||||
dropdownStyleData: DropdownStyleData(
|
||||
maxHeight: 200,
|
||||
width: 350,
|
||||
padding: null,
|
||||
// padding: EdgeInsets.symmetric(horizontal: 16.w),
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(10),
|
||||
border: Border.all(
|
||||
color: Color(0xffCCCCCC),
|
||||
),
|
||||
color: Color(0xFF9A0000).withOpacity(0.9),
|
||||
),
|
||||
elevation: 0,
|
||||
// offset: const Offset(-20, 0),
|
||||
scrollbarTheme: ScrollbarThemeData(
|
||||
radius: const Radius.circular(40),
|
||||
thickness: MaterialStateProperty.all<double>(6),
|
||||
thumbVisibility: MaterialStateProperty.all<bool>(true),
|
||||
),
|
||||
),
|
||||
menuItemStyleData: const MenuItemStyleData(
|
||||
height: 40,
|
||||
padding: EdgeInsets.only(left: 14, right: 14),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -18,6 +18,8 @@ class CustomTextFormField extends StatefulWidget {
|
||||
this.texttype,
|
||||
this.inputFormatters,
|
||||
this.onInput,
|
||||
this.onTap,
|
||||
this.suffixIcon,
|
||||
}) : super(key: key);
|
||||
|
||||
final dynamic validator;
|
||||
@@ -34,6 +36,8 @@ class CustomTextFormField extends StatefulWidget {
|
||||
final TextInputType? texttype;
|
||||
final dynamic inputFormatters;
|
||||
final Function(String)? onInput;
|
||||
final VoidCallback? onTap;
|
||||
final Widget? suffixIcon;
|
||||
|
||||
@override
|
||||
State<CustomTextFormField> createState() => _CustomTextFormFieldState();
|
||||
@@ -80,6 +84,7 @@ class _CustomTextFormFieldState extends State<CustomTextFormField> {
|
||||
cursorColor: Colors.red,
|
||||
initialValue: widget.value,
|
||||
readOnly: widget.readonly,
|
||||
onTap: widget.onTap,
|
||||
enabled: widget.enabled,
|
||||
enableInteractiveSelection: false,
|
||||
maxLines: widget.maxlines,
|
||||
@@ -117,7 +122,9 @@ class _CustomTextFormFieldState extends State<CustomTextFormField> {
|
||||
],
|
||||
),
|
||||
)
|
||||
: null,
|
||||
: widget.suffixIcon == null
|
||||
? null
|
||||
: widget.suffixIcon!,
|
||||
border: InputBorder.none,
|
||||
contentPadding: EdgeInsets.symmetric(horizontal: 10),
|
||||
),
|
||||
|
||||
@@ -231,23 +231,34 @@ Widget text14W300(String text) {
|
||||
);
|
||||
}
|
||||
|
||||
<<<<<<< HEAD
|
||||
Widget text14W400(String text) {
|
||||
return Text(
|
||||
=======
|
||||
|
||||
Widget text14W400(String text) { return Text(
|
||||
>>>>>>> 9a3ee57750db74808606d8117676461f7d75fd06
|
||||
text,
|
||||
style: TextStyle(
|
||||
fontSize: 14.sp,
|
||||
color: Colors.white,
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
|
||||
>>>>>>> 9a3ee57750db74808606d8117676461f7d75fd06
|
||||
fontWeight: FontWeight.w400,
|
||||
fontFamily: 'manrope'),
|
||||
);
|
||||
}
|
||||
|
||||
Widget text14W500(String text) {
|
||||
|
||||
return Text(
|
||||
text,
|
||||
style: TextStyle(
|
||||
fontSize: 14.sp,
|
||||
color: Colors.white,
|
||||
|
||||
fontWeight: FontWeight.w500,
|
||||
fontFamily: 'manrope'),
|
||||
);
|
||||
@@ -259,11 +270,13 @@ Widget text16W400_DADADA(String text) {
|
||||
style: TextStyle(
|
||||
fontSize: 16.sp,
|
||||
color: Color(0xFFDADADA),
|
||||
|
||||
fontWeight: FontWeight.w400,
|
||||
fontFamily: 'manrope'),
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Widget text14W400_979797(String text) {
|
||||
return Text(
|
||||
text,
|
||||
@@ -307,3 +320,4 @@ Widget text14W500_black(String text) {
|
||||
fontFamily: 'manrope'),
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -95,12 +95,9 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
|
||||
theme: ThemeData(
|
||||
primarySwatch: Colors.blue,
|
||||
fontFamily: 'manrope',
|
||||
// textTheme: GoogleFonts.manropeTextTheme(),
|
||||
),
|
||||
debugShowCheckedModeBanner: false,
|
||||
initialRoute: RouteName.mainscreen,
|
||||
|
||||
//initialRoute: RouteName.mainScreen,
|
||||
getPages: AppRoutes.appRoutes(),
|
||||
),
|
||||
designSize: const Size(390, 844),
|
||||
|
||||
@@ -18,9 +18,6 @@ class RouteName {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
static const String verifyotp = '/verifyotp';
|
||||
|
||||
//secureaccess
|
||||
@@ -28,4 +25,18 @@ class RouteName {
|
||||
static const String faceid = '/faceid';
|
||||
static const String fingerprint = '/fingerprint';
|
||||
static const String pin = '/pin';
|
||||
|
||||
//add details
|
||||
static const String adddetails = '/adddetails';
|
||||
|
||||
//kyc
|
||||
static const String kyc = '/kyc';
|
||||
|
||||
//update risk profile
|
||||
static const String updateriskprofile = '/updateriskprofile';
|
||||
|
||||
//sidemenu
|
||||
static const String termsandcondition = '/termsandcondition';
|
||||
static const String privacypolicy = '/privacypolicy';
|
||||
static const String aboutus = '/aboutus';
|
||||
}
|
||||
|
||||
@@ -2,12 +2,21 @@ import 'package:get/get.dart';
|
||||
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/PrivacyPolicy.dart';
|
||||
import 'package:traderscircuit/view/Sidemenu/TermsAndCondition.dart';
|
||||
|
||||
import 'package:traderscircuit/view/login/AddDetails.dart';
|
||||
import 'package:traderscircuit/view/login/Kyc.dart';
|
||||
|
||||
import 'package:traderscircuit/view/MainScreen/HomeScreen.dart';
|
||||
import 'package:traderscircuit/view/MainScreen/MainScreen.dart';
|
||||
import 'package:traderscircuit/view/MainScreen/Notification.dart';
|
||||
import 'package:traderscircuit/view/MainScreen/ShortTrade.dart';
|
||||
import 'package:traderscircuit/view/Sidemenu/Sidemenu.dart';
|
||||
|
||||
import 'package:traderscircuit/view/login/LoginScreen.dart';
|
||||
import 'package:traderscircuit/view/login/UpdateRiskProfile.dart';
|
||||
import 'package:traderscircuit/view/login/VerifyOtp.dart';
|
||||
import 'package:traderscircuit/view/onBoarding/splashScreen.dart';
|
||||
import 'package:traderscircuit/view/onBoarding/splashScreen1.dart';
|
||||
@@ -94,5 +103,36 @@ class AppRoutes {
|
||||
name: RouteName.exploreUnseen,
|
||||
page: () => const ExploreUnseen(),
|
||||
),
|
||||
//add details
|
||||
GetPage(
|
||||
name: RouteName.adddetails,
|
||||
page: () => const AddDetails(),
|
||||
),
|
||||
|
||||
//kyc
|
||||
GetPage(
|
||||
name: RouteName.kyc,
|
||||
page: () => const Kyc(),
|
||||
),
|
||||
|
||||
//update risk profile
|
||||
GetPage(
|
||||
name: RouteName.updateriskprofile,
|
||||
page: () => const UpdateRiskProfile(),
|
||||
),
|
||||
|
||||
//sidemenu
|
||||
GetPage(
|
||||
name: RouteName.termsandcondition,
|
||||
page: () => const TermsAndConditions(),
|
||||
),
|
||||
GetPage(
|
||||
name: RouteName.privacypolicy,
|
||||
page: () => const PrivacyPolicy(),
|
||||
),
|
||||
GetPage(
|
||||
name: RouteName.aboutus,
|
||||
page: () => const AboutUs(),
|
||||
),
|
||||
];
|
||||
}
|
||||
|
||||
56
lib/view/Sidemenu/AboutUs.dart
Normal file
56
lib/view/Sidemenu/AboutUs.dart
Normal file
@@ -0,0 +1,56 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:traderscircuit/Utils/Common/CommonAppbar.dart';
|
||||
import 'package:traderscircuit/Utils/text.dart';
|
||||
import 'package:traderscircuit/view/onBoarding/splashScreen1.dart';
|
||||
|
||||
class AboutUs extends StatefulWidget {
|
||||
const AboutUs({super.key});
|
||||
|
||||
@override
|
||||
State<AboutUs> createState() => _AboutUsState();
|
||||
}
|
||||
|
||||
class _AboutUsState extends State<AboutUs> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: CommonAppbar(
|
||||
titleTxt: "About Us",
|
||||
),
|
||||
backgroundColor: Colors.black,
|
||||
extendBody: true,
|
||||
body: Stack(
|
||||
children: [
|
||||
CommonBlurLeft(),
|
||||
CommonBlurRight(),
|
||||
Stack(
|
||||
children: [
|
||||
Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 16, vertical: 16),
|
||||
child: ListView(
|
||||
physics: BouncingScrollPhysics(),
|
||||
// mainAxisAlignment: MainAxisAlignment.start,
|
||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||
|
||||
children: [
|
||||
// CommonDropdownBtn(hint: "hint", items: ["hi", "hii"]),
|
||||
SizedBox(
|
||||
height: 10.h,
|
||||
),
|
||||
text16W400(
|
||||
"""Lorem ipsum dolor sit amet, conse consectetur adipiscing elit, sed do euio eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ulla ullamco laboris nisi ut aliquip ex ea It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. \n\ncommodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla velit pariatur. Excepteur sint occaecat velit cupidatat non proident, sunt in culpa qui \n\nofficia deserunt mollit anim id est laborum. cupidatat non proident, sunt in culpa qui commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla velit pariatur. Excepteur sint occaecat velit cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."""),
|
||||
|
||||
SizedBox(
|
||||
height: 10.h,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
56
lib/view/Sidemenu/PrivacyPolicy.dart
Normal file
56
lib/view/Sidemenu/PrivacyPolicy.dart
Normal file
@@ -0,0 +1,56 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:traderscircuit/Utils/Common/CommonAppbar.dart';
|
||||
import 'package:traderscircuit/Utils/text.dart';
|
||||
import 'package:traderscircuit/view/onBoarding/splashScreen1.dart';
|
||||
|
||||
class PrivacyPolicy extends StatefulWidget {
|
||||
const PrivacyPolicy({super.key});
|
||||
|
||||
@override
|
||||
State<PrivacyPolicy> createState() => _PrivacyPolicyState();
|
||||
}
|
||||
|
||||
class _PrivacyPolicyState extends State<PrivacyPolicy> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: CommonAppbar(
|
||||
titleTxt: "Privacy Policy",
|
||||
),
|
||||
backgroundColor: Colors.black,
|
||||
extendBody: true,
|
||||
body: Stack(
|
||||
children: [
|
||||
CommonBlurLeft(),
|
||||
CommonBlurRight(),
|
||||
Stack(
|
||||
children: [
|
||||
Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 16, vertical: 16),
|
||||
child: ListView(
|
||||
physics: BouncingScrollPhysics(),
|
||||
// mainAxisAlignment: MainAxisAlignment.start,
|
||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||
|
||||
children: [
|
||||
// CommonDropdownBtn(hint: "hint", items: ["hi", "hii"]),
|
||||
SizedBox(
|
||||
height: 10.h,
|
||||
),
|
||||
text16W400(
|
||||
"""Lorem ipsum dolor sit amet, conse consectetur adipiscing elit, sed do euio eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ulla ullamco laboris nisi ut aliquip ex ea It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. \n\ncommodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla velit pariatur. Excepteur sint occaecat velit cupidatat non proident, sunt in culpa qui \n\nofficia deserunt mollit anim id est laborum. cupidatat non proident, sunt in culpa qui commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla velit pariatur. Excepteur sint occaecat velit cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."""),
|
||||
|
||||
SizedBox(
|
||||
height: 10.h,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -4,6 +4,7 @@ import 'package:flutter_svg/svg.dart';
|
||||
import 'package:get/get.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/onBoarding/splashScreen1.dart';
|
||||
|
||||
class SideMenu extends StatefulWidget {
|
||||
@@ -85,8 +86,8 @@ class _SideMenuState extends State<SideMenu> {
|
||||
),
|
||||
body: Stack(
|
||||
children: [
|
||||
CommonBlurLeft(),
|
||||
CommonBlurRight(),
|
||||
// CommonBlurLeft(),
|
||||
// CommonBlurRight(),
|
||||
Stack(children: [
|
||||
ListView(children: [
|
||||
sizedBoxHeight(30.h),
|
||||
@@ -360,7 +361,7 @@ LogOutdialog(context) {
|
||||
"Are you sure you want to logout ?",
|
||||
textAlign: TextAlign.center,
|
||||
style: TextStyle(
|
||||
fontFamily: "Georgia",
|
||||
fontFamily: "manrope",
|
||||
fontWeight: FontWeight.w400,
|
||||
fontSize: 20.sp,
|
||||
color: const Color(0xFFFFFFFF)),
|
||||
@@ -425,17 +426,22 @@ void navigateTo(int index, BuildContext context) {
|
||||
|
||||
case 4:
|
||||
{
|
||||
// Get.toNamed(RouteName.termsCondition);
|
||||
Get.toNamed(RouteName.termsandcondition);
|
||||
}
|
||||
break;
|
||||
|
||||
case 5:
|
||||
{
|
||||
// Get.toNamed(RouteName.privacyPolicy);
|
||||
Get.toNamed(RouteName.privacypolicy);
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
{
|
||||
Get.toNamed(RouteName.aboutus);
|
||||
}
|
||||
break;
|
||||
|
||||
case 6:
|
||||
case 7:
|
||||
{
|
||||
Get.bottomSheet(
|
||||
Column(
|
||||
|
||||
57
lib/view/Sidemenu/TermsAndCondition.dart
Normal file
57
lib/view/Sidemenu/TermsAndCondition.dart
Normal file
@@ -0,0 +1,57 @@
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:traderscircuit/Utils/Common/CommonAppbar.dart';
|
||||
import 'package:traderscircuit/Utils/text.dart';
|
||||
import 'package:traderscircuit/view/onBoarding/splashScreen1.dart';
|
||||
|
||||
class TermsAndConditions extends StatefulWidget {
|
||||
const TermsAndConditions({super.key});
|
||||
|
||||
@override
|
||||
State<TermsAndConditions> createState() => _TermsAndConditionsState();
|
||||
}
|
||||
|
||||
class _TermsAndConditionsState extends State<TermsAndConditions> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: CommonAppbar(
|
||||
titleTxt: "Terms & Conditions",
|
||||
),
|
||||
backgroundColor: Colors.black,
|
||||
extendBody: true,
|
||||
body: Stack(
|
||||
children: [
|
||||
CommonBlurLeft(),
|
||||
CommonBlurRight(),
|
||||
Stack(
|
||||
children: [
|
||||
Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 16, vertical: 16),
|
||||
child: ListView(
|
||||
physics: BouncingScrollPhysics(),
|
||||
// mainAxisAlignment: MainAxisAlignment.start,
|
||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||
|
||||
children: [
|
||||
// CommonDropdownBtn(hint: "hint", items: ["hi", "hii"]),
|
||||
SizedBox(
|
||||
height: 10.h,
|
||||
),
|
||||
text16W400(
|
||||
"""Lorem ipsum dolor sit amet, conse consectetur adipiscing elit, sed do euio eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ulla ullamco laboris nisi ut aliquip ex ea It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. \n\ncommodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla velit pariatur. Excepteur sint occaecat velit cupidatat non proident, sunt in culpa qui \n\nofficia deserunt mollit anim id est laborum. cupidatat non proident, sunt in culpa qui commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla velit pariatur. Excepteur sint occaecat velit cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."""),
|
||||
|
||||
SizedBox(
|
||||
height: 10.h,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
213
lib/view/login/AddDetails.dart
Normal file
213
lib/view/login/AddDetails.dart
Normal file
@@ -0,0 +1,213 @@
|
||||
import 'dart:ui';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.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/commonBotton.dart';
|
||||
import 'package:traderscircuit/Utils/text.dart';
|
||||
import 'package:traderscircuit/resources/routes/route_name.dart';
|
||||
import 'package:traderscircuit/view/onBoarding/splashScreen1.dart';
|
||||
|
||||
class AddDetails extends StatefulWidget {
|
||||
const AddDetails({super.key});
|
||||
|
||||
@override
|
||||
State<AddDetails> createState() => _AddDetailsState();
|
||||
}
|
||||
|
||||
class _AddDetailsState extends State<AddDetails> {
|
||||
TextEditingController pincode = TextEditingController();
|
||||
TextEditingController dobcontroller = TextEditingController();
|
||||
Color primaryColor = Colors.transparent.withOpacity(0.2);
|
||||
Color secondaryColor = Colors.grey.shade800;
|
||||
|
||||
bool isSwitched = false;
|
||||
|
||||
void _toggleSwitch(bool value) {
|
||||
setState(() {
|
||||
isSwitched = value;
|
||||
});
|
||||
}
|
||||
|
||||
DateTime timebackPressed = DateTime.now();
|
||||
|
||||
Future<void> _selectDate(BuildContext context) async {
|
||||
final DateTime? picked = await showDatePicker(
|
||||
context: context,
|
||||
initialDate: DateTime.now(),
|
||||
firstDate: DateTime(1900),
|
||||
lastDate: DateTime.now(),
|
||||
builder: (context, child) {
|
||||
return Theme(
|
||||
data: Theme.of(context).copyWith(
|
||||
colorScheme: ColorScheme.light(
|
||||
surface: Colors.black,
|
||||
onSurface: Colors.white,
|
||||
primary: Color(0xff9A0000),
|
||||
onPrimary: Colors.white,
|
||||
),
|
||||
textButtonTheme: TextButtonThemeData(
|
||||
style: TextButton.styleFrom(
|
||||
foregroundColor: Colors.white,
|
||||
),
|
||||
),
|
||||
),
|
||||
child: child!);
|
||||
});
|
||||
|
||||
if (picked != null && picked != DateTime.now()) {
|
||||
setState(() {
|
||||
dobcontroller.text = "${picked.toLocal()}".split(' ')[0];
|
||||
final birthDate = DateTime(
|
||||
picked.year,
|
||||
picked.month,
|
||||
picked.day,
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: CommonAppbar(titleTxt: "Add Details"),
|
||||
backgroundColor: Colors.black,
|
||||
extendBody: true,
|
||||
body: Stack(
|
||||
children: [
|
||||
CommonBlurLeft(),
|
||||
CommonBlurRight(),
|
||||
Stack(
|
||||
children: [
|
||||
Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 16, vertical: 16),
|
||||
child: ListView(
|
||||
physics: BouncingScrollPhysics(),
|
||||
// mainAxisAlignment: MainAxisAlignment.start,
|
||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||
|
||||
children: [
|
||||
Row(
|
||||
children: [
|
||||
text18W400("Full Name"),
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 15.h,
|
||||
),
|
||||
CustomTextFormField(),
|
||||
SizedBox(
|
||||
height: 30.h,
|
||||
),
|
||||
Row(
|
||||
children: [
|
||||
text18W400("Email Address"),
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 15.h,
|
||||
),
|
||||
CustomTextFormField(),
|
||||
SizedBox(
|
||||
height: 30.h,
|
||||
),
|
||||
Row(
|
||||
children: [
|
||||
text18W400("Phone Number"),
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 15.h,
|
||||
),
|
||||
CustomTextFormField(),
|
||||
SizedBox(
|
||||
height: 30.h,
|
||||
),
|
||||
Row(
|
||||
children: [
|
||||
text18W400("Date Of Birth"),
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 15.h,
|
||||
),
|
||||
CustomTextFormField(
|
||||
suffixIcon: Icon(
|
||||
Icons.calendar_month_outlined,
|
||||
color: Colors.white,
|
||||
),
|
||||
readonly: true,
|
||||
onTap: () {
|
||||
_selectDate(context);
|
||||
},
|
||||
),
|
||||
SizedBox(
|
||||
height: 30.h,
|
||||
),
|
||||
Row(
|
||||
children: [
|
||||
text18W400("City"),
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 15.h,
|
||||
),
|
||||
CustomTextFormField(),
|
||||
SizedBox(
|
||||
height: 40.h,
|
||||
),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Row(
|
||||
children: [
|
||||
Image.asset(
|
||||
"assets/images/png/whatsapp.png",
|
||||
height: 34.h,
|
||||
width: 34.w,
|
||||
),
|
||||
SizedBox(
|
||||
width: 10.w,
|
||||
),
|
||||
text18W600("Get Updates on WhatsApp"),
|
||||
],
|
||||
),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.end,
|
||||
children: [
|
||||
Switch(
|
||||
value: isSwitched,
|
||||
onChanged: _toggleSwitch,
|
||||
activeTrackColor: Colors.green,
|
||||
activeColor: Colors.white,
|
||||
inactiveTrackColor: Colors.white,
|
||||
inactiveThumbColor: Colors.black,
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 70.h,
|
||||
),
|
||||
CommonBtn(
|
||||
text: "Next",
|
||||
onTap: () {
|
||||
Get.toNamed(RouteName.kyc);
|
||||
},
|
||||
),
|
||||
SizedBox(
|
||||
height: 10.h,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
397
lib/view/login/Kyc.dart
Normal file
397
lib/view/login/Kyc.dart
Normal file
@@ -0,0 +1,397 @@
|
||||
import 'dart:ui';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:glassmorphism/glassmorphism.dart';
|
||||
import 'package:traderscircuit/Utils/Common/CommonAppbar.dart';
|
||||
import 'package:traderscircuit/Utils/Common/CommonDropdown.dart';
|
||||
import 'package:traderscircuit/Utils/Common/CustomTextFormField.dart';
|
||||
import 'package:traderscircuit/Utils/Common/commonBotton.dart';
|
||||
import 'package:traderscircuit/Utils/text.dart';
|
||||
import 'package:traderscircuit/resources/routes/route_name.dart';
|
||||
import 'package:traderscircuit/view/onBoarding/splashScreen1.dart';
|
||||
|
||||
class Kyc extends StatefulWidget {
|
||||
const Kyc({super.key});
|
||||
|
||||
@override
|
||||
State<Kyc> createState() => _KycState();
|
||||
}
|
||||
|
||||
class _KycState extends State<Kyc> {
|
||||
TextEditingController pincode = TextEditingController();
|
||||
TextEditingController dobcontroller = TextEditingController();
|
||||
Color primaryColor = Colors.transparent.withOpacity(0.2);
|
||||
Color secondaryColor = Colors.grey.shade800;
|
||||
|
||||
bool isSwitched = false;
|
||||
|
||||
void _toggleSwitch(bool value) {
|
||||
setState(() {
|
||||
isSwitched = value;
|
||||
});
|
||||
}
|
||||
|
||||
DateTime timebackPressed = DateTime.now();
|
||||
|
||||
Future<void> _selectDate(BuildContext context) async {
|
||||
final DateTime? picked = await showDatePicker(
|
||||
context: context,
|
||||
initialDate: DateTime.now(),
|
||||
firstDate: DateTime(1900),
|
||||
lastDate: DateTime.now(),
|
||||
builder: (context, child) {
|
||||
return Theme(
|
||||
data: Theme.of(context).copyWith(
|
||||
colorScheme: ColorScheme.light(
|
||||
surface: Colors.black,
|
||||
onSurface: Colors.white,
|
||||
primary: Color(0xff9A0000),
|
||||
onPrimary: Colors.white,
|
||||
),
|
||||
textButtonTheme: TextButtonThemeData(
|
||||
style: TextButton.styleFrom(
|
||||
foregroundColor: Colors.white,
|
||||
),
|
||||
),
|
||||
),
|
||||
child: child!);
|
||||
});
|
||||
|
||||
if (picked != null && picked != DateTime.now()) {
|
||||
setState(() {
|
||||
dobcontroller.text = "${picked.toLocal()}".split(' ')[0];
|
||||
final birthDate = DateTime(
|
||||
picked.year,
|
||||
picked.month,
|
||||
picked.day,
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: CommonAppbar(
|
||||
titleTxt: "KYC",
|
||||
customActionWidget: text16W400("skip"),
|
||||
),
|
||||
backgroundColor: Colors.black,
|
||||
extendBody: true,
|
||||
body: Stack(
|
||||
children: [
|
||||
CommonBlurLeft(),
|
||||
CommonBlurRight(),
|
||||
Stack(
|
||||
children: [
|
||||
Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 16, vertical: 16),
|
||||
child: ListView(
|
||||
physics: BouncingScrollPhysics(),
|
||||
// mainAxisAlignment: MainAxisAlignment.start,
|
||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||
|
||||
children: [
|
||||
// CommonDropdownBtn(hint: "hint", items: ["hi", "hii"]),
|
||||
Row(
|
||||
children: [
|
||||
text18W400("Full Name"),
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 15.h,
|
||||
),
|
||||
CustomTextFormField(),
|
||||
SizedBox(
|
||||
height: 30.h,
|
||||
),
|
||||
Row(
|
||||
children: [
|
||||
text18W400("Email Address"),
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 15.h,
|
||||
),
|
||||
CustomTextFormField(),
|
||||
SizedBox(
|
||||
height: 30.h,
|
||||
),
|
||||
Row(
|
||||
children: [
|
||||
text18W400("Phone Number"),
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 15.h,
|
||||
),
|
||||
CustomTextFormField(),
|
||||
SizedBox(
|
||||
height: 30.h,
|
||||
),
|
||||
Row(
|
||||
children: [
|
||||
text18W400("Date Of Birth"),
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 15.h,
|
||||
),
|
||||
CustomTextFormField(
|
||||
suffixIcon: Icon(
|
||||
Icons.calendar_month_outlined,
|
||||
color: Colors.white,
|
||||
),
|
||||
readonly: true,
|
||||
onTap: () {
|
||||
_selectDate(context);
|
||||
},
|
||||
),
|
||||
SizedBox(
|
||||
height: 30.h,
|
||||
),
|
||||
Row(
|
||||
children: [
|
||||
text18W400("City"),
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 15.h,
|
||||
),
|
||||
CustomTextFormField(),
|
||||
SizedBox(
|
||||
height: 30.h,
|
||||
),
|
||||
Row(
|
||||
children: [
|
||||
text18W400("Upload pan card image"),
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 15.h,
|
||||
),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
GlassmorphicContainer(
|
||||
width: 170.w,
|
||||
height: 105.h,
|
||||
borderRadius: 8,
|
||||
linearGradient: LinearGradient(
|
||||
begin: Alignment.topLeft,
|
||||
end: Alignment.bottomRight,
|
||||
colors: [
|
||||
Color(0xFFffffff).withOpacity(0.1),
|
||||
Color(0xFFFFFFFF).withOpacity(0.05),
|
||||
],
|
||||
stops: [
|
||||
0.1,
|
||||
1,
|
||||
]),
|
||||
border: 0.8,
|
||||
blur: 10,
|
||||
borderGradient: LinearGradient(
|
||||
begin: Alignment.topLeft,
|
||||
end: Alignment.bottomRight,
|
||||
colors: [
|
||||
Color(0xff9A0000).withOpacity(0.5),
|
||||
Color(0xFFffffff).withOpacity(0.5),
|
||||
],
|
||||
),
|
||||
child: Center(
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Icon(
|
||||
Icons.file_upload_outlined,
|
||||
size: 42,
|
||||
color: Colors.white,
|
||||
),
|
||||
SizedBox(
|
||||
height: 10.h,
|
||||
),
|
||||
text14W400("Front Side")
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
GlassmorphicContainer(
|
||||
width: 170.w,
|
||||
height: 105.h,
|
||||
borderRadius: 8,
|
||||
linearGradient: LinearGradient(
|
||||
begin: Alignment.topLeft,
|
||||
end: Alignment.bottomRight,
|
||||
colors: [
|
||||
Color(0xFFffffff).withOpacity(0.1),
|
||||
Color(0xFFFFFFFF).withOpacity(0.05),
|
||||
],
|
||||
stops: [
|
||||
0.1,
|
||||
1,
|
||||
]),
|
||||
border: 0.8,
|
||||
blur: 10,
|
||||
borderGradient: LinearGradient(
|
||||
begin: Alignment.topLeft,
|
||||
end: Alignment.bottomRight,
|
||||
colors: [
|
||||
Color(0xff9A0000).withOpacity(0.5),
|
||||
Color(0xFFffffff).withOpacity(0.5),
|
||||
],
|
||||
),
|
||||
child: Center(
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Icon(
|
||||
Icons.file_upload_outlined,
|
||||
size: 42,
|
||||
color: Colors.white,
|
||||
),
|
||||
SizedBox(
|
||||
height: 10.h,
|
||||
),
|
||||
text14W400("Back Side")
|
||||
],
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 30.h,
|
||||
),
|
||||
Row(
|
||||
children: [
|
||||
text18W400("Aadhaar Number"),
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 15.h,
|
||||
),
|
||||
CustomTextFormField(),
|
||||
SizedBox(
|
||||
height: 30.h,
|
||||
),
|
||||
Row(
|
||||
children: [
|
||||
text18W400("Upload Aadhaar card image"),
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 15.h,
|
||||
),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
GlassmorphicContainer(
|
||||
width: 170.w,
|
||||
height: 105.h,
|
||||
borderRadius: 8,
|
||||
linearGradient: LinearGradient(
|
||||
begin: Alignment.topLeft,
|
||||
end: Alignment.bottomRight,
|
||||
colors: [
|
||||
Color(0xFFffffff).withOpacity(0.1),
|
||||
Color(0xFFFFFFFF).withOpacity(0.05),
|
||||
],
|
||||
stops: [
|
||||
0.1,
|
||||
1,
|
||||
]),
|
||||
border: 0.8,
|
||||
blur: 10,
|
||||
borderGradient: LinearGradient(
|
||||
begin: Alignment.topLeft,
|
||||
end: Alignment.bottomRight,
|
||||
colors: [
|
||||
Color(0xff9A0000).withOpacity(0.5),
|
||||
Color(0xFFffffff).withOpacity(0.5),
|
||||
],
|
||||
),
|
||||
child: Center(
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Icon(
|
||||
Icons.file_upload_outlined,
|
||||
size: 42,
|
||||
color: Colors.white,
|
||||
),
|
||||
SizedBox(
|
||||
height: 10.h,
|
||||
),
|
||||
text14W400("Front Side")
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
GlassmorphicContainer(
|
||||
width: 170.w,
|
||||
height: 105.h,
|
||||
borderRadius: 8,
|
||||
linearGradient: LinearGradient(
|
||||
begin: Alignment.topLeft,
|
||||
end: Alignment.bottomRight,
|
||||
colors: [
|
||||
Color(0xFFffffff).withOpacity(0.1),
|
||||
Color(0xFFFFFFFF).withOpacity(0.05),
|
||||
],
|
||||
stops: [
|
||||
0.1,
|
||||
1,
|
||||
]),
|
||||
border: 0.8,
|
||||
blur: 10,
|
||||
borderGradient: LinearGradient(
|
||||
begin: Alignment.topLeft,
|
||||
end: Alignment.bottomRight,
|
||||
colors: [
|
||||
Color(0xff9A0000).withOpacity(0.5),
|
||||
Color(0xFFffffff).withOpacity(0.5),
|
||||
],
|
||||
),
|
||||
child: Center(
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Icon(
|
||||
Icons.file_upload_outlined,
|
||||
size: 42,
|
||||
color: Colors.white,
|
||||
),
|
||||
SizedBox(
|
||||
height: 10.h,
|
||||
),
|
||||
text14W400("Back Side")
|
||||
],
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 70.h,
|
||||
),
|
||||
CommonBtn(
|
||||
text: "Next",
|
||||
onTap: () {
|
||||
Get.toNamed(RouteName.updateriskprofile);
|
||||
},
|
||||
),
|
||||
SizedBox(
|
||||
height: 10.h,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
65
lib/view/login/UpdateRiskProfile.dart
Normal file
65
lib/view/login/UpdateRiskProfile.dart
Normal file
@@ -0,0 +1,65 @@
|
||||
import 'dart:ui';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:glassmorphism/glassmorphism.dart';
|
||||
import 'package:traderscircuit/Utils/Common/CommonAppbar.dart';
|
||||
import 'package:traderscircuit/Utils/Common/CommonDropdown.dart';
|
||||
import 'package:traderscircuit/Utils/Common/CustomTextFormField.dart';
|
||||
import 'package:traderscircuit/Utils/Common/commonBotton.dart';
|
||||
import 'package:traderscircuit/Utils/text.dart';
|
||||
import 'package:traderscircuit/resources/routes/route_name.dart';
|
||||
import 'package:traderscircuit/view/onBoarding/splashScreen1.dart';
|
||||
|
||||
class UpdateRiskProfile extends StatefulWidget {
|
||||
const UpdateRiskProfile({super.key});
|
||||
|
||||
@override
|
||||
State<UpdateRiskProfile> createState() => _UpdateRiskProfileState();
|
||||
}
|
||||
|
||||
class _UpdateRiskProfileState extends State<UpdateRiskProfile> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: CommonAppbar(
|
||||
titleTxt: "Update Risk Profile",
|
||||
customActionWidget: text16W400("skip"),
|
||||
),
|
||||
backgroundColor: Colors.black,
|
||||
extendBody: true,
|
||||
body: Stack(
|
||||
children: [
|
||||
CommonBlurLeft(),
|
||||
CommonBlurRight(),
|
||||
Stack(
|
||||
children: [
|
||||
Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 16, vertical: 16),
|
||||
child: ListView(
|
||||
physics: BouncingScrollPhysics(),
|
||||
// mainAxisAlignment: MainAxisAlignment.start,
|
||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||
|
||||
children: [
|
||||
// CommonDropdownBtn(hint: "hint", items: ["hi", "hii"]),
|
||||
CommonBtn(
|
||||
text: "Next",
|
||||
onTap: () {
|
||||
Get.toNamed(RouteName.mainscreen);
|
||||
},
|
||||
),
|
||||
SizedBox(
|
||||
height: 10.h,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -20,7 +20,10 @@ class _FaceidState extends State<Faceid> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: CommonAppbar(titleTxt: "Secure your access"),
|
||||
appBar: CommonAppbar(
|
||||
titleTxt: "Secure your access",
|
||||
// customActionWidget: SizedBox(),
|
||||
),
|
||||
backgroundColor: Colors.black,
|
||||
extendBody: true,
|
||||
body: Stack(
|
||||
@@ -37,9 +40,6 @@ class _FaceidState extends State<Faceid> {
|
||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||
|
||||
children: [
|
||||
SizedBox(
|
||||
height: 10.h,
|
||||
),
|
||||
text18W400("Quickly set up Face ID for secure access."),
|
||||
SizedBox(
|
||||
height: 180.h,
|
||||
@@ -56,7 +56,7 @@ class _FaceidState extends State<Faceid> {
|
||||
CommonBtn(
|
||||
text: "Setup",
|
||||
onTap: () {
|
||||
Get.toNamed(RouteName.loginscreen);
|
||||
Get.toNamed(RouteName.adddetails);
|
||||
},
|
||||
)
|
||||
],
|
||||
|
||||
@@ -37,9 +37,6 @@ class _FingerprintState extends State<Fingerprint> {
|
||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||
|
||||
children: [
|
||||
SizedBox(
|
||||
height: 10.h,
|
||||
),
|
||||
text18W400("Quickly set up Fingerprint for secure access."),
|
||||
SizedBox(
|
||||
height: 180.h,
|
||||
@@ -56,7 +53,7 @@ class _FingerprintState extends State<Fingerprint> {
|
||||
CommonBtn(
|
||||
text: "Setup",
|
||||
onTap: () {
|
||||
Get.toNamed(RouteName.loginscreen);
|
||||
Get.toNamed(RouteName.adddetails);
|
||||
},
|
||||
)
|
||||
],
|
||||
|
||||
@@ -22,7 +22,7 @@ class _PinState extends State<Pin> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: CommonAppbar(titleTxt: "Verify your number"),
|
||||
appBar: CommonAppbar(titleTxt: "Secure your access"),
|
||||
backgroundColor: Colors.black,
|
||||
extendBody: true,
|
||||
body: Stack(
|
||||
@@ -39,75 +39,67 @@ class _PinState extends State<Pin> {
|
||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||
|
||||
children: [
|
||||
SizedBox(
|
||||
height: 10.h,
|
||||
),
|
||||
text18W400("Quickly set up pin for secure access."),
|
||||
SizedBox(
|
||||
height: 180.h,
|
||||
height: 60.h,
|
||||
),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Container(
|
||||
child: PinCodeTextField(
|
||||
showCursor: true,
|
||||
cursorColor: Colors.white,
|
||||
textStyle:
|
||||
TextStyle(fontSize: 18.sp, color: Colors.white),
|
||||
errorTextSpace: 22,
|
||||
validator: (value) {
|
||||
if (value != null && value.isEmpty) {
|
||||
return "Please Enter verification code";
|
||||
} else if (value != null && value.length < 4) {
|
||||
return "OTP length should be atleast 4";
|
||||
}
|
||||
return null;
|
||||
},
|
||||
keyboardType: TextInputType.number,
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
length: 4,
|
||||
obscureText: false,
|
||||
animationType: AnimationType.fade,
|
||||
pinTheme: PinTheme(
|
||||
selectedFillColor: primaryColor,
|
||||
inactiveFillColor: primaryColor,
|
||||
activeFillColor: primaryColor,
|
||||
inactiveColor: secondaryColor,
|
||||
activeColor: secondaryColor,
|
||||
selectedColor: secondaryColor,
|
||||
shape: PinCodeFieldShape.box,
|
||||
borderRadius: BorderRadius.circular(15),
|
||||
fieldHeight: 60.h,
|
||||
fieldWidth: 60.w,
|
||||
),
|
||||
animationDuration: Duration(milliseconds: 300),
|
||||
enableActiveFill: true,
|
||||
controller: pin,
|
||||
onCompleted: (v) {
|
||||
print("Completed");
|
||||
},
|
||||
onChanged: (value) {
|
||||
print(value);
|
||||
setState(() {});
|
||||
},
|
||||
beforeTextPaste: (text) {
|
||||
print("Allowing to paste $text");
|
||||
|
||||
return true;
|
||||
},
|
||||
appContext: context,
|
||||
),
|
||||
Container(
|
||||
child: PinCodeTextField(
|
||||
showCursor: true,
|
||||
cursorColor: Colors.white,
|
||||
textStyle:
|
||||
TextStyle(fontSize: 18.sp, color: Colors.white),
|
||||
errorTextSpace: 22,
|
||||
validator: (value) {
|
||||
if (value != null && value.isEmpty) {
|
||||
return "Please Enter verification code";
|
||||
} else if (value != null && value.length < 4) {
|
||||
return "OTP length should be atleast 4";
|
||||
}
|
||||
return null;
|
||||
},
|
||||
keyboardType: TextInputType.number,
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
length: 4,
|
||||
obscureText: false,
|
||||
animationType: AnimationType.fade,
|
||||
pinTheme: PinTheme(
|
||||
selectedFillColor: primaryColor,
|
||||
inactiveFillColor: primaryColor,
|
||||
activeFillColor: primaryColor,
|
||||
inactiveColor: secondaryColor,
|
||||
activeColor: secondaryColor,
|
||||
selectedColor: secondaryColor,
|
||||
shape: PinCodeFieldShape.box,
|
||||
borderRadius: BorderRadius.circular(15),
|
||||
fieldHeight: 60.h,
|
||||
fieldWidth: 60.w,
|
||||
),
|
||||
],
|
||||
animationDuration: Duration(milliseconds: 300),
|
||||
enableActiveFill: true,
|
||||
controller: pin,
|
||||
onCompleted: (v) {
|
||||
print("Completed");
|
||||
},
|
||||
onChanged: (value) {
|
||||
print(value);
|
||||
setState(() {});
|
||||
},
|
||||
beforeTextPaste: (text) {
|
||||
print("Allowing to paste $text");
|
||||
|
||||
return true;
|
||||
},
|
||||
appContext: context,
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 180.h,
|
||||
height: 200.h,
|
||||
),
|
||||
CommonBtn(
|
||||
text: "Setup",
|
||||
onTap: () {
|
||||
Get.toNamed(RouteName.loginscreen);
|
||||
Get.toNamed(RouteName.adddetails);
|
||||
},
|
||||
)
|
||||
],
|
||||
|
||||
@@ -22,7 +22,7 @@ class _SecureAccessState extends State<SecureAccess> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: CommonAppbar(titleTxt: "Secure ypur access"),
|
||||
appBar: CommonAppbar(titleTxt: "Secure your access"),
|
||||
backgroundColor: Colors.black,
|
||||
extendBody: true,
|
||||
body: Stack(
|
||||
@@ -183,7 +183,9 @@ class _SecureAccessState extends State<SecureAccess> {
|
||||
height: 20.h,
|
||||
),
|
||||
InkWell(
|
||||
onTap: () {},
|
||||
onTap: () {
|
||||
Get.toNamed(RouteName.pin);
|
||||
},
|
||||
child: GlassmorphicContainer(
|
||||
width: double.infinity,
|
||||
height: 80.h,
|
||||
@@ -250,9 +252,9 @@ class _SecureAccessState extends State<SecureAccess> {
|
||||
height: 250.h,
|
||||
),
|
||||
CommonBtn(
|
||||
text: "Verify OTP",
|
||||
text: "Setup Later",
|
||||
onTap: () {
|
||||
Get.toNamed(RouteName.loginscreen);
|
||||
Get.toNamed(RouteName.adddetails);
|
||||
},
|
||||
)
|
||||
],
|
||||
|
||||
@@ -81,6 +81,14 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.7.10"
|
||||
dropdown_button2:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: dropdown_button2
|
||||
sha256: b0fe8d49a030315e9eef6c7ac84ca964250155a6224d491c1365061bc974a9e1
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.3.9"
|
||||
fake_async:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
||||
@@ -42,6 +42,7 @@ dependencies:
|
||||
glassmorphism: ^3.0.0
|
||||
pin_code_fields: ^8.0.1
|
||||
fluttertoast: ^8.0.9
|
||||
dropdown_button2: ^2.1.4
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
|
||||
Reference in New Issue
Block a user