no message

parent 6969e0c2
...@@ -263,91 +263,51 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin { ...@@ -263,91 +263,51 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
], ],
), ),
Expanded( Expanded(
child: SingleChildScrollView( child: Container(
child: presenter.CatModel == null ? Container() : _listView(), child: presenter.CatModel == null ? Container() : ListView.builder(
itemCount: presenter.CatModel.dATA[0].name.length,
itemBuilder: (context, i) {
return list(i);
}),
), ),
), ),
], ],
); );
} }
_listView() { list(int index) {
return Column( return Container(
children: <Widget>[ padding: EdgeInsets.only(
_listItem( top: SizeConfig.getPadding(16),
Image.asset( left: SizeConfig.getPadding(16),
'assets/images/banner_spa.png', right: SizeConfig.getPadding(16),
height: SizeConfig.getWidth(130), bottom: SizeConfig.getPadding(10),
width: MediaQuery.of(context).size.width, ),
fit: BoxFit.fill, child: Column(
), children: <Widget>[
presenter.CatModel.dATA[0].name, _listItem(
'', presenter.CatModel == null
ShopList()), ? Image.asset(
_listItem( 'assets/images/banner_spa.png',
Image.asset( height: SizeConfig.getWidth(130),
'assets/images/banner_massage.png', width: MediaQuery.of(context).size.width,
height: SizeConfig.getWidth(130), fit: BoxFit.fill,
width: MediaQuery.of(context).size.width, )
fit: BoxFit.fill, : Image.network(
), presenter.CatModel.dATA[0].cover,
presenter.CatModel.dATA[1].name, height: SizeConfig.getWidth(130),
'', width: MediaQuery.of(context).size.width,
NearmeList()), fit: BoxFit.fill,
_listItem( ),
Image.asset( presenter.CatModel.dATA[index].name,
'assets/images/banner_beauty.png', '',
height: SizeConfig.getWidth(130), ShopList(),
width: MediaQuery.of(context).size.width,
fit: BoxFit.fill,
),
presenter.CatModel.dATA[2].name,
'',
NearmeList()),
_listItem(
Image.asset(
'assets/images/banner_nearme.png',
height: SizeConfig.getWidth(130),
width: MediaQuery.of(context).size.width,
fit: BoxFit.fill,
),
'NEAR ME',
'',
NearmeList()),
_listItem(
Image.asset(
'assets/images/banner_promotion.png',
height: SizeConfig.getWidth(130),
width: MediaQuery.of(context).size.width,
fit: BoxFit.fill,
),
'PROMOTION',
'',
NearmeList()),
_listItem(
Image.asset(
'assets/images/banner_mostpopular.png',
height: SizeConfig.getWidth(130),
width: MediaQuery.of(context).size.width,
fit: BoxFit.fill,
), ),
'MOST POPULAR', SizedBox(
'', height: 30,
NearmeList()),
_listItem(
Image.asset(
'assets/images/banner_recommended.png',
height: SizeConfig.getWidth(130),
width: MediaQuery.of(context).size.width,
fit: BoxFit.fill,
), ),
'RECOMMEND', ],
'',
NearmeList()),
SizedBox(
height: 30,
), ),
],
); );
} }
...@@ -380,7 +340,7 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin { ...@@ -380,7 +340,7 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
child: Text( child: Text(
title, title,
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.black,
fontSize: SizeConfig.getFontSize(30), fontSize: SizeConfig.getFontSize(30),
fontWeight: FontWeight.w600, fontWeight: FontWeight.w600,
), ),
......
...@@ -6,14 +6,13 @@ import 'package:feelverapp/util/SizeConfig.dart'; ...@@ -6,14 +6,13 @@ 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';
class ShopList extends StatefulWidget { class ShopList extends StatefulWidget {
@override @override
_ShopListState createState() => _ShopListState(); _ShopListState createState() => _ShopListState();
} }
class _ShopListState extends State<ShopList> with TickerProviderStateMixin { class _ShopListState extends State<ShopList> with TickerProviderStateMixin {
var entries = new List<String>.generate(1, (i) => "Item $i"); // var entries = new List<String>.generate(2, (i) => "Item $i");
ShoplistPresenter presenter; ShoplistPresenter presenter;
...@@ -23,8 +22,6 @@ class _ShopListState extends State<ShopList> with TickerProviderStateMixin { ...@@ -23,8 +22,6 @@ class _ShopListState extends State<ShopList> with TickerProviderStateMixin {
presenter = ShoplistPresenter(this); presenter = ShoplistPresenter(this);
presenter.Listitem(); presenter.Listitem();
} }
@override @override
...@@ -256,11 +253,6 @@ class _ShopListState extends State<ShopList> with TickerProviderStateMixin { ...@@ -256,11 +253,6 @@ class _ShopListState extends State<ShopList> with TickerProviderStateMixin {
} }
_getlist() { _getlist() {
final List<String> entries = <String>[
'Ivory Relax and Spa',
'Sunshine Spa & Massage',
'Mandarin Ginger Spa'
];
return Expanded( return Expanded(
child: Container( child: Container(
padding: EdgeInsets.only( padding: EdgeInsets.only(
...@@ -269,36 +261,39 @@ class _ShopListState extends State<ShopList> with TickerProviderStateMixin { ...@@ -269,36 +261,39 @@ class _ShopListState extends State<ShopList> with TickerProviderStateMixin {
right: SizeConfig.getPadding(16), right: SizeConfig.getPadding(16),
bottom: SizeConfig.getPadding(10), bottom: SizeConfig.getPadding(10),
), ),
child: ListView.builder( child: presenter.shopModel == null
itemCount: entries.length, ? Container()
itemBuilder: (context, i) { : ListView.builder(
final widgetItem = (i == entries.length); itemCount: presenter.shopModel.dATA[0].storeCode.length,
new RaisedButton( itemBuilder: (context, i) {
child: new Text( // new RaisedButton(
'Load more ...', // child: new Text(
style: new TextStyle( // 'Load more ...',
color: Colors.black, // style: new TextStyle(
fontWeight: FontWeight.bold, // color: Colors.black,
), // fontWeight: FontWeight.bold,
), // ),
onPressed: () { // ),
var nextItems = new List<String>.generate(1, (i) { // onPressed: () {
var itemId = i + entries.length; // var nextItems = new List<String>.generate(2, (i) {
return "Item $itemId"; // var itemId = i + presenter.shopModel.dATA[i].storeName.length;
}); // return "Item $itemId";
setState(() { // });
entries.addAll(nextItems); // setState(() {
}); // entries.addAll(nextItems);
}); // });
return _shopItem(entries[i]); // });
return _shopItem(
}), presenter.shopModel.dATA[i].storeName,
presenter.shopModel.dATA[i].storeCover,
presenter.shopModel.dATA[i].address,
presenter.shopModel.dATA[i].detail == null ? "" : presenter.shopModel.dATA[i].detail);
}),
), ),
); );
} }
Widget _shopItem(String title) { Widget _shopItem(String title, String image, String address, String detail) {
return Card( return Card(
child: Column( child: Column(
children: <Widget>[ children: <Widget>[
...@@ -306,12 +301,19 @@ class _ShopListState extends State<ShopList> with TickerProviderStateMixin { ...@@ -306,12 +301,19 @@ class _ShopListState extends State<ShopList> with TickerProviderStateMixin {
height: SizeConfig.getHeight(270), height: SizeConfig.getHeight(270),
child: Stack( child: Stack(
children: <Widget>[ children: <Widget>[
Image.network( presenter.shopModel == null
'https://image.freepik.com/free-photo/girl-massage-spa-salon_110955-422.jpg', ? Image.network(
height: SizeConfig.getWidth(180), 'https://image.freepik.com/free-photo/girl-massage-spa-salon_110955-422.jpg',
width: MediaQuery.of(context).size.width, height: SizeConfig.getWidth(180),
fit: BoxFit.cover, width: MediaQuery.of(context).size.width,
), fit: BoxFit.cover,
)
: Image.network(
image,
height: SizeConfig.getWidth(180),
width: MediaQuery.of(context).size.width,
fit: BoxFit.cover,
),
Positioned( Positioned(
right: SizeConfig.getPadding(16), right: SizeConfig.getPadding(16),
top: SizeConfig.getPadding(16), top: SizeConfig.getPadding(16),
...@@ -351,15 +353,25 @@ class _ShopListState extends State<ShopList> with TickerProviderStateMixin { ...@@ -351,15 +353,25 @@ class _ShopListState extends State<ShopList> with TickerProviderStateMixin {
left: SizeConfig.getPadding(24), left: SizeConfig.getPadding(24),
right: SizeConfig.getPadding(24)), right: SizeConfig.getPadding(24)),
alignment: Alignment.topLeft, alignment: Alignment.topLeft,
child: Text( child: presenter.shopModel == null
'4/18, 4/21 BTS Nana Exit4 Sukhumvit Soi 8 , KlongToey Bangkok, Thailand 10110', ? Text(
textAlign: TextAlign.left, "",
style: TextStyle( textAlign: TextAlign.left,
color: Colors.grey, style: TextStyle(
fontSize: SizeConfig.getFontSize(12), color: Colors.grey,
fontFamily: "SF_Pro_Text", fontSize: SizeConfig.getFontSize(12),
fontWeight: FontWeight.w500), fontFamily: "SF_Pro_Text",
), fontWeight: FontWeight.w500),
)
: Text(
address,
textAlign: TextAlign.left,
style: TextStyle(
color: Colors.grey,
fontSize: SizeConfig.getFontSize(12),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
), ),
Container( Container(
padding: EdgeInsets.only( padding: EdgeInsets.only(
...@@ -369,7 +381,7 @@ class _ShopListState extends State<ShopList> with TickerProviderStateMixin { ...@@ -369,7 +381,7 @@ class _ShopListState extends State<ShopList> with TickerProviderStateMixin {
bottom: SizeConfig.getPadding(10)), bottom: SizeConfig.getPadding(10)),
alignment: Alignment.topLeft, alignment: Alignment.topLeft,
child: Text( child: Text(
'Body Scrub', detail,
textAlign: TextAlign.left, textAlign: TextAlign.left,
style: TextStyle( style: TextStyle(
color: Colors.black, color: Colors.black,
......
...@@ -4,11 +4,10 @@ import 'package:feelverapp/service/base_presenter.dart'; ...@@ -4,11 +4,10 @@ import 'package:feelverapp/service/base_presenter.dart';
import 'package:feelverapp/ui/shop/shop_list.dart'; import 'package:feelverapp/ui/shop/shop_list.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class ShoplistPresenter extends BasePresenter<ShopList> {
class ShoplistPresenter extends BasePresenter<ShopList>{
Api _api; Api _api;
final formkey = GlobalKey<FormState>(); final formkey = GlobalKey<FormState>();
shoplistModel shopModel;
ShoplistPresenter(State<ShopList> state) : super(state); ShoplistPresenter(State<ShopList> state) : super(state);
...@@ -18,11 +17,18 @@ class ShoplistPresenter extends BasePresenter<ShopList>{ ...@@ -18,11 +17,18 @@ class ShoplistPresenter extends BasePresenter<ShopList>{
"sort": "asc", "sort": "asc",
"lang": "en_US", "lang": "en_US",
"limit": "8", "limit": "8",
"offset": "10",
"near_location": "18.78635785784557,98.97981414149695",
}); });
if (res.fail == null) { if (res.fail == null) {
print('res Success'); setState(() {
shopModel = res.success;
print("gggggggggggg");
print('${shopModel.dATA[0].storeName}');
});
} else { } else {
print('res Fail'); print('res Fail');
} }
} }
} }
\ No newline at end of file
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