Merge pull request #6 from WDI-Ideas/splash

about us
This commit is contained in:
Raj
2024-03-20 19:31:04 +05:30
committed by GitHub
14 changed files with 507 additions and 31 deletions

View File

@@ -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,
),
),
],
),
);
}

View 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),
),
),
),
],
),
);
}
}

View File

@@ -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),

View File

@@ -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';
}

View File

@@ -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(),
),
];
}

View 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,
),
],
),
),
],
),
],
),
);
}
}

View 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,
),
],
),
),
],
),
],
),
);
}
}

View File

@@ -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(

View 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,
),
],
),
),
],
),
],
),
);
}
}

View File

@@ -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<Kyc> {
return Scaffold(
appBar: CommonAppbar(
titleTxt: "KYC",
suffixIcon: "skip",
customActionWidget: text16W400("skip"),
),
backgroundColor: Colors.black,
extendBody: true,
@@ -91,6 +94,7 @@ class _KycState extends State<Kyc> {
// crossAxisAlignment: CrossAxisAlignment.start,
children: [
// CommonDropdownBtn(hint: "hint", items: ["hi", "hii"]),
Row(
children: [
text18W400("Full Name"),
@@ -372,7 +376,12 @@ class _KycState extends State<Kyc> {
SizedBox(
height: 70.h,
),
CommonBtn(text: "Next"),
CommonBtn(
text: "Next",
onTap: () {
Get.toNamed(RouteName.updateriskprofile);
},
),
SizedBox(
height: 10.h,
),

View 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,
),
],
),
),
],
),
],
),
);
}
}

View File

@@ -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(

View File

@@ -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:

View File

@@ -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: