Provider wireframe completed

sikander_work
tall3at 4 years ago
parent 5dd5bd742f
commit 9e5c623184

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

@ -3,6 +3,9 @@ import 'package:car_provider_app/pages/user/complete_profile_page.dart';
import 'package:car_provider_app/pages/user/forget_password_page.dart';
import 'package:car_provider_app/pages/user/login_verification_page.dart';
import 'package:car_provider_app/pages/user/login_verify_account_page.dart';
import 'package:car_provider_app/pages/user/profile/profile_1_page.dart';
import 'package:car_provider_app/pages/user/profile/profile_2_page.dart';
import 'package:car_provider_app/pages/user/profile/profile_3_page.dart';
import 'package:car_provider_app/pages/user/register_page.dart';
import 'package:car_provider_app/pages/user/register_selection_page.dart';
import 'package:car_provider_app/pages/user/splash_page.dart';
@ -18,6 +21,9 @@ class AppRoutes {
static final String loginVerification = "/loginVerification";
static final String dashboard = "/dashboard";
static final String completeProfile = "/completeProfile";
static final String profile1 = "/profile1";
static final String profile2 = "/profile2";
static final String profile3 = "/profile3";
@ -33,5 +39,8 @@ class AppRoutes {
loginVerification: (context) => LoginVerificationPage(),
dashboard: (context) => DashboardPage(),
completeProfile: (context) => CompleteProfilePage(),
profile1: (context) => Profile1Page(),
profile2: (context) => Profile2Page(),
profile3: (context) => Profile3Page(),
};
}

@ -45,7 +45,7 @@ class LoginVerifyAccountPage extends StatelessWidget {
child: MessageDialog(
title: "Phone Number Verified",
onClick: () {
//navigateWithName(context, AppRoutes.completeProfile);
navigateWithName(context, AppRoutes.profile1);
},
),
),
@ -70,7 +70,7 @@ class LoginVerifyAccountPage extends StatelessWidget {
child: MessageDialog(
title: "Phone Number Verified",
onClick: () {
// navigateWithName(context, AppRoutes.completeProfile);
navigateWithName(context, AppRoutes.profile1);
},
),
),

@ -0,0 +1,78 @@
import 'package:car_provider_app/config/routes.dart';
import 'package:car_provider_app/utils/navigator.dart';
import 'package:car_provider_app/utils/utils.dart';
import 'package:car_provider_app/widgets/app_bar.dart';
import 'package:car_provider_app/widgets/show_fill_button.dart';
import 'package:car_provider_app/widgets/txt.dart';
import 'package:car_provider_app/widgets/txt_field.dart';
import 'package:flutter/material.dart';
class Profile1Page extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: appBar(title: "Sign Up"),
body: Container(
width: double.infinity,
height: double.infinity,
child: SingleChildScrollView(
child: Padding(
padding: EdgeInsets.all(40),
child: Column(
children: [
Txt(
"Complete Profile 1/3",
txtType: TxtType.heading3,
),
Txt(
"User Information",
),
mHeight(12),
TxtField(
hint: "Provider",
),
mHeight(12),
TxtField(
hint: "First Name",
),
mHeight(12),
TxtField(
hint: "Surname",
),
mHeight(12),
TxtField(
hint: "Email",
),
mHeight(12),
TxtField(
hint: "Create Password",
),
mHeight(12),
TxtField(
hint: "Confirm Password",
),
mHeight(12),
TxtField(
hint: "Phone Number",
),
mHeight(50),
Txt(
"By creating an account you agree to our Terms of Service and Privacy Policy",
textAlign: TextAlign.center,
),
mHeight(16),
ShowFillButton(
title: "Continue",
width: double.infinity,
onPressed: () {
navigateWithName(context, AppRoutes.profile2);
},
),
],
),
),
),
),
);
}
}

@ -0,0 +1,64 @@
import 'package:car_provider_app/config/routes.dart';
import 'package:car_provider_app/utils/navigator.dart';
import 'package:car_provider_app/utils/utils.dart';
import 'package:car_provider_app/widgets/app_bar.dart';
import 'package:car_provider_app/widgets/show_fill_button.dart';
import 'package:car_provider_app/widgets/txt.dart';
import 'package:car_provider_app/widgets/txt_field.dart';
import 'package:flutter/material.dart';
class Profile2Page extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: appBar(title: "Sign Up"),
body: Container(
width: double.infinity,
height: double.infinity,
child: SingleChildScrollView(
child: Padding(
padding: EdgeInsets.all(40),
child: Column(
children: [
Txt(
"Complete Profile 2/3",
txtType: TxtType.heading3,
),
Txt(
"licenses & certificatoins",
),
mHeight(12),
TxtField(
hint: "Commercial Record N.O",
// isButtonEnable: true,
isNeedFilterButton: true,
postfixData: Icons.attach_file,
),
mHeight(12),
TxtField(
hint: "Chamber of Commerce N.O",
isNeedFilterButton: true,
postfixData: Icons.attach_file,
),
mHeight(12),
TxtField(
hint: "VET Certificate N.O",
isNeedFilterButton: true,
postfixData: Icons.attach_file,
),
mHeight(30),
ShowFillButton(
title: "Save",
width: double.infinity,
onPressed: () {
navigateWithName(context, AppRoutes.profile3);
},
),
],
),
),
),
),
);
}
}

@ -0,0 +1,67 @@
import 'package:car_provider_app/utils/utils.dart';
import 'package:car_provider_app/widgets/app_bar.dart';
import 'package:car_provider_app/widgets/dialog/dialogs.dart';
import 'package:car_provider_app/widgets/dialog/message_dialog.dart';
import 'package:car_provider_app/widgets/dropdown/dropdow_field.dart';
import 'package:car_provider_app/widgets/show_fill_button.dart';
import 'package:car_provider_app/widgets/txt.dart';
import 'package:car_provider_app/widgets/txt_field.dart';
import 'package:flutter/material.dart';
class Profile3Page extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: appBar(title: "Sign Up"),
body: Container(
width: double.infinity,
height: double.infinity,
child: SingleChildScrollView(
child: Padding(
padding: EdgeInsets.all(40),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Txt(
"Complete Profile 3/3",
txtType: TxtType.heading3,
),
Txt(
"Branch Info and Services",
),
mHeight(12),
DropdownField(
hint: "Country",
),
mHeight(12),
DropdownField(
hint: "City",
),
mHeight(12),
TxtField(
hint: "Address",
maxLines: 5,
),
mHeight(12),
Txt("Select Location Map"),
mHeight(12),
Image.asset("assets/images/bn_map.png"),
mHeight(50),
ShowFillButton(
title: "Save",
width: double.infinity,
onPressed: () {
showMDialog(context,
child: MessageDialog(
title: "Profile Completed",
));
},
),
],
),
),
),
),
);
}
}

@ -0,0 +1,78 @@
import 'package:car_provider_app/theme/colors.dart';
import 'package:car_provider_app/utils/utils.dart';
import 'package:flutter/material.dart';
import 'package:car_provider_app/theme/colors.dart';
import 'package:car_provider_app/utils/utils.dart';
import '../txt.dart';
class DropdownField extends StatefulWidget {
String? hint;
List<String>? list;
DropdownField({this.hint, this.list});
@override
State<DropdownField> createState() => _DropdownFieldState();
}
class _DropdownFieldState extends State<DropdownField> {
String? dropdownValue;
@override
Widget build(BuildContext context) {
return Container(
decoration: containerColorRadiusBorderWidth(
Colors.transparent,
4,
borderColor,
0.5,
),
margin: EdgeInsets.all(2),
padding: EdgeInsets.only(left: 8, right: 8),
child: DropdownButton<String>(
value: dropdownValue,
icon: const Icon(Icons.keyboard_arrow_down_sharp),
elevation: 16,
iconSize: 16,
iconEnabledColor: borderColor,
iconDisabledColor: borderColor,
isExpanded: true,
style: const TextStyle(color: Colors.black),
hint: Txt(
widget.hint ?? "",
txtType: TxtType.heading1,
bold: false,
color: borderColor,
),
underline: Container(
height: 0,
),
onChanged: (String? newValue) {
setState(() {
dropdownValue = newValue!;
});
},
items: (widget.list ??
<String>[
'One',
'Two',
'Free',
'Four',
])
.map<DropdownMenuItem<String>>(
(String value) {
return DropdownMenuItem<String>(
value: value,
child: Txt(
value,
txtType: TxtType.heading1,
bold: false,
),
);
},
).toList(),
),
);
}
}

@ -0,0 +1,33 @@
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:car_provider_app/config/constants.dart';
import 'package:car_provider_app/theme/colors.dart';
import 'package:car_provider_app/utils/utils.dart';
import 'package:car_provider_app/widgets/txt.dart';
class DropDownText extends StatelessWidget {
String title;
DropDownText(this.title);
@override
Widget build(BuildContext context) {
return Row(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Txt(
title,
txtType: TxtType.heading3,
color: accentColor,
),
mWidth(16),
SvgPicture.asset(
svgIcons + "ic_arrow_down.svg",
width: 10,
height: 10,
),
],
);
}
}

@ -65,15 +65,18 @@ class TxtField extends StatelessWidget {
alignLabelWithHint: true,
fillColor: Colors.white,
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(color: accentColor, width:isNeedBorder? 1.0:0),
borderSide: BorderSide(
color: accentColor, width: isNeedBorder ? 1.0 : 0),
borderRadius: BorderRadius.circular(4.0),
),
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(color: borderColor, width:isNeedBorder? 1.0:0),
borderSide: BorderSide(
color: borderColor, width: isNeedBorder ? 1.0 : 0),
borderRadius: BorderRadius.circular(4.0),
),
disabledBorder: OutlineInputBorder(
borderSide: BorderSide(color: borderColor, width:isNeedBorder? 1.0:0),
borderSide: BorderSide(
color: borderColor, width: isNeedBorder ? 1.0 : 0),
borderRadius: BorderRadius.circular(4.0),
),
prefixIcon: prefixData != null

Loading…
Cancel
Save