From fce750568d39ae89e253e14e0ab9caa86ac7ccc9 Mon Sep 17 00:00:00 2001 From: Rajshinde046 Date: Wed, 20 Mar 2024 12:34:48 +0530 Subject: [PATCH 1/2] add details --- assets/images/png/whatsapp.png | Bin 0 -> 4179 bytes lib/Utils/Common/CommonAppbar.dart | 38 +- lib/Utils/Common/CustomTextFormField.dart | 9 +- lib/Utils/text.dart | 11 + lib/resources/routes/route_name.dart | 6 + lib/resources/routes/routes.dart | 14 + lib/view/login/AddDetails.dart | 213 ++++++++++ lib/view/login/Kyc.dart | 388 +++++++++++++++++++ lib/view/secureAccess.dart/Faceid.dart | 5 +- lib/view/secureAccess.dart/Fingerprint.dart | 5 +- lib/view/secureAccess.dart/Pin.dart | 112 +++--- lib/view/secureAccess.dart/SecureAccess.dart | 10 +- 12 files changed, 728 insertions(+), 83 deletions(-) create mode 100644 assets/images/png/whatsapp.png create mode 100644 lib/view/login/AddDetails.dart create mode 100644 lib/view/login/Kyc.dart diff --git a/assets/images/png/whatsapp.png b/assets/images/png/whatsapp.png new file mode 100644 index 0000000000000000000000000000000000000000..359036e5d0237fe512a3fb061e0d36b3602e10c4 GIT binary patch literal 4179 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 createState() => _CustomTextFormFieldState(); @@ -80,6 +84,7 @@ class _CustomTextFormFieldState extends State { 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 { ], ), ) - : null, + : widget.suffixIcon == null + ? null + : widget.suffixIcon!, border: InputBorder.none, contentPadding: EdgeInsets.symmetric(horizontal: 10), ), diff --git a/lib/Utils/text.dart b/lib/Utils/text.dart index 904b2b6..f8a4ac2 100644 --- a/lib/Utils/text.dart +++ b/lib/Utils/text.dart @@ -77,3 +77,14 @@ Widget text14W300(String text) { fontFamily: 'manrope'), ); } + +Widget text14W400(String text) { + return Text( + text, + style: TextStyle( + fontSize: 14.sp, + color: Colors.white, + fontWeight: FontWeight.w400, + fontFamily: 'manrope'), + ); +} diff --git a/lib/resources/routes/route_name.dart b/lib/resources/routes/route_name.dart index bdb68ef..5c4d0ff 100644 --- a/lib/resources/routes/route_name.dart +++ b/lib/resources/routes/route_name.dart @@ -16,4 +16,10 @@ 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'; } diff --git a/lib/resources/routes/routes.dart b/lib/resources/routes/routes.dart index 591d019..da655d3 100644 --- a/lib/resources/routes/routes.dart +++ b/lib/resources/routes/routes.dart @@ -1,6 +1,8 @@ import 'package:get/get.dart'; import 'package:traderscircuit/Utils/Common/noInternet.dart'; import 'package:traderscircuit/resources/routes/route_name.dart'; +import 'package:traderscircuit/view/login/AddDetails.dart'; +import 'package:traderscircuit/view/login/Kyc.dart'; import 'package:traderscircuit/view/login/LoginScreen.dart'; import 'package:traderscircuit/view/login/VerifyOtp.dart'; import 'package:traderscircuit/view/onBoarding/splashScreen.dart'; @@ -64,5 +66,17 @@ class AppRoutes { name: RouteName.pin, page: () => const Pin(), ), + + //add details + GetPage( + name: RouteName.adddetails, + page: () => const AddDetails(), + ), + + //kyc + GetPage( + name: RouteName.kyc, + page: () => const Kyc(), + ), ]; } diff --git a/lib/view/login/AddDetails.dart b/lib/view/login/AddDetails.dart new file mode 100644 index 0000000..0de3d32 --- /dev/null +++ b/lib/view/login/AddDetails.dart @@ -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 createState() => _AddDetailsState(); +} + +class _AddDetailsState extends State { + 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 _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, + ), + ], + ), + ), + ], + ), + ], + ), + ); + } +} diff --git a/lib/view/login/Kyc.dart b/lib/view/login/Kyc.dart new file mode 100644 index 0000000..fdefc4c --- /dev/null +++ b/lib/view/login/Kyc.dart @@ -0,0 +1,388 @@ +import 'dart:ui'; + +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:glassmorphism/glassmorphism.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/view/onBoarding/splashScreen1.dart'; + +class Kyc extends StatefulWidget { + const Kyc({super.key}); + + @override + State createState() => _KycState(); +} + +class _KycState extends State { + 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 _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", + suffixIcon: "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: [ + 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"), + SizedBox( + height: 10.h, + ), + ], + ), + ), + ], + ), + ], + ), + ); + } +} diff --git a/lib/view/secureAccess.dart/Faceid.dart b/lib/view/secureAccess.dart/Faceid.dart index ecd9b37..bf17c81 100644 --- a/lib/view/secureAccess.dart/Faceid.dart +++ b/lib/view/secureAccess.dart/Faceid.dart @@ -37,9 +37,6 @@ class _FaceidState extends State { // crossAxisAlignment: CrossAxisAlignment.start, children: [ - SizedBox( - height: 10.h, - ), text18W400("Quickly set up Face ID for secure access."), SizedBox( height: 180.h, @@ -56,7 +53,7 @@ class _FaceidState extends State { CommonBtn( text: "Setup", onTap: () { - Get.toNamed(RouteName.loginscreen); + Get.toNamed(RouteName.adddetails); }, ) ], diff --git a/lib/view/secureAccess.dart/Fingerprint.dart b/lib/view/secureAccess.dart/Fingerprint.dart index e482638..b7c750b 100644 --- a/lib/view/secureAccess.dart/Fingerprint.dart +++ b/lib/view/secureAccess.dart/Fingerprint.dart @@ -37,9 +37,6 @@ class _FingerprintState extends State { // 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 { CommonBtn( text: "Setup", onTap: () { - Get.toNamed(RouteName.loginscreen); + Get.toNamed(RouteName.adddetails); }, ) ], diff --git a/lib/view/secureAccess.dart/Pin.dart b/lib/view/secureAccess.dart/Pin.dart index af2e77e..1caaa4b 100644 --- a/lib/view/secureAccess.dart/Pin.dart +++ b/lib/view/secureAccess.dart/Pin.dart @@ -22,7 +22,7 @@ class _PinState extends State { @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 { // 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); }, ) ], diff --git a/lib/view/secureAccess.dart/SecureAccess.dart b/lib/view/secureAccess.dart/SecureAccess.dart index dbaec0c..49bb891 100644 --- a/lib/view/secureAccess.dart/SecureAccess.dart +++ b/lib/view/secureAccess.dart/SecureAccess.dart @@ -22,7 +22,7 @@ class _SecureAccessState extends State { @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 { 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 { height: 250.h, ), CommonBtn( - text: "Verify OTP", + text: "Setup Later", onTap: () { - Get.toNamed(RouteName.loginscreen); + Get.toNamed(RouteName.adddetails); }, ) ], From 38271693a6656d359b45abc2fdc9b725225ab500 Mon Sep 17 00:00:00 2001 From: Rajshinde046 Date: Wed, 20 Mar 2024 19:30:42 +0530 Subject: [PATCH 2/2] about us --- lib/Utils/Common/CommonAppbar.dart | 37 +++-- lib/Utils/Common/CommonDropdown.dart | 172 +++++++++++++++++++++++ lib/main.dart | 3 - lib/resources/routes/route_name.dart | 11 +- lib/resources/routes/routes.dart | 36 ++++- lib/view/Sidemenu/AboutUs.dart | 56 ++++++++ lib/view/Sidemenu/PrivacyPolicy.dart | 56 ++++++++ lib/view/Sidemenu/Sidemenu.dart | 18 ++- lib/view/Sidemenu/TermsAndCondition.dart | 57 ++++++++ lib/view/login/Kyc.dart | 13 +- lib/view/login/UpdateRiskProfile.dart | 65 +++++++++ lib/view/secureAccess.dart/Faceid.dart | 5 +- pubspec.lock | 8 ++ pubspec.yaml | 1 + 14 files changed, 507 insertions(+), 31 deletions(-) create mode 100644 lib/Utils/Common/CommonDropdown.dart create mode 100644 lib/view/Sidemenu/AboutUs.dart create mode 100644 lib/view/Sidemenu/PrivacyPolicy.dart create mode 100644 lib/view/Sidemenu/TermsAndCondition.dart create mode 100644 lib/view/login/UpdateRiskProfile.dart diff --git a/lib/Utils/Common/CommonAppbar.dart b/lib/Utils/Common/CommonAppbar.dart index 15f3165..4fde113 100644 --- a/lib/Utils/Common/CommonAppbar.dart +++ b/lib/Utils/Common/CommonAppbar.dart @@ -15,6 +15,8 @@ class CommonAppbar extends StatelessWidget implements PreferredSizeWidget { this.showLeading = true, this.customBack, this.backPageName = '', + this.customActionWidget, + this.onCustomActionPressed, this.height = 105}) : super(key: key); @@ -23,6 +25,8 @@ class CommonAppbar extends StatelessWidget implements PreferredSizeWidget { final bool? showLeading; final bool? customBack; final String? backPageName; + final Widget? customActionWidget; + final VoidCallback? onCustomActionPressed; final double height; @override Widget build(BuildContext context) { @@ -71,24 +75,37 @@ class CommonAppbar extends StatelessWidget implements PreferredSizeWidget { maxLines: 2, softWrap: true, ), - Text( - suffixIcon == null ? "" : "skip", - style: TextStyle( - color: Colors.white, - fontSize: 18.sp, - fontWeight: FontWeight.w400, - 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, + ), + ), + ], ), ); } diff --git a/lib/Utils/Common/CommonDropdown.dart b/lib/Utils/Common/CommonDropdown.dart new file mode 100644 index 0000000..d6e18e3 --- /dev/null +++ b/lib/Utils/Common/CommonDropdown.dart @@ -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? items; + final void Function(String)? onItemSelected; + final bool isEnabled; + final bool islocation; + final bool textcolor; + + @override + State createState() => _CommonDropdownBtnState(); +} + +class _CommonDropdownBtnState extends State { + final kInnerDecoration = BoxDecoration( + color: Colors.white, + border: Border.all(color: Colors.white), + borderRadius: BorderRadius.circular(32), + ); + late String label; + final List 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( + 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(6), + thumbVisibility: MaterialStateProperty.all(true), + ), + ), + menuItemStyleData: const MenuItemStyleData( + height: 40, + padding: EdgeInsets.only(left: 14, right: 14), + ), + ), + ), + ], + ), + ); + } +} diff --git a/lib/main.dart b/lib/main.dart index cffa6a5..406c806 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -95,12 +95,9 @@ class _MyAppState extends State 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), diff --git a/lib/resources/routes/route_name.dart b/lib/resources/routes/route_name.dart index 097106e..689e3fd 100644 --- a/lib/resources/routes/route_name.dart +++ b/lib/resources/routes/route_name.dart @@ -14,9 +14,6 @@ class RouteName { static const String mainscreen = '/mainscreen'; static const String shortTrade = '/shortTrade'; - - - static const String verifyotp = '/verifyotp'; //secureaccess @@ -30,4 +27,12 @@ class RouteName { //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'; } diff --git a/lib/resources/routes/routes.dart b/lib/resources/routes/routes.dart index 098a173..4d7fc84 100644 --- a/lib/resources/routes/routes.dart +++ b/lib/resources/routes/routes.dart @@ -1,6 +1,9 @@ import 'package:get/get.dart'; import 'package:traderscircuit/Utils/Common/noInternet.dart'; import 'package:traderscircuit/resources/routes/route_name.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'; @@ -11,6 +14,7 @@ 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'; @@ -51,22 +55,22 @@ class AppRoutes { name: RouteName.loginscreen, page: () => const LoginScreen(), ), - GetPage( + GetPage( name: RouteName.homescreen, page: () => const HomeScreen(), ), - GetPage( + GetPage( name: RouteName.sidemenu, page: () => const SideMenu(), ), - GetPage( + GetPage( name: RouteName.mainscreen, page: () => const MainScreen(), ), - GetPage( + GetPage( name: RouteName.shortTrade, page: () => const ShortTrade(), - ), + ), GetPage( name: RouteName.verifyotp, page: () => const VerifyOTP(), @@ -97,9 +101,29 @@ class AppRoutes { ), //kyc - GetPage( + 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(), + ), ]; } diff --git a/lib/view/Sidemenu/AboutUs.dart b/lib/view/Sidemenu/AboutUs.dart new file mode 100644 index 0000000..26e5795 --- /dev/null +++ b/lib/view/Sidemenu/AboutUs.dart @@ -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 createState() => _AboutUsState(); +} + +class _AboutUsState extends State { + @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, + ), + ], + ), + ), + ], + ), + ], + ), + ); + } +} diff --git a/lib/view/Sidemenu/PrivacyPolicy.dart b/lib/view/Sidemenu/PrivacyPolicy.dart new file mode 100644 index 0000000..a41470c --- /dev/null +++ b/lib/view/Sidemenu/PrivacyPolicy.dart @@ -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 createState() => _PrivacyPolicyState(); +} + +class _PrivacyPolicyState extends State { + @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, + ), + ], + ), + ), + ], + ), + ], + ), + ); + } +} diff --git a/lib/view/Sidemenu/Sidemenu.dart b/lib/view/Sidemenu/Sidemenu.dart index 8449f40..ca68bf7 100644 --- a/lib/view/Sidemenu/Sidemenu.dart +++ b/lib/view/Sidemenu/Sidemenu.dart @@ -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 { ), 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( diff --git a/lib/view/Sidemenu/TermsAndCondition.dart b/lib/view/Sidemenu/TermsAndCondition.dart new file mode 100644 index 0000000..92e8dc9 --- /dev/null +++ b/lib/view/Sidemenu/TermsAndCondition.dart @@ -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 createState() => _TermsAndConditionsState(); +} + +class _TermsAndConditionsState extends State { + @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, + ), + ], + ), + ), + ], + ), + ], + ), + ); + } +} diff --git a/lib/view/login/Kyc.dart b/lib/view/login/Kyc.dart index fdefc4c..1225b12 100644 --- a/lib/view/login/Kyc.dart +++ b/lib/view/login/Kyc.dart @@ -2,11 +2,14 @@ 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 { @@ -73,7 +76,7 @@ class _KycState extends State { return Scaffold( appBar: CommonAppbar( titleTxt: "KYC", - suffixIcon: "skip", + customActionWidget: text16W400("skip"), ), backgroundColor: Colors.black, extendBody: true, @@ -91,6 +94,7 @@ class _KycState extends State { // crossAxisAlignment: CrossAxisAlignment.start, children: [ + // CommonDropdownBtn(hint: "hint", items: ["hi", "hii"]), Row( children: [ text18W400("Full Name"), @@ -372,7 +376,12 @@ class _KycState extends State { SizedBox( height: 70.h, ), - CommonBtn(text: "Next"), + CommonBtn( + text: "Next", + onTap: () { + Get.toNamed(RouteName.updateriskprofile); + }, + ), SizedBox( height: 10.h, ), diff --git a/lib/view/login/UpdateRiskProfile.dart b/lib/view/login/UpdateRiskProfile.dart new file mode 100644 index 0000000..8cc0b34 --- /dev/null +++ b/lib/view/login/UpdateRiskProfile.dart @@ -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 createState() => _UpdateRiskProfileState(); +} + +class _UpdateRiskProfileState extends State { + @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, + ), + ], + ), + ), + ], + ), + ], + ), + ); + } +} diff --git a/lib/view/secureAccess.dart/Faceid.dart b/lib/view/secureAccess.dart/Faceid.dart index bf17c81..eaa12d3 100644 --- a/lib/view/secureAccess.dart/Faceid.dart +++ b/lib/view/secureAccess.dart/Faceid.dart @@ -20,7 +20,10 @@ class _FaceidState extends State { @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( diff --git a/pubspec.lock b/pubspec.lock index 2363400..950f7f8 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -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: diff --git a/pubspec.yaml b/pubspec.yaml index 32cc2a3..bc3d451 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -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: