Commit b724f529 by Mobile : Art

update

parent 07a87a4b
...@@ -15,6 +15,7 @@ import 'package:feelverapp/ui/splashscreen/splash_screen_page.dart'; ...@@ -15,6 +15,7 @@ import 'package:feelverapp/ui/splashscreen/splash_screen_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'ui/edit_profile/edit_profile.dart'; import 'ui/edit_profile/edit_profile.dart';
import 'ui/shop/shop_main.dart';
void main() => runApp(MyApp()); void main() => runApp(MyApp());
...@@ -33,7 +34,7 @@ class MyApp extends StatelessWidget { ...@@ -33,7 +34,7 @@ class MyApp extends StatelessWidget {
), ),
home: Favorite() home: MainShop()
......
...@@ -22,6 +22,8 @@ import 'package:feelverapp/model/shoplistdetail/shoplistdetail_Model.dart'; ...@@ -22,6 +22,8 @@ import 'package:feelverapp/model/shoplistdetail/shoplistdetail_Model.dart';
import 'package:feelverapp/model/shopservice/shop_service_Model.dart'; import 'package:feelverapp/model/shopservice/shop_service_Model.dart';
import 'package:http/http.dart' as http; import 'package:http/http.dart' as http;
import '../model/booking_detail/booking_detail_model.dart';
class Api<T> { class Api<T> {
final String _baseApi = "https://backend-uat.feelver.com/api"; final String _baseApi = "https://backend-uat.feelver.com/api";
...@@ -34,7 +36,7 @@ class Api<T> { ...@@ -34,7 +36,7 @@ class Api<T> {
static final String baseApi = "https://backend-uat.feelver.com/api"; static final String baseApi = "https://backend-uat.feelver.com/api";
static final String baseApiforimage = "https://backend-uat.feelver.com/api/storage/"; static final String baseApiforimage = "https://backend.feelver.com/storage/";
Future<Response<T>> deletefavorite(Object body) async { Future<Response<T>> deletefavorite(Object body) async {
...@@ -162,9 +164,33 @@ class Api<T> { ...@@ -162,9 +164,33 @@ class Api<T> {
result = new Response<T>(_model, _fail); result = new Response<T>(_model, _fail);
}); });
return result; return result;
// await _httpConnection( }
// "${this._baseApi}product/getListsStoreFormat", this._headerApi, body)
Future<Response<T>> getProductDetail(Object body) async{
var _model;
var _fail;
var result;
print("this is body " + body.toString());
// (body as Map)['lang'] = allTranslations.currentLanguage;
await http.get(Uri.encodeFull("https://backend.feelver.com/api/portal/product/?id=5"), headers: this._headerApi ).then((response) {
print("ผลลัพ เท่ากับบบบ2 " + "${response.body}");
print("statusCode=${response.statusCode}");
if (response.statusCode == 200) {
print("INif");
_model = ProductModel.fromJson(json.decode(response.body));
} else {
_fail = FailModel.fromJson(json.decode(response.body));
}
print("return");
result = new Response<T>(_model, _fail);
});
return result;
} }
Future<Response<T>> editProfile(Object body) async { Future<Response<T>> editProfile(Object body) async {
......
import 'package:feelverapp/ui/booking/booking_detail_presenter.dart';
import 'package:feelverapp/ui/booking/bookingform.dart'; import 'package:feelverapp/ui/booking/bookingform.dart';
import 'package:feelverapp/util/SizeConfig.dart'; 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';
import 'package:feelverapp/util/Util.dart';
import '../splashscreen/splash_screen_page.dart';
class BookingDetail extends StatefulWidget { class BookingDetail extends StatefulWidget {
int getid;
BookingDetail(
{Key key,
this.getid})
: super(key: key);
@override @override
_BookingDetailState createState() => _BookingDetailState(); _BookingDetailState createState() => _BookingDetailState();
} }
class _BookingDetailState extends State<BookingDetail> { class _BookingDetailState extends State<BookingDetail> {
BookingDetailtPresenter presenter;
@override
void initState() {
super.initState();
// widget.getid = 55;
// print(widget.getid);
presenter = BookingDetailtPresenter(this);
setState(() {
presenter.getid = widget.getid;
});
presenter.getDetail();
}
@override
void dispose() {
super.dispose();
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return ListView(padding: EdgeInsets.all(0), children: <Widget>[ return presenter.getmodel == null
? Container(
child: Center(
child: CircularProgressIndicator(
valueColor: new AlwaysStoppedAnimation<Color>(Colors.teal),
),
),
)
: Container(
child: ListView(
padding: EdgeInsets.all(0),
children: <Widget>[
_setupView(), _setupView(),
]); ],
),
);
} }
_setupView() { _setupView() {
...@@ -22,22 +67,29 @@ class _BookingDetailState extends State<BookingDetail> { ...@@ -22,22 +67,29 @@ class _BookingDetailState extends State<BookingDetail> {
children: <Widget>[ children: <Widget>[
Stack( Stack(
children: <Widget>[ children: <Widget>[
Image.network( presenter.getmodel.results.data[0].cover == null
'https://www.cancurreu.com/wp-content/uploads/can_curreu_hotel_ibiza_spa_tratamientos.jpg', ? Image.asset(
'assets/images/demo_img.png',
width: SizeConfig.getWidth(110),
height: SizeConfig.getHeight(150),
fit: BoxFit.fitWidth,
)
: Image.network(
presenter.getmodel.results.data[0].cover,
width: MediaQuery.of(context).size.width, width: MediaQuery.of(context).size.width,
height: SizeConfig.getHeight(450), height: SizeConfig.getHeight(450),
fit: BoxFit.cover, fit: BoxFit.cover,
), ),
], ],
), ),
Container( presenter.getmodel.results.data[0].duration == null
? Container(
padding: EdgeInsets.only( padding: EdgeInsets.only(
left: SizeConfig.getPadding(24), left: SizeConfig.getPadding(24),
top: SizeConfig.getPadding(16)), top: SizeConfig.getPadding(16)),
alignment: Alignment.topLeft, alignment: Alignment.topLeft,
child: Text( child: Text(
'4 ธ.ค. 2561 18:55 น.', '',
textAlign: TextAlign.left, textAlign: TextAlign.left,
style: TextStyle( style: TextStyle(
color: Colors.black54, color: Colors.black54,
...@@ -45,15 +97,46 @@ class _BookingDetailState extends State<BookingDetail> { ...@@ -45,15 +97,46 @@ class _BookingDetailState extends State<BookingDetail> {
fontFamily: "SF_Pro_Text", fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500), fontWeight: FontWeight.w500),
), ),
)
: Container(
padding: EdgeInsets.only(
left: SizeConfig.getPadding(24),
top: SizeConfig.getPadding(16)),
alignment: Alignment.topLeft,
child: Text(
presenter.getmodel.results.data[0].duration,
textAlign: TextAlign.left,
style: TextStyle(
color: Colors.black54,
fontSize: SizeConfig.getFontSize(11),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
), ),
Container( ),
presenter.getmodel.results.data[0].name == null
? Container(
padding: EdgeInsets.only(
left: SizeConfig.getPadding(24),
top: SizeConfig.getPadding(16)),
alignment: Alignment.topLeft,
child: Text(
'-',
textAlign: TextAlign.left,
style: TextStyle(
color: Colors.black54,
fontSize: SizeConfig.getFontSize(11),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
)
: Container(
padding: EdgeInsets.only( padding: EdgeInsets.only(
left: SizeConfig.getPadding(24), left: SizeConfig.getPadding(24),
top: SizeConfig.getPadding(3), top: SizeConfig.getPadding(8),
bottom: SizeConfig.getPadding(8)), bottom: SizeConfig.getPadding(16)),
alignment: Alignment.topLeft, alignment: Alignment.topLeft,
child: Text( child: Text(
'Thai Body', presenter.getmodel.results.data[0].name,
textAlign: TextAlign.left, textAlign: TextAlign.left,
style: TextStyle( style: TextStyle(
color: Colors.black, color: Colors.black,
...@@ -144,21 +227,35 @@ class _BookingDetailState extends State<BookingDetail> { ...@@ -144,21 +227,35 @@ class _BookingDetailState extends State<BookingDetail> {
left: SizeConfig.getPadding(24), left: SizeConfig.getPadding(24),
right: SizeConfig.getPadding(24), right: SizeConfig.getPadding(24),
), ),
), ),
Container( presenter.getmodel.results.data[0].detail == null
? Container(
padding: EdgeInsets.only(
left: SizeConfig.getPadding(24),
top: SizeConfig.getPadding(16)),
alignment: Alignment.topLeft, alignment: Alignment.topLeft,
child: Text(
'',
textAlign: TextAlign.left,
style: TextStyle(
color: Colors.black54,
fontSize: SizeConfig.getFontSize(11),
fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500),
),
)
: Container(
padding: EdgeInsets.only( padding: EdgeInsets.only(
top: SizeConfig.getPadding(14),
left: SizeConfig.getPadding(24), left: SizeConfig.getPadding(24),
right: SizeConfig.getPadding(24)), top: SizeConfig.getPadding(16)),
alignment: Alignment.topLeft,
child: Text( child: Text(
'A four hand massage performed by two therapists in unison, this experience coordinates a blend of Thai, Swedish, Shiatsu and Reflexology techniques using deep rhythmic movement to leave you feeling completely renewed. Top Tip: This is Khun Taras (our Group Spa Director) favourite massage. She loves it because having the sensation of two therapists working on you means your mind cant concentrate on one area and it basically just gives up! This massage almost forces you to switch your mind off. Try it and see.', Util.removeHTMLTag(
'${presenter.getmodel.results.data[0].detail}'),
textAlign: TextAlign.left, textAlign: TextAlign.left,
style: TextStyle( style: TextStyle(
color: Colors.black54, color: Colors.black54,
fontSize: SizeConfig.getFontSize(14), fontSize: SizeConfig.getFontSize(16),
fontFamily: "SF_Pro_Text", fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500), fontWeight: FontWeight.w500),
), ),
...@@ -284,7 +381,7 @@ class _BookingDetailState extends State<BookingDetail> { ...@@ -284,7 +381,7 @@ class _BookingDetailState extends State<BookingDetail> {
height: SizeConfig.getHeight(45), height: SizeConfig.getHeight(45),
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.circular(24), borderRadius: BorderRadius.circular(24),
color:Color.fromRGBO(69, 85, 79, 1), color: Color.fromRGBO(69, 85, 79, 1),
), ),
child: Container( child: Container(
padding: EdgeInsets.only(top: SizeConfig.getPadding(6)), padding: EdgeInsets.only(top: SizeConfig.getPadding(6)),
...@@ -299,12 +396,8 @@ class _BookingDetailState extends State<BookingDetail> { ...@@ -299,12 +396,8 @@ class _BookingDetailState extends State<BookingDetail> {
), ),
), ),
), ),
], ],
), ),
SizedBox( SizedBox(
height: SizeConfig.getHeight(30), height: SizeConfig.getHeight(30),
), ),
......
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/booking/booking_detail.dart';
import '../../model/booking_detail/booking_detail_model.dart';
class BookingDetailtPresenter extends BasePresenter<BookingDetail> {
final formkey = GlobalKey<FormState>();
Api _api;
String type = '3';
int getid;
ProductModel getmodel;
BookingDetailtPresenter(State<BookingDetail> state) : super(state);
getDetail() async {
print(getid);
_api = Api<ProductModel>();
var res = await _api.getProductDetail({getid});
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();
// }
// }
}
...@@ -8,15 +8,23 @@ import 'package:feelverapp/util/Util.dart'; ...@@ -8,15 +8,23 @@ import 'package:feelverapp/util/Util.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import '../splashscreen/splash_screen_page.dart';
import 'shop_list_detail.dart';
class ShopNearbyPlacesPage extends StatefulWidget { class ShopNearbyPlacesPage extends StatefulWidget {
@override @override
_ShopNearbyPlacesPageState createState() => _ShopNearbyPlacesPageState(); _ShopNearbyPlacesPageState createState() => _ShopNearbyPlacesPageState();
} }
final List<String> detail = <String>['SPA Cenvaree @ centara Grand Centralworld', 'SPA Cenvaree @ centara Grand Centralworld', 'SPA Cenvaree @ centara Grand Centralworld']; final List<String> detail = <String>[
'SPA Cenvaree @ centara Grand Centralworld',
'SPA Cenvaree @ centara Grand Centralworld',
'SPA Cenvaree @ centara Grand Centralworld'
];
final List<String> place = <String>['พญาไทย', 'บางเขน', 'เกษตร']; final List<String> place = <String>['พญาไทย', 'บางเขน', 'เกษตร'];
class _ShopNearbyPlacesPageState extends State<ShopNearbyPlacesPage>with TickerProviderStateMixin { class _ShopNearbyPlacesPageState extends State<ShopNearbyPlacesPage>
with TickerProviderStateMixin {
ShopNearByPlacePresenter presenter; ShopNearByPlacePresenter presenter;
@override @override
...@@ -31,6 +39,7 @@ class _ShopNearbyPlacesPageState extends State<ShopNearbyPlacesPage>with TickerP ...@@ -31,6 +39,7 @@ class _ShopNearbyPlacesPageState extends State<ShopNearbyPlacesPage>with TickerP
void dispose() { void dispose() {
super.dispose(); super.dispose();
} }
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
SizeConfig(context); SizeConfig(context);
...@@ -47,8 +56,7 @@ class _ShopNearbyPlacesPageState extends State<ShopNearbyPlacesPage>with TickerP ...@@ -47,8 +56,7 @@ class _ShopNearbyPlacesPageState extends State<ShopNearbyPlacesPage>with TickerP
top: SizeConfig.getPadding(15), top: SizeConfig.getPadding(15),
bottom: SizeConfig.getPadding(10), bottom: SizeConfig.getPadding(10),
left: SizeConfig.getPadding(24), left: SizeConfig.getPadding(24),
right: SizeConfig.getPadding(24) right: SizeConfig.getPadding(24)),
),
child: Row( child: Row(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[ children: <Widget>[
...@@ -105,7 +113,7 @@ class _ShopNearbyPlacesPageState extends State<ShopNearbyPlacesPage>with TickerP ...@@ -105,7 +113,7 @@ class _ShopNearbyPlacesPageState extends State<ShopNearbyPlacesPage>with TickerP
fontFamily: "SF_Pro_Text", fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500), fontWeight: FontWeight.w500),
), ),
backgroundColor:Color.fromRGBO(69, 85, 79, 1), backgroundColor: Color.fromRGBO(69, 85, 79, 1),
shape: StadiumBorder( shape: StadiumBorder(
side: BorderSide(color: Colors.white), side: BorderSide(color: Colors.white),
), ),
...@@ -122,7 +130,7 @@ class _ShopNearbyPlacesPageState extends State<ShopNearbyPlacesPage>with TickerP ...@@ -122,7 +130,7 @@ class _ShopNearbyPlacesPageState extends State<ShopNearbyPlacesPage>with TickerP
fontFamily: "SF_Pro_Text", fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500), fontWeight: FontWeight.w500),
), ),
backgroundColor:Color.fromRGBO(69, 85, 79, 1), backgroundColor: Color.fromRGBO(69, 85, 79, 1),
shape: StadiumBorder( shape: StadiumBorder(
side: BorderSide(color: Colors.white), side: BorderSide(color: Colors.white),
), ),
...@@ -164,7 +172,6 @@ class _ShopNearbyPlacesPageState extends State<ShopNearbyPlacesPage>with TickerP ...@@ -164,7 +172,6 @@ class _ShopNearbyPlacesPageState extends State<ShopNearbyPlacesPage>with TickerP
print("selected"); print("selected");
}, },
), ),
], ],
), ),
), ),
...@@ -202,19 +209,30 @@ class _ShopNearbyPlacesPageState extends State<ShopNearbyPlacesPage>with TickerP ...@@ -202,19 +209,30 @@ class _ShopNearbyPlacesPageState extends State<ShopNearbyPlacesPage>with TickerP
presenter.getmodel.results.data[i].updatedAt, presenter.getmodel.results.data[i].updatedAt,
presenter.getmodel.results.data[i].distanceWithLocation presenter.getmodel.results.data[i].distanceWithLocation
.toString()); .toString());
} }),
),
); );
} }
Widget _nearByItem(String title, String detail, String img, String address, Widget _nearByItem(String title, String detail, String img, String address,
String latlng, String date_time, String distanceWithLocation) { String latlng, String date_time, String distanceWithLocation) {
return InkWell(
return Card( onTap: () {
setState(() {
Navigator.push(
context,
CupertinoPageRoute(
builder: (context) => ShopListDetail(
id: id,
),
),
);
});
},
child: Card(
margin: EdgeInsets.only( margin: EdgeInsets.only(
right: SizeConfig.getPadding(0), right: SizeConfig.getPadding(0),
left: SizeConfig.getPadding(0), left: SizeConfig.getPadding(0),
top: SizeConfig.getPadding(10), top: SizeConfig.getPadding(50),
bottom: SizeConfig.getPadding(10)), bottom: SizeConfig.getPadding(10)),
child: Container( child: Container(
// color: Colors.red, // color: Colors.red,
...@@ -237,7 +255,8 @@ class _ShopNearbyPlacesPageState extends State<ShopNearbyPlacesPage>with TickerP ...@@ -237,7 +255,8 @@ class _ShopNearbyPlacesPageState extends State<ShopNearbyPlacesPage>with TickerP
: Image.network( : Image.network(
Api.baseApiforimage + img, Api.baseApiforimage + img,
fit: BoxFit.cover, fit: BoxFit.cover,
),), ),
),
), ),
Expanded( Expanded(
flex: 5, flex: 5,
...@@ -316,18 +335,14 @@ class _ShopNearbyPlacesPageState extends State<ShopNearbyPlacesPage>with TickerP ...@@ -316,18 +335,14 @@ class _ShopNearbyPlacesPageState extends State<ShopNearbyPlacesPage>with TickerP
SizedBox( SizedBox(
width: 5, width: 5,
), ),
], ],
), ),
SizedBox( SizedBox(
height: 10, height: 10,
), ),
SizedBox( SizedBox(
height: SizeConfig.getHeight(5), height: SizeConfig.getHeight(5),
), ),
], ],
), ),
), ),
...@@ -340,7 +355,7 @@ class _ShopNearbyPlacesPageState extends State<ShopNearbyPlacesPage>with TickerP ...@@ -340,7 +355,7 @@ class _ShopNearbyPlacesPageState extends State<ShopNearbyPlacesPage>with TickerP
], ],
), ),
), ),
),
); );
} }
} }
...@@ -9,10 +9,14 @@ import 'package:flutter/material.dart'; ...@@ -9,10 +9,14 @@ import 'package:flutter/material.dart';
import 'dart:math'; import 'dart:math';
class MainShop extends StatefulWidget { class MainShop extends StatefulWidget {
MainShop({Key key, this.title}) : super(key: key); int getid;
MainShop({Key key, this.title,this.getid}) : super(key: key);
final String title; final String title;
@override @override
_MainShopState createState() => _MainShopState(); _MainShopState createState() => _MainShopState();
} }
...@@ -172,7 +176,7 @@ class _MainShopState extends State<MainShop> ...@@ -172,7 +176,7 @@ class _MainShopState extends State<MainShop>
controller: _controller, controller: _controller,
children: <Widget>[ children: <Widget>[
Container( Container(
child: BookingDetail(), child: BookingDetail(getid: widget.getid,),
// child: getlist(), // child: getlist(),
//width: 20, //width: 20,
), ),
......
import 'package:feelverapp/ui/shop/shop_service_presenter.dart'; import 'package:feelverapp/ui/shop/shop_service_presenter.dart';
import 'package:feelverapp/util/SizeConfig.dart'; import 'package:feelverapp/util/SizeConfig.dart';
import 'package:feelverapp/util/rating_star.dart'; import 'package:feelverapp/util/rating_star.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import '../../service/api.dart'; import '../../service/api.dart';
import '../booking/booking_detail.dart';
import 'shop_main.dart';
class ShopServicePage extends StatefulWidget { class ShopServicePage extends StatefulWidget {
@override @override
...@@ -43,15 +46,34 @@ class _ShopServicePageState extends State<ShopServicePage> ...@@ -43,15 +46,34 @@ class _ShopServicePageState extends State<ShopServicePage>
presenter.serviceModel.data[i].cover, presenter.serviceModel.data[i].cover,
presenter.serviceModel.data[i].price, presenter.serviceModel.data[i].price,
presenter.serviceModel.data[i].duration, presenter.serviceModel.data[i].duration,
presenter.serviceModel.data[i].specialPrice == null ? "" : presenter.serviceModel.data[i].specialPrice, presenter.serviceModel.data[i].id,
presenter.serviceModel.data[i].specialPrice == null
? ""
: presenter.serviceModel.data[i].specialPrice,
); );
}) },
),
); );
} }
Widget myCard(String title, String image, String price, String time, String special_price) { Widget myCard(String title, String image, String price, String time, int id,
return Card( String special_price) {
return InkWell(
onTap: () {
setState(
() {
Navigator.push(
context,
CupertinoPageRoute(
builder: (context) => MainShop(
getid: id,
),
),
);
},
);
},
child: Card(
margin: EdgeInsets.only( margin: EdgeInsets.only(
right: SizeConfig.getPadding(16), right: SizeConfig.getPadding(16),
left: SizeConfig.getPadding(16), left: SizeConfig.getPadding(16),
...@@ -78,7 +100,8 @@ class _ShopServicePageState extends State<ShopServicePage> ...@@ -78,7 +100,8 @@ class _ShopServicePageState extends State<ShopServicePage>
: Image.network( : Image.network(
Api.baseApiforimage + image, Api.baseApiforimage + image,
fit: BoxFit.cover, fit: BoxFit.cover,
),), ),
),
), ),
Expanded( Expanded(
flex: 5, flex: 5,
...@@ -198,7 +221,8 @@ class _ShopServicePageState extends State<ShopServicePage> ...@@ -198,7 +221,8 @@ class _ShopServicePageState extends State<ShopServicePage>
), ),
Container( Container(
child: Row( child: Row(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment:
CrossAxisAlignment.start,
children: <Widget>[ children: <Widget>[
RatingStar( RatingStar(
isRating: true, isRating: true,
...@@ -226,6 +250,7 @@ class _ShopServicePageState extends State<ShopServicePage> ...@@ -226,6 +250,7 @@ class _ShopServicePageState extends State<ShopServicePage>
], ],
), ),
), ),
),
); );
} }
} }
# Generated by pub # Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile # See https://dart.dev/tools/pub/glossary#lockfile
packages: packages:
archive:
dependency: transitive
description:
name: archive
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.13"
args:
dependency: transitive
description:
name: args
url: "https://pub.dartlang.org"
source: hosted
version: "1.6.0"
async: async:
dependency: transitive dependency: transitive
description: description:
name: async name: async
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.4.1" version: "2.4.2"
boolean_selector: boolean_selector:
dependency: transitive dependency: transitive
description: description:
...@@ -43,34 +29,34 @@ packages: ...@@ -43,34 +29,34 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.2.1" version: "2.2.1"
charcode: characters:
dependency: transitive dependency: transitive
description: description:
name: charcode name: characters
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.1.3" version: "1.0.0"
collection: charcode:
dependency: transitive dependency: transitive
description: description:
name: collection name: charcode
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.14.12" version: "1.1.3"
convert: clock:
dependency: transitive dependency: transitive
description: description:
name: convert name: clock
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.1" version: "1.0.1"
crypto: collection:
dependency: transitive dependency: transitive
description: description:
name: crypto name: collection
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.4" version: "1.14.13"
csslib: csslib:
dependency: transitive dependency: transitive
description: description:
...@@ -92,6 +78,13 @@ packages: ...@@ -92,6 +78,13 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.8" version: "1.0.8"
fake_async:
dependency: transitive
description:
name: fake_async
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0"
file: file:
dependency: transitive dependency: transitive
description: description:
...@@ -156,13 +149,6 @@ packages: ...@@ -156,13 +149,6 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.1.4" version: "3.1.4"
image:
dependency: transitive
description:
name: image
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.12"
image_cropper: image_cropper:
dependency: "direct main" dependency: "direct main"
description: description:
...@@ -211,7 +197,7 @@ packages: ...@@ -211,7 +197,7 @@ packages:
name: matcher name: matcher
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.12.6" version: "0.12.8"
meta: meta:
dependency: transitive dependency: transitive
description: description:
...@@ -225,7 +211,7 @@ packages: ...@@ -225,7 +211,7 @@ packages:
name: path name: path
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.6.4" version: "1.7.0"
path_provider_linux: path_provider_linux:
dependency: transitive dependency: transitive
description: description:
...@@ -247,13 +233,6 @@ packages: ...@@ -247,13 +233,6 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.9.0" version: "1.9.0"
petitparser:
dependency: transitive
description:
name: petitparser
url: "https://pub.dartlang.org"
source: hosted
version: "2.4.0"
platform: platform:
dependency: transitive dependency: transitive
description: description:
...@@ -289,13 +268,6 @@ packages: ...@@ -289,13 +268,6 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.4.4" version: "1.4.4"
quiver:
dependency: transitive
description:
name: quiver
url: "https://pub.dartlang.org"
source: hosted
version: "2.1.3"
rflutter_alert: rflutter_alert:
dependency: "direct main" dependency: "direct main"
description: description:
...@@ -356,7 +328,7 @@ packages: ...@@ -356,7 +328,7 @@ packages:
name: stack_trace name: stack_trace
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.9.3" version: "1.9.5"
stream_channel: stream_channel:
dependency: transitive dependency: transitive
description: description:
...@@ -384,14 +356,14 @@ packages: ...@@ -384,14 +356,14 @@ packages:
name: test_api name: test_api
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.2.15" version: "0.2.17"
typed_data: typed_data:
dependency: transitive dependency: transitive
description: description:
name: typed_data name: typed_data
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.1.6" version: "1.2.0"
url_launcher: url_launcher:
dependency: "direct main" dependency: "direct main"
description: description:
...@@ -441,13 +413,6 @@ packages: ...@@ -441,13 +413,6 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.1.0" version: "0.1.0"
xml:
dependency: transitive
description:
name: xml
url: "https://pub.dartlang.org"
source: hosted
version: "3.6.1"
sdks: sdks:
dart: ">=2.6.0 <3.0.0" dart: ">=2.9.0-14.0.dev <3.0.0"
flutter: ">=1.12.13+hotfix.5 <2.0.0" flutter: ">=1.12.13+hotfix.5 <2.0.0"
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