Merge branch 'elham' into 'master'
Elham See merge request Cloud_Solution/doctor_app_flutter!20merge-requests/21/merge
commit
46c927b183
Binary file not shown.
After Width: | Height: | Size: 1.4 KiB |
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
@ -1,9 +0,0 @@
|
||||
import 'package:flutter/material.dart';
|
||||
class PatientProfileWidget extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Container(
|
||||
child: Center(child: Text('Heeeer Must be Patient Profile'),),
|
||||
);
|
||||
}
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import './profile_general_info_content_widget.dart';
|
||||
import '../../../config/size_config.dart';
|
||||
import '../../shared/rounded_container_widget.dart';
|
||||
class ProfileGeneralInfoWidget extends StatelessWidget {
|
||||
const ProfileGeneralInfoWidget({
|
||||
Key key,
|
||||
}) : super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return RoundedContainer(
|
||||
child: ListView(
|
||||
children: <Widget>[
|
||||
ProfileGeneralInfoContentWidget(
|
||||
title: "Age",
|
||||
info: '55 Yr',
|
||||
),
|
||||
ProfileGeneralInfoContentWidget(
|
||||
title: "Contact Number",
|
||||
info: '00 966 5000000000',
|
||||
),
|
||||
ProfileGeneralInfoContentWidget(
|
||||
title: "Email",
|
||||
info: 'Elham@yahoo.com',
|
||||
),
|
||||
],
|
||||
),
|
||||
width: SizeConfig.screenWidth * 0.70,
|
||||
height: SizeConfig.screenHeight * 0.25,
|
||||
);
|
||||
}
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:hexcolor/hexcolor.dart';
|
||||
|
||||
import './Profile_general_info_Widget.dart';
|
||||
import './profile_medical_info_widget.dart';
|
||||
import './profile_status_info_widget.dart';
|
||||
import '../../../config/size_config.dart';
|
||||
import '../../../widgets/shared/profile_image_widget.dart';
|
||||
|
||||
class PatientProfileWidget extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return ListView(padding: EdgeInsets.zero, children: <Widget>[
|
||||
Container(
|
||||
height: SizeConfig.heightMultiplier * 30,
|
||||
child: ProfileImageWidget(
|
||||
url:
|
||||
"http://images4.fanpop.com/image/photos/16200000/David-Schwimmer-Ross-Geller-ross-geller-16258927-629-779.jpg",
|
||||
name: "Fahad AlSlehm",
|
||||
des: "324599",
|
||||
height: SizeConfig.heightMultiplier * 17,
|
||||
width: SizeConfig.heightMultiplier * 17,
|
||||
color: Hexcolor('#58434F')),
|
||||
),
|
||||
ProfileGeneralInfoWidget(),
|
||||
ProfileMedicalInfoWidget(),
|
||||
ProfileStatusInfoWidget()
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -0,0 +1,36 @@
|
||||
import '../../../config/size_config.dart';
|
||||
import '../../shared/app_texts_widget.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:hexcolor/hexcolor.dart';
|
||||
class ProfileGeneralInfoContentWidget extends StatelessWidget {
|
||||
String title;
|
||||
String info;
|
||||
|
||||
ProfileGeneralInfoContentWidget({this.title, this.info});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 14),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
SizedBox(
|
||||
height: 10,
|
||||
),
|
||||
AppText(
|
||||
title,
|
||||
fontSize: SizeConfig.textMultiplier * 3,
|
||||
fontWeight: FontWeight.w700,
|
||||
color: Hexcolor('#58434F'),
|
||||
),
|
||||
AppText(
|
||||
info,
|
||||
color: Hexcolor('#707070'),
|
||||
fontSize: SizeConfig.textMultiplier * 2,
|
||||
)
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
@ -0,0 +1,115 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:hexcolor/hexcolor.dart';
|
||||
|
||||
import '../../../config/size_config.dart';
|
||||
import '../../shared/app_texts_widget.dart';
|
||||
import '../../shared/rounded_container_widget.dart';
|
||||
|
||||
class ProfileMedicalInfoWidget extends StatelessWidget {
|
||||
const ProfileMedicalInfoWidget({
|
||||
Key key,
|
||||
}) : super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
String url = "assets/images/";
|
||||
final double contWidth = SizeConfig.screenWidth * 0.70;
|
||||
final double contHeight = SizeConfig.screenHeight * 0.30;
|
||||
|
||||
return RoundedContainer(
|
||||
child: ListView(
|
||||
children: <Widget>[
|
||||
Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 14, vertical: 14),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
AppText(
|
||||
'Patient Medical Information ',
|
||||
fontSize: SizeConfig.textMultiplier * 3,
|
||||
fontWeight: FontWeight.w700,
|
||||
color: Hexcolor('#58434F'),
|
||||
),
|
||||
SizedBox(
|
||||
height: 20,
|
||||
),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
||||
children: <Widget>[
|
||||
CircleAvatarWidget(
|
||||
des: 'Vital Sign',
|
||||
url: url + 'heartbeat.png',
|
||||
width: (contWidth) / 3.5,
|
||||
height: (contWidth) / 3.5,
|
||||
),
|
||||
CircleAvatarWidget(
|
||||
des: 'Lab Result',
|
||||
url: url + 'lab.png',
|
||||
width: (contWidth) / 3.5,
|
||||
height: (contWidth) / 3.5,
|
||||
),
|
||||
CircleAvatarWidget(
|
||||
des: 'Prescription',
|
||||
url: url + 'note.png',
|
||||
width: (contWidth) / 3.5,
|
||||
height: (contWidth) / 3.5,
|
||||
),
|
||||
CircleAvatarWidget(
|
||||
des: 'Radiology',
|
||||
url: url + 'radiology-1.png',
|
||||
width: (contWidth) / 3.5,
|
||||
height: (contWidth) / 3.5,
|
||||
),
|
||||
],
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
width: contWidth,
|
||||
height: contHeight,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class CircleAvatarWidget extends StatelessWidget {
|
||||
const CircleAvatarWidget(
|
||||
{Key key,
|
||||
@required this.url,
|
||||
@required this.des,
|
||||
this.height,
|
||||
this.width})
|
||||
: super(key: key);
|
||||
|
||||
final String url;
|
||||
final String des;
|
||||
|
||||
final double height;
|
||||
final double width;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Column(
|
||||
children: <Widget>[
|
||||
Container(
|
||||
height: height,
|
||||
width: width,
|
||||
decoration: new BoxDecoration(
|
||||
// color: Colors.green, // border color
|
||||
shape: BoxShape.circle,
|
||||
border: Border.all(color: Hexcolor('#B7831A'),width: 1.5)),
|
||||
child: CircleAvatar(
|
||||
radius: SizeConfig.imageSizeMultiplier * 12,
|
||||
child: Image.asset(url),
|
||||
backgroundColor: Colors.transparent,
|
||||
),
|
||||
),
|
||||
SizedBox(
|
||||
height: 10,
|
||||
),
|
||||
AppText(des)
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
@ -0,0 +1,43 @@
|
||||
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:hexcolor/hexcolor.dart';
|
||||
|
||||
import '../../../config/size_config.dart';
|
||||
import '../../shared/rounded_container_widget.dart';
|
||||
|
||||
class ProfileStatusInfoWidget extends StatelessWidget {
|
||||
const ProfileStatusInfoWidget({
|
||||
Key key,
|
||||
}) : super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return RoundedContainer(
|
||||
child: ListView(
|
||||
children: <Widget>[
|
||||
Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 14),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
AppText(
|
||||
'Insurance approval',
|
||||
fontSize: SizeConfig.textMultiplier * 3,
|
||||
fontWeight: FontWeight.w700,
|
||||
color: Hexcolor('#58434F'),
|
||||
),
|
||||
AppText(
|
||||
'Approved',
|
||||
color: Hexcolor('#707070'),
|
||||
fontSize: SizeConfig.textMultiplier * 2.5,
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
width: SizeConfig.screenWidth * 0.70,
|
||||
height: SizeConfig.screenHeight * 0.12,
|
||||
);
|
||||
}
|
||||
}
|
@ -0,0 +1,50 @@
|
||||
import 'package:doctor_app_flutter/config/size_config.dart';
|
||||
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class ProfileImageWidget extends StatelessWidget {
|
||||
String url;
|
||||
String name;
|
||||
String des;
|
||||
double height;
|
||||
double width;
|
||||
Color color;
|
||||
|
||||
ProfileImageWidget(
|
||||
{this.url,
|
||||
this.name,
|
||||
this.des,
|
||||
this.height,
|
||||
this.width,
|
||||
this.color = Colors.black});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: <Widget>[
|
||||
Container(
|
||||
height: height,
|
||||
width: width,
|
||||
child: CircleAvatar(
|
||||
radius: SizeConfig.imageSizeMultiplier * 12,
|
||||
backgroundImage: NetworkImage(url),
|
||||
backgroundColor: Colors.transparent,
|
||||
),
|
||||
),
|
||||
Padding(
|
||||
padding: EdgeInsets.only(top: 10),
|
||||
child: AppText(
|
||||
name,
|
||||
fontWeight: FontWeight.bold,
|
||||
fontSize: SizeConfig.textMultiplier * 4,
|
||||
color: color,
|
||||
)),
|
||||
AppText(
|
||||
des,
|
||||
fontSize: SizeConfig.textMultiplier * 2.5,
|
||||
)
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue