updae login and get pro file/ edit profile

parent 4438b883
......@@ -25,9 +25,9 @@ class MyApp extends StatelessWidget {
primarySwatch: Colors.blue,
),
// home: SplashScreenPage(),
home: SplashScreenPage(),
home: EditProfile(),
//home: EditProfile(),
);
}
......
......@@ -24,16 +24,16 @@ class LoginModel {
class User {
int id;
Null roleId;
dynamic roleId;
String name;
String email;
String avatar;
Null emailVerifiedAt;
dynamic emailVerifiedAt;
int status;
int fvRoleId;
Null settings;
Null createdAt;
Null updatedAt;
dynamic settings;
dynamic createdAt;
dynamic updatedAt;
CustomerInfo customerInfo;
User(
......
......@@ -26,7 +26,7 @@ class Api<T> {
var _model;
var _fail;
var result;
print("this is body "+body.toString());
// (body as Map)['lang'] = allTranslations.currentLanguage;
await _httpConnection(
"${this._baseApi}/customer/info", this._headerApi, body)
......
......@@ -9,6 +9,8 @@ import 'package:flutter/material.dart';
import '../../util/SizeConfig.dart';
class EditProfile extends StatefulWidget {
String id;
EditProfile({Key key,this.id,}) : super(key: key);
@override
_EditProfileState createState() => _EditProfileState();
}
......@@ -21,7 +23,8 @@ class _EditProfileState extends State<EditProfile> {
super.initState();
presenter = EditprofilePresenter(this);
presenter.getprofile();
print("wwww id ="+widget.id);
presenter.getprofile(widget.id);
}
_getImage() {
......
......@@ -154,10 +154,14 @@ class EditprofilePresenter extends BasePresenter<EditProfile> {
return base64.encode(imageFile.readAsBytesSync());
}
getprofile() async {
getprofile(String id) async {
_api = Api<GetprofileModel>();
var res = await _api.getprofile({"id": "16"});
var res = await _api.getprofile({
"id": id
});
if (res.fail == null) {
setState(() {
......
......@@ -10,6 +10,9 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class HomePage extends StatefulWidget {
String id;
String image;
HomePage({Key key, this.id,this.image}) : super(key: key);
@override
_HomePageState createState() => _HomePageState();
}
......@@ -24,8 +27,7 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
void initState() {
presenter = HomePresenter(this);
presenter.Listitem();
presenter.getprofile(widget.id.toString());
}
......@@ -193,7 +195,8 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
showDialog(
context: context,
builder: (BuildContext context) {
return NavDrawer();
return presenter.getmodel==null?Container():NavDrawer(name: presenter.getmodel.result[0].user.name,id:presenter.getmodel.result[0].id.toString(),image:presenter.getmodel.result[0].image ,);
});
},
child: Image.asset(
......@@ -227,12 +230,17 @@ class _HomePageState extends State<HomePage> with TickerProviderStateMixin {
MaterialPageRoute(builder: (context) => LoginPage()),
);
},
child: Container(
child: Image.asset(
'assets/images/ic_userimg.png',
height: SizeConfig.getWidth(30),
child: ClipRRect(
borderRadius: BorderRadius.all(
Radius.circular(SizeConfig.getWidth(56))),
child: Image.network(
widget.image,
fit: BoxFit.contain,
width: SizeConfig.getWidth(30),
fit: BoxFit.cover,
height: SizeConfig.getWidth(30),
),
),
),
),
......
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/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:flutter/material.dart';
import 'package:rflutter_alert/rflutter_alert.dart';
class HomePresenter extends BasePresenter<HomePage> {
Api _api;
final formkey = GlobalKey<FormState>();
GetprofileModel getmodel;
LoginModel logmodel;
HomePresenter(State<HomePage> state) : super(state);
Listitem() async {
......@@ -22,4 +28,46 @@ class HomePresenter extends BasePresenter<HomePage> {
print('res Fail');
}
}
getprofile(String id) async {
_api = Api<GetprofileModel>();
var res = await _api.getprofile({
"id":id.toString()
});
if (res.fail == null) {
setState(() {
getmodel = res.success;});
print("Hii"+getmodel.result[0].name);
} 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();
}
}
}
......@@ -10,6 +10,8 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class LoginPage extends StatefulWidget {
@override
_LoginPageState createState() => _LoginPageState();
}
......@@ -17,6 +19,7 @@ class LoginPage extends StatefulWidget {
class _LoginPageState extends State<LoginPage> with TickerProviderStateMixin {
TabController _tabController;
LoginPresenter presenter;
@override
void initState() {
// TODO: implement initState
......
......@@ -94,7 +94,7 @@ else {
if (res.fail == null) {
LoginModel model = res.success;
Alert(
style: AlertStyle(
animationType: AnimationType.fromTop,
......@@ -107,15 +107,15 @@ else {
buttons: [
DialogButton(
color: Color.fromRGBO(106, 179, 170, 1),
onPressed: () =>
Navigator.pushReplacement(state.context, CupertinoPageRoute(builder: (_) => HomePage())),
onPressed: () { Navigator.pop(state.context);
Navigator.pushReplacement(state.context, CupertinoPageRoute(builder: (_) => HomePage(id:model.user.customerInfo.id.toString(),image: model.user.customerInfo.image,)));} ,
child: Text(
"ตกลง",
style: TextStyle(color: Colors.white, fontSize: 20),
),
)
]).show();
LoginModel model = res.success;
await AccountUtil.saveToken(model.token);
print( await AccountUtil.getToken());
// print(AccountUtil.getToken().toString());
......@@ -192,8 +192,9 @@ Navigator.pushReplacement(state.context, CupertinoPageRoute(builder: (_) => Home
buttons: [
DialogButton(
color: Color.fromRGBO(106, 179, 170, 1),
onPressed: () =>
Navigator.pushReplacement(state.context, CupertinoPageRoute(builder: (_) => HomePage())),
onPressed: () { Navigator.pop(state.context);
Navigator.pushReplacement(state.context, CupertinoPageRoute(builder: (_) => HomePage()));} ,
child: Text(
"ตกลง",
style: TextStyle(color: Colors.white, fontSize: 20),
......
import 'package:feelverapp/ui/ForgetPassword/forgetpassword.dart';
import 'package:feelverapp/ui/edit_profile/edit_profile.dart';
import 'package:feelverapp/ui/home/home.dart';
import 'package:feelverapp/ui/login/login.dart';
import 'package:feelverapp/ui/login/login_presenter.dart';
import 'package:feelverapp/ui/register/register_email.dart';
//import 'package:feelverapp/ui/login/login_presenter.dart';
import 'package:feelverapp/util/SizeConfig.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class NavDrawer extends StatelessWidget {
class NavDrawer extends StatefulWidget {
String id;
String name;
String image;
String lastname;
NavDrawer({Key key, this.name,this.lastname,this.image,this.id,}) : super(key: key);
@override
_NavDrawerState createState() => _NavDrawerState();
}
class _NavDrawerState extends State<NavDrawer> with TickerProviderStateMixin {
@override
Widget build(BuildContext context) {
return Padding(
......@@ -14,37 +34,58 @@ class NavDrawer extends StatelessWidget {
child: SingleChildScrollView(
child: Column(
children: <Widget>[
Stack(
widget.image==null? Stack(
children: <Widget>[
Container(
height: SizeConfig.getWidth(80),
color: Color.fromRGBO(106, 179, 170, 1),
),
Container(
alignment: Alignment.topCenter,
padding: EdgeInsets.only(
left: SizeConfig.getPadding(10),
top: SizeConfig.getPadding(24)),
child: Image.asset(
'assets/images/ic_userimg.png',
top: SizeConfig.getPadding(30)),
child: Container(
decoration: BoxDecoration(
color: Color.fromRGBO(238, 175, 183, 1),
shape: BoxShape.circle,
border: Border.all(
color: Colors.white, width: 1.4)),
width: SizeConfig.getWidth(100),
height: SizeConfig.getWidth(100),
),
),
Container(
alignment: Alignment.topCenter,
padding: EdgeInsets.only(
left: SizeConfig.getPadding(90),
top: SizeConfig.getPadding(100)),
left: SizeConfig.getPadding(10),
top: SizeConfig.getPadding(65)),
child: Image.asset(
'assets/images/ic_camera.png',
width: SizeConfig.getWidth(30),
height: SizeConfig.getWidth(30),
),
'assets/images/ic_camera_profile.png',
width: SizeConfig.getWidth(34),
height: SizeConfig.getWidth(34),
),
)
],
):
ClipRRect(
borderRadius: BorderRadius.all(
Radius.circular(SizeConfig.getWidth(56))),
child: Image.network(
widget.image,
fit: BoxFit.contain,
width: SizeConfig.getWidth(100),
height: SizeConfig.getWidth(100),
),
),
Container(
padding: EdgeInsets.only(
top: SizeConfig.getPadding(20),
),
alignment: Alignment.center,
child: Text(
'John wick',
'${widget.name}',
style: TextStyle(
color: Colors.black,
fontSize: SizeConfig.getFontSize(24),
......@@ -64,7 +105,7 @@ class NavDrawer extends StatelessWidget {
onTap: () {
Navigator.push(
context,
CupertinoPageRoute(builder: (context) => EditProfile(),),
CupertinoPageRoute(builder: (context) => EditProfile(id:widget.id),),
);
},
child: Container(
......@@ -321,3 +362,6 @@ class NavDrawer extends StatelessWidget {
);
}
}
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