23-ServiceListing design completed
This commit is contained in:
parent
6ad19b1820
commit
9d45a4c28e
@ -2,8 +2,10 @@ import 'package:dotted_border/dotted_border.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_switch/flutter_switch.dart';
|
||||
import 'package:openclosenew/15_addbusinessdetails.dart';
|
||||
import 'package:openclosenew/22-AddService.dart';
|
||||
import 'package:openclosenew/colors.dart';
|
||||
|
||||
import '18-AddProductFrom.dart';
|
||||
import 'FontFamily.dart';
|
||||
import 'fontsize.dart';
|
||||
|
||||
@ -348,7 +350,12 @@ class _businessdetailsemptyState extends State<businessdetailsempty> {
|
||||
children: [
|
||||
InkWell(
|
||||
onTap: () {
|
||||
Navigator.pop(context);
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (_) => addproductfrom(),
|
||||
),
|
||||
);
|
||||
},
|
||||
child: Container(
|
||||
padding: EdgeInsets.all(10),
|
||||
@ -424,7 +431,8 @@ class _businessdetailsemptyState extends State<businessdetailsempty> {
|
||||
),
|
||||
InkWell(
|
||||
onTap: () {
|
||||
Navigator.pop(context);
|
||||
Navigator.push(context,
|
||||
MaterialPageRoute(builder: (_) => addservice()));
|
||||
},
|
||||
child: Container(
|
||||
padding: EdgeInsets.all(10),
|
||||
|
@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:openclosenew/colors.dart';
|
||||
import '18-AddProductFrom.dart';
|
||||
import '14_businessdetailsempty.dart';
|
||||
import 'FontFamily.dart';
|
||||
import 'fontsize.dart';
|
||||
|
||||
@ -53,8 +53,10 @@ class profileformsuccess extends StatelessWidget {
|
||||
minWidth: double.infinity,
|
||||
color: primaryColor,
|
||||
onPressed: () {
|
||||
Navigator.push(context,
|
||||
MaterialPageRoute(builder: (_) => addproductfrom()));
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (_) => businessdetailsempty()));
|
||||
},
|
||||
child: Text(
|
||||
'Go to Business',
|
||||
|
@ -93,7 +93,7 @@ class _ProductListingState extends State<ProductListing>
|
||||
BottomSheets(context);
|
||||
},
|
||||
child: Container(
|
||||
height: 220,
|
||||
height: 225,
|
||||
width: double.infinity,
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.all(Radius.circular(10)),
|
||||
@ -210,245 +210,251 @@ class _ProductListingState extends State<ProductListing>
|
||||
),
|
||||
),
|
||||
),
|
||||
SizedBox(height: 10),
|
||||
Container(
|
||||
height: 220,
|
||||
width: double.infinity,
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(5),
|
||||
boxShadow: [
|
||||
BoxShadow(
|
||||
color: White,
|
||||
offset: Offset(4.0, 4.0),
|
||||
blurRadius: 10.0,
|
||||
spreadRadius: 1.0,
|
||||
),
|
||||
],
|
||||
),
|
||||
child: Stack(
|
||||
children: [
|
||||
Column(
|
||||
children: [
|
||||
Image(
|
||||
image: AssetImage(
|
||||
'assets/images/MuttonBriyani.png'),
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(
|
||||
top: 10, left: 15, right: 15),
|
||||
child: Row(
|
||||
children: [
|
||||
Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
'Mutton Briyani',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w500,
|
||||
fontSize: HeadText,
|
||||
color: DarkGray,
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 5,
|
||||
),
|
||||
Text(
|
||||
'₹ 270.00',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w600,
|
||||
fontSize: HeadText,
|
||||
color: DarkGray,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
Spacer(),
|
||||
Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.end,
|
||||
children: [
|
||||
Container(
|
||||
padding: EdgeInsets.only(
|
||||
left: 5,
|
||||
right: 5,
|
||||
),
|
||||
height: 25,
|
||||
width: 50,
|
||||
decoration: BoxDecoration(
|
||||
color: Color(0xFFF0A30C),
|
||||
borderRadius:
|
||||
BorderRadius.circular(5),
|
||||
),
|
||||
child: Row(
|
||||
children: [
|
||||
Text(
|
||||
'3.8',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w400,
|
||||
fontSize: SubText,
|
||||
color: White,
|
||||
),
|
||||
),
|
||||
Spacer(),
|
||||
Icon(
|
||||
Icons.star_rate_rounded,
|
||||
size: 20,
|
||||
color: White,
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 5,
|
||||
),
|
||||
Text(
|
||||
'56 ratings',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w400,
|
||||
fontSize: SubText,
|
||||
color: Gray,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
SizedBox(height: 15),
|
||||
InkWell(
|
||||
onTap: () {},
|
||||
child: Container(
|
||||
height: 225,
|
||||
width: double.infinity,
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(5),
|
||||
boxShadow: [
|
||||
BoxShadow(
|
||||
color: White,
|
||||
offset: Offset(4.0, 4.0),
|
||||
blurRadius: 10.0,
|
||||
spreadRadius: 1.0,
|
||||
),
|
||||
],
|
||||
),
|
||||
child: Stack(
|
||||
children: [
|
||||
Column(
|
||||
children: [
|
||||
Image(
|
||||
image: AssetImage(
|
||||
'assets/images/MuttonBriyani.png'),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(
|
||||
top: 10, left: 15, right: 15),
|
||||
child: Row(
|
||||
children: [
|
||||
Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
'Mutton Briyani',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w500,
|
||||
fontSize: HeadText,
|
||||
color: DarkGray,
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 5,
|
||||
),
|
||||
Text(
|
||||
'₹ 270.00',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w600,
|
||||
fontSize: HeadText,
|
||||
color: DarkGray,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
Spacer(),
|
||||
Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.end,
|
||||
children: [
|
||||
Container(
|
||||
padding: EdgeInsets.only(
|
||||
left: 5,
|
||||
right: 5,
|
||||
),
|
||||
height: 25,
|
||||
width: 50,
|
||||
decoration: BoxDecoration(
|
||||
color: Color(0xFFF0A30C),
|
||||
borderRadius:
|
||||
BorderRadius.circular(5),
|
||||
),
|
||||
child: Row(
|
||||
children: [
|
||||
Text(
|
||||
'3.8',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w400,
|
||||
fontSize: SubText,
|
||||
color: White,
|
||||
),
|
||||
),
|
||||
Spacer(),
|
||||
Icon(
|
||||
Icons.star_rate_rounded,
|
||||
size: 20,
|
||||
color: White,
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 5,
|
||||
),
|
||||
Text(
|
||||
'56 ratings',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w400,
|
||||
fontSize: SubText,
|
||||
color: Gray,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
SizedBox(height: 10),
|
||||
Container(
|
||||
height: 220,
|
||||
width: double.infinity,
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(5),
|
||||
boxShadow: [
|
||||
BoxShadow(
|
||||
color: White,
|
||||
offset: Offset(4.0, 4.0),
|
||||
blurRadius: 10.0,
|
||||
spreadRadius: 1.0,
|
||||
),
|
||||
],
|
||||
),
|
||||
child: Stack(
|
||||
children: [
|
||||
Column(
|
||||
children: [
|
||||
Image(
|
||||
image: AssetImage(
|
||||
'assets/images/GrilledChicken.png'),
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(
|
||||
top: 10, left: 15, right: 15),
|
||||
child: Row(
|
||||
children: [
|
||||
Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
'Chicken Briyani',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w500,
|
||||
fontSize: HeadText,
|
||||
color: DarkGray,
|
||||
SizedBox(height: 15),
|
||||
InkWell(
|
||||
onTap: () {},
|
||||
child: Container(
|
||||
height: 225,
|
||||
width: double.infinity,
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(5),
|
||||
boxShadow: [
|
||||
BoxShadow(
|
||||
color: White,
|
||||
offset: Offset(4.0, 4.0),
|
||||
blurRadius: 10.0,
|
||||
spreadRadius: 1.0,
|
||||
),
|
||||
],
|
||||
),
|
||||
child: Stack(
|
||||
children: [
|
||||
Column(
|
||||
children: [
|
||||
Image(
|
||||
image: AssetImage(
|
||||
'assets/images/GrilledChicken.png'),
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(
|
||||
top: 10, left: 15, right: 15),
|
||||
child: Row(
|
||||
children: [
|
||||
Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
'Chicken Briyani',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w500,
|
||||
fontSize: HeadText,
|
||||
color: DarkGray,
|
||||
),
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 5,
|
||||
),
|
||||
Text(
|
||||
'₹ 180.00',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w600,
|
||||
fontSize: HeadText,
|
||||
color: DarkGray,
|
||||
SizedBox(
|
||||
height: 5,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
Spacer(),
|
||||
Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.end,
|
||||
children: [
|
||||
Container(
|
||||
padding: EdgeInsets.only(
|
||||
left: 5,
|
||||
right: 5,
|
||||
Text(
|
||||
'₹ 180.00',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w600,
|
||||
fontSize: HeadText,
|
||||
color: DarkGray,
|
||||
),
|
||||
),
|
||||
height: 25,
|
||||
width: 50,
|
||||
decoration: BoxDecoration(
|
||||
color: Color(0xFFF0A30C),
|
||||
borderRadius:
|
||||
BorderRadius.circular(5),
|
||||
),
|
||||
child: Row(
|
||||
children: [
|
||||
Text(
|
||||
'4.2',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w400,
|
||||
fontSize: SubText,
|
||||
],
|
||||
),
|
||||
Spacer(),
|
||||
Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.end,
|
||||
children: [
|
||||
Container(
|
||||
padding: EdgeInsets.only(
|
||||
left: 5,
|
||||
right: 5,
|
||||
),
|
||||
height: 25,
|
||||
width: 50,
|
||||
decoration: BoxDecoration(
|
||||
color: Color(0xFFF0A30C),
|
||||
borderRadius:
|
||||
BorderRadius.circular(5),
|
||||
),
|
||||
child: Row(
|
||||
children: [
|
||||
Text(
|
||||
'4.2',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w400,
|
||||
fontSize: SubText,
|
||||
color: White,
|
||||
),
|
||||
),
|
||||
Spacer(),
|
||||
Icon(
|
||||
Icons.star_rate_rounded,
|
||||
size: 20,
|
||||
color: White,
|
||||
),
|
||||
),
|
||||
Spacer(),
|
||||
Icon(
|
||||
Icons.star_rate_rounded,
|
||||
size: 20,
|
||||
color: White,
|
||||
)
|
||||
],
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 5,
|
||||
),
|
||||
Text(
|
||||
'56 ratings',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w400,
|
||||
fontSize: SubText,
|
||||
color: Gray,
|
||||
SizedBox(
|
||||
height: 5,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
Text(
|
||||
'56 ratings',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w400,
|
||||
fontSize: SubText,
|
||||
color: Gray,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
)
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
@ -462,24 +468,150 @@ void BottomSheets(BuildContext context) {
|
||||
context: context,
|
||||
builder: (context) => Container(
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.only(
|
||||
topLeft: Radius.circular(10),
|
||||
topRight: Radius.circular(10),
|
||||
),
|
||||
borderRadius: BorderRadius.circular(50),
|
||||
),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Image(
|
||||
image: AssetImage('assets/images/Chicken_Briyani.png'),
|
||||
),
|
||||
Row(
|
||||
children: [
|
||||
Image(
|
||||
image: AssetImage('assets/images/nonveg_icon.png'),
|
||||
height: 10,
|
||||
width: 10,
|
||||
)
|
||||
],
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(top: 20, left: 20, right: 20),
|
||||
child: Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Image(
|
||||
image: AssetImage('assets/images/nonveg_icon.png'),
|
||||
height: 20,
|
||||
width: 20,
|
||||
),
|
||||
SizedBox(
|
||||
width: 15,
|
||||
),
|
||||
Text('Non-Veg'),
|
||||
Spacer(),
|
||||
Column(
|
||||
children: [
|
||||
Container(
|
||||
padding: EdgeInsets.only(
|
||||
left: 5,
|
||||
right: 5,
|
||||
),
|
||||
height: 25,
|
||||
width: 50,
|
||||
decoration: BoxDecoration(
|
||||
color: Color(0xFFF0A30C),
|
||||
borderRadius: BorderRadius.circular(5),
|
||||
),
|
||||
child: Row(
|
||||
children: [
|
||||
Text(
|
||||
'4.2',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w400,
|
||||
fontSize: SubText,
|
||||
color: White,
|
||||
),
|
||||
),
|
||||
Spacer(),
|
||||
Icon(
|
||||
Icons.star_rate_rounded,
|
||||
size: 20,
|
||||
color: White,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 5,
|
||||
),
|
||||
Text(
|
||||
'56 ratings',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w400,
|
||||
fontSize: SubText,
|
||||
color: Gray,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(left: 20, right: 20),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
'Chicken Briyani',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w500,
|
||||
fontSize: TitleText,
|
||||
color: DarkGray,
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 5,
|
||||
),
|
||||
Text(
|
||||
'₹ 180.00',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w600,
|
||||
fontSize: 20,
|
||||
color: DarkGray,
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 15,
|
||||
),
|
||||
Text(
|
||||
'Biryani is a mixed rice dish originating among the Muslims of the Indian subcontinent. It is made with Indian spices, rice, and usually some type of meat, and sometimes, in addition, eggs and potatoes. Biryani is one of the most popular dishes in South Asia',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w400,
|
||||
fontSize: SubText,
|
||||
color: DarkGray,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
Spacer(),
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(bottom: 25),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Image.asset(
|
||||
'assets/images/edit_pen.png',
|
||||
color: primaryColor,
|
||||
width: 25,
|
||||
height: 25,
|
||||
),
|
||||
SizedBox(width: 5),
|
||||
Text(
|
||||
'Edit',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w400,
|
||||
fontSize: SubText,
|
||||
color: primaryColor,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
375
openclosenew/lib/22-AddService.dart
Normal file
375
openclosenew/lib/22-AddService.dart
Normal file
@ -0,0 +1,375 @@
|
||||
import 'package:dotted_border/dotted_border.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:openclosenew/23-ServiceListing.dart';
|
||||
|
||||
import 'FontFamily.dart';
|
||||
import 'colors.dart';
|
||||
import 'fontsize.dart';
|
||||
|
||||
class addservice extends StatefulWidget {
|
||||
const addservice({Key? key}) : super(key: key);
|
||||
|
||||
@override
|
||||
State<addservice> createState() => _addserviceState();
|
||||
}
|
||||
|
||||
class _addserviceState extends State<addservice> {
|
||||
List<DropdownMenuItem<String>> listDrop = [];
|
||||
String? selected = null;
|
||||
void loadData() {
|
||||
listDrop = [];
|
||||
listDrop.add(new DropdownMenuItem(
|
||||
child: new Text('Rice'),
|
||||
value: 'val-1',
|
||||
));
|
||||
listDrop.add(new DropdownMenuItem(
|
||||
child: new Text('Others'),
|
||||
value: 'val-2',
|
||||
));
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
resizeToAvoidBottomInset: false,
|
||||
backgroundColor: White,
|
||||
body: SafeArea(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.only(top: 10, left: 20, right: 20),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Row(
|
||||
children: [
|
||||
InkWell(
|
||||
child: Icon(Icons.arrow_back, size: 24),
|
||||
onTap: () {
|
||||
Navigator.pop(context);
|
||||
},
|
||||
),
|
||||
SizedBox(
|
||||
width: 20,
|
||||
),
|
||||
Text(
|
||||
'Add Service',
|
||||
style: TextStyle(
|
||||
fontSize: HeadText,
|
||||
color: DarkGray,
|
||||
fontFamily: Font,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
Spacer(),
|
||||
Text(
|
||||
'Service Name',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w300,
|
||||
fontSize: HeadText,
|
||||
color: DarkGray,
|
||||
),
|
||||
),
|
||||
SizedBox(height: 10),
|
||||
TextField(
|
||||
decoration: InputDecoration(
|
||||
contentPadding: EdgeInsets.only(left: 10, right: 10),
|
||||
border: OutlineInputBorder(
|
||||
borderRadius: BorderRadius.circular(5)),
|
||||
hintText: 'Type here...',
|
||||
),
|
||||
),
|
||||
Spacer(),
|
||||
Text(
|
||||
'Category',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w300,
|
||||
fontSize: HeadText,
|
||||
color: DarkGray,
|
||||
),
|
||||
),
|
||||
SizedBox(height: 10),
|
||||
InputDecorator(
|
||||
decoration: InputDecoration(
|
||||
contentPadding:
|
||||
EdgeInsets.only(left: 10, top: 1, bottom: 1, right: 5),
|
||||
border: OutlineInputBorder(
|
||||
borderRadius: BorderRadius.all(Radius.circular(5)),
|
||||
),
|
||||
),
|
||||
child: DropdownButtonHideUnderline(
|
||||
child: new DropdownButton(
|
||||
borderRadius: BorderRadius.circular(5),
|
||||
value: selected,
|
||||
items: listDrop,
|
||||
icon: Icon(Icons.keyboard_arrow_down, size: 24),
|
||||
hint: new Text('Choose...'),
|
||||
onChanged: (value) {
|
||||
selected = value as String?;
|
||||
setState(() {});
|
||||
},
|
||||
),
|
||||
),
|
||||
),
|
||||
Spacer(),
|
||||
Text(
|
||||
'Price',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w300,
|
||||
fontSize: HeadText,
|
||||
color: DarkGray,
|
||||
),
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(top: 10),
|
||||
child: Row(
|
||||
children: [
|
||||
Text(
|
||||
'From',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w300,
|
||||
fontSize: HeadText,
|
||||
color: DarkGray,
|
||||
),
|
||||
),
|
||||
SizedBox(width: 140),
|
||||
Text(
|
||||
'To',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w300,
|
||||
fontSize: HeadText,
|
||||
color: DarkGray,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
SizedBox(height: 10),
|
||||
Row(
|
||||
children: [
|
||||
Expanded(
|
||||
child: TextField(
|
||||
keyboardType: TextInputType.number,
|
||||
decoration: InputDecoration(
|
||||
prefixIcon: Image.asset(
|
||||
'assets/images/dollor.png',
|
||||
width: 10,
|
||||
height: 10,
|
||||
),
|
||||
contentPadding:
|
||||
EdgeInsets.only(left: 10, top: 10, bottom: 10),
|
||||
border: OutlineInputBorder(
|
||||
borderRadius: BorderRadius.only(
|
||||
topLeft: Radius.circular(5),
|
||||
bottomLeft: Radius.circular(5),
|
||||
),
|
||||
),
|
||||
hintText: '00.00',
|
||||
),
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
child: TextField(
|
||||
keyboardType: TextInputType.number,
|
||||
decoration: InputDecoration(
|
||||
prefixIcon: Image.asset(
|
||||
'assets/images/dollor.png',
|
||||
width: 10,
|
||||
height: 10,
|
||||
),
|
||||
contentPadding:
|
||||
EdgeInsets.only(left: 10, top: 10, bottom: 10),
|
||||
border: OutlineInputBorder(
|
||||
borderRadius: BorderRadius.only(
|
||||
topRight: Radius.circular(5),
|
||||
bottomRight: Radius.circular(5),
|
||||
),
|
||||
),
|
||||
hintText: '00.00',
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
Spacer(),
|
||||
Text(
|
||||
'Description',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w300,
|
||||
fontSize: HeadText,
|
||||
color: DarkGray,
|
||||
),
|
||||
),
|
||||
SizedBox(height: 10),
|
||||
TextField(
|
||||
maxLines: 4,
|
||||
decoration: InputDecoration(
|
||||
contentPadding:
|
||||
EdgeInsets.only(top: 10, left: 10, right: 10, bottom: 10),
|
||||
border: OutlineInputBorder(
|
||||
borderRadius: BorderRadius.circular(5),
|
||||
),
|
||||
hintText: 'Type here...',
|
||||
),
|
||||
),
|
||||
Spacer(),
|
||||
Text(
|
||||
'Add photo',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w300,
|
||||
fontSize: HeadText,
|
||||
color: DarkGray,
|
||||
),
|
||||
),
|
||||
SizedBox(height: 10),
|
||||
InkWell(
|
||||
onTap: () {
|
||||
showModalBottomSheet<void>(
|
||||
context: context,
|
||||
builder: (BuildContext context) {
|
||||
return Container(
|
||||
height: 200,
|
||||
color: Colors.white,
|
||||
child: Center(
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
SizedBox(
|
||||
height: 20,
|
||||
),
|
||||
Text(
|
||||
"Choose You Image",
|
||||
style: TextStyle(
|
||||
fontSize: 20,
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.bold),
|
||||
),
|
||||
SizedBox(height: 30),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
IconButton(
|
||||
onPressed: () {},
|
||||
icon: Icon(Icons.camera),
|
||||
iconSize: 30,
|
||||
),
|
||||
Text(
|
||||
'Camera',
|
||||
style: TextStyle(
|
||||
fontSize: 15,
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w300,
|
||||
color: DarkGray,
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
width: 50,
|
||||
),
|
||||
IconButton(
|
||||
onPressed: () {},
|
||||
icon: Icon(Icons.image_rounded),
|
||||
iconSize: 30,
|
||||
),
|
||||
Text(
|
||||
'Gallery',
|
||||
style: TextStyle(
|
||||
fontSize: 15,
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w300,
|
||||
color: DarkGray,
|
||||
),
|
||||
),
|
||||
],
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
},
|
||||
);
|
||||
},
|
||||
child: DottedBorder(
|
||||
padding: EdgeInsets.all(45),
|
||||
dashPattern: [4, 4, 4, 4],
|
||||
radius: Radius.circular(10),
|
||||
color: primaryColor,
|
||||
child: Image.asset(
|
||||
'assets/images/insert_logo.png',
|
||||
width: 30,
|
||||
height: 30,
|
||||
color: primaryColor,
|
||||
),
|
||||
),
|
||||
),
|
||||
Spacer(),
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(bottom: 24),
|
||||
child: Row(
|
||||
children: [
|
||||
Expanded(
|
||||
child: MaterialButton(
|
||||
height: 50,
|
||||
minWidth: double.infinity,
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(4)),
|
||||
onPressed: () {
|
||||
Navigator.pop(context);
|
||||
},
|
||||
child: Text(
|
||||
"Cancel",
|
||||
style: TextStyle(
|
||||
color: Gray,
|
||||
fontFamily: Font,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
child: MaterialButton(
|
||||
height: 50,
|
||||
minWidth: double.infinity,
|
||||
color: primaryColor,
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(4)),
|
||||
onPressed: () {
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (_) => serviceslisting()));
|
||||
},
|
||||
child: Text(
|
||||
'Save',
|
||||
style: TextStyle(
|
||||
color: White,
|
||||
fontSize: HeadText,
|
||||
fontFamily: Font,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
462
openclosenew/lib/23-ServiceListing.dart
Normal file
462
openclosenew/lib/23-ServiceListing.dart
Normal file
@ -0,0 +1,462 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:openclosenew/FontFamily.dart';
|
||||
import 'package:openclosenew/colors.dart';
|
||||
|
||||
import 'fontsize.dart';
|
||||
|
||||
class serviceslisting extends StatefulWidget {
|
||||
const serviceslisting({Key? key}) : super(key: key);
|
||||
|
||||
@override
|
||||
State<serviceslisting> createState() => _serviceslistingState();
|
||||
}
|
||||
|
||||
class _serviceslistingState extends State<serviceslisting>
|
||||
with TickerProviderStateMixin {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
TabController _tabController = TabController(length: 5, vsync: this);
|
||||
return Scaffold(
|
||||
body: SafeArea(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.only(left: 20, right: 15, top: 10),
|
||||
child: Column(
|
||||
children: [
|
||||
Row(
|
||||
children: [
|
||||
InkWell(
|
||||
onTap: () {
|
||||
Navigator.pop(context);
|
||||
},
|
||||
child: Icon(
|
||||
Icons.arrow_back,
|
||||
color: DarkGray,
|
||||
size: 24,
|
||||
),
|
||||
),
|
||||
SizedBox(width: 20),
|
||||
Text(
|
||||
'Services',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w500,
|
||||
fontSize: HeadText,
|
||||
color: DarkGray,
|
||||
),
|
||||
),
|
||||
Spacer(),
|
||||
InkWell(
|
||||
onTap: () {},
|
||||
child: Icon(
|
||||
Icons.add,
|
||||
color: DarkGray,
|
||||
size: 24,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 30,
|
||||
),
|
||||
TabBar(
|
||||
indicator: BoxDecoration(
|
||||
color: primaryColor,
|
||||
borderRadius: BorderRadius.circular(4)),
|
||||
isScrollable: true,
|
||||
labelColor: White,
|
||||
unselectedLabelColor: Gray,
|
||||
controller: _tabController,
|
||||
labelStyle: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w400,
|
||||
fontSize: 15,
|
||||
),
|
||||
tabs: [
|
||||
Tab(text: "All"),
|
||||
Tab(text: "Lorem"),
|
||||
Tab(text: "Ipsum"),
|
||||
Tab(text: "Dolor"),
|
||||
Tab(text: "Seit Ame"),
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 30,
|
||||
),
|
||||
Expanded(
|
||||
child: ListView(
|
||||
scrollDirection: Axis.vertical,
|
||||
children: [
|
||||
InkWell(
|
||||
onTap: () {},
|
||||
child: Container(
|
||||
height: 225,
|
||||
width: double.infinity,
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.all(Radius.circular(10)),
|
||||
boxShadow: [
|
||||
BoxShadow(
|
||||
color: White,
|
||||
offset: Offset(4.0, 4.0),
|
||||
blurRadius: 10.0,
|
||||
spreadRadius: 1.0,
|
||||
),
|
||||
],
|
||||
),
|
||||
child: Stack(
|
||||
children: [
|
||||
Column(
|
||||
children: [
|
||||
Image(
|
||||
image: AssetImage(
|
||||
'assets/images/Chicken_Briyani.png'),
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(
|
||||
top: 10, left: 15, right: 15),
|
||||
child: Row(
|
||||
children: [
|
||||
Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
'Chicken Briyani',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w500,
|
||||
fontSize: HeadText,
|
||||
color: DarkGray,
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 5,
|
||||
),
|
||||
Text(
|
||||
'₹ 180.00',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w600,
|
||||
fontSize: HeadText,
|
||||
color: DarkGray,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
Spacer(),
|
||||
Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.end,
|
||||
children: [
|
||||
Container(
|
||||
padding: EdgeInsets.only(
|
||||
left: 5,
|
||||
right: 5,
|
||||
),
|
||||
height: 25,
|
||||
width: 50,
|
||||
decoration: BoxDecoration(
|
||||
color: Color(0xFFF0A30C),
|
||||
borderRadius:
|
||||
BorderRadius.circular(5),
|
||||
),
|
||||
child: Row(
|
||||
children: [
|
||||
Text(
|
||||
'4.2',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w400,
|
||||
fontSize: SubText,
|
||||
color: White,
|
||||
),
|
||||
),
|
||||
Spacer(),
|
||||
Icon(
|
||||
Icons.star_rate_rounded,
|
||||
size: 20,
|
||||
color: White,
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 5,
|
||||
),
|
||||
Text(
|
||||
'56 ratings',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w400,
|
||||
fontSize: SubText,
|
||||
color: Gray,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
SizedBox(height: 15),
|
||||
InkWell(
|
||||
onTap: () {},
|
||||
child: Container(
|
||||
height: 225,
|
||||
width: double.infinity,
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(5),
|
||||
boxShadow: [
|
||||
BoxShadow(
|
||||
color: White,
|
||||
offset: Offset(4.0, 4.0),
|
||||
blurRadius: 10.0,
|
||||
spreadRadius: 1.0,
|
||||
),
|
||||
],
|
||||
),
|
||||
child: Stack(
|
||||
children: [
|
||||
Column(
|
||||
children: [
|
||||
Image(
|
||||
image: AssetImage(
|
||||
'assets/images/MuttonBriyani.png'),
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(
|
||||
top: 10, left: 15, right: 15),
|
||||
child: Row(
|
||||
children: [
|
||||
Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
'Mutton Briyani',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w500,
|
||||
fontSize: HeadText,
|
||||
color: DarkGray,
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 5,
|
||||
),
|
||||
Text(
|
||||
'₹ 270.00',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w600,
|
||||
fontSize: HeadText,
|
||||
color: DarkGray,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
Spacer(),
|
||||
Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.end,
|
||||
children: [
|
||||
Container(
|
||||
padding: EdgeInsets.only(
|
||||
left: 5,
|
||||
right: 5,
|
||||
),
|
||||
height: 25,
|
||||
width: 50,
|
||||
decoration: BoxDecoration(
|
||||
color: Color(0xFFF0A30C),
|
||||
borderRadius:
|
||||
BorderRadius.circular(5),
|
||||
),
|
||||
child: Row(
|
||||
children: [
|
||||
Text(
|
||||
'3.8',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w400,
|
||||
fontSize: SubText,
|
||||
color: White,
|
||||
),
|
||||
),
|
||||
Spacer(),
|
||||
Icon(
|
||||
Icons.star_rate_rounded,
|
||||
size: 20,
|
||||
color: White,
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 5,
|
||||
),
|
||||
Text(
|
||||
'56 ratings',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w400,
|
||||
fontSize: SubText,
|
||||
color: Gray,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
SizedBox(height: 15),
|
||||
InkWell(
|
||||
onTap: () {},
|
||||
child: Container(
|
||||
height: 225,
|
||||
width: double.infinity,
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(5),
|
||||
boxShadow: [
|
||||
BoxShadow(
|
||||
color: White,
|
||||
offset: Offset(4.0, 4.0),
|
||||
blurRadius: 10.0,
|
||||
spreadRadius: 1.0,
|
||||
),
|
||||
],
|
||||
),
|
||||
child: Stack(
|
||||
children: [
|
||||
Column(
|
||||
children: [
|
||||
Image(
|
||||
image: AssetImage(
|
||||
'assets/images/GrilledChicken.png'),
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(
|
||||
top: 10, left: 15, right: 15),
|
||||
child: Row(
|
||||
children: [
|
||||
Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
'Chicken Briyani',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w500,
|
||||
fontSize: HeadText,
|
||||
color: DarkGray,
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 5,
|
||||
),
|
||||
Text(
|
||||
'₹ 180.00',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w600,
|
||||
fontSize: HeadText,
|
||||
color: DarkGray,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
Spacer(),
|
||||
Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.end,
|
||||
children: [
|
||||
Container(
|
||||
padding: EdgeInsets.only(
|
||||
left: 5,
|
||||
right: 5,
|
||||
),
|
||||
height: 25,
|
||||
width: 50,
|
||||
decoration: BoxDecoration(
|
||||
color: Color(0xFFF0A30C),
|
||||
borderRadius:
|
||||
BorderRadius.circular(5),
|
||||
),
|
||||
child: Row(
|
||||
children: [
|
||||
Text(
|
||||
'4.2',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w400,
|
||||
fontSize: SubText,
|
||||
color: White,
|
||||
),
|
||||
),
|
||||
Spacer(),
|
||||
Icon(
|
||||
Icons.star_rate_rounded,
|
||||
size: 20,
|
||||
color: White,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 5,
|
||||
),
|
||||
Text(
|
||||
'56 ratings',
|
||||
style: TextStyle(
|
||||
fontFamily: Font,
|
||||
fontStyle: FontStyle.normal,
|
||||
fontWeight: FontWeight.w400,
|
||||
fontSize: SubText,
|
||||
color: Gray,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user