Commit ebc14b30 by Mobile : Ball (Apprentice)

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

# Conflicts:
#	lib/ui/payment/payment_detail.dart
#	lib/ui/payment/payment_page.dart
parents c79cd11e 703d01ea
import 'package:feelverapp/ui/booking/bookingform.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';
...@@ -50,7 +51,7 @@ class _BookingFlowState extends State<BookingFlow> { ...@@ -50,7 +51,7 @@ class _BookingFlowState extends State<BookingFlow> {
Navigator.push( Navigator.push(
context, context,
MaterialPageRoute( MaterialPageRoute(
builder: (context) => BookingFlow(), builder: (context) => BookingForm(),
), ),
); );
}, },
...@@ -236,8 +237,8 @@ class _BookingFlowState extends State<BookingFlow> { ...@@ -236,8 +237,8 @@ class _BookingFlowState extends State<BookingFlow> {
child: Image.network( child: Image.network(
'https://image.freepik.com/free-photo/girl-massage-spa-salon_110955-422.jpg', 'https://image.freepik.com/free-photo/girl-massage-spa-salon_110955-422.jpg',
fit: BoxFit.cover, fit: BoxFit.cover,
height: 100.0, height: SizeConfig.getHeight(100),
width: 100.0, width: SizeConfig.getWidth(100),
), ),
), ),
Column( Column(
...@@ -390,7 +391,7 @@ class _BookingFlowState extends State<BookingFlow> { ...@@ -390,7 +391,7 @@ class _BookingFlowState extends State<BookingFlow> {
), ),
), ),
SizedBox( SizedBox(
height: SizeConfig.getHeight(16), height: SizeConfig.getHeight(20),
), ),
], ],
), ),
...@@ -428,9 +429,12 @@ class _BookingFlowState extends State<BookingFlow> { ...@@ -428,9 +429,12 @@ class _BookingFlowState extends State<BookingFlow> {
fontWeight: FontWeight.w500), fontWeight: FontWeight.w500),
), ),
), ),
Row(
children: <Widget>[
SizedBox(width: SizeConfig.getWidth(24),),
Container( Container(
alignment: Alignment.topLeft, alignment: Alignment.topLeft,
width: MediaQuery.of(context).size.width / 3, width: MediaQuery.of(context).size.width / 4,
height: SizeConfig.getHeight(50), height: SizeConfig.getHeight(50),
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.circular(24), borderRadius: BorderRadius.circular(24),
...@@ -440,7 +444,54 @@ class _BookingFlowState extends State<BookingFlow> { ...@@ -440,7 +444,54 @@ class _BookingFlowState extends State<BookingFlow> {
alignment: Alignment.topCenter, alignment: Alignment.topCenter,
padding: EdgeInsets.only(top: SizeConfig.getPadding(10)), padding: EdgeInsets.only(top: SizeConfig.getPadding(10)),
child: Text( child: Text(
'ร้านแนะนำ', '60 นาที',
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.white,
fontSize: SizeConfig.getFontSize(14),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
),
),
SizedBox(width: SizeConfig.getWidth(16),),
Container(
alignment: Alignment.topLeft,
width: MediaQuery.of(context).size.width / 4,
height: SizeConfig.getHeight(50),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(24),
color: Color.fromRGBO(54, 148, 163, 1),
),
child: Container(
alignment: Alignment.topCenter,
padding: EdgeInsets.only(top: SizeConfig.getPadding(10)),
child: Text(
'90 นาที',
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.white,
fontSize: SizeConfig.getFontSize(14),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
),
), SizedBox(width: SizeConfig.getWidth(16),),
Container(
alignment: Alignment.topLeft,
width: MediaQuery.of(context).size.width / 4,
height: SizeConfig.getHeight(50),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(24),
color: Color.fromRGBO(54, 148, 163, 1),
),
child: Container(
alignment: Alignment.topCenter,
padding: EdgeInsets.only(top: SizeConfig.getPadding(10)),
child: Text(
'90 นาที',
textAlign: TextAlign.center, textAlign: TextAlign.center,
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.white,
...@@ -450,6 +501,9 @@ class _BookingFlowState extends State<BookingFlow> { ...@@ -450,6 +501,9 @@ class _BookingFlowState extends State<BookingFlow> {
), ),
), ),
), ),
],
),
SizedBox( SizedBox(
height: SizeConfig.getHeight(30), height: SizeConfig.getHeight(30),
), ),
......
import 'package:feelverapp/util/SizeConfig.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class BookingForm extends StatefulWidget {
@override
_BookingFormState createState() => _BookingFormState();
}
class _BookingFormState extends State<BookingForm> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('จอง'),
backgroundColor: Color.fromRGBO(54, 148, 163, 1),
),
body: _setupView(),
);
}
_setupView() {
return SingleChildScrollView(
child: Column(
children: <Widget>[
Container(
alignment: Alignment.topLeft,
padding: EdgeInsets.only(
top: SizeConfig.getPadding(16),
left: SizeConfig.getPadding(24),
),
child: Text(
'ข้อมูลแพ็คเกจที่คุณจอง',
textAlign: TextAlign.left,
style: TextStyle(
color: Color.fromRGBO(54, 148, 163, 1),
fontSize: SizeConfig.getFontSize(14),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
),
SizedBox(
height: SizeConfig.getHeight(16),
),
Container(
padding: EdgeInsets.only(
top: SizeConfig.getPadding(10),
left: SizeConfig.getPadding(24),
right: SizeConfig.getPadding(24),
),
child: Row(
children: <Widget>[
ClipRRect(
borderRadius: BorderRadius.circular(11.0),
child: Image.network(
'https://image.freepik.com/free-photo/girl-massage-spa-salon_110955-422.jpg',
fit: BoxFit.cover,
height: SizeConfig.getHeight(100),
width: SizeConfig.getWidth(100),
),
),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Container(
alignment: Alignment.topLeft,
child: Text(
'NATURE SENSE',
textAlign: TextAlign.left,
style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(12),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w700),
),
padding: EdgeInsets.only(
top: SizeConfig.getPadding(8),
left: SizeConfig.getPadding(16),
bottom: SizeConfig.getPadding(4)),
),
Container(
alignment: Alignment.topLeft,
child: Text(
'SPA Cenvaree @ Centara Grand',
textAlign: TextAlign.left,
maxLines: 2,
style: TextStyle(
color: Colors.grey,
fontSize: SizeConfig.getFontSize(12),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
padding: EdgeInsets.only(
top: SizeConfig.getPadding(4),
left: SizeConfig.getPadding(16),
bottom: SizeConfig.getPadding(4),
),
),
Row(
children: <Widget>[
Container(
padding: EdgeInsets.only(
top: SizeConfig.getPadding(0),
left: SizeConfig.getPadding(16),
bottom: SizeConfig.getPadding(4),
),
child: ImageIcon(
AssetImage('assets/images/clock.png'),
color: Colors.black87,
size: SizeConfig.getFontSize(16),
),
),
Container(
alignment: Alignment.topLeft,
child: Text(
'150 min',
textAlign: TextAlign.left,
maxLines: 2,
style: TextStyle(
color: Colors.black87,
fontSize: SizeConfig.getFontSize(12),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
padding: EdgeInsets.only(
top: SizeConfig.getPadding(4),
left: SizeConfig.getPadding(4),
bottom: SizeConfig.getPadding(8),
),
),
],
),
],
),
],
),
),
SizedBox(
height: SizeConfig.getHeight(24),
),
Container(
width: MediaQuery.of(context).size.width,
height: SizeConfig.getHeight(45),
decoration: BoxDecoration(
color: Color.fromRGBO(255, 0, 0, 1),
),
child: Container(
padding: EdgeInsets.only(top: SizeConfig.getPadding(6)),
child: Text(
'ได้รับราคาพิเศษนี้เมื่อชำระเงินผ่านออนไลน์ เท่านั้น !!',
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.white,
fontSize: SizeConfig.getFontSize(14),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
),
),
Container(
height: SizeConfig.getHeight(240),
child: Stack(
children: <Widget>[
Positioned(
top: SizeConfig.getPadding(12),
left: SizeConfig.getPadding(24),
child: Text(
'พนักงานบริการ',
textAlign: TextAlign.left,
style: TextStyle(
color: Colors.black54,
fontSize: SizeConfig.getFontSize(14),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w700),
),
),
Container(
alignment: Alignment.topLeft,
padding: EdgeInsets.only(
top: SizeConfig.getPadding(38),
left: SizeConfig.getPadding(16)),
child: Image.network(
'https://upload.wikimedia.org/wikipedia/commons/thumb/a/ac/No_image_available.svg/1200px-No_image_available.svg.png',
width: SizeConfig.getWidth(100),
height: SizeConfig.getHeight(100),
),
),
Positioned(
top: SizeConfig.getPadding(125),
left: SizeConfig.getPadding(24),
child: Text(
'คุณจองวัน เสาร์',
textAlign: TextAlign.left,
style: TextStyle(
color: Colors.black54,
fontSize: SizeConfig.getFontSize(14),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w700),
),
),
Positioned(
top: SizeConfig.getPadding(150),
left: SizeConfig.getPadding(24),
child: Text(
'31 / 03 / 2019',
textAlign: TextAlign.left,
style: TextStyle(
color: Colors.black87,
fontSize: SizeConfig.getFontSize(14),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w700),
),
),
Positioned(
top: SizeConfig.getPadding(75),
right: 24,
child: Container(
alignment: Alignment.topLeft,
padding: EdgeInsets.only(
top: SizeConfig.getPadding(4),
left: SizeConfig.getPadding(24)),
child: Text(
'ไม่ระบุ',
textAlign: TextAlign.left,
style: TextStyle(
color: Colors.black87,
fontSize: SizeConfig.getFontSize(14),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
),
),
],
),
),
Container(
color: Colors.black26,
height: 1,
margin: EdgeInsets.only(
top: SizeConfig.getPadding(0),
left: SizeConfig.getPadding(24),
right: SizeConfig.getPadding(24),
),
),
SizedBox(
height: SizeConfig.getHeight(16),
),
Row(
children: <Widget>[
SizedBox(
width: SizeConfig.getWidth(45),
),
Text(
'ราคา',
textAlign: TextAlign.left,
style: TextStyle(
color: Colors.black54,
fontSize: SizeConfig.getFontSize(14),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
SizedBox(
width: SizeConfig.getWidth(
MediaQuery.of(context).size.width / 2.5),
),
Text(
'฿1,599.00 ',
textAlign: TextAlign.left,
style: TextStyle(
color: Color.fromRGBO(253, 41, 86, 1),
fontSize: SizeConfig.getFontSize(22),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w700),
),
],
),
Container(
alignment: Alignment.topLeft,
padding: EdgeInsets.only(
top: SizeConfig.getPadding(16),
left: SizeConfig.getPadding(24)),
child: Text(
'กรุณากรอกข้อมูลของท่าน',
textAlign: TextAlign.left,
style: TextStyle(
color: Colors.black87,
fontSize: SizeConfig.getFontSize(22),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w700),
),
),
SizedBox(
height: SizeConfig.getHeight(24),
),
_formLogin(),
_promocode(),
_payment(),
],
),
);
}
Widget _formLogin() {
return Container(
child: Form(
child: Column(
children: <Widget>[
Container(
alignment: Alignment.topLeft,
padding: EdgeInsets.only(left: SizeConfig.getPadding(30)),
child: Text(
'ชื่อ',
style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(20),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
),
Padding(
padding: EdgeInsets.symmetric(
vertical: SizeConfig.getPadding(8.0),
horizontal: SizeConfig.getPadding(24),
),
child: Card(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(
SizeConfig.getPadding(50.0),
),
),
child: TextFormField(
// controller: loginBloc.emailCtrl,
// validator: loginBloc.validateField,
decoration: InputDecoration(
contentPadding: EdgeInsets.symmetric(
vertical: SizeConfig.getPadding(20),
horizontal: SizeConfig.getPadding(16),
),
// hintText:
// allTranslations.text(key2: 'email', key: 'login') +
// ' / ' +
// allTranslations.text(
// key2: 'tel_number', key: 'register'),
border: OutlineInputBorder(borderSide: BorderSide.none),
),
),
),
),
Container(
alignment: Alignment.topLeft,
padding: EdgeInsets.only(left: SizeConfig.getPadding(30)),
child: Text(
'นามสกุล',
style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(20),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
),
Padding(
padding: EdgeInsets.symmetric(
vertical: SizeConfig.getPadding(8.0),
horizontal: SizeConfig.getPadding(24)),
child: Card(
shape: RoundedRectangleBorder(
borderRadius:
BorderRadius.circular(SizeConfig.getPadding(50.0)),
),
child: TextFormField(
// controller: loginBloc.passCtrl,
// validator: loginBloc.validateField,
decoration: InputDecoration(
contentPadding: EdgeInsets.symmetric(
vertical: SizeConfig.getPadding(20),
horizontal: SizeConfig.getPadding(16),
),
// hintText:
// allTranslations.text(key2: 'password', key: 'login'),
border: OutlineInputBorder(borderSide: BorderSide.none),
),
obscureText: true,
),
),
),
Container(
alignment: Alignment.topLeft,
padding: EdgeInsets.only(left: SizeConfig.getPadding(30)),
child: Text(
'อีเมล์ *',
style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(20),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
),
Padding(
padding: EdgeInsets.symmetric(
vertical: SizeConfig.getPadding(8.0),
horizontal: SizeConfig.getPadding(24)),
child: Card(
shape: RoundedRectangleBorder(
borderRadius:
BorderRadius.circular(SizeConfig.getPadding(50.0)),
),
child: TextFormField(
// controller: loginBloc.passCtrl,
// validator: loginBloc.validateField,
decoration: InputDecoration(
contentPadding: EdgeInsets.symmetric(
vertical: SizeConfig.getPadding(20),
horizontal: SizeConfig.getPadding(16),
),
// hintText:
// allTranslations.text(key2: 'password', key: 'login'),
border: OutlineInputBorder(borderSide: BorderSide.none),
),
obscureText: true,
),
),
),
Container(
alignment: Alignment.topLeft,
padding: EdgeInsets.only(left: SizeConfig.getPadding(30)),
child: Text(
'หมายเลขโทรศัพท์มือถือ',
style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(20),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
),
Padding(
padding: EdgeInsets.symmetric(
vertical: SizeConfig.getPadding(8.0),
horizontal: SizeConfig.getPadding(24)),
child: Card(
shape: RoundedRectangleBorder(
borderRadius:
BorderRadius.circular(SizeConfig.getPadding(50.0)),
),
child: TextFormField(
// controller: loginBloc.passCtrl,
// validator: loginBloc.validateField,
decoration: InputDecoration(
contentPadding: EdgeInsets.symmetric(
vertical: SizeConfig.getPadding(20),
horizontal: SizeConfig.getPadding(16),
),
// hintText:
// allTranslations.text(key2: 'password', key: 'login'),
border: OutlineInputBorder(borderSide: BorderSide.none),
),
obscureText: true,
),
),
),
SizedBox(
height: SizeConfig.getWidth(20),
),
],
),
),
);
}
Widget _promocode() {
return Stack(
children: <Widget>[
Container(
width: MediaQuery.of(context).size.width,
height: SizeConfig.getHeight(100),
decoration: BoxDecoration(
color: Color.fromRGBO(54, 148, 163, 1),
),
child: Container(
alignment: Alignment.topLeft,
padding: EdgeInsets.only(
top: SizeConfig.getPadding(30),
left: SizeConfig.getPadding(24)),
child: Text(
'ใส่ promotion code',
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.white,
fontSize: SizeConfig.getFontSize(16),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
),
),
Container(
padding: EdgeInsets.only(
top: SizeConfig.getPadding(16),
left:
SizeConfig.getPadding(MediaQuery.of(context).size.width / 1.9),
right: SizeConfig.getPadding(24),
),
height: SizeConfig.getHeight(80),
child: Card(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(SizeConfig.getPadding(50.0)),
),
child: TextFormField(
// controller: loginBloc.passCtrl,
// validator: loginBloc.validateField,
decoration: InputDecoration(
contentPadding: EdgeInsets.symmetric(
vertical: SizeConfig.getPadding(20),
horizontal: SizeConfig.getPadding(16),
),
// hintText:
// allTranslations.text(key2: 'password', key: 'login'),
border: OutlineInputBorder(borderSide: BorderSide.none),
),
obscureText: true,
),
),
)
],
);
}
Widget _payment() {
return Container(
height: SizeConfig.getHeight(300),
child: Stack(
children: <Widget>[
Positioned(
top: SizeConfig.getPadding(35),
left: SizeConfig.getPadding(24),
child: Text(
'การชำระเงิน',
textAlign: TextAlign.left,
style: TextStyle(
color: Colors.black87,
fontSize: SizeConfig.getFontSize(22),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w700),
),
),
Positioned(
top: SizeConfig.getPadding(43),
right: SizeConfig.getPadding(24),
child: Text(
'เลือกช่องทางการชำระอื่น',
textAlign: TextAlign.left,
style: TextStyle(
color: Colors.black54,
fontSize: SizeConfig.getFontSize(14),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
),
Positioned(
top: SizeConfig.getPadding(183),
// right: SizeConfig.getPadding(24),
child: Container(
color: Colors.black26,
height: 1,
margin: EdgeInsets.only(
top: SizeConfig.getPadding(20),
left: SizeConfig.getPadding(24),
right: SizeConfig.getPadding(24),
),
),
)
],
),
);
}
}
import 'package:feelverapp/ui/login/login.dart'; import 'package:feelverapp/ui/login/login.dart';
import 'package:feelverapp/ui/menu/menu.dart'; import 'package:feelverapp/ui/menu/menu.dart';
import 'package:feelverapp/ui/mycart/mycart_page.dart';
import 'package:feelverapp/ui/nearme/near_me_list.dart'; import 'package:feelverapp/ui/nearme/near_me_list.dart';
import 'package:feelverapp/ui/reserve/reserve_list.dart'; import 'package:feelverapp/ui/reserve/reserve_list.dart';
import 'package:feelverapp/ui/shop/shop_list.dart'; import 'package:feelverapp/ui/shop/shop_list.dart';
...@@ -96,10 +95,6 @@ class _HomePageState extends State<HomePage> { ...@@ -96,10 +95,6 @@ class _HomePageState extends State<HomePage> {
height: SizeConfig.getWidth(24), height: SizeConfig.getWidth(24),
), ),
onPressed: () { onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => MyCart()),
);
// Navigator.push( // Navigator.push(
// context, // context,
// MaterialPageRoute(builder: (context) => LoginPage()), // MaterialPageRoute(builder: (context) => LoginPage()),
......
import 'package:feelverapp/ui/payment/payment_page.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import '../../util/SizeConfig.dart';
import '../home/home.dart';
import '../menu/menu.dart';
class MyCart extends StatefulWidget {
@override
_MyCartState createState() => _MyCartState();
}
class _MyCartState extends State<MyCart> {
bool checkBoxValue = false;
@override
Widget build(BuildContext context) {
SizeConfig(context);
return Scaffold(
body: _setupView(),
bottomNavigationBar: Container(
color: Color.fromRGBO(69, 85, 79, 1),
height: SizeConfig.getWidth(170),
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>[
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: 50),
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>[
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,
),
),
),
),
],
),
Expanded(
child: SingleChildScrollView(
child: Padding(
padding: const EdgeInsets.only(
left: 10,
right: 10,
top: 8,
bottom: 8,
),
child: Column(
children: <Widget>[
Card(
child: Padding(
padding: const EdgeInsets.only(
right: 10,
bottom: 25,
),
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Image.asset('assets/images/Thai massage.png'),
Padding(
padding: const EdgeInsets.only(left: 2, top: 5),
child: Container(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
'Ivory Relax and Spa',
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 16,
),
),
SizedBox(
height: SizeConfig.getHeight(15),
),
Text(
'นวดเเผนไทย',
style: TextStyle(
fontSize: 16,
color: Colors.black,
),
),
SizedBox(
height: SizeConfig.getHeight(15),
),
Row(
children: <Widget>[
Image.asset(
'assets/images/clock.png',
height: 20,
width: 20,
),
Text(
' 90 นาที',
style: TextStyle(
fontFamily: "SF_Pro_Text",
),
)
],
),
],
),
),
),
Container(
child: Column(
children: <Widget>[
Padding(
padding: const EdgeInsets.only(left: 73),
child: IconButton(
icon: Icon(
Icons.delete,
size: 25,
),
onPressed: () {}),
),
Row(
children: <Widget>[
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),
),
),
],
),
Text(
'฿1,000.00',
style: TextStyle(
fontSize: SizeConfig.getFontSize(20),
color: Color(0xFFFD2956),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.bold),
),
],
),
)
],
),
),
),
Card(
child: Padding(
padding: const EdgeInsets.only(
bottom: 25,
),
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Image.asset('assets/images/Thai massage.png'),
Padding(
padding: const EdgeInsets.only(left: 2, top: 5),
child: Container(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
'Sunshine Spa&Massage',
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 16),
),
SizedBox(
height: SizeConfig.getHeight(15),
),
Text(
'Footology',
style: TextStyle(
fontSize: 16,
color: Colors.black,
),
),
SizedBox(
height: SizeConfig.getHeight(15),
),
Row(
children: <Widget>[
Image.asset(
'assets/images/clock.png',
height: 20,
width: 20,
),
Text(
' 90 นาที',
style: TextStyle(
fontFamily: "SF_Pro_Text",
),
)
],
),
],
),
),
),
Container(
child: Column(
children: <Widget>[
Padding(
padding: const EdgeInsets.only(left: 25),
child: IconButton(
icon: Icon(
Icons.delete,
size: 25,
),
onPressed: () {}),
),
Row(
children: <Widget>[
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),
),
),
],
),
Text(
'฿1,200.00',
style: TextStyle(
fontSize: SizeConfig.getFontSize(20),
color: Color(0xFFFD2956),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.bold),
),
],
),
),
],
),
),
),
],
),
),
),
),
],
);
}
}
...@@ -37,9 +37,9 @@ class _NearmeDetailState extends State<NearmeDetail> { ...@@ -37,9 +37,9 @@ class _NearmeDetailState extends State<NearmeDetail> {
Container( Container(
height: SizeConfig.getWidth(460), height: SizeConfig.getWidth(460),
child: Image.network( child: Image.network(
'https://wallup.net/wp-content/uploads/2017/03/27/380781-portrait_display-abstract-digital_art-geometry-triangle-lines-748x1330.jpg', 'https://res.klook.com/image/upload/fl_lossy.progressive,q_65,f_auto/c_fill,w_1160,h_652/v1522127734/activities/e8mqwlctlagkmzjr4ba1.webp',
width: double.maxFinite, width: double.maxFinite,
fit: BoxFit.fitWidth, fit: BoxFit.cover,
), ),
), ),
Positioned( Positioned(
......
...@@ -93,6 +93,7 @@ class _ReserveDateTimeState extends State<ReserveDateTime> { ...@@ -93,6 +93,7 @@ class _ReserveDateTimeState extends State<ReserveDateTime> {
Image.network( Image.network(
'https://www.cancurreu.com/wp-content/uploads/can_curreu_hotel_ibiza_spa_tratamientos.jpg', 'https://www.cancurreu.com/wp-content/uploads/can_curreu_hotel_ibiza_spa_tratamientos.jpg',
width: MediaQuery.of(context).size.width, width: MediaQuery.of(context).size.width,
height: SizeConfig.getHeight(450),
fit: BoxFit.cover, fit: BoxFit.cover,
), ),
Positioned( Positioned(
......
...@@ -95,6 +95,7 @@ class _ReserveListState extends State<ReserveList> { ...@@ -95,6 +95,7 @@ class _ReserveListState extends State<ReserveList> {
Image.network( Image.network(
'https://www.cancurreu.com/wp-content/uploads/can_curreu_hotel_ibiza_spa_tratamientos.jpg', 'https://www.cancurreu.com/wp-content/uploads/can_curreu_hotel_ibiza_spa_tratamientos.jpg',
width: MediaQuery.of(context).size.width, width: MediaQuery.of(context).size.width,
height: SizeConfig.getHeight(450),
fit: BoxFit.cover, fit: BoxFit.cover,
), ),
Positioned( Positioned(
......
...@@ -56,18 +56,25 @@ flutter: ...@@ -56,18 +56,25 @@ flutter:
# in this "flutter" section. Each entry in this list should have a # in this "flutter" section. Each entry in this list should have a
# "family" key with the font family name, and a "fonts" key with a # "family" key with the font family name, and a "fonts" key with a
# list giving the asset and other descriptors for the font. For # list giving the asset and other descriptors for the font. For
# example: fonts:
# fonts: - family: SF_Pro_Text
# - family: Schyler fonts:
# fonts: - asset: assets/fonts/SF-Pro-Text-Regular.otf
# - asset: fonts/Schyler-Regular.ttf - asset: assets/fonts/SF-Pro-Text-Medium.otf
# - asset: fonts/Schyler-Italic.ttf weight: 500
# style: italic - asset: assets/fonts/SF-Pro-Text-Bold.otf
# - family: Trajan Pro weight: 700
# fonts: - family: sfproDisplay
# - asset: fonts/TrajanPro.ttf fonts:
# - asset: fonts/TrajanPro_Bold.ttf - asset: assets/fonts/SF-Pro-Display-Regular.otf
# weight: 700 - asset: assets/fonts/SF-Pro-Display-Medium.otf
# weight: 500
- asset: assets/fonts/SF-Pro-Display-Semibold.otf
weight: 600
- asset: assets/fonts/SF-Pro-Display-Bold.otf
weight: 700
# For details regarding fonts from package dependencies, # For details regarding fonts from package dependencies,
# see https://flutter.dev/custom-fonts/#from-packages # see https://flutter.dev/custom-fonts/#from-packages
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