From 9d45a4c28e719f1049d8449ed6c09e11ac012cae Mon Sep 17 00:00:00 2001 From: vignesh Date: Mon, 20 Jun 2022 00:28:09 +0530 Subject: [PATCH] 23-ServiceListing design completed --- openclosenew/lib/14_businessdetailsempty.dart | 12 +- .../lib/17-BusinessProfileFormSuccess.dart | 8 +- openclosenew/lib/20-ProductListing.dart | 606 +++++++++++------- openclosenew/lib/22-AddService.dart | 375 +++++++++++ openclosenew/lib/23-ServiceListing.dart | 462 +++++++++++++ 5 files changed, 1221 insertions(+), 242 deletions(-) create mode 100644 openclosenew/lib/22-AddService.dart create mode 100644 openclosenew/lib/23-ServiceListing.dart diff --git a/openclosenew/lib/14_businessdetailsempty.dart b/openclosenew/lib/14_businessdetailsempty.dart index 0246532..be11b22 100644 --- a/openclosenew/lib/14_businessdetailsempty.dart +++ b/openclosenew/lib/14_businessdetailsempty.dart @@ -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 { 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 { ), InkWell( onTap: () { - Navigator.pop(context); + Navigator.push(context, + MaterialPageRoute(builder: (_) => addservice())); }, child: Container( padding: EdgeInsets.all(10), diff --git a/openclosenew/lib/17-BusinessProfileFormSuccess.dart b/openclosenew/lib/17-BusinessProfileFormSuccess.dart index c7da807..c163d99 100644 --- a/openclosenew/lib/17-BusinessProfileFormSuccess.dart +++ b/openclosenew/lib/17-BusinessProfileFormSuccess.dart @@ -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', diff --git a/openclosenew/lib/20-ProductListing.dart b/openclosenew/lib/20-ProductListing.dart index 97ef95f..0f8b10f 100644 --- a/openclosenew/lib/20-ProductListing.dart +++ b/openclosenew/lib/20-ProductListing.dart @@ -93,7 +93,7 @@ class _ProductListingState extends State 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 ), ), ), - 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, + ), + ), + ], + ), ), ], ), diff --git a/openclosenew/lib/22-AddService.dart b/openclosenew/lib/22-AddService.dart new file mode 100644 index 0000000..744b5d2 --- /dev/null +++ b/openclosenew/lib/22-AddService.dart @@ -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 createState() => _addserviceState(); +} + +class _addserviceState extends State { + List> 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( + context: context, + builder: (BuildContext context) { + return Container( + height: 200, + color: Colors.white, + child: Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + 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, + ), + ), + ), + ), + ], + ), + ), + ], + ), + ), + ), + ); + } +} diff --git a/openclosenew/lib/23-ServiceListing.dart b/openclosenew/lib/23-ServiceListing.dart new file mode 100644 index 0000000..490f6a2 --- /dev/null +++ b/openclosenew/lib/23-ServiceListing.dart @@ -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 createState() => _serviceslistingState(); +} + +class _serviceslistingState extends State + 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, + ), + ), + ], + ), + ], + ), + ), + ], + ), + ], + ), + ), + ), + ], + ), + ), + ], + ), + ), + ), + ); + } +}