Provider wireframe completed
parent
5dd5bd742f
commit
9e5c623184
Binary file not shown.
|
After Width: | Height: | Size: 43 KiB |
@ -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,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue