Commit b27b01e9 by Mobile : Ball (Apprentice)

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

# Conflicts:
#	lib/main.dart
#	lib/service/api.dart
parents e3282036 486f6e83
65bf9efbfad64e1b5e4b50eeaed8247f
\ No newline at end of file
13553ffa98d5b0aaa390f5899ef7a33e
\ No newline at end of file
......@@ -8,6 +8,7 @@ import 'package:feelverapp/ui/login/login.dart';
import 'package:feelverapp/ui/my_reviews/my_reviews_page.dart';
import 'package:feelverapp/ui/review_shop/review_shop_page.dart';
import 'package:feelverapp/ui/shop/shop_list.dart';
import 'package:feelverapp/ui/shop/shop_list_detail.dart';
import 'package:feelverapp/ui/shop/shop_main.dart';
import 'package:feelverapp/ui/splashscreen/splash_screen_page.dart';
......@@ -32,8 +33,9 @@ class MyApp extends StatelessWidget {
),
home: SplashScreenPage()
home: Favorite()
//home: EditProfile(),
......
class categoryModel {
List<DATA> dATA;
class CategoryModel {
List<Result> result;
categoryModel({this.dATA});
CategoryModel({this.result});
categoryModel.fromJson(Map<String, dynamic> json) {
if (json['DATA'] != null) {
dATA = new List<DATA>();
json['DATA'].forEach((v) {
dATA.add(new DATA.fromJson(v));
CategoryModel.fromJson(Map<String, dynamic> json) {
if (json['result'] != null) {
result = new List<Result>();
json['result'].forEach((v) {
result.add(new Result.fromJson(v));
});
}
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
if (this.dATA != null) {
data['DATA'] = this.dATA.map((v) => v.toJson()).toList();
if (this.result != null) {
data['result'] = this.result.map((v) => v.toJson()).toList();
}
return data;
}
}
class DATA {
class Result {
int id;
int parentId;
String name;
......@@ -29,16 +31,16 @@ class DATA {
String displayName;
String cover;
String detail;
dynamic type;
Null type;
String status;
int sortOrder;
dynamic storeId;
dynamic vendorId;
dynamic createdAt;
Null storeId;
Null vendorId;
Null createdAt;
String updatedAt;
String visibility;
DATA(
Result(
{this.id,
this.parentId,
this.name,
......@@ -55,7 +57,8 @@ class DATA {
this.updatedAt,
this.visibility});
DATA.fromJson(Map<String, dynamic> json) {
Result.fromJson(Map<String, dynamic> json) {
id = json['id'];
parentId = json['parent_id'];
name = json['name'];
......
......@@ -30,6 +30,7 @@ class Api<T> {
"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczpcL1wvYmFja2VuZC11YXQuZmVlbHZlci5jb21cL2FwaVwvbG9naW4iLCJpYXQiOjE1OTYxMDAzNTgsImV4cCI6MTYwMzMwMDM1OCwibmJmIjoxNTk2MTAwMzU4LCJqdGkiOiJ2YjA2S0FHR1JtZDFseEw1Iiwic3ViIjozNzMsInBydiI6Ijg3ZTBhZjFlZjlmZDE1ODEyZmRlYzk3MTUzYTE0ZTBiMDQ3NTQ2YWEifQ.UkY70AshvW5O4M63XY_Iv2IPBohSUUwnRF1oi46p2zs",
};
<<<<<<< HEAD
static final String baseApi = "https://backend-uat.feelver.com/api";
Future<Response<T>> deletefavorite(Object body) async {
......@@ -51,6 +52,9 @@ class Api<T> {
}
=======
static final String baseApi = "https://backend-uat.feelver.com/api/storage/";
>>>>>>> 486f6e832d80edd16c36936915cf4f3a1838c9a8
Future<Response<T>> favorite(Object body) async {
var _model;
var _fail;
......@@ -241,21 +245,18 @@ class Api<T> {
return result;
}
Future<Response<T>> category(Object body) async {
var _model;
var _fail;
var result;
print("Result test ");
// (body as Map)['lang'] = allTranslations.currentLanguage;
await _httpConnection("${this._baseApi}/category", this._headerApi, body)
.then((response) {
print("ผลลัพท์ เท่ากับ " "${response.body}");
print("ผลลัพ เท่ากับบบบ " + "${response.body}");
if (response.statusCode == 200) {
// Array to Map Json
Map<String, dynamic> myData = arrayToJson(response.body);
_model = categoryModel.fromJson(myData);
print('myModel ' + _model);
_model = CategoryModel.fromJson(json.decode(response.body));
} else {
_fail = FailModel.fromJson(json.decode(response.body));
}
......@@ -264,6 +265,10 @@ class Api<T> {
return result;
}
Future<Response<T>> shoplist(Object body) async {
var _model;
var _fail;
......
......@@ -11,10 +11,9 @@ class BookingDetail extends StatefulWidget {
class _BookingDetailState extends State<BookingDetail> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: _setupView(),
);
return ListView(padding: EdgeInsets.all(0), children: <Widget>[
_setupView(),
]);
}
_setupView() {
......@@ -29,20 +28,7 @@ class _BookingDetailState extends State<BookingDetail> {
height: SizeConfig.getHeight(450),
fit: BoxFit.cover,
),
Positioned(
top: SizeConfig.getPadding(44),
left: SizeConfig.getPadding(16),
child: InkWell(
onTap: () {
Navigator.pop(context);
},
child: Image.asset(
'assets/images/ic_back.png',
width: SizeConfig.getWidth(20),
height: SizeConfig.getWidth(20),
),
),
),
],
),
Container(
......@@ -143,11 +129,11 @@ class _BookingDetailState extends State<BookingDetail> {
SizedBox(
width: SizeConfig.getWidth(20),
),
ImageIcon(
AssetImage('assets/images/ic_twitter.png'),
color: Colors.grey,
size: SizeConfig.getFontSize(24),
),
// ImageIcon(
// AssetImage('assets/images/ic_twitter.png'),
// color: Colors.grey,
// size: SizeConfig.getFontSize(24),
// ),
],
),
SizedBox(
......
......@@ -21,7 +21,7 @@ class HomePresenter extends BasePresenter<HomePage> {
GetprofileModel getmodel;
LoginModel logmodel;
categoryModel CatModel;
CategoryModel CatModel;
TextEditingController searchCtrl = TextEditingController();
SearchhomeModel searchhomeModel;
......@@ -29,19 +29,21 @@ class HomePresenter extends BasePresenter<HomePage> {
HomePresenter(State<HomePage> state) : super(state);
Listitem() async {
_api = Api<categoryModel>();
_api = Api<CategoryModel>();
var res = await _api.category({
"access_type": "portal",
"access_type": "mobile",
});
if (res.fail == null){
// LoadingView(state.context).hide();
if (res.success != null){
setState(() {
CatModel = res.success;
print("dddddddddddddddd");
print('${CatModel.dATA[0].name}');
});
} else {
......@@ -50,21 +52,23 @@ class HomePresenter extends BasePresenter<HomePage> {
}
getSearch() async{
LoadingView(state.context).show();
_api = Api<SearchhomeModel>();
var res = await _api.homesearch({
"keyword_shop" : searchCtrl.text,
"lang" : "all",
"access" : "portal",
});
LoadingView(state.context).hide();
print('$searchCtrl');
if (res.fail == null) if (res.success.status) {
if (res.fail == null)
setState(() {
searchhomeModel = res.success;
category_model = res.success;
});
}
else{
}
......
import 'package:feelverapp/service/api.dart';
import 'package:feelverapp/ui/nearme/near_me_detail.dart';
import 'package:feelverapp/ui/nearme/near_me_list_presenter.dart';
import 'package:feelverapp/util/SizeConfig.dart';
......@@ -217,7 +218,7 @@ class _NearmeListState extends State<NearmeList> with TickerProviderStateMixin {
),
Expanded(
child: Image.network(
'https://backend.feelver.com/storage/' + img,
Api.baseApi + img,
// width: SizeConfig.getWidth(50),
height: SizeConfig.getHeight(160),
fit: BoxFit.fitHeight,
......
......@@ -345,6 +345,24 @@ class _ShopListState extends State<ShopList> with TickerProviderStateMixin {
fontWeight: FontWeight.w700),
),
),
Positioned(
left: SizeConfig.getPadding(280),
top: SizeConfig.getPadding(190),
child:Icon(Icons.star,color: Colors.orangeAccent,size: SizeConfig.getFontSize(18),),
),
Positioned(
left: SizeConfig.getPadding(300),
top: SizeConfig.getPadding(190),
child: Text(
"4.9",
textAlign: TextAlign.left,
style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(12),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w700),
),
),
],
),
),
......@@ -390,104 +408,8 @@ class _ShopListState extends State<ShopList> with TickerProviderStateMixin {
fontWeight: FontWeight.w700),
),
),
Row(
children: <Widget>[
SizedBox(
width: SizeConfig.getWidth(20),
),
Image.asset(
'assets/images/clock.png',
width: SizeConfig.getWidth(20),
height: SizeConfig.getWidth(20),
),
SizedBox(
width: SizeConfig.getWidth(10),
),
Text(
'90 นาที',
textAlign: TextAlign.left,
style: TextStyle(
color: Colors.black87,
fontSize: SizeConfig.getFontSize(12),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
SizedBox(
width: SizeConfig.getWidth(30),
),
Image.asset(
'assets/images/sell.png',
width: SizeConfig.getWidth(20),
height: SizeConfig.getWidth(20),
),
SizedBox(
width: SizeConfig.getWidth(5),
),
Text(
'฿1,599.00 ',
textAlign: TextAlign.left,
style: TextStyle(
color: Color.fromRGBO(238, 175, 183, 1),
fontSize: SizeConfig.getFontSize(12),
decoration: TextDecoration.lineThrough,
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
SizedBox(
width: SizeConfig.getWidth(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),
),
],
),
InkWell(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => ShopListDetail(),
),
);
},
child: Stack(
children: <Widget>[
Container(
child: Image.asset('assets/images/btn_shoplist.png'),
padding: EdgeInsets.only(
left: SizeConfig.getPadding(20),
right: SizeConfig.getPadding(20),
top: SizeConfig.getPadding(20),
bottom: SizeConfig.getPadding(20),
),
),
Container(
alignment: Alignment.center,
child: Text(
'หยิบใส่รถเข็น',
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.white,
fontSize: SizeConfig.getFontSize(14),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w700),
),
padding: EdgeInsets.only(
left: SizeConfig.getPadding(60),
right: SizeConfig.getPadding(20),
top: SizeConfig.getPadding(30),
bottom: SizeConfig.getPadding(20),
),
)
],
),
)
],
),
);
......
......@@ -47,12 +47,6 @@ class _ShopServicePageState extends State<ShopServicePage>
);
})
// ListView(
// children: <Widget>[
// myCard();
//
// ],
// ),
);
}
......@@ -82,9 +76,9 @@ class _ShopServicePageState extends State<ShopServicePage>
fit: BoxFit.cover,
)
: Image.network(
Api.baseApi+ image,
Api.baseApi + image,
fit: BoxFit.cover,
)),
),),
),
Expanded(
flex: 5,
......
import 'package:feelverapp/model/shoplistdetail/shoplistdetail_Model.dart';
import 'package:feelverapp/service/Loading.dart';
import 'package:feelverapp/service/api.dart';
import 'package:feelverapp/service/base_presenter.dart';
import 'package:feelverapp/ui/shop/shop_list_detail.dart';
......@@ -8,16 +9,24 @@ import 'package:flutter/material.dart';
class ShoplistdetailPresenter extends BasePresenter<ShopListDetail>{
Api _api;
final formkey = GlobalKey<FormState>();
shoplistdetailModel model;
ShoplistdetailPresenter(State<ShopListDetail> state) : super(state);
Detai() async{
Detai(String id) async{
_api = Api<shoplistdetailModel>();
var res = await _api.shoplistDetail({
"id": "406",
"id": id,
});
if (res.fail == null) {
setState(() {
model = res.success;
print("complete");
});
print('res Success');
} else {
print('res Fail');
......
import 'package:feelverapp/model/Login/login_model.dart';
import 'package:feelverapp/model/category/category_model.dart';
import 'package:feelverapp/model/editprofile/getprofilemodel.dart';
import 'package:feelverapp/model/home/home_model.dart';
import 'package:feelverapp/model/nearme/nearme_list_model.dart';
import 'package:feelverapp/service/Loading.dart';
import 'package:feelverapp/service/api.dart';
import 'package:feelverapp/service/base_presenter.dart';
import 'package:feelverapp/ui/home/home.dart';
import 'package:feelverapp/util/Accout_util.dart';
import 'package:flutter/material.dart';
import 'package:rflutter_alert/rflutter_alert.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:feelverapp/ui/shop/shop_Nearby_places.dart';
class ShopNearByPlacePresenter extends BasePresenter<ShopNearbyPlacesPage> {
final formkey = GlobalKey<FormState>();
Api _api;
String type = '3';
NearMeListModel getmodel ;
ShopNearByPlacePresenter(State<ShopNearbyPlacesPage> state) : super(state);
getnearme() async {
_api = Api<NearMeListModel>();
var res = await _api.getNearList({});
if(res.fail == null){
if(res.success.status){
setState((){
print("AAAA :${res.success}");
getmodel = res.success;
// print(getmodel.results.data.length);
// print("getmodel" + getmodel[0].results.data[0].storeName);
},);
}
}else{
Alert(
style: AlertStyle(
animationType: AnimationType.fromTop,
isCloseButton: false,
),
context: state.context,
title: "ไม่พบข้อมูล",
content: Icon(
Icons.warning,
color: Colors.orange,
size: 80,
),
buttons: [
DialogButton(
color: Color.fromRGBO(106, 179, 170, 1),
onPressed: () => Navigator.pop(state.context),
child: Text(
"ลองอีกครั้ง",
style: TextStyle(color: Colors.white, fontSize: 20),
),
)
]).show();
}
}
// getnearme() async {
// _api = Api<NearMeListModel>();
//
// var res = await _api.getNearList({});
// print("Hii" + getmodel[0].storeName);
// print("Hii2" + res.success);
//
// if (res.fail == null) {
// setState(() {
// NearMeListModel model = res.success;
//
//// getmodel = res.success
// }
// );
// } else {
// Alert(
// style: AlertStyle(
// animationType: AnimationType.fromTop,
// isCloseButton: false,
// ),
// context: state.context,
// title: "ไม่สามารถติดต่อ\nเซิร์ฟเวอร์ได้",
// content: Icon(
// Icons.warning,
// color: Colors.orange,
// size: 80,
// ),
// buttons: [
// DialogButton(
// color: Color.fromRGBO(106, 179, 170, 1),
// onPressed: () => Navigator.pop(state.context),
// child: Text(
// "ลองอีกครั้ง",
// style: TextStyle(color: Colors.white, fontSize: 20),
// ),
// )
// ]).show();
// }
// }
}
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