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(
padding: EdgeInsets.only(
top: SizeConfig.getPadding(16),
left: SizeConfig.getPadding(16),
right: SizeConfig.getPadding(16),
bottom: SizeConfig.getPadding(10),
),
child: Column(
children: <Widget>[ children: <Widget>[
_listItem( _listItem(
Image.asset( presenter.CatModel == null
? Image.asset(
'assets/images/banner_spa.png', 'assets/images/banner_spa.png',
height: SizeConfig.getWidth(130), height: SizeConfig.getWidth(130),
width: MediaQuery.of(context).size.width, width: MediaQuery.of(context).size.width,
fit: BoxFit.fill, fit: BoxFit.fill,
), )
presenter.CatModel.dATA[0].name, : Image.network(
'', presenter.CatModel.dATA[0].cover,
ShopList()),
_listItem(
Image.asset(
'assets/images/banner_massage.png',
height: SizeConfig.getWidth(130),
width: MediaQuery.of(context).size.width,
fit: BoxFit.fill,
),
presenter.CatModel.dATA[1].name,
'',
NearmeList()),
_listItem(
Image.asset(
'assets/images/banner_beauty.png',
height: SizeConfig.getWidth(130),
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), height: SizeConfig.getWidth(130),
width: MediaQuery.of(context).size.width, width: MediaQuery.of(context).size.width,
fit: BoxFit.fill, fit: BoxFit.fill,
), ),
'MOST POPULAR', presenter.CatModel.dATA[index].name,
'', '',
NearmeList()), ShopList(),
_listItem(
Image.asset(
'assets/images/banner_recommended.png',
height: SizeConfig.getWidth(130),
width: MediaQuery.of(context).size.width,
fit: BoxFit.fill,
), ),
'RECOMMEND',
'',
NearmeList()),
SizedBox( SizedBox(
height: 30, 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()
: ListView.builder(
itemCount: presenter.shopModel.dATA[0].storeCode.length,
itemBuilder: (context, i) { itemBuilder: (context, i) {
final widgetItem = (i == entries.length); // new RaisedButton(
new RaisedButton( // child: new Text(
child: new Text( // 'Load more ...',
'Load more ...', // style: new TextStyle(
style: new TextStyle( // color: Colors.black,
color: Colors.black, // fontWeight: FontWeight.bold,
fontWeight: FontWeight.bold, // ),
), // ),
), // onPressed: () {
onPressed: () { // var nextItems = new List<String>.generate(2, (i) {
var nextItems = new List<String>.generate(1, (i) { // var itemId = i + presenter.shopModel.dATA[i].storeName.length;
var itemId = i + entries.length; // return "Item $itemId";
return "Item $itemId"; // });
}); // setState(() {
setState(() { // entries.addAll(nextItems);
entries.addAll(nextItems); // });
}); // });
}); return _shopItem(
return _shopItem(entries[i]); 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,11 +301,18 @@ class _ShopListState extends State<ShopList> with TickerProviderStateMixin { ...@@ -306,11 +301,18 @@ 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
? 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',
height: SizeConfig.getWidth(180), height: SizeConfig.getWidth(180),
width: MediaQuery.of(context).size.width, width: MediaQuery.of(context).size.width,
fit: BoxFit.cover, 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),
...@@ -351,8 +353,18 @@ class _ShopListState extends State<ShopList> with TickerProviderStateMixin { ...@@ -351,8 +353,18 @@ 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(
color: Colors.grey,
fontSize: SizeConfig.getFontSize(12),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
)
: Text(
address,
textAlign: TextAlign.left, textAlign: TextAlign.left,
style: TextStyle( style: TextStyle(
color: Colors.grey, color: Colors.grey,
...@@ -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,9 +17,16 @@ class ShoplistPresenter extends BasePresenter<ShopList>{ ...@@ -18,9 +17,16 @@ 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');
} }
......
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