From e11f1d511e959811dc832292aca42280bcb33b30 Mon Sep 17 00:00:00 2001 From: Elham Rababah Date: Tue, 21 Apr 2020 17:52:20 +0300 Subject: [PATCH] finish patient profile --- assets/images/heartbeat.png | Bin 0 -> 1439 bytes assets/images/lab.png | Bin 0 -> 1091 bytes assets/images/note.png | Bin 0 -> 1161 bytes assets/images/radiology-1.png | Bin 0 -> 1166 bytes lib/routes.dart | 8 +- .../patients/patient_profile_screen.dart | 6 +- lib/screens/profile_screen.dart | 87 +++++++------ .../patients/patinet_profile_widget.dart | 9 -- .../profile/Profile_general_info_Widget.dart | 34 ++++++ .../profile/patinet_profile_widget.dart | 35 ++++++ .../profile_general_info_content_widget.dart | 36 ++++++ .../profile/profile_medical_info_widget.dart | 115 ++++++++++++++++++ .../profile/profile_status_info_widget.dart | 43 +++++++ lib/widgets/shared/app_texts_widget.dart | 1 - lib/widgets/shared/profile_image_widget.dart | 50 ++++++++ pubspec.yaml | 5 + 16 files changed, 371 insertions(+), 58 deletions(-) create mode 100644 assets/images/heartbeat.png create mode 100644 assets/images/lab.png create mode 100644 assets/images/note.png create mode 100644 assets/images/radiology-1.png delete mode 100644 lib/widgets/patients/patinet_profile_widget.dart create mode 100644 lib/widgets/patients/profile/Profile_general_info_Widget.dart create mode 100644 lib/widgets/patients/profile/patinet_profile_widget.dart create mode 100644 lib/widgets/patients/profile/profile_general_info_content_widget.dart create mode 100644 lib/widgets/patients/profile/profile_medical_info_widget.dart create mode 100644 lib/widgets/patients/profile/profile_status_info_widget.dart create mode 100644 lib/widgets/shared/profile_image_widget.dart diff --git a/assets/images/heartbeat.png b/assets/images/heartbeat.png new file mode 100644 index 0000000000000000000000000000000000000000..3a83ddee293cb307b9c42cf361dbf3ffa105dcaf GIT binary patch literal 1439 zcmV;Q1z`G#P)Jw1Xci%3hF~3?>6oK_05k( z8VS4oQE4ZTt!C{~D3S}N#iVz(dA;4Nj{&}-!Al1a@~PV&R@2fcxvr60=g|kAY&Gj0 zA*;DyR>%s_AJl5pCimh0+#8IFy8zU0+l|@{MaI4Uu#?=o1X7bcu=ZN4efitRzZUtI z^)QzvHXr58G~D%qdPW?2b1^sOAX!XHAY(70)Ex{9S%H1;?_4w>=iR|D^0rq%x?DU> zevk&D)u^9|ut?&lHyDl6zE4|kH|imUm0o{zxE5r)S?4aHR)YXT%_9JnUVnIy1|n_U zhrHV#E*!YzNd-y6!)+~Nr5dk=_`rY@v2vL+)2ENg#iY$lAhUY%mpAp22*&wfy05@? zjl%Z6X)d;UGAqb-vvv;19Sx&AW;fG$?tC@j(?Yv$J>8Ryx-!E!t#Ev+(pF)ty#R13 zz`h>p8@RF#=Xj#;7zDRz{Oke8d5&tb!>m?!q=#*zC^gn<)*?{F2F45 zCi>1XrrI@@94_o~NnuE5qZ% zIuC-PXD0=xl|8fhzd?MVa3Yi&2;RGJ6XzsOjlo$g^W;{~6TzKEP4m!-EKy+$SoSES zv>Nq0fM*cds0kB6b2s}3KkNn8b^z|_A!@_WmMA8I;5mpRf+Z2Tu@>jr1xQqlfm1qK zY_Rew)hFaWAZ3YL2^aBqHxPN@Jo3Q1Qh*@Jn`tz&xod0XwaPf9GS!O$swjS?9l{!O zLW?6^cf}w)&Y9W46uJF{j7!*8ujvJy_Dtq7MeF3@<75~4tUDOJOs=*XwWLFPZ>w3_v6U)h`NdydYc z6}EcPAK+Vv4q2OIoD-{HNoSih$(NWWH|AmTa+yHthS*cesmnu>H|9MG`hzr2_4hhe6OXm1DC4ZF)P)Ck0C>;wX<50vo+b3_EItR9H!y5@RZr6M`R-8gZBS?VOVjxm->_MBTygXie{Y4?(z&UjH|c&ZA+i zpnNUhWiFVNl|ua=UW6PXU@=QdYyeT=M002ovPDHLkV1hh~vXcM+ literal 0 HcmV?d00001 diff --git a/assets/images/lab.png b/assets/images/lab.png new file mode 100644 index 0000000000000000000000000000000000000000..3f2f72c9340b85a599f7771978473828b8e526e2 GIT binary patch literal 1091 zcmV-J1ibr+P)B zn+ppB4na9@b$i()@;NA2tx|q3f&##?F>?Lm+up50D4Yob{fmBT|1vr$Se!D3LKZ1O zUQe2e+G%DJjB4?pS^BHbQ_}}MBnOLFty*q?yl8d%7Yb3Ul!_wqTN1cfXBYsIbXq`4U|ZAv-HUQT1kpjjVyN^$ zD7s$sSYMmqR0aaxsL$!)A@FW*usIYYPcmwC``4>LHo{d(MF{fhXBxS^!2C$5ff@;J z0lwcA&Of<3gE=TQO%aj-p4)|IatC45>h!~1BDa_GFCvArbZVNPnoOJE*usRRye{s_ z&aQA_SZXGXahu>qP8p4+SYp2f+|#n z+LSi;{XS4D!Io+tI8+@Zh4KH-3Y+-2P5RbqY{?P?wk_WNVOAhFARcywT8h}dp?9|7 zpT49*U-k0V$CiX{{<>u9%YsmHvsCcLcWZU;)XdyaILZXmcmBqQc(Es`tW`_*+T>Y} zF&UllLIFkqKQz1jxNC^}_&b4Qt@8`oZfZU>lue};Q@^CttEF2~2*FUu>t?r~TY#0v z@jV0bBKX+s^oqxTvS1bj7`gIdCzcs*8BZ*sKYqEF5OB;C3K>jChtkxOlBAa!&N#O@ zfyau}-1+|tY+Z3aHdLI-N@+x(;iv4;C}szYLpgfVtcWejW1c&P;=*Z1E&~Xxk7Cx;sANQq4@%TkB@cw)}?md!NzcSt(_%AB178i zq5x8Wun5YZ`_#Uq+M1`*|G}rU+FKjj{@RDX$5)i`738U&e*qBkV>TcVpGyD$002ov JPDHLkV1n^<3N`=$ literal 0 HcmV?d00001 diff --git a/assets/images/note.png b/assets/images/note.png new file mode 100644 index 0000000000000000000000000000000000000000..86d42f9b5f2cb60e3491a8427b9e4f4f11bb734d GIT binary patch literal 1161 zcmV;41a|w0P)tufDEX zW8M;|ps&1CR?6GYBgno(tr{8t>re;Mb`FTt}rT zh(9SZjlqdB!RliI{ZT-tt;PtzAp|GAK^P>1Keh-t5>iU$dZ!zVW}SAu3X3BMVoSOY z$=y{6v=Yd!96HlXCG^n2DuBJ$E73`hE0_2>1QaJ)XCW_>Ee*zXV93-@HWES7}-$U-9lc3lQ3 zRAvmd8eIt5{va%`HK^UmMP%f%N@Ix;Yfb{<-3 zvrybh*v&(LWdc*z4QdP-YY&&5%o_79oo%jC|eTUPV#0VQKdyTg)q zT~U2mG-*qS(kiX*i(ns~)Y9`=r&*t;04A0 z?xf%zP+YSN-p4qCE9;r6npJfu21@ir=}nR`b61e>x`g;(cZK?j#MXSm#TEoXZxEgo z;xd;A>Gm}Z<$eQrr^A3MxBkbH74640^9lm0PxZ1QYvNcyh-hZj^kQSvyQ$u0ZVaUE zn!8&n#QH&qdLV)I3BYWvvj&#hVht5R|ZE!}54+5U?v{~17^irO1VdY9o@fO!XRr#yB)>bI_qnTG9R<% b7iRwe)vnt!7k8sBF1 literal 0 HcmV?d00001 diff --git a/assets/images/radiology-1.png b/assets/images/radiology-1.png new file mode 100644 index 0000000000000000000000000000000000000000..ceb0775e4e74a1a0a5c5b9956fabfd06c1466ce1 GIT binary patch literal 1166 zcmV;91abR`P)5PexduYZFlkUhcnoIv&j;t7TiA^cdzp1+mZh{XsQ z{aa-A!vG^>Paro~Jb`!v_6GRp0$pijHHAHGcULv8AwNWPS698te3|(&369?=>NfXr z@RA7~0ymjyrEBWu`^k?R*SA&P53l=B9{C(vwni*O%-u$9A07_%kd=B{ z4oXbQ+`hY?x6>ONQy-rXqh81{E_}f~s_lQ5wL3Igca!;gIOweiv>e~hCNG|S(f${p zdK2;ecslPG(-WTff+DS-%34;cJD$$Ex7U4^XWzd5Y2^nh>V>4~w^*siX<`ot{Vl-J z-Ti#w3r5z7RTT3`0NC#;gR&bDz~lS5x#8_~f5D7SmS;ZTEGS*4Ei}5qNpDbw;6$I8 zgBT$ZIt*-xc>|(0m{&}6ye)47wSVIii5677epp*hIY9|&q3IW5CIR7dd*K!c7p(A9 zh+7(INB30%btLV&p>~na%`Jf8wITjhtZJ8KNwu>3zJAv45Mgl+R}9yZB)gE%F0z(4 z(W{2Ek4pjG=2^|#QbIH^Zisa$AN;^1t4sns=AH*h*Oyai_Lm*}Jo>Vw5I0?9KBkRR zLM#F$B}MX8ZuI4WvdRG9&~C~^El~+zoGfZ0w1ywDK#MMF-6wl$MV-PtmAAp|pf82C zD^>e+Q|7jWKNFp@IDta}mMzRKP|l3*>%MdmcJa#vD&ZYPrgrAlzU&5uJ6c~6^8;m& z=e`6St+~c;(k^s?lH~a(K59x%^8zKcO=L;hO-V@o(|z{2{HNuO52*Ktp#9zJ+0qMC zVd5*$R(b1Pppt?tM4yc+ffBMa;ljEx>%OEQ=NDrasI!P}WiS!17?h-djQdO>Hg3kU zYV^fWO{KW&O?2xHA^Zbjm*YOkXREKs7A0DMZ|5i5EJji15zBirGm zt>yxC7SYoO2yb?}F_I=R;XD5t)b^b+5$FPCY9G-^E_RlsTqWh4JmqC62Cs?nL0a&n z@=&`>Pq~SnBuNw6MT$V$YSYaS3F)sGNFuMO^Z*FdZjyDel`c+DdFIb50@(~iE2Z^H zRONU&GwpsA^n<1*HT7{#rlkpKVy07*qoM6N<$g6t3 ChangePasswordScreen(), VERIFY_ACCOUNT: (_) => VerifyAccountScreen(), VERIFICATION_METHODS:(_)=> VerificationMethodsScreen(), - PATIENTS_PROFILE:(_)=> PatientProfile() + PATIENTS_PROFILE:(_)=> PatientProfileScreen() }; diff --git a/lib/screens/patients/patient_profile_screen.dart b/lib/screens/patients/patient_profile_screen.dart index f86d0549..e71e5350 100644 --- a/lib/screens/patients/patient_profile_screen.dart +++ b/lib/screens/patients/patient_profile_screen.dart @@ -1,9 +1,9 @@ -import 'package:doctor_app_flutter/widgets/patients/patinet_profile_widget.dart'; +import 'package:doctor_app_flutter/widgets/patients/profile/patinet_profile_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:flutter/material.dart'; -class PatientProfile extends StatelessWidget { - const PatientProfile({Key key}) : super(key: key); +class PatientProfileScreen extends StatelessWidget { + const PatientProfileScreen({Key key}) : super(key: key); @override Widget build(BuildContext context) { diff --git a/lib/screens/profile_screen.dart b/lib/screens/profile_screen.dart index b346e341..9a09424f 100644 --- a/lib/screens/profile_screen.dart +++ b/lib/screens/profile_screen.dart @@ -1,10 +1,11 @@ -import 'package:doctor_app_flutter/config/size_config.dart'; -import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; -import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; -import 'package:doctor_app_flutter/widgets/shared/drawer_item_widget.dart'; -import 'package:doctor_app_flutter/widgets/shared/rounded_container_widget.dart'; import 'package:flutter/material.dart'; +import '../config/size_config.dart'; +import '../widgets/shared/app_scaffold_widget.dart'; +import '../widgets/shared/drawer_item_widget.dart'; +import '../widgets/shared/profile_image_widget.dart'; +import '../widgets/shared/rounded_container_widget.dart'; + class ProfileScreen extends StatefulWidget { ProfileScreen({Key key, this.title}) : super(key: key); @@ -18,46 +19,52 @@ class _ProfileScreenState extends State { @override Widget build(BuildContext context) { return AppScaffold( - appBarTitle:'Profile', - body:ListView( - padding: EdgeInsets.zero, - children: [ + appBarTitle: 'Profile', + body: ListView(padding: EdgeInsets.zero, children: [ Container( height: SizeConfig.heightMultiplier * 30, child: DrawerHeader( - child: Column( - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - CircleAvatar( - radius: SizeConfig.imageSizeMultiplier * 12, - backgroundImage: NetworkImage( - "https://p.kindpng.com/picc/s/404-4042774_profile-photo-circle-circle-profile-picture-png-transparent.png"), - backgroundColor: Colors.transparent, - ), - Padding( - padding: EdgeInsets.only(top: 10), - child: AppText( - "Dr. Chris evans", - fontWeight: FontWeight.bold, - - fontSize: SizeConfig.textMultiplier * 3, - )), - AppText("Director of medical records",) - ], + child: ProfileImageWidget( + url: + "https://p.kindpng.com/picc/s/404-4042774_profile-photo-circle-circle-profile-picture-png-transparent.png", + name: "Dr. Chris evans", + des: "Director of medical records", ), ), ), - RoundedContainer(child: ListView(children: [ - DrawerItem("Gender", Icons.person_pin, color: Colors.black, subTitle: "Male",), - DrawerItem("Clinic", Icons.build, color: Colors.black, subTitle: "Neurology Clinic",), - DrawerItem("Hospital", Icons.local_hospital, color: Colors.black, subTitle: "Al-Takkassussi",), - DrawerItem("Speciality", Icons.crop_square, color: Colors.black, subTitle: "being great",), - ],), - width: SizeConfig.screenWidth*0.70, - height: SizeConfig.screenHeight*0.40, + RoundedContainer( + child: ListView( + children: [ + DrawerItem( + "Gender", + Icons.person_pin, + color: Colors.black, + subTitle: "Male", + ), + DrawerItem( + "Clinic", + Icons.build, + color: Colors.black, + subTitle: "Neurology Clinic", + ), + DrawerItem( + "Hospital", + Icons.local_hospital, + color: Colors.black, + subTitle: "Al-Takkassussi", + ), + DrawerItem( + "Speciality", + Icons.crop_square, + color: Colors.black, + subTitle: "being great", + ), + ], + ), + width: SizeConfig.screenWidth * 0.70, + height: SizeConfig.screenHeight * 0.40, ), - - ] - )); + ])); } -} \ No newline at end of file +} + diff --git a/lib/widgets/patients/patinet_profile_widget.dart b/lib/widgets/patients/patinet_profile_widget.dart deleted file mode 100644 index 7830afc5..00000000 --- a/lib/widgets/patients/patinet_profile_widget.dart +++ /dev/null @@ -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'),), - ); - } -} \ No newline at end of file diff --git a/lib/widgets/patients/profile/Profile_general_info_Widget.dart b/lib/widgets/patients/profile/Profile_general_info_Widget.dart new file mode 100644 index 00000000..916cd5a8 --- /dev/null +++ b/lib/widgets/patients/profile/Profile_general_info_Widget.dart @@ -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: [ + 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, + ); + } +} \ No newline at end of file diff --git a/lib/widgets/patients/profile/patinet_profile_widget.dart b/lib/widgets/patients/profile/patinet_profile_widget.dart new file mode 100644 index 00000000..9efb0d6a --- /dev/null +++ b/lib/widgets/patients/profile/patinet_profile_widget.dart @@ -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: [ + 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() + ]); + } +} + + + + + diff --git a/lib/widgets/patients/profile/profile_general_info_content_widget.dart b/lib/widgets/patients/profile/profile_general_info_content_widget.dart new file mode 100644 index 00000000..1a014422 --- /dev/null +++ b/lib/widgets/patients/profile/profile_general_info_content_widget.dart @@ -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: [ + SizedBox( + height: 10, + ), + AppText( + title, + fontSize: SizeConfig.textMultiplier * 3, + fontWeight: FontWeight.w700, + color: Hexcolor('#58434F'), + ), + AppText( + info, + color: Hexcolor('#707070'), + fontSize: SizeConfig.textMultiplier * 2, + ) + ], + ), + ); + } +} diff --git a/lib/widgets/patients/profile/profile_medical_info_widget.dart b/lib/widgets/patients/profile/profile_medical_info_widget.dart new file mode 100644 index 00000000..ba139e85 --- /dev/null +++ b/lib/widgets/patients/profile/profile_medical_info_widget.dart @@ -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: [ + Padding( + padding: const EdgeInsets.symmetric(horizontal: 14, vertical: 14), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + AppText( + 'Patient Medical Information ', + fontSize: SizeConfig.textMultiplier * 3, + fontWeight: FontWeight.w700, + color: Hexcolor('#58434F'), + ), + SizedBox( + height: 20, + ), + Row( + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: [ + 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: [ + 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) + ], + ); + } +} diff --git a/lib/widgets/patients/profile/profile_status_info_widget.dart b/lib/widgets/patients/profile/profile_status_info_widget.dart new file mode 100644 index 00000000..2c69eb03 --- /dev/null +++ b/lib/widgets/patients/profile/profile_status_info_widget.dart @@ -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: [ + Padding( + padding: const EdgeInsets.symmetric(horizontal: 14), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + 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, + ); + } +} diff --git a/lib/widgets/shared/app_texts_widget.dart b/lib/widgets/shared/app_texts_widget.dart index 07c82d17..db4f1b2c 100644 --- a/lib/widgets/shared/app_texts_widget.dart +++ b/lib/widgets/shared/app_texts_widget.dart @@ -1,7 +1,6 @@ import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import '../../util/extenstions.dart'; // OWNER : Ibrahim albitar diff --git a/lib/widgets/shared/profile_image_widget.dart b/lib/widgets/shared/profile_image_widget.dart new file mode 100644 index 00000000..159d179b --- /dev/null +++ b/lib/widgets/shared/profile_image_widget.dart @@ -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: [ + 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, + ) + ], + ); + } +} diff --git a/pubspec.yaml b/pubspec.yaml index 549a17d8..996ef2fc 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -76,6 +76,11 @@ flutter: - assets/images/close_icon.png - assets/images/welcome_login_icon.png - assets/images/verified_icon.png + - assets/images/heartbeat.png + - assets/images/lab.png + - assets/images/note.png + - assets/images/radiology-1.png + # - images/a_dot_ham.jpeg # An image asset can refer to one or more resolution-specific "variants", see