BusinessAppFlutter/openclosenew/lib/20-ProductListing.dart

489 lines
22 KiB
Dart

import 'package:flutter/material.dart';
import 'package:openclosenew/FontFamily.dart';
import 'package:openclosenew/colors.dart';
import 'fontsize.dart';
class ProductListing extends StatefulWidget {
const ProductListing({Key? key}) : super(key: key);
@override
State<ProductListing> createState() => _ProductListingState();
}
class _ProductListingState extends State<ProductListing>
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(
'Food Items',
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: "Rice"),
Tab(text: "Starters"),
Tab(text: "Breads"),
Tab(text: "North In"),
],
),
SizedBox(
height: 30,
),
Expanded(
child: ListView(
scrollDirection: Axis.vertical,
children: [
InkWell(
onTap: () {
BottomSheets(context);
},
child: Container(
height: 220,
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: 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: 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: 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,
),
),
],
),
],
),
),
],
),
],
),
),
],
),
)
],
),
),
),
);
}
}
void BottomSheets(BuildContext context) {
showModalBottomSheet(
context: context,
builder: (context) => Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(10),
topRight: Radius.circular(10),
),
),
child: Column(
children: [
Image(
image: AssetImage('assets/images/Chicken_Briyani.png'),
),
Row(
children: [
Image(
image: AssetImage('assets/images/nonveg_icon.png'),
height: 10,
width: 10,
)
],
),
],
),
),
);
}