finish patient profile
parent
37ae0097a8
commit
e11f1d511e
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