Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
feelver
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
2F-ART
feelver
Commits
44deca23
Commit
44deca23
authored
Jul 03, 2020
by
Mobile : Garn (Flutter)
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' of
https://gitlab.2fellows.com/art/feelver
into develop
parents
8482aedb
a70a6bcf
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
1056 additions
and
957 deletions
+1056
-957
lib/ui/favorite/favorite.dart
+407
-387
lib/ui/payment/payment_detail.dart
+312
-261
lib/ui/payment/payment_page.dart
+337
-309
No files found.
lib/ui/favorite/favorite.dart
View file @
44deca23
...
@@ -65,429 +65,449 @@ class _FavoriteState extends State<Favorite> {
...
@@ -65,429 +65,449 @@ class _FavoriteState extends State<Favorite> {
_setupView
()
{
_setupView
()
{
return
Column
(
return
Column
(
children:
<
Widget
>[
children:
<
Widget
>[
Stack
(
header
(),
children:
<
Widget
>[
containt
(),
Container
(
],
color:
Color
.
fromRGBO
(
69
,
85
,
79
,
1
),
);
height:
SizeConfig
.
getHeight
(
200
),
}
width:
MediaQuery
.
of
(
context
).
size
.
width
,
),
Widget
containt
()
{
Positioned
(
return
Expanded
(
top:
SizeConfig
.
getPadding
(
50
),
child:
SingleChildScrollView
(
left:
SizeConfig
.
getPadding
(
child:
Padding
(
MediaQuery
.
of
(
context
).
size
.
width
/
3.5
),
padding:
const
EdgeInsets
.
only
(
child:
Container
(
left:
10
,
alignment:
Alignment
.
topCenter
,
right:
10
,
child:
Image
.
asset
(
top:
8
,
'assets/images/feelver_banner.png'
,
bottom:
8
,
width:
MediaQuery
.
of
(
context
).
size
.
width
/
2.5
,
),
),
child:
Container
(
),
alignment:
FractionalOffset
.
topLeft
,
),
child:
Column
(
Positioned
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
top:
SizeConfig
.
getPadding
(
77
),
children:
<
Widget
>[
left:
SizeConfig
.
getPadding
(
16
),
list1
(),
child:
Container
(
list2
(),
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
,
Widget
list1
()
{
right:
10
,
return
Container
(
top:
8
,
child:
Column
(
bottom:
8
,
children:
<
Widget
>[
Row
(
children:
<
Widget
>[
Image
.
asset
(
'assets/images/no-image.png'
,
height:
SizeConfig
.
getHeight
(
80
),
width:
SizeConfig
.
getWidth
(
80
),
),
),
child:
Container
(
Padding
(
alignment:
FractionalOffset
.
topLeft
,
padding:
const
EdgeInsets
.
only
(
left:
8
),
child:
Column
(
child:
Container
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
child:
Column
(
children:
<
Widget
>[
crossAxisAlignment:
CrossAxisAlignment
.
start
,
Container
(
children:
<
Widget
>[
child:
Row
(
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
),
),
Checkbox
(
checkColor:
Color
(
0xFFEEAFB7
),
activeColor:
Colors
.
white
,
value:
checkBoxValue
,
onChanged:
(
bool
value
)
{
setState
(()
{
print
(
value
);
checkBoxValue
=
value
;
});
}),
],
),
Text
(
'นวดแผนไทย'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontFamily:
"SF_Pro_Text"
,
color:
Colors
.
black
,
),
),
SizedBox
(
height:
SizeConfig
.
getHeight
(
10
),
),
Row
(
children:
<
Widget
>[
children:
<
Widget
>[
Image
.
asset
(
Row
(
'assets/images/no-image.png'
,
children:
<
Widget
>[
height:
SizeConfig
.
getHeight
(
80
),
Image
.
asset
(
width:
SizeConfig
.
getWidth
(
80
),
'assets/images/clock.png'
,
height:
SizeConfig
.
getHeight
(
20
),
width:
SizeConfig
.
getWidth
(
20
),
),
Text
(
' 90 นาที'
,
style:
TextStyle
(
fontFamily:
"SF_Pro_Text"
,
),
),
SizedBox
(
width:
SizeConfig
.
getWidth
(
95
),
),
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
),
),
),
],
),
),
Padding
(
],
padding:
const
EdgeInsets
.
only
(
left:
8
),
),
child:
Container
(
SizedBox
(
child:
Column
(
height:
SizeConfig
.
getHeight
(
10
),
crossAxisAlignment:
CrossAxisAlignment
.
start
,
),
Row
(
children:
<
Widget
>[
Container
(
child:
Padding
(
padding:
const
EdgeInsets
.
only
(
left:
10
),
child:
Row
(
children:
<
Widget
>[
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
),
),
Checkbox
(
checkColor:
Color
(
0xFFEEAFB7
),
activeColor:
Colors
.
white
,
value:
checkBoxValue
,
onChanged:
(
bool
value
)
{
setState
(()
{
print
(
value
);
checkBoxValue
=
value
;
});
}),
],
),
Text
(
'นวดแผนไทย'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontFamily:
"SF_Pro_Text"
,
color:
Colors
.
black
,
),
),
SizedBox
(
SizedBox
(
height:
SizeConfig
.
getHeight
(
10
),
width:
SizeConfig
.
getPadding
(
20
),
height:
SizeConfig
.
getPadding
(
20
),
child:
RaisedButton
(
child:
Text
(
'-'
),
padding:
EdgeInsets
.
only
(
right:
0
),
onPressed:
()
{
setState
(()
{
a
=
a
-
1
;
});
},
),
),
),
Row
(
Padding
(
children:
<
Widget
>[
padding:
const
EdgeInsets
.
only
(
Row
(
right:
8
,
left:
8
),
children:
<
Widget
>[
child:
Text
(
Image
.
asset
(
'
$a
'
,
'assets/images/clock.png'
,
style:
TextStyle
(
height:
SizeConfig
.
getHeight
(
20
),
fontSize:
SizeConfig
.
getFontSize
(
12
),
width:
SizeConfig
.
getWidth
(
20
),
),
Text
(
' 90 นาที'
,
style:
TextStyle
(
fontFamily:
"SF_Pro_Text"
,
),
),
SizedBox
(
width:
SizeConfig
.
getWidth
(
110
),
),
Text
(
'฿1,599.00'
,
style:
TextStyle
(
decoration:
TextDecoration
.
lineThrough
,
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontFamily:
"SF_Pro_Text"
,
color:
Color
(
0xFFEEAFB7
),
),
),
],
),
),
]
,
)
,
),
),
SizedBox
(
SizedBox
(
height:
SizeConfig
.
getHeight
(
10
),
width:
SizeConfig
.
getPadding
(
20
),
),
height:
SizeConfig
.
getPadding
(
20
),
Row
(
child:
RaisedButton
(
children:
<
Widget
>[
child:
Text
(
'+'
),
Container
(
padding:
EdgeInsets
.
only
(
right:
0
),
child:
Padding
(
onPressed:
()
{
padding:
setState
(()
{
const
EdgeInsets
.
only
(
left:
10
),
a
=
a
+
1
;
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
(
85
),
),
Text
(
'฿1,200.00'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
20
),
color:
Color
(
0xFFFD2956
),
fontFamily:
"SF_Pro_Text"
,
fontWeight:
FontWeight
.
bold
,
),
),
],
),
),
],
],
),
),
),
),
),
),
SizedBox
(
width:
SizeConfig
.
getWidth
(
85
),
),
Text
(
'฿1,200.00'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
20
),
color:
Color
(
0xFFFD2956
),
fontFamily:
"SF_Pro_Text"
,
fontWeight:
FontWeight
.
bold
,
),
),
],
],
),
),
),
],
Divider
(
),
color:
Colors
.
black
,
),
height:
20
,
),
indent:
8
,
],
endIndent:
20
,
),
),
Divider
(
Container
(
color:
Colors
.
black
,
child:
Row
(
height:
40
,
indent:
8
,
endIndent:
20
,
),
],
),
);
}
Widget
list2
()
{
return
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
(
'Sunshine Spa & Massage'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontFamily:
"SF_Pro_Text"
,
fontWeight:
FontWeight
.
bold
,
color:
Colors
.
black
,
),
),
SizedBox
(
width:
SizeConfig
.
getWidth
(
20
),
),
Checkbox
(
checkColor:
Color
(
0xFFEEAFB7
),
activeColor:
Colors
.
white
,
value:
checkBoxValue
,
onChanged:
(
bool
value
)
{
setState
(()
{
print
(
value
);
checkBoxValue
=
value
;
});
}),
],
),
Text
(
'นวดแผนไทย'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontFamily:
"SF_Pro_Text"
,
color:
Colors
.
black
,
),
),
SizedBox
(
height:
SizeConfig
.
getHeight
(
10
),
),
Row
(
children:
<
Widget
>[
children:
<
Widget
>[
Image
.
asset
(
Row
(
'assets/images/no-image.png'
,
children:
<
Widget
>[
height:
SizeConfig
.
getHeight
(
80
),
Image
.
asset
(
width:
SizeConfig
.
getWidth
(
80
),
'assets/images/clock.png'
,
height:
20
,
width:
20
,
),
Text
(
' 90 นาที'
,
style:
TextStyle
(
fontFamily:
"SF_Pro_Text"
,
),
),
SizedBox
(
width:
SizeConfig
.
getWidth
(
95
),
),
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
),
),
),
],
),
),
Padding
(
],
padding:
const
EdgeInsets
.
only
(
left:
8
),
),
child:
Container
(
SizedBox
(
child:
Column
(
height:
SizeConfig
.
getHeight
(
10
),
crossAxisAlignment:
CrossAxisAlignment
.
start
,
),
Row
(
children:
<
Widget
>[
Container
(
child:
Padding
(
padding:
const
EdgeInsets
.
only
(
left:
10
),
child:
Row
(
children:
<
Widget
>[
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
),
),
Checkbox
(
checkColor:
Color
(
0xFFEEAFB7
),
activeColor:
Colors
.
white
,
value:
checkBoxValue
,
onChanged:
(
bool
value
)
{
setState
(()
{
print
(
value
);
checkBoxValue
=
value
;
});
}),
],
),
Text
(
'นวดแผนไทย'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontFamily:
"SF_Pro_Text"
,
color:
Colors
.
black
,
),
),
SizedBox
(
SizedBox
(
height:
SizeConfig
.
getHeight
(
10
),
width:
SizeConfig
.
getPadding
(
20
),
height:
SizeConfig
.
getPadding
(
20
),
child:
RaisedButton
(
child:
Text
(
'-'
),
padding:
EdgeInsets
.
only
(
right:
0
),
onPressed:
()
{
setState
(()
{
b
=
b
-
1
;
});
},
),
),
),
Row
(
Padding
(
children:
<
Widget
>[
padding:
const
EdgeInsets
.
only
(
Row
(
right:
8
,
left:
8
),
children:
<
Widget
>[
child:
Text
(
'
$b
'
),
Image
.
asset
(
'assets/images/clock.png'
,
height:
20
,
width:
20
,
),
Text
(
' 90 นาที'
,
style:
TextStyle
(
fontFamily:
"SF_Pro_Text"
,
),
),
SizedBox
(
width:
SizeConfig
.
getWidth
(
110
),
),
Text
(
'฿1,599.00'
,
style:
TextStyle
(
decoration:
TextDecoration
.
lineThrough
,
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontFamily:
"SF_Pro_Text"
,
color:
Color
(
0xFFEEAFB7
),
),
),
],
),
],
),
),
SizedBox
(
SizedBox
(
height:
SizeConfig
.
getHeight
(
10
),
width:
SizeConfig
.
getPadding
(
20
),
),
height:
SizeConfig
.
getPadding
(
20
),
Row
(
child:
RaisedButton
(
children:
<
Widget
>[
child:
Text
(
'+'
),
Container
(
padding:
EdgeInsets
.
only
(
right:
0
),
child:
Padding
(
onPressed:
()
{
padding:
setState
(()
{
const
EdgeInsets
.
only
(
left:
10
),
b
=
b
+
1
;
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
'
),
),
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
(
85
),
),
Text
(
'฿1,200.00'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
20
),
color:
Color
(
0xFFFD2956
),
fontFamily:
"SF_Pro_Text"
,
fontWeight:
FontWeight
.
bold
,
),
),
],
),
),
],
],
),
),
),
),
),
),
SizedBox
(
width:
SizeConfig
.
getWidth
(
85
),
),
Text
(
'฿1,200.00'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
20
),
color:
Color
(
0xFFFD2956
),
fontFamily:
"SF_Pro_Text"
,
fontWeight:
FontWeight
.
bold
,
),
),
],
],
),
),
),
],
Divider
(
),
color:
Colors
.
black
,
height:
40
,
indent:
8
,
endIndent:
20
,
),
],
),
),
),
),
],
),
Divider
(
color:
Colors
.
black
,
height:
40
,
indent:
8
,
endIndent:
20
,
),
],
),
);
}
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
,
),
),
),
),
],
),
);
);
}
}
}
}
lib/ui/payment/payment_detail.dart
View file @
44deca23
...
@@ -19,293 +19,344 @@ class _PaymentdetailState extends State<Paymentdetail> {
...
@@ -19,293 +19,344 @@ class _PaymentdetailState extends State<Paymentdetail> {
_setupView
()
{
_setupView
()
{
return
Column
(
return
Column
(
children:
<
Widget
>[
children:
<
Widget
>[
Stack
(
header
(),
children:
<
Widget
>[
containt
(),
Container
(
],
color:
Color
.
fromRGBO
(
69
,
85
,
79
,
1
),
);
height:
SizeConfig
.
getHeight
(
200
),
}
width:
MediaQuery
.
of
(
context
).
size
.
width
,
),
Widget
containt
()
{
Positioned
(
return
Expanded
(
top:
SizeConfig
.
getPadding
(
50
),
child:
SingleChildScrollView
(
left:
SizeConfig
.
getPadding
(
child:
Padding
(
MediaQuery
.
of
(
context
).
size
.
width
/
3.5
),
padding:
const
EdgeInsets
.
only
(
child:
Container
(
left:
10
,
alignment:
Alignment
.
topCenter
,
right:
10
,
child:
Image
.
asset
(
top:
8
,
'assets/images/feelver_banner.png'
,
bottom:
8
,
width:
MediaQuery
.
of
(
context
).
size
.
width
/
2.5
,
),
child:
Container
(
alignment:
FractionalOffset
.
topLeft
,
child:
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
<
Widget
>[
Text
(
'สั่งซื้อสำเร็จ'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontWeight:
FontWeight
.
bold
),
),
),
),
Text
(
),
'รายละเอียดการสั่งซื้อ'
,
Positioned
(
style:
TextStyle
(
top:
SizeConfig
.
getPadding
(
77
),
fontSize:
SizeConfig
.
getFontSize
(
16
),
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
,
),
),
),
),
),
Divider
(
color:
Colors
.
black
,
height:
40
,
indent:
10
,
endIndent:
20
,
),
list1
(),
list2
(),
],
),
),
Positioned
(
),
top:
SizeConfig
.
getPadding
(
77
),
),
right:
SizeConfig
.
getPadding
(
60
),
),
child:
Container
(
);
child:
Image
.
asset
(
}
'assets/images/ic_noti.png'
,
height:
SizeConfig
.
getWidth
(
30
),
Widget
list1
()
{
width:
SizeConfig
.
getWidth
(
30
),
return
Container
(
fit:
BoxFit
.
cover
,
child:
Column
(
children:
<
Widget
>[
Row
(
children:
<
Widget
>[
Text
(
'Order : 9S284-11506'
,
style:
TextStyle
(
color:
Colors
.
black
,
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontWeight:
FontWeight
.
bold
,
),
),
),
),
),
SizedBox
(
Positioned
(
width:
SizeConfig
.
getWidth
(
60
),
top:
SizeConfig
.
getPadding
(
77
),
),
right:
SizeConfig
.
getPadding
(
20
),
Text
(
child:
InkWell
(
'23.02.2020 08:57'
,
// onTap: () {
style:
TextStyle
(
// Navigator.push(
color:
Colors
.
black
,
// context,
fontSize:
SizeConfig
.
getFontSize
(
16
),
// 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
,
),
),
),
),
),
),
],
],
),
),
SizedBox
(
Expanded
(
height:
SizeConfig
.
getHeight
(
15
),
child:
SingleChildScrollView
(
),
child:
Padding
(
Row
(
padding:
const
EdgeInsets
.
only
(
children:
<
Widget
>[
left:
10
,
Image
.
asset
(
right:
10
,
'assets/images/no-image.png'
,
top:
8
,
height:
SizeConfig
.
getPadding
(
80
),
bottom:
8
,
width:
SizeConfig
.
getPadding
(
80
),
fit:
BoxFit
.
cover
,
),
),
child:
Container
(
Padding
(
alignment:
FractionalOffset
.
topLeft
,
padding:
const
EdgeInsets
.
only
(
left:
8
),
child:
Column
(
child:
Container
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
child:
Column
(
children:
<
Widget
>[
crossAxisAlignment:
CrossAxisAlignment
.
start
,
Text
(
children:
<
Widget
>[
'สั่งซื้อสำเร็จ'
,
Text
(
style:
TextStyle
(
'Ivory Relax and Spa'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontWeight:
FontWeight
.
bold
),
fontFamily:
"SF_Pro_Text"
,
),
fontWeight:
FontWeight
.
bold
,
Text
(
color:
Colors
.
black
,
'รายละเอียดการสั่งซื้อ'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
16
),
),
),
Divider
(
color:
Colors
.
black
,
height:
40
,
indent:
10
,
endIndent:
20
,
),
Row
(
children:
<
Widget
>[
Text
(
'Order : 9S284-11506'
,
style:
TextStyle
(
color:
Colors
.
black
,
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontWeight:
FontWeight
.
bold
,
),
),
SizedBox
(
width:
SizeConfig
.
getWidth
(
60
),
),
),
Text
(
),
'23.02.2020 08:57'
,
SizedBox
(
style:
TextStyle
(
height:
SizeConfig
.
getHeight
(
12
),
color:
Colors
.
black
,
),
fontSize:
SizeConfig
.
getFontSize
(
16
),
Text
(
),
'นวดแผนไทย'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontFamily:
"SF_Pro_Text"
,
color:
Colors
.
black
,
),
),
],
),
),
SizedBox
(
SizedBox
(
height:
SizeConfig
.
getHeight
(
15
),
height:
SizeConfig
.
getHeight
(
15
),
),
),
Row
(
Container
(
child:
Row
(
children:
<
Widget
>[
children:
<
Widget
>[
Image
.
asset
(
Text
(
'assets/images/no-image.png'
,
'฿1,200.00'
,
height:
SizeConfig
.
getPadding
(
80
),
style:
TextStyle
(
width:
SizeConfig
.
getPadding
(
80
),
fontSize:
SizeConfig
.
getFontSize
(
20
),
fit:
BoxFit
.
cover
,
color:
Color
(
0xFFFD2956
),
fontFamily:
"SF_Pro_Text"
,
fontWeight:
FontWeight
.
bold
,
),
),
),
Padding
(
SizedBox
(
padding:
const
EdgeInsets
.
only
(
left:
8
),
width:
SizeConfig
.
getWidth
(
120
),
child:
Container
(
),
child:
Column
(
Text
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
'X1'
,
children:
<
Widget
>[
style:
TextStyle
(
Text
(
color:
Color
(
0xFF9D9D9D
),
'Ivory Relax and Spa'
,
fontSize:
SizeConfig
.
getFontSize
(
20
),
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontFamily:
"SF_Pro_Text"
,
fontWeight:
FontWeight
.
bold
,
color:
Colors
.
black
,
),
),
SizedBox
(
height:
SizeConfig
.
getHeight
(
12
),
),
Text
(
'นวดแผนไทย'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontFamily:
"SF_Pro_Text"
,
color:
Colors
.
black
,
),
),
SizedBox
(
height:
SizeConfig
.
getHeight
(
15
),
),
Row
(
children:
<
Widget
>[
Text
(
'฿1,200.00'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
20
),
color:
Color
(
0xFFFD2956
),
fontFamily:
"SF_Pro_Text"
,
fontWeight:
FontWeight
.
bold
,
),
),
SizedBox
(
width:
SizeConfig
.
getWidth
(
120
),
),
Text
(
'X1'
,
style:
TextStyle
(
color:
Color
(
0xFF9D9D9D
),
fontSize:
SizeConfig
.
getFontSize
(
20
),
),
),
],
),
],
),
),
),
)
)
,
],
],
),
),
),
],
Divider
(
),
color:
Colors
.
black
,
),
height:
40
,
)
indent:
10
,
],
endIndent:
20
,
),
),
Divider
(
Container
(
color:
Colors
.
black
,
child:
Row
(
height:
40
,
indent:
10
,
endIndent:
20
,
),
],
),
);
}
Widget
list2
()
{
return
Container
(
child:
Column
(
children:
<
Widget
>[
Row
(
children:
<
Widget
>[
Text
(
'Order : 9S284-11506'
,
style:
TextStyle
(
color:
Colors
.
black
,
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontWeight:
FontWeight
.
bold
,
),
),
SizedBox
(
width:
SizeConfig
.
getWidth
(
60
),
),
Text
(
'23.02.2020 08:57'
,
style:
TextStyle
(
color:
Colors
.
black
,
fontSize:
SizeConfig
.
getFontSize
(
16
),
),
),
],
),
SizedBox
(
height:
SizeConfig
.
getHeight
(
15
),
),
Row
(
children:
<
Widget
>[
Image
.
asset
(
'assets/images/no-image.png'
,
height:
SizeConfig
.
getPadding
(
80
),
width:
SizeConfig
.
getPadding
(
80
),
fit:
BoxFit
.
cover
,
),
Padding
(
padding:
const
EdgeInsets
.
only
(
left:
8
),
child:
Container
(
child:
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
<
Widget
>[
Text
(
'Sunshine Spa & Massage'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontFamily:
"SF_Pro_Text"
,
fontWeight:
FontWeight
.
bold
,
color:
Colors
.
black
,
),
),
SizedBox
(
height:
SizeConfig
.
getHeight
(
12
),
),
Text
(
'Footology'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontFamily:
"SF_Pro_Text"
,
color:
Colors
.
black
,
),
),
SizedBox
(
height:
SizeConfig
.
getHeight
(
15
),
),
Row
(
children:
<
Widget
>[
children:
<
Widget
>[
Image
.
asset
(
Text
(
'assets/images/no-image.png'
,
'฿1,000.00'
,
height:
SizeConfig
.
getPadding
(
80
),
style:
TextStyle
(
width:
SizeConfig
.
getPadding
(
80
),
fontSize:
SizeConfig
.
getFontSize
(
20
),
fit:
BoxFit
.
cover
,
color:
Color
(
0xFFFD2956
),
fontFamily:
"SF_Pro_Text"
,
fontWeight:
FontWeight
.
bold
,
),
),
SizedBox
(
width:
SizeConfig
.
getWidth
(
120
),
),
),
Padding
(
Text
(
padding:
const
EdgeInsets
.
only
(
left:
8
),
'X1'
,
child:
Container
(
style:
TextStyle
(
child:
Column
(
color:
Color
(
0xFF9D9D9D
),
crossAxisAlignment:
CrossAxisAlignment
.
start
,
fontSize:
SizeConfig
.
getFontSize
(
20
),
children:
<
Widget
>[
Text
(
'Ivory Relax and Spa'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontFamily:
"SF_Pro_Text"
,
fontWeight:
FontWeight
.
bold
,
color:
Colors
.
black
,
),
),
SizedBox
(
height:
SizeConfig
.
getHeight
(
12
),
),
Text
(
'นวดแผนไทย'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontFamily:
"SF_Pro_Text"
,
color:
Colors
.
black
,
),
),
SizedBox
(
height:
SizeConfig
.
getHeight
(
15
),
),
Row
(
children:
<
Widget
>[
Text
(
'฿1,000.00'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
20
),
color:
Color
(
0xFFFD2956
),
fontFamily:
"SF_Pro_Text"
,
fontWeight:
FontWeight
.
bold
,
),
),
SizedBox
(
width:
SizeConfig
.
getWidth
(
120
),
),
Text
(
'X1'
,
style:
TextStyle
(
color:
Color
(
0xFF9D9D9D
),
fontSize:
SizeConfig
.
getFontSize
(
20
),
),
),
],
),
],
),
),
),
)
)
,
],
],
),
),
),
],
Divider
(
),
color:
Colors
.
black
,
),
height:
40
,
)
indent:
10
,
],
endIndent:
20
,
),
),
Divider
(
],
color:
Colors
.
black
,
height:
40
,
indent:
10
,
endIndent:
20
,
),
],
),
);
}
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
,
),
),
),
),
],
),
);
);
}
}
}
}
lib/ui/payment/payment_page.dart
View file @
44deca23
...
@@ -11,8 +11,6 @@ class Payment extends StatefulWidget {
...
@@ -11,8 +11,6 @@ class Payment extends StatefulWidget {
}
}
class
_PaymentState
extends
State
<
Payment
>
{
class
_PaymentState
extends
State
<
Payment
>
{
int
a
=
1
;
@override
@override
Widget
build
(
BuildContext
context
)
{
Widget
build
(
BuildContext
context
)
{
SizeConfig
(
context
);
SizeConfig
(
context
);
...
@@ -20,7 +18,7 @@ class _PaymentState extends State<Payment> {
...
@@ -20,7 +18,7 @@ class _PaymentState extends State<Payment> {
body:
_setupView
(),
body:
_setupView
(),
bottomNavigationBar:
Container
(
bottomNavigationBar:
Container
(
color:
Color
.
fromRGBO
(
69
,
85
,
79
,
1
),
color:
Color
.
fromRGBO
(
69
,
85
,
79
,
1
),
height:
SizeConfig
.
getWidth
(
1
7
0
),
height:
SizeConfig
.
getWidth
(
1
5
0
),
child:
Column
(
child:
Column
(
children:
<
Widget
>[
children:
<
Widget
>[
Container
(
Container
(
...
@@ -141,336 +139,366 @@ class _PaymentState extends State<Payment> {
...
@@ -141,336 +139,366 @@ class _PaymentState extends State<Payment> {
_setupView
()
{
_setupView
()
{
return
Column
(
return
Column
(
children:
<
Widget
>[
children:
<
Widget
>[
Stack
(
header
(),
children:
<
Widget
>[
containt
(),
Container
(
],
color:
Color
.
fromRGBO
(
69
,
85
,
79
,
1
),
);
height:
SizeConfig
.
getHeight
(
200
),
}
width:
MediaQuery
.
of
(
context
).
size
.
width
,
),
Widget
containt
()
{
Positioned
(
return
Expanded
(
top:
SizeConfig
.
getPadding
(
50
),
child:
SingleChildScrollView
(
left:
SizeConfig
.
getPadding
(
child:
Padding
(
MediaQuery
.
of
(
context
).
size
.
width
/
3.5
),
padding:
const
EdgeInsets
.
only
(
child:
Container
(
left:
10
,
alignment:
Alignment
.
topCenter
,
right:
10
,
child:
Image
.
asset
(
top:
8
,
'assets/images/feelver_banner.png'
,
bottom:
8
,
width:
MediaQuery
.
of
(
context
).
size
.
width
/
2.5
,
),
child:
Container
(
alignment:
FractionalOffset
.
topLeft
,
child:
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
<
Widget
>[
Text
(
'เเพ็คเกจที่คุณเลือก'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
18
),
fontWeight:
FontWeight
.
bold
),
),
SizedBox
(
height:
SizeConfig
.
getHeight
(
15
),
),
list1
(),
Divider
(
color:
Colors
.
black
,
height:
40
,
indent:
8
,
endIndent:
20
,
),
),
list2
(),
Divider
(
color:
Colors
.
black
,
height:
40
,
indent:
8
,
endIndent:
20
,
),
list3
(),
],
),
),
),
),
);
}
Widget
list1
()
{
return
Container
(
child:
Row
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
<
Widget
>[
Image
.
asset
(
'assets/images/no-image.png'
,
height:
SizeConfig
.
getPadding
(
80
),
width:
SizeConfig
.
getPadding
(
80
),
fit:
BoxFit
.
cover
,
),
Padding
(
padding:
const
EdgeInsets
.
only
(
left:
8
),
child:
Container
(
child:
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
<
Widget
>[
Text
(
'Ivory Relax and Spa'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontFamily:
"SF_Pro_Text"
,
fontWeight:
FontWeight
.
bold
,
color:
Colors
.
black
,
),
),
SizedBox
(
height:
SizeConfig
.
getHeight
(
12
),
),
Text
(
'นวดแผนไทย'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontFamily:
"SF_Pro_Text"
,
color:
Colors
.
black
,
),
),
SizedBox
(
height:
SizeConfig
.
getHeight
(
15
),
),
Row
(
children:
<
Widget
>[
Text
(
'฿1,200.00'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
20
),
color:
Color
(
0xFFFD2956
),
fontFamily:
"SF_Pro_Text"
,
fontWeight:
FontWeight
.
bold
,
),
),
SizedBox
(
width:
SizeConfig
.
getWidth
(
120
),
),
Text
(
'X1'
,
style:
TextStyle
(
color:
Color
(
0xFF9D9D9D
),
fontSize:
SizeConfig
.
getFontSize
(
20
),
),
),
],
),
],
),
),
),
),
Positioned
(
)
top:
SizeConfig
.
getPadding
(
77
),
],
left:
SizeConfig
.
getPadding
(
16
),
),
child:
Container
(
);
child:
GestureDetector
(
}
onTap:
()
{
showDialog
(
Widget
list2
()
{
context:
context
,
return
Container
(
builder:
(
BuildContext
context
)
{
child:
Row
(
return
NavDrawer
();
children:
<
Widget
>[
},
Image
.
asset
(
);
'assets/images/no-image.png'
,
},
height:
SizeConfig
.
getPadding
(
80
),
child:
Image
.
asset
(
width:
SizeConfig
.
getPadding
(
80
),
'assets/images/ic_menu.png'
,
fit:
BoxFit
.
cover
,
height:
SizeConfig
.
getWidth
(
24
),
),
width:
SizeConfig
.
getWidth
(
30
),
Padding
(
fit:
BoxFit
.
cover
,
padding:
const
EdgeInsets
.
only
(
left:
8
),
child:
Container
(
child:
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
<
Widget
>[
Text
(
'Sunshine Spa & Massage'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontFamily:
"SF_Pro_Text"
,
fontWeight:
FontWeight
.
bold
,
color:
Colors
.
black
,
),
),
),
SizedBox
(
height:
SizeConfig
.
getHeight
(
12
),
),
Text
(
'Footology'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontFamily:
"SF_Pro_Text"
,
color:
Colors
.
black
,
),
),
SizedBox
(
height:
SizeConfig
.
getHeight
(
15
),
),
Row
(
children:
<
Widget
>[
Text
(
'฿1,000.00'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
20
),
color:
Color
(
0xFFFD2956
),
fontFamily:
"SF_Pro_Text"
,
fontWeight:
FontWeight
.
bold
,
),
),
SizedBox
(
width:
SizeConfig
.
getWidth
(
120
),
),
Text
(
'X1'
,
style:
TextStyle
(
color:
Color
(
0xFF9D9D9D
),
fontSize:
SizeConfig
.
getFontSize
(
20
),
),
),
],
),
],
),
),
)
],
),
);
}
Widget
list3
()
{
return
Container
(
child:
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
<
Widget
>[
Text
(
'ช่องทางการชำระเงิน'
,
style:
TextStyle
(
color:
Colors
.
black
,
fontSize:
SizeConfig
.
getFontSize
(
18
),
fontWeight:
FontWeight
.
bold
,
),
),
Row
(
children:
<
Widget
>[
Image
.
asset
(
'assets/images/no-image.png'
,
height:
SizeConfig
.
getPadding
(
50
),
width:
SizeConfig
.
getPadding
(
50
),
),
Text
(
'บัตรเครดิต/บัตรเดบิต'
,
style:
TextStyle
(
color:
Colors
.
black
,
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontWeight:
FontWeight
.
bold
,
),
),
),
),
],
),
Divider
(
color:
Colors
.
black
,
height:
10
,
indent:
8
,
endIndent:
20
,
),
Row
(
children:
<
Widget
>[
Image
.
asset
(
'assets/images/no-image.png'
,
height:
SizeConfig
.
getPadding
(
50
),
width:
SizeConfig
.
getPadding
(
50
),
),
Text
(
'All Pay'
,
style:
TextStyle
(
color:
Colors
.
black
,
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontWeight:
FontWeight
.
bold
,
),
),
],
),
Divider
(
color:
Colors
.
black
,
height:
10
,
indent:
8
,
endIndent:
20
,
),
Row
(
children:
<
Widget
>[
Image
.
asset
(
'assets/images/no-image.png'
,
height:
SizeConfig
.
getPadding
(
50
),
width:
SizeConfig
.
getPadding
(
50
),
),
Text
(
'QF Pay'
,
style:
TextStyle
(
color:
Colors
.
black
,
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontWeight:
FontWeight
.
bold
,
),
),
],
),
Divider
(
color:
Colors
.
black
,
height:
10
,
indent:
8
,
endIndent:
20
,
),
],
),
);
}
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
),
Positioned
(
right:
SizeConfig
.
getPadding
(
60
),
top:
SizeConfig
.
getPadding
(
77
),
child:
Container
(
left:
SizeConfig
.
getPadding
(
16
),
child:
Container
(
child:
GestureDetector
(
onTap:
()
{
showDialog
(
context:
context
,
builder:
(
BuildContext
context
)
{
return
NavDrawer
();
},
);
},
child:
Image
.
asset
(
child:
Image
.
asset
(
'assets/images/ic_
noti
.png'
,
'assets/images/ic_
menu
.png'
,
height:
SizeConfig
.
getWidth
(
30
),
height:
SizeConfig
.
getWidth
(
24
),
width:
SizeConfig
.
getWidth
(
30
),
width:
SizeConfig
.
getWidth
(
30
),
fit:
BoxFit
.
cover
,
fit:
BoxFit
.
cover
,
),
),
),
),
),
),
Positioned
(
),
top:
SizeConfig
.
getPadding
(
77
),
Positioned
(
right:
SizeConfig
.
getPadding
(
20
),
top:
SizeConfig
.
getPadding
(
77
),
child:
InkWell
(
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: () {
// onTap: () {
// Navigator.push(
// Navigator.push(
// context,
// context,
// MaterialPageRoute(builder: (context) => LoginPage()),
// 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:
Container
(
child:
Container
(
alignment:
FractionalOffset
.
topLeft
,
child:
Image
.
asset
(
child:
Column
(
'assets/images/ic_userimg.png'
,
crossAxisAlignment:
CrossAxisAlignment
.
start
,
height:
SizeConfig
.
getWidth
(
30
),
children:
<
Widget
>[
width:
SizeConfig
.
getWidth
(
30
),
Text
(
fit:
BoxFit
.
cover
,
'เเพ็คเกจที่คุณเลือก'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
18
),
fontWeight:
FontWeight
.
bold
),
),
SizedBox
(
height:
SizeConfig
.
getHeight
(
15
),
),
Container
(
child:
Row
(
children:
<
Widget
>[
Image
.
asset
(
'assets/images/no-image.png'
,
height:
SizeConfig
.
getPadding
(
80
),
width:
SizeConfig
.
getPadding
(
80
),
fit:
BoxFit
.
cover
,
),
Padding
(
padding:
const
EdgeInsets
.
only
(
left:
8
),
child:
Container
(
child:
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
<
Widget
>[
Text
(
'Ivory Relax and Spa'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontFamily:
"SF_Pro_Text"
,
fontWeight:
FontWeight
.
bold
,
color:
Colors
.
black
,
),
),
SizedBox
(
height:
SizeConfig
.
getHeight
(
12
),
),
Text
(
'นวดแผนไทย'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontFamily:
"SF_Pro_Text"
,
color:
Colors
.
black
,
),
),
SizedBox
(
height:
SizeConfig
.
getHeight
(
15
),
),
Row
(
children:
<
Widget
>[
Text
(
'฿1,200.00'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
20
),
color:
Color
(
0xFFFD2956
),
fontFamily:
"SF_Pro_Text"
,
fontWeight:
FontWeight
.
bold
,
),
),
SizedBox
(
width:
SizeConfig
.
getWidth
(
120
),
),
Text
(
'X1'
,
style:
TextStyle
(
color:
Color
(
0xFF9D9D9D
),
fontSize:
SizeConfig
.
getFontSize
(
20
),
),
),
],
),
],
),
),
)
],
),
),
Divider
(
color:
Colors
.
black
,
height:
40
,
indent:
8
,
endIndent:
20
,
),
Container
(
child:
Row
(
children:
<
Widget
>[
Image
.
asset
(
'assets/images/no-image.png'
,
height:
SizeConfig
.
getPadding
(
80
),
width:
SizeConfig
.
getPadding
(
80
),
fit:
BoxFit
.
cover
,
),
Padding
(
padding:
const
EdgeInsets
.
only
(
left:
8
),
child:
Container
(
child:
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
<
Widget
>[
Text
(
'Sunshine Spa & Massage'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontFamily:
"SF_Pro_Text"
,
fontWeight:
FontWeight
.
bold
,
color:
Colors
.
black
,
),
),
SizedBox
(
height:
SizeConfig
.
getHeight
(
12
),
),
Text
(
'Footology'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontFamily:
"SF_Pro_Text"
,
color:
Colors
.
black
,
),
),
SizedBox
(
height:
SizeConfig
.
getHeight
(
15
),
),
Row
(
children:
<
Widget
>[
Text
(
'฿1,000.00'
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
20
),
color:
Color
(
0xFFFD2956
),
fontFamily:
"SF_Pro_Text"
,
fontWeight:
FontWeight
.
bold
,
),
),
SizedBox
(
width:
SizeConfig
.
getWidth
(
120
),
),
Text
(
'X1'
,
style:
TextStyle
(
color:
Color
(
0xFF9D9D9D
),
fontSize:
SizeConfig
.
getFontSize
(
20
),
),
),
],
),
],
),
),
)
],
),
),
Divider
(
color:
Colors
.
black
,
height:
40
,
indent:
8
,
endIndent:
20
,
),
Text
(
'ช่องทางการชำระเงิน'
,
style:
TextStyle
(
color:
Colors
.
black
,
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontWeight:
FontWeight
.
bold
,
),
),
Row
(
children:
<
Widget
>[
Image
.
asset
(
'assets/images/no-image.png'
,
height:
SizeConfig
.
getPadding
(
50
),
width:
SizeConfig
.
getPadding
(
50
),
),
Text
(
'บัตรเครดิต/บัตรเดบิต'
,
style:
TextStyle
(
color:
Colors
.
black
,
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontWeight:
FontWeight
.
bold
,
),
),
],
),
Divider
(
color:
Colors
.
black
,
height:
10
,
indent:
8
,
endIndent:
20
,
),
Row
(
children:
<
Widget
>[
Image
.
asset
(
'assets/images/no-image.png'
,
height:
SizeConfig
.
getPadding
(
50
),
width:
SizeConfig
.
getPadding
(
50
),
),
Text
(
'All Pay'
,
style:
TextStyle
(
color:
Colors
.
black
,
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontWeight:
FontWeight
.
bold
,
),
),
],
),
Divider
(
color:
Colors
.
black
,
height:
10
,
indent:
8
,
endIndent:
20
,
),
Row
(
children:
<
Widget
>[
Image
.
asset
(
'assets/images/no-image.png'
,
height:
SizeConfig
.
getPadding
(
50
),
width:
SizeConfig
.
getPadding
(
50
),
),
Text
(
'QF Pay'
,
style:
TextStyle
(
color:
Colors
.
black
,
fontSize:
SizeConfig
.
getFontSize
(
16
),
fontWeight:
FontWeight
.
bold
,
),
),
],
),
Divider
(
color:
Colors
.
black
,
height:
10
,
indent:
8
,
endIndent:
20
,
),
],
),
),
),
),
),
),
),
),
)
,
]
,
]
,
)
,
);
);
}
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment