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
9e266a4a
Commit
9e266a4a
authored
Aug 25, 2020
by
Mobile : Art
Browse files
Options
Browse Files
Download
Plain Diff
update
parents
b724f529
baadf91b
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
203 additions
and
37 deletions
+203
-37
lib/main.dart
+1
-0
lib/model/favorite/addfav_model.dart
+15
-0
lib/model/reviewshop/reviewshop_Model.dart
+0
-0
lib/service/api.dart
+48
-0
lib/ui/review_shop/review_shop_page.dart
+24
-5
lib/ui/review_shop/review_shop_presenter.dart
+32
-0
lib/ui/shop/shop_Nearby_places.dart
+1
-1
lib/ui/shop/shop_list_detail.dart
+25
-31
lib/ui/shop/shoplistdetail_presenter.dart
+57
-0
No files found.
lib/main.dart
View file @
9e266a4a
...
...
@@ -39,6 +39,7 @@ class MyApp extends StatelessWidget {
//home: EditProfile(),
);
...
...
lib/model/favorite/addfav_model.dart
0 → 100644
View file @
9e266a4a
class
AddfavModel
{
String
message
;
AddfavModel
({
this
.
message
});
AddfavModel
.
fromJson
(
Map
<
String
,
dynamic
>
json
)
{
message
=
json
[
'message'
];
}
Map
<
String
,
dynamic
>
toJson
()
{
final
Map
<
String
,
dynamic
>
data
=
new
Map
<
String
,
dynamic
>();
data
[
'message'
]
=
this
.
message
;
return
data
;
}
}
lib/model/reviewshop/reviewshop_Model.dart
0 → 100644
View file @
9e266a4a
This diff is collapsed.
Click to expand it.
lib/service/api.dart
View file @
9e266a4a
...
...
@@ -5,6 +5,7 @@ import 'package:feelverapp/model/Login/login_model.dart';
import
'package:feelverapp/model/base/base.dart'
;
import
'package:feelverapp/model/editprofile/getprofilemodel.dart'
;
import
'package:feelverapp/model/favorite/addfav_model.dart'
;
import
'package:feelverapp/model/favorite/delete_favorite_Model.dart'
;
import
'package:feelverapp/model/favorite/favorite_Model.dart'
;
...
...
@@ -17,6 +18,7 @@ import 'package:feelverapp/model/home_search/searchhomepage_model.dart';
import
'package:feelverapp/model/register/register_model.dart'
;
import
'package:feelverapp/model/category/category_model.dart'
;
import
'package:feelverapp/model/reviewshop/reviewshop_Model.dart'
;
import
'package:feelverapp/model/shoplist/shoplist_Model.dart'
;
import
'package:feelverapp/model/shoplistdetail/shoplistdetail_Model.dart'
;
import
'package:feelverapp/model/shopservice/shop_service_Model.dart'
;
...
...
@@ -36,7 +38,31 @@ class Api<T> {
static
final
String
baseApi
=
"https://backend-uat.feelver.com/api"
;
<<<<<<<
HEAD
static
final
String
baseApiforimage
=
"https://backend.feelver.com/storage/"
;
=======
static
final
String
baseApiforimage
=
"https://backend-uat.feelver.com/api/storage/"
;
Future
<
Response
<
T
>>
reviewshop
(
Object
body
)
async
{
var
_model
;
var
_fail
;
var
result
;
print
(
"this is body"
+
body
.
toString
());
await
_httpConnection
(
"
${this._baseApi}
/store/detail"
,
this
.
_headerApi
,
body
).
then
((
response
){
print
(
"ผลลัพท์ เท่ากับ"
+
"
${response.body}
"
);
if
(
response
.
statusCode
==
200
){
_model
=
ReviewShopModel
.
fromJson
(
json
.
decode
(
response
.
body
));
}
else
{
_fail
=
FailModel
.
fromJson
(
json
.
decode
(
response
.
body
));
}
result
=
new
Response
<
T
>(
_model
,
_fail
);
});
return
result
;
}
>>>>>>>
baadf91b2b909230e56f29edefbed7cfd2f5e949
Future
<
Response
<
T
>>
deletefavorite
(
Object
body
)
async
{
...
...
@@ -337,6 +363,28 @@ class Api<T> {
return
result
;
}
Future
<
Response
<
T
>>
addfav
(
Object
body
)
async
{
var
_model
;
var
_fail
;
var
result
;
await
_httpConnection
(
"
${this._baseApi}
/wish-list/add"
,
this
.
_headerApi
,
body
)
.
then
((
response
)
{
print
(
"ผลลัพท์ เท่ากับ "
"
${response.body}
"
);
if
(
response
.
statusCode
==
200
)
{
_model
=
AddfavModel
.
fromJson
(
json
.
decode
(
response
.
body
));
}
else
{
_fail
=
FailModel
.
fromJson
(
json
.
decode
(
response
.
body
));
}
result
=
new
Response
<
T
>(
_model
,
_fail
);
});
return
result
;
}
///api environment
Future
<
http
.
Response
>
_httpConnection
(
String
url
,
Map
<
String
,
String
>
headers
,
Object
body
)
async
{
...
...
lib/ui/review_shop/review_shop_page.dart
View file @
9e266a4a
import
'package:feelverapp/ui/review_shop/review_shop_presenter.dart'
;
import
'package:feelverapp/util/SizeConfig.dart'
;
import
'package:feelverapp/util/rating_star.dart'
;
import
'package:flutter/material.dart'
;
...
...
@@ -10,6 +11,23 @@ class ReviewShopPage extends StatefulWidget {
class
_ReviewShopPageState
extends
State
<
ReviewShopPage
>
{
double
rate1
=
0
;
ReviewshopPresenter
presenter
;
@override
void
initState
()
{
super
.
initState
();
presenter
=
ReviewshopPresenter
(
this
);
presenter
.
Commentlist
();
}
@override
void
dispose
()
{
super
.
dispose
();
}
@override
Widget
build
(
BuildContext
context
)
{
SizeConfig
(
context
);
...
...
@@ -26,6 +44,7 @@ class _ReviewShopPageState extends State<ReviewShopPage> {
fontFamily:
"SF_Pro_Text"
,
fontWeight:
FontWeight
.
w500
),
),
),
body:
_setupView
(),
);
...
...
@@ -46,10 +65,10 @@ class _ReviewShopPageState extends State<ReviewShopPage> {
Widget
containt
()
{
return
Expanded
(
child:
Container
(
child:
ListView
.
builder
(
itemCount:
3
,
child:
presenter
.
reviewShopModel
==
null
?
Container
():
ListView
.
builder
(
itemCount:
presenter
.
reviewShopModel
.
result
[
0
].
comment
.
length
,
itemBuilder:
(
context
,
i
)
{
return
list
();
return
list
(
presenter
.
reviewShopModel
.
result
[
i
].
comment
[
i
].
infoCustomer
.
name
);
}),
),
);
...
...
@@ -227,7 +246,7 @@ class _ReviewShopPageState extends State<ReviewShopPage> {
);
}
Widget
list
()
{
Widget
list
(
String
name
,
)
{
return
Card
(
child:
Container
(
// color: Colors.deepPurpleAccent,
...
...
@@ -263,7 +282,7 @@ class _ReviewShopPageState extends State<ReviewShopPage> {
child:
Row
(
children:
<
Widget
>[
Text
(
'Rattaya Pratumkan'
,
name
,
style:
TextStyle
(
fontSize:
SizeConfig
.
getFontSize
(
20
),
color:
Colors
.
black
),
...
...
lib/ui/review_shop/review_shop_presenter.dart
View file @
9e266a4a
import
'package:feelverapp/model/reviewshop/reviewshop_Model.dart'
;
import
'package:feelverapp/service/api.dart'
;
import
'package:feelverapp/service/base_presenter.dart'
;
import
'package:feelverapp/ui/review_shop/review_shop_page.dart'
;
import
'package:flutter/material.dart'
;
class
ReviewshopPresenter
extends
BasePresenter
<
ReviewShopPage
>{
Api
_api
;
final
formkey
=
GlobalKey
<
FormState
>();
ReviewShopModel
reviewShopModel
;
ReviewshopPresenter
(
State
<
ReviewShopPage
>
state
)
:
super
(
state
);
Commentlist
()
async
{
_api
=
Api
<
ReviewShopModel
>();
var
res
=
await
_api
.
reviewshop
({
"id"
:
"284"
,
});
if
(
res
.
fail
==
null
){
setState
(()
{
reviewShopModel
=
res
.
success
;
});
}
else
{
print
(
'res Fail'
);
}
}
}
\ No newline at end of file
lib/ui/shop/shop_Nearby_places.dart
View file @
9e266a4a
...
...
@@ -222,7 +222,7 @@ class _ShopNearbyPlacesPageState extends State<ShopNearbyPlacesPage>
context
,
CupertinoPageRoute
(
builder:
(
context
)
=>
ShopListDetail
(
id:
id
,
//
id: id,
),
),
);
...
...
lib/ui/shop/shop_list_detail.dart
View file @
9e266a4a
...
...
@@ -24,6 +24,7 @@ class _ShopListDetailState extends State<ShopListDetail> {
print
(
widget
.
id
);
presenter
=
ShoplistdetailPresenter
(
this
);
presenter
.
Detai
(
widget
.
id
);
presenter
.
getid
();
// List values = presenter.model.result[0].location.split(","); // split() will split from . and gives new List with separated elements.
//values.forEach(print);
...
...
@@ -142,32 +143,23 @@ class _ShopListDetailState extends State<ShopListDetail> {
focusColor:
Color
(
0xFFDD175F
),
splashColor:
Color
(
0xFFDD175F
),
onTap:
()
{
print
(
"add fav"
);
setState
(()
{
fav
?
fav
=
false
:
fav
=
true
;
});
showDialog
(
context:
context
,
builder:
(
context
)
{
Future
.
delayed
(
Duration
(
seconds:
1
),
()
{
Navigator
.
of
(
context
).
pop
(
true
);
});
return
AlertDialog
(
content:
ImageIcon
(
AssetImage
(
'assets/images/ic_fav_list.png'
),
color:
fav
?
Color
(
0xFFDD175F
):
Colors
.
grey
,
size:
SizeConfig
.
getFontSize
(
30
),
)
,
title:
Center
(
child:
Text
(
'บันทึกสำเร็จ'
)),
);
presenter
.
fav
?
presenter
.
fav
=
false
:
presenter
.
Addfav
(
widget
.
id
);
});
},
child:
ImageIcon
(
AssetImage
(
'assets/images/ic_fav_list.png'
),
color:
fav
?
Color
(
0xFFDD175F
):
Colors
.
white
,
color:
presenter
.
fav
?
Color
(
0xFFDD175F
):
Colors
.
white
,
size:
SizeConfig
.
getFontSize
(
30
),
),
),),
...
...
@@ -307,6 +299,7 @@ class _ShopListDetailState extends State<ShopListDetail> {
),
_detail
(),
_servicelist
(),
],
),
);
...
...
@@ -314,8 +307,16 @@ class _ShopListDetailState extends State<ShopListDetail> {
_servicelist
()
{
return
Column
(
return
Container
(
padding:
EdgeInsets
.
only
(
left:
10
,
right:
10
),
child:
Column
(
children:
<
Widget
>[
Container
(
padding:
EdgeInsets
.
only
(
top:
SizeConfig
.
getPadding
(
15
),
...
...
@@ -335,19 +336,10 @@ class _ShopListDetailState extends State<ShopListDetail> {
),
),
Column
(
children:
List
.
generate
(
presenter
.
model
.
result
[
0
].
openHour
.
length
,(
i
)
{
Container
(
height:
600
,
padding:
EdgeInsets
.
only
(
top:
SizeConfig
.
getPadding
(
0
),
left:
SizeConfig
.
getPadding
(
24
),
right:
SizeConfig
.
getPadding
(
24
),
bottom:
SizeConfig
.
getPadding
(
5
),
),
alignment:
Alignment
.
topLeft
,
child:
ListView
.
builder
(
itemCount:
presenter
.
model
.
result
[
0
].
openHour
.
length
,
itemBuilder:
(
context
,
i
)
{
return
Column
(
children:
[
SizedBox
(
height:
30
,),
Align
(
...
...
@@ -503,7 +495,9 @@ class _ShopListDetailState extends State<ShopListDetail> {
width:
MediaQuery
.
of
(
context
).
size
.
width
-
40
,
color:
Colors
.
grey
,
),
],
),
);
}
...
...
lib/ui/shop/shoplistdetail_presenter.dart
View file @
9e266a4a
import
'package:feelverapp/model/favorite/addfav_model.dart'
;
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'
;
import
'package:feelverapp/util/SizeConfig.dart'
;
import
'package:flutter/material.dart'
;
import
'package:shared_preferences/shared_preferences.dart'
;
import
'package:url_launcher/url_launcher.dart'
;
...
...
@@ -11,7 +14,13 @@ class ShoplistdetailPresenter extends BasePresenter<ShopListDetail>{
Api
_api
;
final
formkey
=
GlobalKey
<
FormState
>();
shoplistdetailModel
model
;
AddfavModel
addmodel
;
bool
fav
=
false
;
ShoplistdetailPresenter
(
State
<
ShopListDetail
>
state
)
:
super
(
state
);
String
uid
;
Detai
(
String
id
)
async
{
...
...
@@ -33,6 +42,54 @@ class ShoplistdetailPresenter extends BasePresenter<ShopListDetail>{
print
(
'res Fail'
);
}
}
getid
()
async
{
SharedPreferences
pref
=
await
SharedPreferences
.
getInstance
();
setState
(()
{
uid
=
pref
.
getString
(
'Id'
);
});
return
uid
;
}
Addfav
(
String
id
)
async
{
LoadingView
(
state
.
context
).
show
();
_api
=
Api
<
AddfavModel
>();
var
res
=
await
_api
.
addfav
({
"customer_id"
:
uid
,
"store_id"
:
id
,
"vendor_id"
:
id
,
"product_id"
:
id
,
});
LoadingView
(
state
.
context
).
hide
();
if
(
res
.
fail
==
null
)
{
setState
(()
{
addmodel
=
res
.
success
;
print
(
"complete"
);
fav
=
true
;
});
showDialog
(
context:
state
.
context
,
builder:
(
context
)
{
Future
.
delayed
(
Duration
(
seconds:
1
),
()
{
Navigator
.
of
(
context
).
pop
(
true
);
});
return
AlertDialog
(
content:
ImageIcon
(
AssetImage
(
'assets/images/ic_fav_list.png'
),
color:
fav
?
Color
(
0xFFDD175F
):
Colors
.
grey
,
size:
SizeConfig
.
getFontSize
(
30
),
)
,
title:
Center
(
child:
Text
(
'บันทึกสำเร็จ'
)),
);
});
}
else
{
print
(
'res Fail'
);
}
}
gotoDirection
(
String
lat
,
String
lng
){
print
(
"debug"
);
...
...
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