Commit 4dee3d82 by Mobile : Jetrin Phuekkaew (N'new)

Merge branch 'develop' of https://gitlab.2fellows.com/art/feelver into develop

# Conflicts:
#	lib/main.dart
parents d9ab39cf facc6447
...@@ -19,7 +19,13 @@ class MyApp extends StatelessWidget { ...@@ -19,7 +19,13 @@ class MyApp extends StatelessWidget {
primarySwatch: Colors.blue, primarySwatch: Colors.blue,
), ),
// home: AccountSettingPage(), // home: AccountSettingPage(),
<<<<<<< HEAD
home: MainShop(), home: MainShop(),
=======
// home: OtherMenuPage(),
home: MainShop(),
// home: service_tab(),
>>>>>>> facc6447c0f3c38afad557fe3ab0af7590a20bff
// home: SplashScreenPage(), // home: SplashScreenPage(),
); );
} }
......
...@@ -20,130 +20,7 @@ class _MyOrderStatusState extends State<MyOrderStatus> { ...@@ -20,130 +20,7 @@ class _MyOrderStatusState extends State<MyOrderStatus> {
_setupView() { _setupView() {
return Column( return Column(
children: <Widget>[ children: <Widget>[
Stack( header(),
children: <Widget>[
Container(
color: Color.fromRGBO(69, 85, 79, 1),
height: SizeConfig.getHeight(270),
width: MediaQuery.of(context).size.width,
),
Positioned(
top: SizeConfig.getPadding(50),
left: SizeConfig.getPadding(
MediaQuery.of(context).size.width / 3.5),
child: Container(
alignment: Alignment.topCenter,
child: Image.asset(
'assets/images/feelver_banner.png',
width: MediaQuery.of(context).size.width / 2.5,
),
),
),
Positioned(
top: SizeConfig.getPadding(77),
left: SizeConfig.getPadding(16),
child: Container(
child: GestureDetector(
onTap: () {
showDialog(
context: context,
builder: (BuildContext context) {
return NavDrawer();
},
);
},
child: Image.asset(
'assets/images/ic_menu.png',
height: SizeConfig.getWidth(24),
width: SizeConfig.getWidth(30),
fit: BoxFit.cover,
),
),
),
),
Positioned(
top: SizeConfig.getPadding(77),
right: SizeConfig.getPadding(60),
child: Container(
child: Image.asset(
'assets/images/ic_noti.png',
height: SizeConfig.getWidth(30),
width: SizeConfig.getWidth(30),
fit: BoxFit.cover,
),
),
),
Positioned(
top: SizeConfig.getPadding(150),
child: Container(
padding: EdgeInsets.only(left: 20),
child: Row(
children: <Widget>[
Column(
children: <Widget>[
Image.asset('assets/images/ic_NotInUse.png'),
Text('ยังไม่ได้ใช้งาน',style: TextStyle(
color: Color(0xFFEEAFB7),
fontSize: SizeConfig.getFontSize(12),
),),
],
),
SizedBox(width: SizeConfig.getWidth(45),),
Column(
children: <Widget>[
Image.asset('assets/images/ic_check.png',),
Text(
'บริการที่พร้อมใช้',
style: TextStyle(
color: Colors.white,
fontSize: SizeConfig.getFontSize(12),
),
),
],
),
SizedBox(width: SizeConfig.getWidth(45),),
Column(
children: <Widget>[
Image.asset(
'assets/images/ic_like.png',
width: 25,
height: 25,
),
Text(
'บริการที่เเล้วเสร็จ',
style: TextStyle(
color: Colors.white,
fontSize: SizeConfig.getFontSize(12),
),
),
],
),
],
),
),
),
Positioned(
top: SizeConfig.getPadding(77),
right: SizeConfig.getPadding(20),
child: InkWell(
// onTap: () {
// Navigator.push(
// context,
// MaterialPageRoute(builder: (context) => LoginPage()),
// );
// },
child: Container(
child: Image.asset(
'assets/images/ic_userimg.png',
height: SizeConfig.getWidth(30),
width: SizeConfig.getWidth(30),
fit: BoxFit.cover,
),
),
),
),
],
),
_getlist(), _getlist(),
], ],
); );
...@@ -166,14 +43,14 @@ class _MyOrderStatusState extends State<MyOrderStatus> { ...@@ -166,14 +43,14 @@ class _MyOrderStatusState extends State<MyOrderStatus> {
child: ListView.builder( child: ListView.builder(
itemCount: entries.length, itemCount: entries.length,
itemBuilder: (context, i) { itemBuilder: (context, i) {
return _shopItem(entries[i]); return _listItem(entries[i]);
}, },
), ),
), ),
); );
} }
Widget _shopItem(String title) { Widget _listItem(String title) {
return Card( return Card(
child: Column( child: Column(
children: <Widget>[ children: <Widget>[
...@@ -381,4 +258,146 @@ class _MyOrderStatusState extends State<MyOrderStatus> { ...@@ -381,4 +258,146 @@ class _MyOrderStatusState extends State<MyOrderStatus> {
), ),
); );
} }
Widget header() {
return Container(
child: Stack(
children: <Widget>[
Container(
color: Color.fromRGBO(69, 85, 79, 1),
height: SizeConfig.getHeight(270),
width: MediaQuery.of(context).size.width,
),
Positioned(
top: SizeConfig.getPadding(50),
left:
SizeConfig.getPadding(MediaQuery.of(context).size.width / 3.5),
child: Container(
alignment: Alignment.topCenter,
child: Image.asset(
'assets/images/feelver_banner.png',
width: MediaQuery.of(context).size.width / 2.5,
),
),
),
Positioned(
top: SizeConfig.getPadding(77),
left: SizeConfig.getPadding(16),
child: Container(
child: GestureDetector(
onTap: () {
showDialog(
context: context,
builder: (BuildContext context) {
return NavDrawer();
},
);
},
child: Image.asset(
'assets/images/ic_menu.png',
height: SizeConfig.getWidth(24),
width: SizeConfig.getWidth(30),
fit: BoxFit.cover,
),
),
),
),
Positioned(
top: SizeConfig.getPadding(77),
right: SizeConfig.getPadding(60),
child: Container(
child: Image.asset(
'assets/images/ic_noti.png',
height: SizeConfig.getWidth(30),
width: SizeConfig.getWidth(30),
fit: BoxFit.cover,
),
),
),
Positioned(
top: SizeConfig.getPadding(77),
right: SizeConfig.getPadding(20),
child: InkWell(
// onTap: () {
// Navigator.push(
// context,
// MaterialPageRoute(builder: (context) => LoginPage()),
// );
// },
child: Container(
child: Image.asset(
'assets/images/ic_userimg.png',
height: SizeConfig.getWidth(30),
width: SizeConfig.getWidth(30),
fit: BoxFit.cover,
),
),
),
),
Positioned(
top: SizeConfig.getPadding(77),
right: SizeConfig.getPadding(60),
child: Container(
child: Image.asset(
'assets/images/ic_noti.png',
height: SizeConfig.getWidth(30),
width: SizeConfig.getWidth(30),
fit: BoxFit.cover,
),
),
),
Positioned(
top: SizeConfig.getPadding(150),
child: Container(
padding: EdgeInsets.only(left: 20),
child: Row(
children: <Widget>[
Column(
children: <Widget>[
Image.asset('assets/images/ic_NotInUse.png'),
Text('ยังไม่ได้ใช้งาน',style: TextStyle(
color: Color(0xFFEEAFB7),
fontSize: SizeConfig.getFontSize(12),
),),
],
),
SizedBox(width: SizeConfig.getWidth(45),),
Column(
children: <Widget>[
Image.asset('assets/images/ic_check.png',),
Text(
'บริการที่พร้อมใช้',
style: TextStyle(
color: Colors.white,
fontSize: SizeConfig.getFontSize(12),
),
),
],
),
SizedBox(width: SizeConfig.getWidth(45),),
Column(
children: <Widget>[
Image.asset(
'assets/images/ic_like.png',
width: 25,
height: 25,
),
Text(
'บริการที่เเล้วเสร็จ',
style: TextStyle(
color: Colors.white,
fontSize: SizeConfig.getFontSize(12),
),
),
],
),
],
),
),
),
],
),
);
}
} }
import 'package:feelverapp/ui/my_service/service_paid.dart';
import 'package:feelverapp/ui/my_service/service_ready.dart';
import 'package:feelverapp/ui/my_service/service_success.dart';
import 'package:feelverapp/ui/my_service/service_ticket.dart';
import 'package:feelverapp/util/SizeConfig.dart'; import 'package:feelverapp/util/SizeConfig.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'my_ticket.dart';
class service_tab extends StatefulWidget { class service_tab extends StatefulWidget {
@override @override
...@@ -66,61 +69,61 @@ class _service_tabState extends State<service_tab> with SingleTickerProviderStat ...@@ -66,61 +69,61 @@ class _service_tabState extends State<service_tab> with SingleTickerProviderStat
indicatorColor: Colors.transparent, indicatorColor: Colors.transparent,
controller: controller, controller: controller,
tabs: [ tabs: [
Container( new Tab(
// icon: Icon(Icons.assignment,
child: new Tab( icon: Icon(Icons.system_update,
icon: Icon(Icons.assignment,
color: controller.index == 0 color: controller.index == 0
? Colors.yellowAccent: Colors.white), ? Colors.yellowAccent: Colors.white),
child:Text( child:Text(
'ข้อมูลร้าน', 'การจอง',
style: TextStyle( style: TextStyle(
color: controller.index == 0 color: controller.index == 0
? Colors.yellowAccent: Colors.white, ? Colors.yellowAccent: Colors.white,
fontSize: 11 fontSize: 11
), ),
), textAlign: TextAlign.center,
), ),
), ),
new Tab( new Tab(
icon: Icon(Icons.loyalty, icon: Icon(Icons.check_circle,
color: controller.index == 1 color: controller.index == 1
? Colors.yellowAccent: Colors.white), ? Colors.yellowAccent: Colors.white),
child:Text( child:Text(
'บริการ', 'บริการที่พร้อมใช้งาน',
style: TextStyle( style: TextStyle(
color: controller.index == 1 color: controller.index == 1
? Colors.yellowAccent: Colors.white, ? Colors.yellowAccent: Colors.white,
fontSize: 11 fontSize: 11
), ),
textAlign: TextAlign.center,
), ),
), ),
new Tab( new Tab(
icon: Icon(Icons.star, icon: Icon(Icons.credit_card,
color: controller.index == 2 color: controller.index == 2
? Colors.yellowAccent: Colors.white), ? Colors.yellowAccent: Colors.white),
child:Text( child:Text(
'รีวิว', 'บริการที่ต้องชำระ',
style: TextStyle( style: TextStyle(
color: controller.index == 2 color: controller.index == 2
? Colors.yellowAccent: Colors.white, ? Colors.yellowAccent: Colors.white,
fontSize: 11 fontSize: 11
), ),
textAlign: TextAlign.center,
), ),
), ),
Container( Container(
width: 200, width: 200,
child: Tab( child: Tab(
icon: Icon(Icons.pin_drop, icon: Icon(Icons.thumb_up,
color: controller.index == 3 color: controller.index == 3
? Colors.yellowAccent: Colors.white), ? Colors.yellowAccent: Colors.white),
child: child:
Text( Text(
'สถานที่ใกล้เคียง',maxLines: 1, 'บริการที่แล้วเสร็จ',maxLines: 1,
style: TextStyle( style: TextStyle(
color: controller.index == 3 color: controller.index == 3
? Colors.yellowAccent: Colors.white, ? Colors.yellowAccent: Colors.white,
...@@ -147,23 +150,11 @@ class _service_tabState extends State<service_tab> with SingleTickerProviderStat ...@@ -147,23 +150,11 @@ class _service_tabState extends State<service_tab> with SingleTickerProviderStat
///onWillPop: onWillPop, ///onWillPop: onWillPop,
child: getTabBarView(<Widget>[ child: getTabBarView(<Widget>[
myTicketPage(), ServiceTicketPage(),
ServiceReadyPage(),
ServicePaidPage(),
ServiceSuccessPage(),
Container(
width: double.infinity,
height: double.infinity,
color: Colors.green,
),
Container(
width: double.infinity,
height: double.infinity,
color: Colors.yellow,
),
Container(
width: double.infinity,
height: double.infinity,
color: Colors.blue,
),
]), ]),
......
import 'package:feelverapp/util/SizeConfig.dart';
import 'package:flutter/material.dart';
class ServicePaidPage extends StatefulWidget {
@override
_ServicePaidPageState createState() => _ServicePaidPageState();
}
class _ServicePaidPageState extends State<ServicePaidPage> {
@override
Widget build(BuildContext context) {
SizeConfig(context);
return Container(
child: ListView(
children: <Widget>[
myCard(),
],
),
);
}
Widget myCard(){
return Card(
margin: EdgeInsets.only(right: SizeConfig.getPadding(16),left: SizeConfig.getPadding(16),top: SizeConfig.getPadding(20),bottom: SizeConfig.getPadding(10)),
child: Container(
margin: EdgeInsets.only(right: 15,left: 15,bottom: 20,top: 20),
// color: Colors.yellow,
child: Column(
children: <Widget>[
Row(
children: <Widget>[
Expanded(
flex: 3,
child: Container(
// color: Colors.blue,
height: SizeConfig.getHeight(200),
child: Image.asset("assets/images/demo_img.png",
fit: BoxFit.cover,),
),
),
Expanded(
flex: 5,
child: Container(
margin: EdgeInsets.only(left: 15),
// color: Colors.yellow,
height: SizeConfig.getHeight(200),
child: Column(
children: <Widget>[
Container(
padding: EdgeInsets.all(10),
alignment: Alignment.topLeft,
// color: Colors.red,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text("Thai Body Balance",style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(12),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),),
SizedBox(
height: 5,
),
Text("SPA Cenvaree @ Centara Grand CentralWorld Bangkok",style: TextStyle(
color: Color(0xff969696),
fontSize: SizeConfig.getFontSize(11),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),),
],
),
),
Container(
padding: EdgeInsets.only(left: 10,right: 10),
alignment: Alignment.topLeft,
// color: Colors.blue,
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Icon(Icons.access_time,color: Color(0xffEEAFB7),),
SizedBox(
width: 5,
),
Text("150 Min",style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(13),
fontFamily: "SF_Pro_Text",
),),
],
),
SizedBox(
height: 10,
),
Row(
crossAxisAlignment: CrossAxisAlignment.end,
children: <Widget>[
Text("฿599.0",style: TextStyle(fontSize: SizeConfig.getFontSize(12),decoration: TextDecoration.lineThrough,),),
SizedBox(
width: 15,
),
Text("฿199.00",style: TextStyle(
color: Colors.red,
fontSize: SizeConfig.getFontSize(18),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),),
],
),
],
),
),
Expanded(
child: Container(
// color: Colors.blue,
padding: EdgeInsets.only(left: 10,right: 10,top: 10,bottom: 10),
alignment: Alignment.bottomLeft,
child: Text("ราคาพิเศษนี้ได้รับ \nเมื่อชำระเงินออนไลน์",style: TextStyle(
color: Color(0xff6AB3AA),
fontSize: SizeConfig.getFontSize(14),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),),
),
),
],
),
),
),
],
),
Container(
width: double.infinity,
padding: EdgeInsets.only(bottom: SizeConfig.getPadding(10),top: SizeConfig.getPadding(20),left: 0,right: 0),
height: SizeConfig.getHeight(80),
// color: Colors.blue,
child: RaisedButton(
shape: new RoundedRectangleBorder(
borderRadius: new BorderRadius.circular(180.0)),
child: Text(
"Payment",
style: TextStyle(
color: Colors.white,
fontSize: SizeConfig.getFontSize(16),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
color: Color(0xffE8A6B4),
onPressed: () {
}
),
),
],
)
),
);
}
}
import 'package:feelverapp/util/SizeConfig.dart';
import 'package:flutter/material.dart';
class ServiceReadyPage extends StatefulWidget {
@override
_ServiceReadyPageState createState() => _ServiceReadyPageState();
}
class _ServiceReadyPageState extends State<ServiceReadyPage> {
@override
Widget build(BuildContext context) {
SizeConfig(context);
return Container(
child: ListView(
children: <Widget>[
Card1(),
Card2()
],
),
);
}
Widget Card1(){
return Card(
margin: EdgeInsets.only(right: SizeConfig.getPadding(16),left: SizeConfig.getPadding(16),top: SizeConfig.getPadding(20),bottom: SizeConfig.getPadding(10)),
child: Container(
margin: EdgeInsets.only(right: 15,left: 15,bottom: 20,top: 20),
// color: Colors.yellow,
child: Column(
children: <Widget>[
Row(
children: <Widget>[
Expanded(
flex: 3,
child: Container(
// color: Colors.blue,
height: SizeConfig.getHeight(200),
child: Image.asset("assets/images/demo_img.png",
fit: BoxFit.cover,),
),
),
Expanded(
flex: 5,
child: Container(
margin: EdgeInsets.only(left: 15),
// color: Colors.yellow,
height: SizeConfig.getHeight(200),
child: Column(
children: <Widget>[
Container(
padding: EdgeInsets.all(10),
alignment: Alignment.topLeft,
// color: Colors.red,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text("Thai Body Balance",style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(12),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),),
SizedBox(
height: 5,
),
Text("SPA Cenvaree @ Centara Grand CentralWorld Bangkok",style: TextStyle(
color: Color(0xff969696),
fontSize: SizeConfig.getFontSize(11),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),),
],
),
),
Container(
padding: EdgeInsets.only(left: 10,right: 10),
alignment: Alignment.topLeft,
// color: Colors.blue,
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Icon(Icons.access_time,color: Color(0xffEEAFB7),),
SizedBox(
width: 5,
),
Text("150 Min",style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(13),
fontFamily: "SF_Pro_Text",
),),
],
),
SizedBox(
height: 10,
),
Row(
crossAxisAlignment: CrossAxisAlignment.end,
children: <Widget>[
Text("฿599.0",style: TextStyle(fontSize: SizeConfig.getFontSize(12),decoration: TextDecoration.lineThrough,),),
SizedBox(
width: 15,
),
Text("฿199.00",style: TextStyle(
color: Colors.red,
fontSize: SizeConfig.getFontSize(18),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),),
],
),
],
),
),
Expanded(
child: Container(
// color: Colors.blue,
padding: EdgeInsets.only(left: 10,right: 10,top: 10,bottom: 10),
alignment: Alignment.bottomLeft,
child: Text("จองใช้บริการเลยไหม",style: TextStyle(
color: Color(0xff6AB3AA),
fontSize: SizeConfig.getFontSize(14),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),),
),
),
],
),
),
),
],
),
Container(
width: double.infinity,
padding: EdgeInsets.only(bottom: SizeConfig.getPadding(10),top: SizeConfig.getPadding(20),left: 0,right: 0),
height: SizeConfig.getHeight(80),
// color: Colors.blue,
child: RaisedButton(
shape: new RoundedRectangleBorder(
borderRadius: new BorderRadius.circular(180.0)),
child: Text(
"จองตรงนี้",
style: TextStyle(
color: Colors.white,
fontSize: SizeConfig.getFontSize(16),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
color: Color(0xffE8A6B4),
onPressed: () {
}
),
),
],
)
),
);
}
Widget Card2(){
return Card(
margin: EdgeInsets.only(right: SizeConfig.getPadding(16),left: SizeConfig.getPadding(16),top: SizeConfig.getPadding(20),bottom: SizeConfig.getPadding(10)),
child: Container(
margin: EdgeInsets.only(right: 15,left: 15,bottom: 20,top: 20),
// color: Colors.yellow,
child: Column(
children: <Widget>[
Row(
children: <Widget>[
Expanded(
flex: 3,
child: Container(
// color: Colors.blue,
height: SizeConfig.getHeight(200),
child: Image.asset("assets/images/demo_img.png",
fit: BoxFit.cover,),
),
),
Expanded(
flex: 5,
child: Container(
margin: EdgeInsets.only(left: 15),
// color: Colors.yellow,
height: SizeConfig.getHeight(200),
child: Column(
children: <Widget>[
Container(
padding: EdgeInsets.all(10),
alignment: Alignment.topLeft,
// color: Colors.red,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text("Thai Body Balance",style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(12),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),),
SizedBox(
height: 5,
),
Text("SPA Cenvaree @ Centara Grand CentralWorld Bangkok",style: TextStyle(
color: Color(0xff969696),
fontSize: SizeConfig.getFontSize(11),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),),
],
),
),
Container(
padding: EdgeInsets.only(left: 10,right: 10),
alignment: Alignment.topLeft,
// color: Colors.blue,
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Icon(Icons.access_time,color: Color(0xffEEAFB7),),
SizedBox(
width: 5,
),
Text("150 Min",style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(13),
fontFamily: "SF_Pro_Text",
),),
],
),
SizedBox(
height: 10,
),
Row(
crossAxisAlignment: CrossAxisAlignment.end,
children: <Widget>[
Text("฿599.0",style: TextStyle(fontSize: SizeConfig.getFontSize(12),decoration: TextDecoration.lineThrough,),),
SizedBox(
width: 15,
),
Text("฿199.00",style: TextStyle(
color: Colors.red,
fontSize: SizeConfig.getFontSize(18),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),),
],
),
],
),
),
Expanded(
child: Container(
// color: Colors.blue,
padding: EdgeInsets.only(left: 10,right: 10,top: 10,bottom: 10),
alignment: Alignment.bottomLeft,
child: Text("",style: TextStyle(
color: Color(0xff6AB3AA),
fontSize: SizeConfig.getFontSize(14),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),),
),
),
],
),
),
),
],
),
Container(
width: double.infinity,
padding: EdgeInsets.only(bottom: SizeConfig.getPadding(10),top: SizeConfig.getPadding(20),left: 0,right: 0),
height: SizeConfig.getHeight(80),
// color: Colors.blue,
child: RaisedButton(
shape: new RoundedRectangleBorder(
borderRadius: new BorderRadius.circular(180.0)),
child: Text(
"Print",
style: TextStyle(
color: Colors.white,
fontSize: SizeConfig.getFontSize(16),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
color: Color(0xff3694A3),
onPressed: () {
}
),
),
],
)
),
);
}
}
import 'package:feelverapp/util/SizeConfig.dart';
import 'package:flutter/material.dart';
class ServiceSuccessPage extends StatefulWidget {
@override
_ServiceSuccessPageState createState() => _ServiceSuccessPageState();
}
class _ServiceSuccessPageState extends State<ServiceSuccessPage> {
@override
Widget build(BuildContext context) {
SizeConfig(context);
return Container(
child: ListView(
children: <Widget>[
Card1(),
Card2()
],
),
);
}
Widget Card1(){
return Card(
margin: EdgeInsets.only(right: SizeConfig.getPadding(16),left: SizeConfig.getPadding(16),top: SizeConfig.getPadding(20),bottom: SizeConfig.getPadding(10)),
child: Container(
margin: EdgeInsets.only(right: 15,left: 15,bottom: 20,top: 20),
// color: Colors.yellow,
child: Column(
children: <Widget>[
Row(
children: <Widget>[
Expanded(
flex: 3,
child: Container(
// color: Colors.blue,
height: SizeConfig.getHeight(200),
child: Image.asset("assets/images/demo_img.png",
fit: BoxFit.cover,),
),
),
Expanded(
flex: 5,
child: Container(
margin: EdgeInsets.only(left: 15),
// color: Colors.yellow,
height: SizeConfig.getHeight(200),
child: Column(
children: <Widget>[
Container(
padding: EdgeInsets.all(10),
alignment: Alignment.topLeft,
// color: Colors.red,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text("Thai Body Balance",style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(12),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),),
SizedBox(
height: 5,
),
Text("SPA Cenvaree @ Centara Grand CentralWorld Bangkok",style: TextStyle(
color: Color(0xff969696),
fontSize: SizeConfig.getFontSize(11),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),),
],
),
),
Container(
padding: EdgeInsets.only(left: 10,right: 10),
alignment: Alignment.topLeft,
// color: Colors.blue,
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Icon(Icons.access_time,color: Color(0xffEEAFB7),),
SizedBox(
width: 5,
),
Text("150 Min",style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(13),
fontFamily: "SF_Pro_Text",
),),
],
),
SizedBox(
height: 10,
),
Row(
crossAxisAlignment: CrossAxisAlignment.end,
children: <Widget>[
Text("฿599.0",style: TextStyle(fontSize: SizeConfig.getFontSize(12),decoration: TextDecoration.lineThrough,),),
SizedBox(
width: 15,
),
Text("฿199.00",style: TextStyle(
color: Colors.red,
fontSize: SizeConfig.getFontSize(18),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),),
],
),
],
),
),
Expanded(
child: Container(
// color: Colors.blue,
padding: EdgeInsets.only(left: 10,right: 10,top: 10,bottom: 10),
alignment: Alignment.bottomLeft,
child: Text("",style: TextStyle(
color: Color(0xff6AB3AA),
fontSize: SizeConfig.getFontSize(14),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),),
),
),
],
),
),
),
],
),
Container(
width: double.infinity,
padding: EdgeInsets.only(bottom: SizeConfig.getPadding(10),top: SizeConfig.getPadding(20),left: 0,right: 0),
height: SizeConfig.getHeight(80),
// color: Colors.blue,
child: RaisedButton(
shape: new RoundedRectangleBorder(
borderRadius: new BorderRadius.circular(180.0)),
child: Text(
"Ratings",
style: TextStyle(
color: Colors.white,
fontSize: SizeConfig.getFontSize(16),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
color: Color(0xffE8A6B4),
onPressed: () {
}
),
),
],
)
),
);
}
Widget Card2(){
return Card(
margin: EdgeInsets.only(right: SizeConfig.getPadding(16),left: SizeConfig.getPadding(16),top: SizeConfig.getPadding(20),bottom: SizeConfig.getPadding(10)),
child: Container(
margin: EdgeInsets.only(right: 15,left: 15,bottom: 20,top: 20),
// color: Colors.yellow,
child: Column(
children: <Widget>[
Row(
children: <Widget>[
Expanded(
flex: 3,
child: Container(
// color: Colors.blue,
height: SizeConfig.getHeight(200),
child: Image.asset("assets/images/demo_img.png",
fit: BoxFit.cover,),
),
),
Expanded(
flex: 5,
child: Container(
margin: EdgeInsets.only(left: 15),
// color: Colors.yellow,
height: SizeConfig.getHeight(200),
child: Column(
children: <Widget>[
Container(
padding: EdgeInsets.all(10),
alignment: Alignment.topLeft,
// color: Colors.red,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text("Thai Body Balance",style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(12),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),),
SizedBox(
height: 5,
),
Text("SPA Cenvaree @ Centara Grand CentralWorld Bangkok",style: TextStyle(
color: Color(0xff969696),
fontSize: SizeConfig.getFontSize(11),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),),
],
),
),
Container(
padding: EdgeInsets.only(left: 10,right: 10),
alignment: Alignment.topLeft,
// color: Colors.blue,
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Icon(Icons.access_time,color: Color(0xffEEAFB7),),
SizedBox(
width: 5,
),
Text("150 Min",style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(13),
fontFamily: "SF_Pro_Text",
),),
],
),
SizedBox(
height: 10,
),
Row(
crossAxisAlignment: CrossAxisAlignment.end,
children: <Widget>[
Text("฿599.0",style: TextStyle(fontSize: SizeConfig.getFontSize(12),decoration: TextDecoration.lineThrough,),),
SizedBox(
width: 15,
),
Text("฿199.00",style: TextStyle(
color: Colors.red,
fontSize: SizeConfig.getFontSize(18),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),),
],
),
],
),
),
Expanded(
child: Container(
// color: Colors.blue,
padding: EdgeInsets.only(left: 10,right: 10,top: 10,bottom: 10),
alignment: Alignment.bottomLeft,
child: Text("",style: TextStyle(
color: Color(0xff6AB3AA),
fontSize: SizeConfig.getFontSize(14),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),),
),
),
],
),
),
),
],
),
Container(
width: double.infinity,
padding: EdgeInsets.only(bottom: SizeConfig.getPadding(10),top: SizeConfig.getPadding(20),left: 0,right: 0),
height: SizeConfig.getHeight(80),
// color: Colors.blue,
child: RaisedButton(
shape: new RoundedRectangleBorder(
borderRadius: new BorderRadius.circular(180.0)),
child: Text(
"View shop scores",
style: TextStyle(
color: Colors.white,
fontSize: SizeConfig.getFontSize(16),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
color: Color(0xff3694A3),
onPressed: () {
}
),
),
],
)
),
);
}
}
import 'package:feelverapp/util/SizeConfig.dart'; import 'package:feelverapp/util/SizeConfig.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class myTicketPage extends StatefulWidget { class ServiceTicketPage extends StatefulWidget {
@override @override
_myTicketPageState createState() => _myTicketPageState(); _ServiceTicketPageState createState() => _ServiceTicketPageState();
} }
class _myTicketPageState extends State<myTicketPage> { class _ServiceTicketPageState extends State<ServiceTicketPage> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
......
import 'dart:ui'; import 'dart:ui';
import 'package:feelverapp/ui/booking/bookingflow.dart';
import 'package:feelverapp/ui/home/home.dart';
import 'package:feelverapp/ui/reserve/reserve_date_time.dart';
import 'package:feelverapp/util/AppBar.dart'; import 'package:feelverapp/util/AppBar.dart';
import 'package:feelverapp/util/SizeConfig.dart'; import 'package:feelverapp/util/SizeConfig.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
...@@ -13,7 +10,30 @@ class OtherMenuPage extends StatefulWidget { ...@@ -13,7 +10,30 @@ class OtherMenuPage extends StatefulWidget {
_OtherMenuPageState createState() => _OtherMenuPageState(); _OtherMenuPageState createState() => _OtherMenuPageState();
} }
class _OtherMenuPageState extends State<OtherMenuPage> { class _OtherMenuPageState extends State<OtherMenuPage> with SingleTickerProviderStateMixin{
TabController controller;
@override
void initState() {
// TODO: implement initState
super.initState();
controller = new TabController(length: 3, vsync: this);
controller.addListener(_handleTabSelection);
}
@override
void dispose() {
// TODO: implement dispose
controller.dispose();
super.dispose();
}
void _handleTabSelection() {
setState(() {
});
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
SizeConfig(context); SizeConfig(context);
...@@ -32,7 +52,6 @@ class _OtherMenuPageState extends State<OtherMenuPage> { ...@@ -32,7 +52,6 @@ class _OtherMenuPageState extends State<OtherMenuPage> {
); );
} }
Widget containt(){ Widget containt(){
return Container( return Container(
child: Column( child: Column(
...@@ -41,15 +60,19 @@ class _OtherMenuPageState extends State<OtherMenuPage> { ...@@ -41,15 +60,19 @@ class _OtherMenuPageState extends State<OtherMenuPage> {
height: SizeConfig.getHeight(160), height: SizeConfig.getHeight(160),
), ),
Expanded( Expanded(
child: SingleChildScrollView(
child: Column( child: Column(
children: <Widget>[ children: <Widget>[
buttonBar(), // buttonBar(),
Card1(), SizedBox(
Card2(), height: 60,
LogoutButton(),
],
), ),
getTabBar(),
Expanded(
child: Container(
child: containTab()
),
),
],
), ),
), ),
], ],
...@@ -84,7 +107,7 @@ class _OtherMenuPageState extends State<OtherMenuPage> { ...@@ -84,7 +107,7 @@ class _OtherMenuPageState extends State<OtherMenuPage> {
Widget Card1(){ Widget Card1(){
return Card( return Card(
margin: EdgeInsets.only(right: SizeConfig.getPadding(16),left: SizeConfig.getPadding(16),top: SizeConfig.getPadding(10),bottom: SizeConfig.getPadding(10)), margin: EdgeInsets.only(right: SizeConfig.getPadding(16),left: SizeConfig.getPadding(16),top: SizeConfig.getPadding(0),bottom: SizeConfig.getPadding(10)),
child: Container( child: Container(
margin: EdgeInsets.only(right: 10,left: 10), margin: EdgeInsets.only(right: 10,left: 10),
// color: Colors.yellow, // color: Colors.yellow,
...@@ -181,6 +204,7 @@ class _OtherMenuPageState extends State<OtherMenuPage> { ...@@ -181,6 +204,7 @@ class _OtherMenuPageState extends State<OtherMenuPage> {
); );
} }
Widget Card2(){ Widget Card2(){
return Card( return Card(
margin: EdgeInsets.only(right: SizeConfig.getPadding(16),left: SizeConfig.getPadding(16),top: SizeConfig.getPadding(10),bottom: SizeConfig.getPadding(10)), margin: EdgeInsets.only(right: SizeConfig.getPadding(16),left: SizeConfig.getPadding(16),top: SizeConfig.getPadding(10),bottom: SizeConfig.getPadding(10)),
...@@ -230,90 +254,7 @@ class _OtherMenuPageState extends State<OtherMenuPage> { ...@@ -230,90 +254,7 @@ class _OtherMenuPageState extends State<OtherMenuPage> {
); );
} }
Widget buttonBar(){
return Container(
child: Row(
children: <Widget>[
Expanded(
child: Container(
height: SizeConfig.getHeight(130),
padding: EdgeInsets.only(bottom: SizeConfig.getHeight(10)),
// color: Colors.green,
child: Column(
mainAxisAlignment: MainAxisAlignment.end,
children: <Widget>[
Image.asset("assets/images/icon_menu1_gray.png",
width: SizeConfig.getWidth(20),
height: SizeConfig.getHeight(30),
fit: BoxFit.cover,),
SizedBox(
height: SizeConfig.getHeight(8),
),
Text("การจองของฉัน",
style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(12),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),)
],
),
),
),
Expanded(
child: Container(
height: SizeConfig.getHeight(130),
padding: EdgeInsets.only(bottom: SizeConfig.getHeight(10)),
// color: Colors.blue,
child: Column(
mainAxisAlignment: MainAxisAlignment.end,
children: <Widget>[
Image.asset("assets/images/icon_menu2_gray.png",
width: SizeConfig.getWidth(20),
height: SizeConfig.getHeight(30),
fit: BoxFit.cover,),
SizedBox(
height: SizeConfig.getHeight(5),
),
Text("ประวัติการใช้บริการ",
style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(12),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),)
],
),
),
),
Expanded(
child: Container(
height: SizeConfig.getHeight(130),
padding: EdgeInsets.only(bottom: SizeConfig.getHeight(10)),
// color: Colors.red,
child: Column(
mainAxisAlignment: MainAxisAlignment.end,
children: <Widget>[
Image.asset("assets/images/icon_menu3_gray.png",
width: SizeConfig.getWidth(20),
height: SizeConfig.getHeight(30),
fit: BoxFit.cover,),
SizedBox(
height: SizeConfig.getHeight(5),
),
Text("การแจ้งเตือน",
style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(12),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),)
],
),
),
),
],
),
);
}
Widget header(){ Widget header(){
return Container( return Container(
...@@ -322,8 +263,6 @@ class _OtherMenuPageState extends State<OtherMenuPage> { ...@@ -322,8 +263,6 @@ class _OtherMenuPageState extends State<OtherMenuPage> {
child: Stack( child: Stack(
children: <Widget>[ children: <Widget>[
Column( Column(
children: <Widget>[ children: <Widget>[
Container( Container(
...@@ -409,8 +348,6 @@ class _OtherMenuPageState extends State<OtherMenuPage> { ...@@ -409,8 +348,6 @@ class _OtherMenuPageState extends State<OtherMenuPage> {
), ),
], ],
), ),
], ],
), ),
...@@ -423,4 +360,119 @@ class _OtherMenuPageState extends State<OtherMenuPage> { ...@@ -423,4 +360,119 @@ class _OtherMenuPageState extends State<OtherMenuPage> {
), ),
); );
} }
TabBar getTabBar() {
return new TabBar(
indicatorColor: Colors.transparent,
controller: controller,
tabs: [
new Tab(
icon: Icon(Icons.system_update,
color: controller.index == 0
? Color(0xff6AB3AA): Colors.grey,
size: SizeConfig.getFontSize(24),
),
child:Text(
'การจองของฉัน',
style: TextStyle(
color: controller.index == 0
? Color(0xff6AB3AA): Colors.black,
fontSize: SizeConfig.getFontSize(11),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500,
),
textAlign: TextAlign.center,
),
),
new Tab(
icon: Icon(Icons.assignment,
color: controller.index == 1
? Color(0xff6AB3AA): Colors.grey,
size: SizeConfig.getFontSize(24),
),
child:Text(
'ประวัติการใช้บริการ',
style: TextStyle(
color: controller.index == 1
? Color(0xff6AB3AA): Colors.black,
fontSize: SizeConfig.getFontSize(11),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500,
),
textAlign: TextAlign.center,
),
),
new Tab(
icon: Icon(Icons.notifications,
color: controller.index == 2
? Color(0xff6AB3AA): Colors.grey,
size: SizeConfig.getFontSize(24),
),
child:Text(
'การแจ้งเตือน',
style: TextStyle(
color: controller.index == 2
? Color(0xff6AB3AA): Colors.black,
fontSize: SizeConfig.getFontSize(11),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500,
),
textAlign: TextAlign.center,
),
),
],
);
}
TabBarView getTabBarView(var tabs) {
return new TabBarView(
// Add tabs as widgets
children: tabs,
// set the controller
controller: controller,
);
}
Widget containTab(){
return WillPopScope(
///onWillPop: onWillPop,
child: getTabBarView(<Widget>[
Container(
padding: EdgeInsets.only(top: 10),
// color: Colors.red,
height: double.infinity,
width: double.infinity,
child: ListView(
padding: EdgeInsets.all(0),
children: <Widget>[
Card1(),
Card2(),
LogoutButton(),
],
),
),
Container(
color: Colors.blue,
height: double.infinity,
width: double.infinity,
),
Container(
color: Colors.green,
height: double.infinity,
width: double.infinity,
),
]),
);
}
} }
import 'package:feelverapp/ui/menu/menu.dart';
import 'package:feelverapp/ui/payment/payment_page.dart';
import 'package:feelverapp/util/SizeConfig.dart';
import 'package:flutter/material.dart';
class MyCart extends StatefulWidget {
@override
_MyCartState createState() => _MyCartState();
}
class _MyCartState extends State<MyCart> {
bool checkBoxValue = false;
int a = 1;
int b = 1;
@override
Widget build(BuildContext context) {
SizeConfig(context);
return Scaffold(
body: _setupView(),
bottomNavigationBar: Container(
color: Color.fromRGBO(69, 85, 79, 1),
height: SizeConfig.getWidth(150),
child: Column(
children: <Widget>[
Container(
margin: EdgeInsets.only(left: SizeConfig.getPadding(15), top: 17),
child: Row(
children: <Widget>[
Icon(
Icons.local_offer,
color: Colors.white,
),
Padding(
padding: const EdgeInsets.only(left: 7, right: 12),
child: Text(
'โค้ดส่วนลด',
style: TextStyle(
color: Colors.white,
fontSize: SizeConfig.getFontSize(16),
),
),
),
Container(
height: 40,
width: 200,
color: Colors.white,
child: TextField(
decoration: InputDecoration(
border: InputBorder.none,
),
),
),
IconButton(
icon: Icon(
Icons.keyboard_arrow_right,
color: Colors.white,
size: 40,
),
alignment: Alignment(0, 0),
onPressed: () {}),
],
),
),
Divider(
color: Colors.white,
height: 35,
indent: 20,
endIndent: 20,
),
Container(
child: Row(
children: <Widget>[
SizedBox(
width: SizeConfig.getWidth(12),
),
Checkbox(
checkColor: Color(0xFFEEAFB7),
activeColor: Colors.white,
value: checkBoxValue,
onChanged: (bool value) {
setState(() {
print(value);
checkBoxValue = value;
});
}),
Text(
'เลือกทั้งหมด',
style: TextStyle(
color: Colors.white,
fontSize: 16,
),
),
Container(
child: Padding(
padding: const EdgeInsets.only(left: 25),
child: Column(
children: <Widget>[
Text(
'รวมทั้งหมด',
style: TextStyle(
color: Colors.white,
fontSize: 16,
),
),
Text(
'฿2,000',
style: TextStyle(
color: Color(0xFFEEAFB7),
fontSize: 24,
),
),
],
),
),
),
Container(
child: Padding(
padding: const EdgeInsets.only(left: 25),
child: RaisedButton(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(25.0),
),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => Payment(),
),
);
},
padding: EdgeInsets.only(
left: 35,
right: 35,
top: 15,
bottom: 15,
),
color: Color(0xFFEEAFB7),
child: Text(
'สั่งซื้อ',
style: TextStyle(
fontSize: 16,
color: Colors.white,
),
),
),
),
),
],
),
),
],
),
),
);
}
_setupView() {
return Column(
children: <Widget>[
header(),
containt(),
],
);
}
Widget containt() {
return Expanded(
child: SingleChildScrollView(
child: Padding(
padding: const EdgeInsets.only(
left: 10,
right: 10,
top: 8,
bottom: 8,
),
child: Container(
alignment: FractionalOffset.topLeft,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
SizedBox(
height: SizeConfig.getHeight(15),
),
list1(),
list2(),
Divider(
color: Colors.black,
height: 40,
indent: 8,
endIndent: 20,
),
// list3(),
],
),
),
),
),
);
}
Widget list1() {
return Card(child: Container(
child: Column(
children: <Widget>[
Row(
children: <Widget>[
Image.asset(
'assets/images/no-image.png',
height: SizeConfig.getHeight(80),
width: SizeConfig.getWidth(80),
),
Padding(
padding: const EdgeInsets.only(left: 8),
child: Container(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Row(
children: <Widget>[
Text(
'Ivory Relax and Spa',
style: TextStyle(
fontSize: SizeConfig.getFontSize(16),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.bold,
color: Colors.black,
),
),
SizedBox(
width: SizeConfig.getWidth(60),
),
Icon(
Icons.delete,
color: Colors.black,
),
],
),
Text(
'นวดแผนไทย',
style: TextStyle(
fontSize: SizeConfig.getFontSize(16),
fontFamily: "SF_Pro_Text",
color: Colors.black,
),
),
SizedBox(
height: SizeConfig.getHeight(10),
),
Row(
children: <Widget>[
Row(
children: <Widget>[
Image.asset(
'assets/images/clock.png',
height: SizeConfig.getHeight(20),
width: SizeConfig.getWidth(20),
),
Text(
' 90 นาที',
style: TextStyle(
fontFamily: "SF_Pro_Text",
),
),
SizedBox(
width: SizeConfig.getWidth(90),
),
Icon(
Icons.local_offer,
color: Color(0xFFEEAFB7),
),
Text(
'฿1,599.00',
style: TextStyle(
decoration: TextDecoration.lineThrough,
fontSize: SizeConfig.getFontSize(16),
fontFamily: "SF_Pro_Text",
color: Color(0xFFEEAFB7),
),
),
],
),
],
),
SizedBox(
height: SizeConfig.getHeight(10),
),
Row(
children: <Widget>[
Container(
child: Padding(
padding: const EdgeInsets.only(left: 10),
child: Row(
children: <Widget>[
SizedBox(
width: SizeConfig.getPadding(20),
height: SizeConfig.getPadding(20),
child: RaisedButton(
child: Text('-'),
padding: EdgeInsets.only(right: 0),
onPressed: () {
setState(() {
a = a - 1;
});
},
),
),
Padding(
padding: const EdgeInsets.only(
right: 8, left: 8),
child: Text(
'$a',
style: TextStyle(
fontSize: SizeConfig.getFontSize(12),
),
),
),
SizedBox(
width: SizeConfig.getPadding(20),
height: SizeConfig.getPadding(20),
child: RaisedButton(
child: Text('+'),
padding: EdgeInsets.only(right: 0),
onPressed: () {
setState(() {
a = a + 1;
});
},
),
),
],
),
),
),
SizedBox(
width: SizeConfig.getWidth(80),
),
Text(
'฿1,200.00',
style: TextStyle(
fontSize: SizeConfig.getFontSize(20),
color: Color(0xFFFD2956),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.bold,
),
),
],
),
SizedBox(
height: SizeConfig.getHeight(15),
),
],
),
),
),
],
),
],
),
),);
}
Widget list2() {
return Card(child: Container(
child: Column(
children: <Widget>[
Row(
children: <Widget>[
Image.asset(
'assets/images/no-image.png',
height: SizeConfig.getHeight(80),
width: SizeConfig.getWidth(80),
),
Padding(
padding: const EdgeInsets.only(left: 8),
child: Container(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Row(
children: <Widget>[
Text(
'Ivory Relax and Spa',
style: TextStyle(
fontSize: SizeConfig.getFontSize(16),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.bold,
color: Colors.black,
),
),
SizedBox(
width: SizeConfig.getWidth(60),
),
Icon(
Icons.delete,
color: Colors.black,
),
],
),
Text(
'นวดแผนไทย',
style: TextStyle(
fontSize: SizeConfig.getFontSize(16),
fontFamily: "SF_Pro_Text",
color: Colors.black,
),
),
SizedBox(
height: SizeConfig.getHeight(10),
),
Row(
children: <Widget>[
Row(
children: <Widget>[
Image.asset(
'assets/images/clock.png',
height: SizeConfig.getHeight(20),
width: SizeConfig.getWidth(20),
),
Text(
' 90 นาที',
style: TextStyle(
fontFamily: "SF_Pro_Text",
),
),
SizedBox(
width: SizeConfig.getWidth(90),
),
Icon(
Icons.local_offer,
color: Color(0xFFEEAFB7),
),
Text(
'฿1,599.00',
style: TextStyle(
decoration: TextDecoration.lineThrough,
fontSize: SizeConfig.getFontSize(16),
fontFamily: "SF_Pro_Text",
color: Color(0xFFEEAFB7),
),
),
],
),
],
),
SizedBox(
height: SizeConfig.getHeight(10),
),
Row(
children: <Widget>[
Container(
child: Padding(
padding: const EdgeInsets.only(left: 10),
child: Row(
children: <Widget>[
SizedBox(
width: SizeConfig.getPadding(20),
height: SizeConfig.getPadding(20),
child: RaisedButton(
child: Text('-'),
padding: EdgeInsets.only(right: 0),
onPressed: () {
setState(() {
b = b - 1;
});
},
),
),
Padding(
padding: const EdgeInsets.only(
right: 8, left: 8),
child: Text(
'$b',
style: TextStyle(
fontSize: SizeConfig.getFontSize(12),
),
),
),
SizedBox(
width: SizeConfig.getPadding(20),
height: SizeConfig.getPadding(20),
child: RaisedButton(
child: Text('+'),
padding: EdgeInsets.only(right: 0),
onPressed: () {
setState(() {
b = b + 1;
});
},
),
),
],
),
),
),
SizedBox(
width: SizeConfig.getWidth(80),
),
Text(
'฿1,000.00',
style: TextStyle(
fontSize: SizeConfig.getFontSize(20),
color: Color(0xFFFD2956),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.bold,
),
),
],
),
SizedBox(
height: SizeConfig.getHeight(15),
),
],
),
),
),
],
),
],
),
),);
}
Widget header() {
return Container(
child: Stack(
children: <Widget>[
Container(
color: Color.fromRGBO(69, 85, 79, 1),
height: SizeConfig.getHeight(200),
width: MediaQuery.of(context).size.width,
),
Positioned(
top: SizeConfig.getPadding(50),
left:
SizeConfig.getPadding(MediaQuery.of(context).size.width / 3.5),
child: Container(
alignment: Alignment.topCenter,
child: Image.asset(
'assets/images/feelver_banner.png',
width: MediaQuery.of(context).size.width / 2.5,
),
),
),
Positioned(
top: SizeConfig.getPadding(77),
left: SizeConfig.getPadding(16),
child: Container(
child: GestureDetector(
onTap: () {
showDialog(
context: context,
builder: (BuildContext context) {
return NavDrawer();
},
);
},
child: Image.asset(
'assets/images/ic_menu.png',
height: SizeConfig.getWidth(24),
width: SizeConfig.getWidth(30),
fit: BoxFit.cover,
),
),
),
),
Positioned(
top: SizeConfig.getPadding(77),
right: SizeConfig.getPadding(60),
child: Container(
child: Image.asset(
'assets/images/ic_noti.png',
height: SizeConfig.getWidth(30),
width: SizeConfig.getWidth(30),
fit: BoxFit.cover,
),
),
),
Positioned(
top: SizeConfig.getPadding(77),
right: SizeConfig.getPadding(20),
child: InkWell(
// onTap: () {
// Navigator.push(
// context,
// MaterialPageRoute(builder: (context) => LoginPage()),
// );
// },
child: Container(
child: Image.asset(
'assets/images/ic_userimg.png',
height: SizeConfig.getWidth(30),
width: SizeConfig.getWidth(30),
fit: BoxFit.cover,
),
),
),
),
],
),
);
}
}
import 'package:feelverapp/ui/nearme/near_me_detail.dart';
import 'package:feelverapp/ui/shop/shop_main.dart';
import 'package:feelverapp/util/SizeConfig.dart';
import 'package:flutter/material.dart';
class ShopNearbyPlacesPage extends StatefulWidget {
@override
_ShopNearbyPlacesPageState createState() => _ShopNearbyPlacesPageState();
}
class _ShopNearbyPlacesPageState extends State<ShopNearbyPlacesPage> {
@override
Widget build(BuildContext context) {
SizeConfig(context);
return Stack(
children: <Widget>[
Container(
width: double.maxFinite,
// color: Colors.orangeAccent,
child: Column(
children: <Widget>[
Container(
// color: Colors.blue,
padding: EdgeInsets.only(
top: SizeConfig.getPadding(15),
bottom: SizeConfig.getPadding(10),
left: SizeConfig.getPadding(24),
),
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
'สถานที่ใกล้เคียง',
style: TextStyle(
color: Color(0xFF6AB3AA),
fontSize: SizeConfig.getFontSize(14),
),
),
SizedBox(
width: SizeConfig.getWidth(175),
),
Text(
'ดูทั้งหมด',
style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(14),
),
),
],
),
),
Container(
padding: EdgeInsets.only(left: SizeConfig.getPadding(24)),
alignment: Alignment.topLeft,
child: Wrap(
alignment: WrapAlignment.start,
spacing: 10.0, // gap between adjacent chips
runSpacing: 5.0, // gap between lines
children: <Widget>[
FilterChip(
label: Text(
"ทั้งหมด (10)",
style: TextStyle(
color: Colors.white,
fontSize: SizeConfig.getFontSize(15),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
backgroundColor: Color.fromRGBO(106, 179, 170, 1),
shape: StadiumBorder(
side: BorderSide(color: Colors.white),
),
onSelected: (bool value) {
print("selected");
setState(() {});
},
),
FilterChip(
label: Text(
"ที่เที่ยว (5)",
style: TextStyle(
color: Colors.white,
fontSize: SizeConfig.getFontSize(15),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
backgroundColor: Color.fromRGBO(106, 179, 170, 1),
shape: StadiumBorder(
side: BorderSide(color: Colors.white),
),
onSelected: (bool value) {
print("selected");
},
),
FilterChip(
label: Text(
"ที่กิน (3)",
style: TextStyle(
color: Colors.white,
fontSize: SizeConfig.getFontSize(15),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
backgroundColor: Color.fromRGBO(106, 179, 170, 1),
shape: StadiumBorder(
side: BorderSide(color: Colors.white),
),
onSelected: (bool value) {
print("selected");
},
),
FilterChip(
label: Text(
"ที่พัก (1)",
style: TextStyle(
color: Colors.white,
fontSize: SizeConfig.getFontSize(15),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
backgroundColor: Color.fromRGBO(106, 179, 170, 1),
shape: StadiumBorder(
side: BorderSide(color: Colors.white),
),
onSelected: (bool value) {
print("selected");
},
),
FilterChip(
label: Text(
"กิจกรรม (1)",
style: TextStyle(
color: Colors.white,
fontSize: SizeConfig.getFontSize(15),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
backgroundColor: Color.fromRGBO(106, 179, 170, 1),
shape: StadiumBorder(
side: BorderSide(color: Colors.white),
),
onSelected: (bool value) {
print("selected");
},
),
],
),
),
],
)),
getlist(),
],
);
}
getlist() {
return Container(
padding: EdgeInsets.only(
top: SizeConfig.getPadding(140),
left: SizeConfig.getPadding(16),
right: SizeConfig.getPadding(16),
bottom: SizeConfig.getPadding(10),
),
child: ListView.builder(
scrollDirection: Axis.vertical,
itemCount: entries.length,
itemBuilder: (context, i) {
return _nearByItem(entries[i]);
},
),
);
}
Widget _nearByItem(String title) {
return InkWell(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => NearmeDetail(),
),
);
},
child: Card(
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Padding(
padding: const EdgeInsets.only(left: 10),
child: Image.asset(
'assets/images/demo_img.png',
width: SizeConfig.getWidth(110),
height: SizeConfig.getHeight(150),
fit: BoxFit.fitWidth,
),
),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Container(
child: Text(
'ซีไลฟ์ แบงคอก โอเชียน เวิลด์',
style: TextStyle(
color: Colors.black87,
fontSize: SizeConfig.getFontSize(16),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w700),
),
padding: EdgeInsets.only(
top: SizeConfig.getPadding(16),
left: SizeConfig.getPadding(16),
right: SizeConfig.getPadding(16),
bottom: SizeConfig.getPadding(4)),
),
Container(
child: Text(
'พิพิธภัณฑ์สัตว์น้ำ',
textAlign: TextAlign.left,
style: TextStyle(
color: Colors.black54,
fontSize: SizeConfig.getFontSize(12),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
// alignment: Alignment.topLeft,
padding: EdgeInsets.only(
top: SizeConfig.getPadding(0),
left: SizeConfig.getPadding(16),
bottom: SizeConfig.getPadding(4)),
),
Row(
children: <Widget>[
SizedBox(
width: SizeConfig.getWidth(16),
),
ImageIcon(
AssetImage('assets/images/pin_drop.png'),
color: Colors.black54,
size: SizeConfig.getFontSize(16),
),
SizedBox(
width: SizeConfig.getWidth(4),
),
Text(
'54 km',
style: TextStyle(
fontWeight: FontWeight.w500,
fontSize: SizeConfig.getFontSize(12),
color: Colors.black54,
),
),
],
),
Container(
child: Text(
'พิพิธภัณฑ์สัตว์น้ำ ซี ไลฟ์ โอเชียน เวิลด์ กรุงเทพ หรือ บางกอก ซี ไลฟ์ โอเชียนเวิลด์...',
textAlign: TextAlign.left,
style: TextStyle(
color: Colors.black54,
fontSize: SizeConfig.getFontSize(12),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
// alignment: Alignment.topLeft,
padding: EdgeInsets.only(
top: SizeConfig.getPadding(8),
left: SizeConfig.getPadding(16),
bottom: SizeConfig.getPadding(0)),
),
Row(
children: <Widget>[
SizedBox(
width: SizeConfig.getWidth(4),
),
Container(
alignment: Alignment.topLeft,
child: Text(
'4.4',
textAlign: TextAlign.left,
style: TextStyle(
color: Colors.black54,
fontSize: SizeConfig.getFontSize(14),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
padding: EdgeInsets.only(
top: SizeConfig.getPadding(5),
left: SizeConfig.getPadding(10),
bottom: SizeConfig.getPadding(5)),
),
SizedBox(
width: SizeConfig.getWidth(14),
),
ImageIcon(
AssetImage('assets/images/ic_star_active.png'),
color: Color.fromRGBO(255, 207, 7, 1),
size: SizeConfig.getFontSize(16),
),
SizedBox(
width: SizeConfig.getWidth(2),
),
ImageIcon(
AssetImage('assets/images/ic_star_active.png'),
color: Color.fromRGBO(255, 207, 7, 1),
size: SizeConfig.getFontSize(16),
),
SizedBox(
width: SizeConfig.getWidth(2),
),
ImageIcon(
AssetImage('assets/images/ic_star_active.png'),
color: Color.fromRGBO(255, 207, 7, 1),
size: SizeConfig.getFontSize(16),
),
SizedBox(
width: SizeConfig.getWidth(2),
),
ImageIcon(
AssetImage('assets/images/ic_star_active.png'),
color: Color.fromRGBO(255, 207, 7, 1),
size: SizeConfig.getFontSize(16),
),
SizedBox(
width: SizeConfig.getWidth(2),
),
ImageIcon(
AssetImage('assets/images/ic_star_unactive.png'),
color: Colors.grey,
size: SizeConfig.getFontSize(16),
),
SizedBox(
width: SizeConfig.getWidth(40),
height: SizeConfig.getWidth(30),
),
],
),
SizedBox(
height: SizeConfig.getWidth(10),
),
],
),
),
],
),
),
);
}
}
import 'package:feelverapp/ui/nearme/near_me_detail.dart'; import 'package:feelverapp/ui/nearme/near_me_detail.dart';
import 'package:feelverapp/ui/shop/shop_Nearby_places.dart';
import 'package:feelverapp/ui/shop/shop_reviews.dart';
import 'package:feelverapp/ui/shop/shop_service.dart';
import 'package:feelverapp/util/SizeConfig.dart'; import 'package:feelverapp/util/SizeConfig.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
...@@ -7,20 +10,34 @@ class MainShop extends StatefulWidget { ...@@ -7,20 +10,34 @@ class MainShop extends StatefulWidget {
@override @override
_MainShopState createState() => new _MainShopState(); _MainShopState createState() => new _MainShopState();
} }
final List<String> entries = <String>['A', 'B', 'C']; final List<String> entries = <String>['A', 'B', 'C'];
class _MainShopState extends State<MainShop> with SingleTickerProviderStateMixin {
class _MainShopState extends State<MainShop>
with SingleTickerProviderStateMixin {
TabController _controller; TabController _controller;
@override
void initState() { void initState() {
// TODO: implement initState
super.initState(); super.initState();
_controller = new TabController(length: 4, vsync: this); _controller = new TabController(length: 4, vsync: this);
_controller.addListener(_handleTabSelection); _controller.addListener(_handleTabSelection);
} }
@override
void dispose() {
// TODO: implement dispose
_controller.dispose();
super.dispose();
}
void _handleTabSelection() { void _handleTabSelection() {
setState(() { setState(() {
}); });
} }
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
SizeConfig(context); SizeConfig(context);
...@@ -31,15 +48,13 @@ class _MainShopState extends State<MainShop> with SingleTickerProviderStateMixin ...@@ -31,15 +48,13 @@ class _MainShopState extends State<MainShop> with SingleTickerProviderStateMixin
onPressed: () => Navigator.of(context).pop(), onPressed: () => Navigator.of(context).pop(),
), ),
backgroundColor: Color.fromRGBO(106, 179, 170, 1), backgroundColor: Color.fromRGBO(106, 179, 170, 1),
title: new Text('Thai Body Balance',style:TextStyle( title: new Text(
color: Colors.white, 'Thai Body Balance',
fontSize: 25 style: TextStyle(color: Colors.white, fontSize: 25),
) ,), ),
elevation: 0, elevation: 0,
), ),
body: body: new ListView(
new ListView(
children: <Widget>[ children: <Widget>[
// new Card( // new Card(
// child: new ListTile( // child: new ListTile(
...@@ -48,94 +63,96 @@ class _MainShopState extends State<MainShop> with SingleTickerProviderStateMixin ...@@ -48,94 +63,96 @@ class _MainShopState extends State<MainShop> with SingleTickerProviderStateMixin
// ), // ),
new Container( new Container(
padding: const EdgeInsets.only(bottom:25,top: 15), padding: const EdgeInsets.only(bottom: 25, top: 15),
decoration: new BoxDecoration(color: Color.fromRGBO(106, 179, 170, 1),), decoration: new BoxDecoration(
color: Color.fromRGBO(106, 179, 170, 1),
),
child: new TabBar( child: new TabBar(
indicatorColor: Colors.transparent, indicatorColor: Colors.transparent,
controller: _controller, controller: _controller,
tabs: [ tabs: [
new Tab( new Tab(
icon: Icon(Icons.assignment, icon: Icon(Icons.assignment,
color: _controller.index == 0 color: _controller.index == 0
? Colors.yellowAccent: Colors.white), ? Colors.yellowAccent
child:Text( : Colors.white),
child: Text(
'ข้อมูลร้าน', 'ข้อมูลร้าน',
style: TextStyle( style: TextStyle(
color: _controller.index == 0 color: _controller.index == 0
? Colors.yellowAccent: Colors.white, ? Colors.yellowAccent
fontSize: 11 : Colors.white,
fontSize: 11),
), ),
), ),
),
new Tab( new Tab(
icon: Icon(Icons.loyalty, icon: Icon(Icons.loyalty,
color: _controller.index == 1 color: _controller.index == 1
? Colors.yellowAccent: Colors.white), ? Colors.yellowAccent
child:Text( : Colors.white),
child: Text(
'บริการ', 'บริการ',
style: TextStyle( style: TextStyle(
color: _controller.index == 1 color: _controller.index == 1
? Colors.yellowAccent: Colors.white, ? Colors.yellowAccent
fontSize: 11 : Colors.white,
), fontSize: 11),
), ),
), ),
new Tab( new Tab(
icon: Icon(Icons.star, icon: Icon(Icons.star,
color: _controller.index == 2 color: _controller.index == 2
? Colors.yellowAccent: Colors.white), ? Colors.yellowAccent
child:Text( : Colors.white),
child: Text(
'รีวิว', 'รีวิว',
style: TextStyle( style: TextStyle(
color: _controller.index == 2 color: _controller.index == 2
? Colors.yellowAccent: Colors.white, ? Colors.yellowAccent
fontSize: 11 : Colors.white,
), fontSize: 11),
), ),
), ),
Container( Container(
width: 200, width: 200,
child: Tab( child: Tab(
icon: Icon(Icons.pin_drop, icon: Icon(Icons.pin_drop,
color: _controller.index == 3 color: _controller.index == 3
? Colors.yellowAccent: Colors.white), ? Colors.yellowAccent
child: : Colors.white),
Text( child: Text(
'สถานที่ใกล้เคียง',maxLines: 1, 'สถานที่ใกล้เคียง',
maxLines: 1,
style: TextStyle( style: TextStyle(
color: _controller.index == 3 color: _controller.index == 3
? Colors.yellowAccent: Colors.white, ? Colors.yellowAccent
fontSize: 9 : Colors.white,
fontSize: 9),
), ),
))
),))
], ],
), ),
), ),
new Container( new Container(
height:double.maxFinite, height: double.maxFinite,
child: new TabBarView( child: new TabBarView(
controller: _controller, controller: _controller,
children: <Widget>[ children: <Widget>[
Container( Container(
color: Colors.black, color: Colors.deepPurpleAccent,
height: 50, height: 50,
// child: getlist(), // child: getlist(),
//width: 20, //width: 20,
), ),
Column( Column(
children: <Widget>[ children: <Widget>[
Container( Container(
color: Colors.white, color: Colors.white,
height: 200, height: 120,
child: Wrap(
child:Wrap(
alignment: WrapAlignment.start, alignment: WrapAlignment.start,
spacing: 10.0, // gap between adjacent chips spacing: 10.0, // gap between adjacent chips
runSpacing: 5.0, // gap between lines runSpacing: 5.0, // gap between lines
...@@ -197,7 +214,6 @@ class _MainShopState extends State<MainShop> with SingleTickerProviderStateMixin ...@@ -197,7 +214,6 @@ class _MainShopState extends State<MainShop> with SingleTickerProviderStateMixin
"ที่พัก (1)", "ที่พัก (1)",
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.white,
fontFamily: "SF_Pro_Text", fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500), fontWeight: FontWeight.w500),
), ),
...@@ -228,338 +244,35 @@ class _MainShopState extends State<MainShop> with SingleTickerProviderStateMixin ...@@ -228,338 +244,35 @@ class _MainShopState extends State<MainShop> with SingleTickerProviderStateMixin
), ),
], ],
), ),
), ),
Container( Container(
color: Colors.green, // color: Colors.blue,
height: double.maxFinite, height: double.maxFinite,
child: ShopServicePage(),
) ),
], ],
), ),
// child: getlist(), // child: getlist(),
//width: 20, //width: 20,
Container( Container(
color: Colors.red, // color: Colors.red,
height: 50, child: ShopReviewsPage(),
// child: getlist(), // child: getlist(),
//width: 20, //width: 20,
), ),
setupView() //
],
),
),
],
),
);
}
setupView() {
return Stack(
children: <Widget>[
Container( Container(
width: double.maxFinite, // width: double.maxFinite,
// color: Colors.yellow,
color: Colors.white, // child: setupView(),
child: Container( child: ShopNearbyPlacesPage(),
padding: EdgeInsets.only(left: SizeConfig.getPadding(24)),
alignment: Alignment.topLeft,
child: Wrap(
alignment: WrapAlignment.start,
spacing: 10.0, // gap between adjacent chips
runSpacing: 5.0, // gap between lines
children: <Widget>[
FilterChip(
label: Text(
"ทั้งหมด (10)",
style: TextStyle(
color: Colors.white,
fontSize: SizeConfig.getFontSize(15),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
backgroundColor: Color.fromRGBO(106, 179, 170, 1),
shape: StadiumBorder(
side: BorderSide(color: Colors.white),
),
onSelected: (bool value) {
print("selected");
setState(() {});
},
),
FilterChip(
label: Text(
"ที่เที่ยว (5)",
style: TextStyle(
color: Colors.white,
fontSize: SizeConfig.getFontSize(15),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
backgroundColor: Color.fromRGBO(106, 179, 170, 1),
shape: StadiumBorder(
side: BorderSide(color: Colors.white),
),
onSelected: (bool value) {
print("selected");
},
),
FilterChip(
label: Text(
"ที่กิน (3)",
style: TextStyle(
color: Colors.white,
fontSize: SizeConfig.getFontSize(15),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
backgroundColor: Color.fromRGBO(106, 179, 170, 1),
shape: StadiumBorder(
side: BorderSide(color: Colors.white),
),
onSelected: (bool value) {
print("selected");
},
),
FilterChip(
label: Text(
"ที่พัก (1)",
style: TextStyle(
color: Colors.white,
fontSize: SizeConfig.getFontSize(15),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
backgroundColor: Color.fromRGBO(106, 179, 170, 1),
shape: StadiumBorder(
side: BorderSide(color: Colors.white),
),
onSelected: (bool value) {
print("selected");
},
),
FilterChip(
label: Text(
"กิจกรรม (1)",
style: TextStyle(
color: Colors.white,
fontSize: SizeConfig.getFontSize(15),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
backgroundColor: Color.fromRGBO(106, 179, 170, 1),
shape: StadiumBorder(
side: BorderSide(color: Colors.white),
),
onSelected: (bool value) {
print("selected");
},
),
],
),
),
),
getlist(),
],
);
}
getlist() {
return Container(
padding: EdgeInsets.only(
top: SizeConfig.getPadding(140),
left: SizeConfig.getPadding(16),
right: SizeConfig.getPadding(16),
bottom: SizeConfig.getPadding(10),
),
child:
ListView.builder(
scrollDirection: Axis.vertical,
itemCount: entries.length,
itemBuilder: (context, i) {
return _nearByItem(entries[i]);
},
),
);
}
Widget _nearByItem(String title) {
return InkWell(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => NearmeDetail(),
),
);
}, child: Card(
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Image.network(
'https://scontent.fbkk2-8.fna.fbcdn.net/v/t1.0-9/66224920_2384272051596091_1094623379467534336_n.jpg?_nc_cat=102&_nc_sid=85a577&_nc_eui2=AeElfU4QES6XQW0XzlV5G9zQ-F-e_QdADw_4X579B0APD-UJsAV-PuXX-iMA6hWVLgUUmCNm5HTgTMw_q4YARQm8&_nc_ohc=do7yQl7hf74AX8-8Yk-&_nc_ht=scontent.fbkk2-8.fna&oh=140482c64ecf1893bf59498dfff5f592&oe=5EFAC9CF',
width: SizeConfig.getWidth(110),
height: SizeConfig.getHeight(150),
fit: BoxFit.fitWidth,
),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Container(
child: Text(
'ซีไลฟ์ แบงคอก โอเชียน เวิลด์',
style: TextStyle(
color: Colors.black87,
fontSize: SizeConfig.getFontSize(16),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w700),
),
padding: EdgeInsets.only(
top: SizeConfig.getPadding(16),
left: SizeConfig.getPadding(16),
right: SizeConfig.getPadding(16),
bottom: SizeConfig.getPadding(4)),
),
Container(
child: Text(
'พิพิธภัณฑ์สัตว์น้ำ',
textAlign: TextAlign.left,
style: TextStyle(
color: Colors.black54,
fontSize: SizeConfig.getFontSize(12),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
// alignment: Alignment.topLeft,
padding: EdgeInsets.only(
top: SizeConfig.getPadding(0),
left: SizeConfig.getPadding(16),
bottom: SizeConfig.getPadding(4)),
),
Row(
children: <Widget>[
SizedBox(
width: SizeConfig.getWidth(16),
),
ImageIcon(
AssetImage('assets/images/pin_drop.png'),
color: Colors.black54,
size: SizeConfig.getFontSize(16),
),
SizedBox(
width: SizeConfig.getWidth(4),
),
Text(
'54 km',
style: TextStyle(
fontWeight: FontWeight.w500,
fontSize: SizeConfig.getFontSize(12),
color: Colors.black54,
),
),
],
),
Container(
child: Text(
'พิพิธภัณฑ์สัตว์น้ำ ซี ไลฟ์ โอเชียน เวิลด์ กรุงเทพ หรือ บางกอก ซี ไลฟ์ โอเชียนเวิลด์...',
textAlign: TextAlign.left,
style: TextStyle(
color: Colors.black54,
fontSize: SizeConfig.getFontSize(12),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
// alignment: Alignment.topLeft,
padding: EdgeInsets.only(
top: SizeConfig.getPadding(8),
left: SizeConfig.getPadding(16),
bottom: SizeConfig.getPadding(0)),
),
Row(
children: <Widget>[
SizedBox(
width: SizeConfig.getWidth(4),
),
Container(
alignment: Alignment.topLeft,
child: Text(
'4.4',
textAlign: TextAlign.left,
style: TextStyle(
color: Colors.black54,
fontSize: SizeConfig.getFontSize(14),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
padding: EdgeInsets.only(
top: SizeConfig.getPadding(5),
left: SizeConfig.getPadding(10),
bottom: SizeConfig.getPadding(5)),
),
SizedBox(
width: SizeConfig.getWidth(14),
),
ImageIcon(
AssetImage('assets/images/ic_star_active.png'),
color: Color.fromRGBO(255, 207, 7, 1),
size: SizeConfig.getFontSize(16),
),
SizedBox(
width: SizeConfig.getWidth(2),
),
ImageIcon(
AssetImage('assets/images/ic_star_active.png'),
color: Color.fromRGBO(255, 207, 7, 1),
size: SizeConfig.getFontSize(16),
),
SizedBox(
width: SizeConfig.getWidth(2),
),
ImageIcon(
AssetImage('assets/images/ic_star_active.png'),
color: Color.fromRGBO(255, 207, 7, 1),
size: SizeConfig.getFontSize(16),
),
SizedBox(
width: SizeConfig.getWidth(2),
),
ImageIcon(
AssetImage('assets/images/ic_star_active.png'),
color: Color.fromRGBO(255, 207, 7, 1),
size: SizeConfig.getFontSize(16),
),
SizedBox(
width: SizeConfig.getWidth(2),
),
ImageIcon(
AssetImage('assets/images/ic_star_unactive.png'),
color: Colors.grey,
size: SizeConfig.getFontSize(16),
),
SizedBox(
width: SizeConfig.getWidth(40),
height: SizeConfig.getWidth(30),
),
],
), SizedBox(
height: SizeConfig.getWidth(10),
), ),
], ],
), ),
), ),
], ],
), ),
),
); );
} }
} }
import 'package:feelverapp/util/SizeConfig.dart';
import 'package:feelverapp/util/rating_star.dart';
import 'package:flutter/material.dart';
class ShopReviewsPage extends StatefulWidget {
@override
_ShopReviewsPageState createState() => _ShopReviewsPageState();
}
class _ShopReviewsPageState extends State<ShopReviewsPage> {
double rate1 = 0;
@override
Widget build(BuildContext context) {
SizeConfig(context);
return Container(
child: ListView(
children: <Widget>[
Column(
children: <Widget>[
Texttop(),
Card1(),
],
),
],
),
);
}
Widget Texttop() {
return Container(
margin: EdgeInsets.only(
right: SizeConfig.getPadding(16),
left: SizeConfig.getPadding(16),
top: SizeConfig.getPadding(20),
bottom: SizeConfig.getPadding(10)),
child: Row(
children: <Widget>[
Text(
'รีวิว(จากผู้ใช้บริการจริง)',
style: TextStyle(
color: Color(0xFF6AB3AA),
fontSize: SizeConfig.getFontSize(14),
),
),
SizedBox(
width: SizeConfig.getWidth(145),
),
Text(
'ดูทั้งหมด',
style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(14),
),
),
],
),
);
}
Widget Card1() {
return Card(
margin: EdgeInsets.only(
right: SizeConfig.getPadding(16),
left: SizeConfig.getPadding(16),
top: SizeConfig.getPadding(20),
bottom: SizeConfig.getPadding(10)),
child: Container(
margin: EdgeInsets.only(right: 15, left: 15, bottom: 20, top: 20),
// color: Colors.blueGrey,
child: Column(
children: <Widget>[
Container(
// color: Colors.blueGrey,
child: Column(
children: <Widget>[
Row(
children: <Widget>[
Text(
'4.4',
style: TextStyle(
fontSize: SizeConfig.getFontSize(16),
color: Color(0xFFD5D5D5),
),
),
SizedBox(
width: SizeConfig.getWidth(8),
),
RatingStar(
isRating: true,
rate: rate1,
starSize: 20,
onChangeRate: (i) {
setState(() {
rate1 = i;
print(i);
});
},
),
SizedBox(
width: SizeConfig.getWidth(8),
),
Text(
'(221)',
style: TextStyle(
fontSize: SizeConfig.getFontSize(16),
color: Color(0xFFD5D5D5),
),
),
],
),
SizedBox(
height: SizeConfig.getHeight(35),
),
Row(
children: <Widget>[
Text(
'คุ้มค่า',
style: TextStyle(
fontSize: SizeConfig.getFontSize(16),
color: Colors.black),
),
SizedBox(
width: SizeConfig.getWidth(165),
),
RatingStar(
isRating: true,
rate: rate1,
starSize: 20,
onChangeRate: (i) {
setState(() {
rate1 = i;
print(i);
});
},
),
],
),
SizedBox(
height: SizeConfig.getHeight(15),
),
Row(
children: <Widget>[
Text(
'บรรยากาศดี',
style: TextStyle(
fontSize: SizeConfig.getFontSize(16),
color: Colors.black),
),
SizedBox(
width: SizeConfig.getWidth(120),
),
RatingStar(
isRating: true,
rate: rate1,
starSize: 20,
onChangeRate: (i) {
setState(() {
rate1 = i;
print(i);
});
},
),
],
),
SizedBox(
height: SizeConfig.getHeight(15),
),
Row(
children: <Widget>[
Text(
'บริการเยี่ยม',
style: TextStyle(
fontSize: SizeConfig.getFontSize(16),
color: Colors.black),
),
SizedBox(
width: SizeConfig.getWidth(125),
),
RatingStar(
isRating: true,
rate: rate1,
starSize: 20,
onChangeRate: (i) {
setState(() {
rate1 = i;
print(i);
});
},
),
],
),
SizedBox(
height: SizeConfig.getHeight(15),
),
Row(
children: <Widget>[
Text(
'สะอาด',
style: TextStyle(
fontSize: SizeConfig.getFontSize(16),
color: Colors.black),
),
SizedBox(
width: SizeConfig.getWidth(160),
),
RatingStar(
isRating: true,
rate: rate1,
starSize: 20,
onChangeRate: (i) {
setState(() {
rate1 = i;
print(i);
});
},
),
],
),
SizedBox(
height: SizeConfig.getHeight(15),
),
],
),
),
Divider(
color: Color(0xFF606060),
),
Container(
// color: Colors.deepPurpleAccent,
child: Row(
children: <Widget>[
ClipRRect(
borderRadius: BorderRadius.circular(50),
child: Image.network(
'https://scontent.fbkk7-2.fna.fbcdn.net/v/t1.0-9/104204530_3370427592977187_6031309814586327212_o.jpg?_nc_cat=106&_nc_sid=110474&_nc_eui2=AeE2vpoR5NHZLbG8b3YABiSdSsMCoPYM3W1KwwKg9gzdbZuYqR1gPnkW3tGe-TS2Vtphdvn2OuvO2CdDLaCMVvcI&_nc_ohc=T5EK3sWOgtAAX994m4I&_nc_ht=scontent.fbkk7-2.fna&oh=0b3e434546b19e256c07ecd6a4d499fb&oe=5F098A94',
width: 55.0,
height: 55.0,
fit: BoxFit.cover,
),
),
SizedBox(
width: SizeConfig.getWidth(10),
),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Row(
children: <Widget>[
Text(
'Rattaya Pratumkan',
style: TextStyle(
fontSize: SizeConfig.getFontSize(20),
color: Colors.black),
),
SizedBox(
width: SizeConfig.getWidth(60),
),
Icon(Icons.more_vert),
],
),
SizedBox(
height: SizeConfig.getHeight(5),
),
RatingStar(
isRating: true,
rate: rate1,
starSize: 20,
onChangeRate: (i) {
setState(() {
rate1 = i;
print(i);
});
},
),
],
),
],
),
),
Container(
// color: Colors.blue,
child: Column(
children: <Widget>[
Padding(
padding: const EdgeInsets.only(
top: 10, bottom: 10, left: 2, right: 2),
child: Text(
'การบริการและบรรยากาศดีมาก มีห้องอาบน้ำพร้อมผ้าเช็ดตัว สบู่ ครีมสระผม พนักงานดูแลเอาใจใส่ และคอยแนะนำตลอดจนถึง therapist มีความเป็นมืออาชีพให้ความผ่อนคลายแก่ลูกค้า',
style: TextStyle(
fontSize: SizeConfig.getFontSize(12),
),
),
),
Row(
children: <Widget>[
RaisedButton(
color: Color(0xFF3694A3),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20),
),
onPressed: () {},
child: Text(
"บริการดีมาก",
style: TextStyle(
color: Colors.white,
),
),
),
SizedBox(
width: SizeConfig.getWidth(14),
),
RaisedButton(
color: Color(0xFF3694A3),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20),
),
onPressed: () {},
child: Padding(
padding: const EdgeInsets.only(
right: 10,
left: 10,
),
child: Text(
"คุ้มค่าดี",
style: TextStyle(
color: Colors.white,
),
),
),
),
],
),
SizedBox(height: SizeConfig.getHeight(10),),
],
),
),
Container(
color: Color(0xFFF2F2F2),
child: Padding(
padding: const EdgeInsets.only(left: 30,top: 20,bottom: 20,),
child: Row(
children: <Widget>[
ClipRRect(
borderRadius: BorderRadius.circular(10),
child: Image.asset(
"assets/images/demo_img.png",
width: 100.0,
height: 90.0,
fit: BoxFit.cover,
),
),
SizedBox(
width: SizeConfig.getWidth(10),
),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
'service : Spa Cenvaree',
style: TextStyle(
fontSize: SizeConfig.getFontSize(14),
color: Colors.black),
),
Text(
"Ladies' Day",
style: TextStyle(
fontSize: SizeConfig.getFontSize(14),
color: Colors.black),
),
SizedBox(height: SizeConfig.getHeight(5),),
Text(
"03/16/2019 12:49",
style: TextStyle(
fontSize: SizeConfig.getFontSize(14),
color: Color(0xFF6AB3AA),),
),
SizedBox(height: SizeConfig.getHeight(9),),
Row(children: <Widget>[
Icon(Icons.access_time,color: Color(0xFFEEAFB7),),
Text(' 150Min')
],)
],
),
],
),
),
),
SizedBox(height: SizeConfig.getHeight(30),),
Container(
// color: Colors.deepPurpleAccent,
child: Row(
children: <Widget>[
ClipRRect(
borderRadius: BorderRadius.circular(50),
child: Image.network(
'https://scontent.fbkk7-2.fna.fbcdn.net/v/t1.0-9/104204530_3370427592977187_6031309814586327212_o.jpg?_nc_cat=106&_nc_sid=110474&_nc_eui2=AeE2vpoR5NHZLbG8b3YABiSdSsMCoPYM3W1KwwKg9gzdbZuYqR1gPnkW3tGe-TS2Vtphdvn2OuvO2CdDLaCMVvcI&_nc_ohc=T5EK3sWOgtAAX994m4I&_nc_ht=scontent.fbkk7-2.fna&oh=0b3e434546b19e256c07ecd6a4d499fb&oe=5F098A94',
width: 55.0,
height: 55.0,
fit: BoxFit.cover,
),
),
SizedBox(
width: SizeConfig.getWidth(10),
),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Row(
children: <Widget>[
Text(
'Rattaya Pratumkan',
style: TextStyle(
fontSize: SizeConfig.getFontSize(20),
color: Colors.black),
),
SizedBox(
width: SizeConfig.getWidth(60),
),
Icon(Icons.more_vert),
],
),
SizedBox(
height: SizeConfig.getHeight(5),
),
RatingStar(
isRating: true,
rate: rate1,
starSize: 20,
onChangeRate: (i) {
setState(() {
rate1 = i;
print(i);
});
},
),
],
),
],
),
),
Container(
// color: Colors.blue,
child: Column(
children: <Widget>[
Padding(
padding: const EdgeInsets.only(
top: 10, bottom: 10, left: 2, right: 2),
child: Text(
'การบริการและบรรยากาศดีมาก มีห้องอาบน้ำพร้อมผ้าเช็ดตัว สบู่ ครีมสระผม พนักงานดูแลเอาใจใส่ และคอยแนะนำตลอดจนถึง therapist มีความเป็นมืออาชีพให้ความผ่อนคลายแก่ลูกค้า',
style: TextStyle(
fontSize: SizeConfig.getFontSize(12),
),
),
),
Row(
children: <Widget>[
RaisedButton(
color: Color(0xFF3694A3),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20),
),
onPressed: () {},
child: Text(
"บริการดีมาก",
style: TextStyle(
color: Colors.white,
),
),
),
SizedBox(
width: SizeConfig.getWidth(14),
),
RaisedButton(
color: Color(0xFF3694A3),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20),
),
onPressed: () {},
child: Padding(
padding: const EdgeInsets.only(
right: 10,
left: 10,
),
child: Text(
"คุ้มค่าดี",
style: TextStyle(
color: Colors.white,
),
),
),
),
],
),
SizedBox(height: SizeConfig.getHeight(10),),
],
),
),
Container(
color: Color(0xFFF2F2F2),
child: Padding(
padding: const EdgeInsets.only(left: 30,top: 20,bottom: 20,),
child: Row(
children: <Widget>[
ClipRRect(
borderRadius: BorderRadius.circular(10),
child: Image.asset(
"assets/images/demo_img.png",
width: 100.0,
height: 90.0,
fit: BoxFit.cover,
),
),
SizedBox(
width: SizeConfig.getWidth(10),
),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
'service : Spa Cenvaree',
style: TextStyle(
fontSize: SizeConfig.getFontSize(14),
color: Colors.black),
),
Text(
"Ladies' Day",
style: TextStyle(
fontSize: SizeConfig.getFontSize(14),
color: Colors.black),
),
SizedBox(height: SizeConfig.getHeight(5),),
Text(
"03/16/2019 12:49",
style: TextStyle(
fontSize: SizeConfig.getFontSize(14),
color: Color(0xFF6AB3AA),),
),
SizedBox(height: SizeConfig.getHeight(9),),
Row(children: <Widget>[
Icon(Icons.access_time,color: Color(0xFFEEAFB7),),
Text(' 150Min')
],)
],
),
],
),
),
),
SizedBox(height: SizeConfig.getHeight(30),),
Container(
// color: Colors.deepPurpleAccent,
child: Row(
children: <Widget>[
ClipRRect(
borderRadius: BorderRadius.circular(50),
child: Image.network(
'https://scontent.fbkk7-2.fna.fbcdn.net/v/t1.0-9/104204530_3370427592977187_6031309814586327212_o.jpg?_nc_cat=106&_nc_sid=110474&_nc_eui2=AeE2vpoR5NHZLbG8b3YABiSdSsMCoPYM3W1KwwKg9gzdbZuYqR1gPnkW3tGe-TS2Vtphdvn2OuvO2CdDLaCMVvcI&_nc_ohc=T5EK3sWOgtAAX994m4I&_nc_ht=scontent.fbkk7-2.fna&oh=0b3e434546b19e256c07ecd6a4d499fb&oe=5F098A94',
width: 55.0,
height: 55.0,
fit: BoxFit.cover,
),
),
SizedBox(
width: SizeConfig.getWidth(10),
),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Row(
children: <Widget>[
Text(
'Rattaya Pratumkan',
style: TextStyle(
fontSize: SizeConfig.getFontSize(20),
color: Colors.black),
),
SizedBox(
width: SizeConfig.getWidth(60),
),
Icon(Icons.more_vert),
],
),
SizedBox(
height: SizeConfig.getHeight(5),
),
RatingStar(
isRating: true,
rate: rate1,
starSize: 20,
onChangeRate: (i) {
setState(() {
rate1 = i;
print(i);
});
},
),
],
),
],
),
),
Container(
// color: Colors.blue,
child: Column(
children: <Widget>[
Padding(
padding: const EdgeInsets.only(
top: 10, bottom: 10, left: 2, right: 2),
child: Text(
'การบริการและบรรยากาศดีมาก มีห้องอาบน้ำพร้อมผ้าเช็ดตัว สบู่ ครีมสระผม พนักงานดูแลเอาใจใส่ และคอยแนะนำตลอดจนถึง therapist มีความเป็นมืออาชีพให้ความผ่อนคลายแก่ลูกค้า',
style: TextStyle(
fontSize: SizeConfig.getFontSize(12),
),
),
),
Row(
children: <Widget>[
RaisedButton(
color: Color(0xFF3694A3),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20),
),
onPressed: () {},
child: Text(
"บริการดีมาก",
style: TextStyle(
color: Colors.white,
),
),
),
SizedBox(
width: SizeConfig.getWidth(14),
),
RaisedButton(
color: Color(0xFF3694A3),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20),
),
onPressed: () {},
child: Padding(
padding: const EdgeInsets.only(
right: 10,
left: 10,
),
child: Text(
"คุ้มค่าดี",
style: TextStyle(
color: Colors.white,
),
),
),
),
],
),
SizedBox(height: SizeConfig.getHeight(10),),
],
),
),
Container(
color: Color(0xFFF2F2F2),
child: Padding(
padding: const EdgeInsets.only(left: 30,top: 20,bottom: 20,),
child: Row(
children: <Widget>[
ClipRRect(
borderRadius: BorderRadius.circular(10),
child: Image.asset(
"assets/images/demo_img.png",
width: 100.0,
height: 90.0,
fit: BoxFit.cover,
),
),
SizedBox(
width: SizeConfig.getWidth(10),
),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
'service : Spa Cenvaree',
style: TextStyle(
fontSize: SizeConfig.getFontSize(14),
color: Colors.black),
),
Text(
"Ladies' Day",
style: TextStyle(
fontSize: SizeConfig.getFontSize(14),
color: Colors.black),
),
SizedBox(height: SizeConfig.getHeight(5),),
Text(
"03/16/2019 12:49",
style: TextStyle(
fontSize: SizeConfig.getFontSize(14),
color: Color(0xFF6AB3AA),),
),
SizedBox(height: SizeConfig.getHeight(9),),
Row(children: <Widget>[
Icon(Icons.access_time,color: Color(0xFFEEAFB7),),
Text(' 150Min')
],)
],
),
],
),
),
),
],
),
),
);
}
}
import 'package:feelverapp/util/SizeConfig.dart';
import 'package:feelverapp/util/rating_star.dart';
import 'package:flutter/material.dart';
class ShopServicePage extends StatefulWidget {
@override
_ShopServicePageState createState() => _ShopServicePageState();
}
class _ShopServicePageState extends State<ShopServicePage> {
double rate1 = 0;
double rate2 = 0;
double rate3 = 0;
double rate4 = 0;
double rate5 = 0;
@override
Widget build(BuildContext context) {
SizeConfig(context);
return Container(
child: ListView(
children: <Widget>[
Card1(),
Card2(),
Card3(),
Card4(),
Card5(),
],
),
);
}
Widget Card1() {
return Card(
margin: EdgeInsets.only(
right: SizeConfig.getPadding(16),
left: SizeConfig.getPadding(16),
top: SizeConfig.getPadding(20),
bottom: SizeConfig.getPadding(10)),
child: Container(
margin: EdgeInsets.only(right: 15, left: 15, bottom: 20, top: 20),
// color: Colors.blueGrey,
child: Column(
children: <Widget>[
Row(
children: <Widget>[
Expanded(
flex: 3,
child: Container(
// color: Colors.blue,
height: SizeConfig.getHeight(250),
child: Image.asset(
"assets/images/demo_img.png",
fit: BoxFit.cover,
),
),
),
Expanded(
flex: 5,
child: Container(
margin: EdgeInsets.only(left: 15),
// color: Colors.yellow,
height: SizeConfig.getHeight(250),
child: Column(
children: <Widget>[
Container(
padding: EdgeInsets.all(10),
alignment: Alignment.topLeft,
// color: Colors.red,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
"Thai Body Balance",
style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(18),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
SizedBox(
height: 5,
),
Text(
"SPA Cenvaree @ Centara Grand CentralWorld Bangkok",
style: TextStyle(
color: Color(0xff969696),
fontSize: SizeConfig.getFontSize(11),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
],
),
),
Container(
padding: EdgeInsets.only(left: 10, right: 10),
alignment: Alignment.topLeft,
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Image.asset(
'assets/images/pin_drop.png',
height: 20,
width: 20,
),
SizedBox(
width: 5,
),
Text(
"พญาไท กรุงเทพฯ",
style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(13),
fontFamily: "SF_Pro_Text",
),
),
],
),
SizedBox(
height: 10,
),
Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Icon(
Icons.access_time,
color: Color(0xffEEAFB7),
),
SizedBox(
width: 5,
),
Text(
"150 Min",
style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(13),
fontFamily: "SF_Pro_Text",
),
),
],
),
SizedBox(
height: 10,
),
Row(
crossAxisAlignment: CrossAxisAlignment.end,
children: <Widget>[
Text(
"฿599.0",
style: TextStyle(
fontSize: SizeConfig.getFontSize(12),
decoration: TextDecoration.lineThrough,
),
),
SizedBox(
width: 15,
),
Text(
"฿199.00",
style: TextStyle(
color: Colors.red,
fontSize: SizeConfig.getFontSize(18),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
],
),
SizedBox(height: SizeConfig.getHeight(5),),
RatingStar(
isRating: true,
rate: rate1,
starSize: 20,
onChangeRate: (i){
setState(() {
rate1 = i;
print(i);
});
},
),
],
),
),
],
),
),
),
],
),
],
),
),
);
}
Widget Card2() {
return Card(
margin: EdgeInsets.only(
right: SizeConfig.getPadding(16),
left: SizeConfig.getPadding(16),
top: SizeConfig.getPadding(20),
bottom: SizeConfig.getPadding(10)),
child: Container(
margin: EdgeInsets.only(right: 15, left: 15, bottom: 20, top: 20),
// color: Colors.blueGrey,
child: Column(
children: <Widget>[
Row(
children: <Widget>[
Expanded(
flex: 3,
child: Container(
// color: Colors.blue,
height: SizeConfig.getHeight(250),
child: Image.asset(
"assets/images/demo_img.png",
fit: BoxFit.cover,
),
),
),
Expanded(
flex: 5,
child: Container(
margin: EdgeInsets.only(left: 15),
// color: Colors.yellow,
height: SizeConfig.getHeight(250),
child: Column(
children: <Widget>[
Container(
padding: EdgeInsets.all(10),
alignment: Alignment.topLeft,
// color: Colors.red,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
"Thai Body Balance",
style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(18),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
SizedBox(
height: 5,
),
Text(
"SPA Cenvaree @ Centara Grand CentralWorld Bangkok",
style: TextStyle(
color: Color(0xff969696),
fontSize: SizeConfig.getFontSize(11),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
],
),
),
Container(
padding: EdgeInsets.only(left: 10, right: 10),
alignment: Alignment.topLeft,
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Image.asset(
'assets/images/pin_drop.png',
height: 20,
width: 20,
),
SizedBox(
width: 5,
),
Text(
"พญาไท กรุงเทพฯ",
style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(13),
fontFamily: "SF_Pro_Text",
),
),
],
),
SizedBox(
height: 10,
),
Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Icon(
Icons.access_time,
color: Color(0xffEEAFB7),
),
SizedBox(
width: 5,
),
Text(
"150 Min",
style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(13),
fontFamily: "SF_Pro_Text",
),
),
],
),
SizedBox(
height: 10,
),
Row(
crossAxisAlignment: CrossAxisAlignment.end,
children: <Widget>[
Text(
"฿599.0",
style: TextStyle(
fontSize: SizeConfig.getFontSize(12),
decoration: TextDecoration.lineThrough,
),
),
SizedBox(
width: 15,
),
Text(
"฿199.00",
style: TextStyle(
color: Colors.red,
fontSize: SizeConfig.getFontSize(18),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
],
),
SizedBox(height: SizeConfig.getHeight(5),),
RatingStar(
isRating: true,
rate: rate2,
starSize: 20,
onChangeRate: (i){
setState(() {
rate2 = i;
print(i);
});
},
),
],
),
),
],
),
),
),
],
),
],
),
),
);
}
Widget Card3() {
return Card(
margin: EdgeInsets.only(
right: SizeConfig.getPadding(16),
left: SizeConfig.getPadding(16),
top: SizeConfig.getPadding(20),
bottom: SizeConfig.getPadding(10)),
child: Container(
margin: EdgeInsets.only(right: 15, left: 15, bottom: 20, top: 20),
// color: Colors.blueGrey,
child: Column(
children: <Widget>[
Row(
children: <Widget>[
Expanded(
flex: 3,
child: Container(
// color: Colors.blue,
height: SizeConfig.getHeight(250),
child: Image.asset(
"assets/images/demo_img.png",
fit: BoxFit.cover,
),
),
),
Expanded(
flex: 5,
child: Container(
margin: EdgeInsets.only(left: 15),
// color: Colors.yellow,
height: SizeConfig.getHeight(250),
child: Column(
children: <Widget>[
Container(
padding: EdgeInsets.all(10),
alignment: Alignment.topLeft,
// color: Colors.red,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
"Thai Body Balance",
style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(18),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
SizedBox(
height: 5,
),
Text(
"SPA Cenvaree @ Centara Grand CentralWorld Bangkok",
style: TextStyle(
color: Color(0xff969696),
fontSize: SizeConfig.getFontSize(11),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
],
),
),
Container(
padding: EdgeInsets.only(left: 10, right: 10),
alignment: Alignment.topLeft,
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Image.asset(
'assets/images/pin_drop.png',
height: 20,
width: 20,
),
SizedBox(
width: 5,
),
Text(
"พญาไท กรุงเทพฯ",
style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(13),
fontFamily: "SF_Pro_Text",
),
),
],
),
SizedBox(
height: 10,
),
Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Icon(
Icons.access_time,
color: Color(0xffEEAFB7),
),
SizedBox(
width: 5,
),
Text(
"150 Min",
style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(13),
fontFamily: "SF_Pro_Text",
),
),
],
),
SizedBox(
height: 10,
),
Row(
crossAxisAlignment: CrossAxisAlignment.end,
children: <Widget>[
Text(
"฿599.0",
style: TextStyle(
fontSize: SizeConfig.getFontSize(12),
decoration: TextDecoration.lineThrough,
),
),
SizedBox(
width: 15,
),
Text(
"฿199.00",
style: TextStyle(
color: Colors.red,
fontSize: SizeConfig.getFontSize(18),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
],
),
SizedBox(height: SizeConfig.getHeight(5),),
RatingStar(
isRating: true,
rate: rate3,
starSize: 20,
onChangeRate: (i){
setState(() {
rate3 = i;
print(i);
});
},
),
],
),
),
],
),
),
),
],
),
],
),
),
);
}
Widget Card4() {
return Card(
margin: EdgeInsets.only(
right: SizeConfig.getPadding(16),
left: SizeConfig.getPadding(16),
top: SizeConfig.getPadding(20),
bottom: SizeConfig.getPadding(10)),
child: Container(
margin: EdgeInsets.only(right: 15, left: 15, bottom: 20, top: 20),
// color: Colors.blueGrey,
child: Column(
children: <Widget>[
Row(
children: <Widget>[
Expanded(
flex: 3,
child: Container(
// color: Colors.blue,
height: SizeConfig.getHeight(250),
child: Image.asset(
"assets/images/demo_img.png",
fit: BoxFit.cover,
),
),
),
Expanded(
flex: 5,
child: Container(
margin: EdgeInsets.only(left: 15),
// color: Colors.yellow,
height: SizeConfig.getHeight(250),
child: Column(
children: <Widget>[
Container(
padding: EdgeInsets.all(10),
alignment: Alignment.topLeft,
// color: Colors.red,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
"Thai Body Balance",
style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(18),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
SizedBox(
height: 5,
),
Text(
"SPA Cenvaree @ Centara Grand CentralWorld Bangkok",
style: TextStyle(
color: Color(0xff969696),
fontSize: SizeConfig.getFontSize(11),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
],
),
),
Container(
padding: EdgeInsets.only(left: 10, right: 10),
alignment: Alignment.topLeft,
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Image.asset(
'assets/images/pin_drop.png',
height: 20,
width: 20,
),
SizedBox(
width: 5,
),
Text(
"พญาไท กรุงเทพฯ",
style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(13),
fontFamily: "SF_Pro_Text",
),
),
],
),
SizedBox(
height: 10,
),
Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Icon(
Icons.access_time,
color: Color(0xffEEAFB7),
),
SizedBox(
width: 5,
),
Text(
"150 Min",
style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(13),
fontFamily: "SF_Pro_Text",
),
),
],
),
SizedBox(
height: 10,
),
Row(
crossAxisAlignment: CrossAxisAlignment.end,
children: <Widget>[
Text(
"฿599.0",
style: TextStyle(
fontSize: SizeConfig.getFontSize(12),
decoration: TextDecoration.lineThrough,
),
),
SizedBox(
width: 15,
),
Text(
"฿199.00",
style: TextStyle(
color: Colors.red,
fontSize: SizeConfig.getFontSize(18),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
],
),
SizedBox(height: SizeConfig.getHeight(5),),
RatingStar(
isRating: true,
rate: rate4,
starSize: 20,
onChangeRate: (i){
setState(() {
rate4 = i;
print(i);
});
},
),
],
),
),
],
),
),
),
],
),
],
),
),
);
}
Widget Card5() {
return Card(
margin: EdgeInsets.only(
right: SizeConfig.getPadding(16),
left: SizeConfig.getPadding(16),
top: SizeConfig.getPadding(20),
bottom: SizeConfig.getPadding(10)),
child: Container(
margin: EdgeInsets.only(right: 15, left: 15, bottom: 20, top: 20),
// color: Colors.blueGrey,
child: Column(
children: <Widget>[
Row(
children: <Widget>[
Expanded(
flex: 3,
child: Container(
// color: Colors.blue,
height: SizeConfig.getHeight(250),
child: Image.asset(
"assets/images/demo_img.png",
fit: BoxFit.cover,
),
),
),
Expanded(
flex: 5,
child: Container(
margin: EdgeInsets.only(left: 15),
// color: Colors.yellow,
height: SizeConfig.getHeight(250),
child: Column(
children: <Widget>[
Container(
padding: EdgeInsets.all(10),
alignment: Alignment.topLeft,
// color: Colors.red,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
"Thai Body Balance",
style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(18),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
SizedBox(
height: 5,
),
Text(
"SPA Cenvaree @ Centara Grand CentralWorld Bangkok",
style: TextStyle(
color: Color(0xff969696),
fontSize: SizeConfig.getFontSize(11),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
],
),
),
Container(
padding: EdgeInsets.only(left: 10, right: 10),
alignment: Alignment.topLeft,
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Image.asset(
'assets/images/pin_drop.png',
height: 20,
width: 20,
),
SizedBox(
width: 5,
),
Text(
"พญาไท กรุงเทพฯ",
style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(13),
fontFamily: "SF_Pro_Text",
),
),
],
),
SizedBox(
height: 10,
),
Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Icon(
Icons.access_time,
color: Color(0xffEEAFB7),
),
SizedBox(
width: 5,
),
Text(
"150 Min",
style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(13),
fontFamily: "SF_Pro_Text",
),
),
],
),
SizedBox(
height: 10,
),
Row(
crossAxisAlignment: CrossAxisAlignment.end,
children: <Widget>[
Text(
"฿599.0",
style: TextStyle(
fontSize: SizeConfig.getFontSize(12),
decoration: TextDecoration.lineThrough,
),
),
SizedBox(
width: 15,
),
Text(
"฿199.00",
style: TextStyle(
color: Colors.red,
fontSize: SizeConfig.getFontSize(18),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
],
),
SizedBox(height: SizeConfig.getHeight(5),),
RatingStar(
isRating: true,
rate: rate5,
starSize: 20,
onChangeRate: (i){
setState(() {
rate5 = i;
print(i);
});
},
),
],
),
),
],
),
),
),
],
),
],
),
),
);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment