From 3c5adc0a1d6b19289e54e904a757e9105bf68d9d Mon Sep 17 00:00:00 2001 From: hussam al-habibeh Date: Wed, 23 Sep 2020 16:15:05 +0300 Subject: [PATCH] HMG Service layout --- .../images/medical/blood_cholesterol_icon.png | Bin 0 -> 4682 bytes assets/images/medical/blood_sugar_icon.png | Bin 0 -> 2713 bytes .../medical/triglycerides_blood_icon.png | Bin 0 -> 4713 bytes lib/config/localized_values.dart | 157 +++++---- .../all_habib_medical_service_page.dart | 303 ++++++++++++++++-- .../health_converter.dart | 94 ++++++ .../health_converter/blood_sugar.dart | 208 ++++++++++++ lib/pages/landing/home_page.dart | 4 +- lib/pages/landing/landing_page.dart | 226 ++++++------- lib/pages/medical/medical_profile_page.dart | 2 +- .../data_display/services)contaniner.dart | 50 +++ 11 files changed, 847 insertions(+), 197 deletions(-) create mode 100644 assets/images/medical/blood_cholesterol_icon.png create mode 100644 assets/images/medical/blood_sugar_icon.png create mode 100644 assets/images/medical/triglycerides_blood_icon.png create mode 100644 lib/pages/AlHabibMedicalService/health_converter.dart create mode 100644 lib/pages/AlHabibMedicalService/health_converter/blood_sugar.dart create mode 100644 lib/widgets/data_display/services)contaniner.dart diff --git a/assets/images/medical/blood_cholesterol_icon.png b/assets/images/medical/blood_cholesterol_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3f1ab21602302b6c639121593be971279d249107 GIT binary patch literal 4682 zcmV-Q61DA#P)1{ekzbVL|*Kt%`CfC4J0M8FM1QA|`67cema+;G7}#0?{g+i{N?5m!XS zh!KrZM8O3WL~#KDHK@3-$>IRQFf%#Dxy52O>HmBFP0rbQlpetSt{)TW|mo)!=yFK=TenbTJVfFV5E?qBl`)=C8dG zeWM-`EoF>3MAZKb&Q}vr8+QI&R%R2Jv>hICEosyr8x*g-c$Y@Y#Z$Qw%61qI1}}n~A70L-ct; zZDYz@_I*!$HelyUiD)ztHD>2J5Yc5s)N{M8k{s4zp7<8}$$U0cSu~$>c1gZ8sAlUl%nKf3@c$!z3E2`T^t4MdmETjxB@r=z0&3$QSdywwu@!C z*66J_5>ao@^lV0);p;y{bTs?D5tH~VD0HhZgcU#{D~AX0Q1LP-3vMyqR&|{kLUv{U z55e4(1l03az%=u{Fxe1sCW77=7jy{w)`w|gd ziiujEpUN6wx+rr&2A*RPQ$`7Tjp_+6fMGU5OH>ziVmO`=^|-i6V~EPFU`B5s{^!1q zTX61X@u0V6=s6a#dyXffbrwue66YuE_e&X~H54sF{O0K}m6bgMl20`|H$6ipkb*Ql zTOZ0QFbVE}&M@;Rae7~N%?87Zmo;c*aY;l1maqrvAl|y=Vopf{`A|H+Ni)={-rQZh z9QsAvAHTm5&yf@OkP%g2Nl+mxQ*F?$`zQQhs-ZtNFrpeg;X4CN`l(YU@0iU+$Wi#hMxO~XfKPpHB+<#%$brilRclD zJ6e|Mo@V@xGX(S!JzzQJD}@t8WQ(4xABG@ei!ziw7}tNn>f0{{?Ot(-!<%wq07G7l zLD&sx7(Ll=ZU&ndqGB=hrrpHQC(TD$Lw`otiIzkR2xz=x93SFpQBO5Af73mb-Z3cV z5P22u@d2y%-5B+G2Y>5rCukE>mN=Sx4mR{Qr5m*i=pC(NHo)FQ^rWHgGc3wx3`a1+ z23X$IG<-eiNbn?9$21`UE@c1R6G1vOp(PZ{Y6I<$=b8t%n*&o!6aC2!_f9b%eI<)- z(P$55{NAB%4aLYS0<`>3VI<8tmwGP;rnEIYpi6W~F)Q!Gzap`3fIg#!$Q}vY&l_Ck zlzJ>CSRXDXl{_|~uZlT5NenPV%6yE#i=4+F9HcK2^8M-<4>^U^^H&dzm4_iuDwmf# z#sXvo+;i700s#|Pxiv8e?<*RxvqhO8sGjyu!*KO4&%H1dal=-*3pmOf&#lUhVuX{n zW8bwN;(|Pc9`!YpJsy&sDb`F`hHu03nBokw0{&)|Mj)WGcpFv7(O`rsT?@hgnREjxy%vNAT*cgBS25*0WUr z#R7KC%Q1TWP;tL!&~xfQ9OnOhf!<^?-P~evuZ&;~)5xR3^k8AfT`Q7QF=f09@aXAe4Gvb28!S;BY zYv5#3;^U4n?wOAOI(^>?$Kiv|Nz2jw7;Iv3#Kz3SCwXkBA_gEXbraK!@i1B5YTOW9eHZ0`!u2 zQ;ua1y(wb!3-{-&7U8kBNCo&+Oh;v=!jHHs^doluQjEFtFmxq}_ZbbtBi!dTAx%%2l(hb`zSh7Z+K{(;{UGqei#PYxn^i9y7!fh6XFWh@l0hY^DWhS7r4-aJ%`h{{k&eZpp35BT*$O;Ns1g!V znEd^SP`Yfy;v~SAYwv4OKbIIM!$QCtbf5!`--*0*0@aW-)as>s+4(gQP4>QV zM+Bzu6jVQm|9S`$$_lKnPlrQ9p0TS%My0hr?PAUGur{W3FKyYCQ%ttH z{z8(f!7x1-%5fg_jf2oW8w8UZW5}A#&OdLsPb}*U7{?nWAu43O141Y!V>{Y&|I}&pWusG&q?SW4IwVSZE>wckr1^buTZOxP?|f1 zi!|tPUAEv01rRi9ATh=9(S%_X?&A_u#?$tG7^Pr65ut86WVE?V+mUIU&S-fd;d_@t zhk3@KY_V8`QL zmCrGnZ}dgbDXh|{K5<_tK#+o_;~}hFuZD9eX+L;x+}9<7hA))*&Q~^#0irRo0iLpO zF(y%k>v8VBglS44c6fnTRaN zmKgGv`+FaBadSbV1Rgdeas}7GwBe!`G)BCzOIaIC5c7i0ZZsmKY)XVA#oh>kdms<> z@@QM*PJ^i@S2v>>2>NssXnknyHi|VDT++>vR(OzAHZ=ZoZG~%C-5W7pzldQh&Whip zkZ0II?;=ar?-@QtV_uohfPj92A$@ROn^YDiG+bs2Jojeo`FU4X*%}{mHo|0i)XZ7p z|AD^Vs0^bX6xpDc>1+1PwiyKjF^^RycOQ+4d=Y6G6lFOM|6iO#jZT={Cj_K=*Qu?7 z!eGaHY{#tti!M~!@g5=N_JsSlg5___G+GHa_{pIExBxm%N8p|be9_YcAJ6eBtI#zE{iCdo zD=f=&1p`+{R3?4lcCj^KSI~dHL;Wq-^MCGxz9U6%i5m955A*qd9dY}O9$<`&1QUn=$9wBYmrcG_7{AUKGbduh@?PSiJax%Z&c@-OxtN{nCVoc&U&w2-wk8zi zB3jZm2V^OWZeN;9`Qa@v%)pd5c$l@{R!iPplg!M=vI&iIE#KaOEW^Y^O!l<}zSnWi zW8ZC;HHIPuTaV^;MTmhdCF0B0`&fnsOh&S_Bm*e^2D*K1?c0a7g=-oWBX$&ldY`3P zW^fq0ZYGAWMKLlEaa@84bE(B*A6Go!xo5X#?J>(Ip+yGE?&JVPkdL8fLZsXXZ=8>z zp)<2MB(b69BuIWCX_wZcGqTufx` z;w}7^PgZYXM?3wy8gFb$ER{ByB{XA{>@G73%|LH*34%M3ts)3AdDx%{>bNOJ9VU!q z?Q)^7N_oz&CoxRDCwdIujc7p{>E%pV2tG#^42>f8MvZZZgiMM0T(Bd?eIAUVdi72* z>*c#@+#9p5Ex4Uks^6li zy%l&0+`+6sbJ0U;MDz#2-qYO>0@@b6r3$VBJ{RPY1z;so<;Fon);?aMTSz46mnoVW zV~;KUf0eMP>dgxtFigUY*#5%PJq$m-ppp)mtjO{Dpn@_GwBXSlRau9PSoR7KU z&4BWyxPEM0f;~b5Sl=oat-H;v`V%cZ>EHE zj31wh#Xz+Ub>LHSvEk`B?MjP`=7H!aCVAV5jpxU&z~URu7&YOKir8y1jRO!CTV9u8YaWhwNH*_wa>C}1FqrR?QG%ioS7oi+a4zLKH zPa|Y#3j1#lY`j0&$8rJBSOVQ^qsMCJv+vFug!23?{UVg((wE5*r3`dS3`5%exwa*S zXYdW@Zgc4=4aB$?#qne6DIChuT#g{W8l2BV7VHI((zZqBRI~4SE=(yDlU$TW3S)}G zDu~zzU+q>>A41;tADKvZFNNSy*i$SK{8AV=l+wndQkp zQi64cbJE=F7sNe}K@P9GuK^Ra~kd7MxJSzTet=i-@C{=qxMoc0S3mT z(pBY&9V%*&NOd!EZi9QzC_=bwH*8DQF5(bY35jt&gctp}AjTWr49w@TY~zuXXfw8T zrbyI54`>et?FU78PlsT=Z((Ym$3Ew!*&Vh8l;EKvYI8dBy=;k7{vpENqZrI- zBN(T&e9aueE zd#oH)9ml`-a!W0J+zNqesVzdZC25Pa#9Ao?5qU&Z&{PyG*g~Qag;seO60{l;uLd6& zu>?UY3WA6b5hF#4RZ&r~#DW&e)k2%nXj?Bz3-tE3=A_>>lOMmGot-(mb6%fh{+Qj_ znKQrNo|$uguhWA>H|YoP`VL-i2Y_djM%`i|fR_O5>+p6vfCFO}wo5$L1*JE(pCskG z!^SQuJ}KWJ{@7*3H>Cf^oH`K{$^p9f&1;2&anuiLT;iZ$Y9<^z~* z@dj@Na6W*&k;>Ou%v5fd=y|IF9ALS@MSA{n+ZRnV=Vbts0L;rAVdnH>0j#npw{-xX z0&pgPz9z@4Nd}zmawvfH01g&cHShmR0lZ+bHRAys2|&~FR#yZP6Yp#C_}v6xDS#>6 zkVVWr{!IWD0hk5gur6PF27u8y-){l1jem$DoB-gz-D$eN7^B8FYnW4aa+?^tQd`kO zTXslFPl_+V!T^_t$sVK(Uc7q4)bds|?9=SheQ=qZA zW$yv-T?g8cr~%`VycWQon0tK8w)*MxUC*{``8tlS)-1;MzMZf!;35=Y0mi)Xct#r(Xu(FBJnJ zcXOmO3v;iJ0ywrwtF{9;qGE`14+mhc$$a)#03QYLI2BlykrYr_jv@}4 zPglIgB;}kZ)OEv&{XKE5P{?yi2J1Es&dM@bQT(hV|N1ypQOHt`=H=(hDztJGAII7A z-38zv*8~#FJN{ngk~P@M^db|a_O0Pe&f{>>350$2KHS>8PKx6uxlxb3*GVlITg(jP)=&zFE>*pyUK=UY; zTqTY%J$6FLmVY?S=yqyIJvY65MW+4w#UE+Hs?qDqwG8-84@CxRwS8>wp zU`?Au0X`#o&6XTj^lEYJ?Ii>}Ug@b9xTvVm{qZM>{rhuz-F;&JbsjqCU;<0K7$f zb{7*ftIXqV@=HhB(Glh;J-Ah2zd>>Q;t~yOR_es1E$BLTW5oV$77@-vdcXQhT-WsO zTgo-LdxWfb8TeQv&|;L>FY5+f0^o~ur8-H-@!p!!Omxh@bABUxcv;1d(8YTr?e;Sr zs~@}Gfi`rEe&wAyFXv(tl;hv(xeS^T@}vHFhBjw;Th8%v&cBZ#(FqUvzUaZ5__&uG zKtoIR*tJRF{&I%$_%^-xTpDal{M~y1Jg6LZS?t2|8DpS&q{RGrEA8$HkD0;ueNmd}Xu)Td8@tBo7Iznui18mGpJzj`^=}k6_3OyXooZ<5&!@Q8%;FrW z+>p&mkD<`36i^uO_1=1wvf9H+{&-^lK<<7ahv~k`rH=!wuSM*7L7y@}naE`~UB%2k9%3ZT54$|Yv|Zx7HheTe9?Xo?8yG@$Tg)p)mc@75 zvq^;fAdO46iW;(s9JHj#5f%cfo2hM1Db2X#oeZeFBPl%}P4Syq#kp>VME2^3SatGv zX1^S-{4x4jv}itnPr00?TsJ;F>UXlt$hE8pJ%eS$hLvN@I`KcSxcESD`23DHg$qB% z1p^;azF!F7reuNC2_djxJw0WgQ@&e7KSV+hN<_&BSAV)dag|s z`~ctc4O}q&W|>LDPhOq3gXr~>O5e*sjI34jIL}s&Fhw8lX7R;WgcQjVVRbRoq44OB zx40iI#Qbl33M>sIMEo3|9`yq(WYjKKifYovj{l7&=NPa2F*eXdye%Mmz|lS_-YET^ z62F@x6n}Kiv8O3zO_xyVL1A0*7Xet1*ERL= z%BiSr#V-(Runak%`0ZjpFHTOnqgxg9-&~WCs$EW!iVuBF8Zb~ZOJ30RdP?jh)#+YV2z)F`{^YG1_4!UNA ztinE@6u-pMdGe-bFVdF(h0JG%GuH2XOV@XSwYC*Mhra6ugUUR*ZcI6oJiZLz{VaUk zU@BI$^8-L&0kw#i?AY^Le{)pHGkajmn%nkI9NF zcV)rf4$`K7HwSpZ;gjN*wPCBDpe!Z2t<7Xmqx?5>Me0icjBVq$&STqvV}$!mX4_Gd z0Imn{I`P>62XF0QR;Ij)1H8p0y@Sr;i$DIXg1@^$c^5yStRh(k>5upJ9Uq#>_OeEF zNrqwmxwTZQXbEMB(b1fSU95a}Io+#?3?V3fK0~07QNFv5TSDOTquwa|PA(**DSZWJ z0tp45di-RTP;cbNH>)_cmyVNEpfLwc@l#v4F1v+{eY?KEb+^!_-pVW+J(}Ws6rsD$ zFk|1Av-D`91-=jNhG>TUDw7=&1@TSsdszu%4TB?o#_W(poAfD$jUk#RUBQ@5U!XbI z6hGQsW4nUMrR!6|kH@h$wQJXo0l8>_w}}?LTxlswALGmtt>q$R=N(T9=fj`Vg1fKa z6N>ZaM913LHkwCkMJg5ce-`l7mzB?k5actC<-n!#f66eVSUHdtGG9_;^8ue_lKsb; zFywocW6TulVfwTiacH44mIJwyo8;P=NT9PrlEJb-68}57J;Ensa4cdNZtM!ywmUE+FZobzo6;-3vsPs_QfS<#F!5{i?g_)$;0XRZPi3 zZz6hxh`uJGe<$qQ>k$DNB6^32vP86=h}zUQW_s{bFy6cFPkV!;1%w~crbi35$#7rAK~v;>KR|y=mG&xG5c23bc8njk4$?56*6Xk$!mzHg;vkGxc@N` zm8QLs3K2(WBm69*e!YljD}K8w?G06EXh1|uz}$sIRK(QpUi`j+h}x&U!3qiIX`}v7 zp53Ree?uZ# zhH~Brxpw~!^tD8^=gw%HLdT70;H}WJ6QFsQqJV+=iOd$N4Gc zS!}pY6Y~7LXM&FYvosH#IPqLeGDND;1zRW8kasvVM9|Sc4$r=czca8G+!Rq&I|1d+ zPC5S~;c3m8qNQU&K}P@Wc=l!d-Bw!$T1WVBuT#D1@N6o<*~oPq2d$gJSZv2!a2Kp{ zB}DXVpXa^lzB&G_#CGjxm_fp#40M~*&g3v?Ohg}I^vn-21-p*^Gc;d(zs?v0o{ga1 z#XAIkqq#^Q5Q5%y?eC#Y^8>W|T_I?82=VTw@b1aN-@hIK&>6OL)p&PDXgJr=zl@R0 zAI7~8pjixpv$fqxRHaes@FW`Vb9mK+h3n|Q6whpdJ)hvb=~?M&As8M;MD2XOMK?T6 zOFJWjVyHF^kB*@{m(j1L>6LhHfo8`aOhjvqFfBh#;DcI6+RyS_5Hup9p713+kci41 zXp6CA^}@{MvQuh|W$^o0YU?x}QB`ue<`NZ$0OmUS^-lM+)&X|Ko_~e*yClTjs6FHA z1tdZ3J}xGrzoH|V9Z=afCK1sOG*I^7G_&eKF_!DP_Ftt{dI3g(j@>W<8yNR@fupBKI};;Mf?`rHsFph!ziYJ0ZpJ7-NZ4w2hDA_k)Z>`J zOdO1|K4BVl11x}QnR_MxGj_(MI?J&!^Jlw|SA~%jH-c#Wh7r+!jD}U6=QWJ#mo%Zy zyEYQh7^ai-(DwX=a;atL#JKo#u+}ISRTVgD@SQDy+SQ zaMc>JLtuELWD;DS)qZG2?s+;ZaHNKlaf(ybPKZ*a4~K?qthM{66HC+OQRCrmgjt zge}AoEi~m(9NS0`o?wewU`G7 z*299R;*ZfJ{3up5S3IF@=W>DO@ZFahs}eJUXFM8*k!?P=*ipeX7|g3iyr9c|{&;i} z6=(Q>W1PX+J{{HUOh0mI+v_xfy1)f^->MwFiyK*4jL_dek-}jR5xowEJcDgzzTy6W zGuJdMA0jI7;AA||4f=E!$Bi&JRQov72{bC2YEio;<45EnGlQaywrsjy3#A#XNE0SL z$G=@*QIo==qhgIlANMjdT(jfrxV1q1_?3YCr+_pEV2N$W{rC!ckgg6Ll*42PowOd? zE9SB%F{7cXz+(3l6R#zrx1jHsf*pdNcJW58Fi!z;dmVlJ-r5K45p&u9U@HB`0Q4t8 zAe{{lq~;DZI@I&m!yfPg5seB_hn`s5=ip!00nz~5!W9DZw{oU&&kFXGcCR1Qrg5*y z1nr&oG3-ICyq1T5eLdGp;<2L{XmOiWRTz;WHbttEu;7E~W z^8ZN~Ezoav^!y<$5Z1h2cA(`johfUFL06^;OH*;L$RMtWxGz6SE9;yH<>>G;)jk=Z zlU>5lzsNX_NGQS5W0rAIfco@c+}5fhxTF1^`5tz;y+C`woBkWaIl{aDC5#9C12hUj zp78YTi+sFnTrtYR^d-=r2aPotgsou(Msi6&`Vv?Zr=lEJc|k`xRMd~--zfT)iA>wf z;T|kPPxq#(VYsgv@RvmN6;se!hlrdqY?-`eB@V?-5l-6R82=Z+lP8UMo@pO3uVHJ= zhkmoMM=pl~!*qkPN$p)>Fv>!|9+&sYAc66(#x$!G0-7;8gDmtnB06Xtz>@(?r-jZi zWu7EBG!(%JvRY%jtKj4UZaUkFj9m5jKgJ3JS4X{{{*-gJGJL!zYCkR6t5v|l(% z+(GabQ>ka_nf@KDVcMwLRgNhFBTbcQB~-x^VGOz%=HNw)mW-P<;sEFFd|}R-F?lGq z2*ZI)+hy=C_j9DwXNf5xgF9Uysd4?>nR~-eaYz80LLV$&Cj_tz_JqWLYJhwOow2(( zBY+dhZdi6t6lne?v{PjmD`y6cF$Tt<7a;7-!wA0~JA_=DPcuTLh6&FXqciHyDrc3h zKJU2GpjqXRl4hJS`&GfG&W4M%T*F!Hs*dxaIn8kD*u*5s>LY}@W#LGhSgd0zG)AZl zr@T?ue4obUXqH)a6GH@=N{cI1U%{aCl|`Y}RnSImW;%3#A=GST%()Qi6r9853&IEd z-Lgb=5ooymv3E&1{U=*!h6^+kEHsiS`U(rpSmybgg=hOFmHXVN9gLU*6E>@)w7%M+ zW2F&kQ+-Q*_qNC==^JeC;eNXV%r+qmCWVfHg&2Eir<8H;+?6lSD#?^a7?_Z75blPxqI1W%&pEHq_;(}gWO zz7)YECe3@6BjzfY=VvB}-#b7O$~eQt(OPF&2NkEE8u$>+CQ$<)N53s%Z_OKL6FhDG zc0b)=4g3a4t*1CR(6ooHWecvEJ_evin089EH}mZR^QT&9T>bH)(liPoO*af-muTQ< zU7f?U(}Mxul{aW51TSnuN|SngizdPnme{@iS;DBdTC7rv3x&2iDyhvejj2p!{h7Ku zpo5?gTNlDnC2zpl8SYGKWpaoYg;75-$(5>QDikIi#f4BqvJr;TwRqG6acB@6--%^l|)Hb$k%%8{H>*AAMy~^_2=a%0*tg-y& zLT{5vT;!EX%Wt-Cn+~@(6LDr(ty8oUoFHl}9=zQI1CPrw?F7vsH|9w4V(1Jno0En7KYr+mv}z+l`aAYPtmE(ij;N0@ z?IcF-Bmu7o%(vO;(~2cbJKdGkw&*1={^J1d(rH0=p{;V60X3(%UZ~KKJMo+H6@M1m zYVV|0Xl_WUH*GjUVEp1Fw*#kU^$QhGBcvR}|I>%$+Om`@a6WFf>|QM)A@_ztMESJY zykH5IxAUP>{}NlsH+^Ut;XMPfjhy0;Ql%Ko7z{ncbR#VuhYU2D$AX#9Ye_Ubv=P$5 zY(fr$M509K&Bq9pX=6kUXJHtU0x1Yvu*C+=HXjXQiLe8aB8doARZeF=-iI*{Ff?Xb z){G@w>tvtu^BSBzU&`}i#@u<=YKtx4YJsNOl9ls(fo8MCY&=q+$qE4|WF)ROFEd%= z>B4jBfQrP%YkkPvlTxus$q3q73^GH6`zL~qYvkpo$Vcuh-k-j15w_PJVJ1D8lpT*p3g1|=;lDfCb5@N+> ztb+Fr*YU`bn`j#XIXKu<(b8`=0dg*L?_J0|Ci+;)$!j#S2s2k2AKspE{!k3D2|Z;- zULxo~@spId+XABkm78WGEVq8AH zdIQh5Xe1mx^K~JZzBx@_u1^I`3W_b}T-R8Eyv43U#UyQ-3ret*432P;csWd|Lqp~R zAUL5O8zFVd9zN;l`-UtxZ_rMtSXkvnA0wh?6ZG{#aFG#Bv@+oLlo~1Sy)Bt*NLNE7 zV3H1wP}jr3nvu<=JJ9<=D#L3@au! zLPp?FiCNAM+-X{`BUSzfj`c_kItgK08@VIIEXcq`%PgnHF(QVL_jUtQhHD5nS@P#x z>PY`ALz~#FTP`p&YU>@~oB*?18%Wk(XIdKKByn$Q&7z!{0Z$~$KxOU8GSx_T@7j4j zX4*kK7BA@OQ~8L_u**xCtv`TOZVBq!7TdTAAv(4t*5B0;>ROJ@=Q34uD1of8#^GQA9nr4krs`r*7`E-`c# zikvaf3zWb{F#rY`i6-b}i!4eliUkLdLbJafT@Gs)7GN_qt$ann%6~ z<>8{%OqIYv{a=l8Wg=B^`f7x!4q!sf9?H{4?GO}=%F(A{0M$rWDPmQJGNI1$Q-?RH rj^rhoP#H9om#xa^tt9^3gNXhM$0~d9^86oq00000NkvXXu0mjf{Er2u literal 0 HcmV?d00001 diff --git a/lib/config/localized_values.dart b/lib/config/localized_values.dart index baf3cc69..ac7ee547 100644 --- a/lib/config/localized_values.dart +++ b/lib/config/localized_values.dart @@ -227,7 +227,10 @@ const Map> localizedValues = { 'ar': 'مسح فوق رمز الاستجابة السريعة للتحقق في الجهاز في المستشفى' }, "sendEmail": {"en": "Send Email", "ar": "ارسال نسخة"}, - "EmailSentSuccessfully": {"en": "Email Sent Successfully", "ar": "تم إرسال البريد الإلكتروني بنجاح"}, + "EmailSentSuccessfully": { + "en": "Email Sent Successfully", + "ar": "تم إرسال البريد الإلكتروني بنجاح" + }, "close": {"en": "Close", "ar": "مغلق"}, "booked": {"en": "Booked", "ar": "محجوز"}, "confirmed": {"en": "Confirmed", "ar": "مؤكد"}, @@ -367,22 +370,32 @@ const Map> localizedValues = { "consultation": {"en": "Consultation", "ar": "استشارة"}, "logs": {"en": "Logs", "ar": "السجلات"}, "textToSpeech": {"en": "How May I Help You?", "ar": "كيف يمكنني مساعدتك؟"}, - "locationDialogMessage": {"en": "Allow the HMG app to access your location will assist you in showing the hospitals according to the nearest to you.", "ar": "السماح لتطبيق مجموعة الحبيب الطبية بالوصول إلى موقعك سيساعدك في إظهار المستشفيات وفقًا للأقرب إليك."}, - "parking":{"en":"Parking","ar":"مواقف"}, - "alhabiServices":{"en":"HMG Service","ar":"خدمات الحبيب"}, - "parkingTitle":{"en":"Car service, car service, service to save parking information, return to it later, 1- By clicking on (Read the code), save the parking data. 2- By clicking on the button (view my car park), it shows you the car’s location in Google Maps. 3- Read another position by pressing the Clear Position Data button.","ar":" خدمة المواقف، تتيح هذه الخدمة للمستخدم معلومات عن موقف السيارة ليسهل عليه العودة لها لاحقاً ، 1- بالضغط على زر(قراءة الكود) تستطيع حفظ البيانات الخاصة بالموقف. 2-بالضغط على زر(عرض موقف سيارتي) يعرض لك موقع السيارة في خرائط قوقل. 3- لإعادة قراءة موقف آخرعن طريق الضغط على زر(مسح بيانات الموقف). "}, - "readBarcode":{"en":"Read Barcode","ar":"قراءة الكود"}, - "showMyPark":{"en":"Show My Park","ar":"عرض بارك"}, - "clearMyData":{"en":"clear My Data","ar":"امسح البيانات"}, - "floor":{"en":"Floor:","ar":"الطابق"}, - "gate":{"en":"Gate:","ar":"بوابة"}, - "building":{"en":"Building:","ar":"المبنى"}, - "branch":{"en":"Branch:","ar":"الفرع"}, - "emergencyServices":{"en":"Emergency Services:","ar":"خدمات الطوارئ"}, - "nearester":{"en":"Nearest ER:","ar":"أقرب طوارى"}, - "locationa":{"en":"location:","ar":"الموقع"}, - "ambulancerequest":{"en":"Ambulance :","ar":"طلب نقل "}, - "requestA":{"en":"Request:","ar":"اسعاف"}, + "locationDialogMessage": { + "en": + "Allow the HMG app to access your location will assist you in showing the hospitals according to the nearest to you.", + "ar": + "السماح لتطبيق مجموعة الحبيب الطبية بالوصول إلى موقعك سيساعدك في إظهار المستشفيات وفقًا للأقرب إليك." + }, + "parking": {"en": "Parking", "ar": "مواقف"}, + "alhabiServices": {"en": "HMG Service", "ar": "خدمات الحبيب"}, + "parkingTitle": { + "en": + "Car service, car service, service to save parking information, return to it later, 1- By clicking on (Read the code), save the parking data. 2- By clicking on the button (view my car park), it shows you the car’s location in Google Maps. 3- Read another position by pressing the Clear Position Data button.", + "ar": + " خدمة المواقف، تتيح هذه الخدمة للمستخدم معلومات عن موقف السيارة ليسهل عليه العودة لها لاحقاً ، 1- بالضغط على زر(قراءة الكود) تستطيع حفظ البيانات الخاصة بالموقف. 2-بالضغط على زر(عرض موقف سيارتي) يعرض لك موقع السيارة في خرائط قوقل. 3- لإعادة قراءة موقف آخرعن طريق الضغط على زر(مسح بيانات الموقف). " + }, + "readBarcode": {"en": "Read Barcode", "ar": "قراءة الكود"}, + "showMyPark": {"en": "Show My Park", "ar": "عرض بارك"}, + "clearMyData": {"en": "clear My Data", "ar": "امسح البيانات"}, + "floor": {"en": "Floor:", "ar": "الطابق"}, + "gate": {"en": "Gate:", "ar": "بوابة"}, + "building": {"en": "Building:", "ar": "المبنى"}, + "branch": {"en": "Branch:", "ar": "الفرع"}, + "emergencyServices": {"en": "Emergency Services:", "ar": "خدمات الطوارئ"}, + "nearester": {"en": "Nearest ER:", "ar": "أقرب طوارى"}, + "locationa": {"en": "location:", "ar": "الموقع"}, + "ambulancerequest": {"en": "Ambulance :", "ar": "طلب نقل "}, + "requestA": {"en": "Request:", "ar": "اسعاف"}, "MyAppointments": {"en": "My Appointments", "ar": "مواعيدي"}, "NoBookedAppointments": { "en": "No Booked Appointments", @@ -450,43 +463,75 @@ const Map> localizedValues = { "OrderDetails": {"en": "Order Details", "ar": "تفاصيل الطلب"}, "VitalSign": {"en": "Vital Sign", "ar": "العلامة حيوية"}, "MonthlyReports": {"en": "Monthly Reports", "ar": "تقارير شهرية"}, - "km":{"en":"KMs:","ar":"كم"}, - "PatientHealthSummaryReport":{"en":"Patient Health Summary Report","ar":" ملخص التقارير الشهرية"}, - "ToViewTheTermsAndConditions":{"en":"To View The Terms And Conditions Report","ar":" عرض الشروط والأحكام "}, - "ClickHere":{"en":"Click here","ar":"أنقر هنا"}, - "IAgreeToTheTermsAndConditions":{"en":"I agree to the terms and conditions ","ar":"أوافق على الشروط والاحكام "}, - "IAgreeToTheTermsAndConditionsSubtitle":{"en":"I agree to the terms and conditions ","ar":"هذا ملخص التقرير الصحي الشهري و الذي يسرد المؤشرات الصحية و نتائج التحاليل لأخر الزيارات. يرجى ملاحظة أن هذا التقرير هو تقرير يتم ارساله بشكل آلي من النظام و لا يعتبر رسمي و لا تؤخذ عليه أي قرارات طبية"}, - "Save":{"en":"Save","ar":"حفظ "}, - "UserAgreement":{"en":"User Agreement","ar":"اتفاقية الخصوصية "}, - "UpdateSuccessfully":{"en":"Update Successfully","ar":"تم التحديث بنجاح"}, - "CHECK_VACCINE_AVAILABILITY":{"en":"CHECK VACCINE AVAILABILITY","ar":"تحقق من توافر اللقاح"}, - "MyVaccinesAvailability":{"en":"MyVaccinesAvailability","ar":"توفر لقاحي"}, - "PaymentService":{"en":"Payment Service","ar":"خدمة المدفوعات"}, - "PaymentOnline":{"en":"Service","ar":"الالكتروني"}, - "OnlineCheckIn":{"en":"Online Check-In","ar":"مدفوعات معلقة"}, - "MyBalances":{"en":"My Balances","ar":"رصيدي"}, - "BalanceAmount":{"en":"Balance Amount","ar":"رصيدالحساب"}, - "TotalBalance":{"en":"Total Balance","ar":"الرصيد الكلي"}, - "CreateAdvancedPayment":{"en":"Create Advanced Payment","ar":"إنشاء دفعة مقدمة"}, - "AdvancePayment":{"en":"Advance Payment","ar":"الدفع مقدما"}, - "AdvancePaymentLabel":{ - "en":"You can create and add an Advanced Payment for you account or other accounts.", - "ar":"يمكنك تحويل مبلغ لحسابك لدى المجموعة أو لحساب احد المراجعين"}, - "FileNumber":{"en":"File Number","ar":"رقم الملف"}, - "Amount":{"en":"Amount *","ar":"المبلغ *"}, - "DepositorEmail":{"en":"Depositor Email *","ar":"البريد الإلكتروني للمودع *"}, - "Notes":{"en":"Notes","ar":"ملاحظات"}, - "SelectPatientName":{"en":"Select Patient Name","ar":"اختر اسم المريض"}, - "SelectFamilyPatientName":{"en":"Family Members","ar":"أفراد الأسرة"}, - "SelectHospital":{"en":"Select Hospital","ar":"اختر المستشفى"}, - "MyAccount":{"en":"My Account","ar":"حسابي"}, - "OtherAccount":{"en":"Other Account","ar":"حساب آخر"}, - "SelectBeneficiary":{"en":"Select Beneficiary","ar":"حدد المستفيد"}, - "ConfirmThePayment":{"en":"Confirm The Payment","ar":"تأكيد عملية الدفع"}, - "DepositorName":{"en":"Depositor Name","ar":"اسم المودع *"}, - "MobileNumber":{"en":"Mobile Number","ar":"رقم الجوال"}, - "Ok":{"en":"Ok","ar":"حسنا"}, - "TheVerificationCodeExpiresIn":{"en":"The Verification Code Expires In","ar":"تنتهي صلاحية رمز التحقق في"}, - "PleaseEnterTheVerificationCode":{"en":"Please enter the verification code send to","ar":"الرجاء إدخال رمز التحقق المرسل إلى"}, - + "km": {"en": "KMs:", "ar": "كم"}, + "PatientHealthSummaryReport": { + "en": "Patient Health Summary Report", + "ar": " ملخص التقارير الشهرية" + }, + "ToViewTheTermsAndConditions": { + "en": "To View The Terms And Conditions Report", + "ar": " عرض الشروط والأحكام " + }, + "ClickHere": {"en": "Click here", "ar": "أنقر هنا"}, + "IAgreeToTheTermsAndConditions": { + "en": "I agree to the terms and conditions ", + "ar": "أوافق على الشروط والاحكام " + }, + "IAgreeToTheTermsAndConditionsSubtitle": { + "en": "I agree to the terms and conditions ", + "ar": + "هذا ملخص التقرير الصحي الشهري و الذي يسرد المؤشرات الصحية و نتائج التحاليل لأخر الزيارات. يرجى ملاحظة أن هذا التقرير هو تقرير يتم ارساله بشكل آلي من النظام و لا يعتبر رسمي و لا تؤخذ عليه أي قرارات طبية" + }, + "Save": {"en": "Save", "ar": "حفظ "}, + "UserAgreement": {"en": "User Agreement", "ar": "اتفاقية الخصوصية "}, + "UpdateSuccessfully": {"en": "Update Successfully", "ar": "تم التحديث بنجاح"}, + "CHECK_VACCINE_AVAILABILITY": { + "en": "CHECK VACCINE AVAILABILITY", + "ar": "تحقق من توافر اللقاح" + }, + "MyVaccinesAvailability": { + "en": "MyVaccinesAvailability", + "ar": "توفر لقاحي" + }, + "PaymentService": {"en": "Payment Service", "ar": "خدمة المدفوعات"}, + "PaymentOnline": {"en": "Service", "ar": "الالكتروني"}, + "OnlineCheckIn": {"en": "Online Check-In", "ar": "مدفوعات معلقة"}, + "MyBalances": {"en": "My Balances", "ar": "رصيدي"}, + "BalanceAmount": {"en": "Balance Amount", "ar": "رصيدالحساب"}, + "TotalBalance": {"en": "Total Balance", "ar": "الرصيد الكلي"}, + "CreateAdvancedPayment": { + "en": "Create Advanced Payment", + "ar": "إنشاء دفعة مقدمة" + }, + "AdvancePayment": {"en": "Advance Payment", "ar": "الدفع مقدما"}, + "AdvancePaymentLabel": { + "en": + "You can create and add an Advanced Payment for you account or other accounts.", + "ar": "يمكنك تحويل مبلغ لحسابك لدى المجموعة أو لحساب احد المراجعين" + }, + "FileNumber": {"en": "File Number", "ar": "رقم الملف"}, + "Amount": {"en": "Amount *", "ar": "المبلغ *"}, + "DepositorEmail": { + "en": "Depositor Email *", + "ar": "البريد الإلكتروني للمودع *" + }, + "Notes": {"en": "Notes", "ar": "ملاحظات"}, + "SelectPatientName": {"en": "Select Patient Name", "ar": "اختر اسم المريض"}, + "SelectFamilyPatientName": {"en": "Family Members", "ar": "أفراد الأسرة"}, + "SelectHospital": {"en": "Select Hospital", "ar": "اختر المستشفى"}, + "MyAccount": {"en": "My Account", "ar": "حسابي"}, + "OtherAccount": {"en": "Other Account", "ar": "حساب آخر"}, + "SelectBeneficiary": {"en": "Select Beneficiary", "ar": "حدد المستفيد"}, + "ConfirmThePayment": {"en": "Confirm The Payment", "ar": "تأكيد عملية الدفع"}, + "DepositorName": {"en": "Depositor Name", "ar": "اسم المودع *"}, + "MobileNumber": {"en": "Mobile Number", "ar": "رقم الجوال"}, + "Ok": {"en": "Ok", "ar": "حسنا"}, + "TheVerificationCodeExpiresIn": { + "en": "The Verification Code Expires In", + "ar": "تنتهي صلاحية رمز التحقق في" + }, + "PleaseEnterTheVerificationCode": { + "en": "Please enter the verification code send to", + "ar": "الرجاء إدخال رمز التحقق المرسل إلى" + }, }; diff --git a/lib/pages/AlHabibMedicalService/all_habib_medical_service_page.dart b/lib/pages/AlHabibMedicalService/all_habib_medical_service_page.dart index dc0d3cd2..616b5fd8 100644 --- a/lib/pages/AlHabibMedicalService/all_habib_medical_service_page.dart +++ b/lib/pages/AlHabibMedicalService/all_habib_medical_service_page.dart @@ -1,10 +1,21 @@ +import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/health_converter.dart'; import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/parking_page.dart'; +import 'package:diplomaticquarterapp/pages/BookAppointment/BookingOptions.dart'; +import 'package:diplomaticquarterapp/pages/ErService/ErOptions.dart'; +import 'package:diplomaticquarterapp/pages/ToDoList/ToDo.dart'; +import 'package:diplomaticquarterapp/pages/family/my-family.dart'; +import 'package:diplomaticquarterapp/pages/insurance/insurance_update_screen.dart'; + +import 'package:diplomaticquarterapp/pages/livecare/livecare_home.dart'; +import 'package:diplomaticquarterapp/pages/medical/medical_profile_page.dart'; +import 'package:diplomaticquarterapp/pages/paymentService/payment_service.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:diplomaticquarterapp/widgets/data_display/services)contaniner.dart'; class AllHabibMedicalService extends StatefulWidget { @override @@ -17,31 +28,273 @@ class _AllHabibMedicalServiceState extends State { return AppScaffold( isShowAppBar: true, appBarTitle: TranslationBase.of(context).alhabiServices, - body: ListView( - children: [ - InkWell( - onTap: ()=> Navigator.push(context, FadePage(page: ParkingPage())), - child: Container( - height: 50, - margin: EdgeInsets.all(8), - decoration: BoxDecoration( - color: Colors.white, - shape: BoxShape.rectangle, - borderRadius: BorderRadius.circular(7), - ), - child: Padding( - padding: const EdgeInsets.all(8.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Texts( - TranslationBase.of(context).parking, - fontSize: 16, - ) - ], - ), - ), + body: Column( + children: [ + Expanded( + child: ListView( + scrollDirection: Axis.vertical, + physics: AlwaysScrollableScrollPhysics(), + shrinkWrap: true, + children: [ + Container( + width: double.infinity, + height: 190, + decoration: BoxDecoration( + image: DecorationImage( + image: ExactAssetImage('assets/images/timeline_bg.png'), + fit: BoxFit.cover, + ), + ), + child: Padding( + padding: EdgeInsets.symmetric(horizontal: 10.0), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + 'Health Weather Indicators', + style: TextStyle( + color: Colors.white, + fontSize: 22.0, + fontWeight: FontWeight.w600, + ), + ), + SizedBox( + height: 35.0, + ), + Text( + 'Health Tips Based On Current Weather', + style: TextStyle( + color: Colors.white, + ), + ), + ]), + ), + ), + ServicesContainer( + onTap: () => Navigator.push( + context, + FadePage( + page: MedicalProfilePage(), + ), + ), + imageLocation: + 'assets/images/new-design/my_file_bottom_bar.png', + title: TranslationBase.of(context).myMedicalFile, + ), + ServicesContainer( + onTap: () => Navigator.push( + context, + FadePage( + page: LiveCareHome(), + ), + ), + imageLocation: 'assets/images/new-design/liveCare_ar_bg.png', + title: TranslationBase.of(context).livecare, + ), + ServicesContainer( + onTap: () => Navigator.push( + context, + FadePage( + page: BookingOptions( + isAppbar: true, + ), + ), + ), + imageLocation: + 'assets/images/new-design/booking_icon_active.png', + title: TranslationBase.of(context).bookAppo, + ), + ServicesContainer( + onTap: () => Navigator.push( + context, + FadePage( + page: PaymentService(), + ), + ), + imageLocation: + 'assets/images/al-habib_online_payment_service_icon.png', + title: TranslationBase.of(context).onlinePaymentService, + ), + ServicesContainer( + onTap: () => Navigator.push( + context, + FadePage(), + ), + imageLocation: + 'assets/images/al-habib_online_payment_service_icon.png', + title: 'Covid-19- Drive-Thru Test', + ), + ServicesContainer( + onTap: () { + Navigator.push( + context, + FadePage( + page: ErOptions( + isAppbar: true, + ), + ), + ); + }, + imageLocation: 'assets/images/emergency_service_image.png', + title: TranslationBase.of(context).emergencyService, + ), + ServicesContainer( + onTap: () => Navigator.push( + context, + FadePage( + page: ParkingPage(), + ), + ), + imageLocation: 'assets/images/pharmacy_logo.png', + title: 'Pharmacy'), + ServicesContainer( + onTap: () => Navigator.push( + context, + FadePage( + page: InsuranceUpdate(), + ), + ), + imageLocation: + 'assets/images/medical/insurance_card_icon.png', + title: TranslationBase.of(context).updateInsurance, + ), + ServicesContainer( + onTap: () => Navigator.push( + context, + FadePage(), + ), + imageLocation: 'assets/images/ereferral_service_icon.png', + title: 'E-Referral', + ), + ServicesContainer( + onTap: () => Navigator.push( + context, + FadePage( + page: MyFamily(), + ), + ), + imageLocation: + 'assets/images/new-design/family_menu_icon_red.png', + title: 'My Family', + ), + ServicesContainer( + onTap: () => Navigator.push( + context, + FadePage(), + ), + imageLocation: + 'assets/images/new-design/children_vaccines_icon.png', + title: 'Child Vaccines', + ), + ServicesContainer( + onTap: () => Navigator.push( + context, + FadePage( + page: ToDo(), + ), + ), + imageLocation: + 'assets/images/new-design/upcoming_icon_bottom_bar.png', + title: TranslationBase.of(context).todoList, + ), + ServicesContainer( + onTap: () => Navigator.push( + context, + FadePage(), + ), + imageLocation: 'assets/images/new-design/body_icon.png', + title: 'Symptom Checker'), + ServicesContainer( + onTap: () => Navigator.push( + context, + FadePage(), + ), + imageLocation: 'assets/images/new-design/blood_icon.png', + title: 'Blood Donation', + ), + ServicesContainer( + onTap: () => Navigator.push( + context, + FadePage(), + ), + imageLocation: + 'assets/images/new-design/health_calculator_icon.png', + title: 'Health Calculators', + ), + ServicesContainer( + onTap: () => Navigator.push( + context, + FadePage( + //page: HealthConverter(), + ), + ), + imageLocation: + 'assets/images/new-design/health_convertor_icon.png', + title: 'Health Converter', + ), + ServicesContainer( + onTap: () => Navigator.push( + context, + FadePage( + page: ParkingPage(), + ), + ), + imageLocation: 'assets/images/new-design/water_icon.png', + title: 'H2O', + ), + ServicesContainer( + onTap: () => Navigator.push( + context, + FadePage(), + ), + imageLocation: 'assets/images/new-design/smartwatch_icon.png', + title: TranslationBase.of(context).smartWatches, + ), + ServicesContainer( + onTap: () => Navigator.push( + context, + FadePage( + page: ParkingPage(), + ), + ), + imageLocation: + 'assets/images/new-design/parking_system_icon.png', + title: TranslationBase.of(context).parking, + ), + ServicesContainer( + onTap: () => Navigator.push( + context, + FadePage( + page: ParkingPage(), + ), + ), + imageLocation: + 'assets/images/new-design/virtual_tour_icon.png', + title: 'Virtual Tour', + ), + ServicesContainer( + onTap: () => Navigator.push( + context, + FadePage( + page: ParkingPage(), + ), + ), + imageLocation: + 'assets/images/new-design/twitter_dashboard_icon.png', + title: 'Latest News', + ), + ServicesContainer( + onTap: () => Navigator.push( + context, + FadePage( + page: ParkingPage(), + ), + ), + imageLocation: 'assets/images/new-design/find_us_icon.png', + title: 'Find Us', + ), + ], ), ), ], diff --git a/lib/pages/AlHabibMedicalService/health_converter.dart b/lib/pages/AlHabibMedicalService/health_converter.dart new file mode 100644 index 00000000..b499724c --- /dev/null +++ b/lib/pages/AlHabibMedicalService/health_converter.dart @@ -0,0 +1,94 @@ +// import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; +// import 'package:diplomaticquarterapp/widgets/data_display/medical/medical_profile_item.dart'; +// import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; +// import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; +// import 'package:flutter/material.dart'; +// +// import 'health_converter/blood_sugar.dart'; +// +// class HealthConverter extends StatefulWidget { +// @override +// _HealthConverterState createState() => _HealthConverterState(); +// } +// +// class _HealthConverterState extends State { +// @override +// Widget build(BuildContext context) { +// return AppScaffold( +// isShowAppBar: true, +// appBarTitle: 'Health Converter', +// body: Column( +// children: [ +// Container( +// width: double.infinity, +// height: 30, +// ), +// Row( +// children: [ +// Expanded( +// flex: 1, +// child: InkWell( +// onTap: () { +// Navigator.push( +// context, +// FadePage(page: BloodSugar()), +// ); +// }, +// child: MedicalProfileItem( +// title: 'Blood', +// imagePath: 'blood_sugar_icon.png', +// subTitle: 'Sugar', +// ), +// ), +// ), +// Expanded( +// flex: 1, +// child: InkWell( +// onTap: () { +// Navigator.push( +// context, +// FadePage( +// // page: [](), +// ), +// ); +// }, +// child: MedicalProfileItem( +// title: 'Blood', +// imagePath: 'blood_cholesterol_icon.png', +// subTitle: 'Cholesterol', +// ), +// ), +// ), +// ], +// ), +// Row( +// children: [ +// Expanded( +// flex: 1, +// child: InkWell( +// onTap: () { +// Navigator.push( +// context, +// FadePage( +// // page: [](), +// ), +// ); +// }, +// child: MedicalProfileItem( +// title: 'Triglycerides', +// imagePath: 'triglycerides_blood_icon.png', +// subTitle: 'Fat in blood', +// ), +// ), +// ), +// Expanded( +// flex: 1, +// child: Container(), +// ), +// ], +// ) +// ], +// ), +// ); +// } +// } diff --git a/lib/pages/AlHabibMedicalService/health_converter/blood_sugar.dart b/lib/pages/AlHabibMedicalService/health_converter/blood_sugar.dart new file mode 100644 index 00000000..654df11f --- /dev/null +++ b/lib/pages/AlHabibMedicalService/health_converter/blood_sugar.dart @@ -0,0 +1,208 @@ +// import 'package:diplomaticquarterapp/widgets/buttons/button.dart'; +// import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart'; +// import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; +// import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; +// import 'package:flutter/material.dart'; +// import 'package:flutter/services.dart'; +// +// const activeCardColor = Color(0xff70777A); +// const inactiveCardColor = Color(0xffFAFAFd); +// +// class BloodSugar extends StatefulWidget { +// @override +// _BloodSugarState createState() => _BloodSugarState(); +// } +// +// Color color; +// +// class _BloodSugarState extends State { +// Color cardMGColor = inactiveCardColor; +// Color cardMMOLColor = inactiveCardColor; +// +// void updateColor(int type) { +// //MG/DLT card +// if (type == 1) { +// if (cardMGColor == inactiveCardColor) { +// cardMGColor = activeCardColor; +// cardMMOLColor = inactiveCardColor; +// } else { +// cardMGColor = inactiveCardColor; +// } +// } +// if (type == 2) { +// if (cardMMOLColor == inactiveCardColor) { +// cardMMOLColor = activeCardColor; +// cardMGColor = inactiveCardColor; +// } else { +// cardMMOLColor = inactiveCardColor; +// } +// } +// } +// +// bool _visible = false; +// +// TextEditingController textController = new TextEditingController(); +// String finalValue; +// +// @override +// Widget build(BuildContext context) { +// return AppScaffold( +// isShowAppBar: true, +// appBarTitle: 'Blood Sugar Conversion', +// body: Padding( +// padding: const EdgeInsets.all(16.0), +// child: Column( +// //crossAxisAlignment: CrossAxisAlignment.start, +// children: [ +// Container( +// width: 350.0, +// child: Text( +// 'Convert blood sugar/glucose from mmol/l (UK standard) to mg/dlt (US standard) and vice versa.', +// //textAlign: TextAlign.center, +// style: TextStyle(fontSize: 20.0), +// ), +// ), +// SizedBox( +// height: 15.0, +// ), +// Container( +// color: Colors.white, +// height: 120.0, +// child: Padding( +// padding: const EdgeInsets.all(8.0), +// child: Column( +// //crossAxisAlignment: CrossAxisAlignment.end, +// children: [ +// Padding( +// padding: const EdgeInsets.symmetric(horizontal: 15.0), +// child: Row( +// children: [ +// Texts( +// 'Convert from', +// ) +// ], +// ), +// ), +// SizedBox( +// height: 9.0, +// ), +// Row( +// mainAxisAlignment: MainAxisAlignment.spaceEvenly, +// children: [ +// GestureDetector( +// onTap: () { +// setState(() { +// updateColor(1); +// finalValue = textController.text * 3; +// }); +// }, +// child: Container( +// height: 55.0, +// width: 150.0, +// decoration: BoxDecoration( +// color: cardMGColor, +// borderRadius: BorderRadius.circular(10.0), +// ), +// child: Padding( +// padding: const EdgeInsets.symmetric( +// vertical: 0.0, horizontal: 18.0), +// child: Texts('MG/DLt TO \nMMOL/L'), +// ), +// ), +// ), +// GestureDetector( +// onTap: () { +// setState(() { +// updateColor(2); +// finalValue = textController.text * 6; +// }); +// }, +// child: Container( +// height: 55.0, +// width: 150.0, +// decoration: BoxDecoration( +// color: cardMMOLColor, +// borderRadius: BorderRadius.circular(10.0), +// ), +// child: Padding( +// padding: +// const EdgeInsets.symmetric(horizontal: 16.0), +// child: Texts('MG/DLt TO\n MMOL/L'), +// ), +// ), +// ), +// ], +// ), +// ], +// ), +// ), +// ), +// SizedBox( +// height: 25.0, +// ), +// Container( +// height: 55.0, +// color: Colors.white, +// child: TextFormField( +// controller: textController, +// inputFormatters: [ +// FilteringTextInputFormatter.digitsOnly +// ], +// keyboardType: TextInputType.number, +// decoration: InputDecoration( +// labelText: " Enter the reading value", +// ), +// ), +// ), +// SizedBox( +// height: 5.0, +// ), +// Visibility( +// visible: _visible, +// child: Container( +// height: 95.0, +// width: 350.0, +// decoration: BoxDecoration( +// color: Colors.white, +// border: Border.all(color: Colors.black), +// borderRadius: BorderRadius.circular(15.0), +// ), +// child: Padding( +// padding: const EdgeInsets.all(8.0), +// child: Column( +// crossAxisAlignment: CrossAxisAlignment.start, +// mainAxisAlignment: MainAxisAlignment.center, +// children: [ +// Texts('Result:'), +// Text( +// finalValue.toString(), +// style: TextStyle(fontSize: 35.0), +// ), +// ], +// ), +// ), +// ), +// ), +// SizedBox( +// height: 15.0, +// ), +// Flexible( +// child: Container( +// height: 100.0, +// width: 150.0, +// child: Button( +// label: 'CALCULATE', +// onTap: () { +// setState(() { +// _visible = !_visible; +// }); +// }, +// ), +// ), +// ), +// ], +// ), +// ), +// ); +// } +// } diff --git a/lib/pages/landing/home_page.dart b/lib/pages/landing/home_page.dart index 6e8d5fce..58323bf7 100644 --- a/lib/pages/landing/home_page.dart +++ b/lib/pages/landing/home_page.dart @@ -445,8 +445,8 @@ class _HomePageState extends State { height: 8, ), InkWell( - onTap: () => Navigator.push( - context, FadePage(page: PaymentService())), + onTap: () => + Navigator.push(context, FadePage(page: PaymentService())), child: Container( margin: EdgeInsets.only(left: 15, right: 15), child: Row( diff --git a/lib/pages/landing/landing_page.dart b/lib/pages/landing/landing_page.dart index 315a9aa7..ad8ae6a5 100644 --- a/lib/pages/landing/landing_page.dart +++ b/lib/pages/landing/landing_page.dart @@ -120,119 +120,119 @@ class _LandingPageState extends State with WidgetsBindingObserver { }); //_firebase Background message handler - _firebaseMessaging.configure( - onMessage: (Map message) async { - showDialog("onMessage: $message"); - print("onMessage: $message"); - print(message); - print(message['name']); - print(message['appointmentdate']); - - if (Platform.isIOS) { - if (message['is_call'] == "true") { - var route = ModalRoute.of(context); - - if (route != null) { - print(route.settings.name); - } - - Map myMap = new Map.from(message); - print(myMap); - LandingPage.isOpenCallPage = true; - LandingPage.incomingCallData = IncomingCallData.fromJson(myMap); - if (!isPageNavigated) { - isPageNavigated = true; - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => IncomingCall( - incomingCallData: LandingPage.incomingCallData))) - .then((value) { - isPageNavigated = false; - }); - } - } else { - print("Is Call Not Found iOS"); - } - } else { - print("Is Call Not Found iOS"); - } - - if (Platform.isAndroid) { - if (message['data'].containsKey("is_call")) { - var route = ModalRoute.of(context); - - if (route != null) { - print(route.settings.name); - } - - Map myMap = - new Map.from(message['data']); - print(myMap); - LandingPage.isOpenCallPage = true; - LandingPage.incomingCallData = IncomingCallData.fromJson(myMap); - if (!isPageNavigated) { - isPageNavigated = true; - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => IncomingCall( - incomingCallData: LandingPage.incomingCallData))) - .then((value) { - isPageNavigated = false; - }); - } - } else { - print("Is Call Not Found Android"); - } - } else { - print("Is Call Not Found Android"); - } - }, - onBackgroundMessage: Platform.isIOS ? null : myBackgroundMessageHandler, - onLaunch: (Map message) async { - print("onLaunch: $message"); - showDialog("onLaunch: $message"); - }, - onResume: (Map message) async { - print("onResume: $message"); - print(message); - print(message['name']); - print(message['appointmentdate']); - - showDialog("onResume: $message"); - - if (Platform.isIOS) { - if (message['is_call'] == "true") { - var route = ModalRoute.of(context); - - if (route != null) { - print(route.settings.name); - } - - Map myMap = new Map.from(message); - print(myMap); - LandingPage.isOpenCallPage = true; - LandingPage.incomingCallData = IncomingCallData.fromJson(myMap); - if (!isPageNavigated) { - isPageNavigated = true; - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => IncomingCall( - incomingCallData: LandingPage.incomingCallData))) - .then((value) { - isPageNavigated = false; - }); - } - } else { - print("Is Call Not Found iOS"); - } - } else { - print("Is Call Not Found iOS"); - } - }, - ); + // _firebaseMessaging.configure( + // onMessage: (Map message) async { + // showDialog("onMessage: $message"); + // print("onMessage: $message"); + // print(message); + // print(message['name']); + // print(message['appointmentdate']); + // + // if (Platform.isIOS) { + // if (message['is_call'] == "true") { + // var route = ModalRoute.of(context); + // + // if (route != null) { + // print(route.settings.name); + // } + // + // Map myMap = new Map.from(message); + // print(myMap); + // LandingPage.isOpenCallPage = true; + // LandingPage.incomingCallData = IncomingCallData.fromJson(myMap); + // if (!isPageNavigated) { + // isPageNavigated = true; + // Navigator.push( + // context, + // MaterialPageRoute( + // builder: (context) => IncomingCall( + // incomingCallData: LandingPage.incomingCallData))) + // .then((value) { + // isPageNavigated = false; + // }); + // } + // } else { + // print("Is Call Not Found iOS"); + // } + // } else { + // print("Is Call Not Found iOS"); + // } + // + // if (Platform.isAndroid) { + // if (message['data'].containsKey("is_call")) { + // var route = ModalRoute.of(context); + // + // if (route != null) { + // print(route.settings.name); + // } + // + // Map myMap = + // new Map.from(message['data']); + // print(myMap); + // LandingPage.isOpenCallPage = true; + // LandingPage.incomingCallData = IncomingCallData.fromJson(myMap); + // if (!isPageNavigated) { + // isPageNavigated = true; + // Navigator.push( + // context, + // MaterialPageRoute( + // builder: (context) => IncomingCall( + // incomingCallData: LandingPage.incomingCallData))) + // .then((value) { + // isPageNavigated = false; + // }); + // } + // } else { + // print("Is Call Not Found Android"); + // } + // } else { + // print("Is Call Not Found Android"); + // } + // }, + // onBackgroundMessage: Platform.isIOS ? null : myBackgroundMessageHandler, + // onLaunch: (Map message) async { + // print("onLaunch: $message"); + // showDialog("onLaunch: $message"); + // }, + // onResume: (Map message) async { + // print("onResume: $message"); + // print(message); + // print(message['name']); + // print(message['appointmentdate']); + // + // showDialog("onResume: $message"); + // + // if (Platform.isIOS) { + // if (message['is_call'] == "true") { + // var route = ModalRoute.of(context); + // + // if (route != null) { + // print(route.settings.name); + // } + // + // Map myMap = new Map.from(message); + // print(myMap); + // LandingPage.isOpenCallPage = true; + // LandingPage.incomingCallData = IncomingCallData.fromJson(myMap); + // if (!isPageNavigated) { + // isPageNavigated = true; + // Navigator.push( + // context, + // MaterialPageRoute( + // builder: (context) => IncomingCall( + // incomingCallData: LandingPage.incomingCallData))) + // .then((value) { + // isPageNavigated = false; + // }); + // } + // } else { + // print("Is Call Not Found iOS"); + // } + // } else { + // print("Is Call Not Found iOS"); + // } + // }, + // ); } showDialog(String message) { diff --git a/lib/pages/medical/medical_profile_page.dart b/lib/pages/medical/medical_profile_page.dart index 678ede88..79c5571d 100644 --- a/lib/pages/medical/medical_profile_page.dart +++ b/lib/pages/medical/medical_profile_page.dart @@ -43,7 +43,7 @@ class _MedicalProfilePageState extends State { onModelReady: (model) => model.getAppointmentHistory(), builder: (_, model, widget) => AppScaffold( baseViewModel: model, - body: SafeArea( + body: Container( child: SingleChildScrollView( child: Column( children: [ diff --git a/lib/widgets/data_display/services)contaniner.dart b/lib/widgets/data_display/services)contaniner.dart new file mode 100644 index 00000000..91b0b59d --- /dev/null +++ b/lib/widgets/data_display/services)contaniner.dart @@ -0,0 +1,50 @@ +import 'package:flutter/material.dart'; +import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; + +class ServicesContainer extends StatelessWidget { + final String title; + final String imageLocation; + final Function onTap; + + ServicesContainer({this.title, this.imageLocation, this.onTap}); + @override + Widget build(BuildContext context) { + return InkWell( + onTap: () => onTap(), + child: Container( + height: 60, + margin: EdgeInsets.all(8), + decoration: BoxDecoration( + color: Colors.white, + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(7), + ), + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Row( + children: [ + Image.asset( + imageLocation, + height: 30, + width: 40, + ), + SizedBox( + width: 20, + ), + Texts( + title, + fontSize: 16, + ), + ], + ), + ], + ), + ), + ), + ); + } +}