From 8c257cab86e70f201af80a0c24b1b62a32fbc88d Mon Sep 17 00:00:00 2001 From: Sneha Date: Wed, 2 Aug 2023 11:27:55 +0530 Subject: [PATCH] order medicines functionality --- images/editprofile.png | Bin 1136 -> 952 bytes images/logout.png | Bin 633 -> 502 bytes images/medicines.png | Bin 5026 -> 6187 bytes images/myconnections.png | Bin 1574 -> 1177 bytes images/myhealth.png | Bin 1218 -> 887 bytes images/mymedicinetimings.png | Bin 1443 -> 1344 bytes images/reportmyself.png | Bin 1274 -> 1202 bytes images/updatemobilenumber.png | Bin 722 -> 698 bytes images/updatemylocation.png | Bin 1071 -> 881 bytes images/updatepin.png | Bin 1352 -> 1203 bytes lib/common/dashboard.dart | 2 +- lib/common/settings.dart | 223 ++++---- .../get_quotation_requests_list_model.dart | 39 ++ lib/models/pharmacies_model.dart | 5 +- lib/my_medicine_timings.dart | 3 + .../get_quotations_request_list.dart | 60 ++ lib/prescriptions/oreder_medicines.dart | 540 +++++++++++++++--- lib/reports.dart | 39 +- 18 files changed, 738 insertions(+), 173 deletions(-) create mode 100644 lib/models/get_quotation_requests_list_model.dart create mode 100644 lib/prescriptions/get_quotations_request_list.dart diff --git a/images/editprofile.png b/images/editprofile.png index cb7373e6d3c316e88e919f93bcc122321014cf7e..390ddeb50c23f808d5d7c5eda5a5067c7078d098 100644 GIT binary patch literal 952 zcmV;p14sOcP)j{5N}X*f@XtsgR~P^8^jwp8#EhOoxte?R3}I}!C#`JF1eh*hs1~d z-Qj#kiw}?>NP^r@K>&2-=h_JWZjD?yVP1@kP6i{tH=E5smx595%1CeI8R=-3SJAn$ zQo%X6tSdSvOoKW%8oAN1=HDLI^QGyjC5cM1NuP`yot%(n<~_9_Qb|^1XJqRsXKUmR zai-r>O-zN~A{4x%L|nN#Q1%Vgz*M9HjX7e4w{+zn;qOF6r7@KpJdHR|CQMlmo_c;# zNnCGNt2{8W9hJf}ni>Vn33d~rYjx~Ysc$rIsSu{@8=+2~tNC|MkUg!Y!az3R=nnos z@q881dn(VPkls;lV0SWeC@PF++T^z;p`vH11cdEkZ2lA5Q(v(Y(^R>xQF)+K zi=UW6b2ZDzA{=}xJDP7Aavx~O0Sg=y?0UHmlzmUNa1A;I8l+u^sL1kqgag_qTF8bL z;uK(St0F$nixXO3CBmBB1Ilqg>+3`0 zzZ3N-tEe^=6?{*WbIYY9$5}Pnp|M~cjrO{*^Q1SDdQ0}?WF&ilpAPZU!wvSjiqemJ zd*gwBP)=aIYiQk^U~^^@`-}u90y`Zz&jIlk!`~^&0pgdCqmf%=@{owTE6t;9q>?;> zCGTEh6ke`uq>^l+HDX5GmO~L`;h&R>uI|?Y|M?WI&G8)%{|SPXtPv2C+O~y%{f;}` zz<(BOs^ptChLr7M3elbdnkzX0e*i$kXTtEm9jX!5OalHnyOT1pXOqk!+iR2DK#ok# zU;TSVv(CGog#-p@H-VS)R?)p akN*I+4?NN`;zZK`00000@rai394ZGk+t&dB@LS!Pfr21+)w`ce)bo&nVM0%-H_>FeVEt*wu zXML2qBlivGihlWC@ylb=-yAAI3!>sX3p5fPrLb}X{*BkAex67z6BlgD5+bkYv&rlR zO|HDYP^=z&C$=;}Yx|!K=P_oWGC*9g32q6u{atPVBJK2s{B)d4&KROJe7w7%m$+aP zEMC;?w;9EE3nUAEBl>NR;3iIB5ge|rE3xj@;U?JyevbgB0W0f$+X*a!YXUWf(z z8rhSK;W+d^2^KFVn?E3@h-2tykP}=f93 zlmcGQV8^hnl+Y|iUEE$EF4zRGDAkZYI^)7eyT_zNBiM~ZpOsiQo!ccY*aVxUgvgG@ zddDrTp~V~Yyd z@%|TT7X+@r37cRD9Bd!9)RNVrdASr+8xQ`?*}7#B42z81dul2G;;=?ziX(Z*3m1+` z3*uTrt?D@9%)mKB@2SpWZ%TDOU{Un6&0GS_K&MmOk%e*h z&BPWX?1HTp54K$J>QhAb3mF&w>-cBRu(ZiyJ4zRQY{+m9)AvmxrbbvhV)ew8*@2Fy zSX+ykm@Kvh!>{yzj0=k`Pn1+nPQdbnG4-MmC&U{qgDt^gH3KGBVyr2k2F9HF^3HG$ zu7uqRJ4g#QuV&_z2%06gfTd@JM8s}`URp5LS+SalyR_4%2i2HY>By@s~ zKsP8GyuDM>DorCn;`?zQc_hmaDV87Q{1L|{8UUc;bl~*C=?n9adn>XISMm*d9LXT7 zpC4SoGiMvh0NN1Nq=D6tM%!kGTsiGHy-+lyt&PZ56cw~RYJZ>D?RX@dn6=d`9$hFvrngR8XF95y{X;n%_cbCI-zCtPEkdD7N}g^{qH zFYQ5CP?Po|ET~9(5*CW3y$K6N(jJ9{+0tHxg;~;`g@wt|-i3up(h-D(hoz$k3lB+0 z5*F@BuSgLt^nb+Jj%*@tS$d0jTujYbL$Uh~mYi%`k~U23hw%$n@0|)*_Gv|D5sr=s-})C2d{%R*2!9T)6?OaO85!8G2);qQ z8kxz6^d@Y0L-+WOVE^0_SMUs7OrBf%9hP{4wI%r!kqxwM`iTFBKc>*YXh?qpt`%tp T1#+^^00000NkvXXu0mjf7bf8J delta 609 zcmV-n0-pW$1Nj7yBYy%wNklRWswC<;ZP^inVW0Z;xk zZ~g~Q_0k?H3L*%C#o7uU)JnBNTM7*o%>)W*Ysn_gwzKJemps@UzU=PoWU@V{S0_Kv zMf5_Kp@sd97WO+@*za_ma36SJb!r_}CO2Swa2)#k1{~Yx%YUB`OPxchQiM+9N*Lu1 z)(#;sI_>5$^TkZSW?&1hpD&@)xEj)4WVs`P` zS6@rUx8c}EnlNTd_iZlg+`im6wvjrAu}Vo@skDDd*?&ox!7L;2MWxh`{;w>ej4*{P zqJ%J&EW%!xQWjw?Of8GB6_z23uoT8hr3_hwrSSaNQqw&OSwx8<9+fP@vM!BjDgLM% z9vHFC|Egkog{3f(`Jn01M)bd>Rv6Vv-8J<;pLQWEoG<6=uEQ%4YmTXg@ElI(9_qF{ zU=JVd9$E`M%V`&na1Ub;$rijt%i1m;4!8+(77m+Fw zItmF0NbfaLLO$Mef8TSybI;v#_Rr4DvvX$V*`3`uLl~HzmW!5zgoGZVr)^9^0$}=Y zQd8cnyrdOpBO$qc1krwI`Vz2J0l|Qf>083G=YYcr8gfT2^E|m6$Hr~G zGWt<+t1C{+tg?GQ-#4@nL}2$F3n14}8`a6^BA&={%?x%~R@pvx2QLGDSZ1G_+*nM4 z#8xa_RYL-4I1Gc|`LMdTx_}EGRa?JSS||ADybZ#WeqX@AKkOerSOk;bxb(jtngm~N z*Glbs$pZ-&AV9_t-1s?`?=s&3h2!%q{YUUgAn|aj*!V6Ug!bq45qwBG75hb`qs~l= zD>QoDT8h8DaNg+mAukJ1Ac=Gn`x6xOtihQ}g63iin@db~LN$E1@Y+VoP-5sMygx*o z=im#@4_-6i50fF(Wb32V?GZ<8=le4Q;V@E;hEhattHLQYQsfliPi#4B=CeG@)ddT1 z&UGKH^)NW?FwiXRoHwTN0e!j_=eN}Ds@@ztN7RjcP!Acoyr5k8(U#Ksgw*W?lVxY8 znz-&vZHLqM=K$TOX^wawpMC$t2SUtm!Czglb(3Y`ty0^!o@slKedFnGRT1zcek#o=Oh9%`uqFON%e+3fh5C^qDZKdZZgjWAO*^i zl54t=Q%8+aGm#WA14*<5HA&v+{y!-g-vRdPbpyFqoGFmEsA8QM3EE7<8Lwg_@;Ews(zmz*tDuoNTur6 z3yS(Xv)HV*-8Gbq2UWGU`V1o$Q$y^se@(6@hb|soD+*OV60yt3TaSQ`TrzOO?Y>TE ze826Am05##qEc*+{F0RjH%>Sg6Dxcxri2d^@co)6ezj}r}N+~*{mE``{o^H8 zK&UQfig}=ZKE@hso}8>OYWqAyC968_C3$X8p`@o}5SO?SKvwobNvxb1hDXyj)5L<5 zj$D!i^N5?ZlAaWhc|Ch_U z`u${K*q-aro8G|KOzYB=6G-jS(zJ@llm1w^@2W`%%47CEAR2Ady962;oYJiVnF%tJ zk_Q#7_4cmE#KK$yEiH|sNFep4vj~0O_EV|}g?07{m#Wr<#x|+1E1yQdj~}TDQ&1ys zS<8498FXB&_~+dbTKxOfu|j7d@ZSdBOth2LJ`P=N!jgQ0A`;o|a8ir4uCrcF((_1i z;pPc-E@6=8I5wQv<|o&S=TSLKyV^KU2>;?8jFM$sIEqyitDu;puB^q#hn^yflG2`$ z>kUhKajI_R_)WW(H14X(GYj;?DYDV7Ru*0zC^MFL5(ucE!R^_f$%8Sb_iFH3(}ZMo zA^tmL>CA85G6O}MH|X@gi0Xs51Q^@+jceF)oz*rCsuWJL$OSZw-L6qSNS)ctmM!BX zw%lorE-<1uQAqDmG2t-;NGjwK=v==eE=~qdt{ubT-+7j}8#kIp`*E@0o$t2@`9rcv zAk5t@XPJ<_v#kx&g_&I`7Icn@lm`! zKN@G-`{?G-Kt zRuSNO6z(Pm^Z3gHVInPo<*O;$By8*=dM{63x|$DL)|#p9l^0Je6{%mzoLi*MwLqp8 zQ%NcWtr9loE(zm;f4Ocg`hf+`DU5L^W~1>5GipqX--X15Xpkz$^dUOJAWzvjjX1#)Y zF3K(WEBFrFr_H!YA8ICYfH74d)Ogf?M?0`jc(jv8Pl~jJ!Od%VQ1x)<8he?iW@hR4 zP?iZOKO&uVq2JbFA9ohFunn^eK6$|glprmM+1!G9qXKbIUbEPZa@~Y7O=W5%S7}d? z&iIuric26xgZOj94k>fBYGrO?cmqzkDm}ZluQGisx;TG~8?V`Y=ryDaq{?_rQUO9& z1zw}P53U@NWCL~ z-ZoV&z3hO=YX=H7;152eAyU>-O**H)GysMkMoq7SpkZVVF3U-@ZEc9Z+1hasB(@^_gQO^9Dl?E0zO}s`M5X4IL+hRbGIOu*Edw0wP z5rI~g=nj@;rvG%wew|73kQr!JLiH!GZ`FtB)vV}$ugTVyY&q2$@q3p-w4af=yUeIM zIPD4M-@nDVWkcC?Ot%2W!qPSOLvvIA|HA&b`04Jq^;U@~Gj4*Cmnk{9 zjs{X}jQRBp&s6^A@fTZEB*4_dv`ij>Eik|8dQ&8yvv5od{Z6p~CrKOh#QMM6w}u0i~BKw40gYB^Y;> zDN53kue7+mvMQ;7+V|oq#AQ%jumhGjoJxGzOYzgmuKsN5eTaBi)E=~5X8PCpdwE%B zY4-4PojL_y#D`<%e$PHTy+#}4^8nrFgPiYuq-Fx;43pbJ0|vWv8I)(KD^Xwer??u! z!ozXkGnI!aQV4%M2Ze3qo4Q?s*xJv`k?9g7dY6W-Vkw3icE)jiG{Q6R90Xcz>~ zH*PsOJC-=%c&rulwdC}oBSJT?nvHt{D<>3vjaxd~EJx?pU1pjv$>&6?fxk~p0&R(> zhwRSYX~n2(3?2P$5SMGW34OA4b@f$fZ`G0Tak9aEJ}5RYL$;Tv6#L>d%wbyOvHviA zX0D6#EOAFEP>&^Az~k*-sy|J~*|ibmI5n=UZUSM8L;9O}LiOVCqT*HSrNXvaMU_Lc zvLvJ27oh@rD%^pJcq|{l7!X!iy@)Xd^RMpk(m%4WSr(%%H3va(Se*{ljfshW+UAJt6yPP+e4tS*k;s877ZN{qr@7i-{2SNc;~Th!r& z$=ZQjlX9C!V~Rs;th4k1Dr#-5OBV9?ZAGVRyrV|s_y)6zFyAe^b_IJaWbdNaKjBa6 z$C>}7Y4y!j%{-Jud&g-@*4|lTf9eD2IL)0B$LSwETcMkf4^+z=7to6Org_7T#vJw3 zAm<_0y|Vtannhlk*M`&ZXW9}|4-_x6#<_ert?!q zVFs1bada%7KtLJh6s9(?%h~$$+W&3vl{pK51w_w?=lg1uaJ>;0&- z^K!Fdu($Y!3h$Gbx=o>3%wEVriHUIH;-ewJ7O36S>)t;8;%mKaz?96!OdbeM1;0&);O`uY4UH+e?eRCOp#{^^QIIAto6Efv%p zMj~G4ci$XY&ChIl9eF~vd3aTVEHl2^=Bdmbp=2Xj?;0eM&_FKVuhq5v^|z+W%~8qN z=!#}Vy~aT;;uVf{J<6ocy@ScL=?2hERjRQd(Alduzw!5ZQd-!*fCAFx+Qnsz_5ow7 zR$g>W^6;Z?EsMnrZaq)I_BVI559Jq7KS2f3LoM_X8(CHw@nUL;c^06Y*^_Z485=@QIQdUn_$=PIZ?r`+6tEUrP8jNpm)9Kbzivu&e}J zFLv$MLDQCs%UaPn=sb@g*CVmQl*imyt~y@$r_N}}X`5nb%0MeOR!R#*U9(`ZttR2o zgE3w{ciT|W{%&1?twtTlqbTx^w!LDVCPp_z?fN@}XztUoE6-)@L|!zWI>;u7-3(8a1}S5z5Pm!WV(tO@{`!?57MmV=nP?hyXlc= zPqitmO?!jf=ChRh^X&CEKTYoka~0fuaI2VZ^*P|3YynNu3D&ko6ed&YThNWLP$5yX ze`Rrh-lE5_PK3LR?xP`Qviv`hfN%)+aR(c$Rv);KQ+#S z%SgPbC0fsrj7E>HBFt;`i(pxo zk4s1)Y5+?VA~fSkYon*d8CH$IkM+>{WzYf^c^;;I7)5qa2FXKnjzJ(=Zlhp z_(P%GZ%d~9)@k>5M=EBa92aUUY=*dt0rY&~OBhQG2`6}O)yPj#zBX%RG&6b`21&=C zZHa$P(!8Rp#9n}xb@}2+M72;73ANVCgfF#cFUY4Cuz72^VgJ-tJ?id)=tY zdgpW@CV=sO(ME`xVjm|}ZN}ON-`k13f7Se+Q}#jN3Fru({&@LBhZz`plt*Fqslrd* zow@nXbWVn{Gb4g=r0cHDWz6_}nC=Wz>qaLF?y~Ck(sVoHMJbPeEwjzm!63Es=t(F` zM%O`Nvijc72FshL&`^=M)V0DXR9?Q8LRxjY-K#Fk{pAL2W>*fm7jQbev1p84^#i4> zd^8DX{j-^`AaSXiZj~{O{ld8@M`Z?Z$+|EvgIjOkkTF)Bvh8@~*7P+W8pVo3<7`}_q%bT_iOXww^ z_d!hLb!`l71AjDvQj6$O4jQ&)9>YiP}RVU8B0 z2C=3`>uxU-*|G0-*tYlQK4jhkYRW*t{I5m%GA@c4c|zT6t8cY0EwMjVoy8HHkFxi4 znSdObXGVh`CzVt#?vRGr;A(<8VE^sQ~C7@5#d(s7GM_CqIu%8katn#O?JHehqFs3K6(nT%3$k zCOk{jOYthSPRq&#tCNyvj|q=-o*A_Ns*Knl^9T)edr4OG;a{nyqfb3Ws_F7dS6UrT zJIyAPmQoX2ycboy#AMPUaije&~1AMN|sd zE_pwm{%8SBLnO>)h7oSW`yztBtCN53x$l=`XW<223kDwd-Ntuyp<^+>=G3b9MPyELNG_#Z&DpSzlKg0-nvt6lnF((JBn2WsFYA)5U$0S!*BzQbWDnHUdJ zGhcbThq!9286ejY7S{|^{*hV{t;h3OW3w~qf%cX6{xL7p5LW#`!MM~;7~|vWVnz|w z-LLOkQtl==wNExe_8GedHUzi@X&S;V8{m8P6=qBc6f@R`iP~aAeqnz`H1jOSpFGnB zTB;g7KH9^T3#+i4FN|exx4nMf7T)~9f{S`*a zT9F6K>21uh{$T!sJ^PxII~hhT6l;Y>h2-;NE zJt^2qA5JVBY*$~_WTp;p2M|+G5Q(B zK0hm5h)(@@-2lAW+g+xEI&ljc5%t$x9Uh`zjQfmbb_ex0eRgVoVF`kzco~FD{(G6H zj~m+D8ELb>Eb??2^k(}$-1ZRZx2W3uZ^i)p!2rPlyEs57y7R9Dem9)&!GN*E|NguC e|DUEN*Odmci&SIW%tPisREQ2tyH@L2^#1^oLahA& literal 5026 zcmb_gi8mBp`$r>Voe{pWG{zRDq)^DjU}T6POp1`LA`%i}Yz<>cmMo3zW-!)diwxh8 zu`9a}V;?)&m;Cs>f5Cgsd(XM&+~=Op{XEZe?|IJiJU843t;5MC$i~3Hz^RKu8Z$63 zf=?&#?8%Nd+a*2*1|COUq=u3 zPu0HR05~g(X|p)zYqQRF-ion}({_+w5F8oU#8}TXT|k5-Xijr}se+O9W*$4#-bZz8 z4tu;-yss&qsWzt2J2rPf&icezN%q;@IzH@v4?Hp8zZu%Ofb+rMqxOCrnkGU2-Y;kC zWcm3QJG6(n0QoxxldrEU>ID5!vT(}~@8`05Tc22z5Hef&=qV7)f#c+`j8x~e#qg6B zvmA`wGmtKXN5g&QSdTed50k4#0O0;(9~XajSGd)HUaA5{+j3v7C+miRwnx%c0S+cW zwL<@GOBt*kBGWCU#ji%FfPZC-Z}yTsa=&DaL`X2*Q=i+oAE`TGcytdCVs2KfQGw*x1TbvUZwW^ZZgFD74SG@jvG z=^=YG*B{c5;23KTYwS*Tctl#UOUHFT4p6&dc&>BVP?s_*8W}hN6oQzya;|^ij2#QF zOkzwv%NVQ$jDFMC(bHH^1)$mr^1E_FZXJz{A2wPC99vr-?*stfWrRlnXm0XFQ*>4S zRaZ7HQ3S#}1+7@glj87r_UdbBnm8OSJDU2V7QLFmw0@oz3(+Dp<{{wP-d|Wv|1Iob z1cc#%Ag@>0mY(eDf?xpSq(Fl>i@D(Gin~EvNfd)(VVq=b5PxFc%?<>MfFVa23z0%e zi<2r$#7SWE-@EzSWbb#LP`=yVn}o#W(!p<1Y9(kA6Ir^!jv-#Z4&rJMP6fuWiNViO zcWgKqjj!RT8FYd5^Nhx#II0m&O$3VyGzHME!Bu(IRn~bKjTv#&A0d-6OvGtmG|eQd zHZ@!nq4#!8`mAI!gGMzN5~9h&H>2UrimTgL2)`NGOU$NCIFNM7&60W67=W;Fxs7+Y1xIj z;c`a|H)LjRk>jm4vpf=~vqw0)kmLQ9LEv0NwqU%m!HKi-0Gy8Jy!Wcb>G}~)hvYm~ zy?gasG&l4N(%bZH9N)Syqx^}Itz9+0QeX@t6rNA*s8hs>)ZGW5(zzjgr14SS7Z6na zkk%_NsZE|gx&`d8kcBBJ07_(NZRlfII-!1ZyCG9Ad*3@!RKKf+mdP5em$k3_mZ9}- zF)h>H!bp+3pK1d@p*J`{MU$ZfG594&`b!M5wCR$m2)vzT-p@6&AVhI5$m zE>ivk^V|(0UhOzR=@D1sGICbe{Q)g9e3GZsb)s-%C<2}Nl=f3QZ2H|ADxAS5IxAF% zUo=jrp^=f%Jva-0DhSYMVGJtGlg+hz#?94!G6w<>OI(;jgZLRHBK~v8DMXMK%gwm) z?(^wkcPE?<7ck~b8{`Dm;>!(D5k+ic{$Hcri6Dj`zCKkbtl>S~alk-!I(6zK0I?IE zfu^@k?BZ_7wyqtETD;?Z|M%)7Mqb8gDb%NXG5Dd+gP>hr2+Q4Y39&z9*Fvi=US=@_ zFUHAd|6!0&S%V?`K+#t;r@_GzXIz_X&dlyEcEym!8d!20!y)JH_Hh0@piVXUp@^%eUf4JjUp~!c4s~K7g92e}oUvi2e%jwrX zv}Kj<5ARpSDICm!`UpZbCInm@NRxwh2m>$@O!Z%{Q?E3EspPS!L9o`DjSc#x`xKUJY z{F73#T3~N)I5+G-)?41rA|I+LB|)>k58N#T1&xm>ItEk59u4OAMP!(b}xut!x% z17?7J)|h9YxqBTvlXu*Z-ojg_Ss+&VfzDJ@;^B7iLRM;H>F)dnC+SV7{ST+AF8{5) zH?r#wB}1=P?nB`l4%Q|-5W}Weg00KDmDe1bS@5TLx4xLZp1FBt1>gxb?UyW;dGaAvqLXqGP+B*G3Wd`P zUz42sN6pf24Y?O1`An+RvJ?DMJ3JYa8x_It(bv2Boc*7#*q`0$okR(WqmMC@+R0TfrfblTEz;Bzg0>sZN@*_&=*q}c9DF*?TDoaM zqrd6DVo=hySnXa{UF5lBsw;!>@coeR(D97DR|$rnC1=!`?e)_^$y=%~$$h-LsgXNM zsiE@b-6LlTn-oZ#U{dNi^~u`y-zm-Oda&Uzbf~=J6Niqs9bHI24BX@wgBt;>d*dZ7 z>_})tQ#bdsO$vuYhhdyCl#cInFl%ENR)2gYKHd~+@QpjiCwaeBK-KSCo4udniw`6d z&+*V}Bn~iNc~81B$>HOyqwAIalpf!4RLC$4DGVDJ1KE}&lTQ$`-{d4DUAl*xxUcj- zyu42aMXr?((1n`JXRs-@nF(b~+;}BjvVjJO{=}Mzlor9#Ox3CEk#pNA02y~(%x`R# zDhgpEo`ht{Y_mTH?3N#Wp^#noLSm*NHYTpCVcy6%Vx(xC{hgjqaCK_y23_Ci0#RhY zPH>FfOT-m=TZ8AizBv+cII5j)k z+c(|wv@)%o;Q-@BIiws#9IDPNtu&LZ+K1d^qgdbSI#wh~66Eh?mRraJ_ZQPgc8!4Fq(kp`!rHah1?FRB~-B(={LlR zF@@`{OpB^Vt^qUU#-^mvM^D&pzJ?;?>`I*EB#OQqb@+vA2~;XSUkKQ1uOSk(wd3@J zBcy=fk_s(dnPnrRj= z{pBppb(|7kOG*9T+-T&NZ#sa|!^$DZfuX7z_6RcA7m{WEzdH8Bs5FkO_Z ztiE+RH8$Z94#S7jW7@xbLUbD3((yIB0kM0nR)kL(={S=ti#G(u{lC$2J=<`un#WeE z7jj4BcmaQftuVhB!V`WgmI3Mef(MNsrsw?)rv)M5${q?g$tXR|#d{wrjl9fPtc_+>o_bcsNK}9gla)3i2022 zohYXVcq{mo>QUk?Rnt7ow_rq9+E0>`)x(VGSJv;WpR6X{M2xPid@?;U0~KGs!@PA1 zPAto5#@oE@#i}ePnwjC_ZzAHps>b`nxSVp>$iI>vfoZX86M{O__U7yowSa%YIr=XP z$MV5{B!^O;mgs78T!wEGKxoNJU($*7D-F~FlRF~NRG9~ZO6X2g8|n9Vyon{#4I~|p zghEZ{En1J%v#ODIS_>QbO+HYxQrL2t7U5`QSWhN;?Fa06q1Ao$^w*vxiMRQDMT46D z#Q9H6B)T^87o20XEdbBd=>Otyh>u85SdWY`^B%2!q0agUFGOz~6lt>73z49J@OGfi zIqBtRW~>P+v6ly2pWj@LrUQ2_cJP-XH@HBT2>p6{f-sX1zxA(o5+3kp#lNCQYM=Bw zK5kKsUtv7ZR)=nZQ2AN9s^>B-!B`QKbkfYUs=^DWVbo1bSPD6+5Mv|lagy3aW%%Dc zn5}S*$c1@cTv%AzkFcM|J-hoy8x%{z=g@@!h8tYbSCU{&p{pynD_fIri=Qf-mP>SR zxAyjh#{ALDHuL&YRW)(9KGxXkIc?{{Wc4Igl;<6JWf}P8L0HpaQj)6S+D7T>7D`y1 zo8_cr)ZJQ?k>s=AsgdThUv@;Av-GCkQfhQip9qRbACjWjuhp$7Kc&+~y(VAaY*YsZ z1AHARik#oO;$3=<*(51XJ-2^LO_u6eEqpy3N^jJ7syV3#&&fDjXJ)f2rc|H=&Dw$nQ`&qF$ z-zNJCMJOBjKk%J5|dT(V`ZT30&YyRB-9Opv0?-Q(NA? z%^dZ`H63R+Cj}v`>2s}z(<{#pAEwmX=d09Z7xORsy(MzHm?hUJWp%E-a{V>;TgPnX zOjDZ*vJf@mGGab<{Z^boYo3YAykV!EuUa?d@`Hx##Yk#W&h5>XGH2^b+s!y<#Hv9P zr-E=t`EC(k`AN+{2q-}Nu8ScG)o>^?d#mOm;42zgVeNgY~v|$dnRJ9XSeD=V45pF#QTf2C|6^a76y4shi z<5L5OQY@b>?p4g0$sJx9w7G{av9y0Je%d&{VT(IjSh=mHrAhgG^J`j#inWXtb6CX} zHwP;MAy~u3S48?NLx-tiL3+{7jL}C@RJ(!hz5>A$ABZKRoD-`4*!W!!>({rUNPM+W z8GaF_Rm%>3=4LmbKOR+MIL_CL5cE|EZBeUm3=J@xQuxcgOV6+hrz5TmEfxxa(tSVz{nnLHbZS<58t9@q2X9TO86bG zyi3`Wx~rPFZ2rRD5&JY?-u&=xkIp&r$3bYk8WfJ6bqRbasg>MCyOtRrb<|KX71Doa zrx$WI{z2k(F_KNFteyJbPY7?}?gNI>wg*uhl?(F@pA6_4**32Q0WFMoqDxZV59urY z^F^?9?s+~!@W?4X2UDF>PF}FRpmfs2jDMYCwFEbaz`tJi&A1ukV#l0c-H!4Trp|^JysrRmqhr(V3>cu0wn-k50?7av8`3q3vQN`a zXrIkuZuK`(VtwZahMotG7#f#$fE@BiH{;3&EI2S5I)RTeYP1l4TEFHmfj?PqYh@Qw zh@YW|tBUQ<6yEy=Y?pb|6fJJI+*T<6;JzXwDb@OMwoKrkixgr6h%+*nK_gRw<-G2) zxPm8S;rTf7xV-!Oc67P%EZ&*LywW0nYqHTy{WgyIzxj9iUttmbhpfn7ty_%%1CpJId zdwB*&b}awMw(JR907P7=;F15nPbQOpaL*`(BK2hWos{0eJ)#P}RL>sUDbzEEdqNd> z$_4MEfO|p}I7T@!1YiQ5-~y6?pwP98eW@o`&xbNBIb0j=a!Jov>cW<;P|p)y!??64 zM8CJ{S@8Q5``NPWg5`^bg2}}cR3BP36w0Vz7CFf{i(2x}8VWu^D7a?d`V?xU*|aD` z74zJac7gR4Owo7iVKvbf(n49%K4LX)^fPrxzs7S9DZDACGMWd;*sToBiglmZIg^+} zQ>o0QrhU^G3VSZ&io1KpHDe3O9l(%PZO`&@?jGzEC|SfRS)*&$;qOwK|u# zZw(reV2b^0VE}0F1;h>qns83rM+zukHN=huNCbH%j(M(7M)BZ~?=PvK%6P4UjX-q6 zvQlP3xdSP75DJ$dM?B9#rJQu!Ny~av>`Ne6s#W)gKu)jnBalN%N#`YUDU<@aQmR-2 zaw2d?)WuZgQj7f&i00Z9cUhV@Z~)ylnVN;;H(opP+L(fKjwB12aY)Yw9p@dCS;Hm? zID+S00If#0c((4bDfG;dPOW44*c68|cH-8{t)t=6=6=cHJB)zGfYfrCl$>@9Ifu(r zjM0pv-C^8C3Y0_N9=(x7V>s!EQ}+Rn2$kD`M~r-D)D?9rmEf0Gfy`g_1J7!?-5wuyP z)eg;{5%}j|E`dhvlvx=nXol`&=;*y_DT7`bF7#HL*uwxgy}6_r1Lcw8z*aQ!ndyjq zEkd4AjD8fd5j&QpHbHCSq0Mp(ZqQ0PluOQKvr6ds_^69kEaxx=H$wUuU6*%y>vL4> z2mkrxkd9aBxAt%JomWK=j?PNM^MO6dkuovAdN+l-Hit<^=AoIkd^hPWFP^Pp7qKOC zNxHGj27dR6#+YP~N?d7|A`{3gX^cezLF%fH4NnzylN`cQJ0n+RpiN{XNH-_Nq?U~` zJt?M?qyZapA!|eGw4J)F?j>%z(0mHzrecRF7_D_Jc|@vQ%4rItyDh;dSih2hDA*8UWta-fc%Zm- zPuk|Sr2<3t7W{tO#;TyDB5cGh=@P74>J47vDhArEXokkEHI$tfr!3p%FUjyqx8T~Q zi5<#Z1|(Bh;>b`qotcGHP@h)~L7&S}tA+1!L&54&n3T;;E7Jt!-m3`i36#0!ZfOH6 r2ir|PDSUn7Fcuz1J63XgiSG9w&=(|VlTJP%00000NkvXXu0mjf^;#{& literal 1574 zcmV+>2HE+EP)d#q*Iot?3FHoWsTb)h{naS%@G?pBv%G(NUzj#V3`~OmygeGt-5~uG*zo*3IEBt4pGeQ&B zzox##5G`fz(P{aF!XPx2p80aNF02(io9@3uVG+2%5a?!VoKjuAu4C{S#yD+=-vpx4 zP*(^r+%w8m8C2es`E$4N(*xh|e?zrb_n%PV_#hB9_f=paD4Y`hT{!-aHV)P(|1wAY z-2-&HCX}5&pDt4A^${iG*J$MG4X*xR_4z-vb-3xP;Jyi*>bk}jdY7N*7W2Lvg>@>u zI;wxZeVApNajSmf0+Wr|V;cfa%UM1y7Kzcs7gOA+4YLhc&OM@hX_x$p>>L+~HQ=JM6d7@$IltI z$@x-_J498K1xCm~;$XMIyt%6-ESy=)h>>y0AoI1Uyx7&}PbkHl8a7-2=QhF20*Q-h z@fR|b1$Gh^;Dl50UMjfQt$>FfmSBur9XqVBS=|fLb!1tVDIo1S~U(EbYDkvu& zPQnVtn01Pj=zmtgeC{;la zB4)(Nd?ODpNImff7?&b^O=(g`S*5Y?>Zu-(4yWZ~C5MMNsv1iLP;(yFgYeQw7J#m| zhKkOw{N`wX0(`cxHcz^gSmFYb@m}TcC<`2|*&)ifMu5|E3LkhT^T0C1?}P2DqAW1% zr8-Gt#Q_}4(&ir*o-b|QYuL*RZ4+x#;e)qngQ%`#Xje;Kq2uEC2n!!y@#MoP7oNNI zGj~4lyt-{29aR=63oI6*5;_3F44MM6=ACt{sDcpd(XaL@M)+DHUHotJ?2uGZR%zi8 zyA@(;wIKLWNm$44-kjsTF)u{qkmcESG;--LbN{dZsvCt=;5yP1X%r&vf%`6=XuG_!WVM!0u|AxSTlm^I~R!{6?lVffNri3Mc-b=!H2X&PgX( zQ5M+ln5>hb0UtEH2hCc-b`UBb=hU0?$|{Ws_ewk5mT=)ECWAWlvv`OMDM%2G&=ST5 z3lEO65*-(vRJWn47KEoyS%vaHYqOxm3h(XL-H#K)>OW}whB*tQ+;E;*|gu9L)-83+wazg%<%-7|&2=hegMS_&*OKaXAa=bwewmzg!BeiA&hD-IP)M42667UvCg~g1Qsfogmr3%>+&-kTQY0fx3aafs+aBOb~a1xD%jYM4c&yAD}GJ za?E$9lTRc-J`w~0BmfBs2?+`3hY>^oB97@b;q)DiMvrjrAi^1jVGTXw6ZDS^!jM7F zxPrL2r)TSEyM+jdO?pdb_Q}*hX8i*qA%=Mm4i`zfGxH|%6lZb)$3uAg7sK~GJ$H0G zwlEYhucN6$zGTRk&;j~zWLq$M=$*}pNjx~(gjXNK(4g!_4jn_7dzU+%y!WLbU0DKj zZf5lQ3YFt{hAN8M!5M+g0jq3iZMiB6#y}@`WLyqcb!U2slrFRA%c;*bt=1j*aVz!d z5LcG0dAa#4zvBq`&tfLGL?F!N8tO`V0NMW{NyR&xm5)GVa~MK#;sQ z2UyjoZ{YB^DN(Q!=kTHLY>dVhWuv)a?59vgA<>Kv1@r(JMsApM@J3{9&$L+KKk|1* z&rJT#k)MsRfbX*>+t@)$Lv~sO?Q_$_u$jrMP-Z#DfOJeWy-QuM9D5bA(_BZkmv1rP zOmCED`5PSWSaJ5&#}LOV4OMrz5V^3p0u9~Ol=UAllyi1^teq(%Aw$1bC0m2#N#RlA{r{21$_4ig+y2ofFm+^SvR&A&miHXe(eq7%KbsN*V*hP!;TQk<4zs)AJ}l z?L8tp`97u^`j;mH_pZN)b^>ICp|ao9cML3Y8AlF1VQ4}^LPEkv!hdbBWv29dBWwTw N002ovPDHLkV1m_mnSKBO literal 1218 zcmV;z1U>tSP)I2nK?YKx{-XP(>h? zt>MkkKy;pIXFEIWTesaMS@xG0+;(?oo|*saK*`&WZ~l>6#2s?W2n73`K(OBl1pA#p zu-_>q9`L;76^T|v4ZlCVI3+8IMUuWu6Sr|)aC3Dl>5lbS-gj{Pi)<%1iQBj?xa@97 z{l9X4bZr-7RSm>TJTYm`+~zDb-xKvZTpl44{gcE?f}m9h*s+1OVfr(yeijl;+Kd-1 zFG>G{XX-U9VeZ>((F0jg1xG7t9Q$Obw4D9pVDTQ_Z!LNtE2>~IKqZtNlD^9Aj&h#V z_%Fcq^6nyCs9N5BELpTTw3_Ey=vtS}YaQP;`R zjNa!+Ju~rlhR=?5z1CbG9Pg74-{*Di8`q>UEAU=en+Q*bu)r@;Opq}Z+}D)Ji!kBO zKUbMKch~o@U5`~YGT}z6ib;rc)J51X$d#5^8k1cI<8iU5y&(=Fk-zaS%y)~XF*D0E z6bwOp(#yL`YCcTS^b)I@WTsUgY19b*@n?rlVx3Mx%%@@YE-N4aU6U&I>Vm#+S91@> zW8cw*kgaR5eK_ma5u#ikEZegi{@sASGnEw9Y!!(*q*-@wM8IS4p464iAj5LbYqu-1Y_64 z!a+GZVyVea#bX5`dl$|5(aKETMWzs|J*N~bSTt4M=~UmVVcn8ba2Oz#j{M!lpkR}R z|0Pnptm46LU}D`3y>vH1w3K{L@@24Xh_u%|(YzaE@_yl>3lhvL9^S3Mv`0F}SoznH zope5;MX@m9nfSC?ec_$sy%XxVPH~i$wv%7kPxzEr%wuwxBwqlC?xUTJ9Z(N*v3P!Z zV@e}dY(^5P9pV&2!D9J_qFn?*iFZB_J<>UvdybZuqUi2e#=OnI_qS`K4RHTAYdnwxYBwIukX=Jr~Whf-E+l zvo+gk>83@?DbR^nkXIhY%cs|;XrRjEVXs8XV$p#)5epm@9*ESU=#j^x#7%Ha%*A3{ zRCi8~h#emQh@$ld#~~aq0j+-J!c!6M!*en`tzkST^|?q%p?^(VPun=0Wa^1VZCyrB zFjF>uGk|+h-5Kp%HQix5@3ErbZt0NvlM$IzVJ}@+rIlic1;O8G`JF(p-w6c!oj|bP g2?YC{K(OEW58Rwfnbs=V(f|Me07*qoM6N<$g7r^6C;$Ke diff --git a/images/mymedicinetimings.png b/images/mymedicinetimings.png index ca62e55bcd12dbc249e998ade88957df72bf862c..1881b145980c10ddb3bccd95d286426232669579 100644 GIT binary patch delta 1325 zcmV+|1=9MX3&0AHB!34xN18-yFw8(5vd*&yx&_6Bk%a5iu| zLD~uAOptT}yAw2>03{;m1VN-e7OBL3cl3t>K|TQ_L5i9|Bp_m9zfzlSZJKkUJflQU zoL+5uvFVAvXS3NWd~^^=o3=LPI3Br8Ynu#wG}uO^7=~mU`F|7wU7^%*9paikjyvA}oz!BO!p22n@-KH@tF4JP~SxWfyW7)<=A+VULC z#XS{FV%3&5C4bxoZ2$vf;31pA2w>6IW9TYLpKl0ky7A~iA|zqfx5B1-4=0Vy0V>Fd z7@9Ea)TDVjB zGB>Kgo&8#gtS=X_Ok;3czltnc)TC18MwOB7``s!y!GDFpw)tSc9z>Sgi?CSYNf?NL zm@X~qNU$F7r{y(iVOjY_TDJtdw%^J;GDo*A*A?BuTu-7ny$!ylg_lD1aLLv!!B#$q ztTla_q-ms<-aw=w&_GrXozb&1&<1R7diy|f z&wuC{8~8en1@jp0?c#RhSVAo!99B@c@Y;2e-J0r8A&z^?jg4yQi*<{21_IdM!fRo@ zeT%+Fwnk7(V|^N2%L{|tdH~^jmTx7E#j~uXk{v}FyEZ1(-N+yy;V#nLxXdA|kwSmM zdr>ZT3CIcBIfp93w;dI(P|fQ;(wv`pWPf`ZL6z0kUHAlZA+&2zn4Lpd5!ox*WsB^f z{cC02W1C>w$A!ia256GT_5p3s(@TeSmt6&Nd3Vqq9`+?n<&EchNt)*AH3R@QAD8a? z6f#)vJ3EI=U&0yRK;x0w4RzO!Iv+oY5=staS zFRtx7%0I#caFBh5bKw{SkX@(j$G%Z`i!l#=*6YEpemhjDLC?`cCcVdEIwLt+Y*Snu zWYleGlk1@Cc(S4bgYLtnhEq8r-+yD|GnjmHkE$)_oxbZ)nI6axCpxT+?{$0`tAJt> z;#j>n;yRQbwd=@67<3=jCgd3Z6@dKQn>+R;4~kPCp!qIRi33#cB2mC`(!l^Xyxj2n z4DBy@9H0m&p5Q%!MKIyBMhN8i4yW%sfz_UKj^mMIgcnCfxpW)2q2!_|)FxlUGfMOX j)oXY!P(7cD@^Jn?XKS+&z9#SR00000NkvXXu0mjfy>Wqq delta 1425 zcmV;C1#bGl3Zn~vt7+kYKh6flxKM<~&qp#GTn z8|fwMkVRHkSpKj2u|lP4iAo=eRCxD>a$Bz`Til=^5eQ)r8cUATX#coPuG#kzIJ$dj zC~-`jnWj>uNZG9oT3DZ#W53}mVGx))`YVklC&(?L;TVk^#&MFKyk7C0xNn4E(aEFJ zyDW-j`y{_Yg@5uJxopeTqBvKT|FgO*idZp8awtA5mp{e|Af4KE&V<` zv&*Vk;g6}8^OQ66$)DoK#NY4)AKwQ$Xp@L>h``Kh59atl|45lpzxg6zWjLkbEDA{KDcV*?X1 zNVzJ{kYp7=nlJBKMzF{f#)NSr6-W@E7TC-O4W5$`Fei^p8(+hSaIGjf zX@9=wvwzQi4Y=3sr#J1-SlXsmHX_WIGV&}U>3#$EMd_)4^3?=JgzHk!#v-)}+>OQz z%UEr~yzGM?t-XCgtpco!k`;h2Cu0NJzttw(&n}7^wi>9<72=Uz?cZq=PDJ|b@oM2Y zwHnxrC?v&RTNm1dqv5DME{jcjtFigMV2=|)SbsQb?GP?i{ok0IqEy+k$52spp-q_Y zbG_tVp2zvv6#NKzWneV zY%%B3SB+&HUSX*er2}mXS3m6#j9QJYGBr3&r-uKuCkDCu?D+q64+qtPlY@mp+SJm~ zaDR_IHkmAK!i9G`Q8C`#I4U0R+wGGe&(EVQoL#y?ms6MQ2X#ZbE{In2vxYX|?AE$H zZk7g`J+O5sT-!s7x)+m$B4$WPIJckPa7`K#kOHJ1U1$^DWELLjGmEa!oZ;6fN3r3+ zv7B9!t1CY7Ioh27V$sLW9CJAcWf1!>4c5avusV|DPl-b64oN=wVRC3`$M zXtw!QqPmkz^;1Rqpp*3JpZ{ulEiNya*7Zh0d|F5>Q`>nI5g1nHy&%Z5nfz|STm>y9 zrt?$;{{|H4GoxqaXZUv`z`A@nn<_3w7Dn#ny3*<6e`_fY{5#Do4JgtzYnK{aCx0x` z-VD3eBclin7*|?&Smn!7(9_VBoGlbiI+K4?_gxTZMgn~+uX>s>VOTlER7&Vdc#yq- zpoLU~NDVhYlt)kL`pTTPg;3PgOT+WV)&*QO)8Nb4E-HCta_~3#_cMhW|3IA1Z2NCS zSg0trm*u>Ea|~pi(r_m4uDRxV^M8Pj02k9h8pVavFL5r%B57GH#j<882%klVgOf#( zfqT1!$7Y%(qbhH?sD`#mF>9O8>dI1G!0(Zo_yi&aU4MMd)ArPtb}1s~Sc7&c3X4@k zDHlYguRGhNVi|j}tb#8MaXbh#Cit4Nh|JUCP!>lyi80>k;1wG-0azh%p?{f;^qpwf zP)A=0ljjFQe!f18KnClK9R7v;K&@{z?`wA>6vX?|inufX>Hro6(X=RIgJ|Of@)i&B zqv`?mZrgxeh* f!tIU&NB9eTqo^k|dDbTY015yANkvXXu0mjfY8|^+ diff --git a/images/reportmyself.png b/images/reportmyself.png index c588708f672debdecf4c8adbd4a99623d801211a..039f53c474b2be319432a3efcc23018122e0531b 100644 GIT binary patch delta 1182 zcmV;P1Y!I739<>0B!78HL_t(|0qtA;RpT%WS9$yo8{pfZOhB0cZi03L$^;D)l$)Sz z(7Op5CTKTEZUVRobQV@P=fkm;IHd>uz3107m2Ca|6-jYNh?oI@g2TrBXf%3+2snYm zCrh}2NH{GnbPtZ;z@TT}M1O1`B2M6o;Yj$i<4E|k<4E|k zD;y9+gf-b){jn0Loayod4hYf_PIVzC{yb3r7aSNwgn4@2!+#9%8Xf|AsnCp>=yCxj zdMjp7@u@hF*!A8MkO6xJk<=y8WrH$ob-B|;K^N?sFpX3Pk}j;I#770$ka(CYUqbVy zMOlemi|#q=&VRs-+$zBBP#Ht}M){=6gKj?uA0#8J#co=9d)lH$qx#aI^TMMv8U z@uW>@5W)>)X;h~$0Cc@GtS_0wB^;fwu5MmwJj0f0AAhOMG1jN}v`H{3VV-6$m627j z2L!b}0O73C%U7^Rpm`$L*i;3g5$3gIVHc#CZnvuS(7^4E}%dj83 zFWJ~;8#i9U4x$^I6qa|zZGa(Tj03MTgXNB0o_K^QX-5R;@j{P%i#nBDLW z{D}2z4yh-#u2mypwgf!3gSQo$k_IbOF1nx5BEfuJHAEv zqePSRrCODB9g=g35-kPR^T(EdCyZv-qnxwiTa=D{=#VtaBgw>S%eMdA9^qowOTm+_ z@gStvpCJxX5W-%=)Dv@Fr&6+|UJQ`mLDOCBiwE%Ye1&f^EF=3G*`P zdw&e+DNydhy3Qd6u&VkoS7ddZCc|2!5a| zG6~aFf|1^!AbWy!k1k#^0?V#vP&8A~pP~DW1l<=W0I?j+1uuip%58tzL?+F0MYJ_< z`TdH^xTPNIpak6ZRA-Lly|y1%pVkY95r1}!xH@9)5Hp51Itsglrcp2 zTBUnapF!x(tkg(zTi7(ZQ4f@2{V-@sjtm<^_m!uL6wFSVgYkjSSci7niAR@o-l8}( zfsZZ!E$BsC7hpYOm|*{4KNMT6Pvz1E8vV#HnoWjcXaygS9E=C~?gkgXrMx#S9wC`vVZAP>arC>a` wPI<9|`mYjq0J)RJ`7A;XCV%xCju(*QFOfzqniB>svH$=807*qoM6N<$f^%awPXGV_ delta 1254 zcmVQK}Se9=umQ6c8HW7qR7FB?fA-imi7u<6ONQd zsJ;0CCvAtsY#$B$_)2>Lo@h9;mSG{KqTu*mfosCKjU3C0I>`+Xe=8ytMM-cx(Xc9D z{teaV=~VO##ed3TdD{WRAGSPVDds%Q{G6h(g;DYfo)Er#vW3bc+uF(f$+11#$F*++ zh+WbeDPGf9aLQ4J^ov@r7@c*;vwlYgM&$_Ou>kPv`Y zTkEg$?;tvy8l;i*P@V+{EVFBI%q&lF&4Q>P-qv`ZlQ!O81)i96nw4{Dn=vCvo3j-9XoGg&j5PhR0MeK<9gHwFvPs?@dYdVdc?69^Ru9Uu$o3-6iCOj&BzE_PdC z^S=3&7@i|czJ_U97LEx+vTaT6JRtx9Ea25}Cl42*R7|osYK1tn23bIer;ePq9257C zl~t20lucS>J=&I3A?3tuziztFhHzGP8Ij5Y`TX*u?Ed-ZGpkGbxGatO<*- zRLGfhPjv0LP}~PXwu4r6f`6*y=f339(0}0Of@*E&h`e}=)y-zWM3JF&4t5k2vR0|_ z&*Tm!Z-g(owAiCoSr9yYYuzFk{B z()=N8m+OjJ7M~asZ5xm?*VN{8^&D#ebdA2zw}FTlun-lKF7fN1c+jpW4|}ISGJmt1 z*2x;dyCW=t5N)1vHXdUw9#K7+=XMTtaO)9-I}*?L24SF;RYM~Dh#J-{AQ%V)aMIxS zwE3$n?~q@%YPz7iHqdavItLCf8f@5u>#e|u7=*CLvy6S6-$8Ab~1qMjE; QSO5S307*qoM6N<$g4-`)-~a#s diff --git a/images/updatemobilenumber.png b/images/updatemobilenumber.png index 028dc664db1f0a930152801cfe765bd8289b7f59..a6b5d9f2b3ed69e60cb05d77d234489fe66d1033 100644 GIT binary patch delta 674 zcmV;T0$u&m1-b>0B!7WPL_t(|0qvWORl+b3fUiCVa09b}I)N|&I)ONWI)QGWOaM-x zOaM-x8_*4e3F4hivGV$pHob6-{oYIKD=GFPX_{Qp2$<1Y4{WS5ZC|9$3EBSMhQmT-}53Q2D*JL7TAu?khG6d<`VSn1LOE-#3cUih|Aik^8PBRZ( zly;tKag=@p&$KePPxUKTBnsDbTVOlbz_KwAv3Wa?&ZhfN_I(;k6h%zm) z4^E3dU|A8bWvzzafemBS-@~E9B`jyv-7hh1xP<+@D^!maZMYgO>Q;V$tk-x()SKf9 z@lchP678UCxk}f3v%RQA=;V#CAta+91%4q>x*N5orT~8U2C|JS`&HXZ6951J07*qo IM6N<$g00Ou(EtDd delta 698 zcmV;r0!9701=0nOB!8JnL_t(|0qvSiOB+EL$Dg)gL)%2CwYXa8p_UZIqF_rYy|kD1 z(td{C`kmTSd+Mntz34?Rz9E7^F&N_u!IyvXr2u#;wEuscb>`YWPT7f3A;;v z*`1kZ{2R-Fl%$!3tBt3LcoN>d_yA)oqg9VtDlC-ST&2CK@~1EhcekZ{ z-(kC)SRb!>Os231s=+)gVefd8N+&erRyug4zxI50x2nS|Je!}oe(#t4=C)_tsxHke zjJ4~;+Bg&rw|%mnl@=kv18Hi>a(l~$Jj6rkqtlYFXFhfslYmG` zEm!ZTyMJXOEvBu7o$O%R4^vVM9>PK@j4Os-G*s&c_jkPo7V^b)^@TsDzFfE6N>btv z;xRpuiFpD*ccgV%*q%SW`~+cXeH^YNl_rcUez=I;Xh?5q5zC{ZAr;OaYyc&>-DTi~ zR5(*!Oru&v!}F#C)aj&c7~|ak^Z(q1IJ>12L^Dx5-hG} zC+Ka^>jZb5AnpVi;ckPB;B1g|0(*mW16G1%v`9peG9^XH^#hCmeu(@nQ4h)i_|NTt zh^;-~J>bMnv~bUyiH#DyfC3n28uMe1r8@?9X;>^4Lu6Sm=6`2PT>fdwYoRp8skN(x z&KxHUb8`1RyBEWi-I${fl-EKDjG?6ydBAzt=azx;S0ESt2stqZo{+Cejo2w>zX31$ z6>{N>cBn%t76qcSinVd7snt1RL!z^aeL)!=j-An0b39DqaE$lWOtD_kkPCq$w$?Wx zF$rv3h|YpB@PEiSu+s>2Hl$)L**mCE%szvXYQ#EcsPWalgwLR)HnC3u!U^^jK0qEMVlAo{&IvAsRIHjB1Q!!)`N&)!;4+RIh{ra=z32SVi2VU^ zEQ#_(aDsgWi93i1BkE{=zCap$_6HEcHR-+Q+#0R~juW1>=h6{`aDsn%&e{3(8m`oJ0ksfCHzq5(|pEGL@hT^ zfI#i4vo4gu4Pj6`X;<2(vMzZN@i=x~R8D#g8NrM>HO?@#pVVWf4h+NlzoC6(U zJj*au+MdsW71E?jra>@6QmnI_9N7dMiJoT@Hh)5!cIrK>ISzG%Gd=3_)uFh($_$U& zNeu4l3(D`C<6unDTK;ftNYre-Wj0nKFvb z*+nq5(=yM7#9pV9;y^zBTH?8o*aOrI@}C24&+ZS3#lq|DSqMbG;@BFxz&$-)bNGox zAYl4*H)1CQqJ120QtU*e=-Y@{4kw!Xe!9C0u@g9UQdEkj&T%#cM%?yHY<)AR)ZpK_ xcRh3C++Yo>p7%uXe@nLQ!EIpw|MW?6;~$f`fS_Ur-R}SZ002ovPDHLkV1lM=og4rF delta 1063 zcmV+?1larW2CoQ^7k@km1^@s6I{evk000B_Nkl-ddGjCe1PAc~CL#vJlt^quKq$XTfRa#3(jw9ME=-x-?zY?6 z*)Cc3laR6t+xF9WJM-R~UU~QR?LWFiT%}7!AnbPnVZRdy`+uE4*za6;;c!hIz36_W zJ*wbB3!loqq-gyu?NNnvHMvZvx`x7`Fh#C4Q0>_pK0e9PVfK*yq$zc@XL;>V`*2>8 z%a6rJwd-WL;#Tnxt#6{9<~}AG(WI?Nq*iGB_eb41{D1CmmPv*S!Wpt7^Y7W;b0mZE z5$2)@!%|>$Cx8D;=+5zxT-y0Xv5oI+L`QVei|o9tEKn-k+tR1W+5xhV5#KzQ#bZy) zBki0h4cR$%>;z@PPuibSN8{as^T~rvEo_tNEy|so%7v;zl*y$nWjUg>lQ0%hBK){* zpg{D#AK-G8~*`ZwF5S4@^amnvD{XdTw> zHN!otTGr`3Ys8VTQTAu@$Ay*!(!zM7osC`jW2}#J8?&~r^+Fa%3mey2Oi*@aQ5o5L z(fgzdY2ll7O}gXl^k&IxWMnZZ_O}gEw61g_V+U#BNNq#@_f%$A%Z-a6E6eAJ>%!|f zLH-_Q1%Cmjlq~4D(N&ggs5+#Z6g@8w#e#rmP%>CeP?!%;K;&Pqs)khHX+7-bY;1*e zriD+Rk1}%OQlMB^+*uHgcPXBnFM5qWin62vY2nmSD!(+@DFxT|SF|6ypv)9;QuK>R zhcrfrgOO0RY;Z8i>0U3hM=FpOUfW;Q9p8@JA%B&KQG?OlR#ZSp3#0rK!>p5y2$m8R zAY~PoA-t9<9L>^;yXTV-!n(h8kep&xf!WQ`?chi_&Z;BbD6^4qdM_hy7DpFt9XpAQ zT^tD`IY7}MGSo3F9om?g#b!b|6_{NdCmu^ItkHtuV08Lh2dG?d-4N@GiQvOjIl4ee zrhhfLJg!RvJ6V6LxA`HJ!?UjE1);no%n_hjxhvu8uASec!fY_Nhe?Il0 z%u$w0Cs-C0GrUQJwkTqTSrc%4VN7`_bCebjbL^f&C~~k=p$4{+Hf!8ZuYS?eR<}@I zEzKmRbQ@$=(q^)#o=O!IPEjt5r3zak;(z*Vl(v$sM5*Z7?xESvA7=6d%fXG4StaXY z*BStrbj(KDOIhG*$Ae2-ZF+mr@o>Gx!=6B%~-u@!^+`1A6FC$hlx z?|6vJtWKR(Snebhc90f+-TQ_r3Ho8v>;rR(wD5=cC{>bUue+8RMP0;76MXg1?;r%i hekTz2JAts@`45Md`+z@PS8M%I diff --git a/images/updatepin.png b/images/updatepin.png index 7bbbd2119c5f396fe1661eda93bd6b0ec0067454..84e28e79848ae6708d363db78950f2c2a31379be 100644 GIT binary patch delta 1184 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 { title: Row( children: [ Image( - image: const AssetImage('images/myconnections.png'), + image: const AssetImage('images/reportmyself.png'), height: 25, width: 25, fit: BoxFit.fill), diff --git a/lib/common/settings.dart b/lib/common/settings.dart index 2d8b044..404e0b9 100644 --- a/lib/common/settings.dart +++ b/lib/common/settings.dart @@ -35,7 +35,8 @@ TextStyle labelTextStyle() { } TextStyle haveMotorTextStyle() { - return TextStyle(color: Colors.red, fontSize: 12,fontWeight: FontWeight.bold); + return TextStyle( + color: Colors.red, fontSize: 12, fontWeight: FontWeight.bold); } TextStyle textButtonStyle() { @@ -57,12 +58,14 @@ TextStyle startAndStopHeading() { return TextStyle( fontSize: 14, fontWeight: FontWeight.bold, - color: primaryColor, + color: primaryColor, ); } + Text capacitySuffixText() { return Text('in Ltrs.'); } + Text dimensionSuffixText() { return Text('in fts'); } @@ -86,39 +89,60 @@ TextStyle serverIssueTextStyle() { } TextStyle bottomSheetValuesTextStyle() { - return TextStyle(fontSize: 12,fontWeight: FontWeight.bold,overflow: TextOverflow.ellipsis,); + return TextStyle( + fontSize: 12, + fontWeight: FontWeight.bold, + overflow: TextOverflow.ellipsis, + ); } TextStyle wrapTextStyle() { - return TextStyle(color:primaryColor,fontSize: 12,fontWeight: FontWeight.bold,overflow: TextOverflow.ellipsis,); + return TextStyle( + color: primaryColor, + fontSize: 12, + fontWeight: FontWeight.bold, + overflow: TextOverflow.ellipsis, + ); } TextStyle wrapTextStyleBlack() { - return TextStyle(color:Colors.black,fontSize: 12,fontWeight: FontWeight.bold,overflow: TextOverflow.ellipsis,); + return TextStyle( + color: Colors.black, + fontSize: 12, + fontWeight: FontWeight.bold, + overflow: TextOverflow.ellipsis, + ); } TextStyle withoutWrapTextStyle() { - return TextStyle(color:primaryColor,fontSize: 12,fontWeight: FontWeight.bold,); + return TextStyle( + color: primaryColor, + fontSize: 12, + fontWeight: FontWeight.bold, + ); } TextStyle bmiTextStyle() { - return TextStyle(color:primaryColor,fontSize: 16,fontWeight: FontWeight.bold,); + return TextStyle( + color: primaryColor, + fontSize: 16, + fontWeight: FontWeight.bold, + ); } -TextStyle drawerListItemsTextStyle(){ +TextStyle drawerListItemsTextStyle() { return TextStyle(color: Colors.white); } -TextStyle drawerHeaderTextStyle(){ + +TextStyle drawerHeaderTextStyle() { return TextStyle(color: Colors.white, fontSize: 15); } -TextStyle drawerHeaderTextStyleNew(){ +TextStyle drawerHeaderTextStyleNew() { return TextStyle(color: Colors.black, fontSize: 15); } - - -InputDecoration textFormFieldDecoration(IconData icon,var text){ +InputDecoration textFormFieldDecoration(IconData icon, var text) { return InputDecoration( filled: true, fillColor: Colors.white, @@ -134,8 +158,8 @@ InputDecoration textFormFieldDecoration(IconData icon,var text){ borderSide: BorderSide(color: primaryColor), ), labelText: text, - labelStyle: - TextStyle(color: Colors.black, //<-- SEE HERE + labelStyle: TextStyle( + color: Colors.black, //<-- SEE HERE ), ); } @@ -172,9 +196,9 @@ class AppSettings { static late Position position; static String long = "", lat = ""; late StreamSubscription positionStream; - static String fcmId=''; - static String serverToken='AAAAA66BLaA:APA91bHcmbyiNN8hCL-t-M9oH-u7ZMOl74fcImMM2DQZLgdyY98Wu9XxME-CTPcjpjU6Yy48ouxISrOMb9lpa3PJofh8qciUKMNxV2al-bDvGvPP_VVaH0mrTHzR56hdkGy1Zl-0frDO'; - + static String fcmId = ''; + static String serverToken = + 'AAAAA66BLaA:APA91bHcmbyiNN8hCL-t-M9oH-u7ZMOl74fcImMM2DQZLgdyY98Wu9XxME-CTPcjpjU6Yy48ouxISrOMb9lpa3PJofh8qciUKMNxV2al-bDvGvPP_VVaH0mrTHzR56hdkGy1Zl-0frDO'; //api urls static String host = 'http://35.200.129.165:4000/api/'; @@ -197,21 +221,12 @@ class AppSettings { static String getMedicineTimingsUrl = host + 'getmedicineztiming'; static String prescriptionUploadPicUrl = host + 'uploads-precription'; static String getAllpharmaciesDataUrl = host + 'getAllPharmacylist'; + static String getAllQuotationRequestsUrl = host + 'userprecription'; static String getQuotationUrl = host + 'submitPicture'; static String addPrescriptionUrl = host + 'add-prescription-details'; static String reportMySelfVideoUploadUrl = host + 'reportProblemVideo'; static String getAllPrescriptionsDataUrl = host + 'usersinglerprecription'; - - - - - - - - - - static File? updatedImage; static String image = ''; static String profilePictureUrl = ''; @@ -234,8 +249,6 @@ class AppSettings { ); } - - /* Preloader */ static GlobalKey preLoaderKey = new GlobalKey(); static Future preLoaderDialog(BuildContext context) async { @@ -260,7 +273,8 @@ class AppSettings { return _headers; } - static Future> buildPutRequestHeadersForResetToken() async { + static Future> + buildPutRequestHeadersForResetToken() async { Map _headers = new Map(); return _headers; } @@ -369,28 +383,30 @@ class AppSettings { } } - static Future sendSms(payload) async{ - var response=await http.post(Uri.parse(sendSmsUrl),body: json.encode(payload), headers: {'Content-type': 'application/json'}); - if(response.statusCode==200){ + static Future sendSms(payload) async { + var response = await http.post(Uri.parse(sendSmsUrl), + body: json.encode(payload), + headers: {'Content-type': 'application/json'}); + if (response.statusCode == 200) { return true; - } - else{ + } else { return false; } } - static Future phoneVerification(payload) async{ - var response=await http.post(Uri.parse(phoneVerificationUrl),body: json.encode(payload), headers: {'Content-type': 'application/json'}); - if(response.statusCode==200){ + static Future phoneVerification(payload) async { + var response = await http.post(Uri.parse(phoneVerificationUrl), + body: json.encode(payload), + headers: {'Content-type': 'application/json'}); + if (response.statusCode == 200) { return true; - } - else{ + } else { return false; } } static Future calculateBmi(payload) async { - var uri = Uri.parse(bmiCaluculateUrl+ '/'+customerId); + var uri = Uri.parse(bmiCaluculateUrl + '/' + customerId); var response = await http.post(uri, body: json.encode(payload), headers: await buildRequestHeaders()); @@ -415,7 +431,7 @@ class AppSettings { } static Future calculateBP(payload) async { - var uri = Uri.parse(bpCaluculateUrl+ '/'+customerId); + var uri = Uri.parse(bpCaluculateUrl + '/' + customerId); var response = await http.post(uri, body: json.encode(payload), headers: await buildRequestHeaders()); @@ -440,7 +456,7 @@ class AppSettings { } static Future calculateSugar(payload) async { - var uri = Uri.parse(sugarCaluculateUrl+ '/'+customerId); + var uri = Uri.parse(sugarCaluculateUrl + '/' + customerId); var response = await http.post(uri, body: json.encode(payload), headers: await buildRequestHeaders()); @@ -524,9 +540,7 @@ class AppSettings { // display error toast return false; } - } - - else if (response.statusCode == 401) { + } else if (response.statusCode == 401) { bool status = await AppSettings.resetToken(); if (status) { response = await http.post(uri, @@ -539,9 +553,7 @@ class AppSettings { } else { return false; } - } - - else { + } else { return false; } } @@ -549,10 +561,8 @@ class AppSettings { static Future updateProfile(payload) async { var uri = Uri.parse(updateProfileUrl + '/' + customerId); try { - var response = await http.put( - uri, - body: json.encode(payload), - headers: await buildRequestHeaders()); + var response = await http.put(uri, + body: json.encode(payload), headers: await buildRequestHeaders()); if (response.statusCode == 200) { var _response = json.decode(response.body); @@ -562,7 +572,7 @@ class AppSettings { email = _response['emails'][0]['email']; age = _response['age'].toString(); await saveData('phone', _response['phone'], 'STRING'); - await saveData('email', _response['emails'][0]['email'], 'STRING'); + await saveData('email', _response['emails'][0]['email'], 'STRING'); await saveData('username', _response['username'], 'STRING'); await saveData('age', _response['age'].toString(), 'STRING'); await loadDataFromMemory(); @@ -577,7 +587,7 @@ class AppSettings { } static Future getBmiHistory() async { - var uri = Uri.parse(getBmiHistoryUrl+'/'+customerId); + var uri = Uri.parse(getBmiHistoryUrl + '/' + customerId); var response = await http.get(uri, headers: await buildRequestHeaders()); if (response.statusCode == 200) { @@ -600,7 +610,7 @@ class AppSettings { } static Future getBPHistory() async { - var uri = Uri.parse(getBpHistoryUrl+'/'+customerId); + var uri = Uri.parse(getBpHistoryUrl + '/' + customerId); var response = await http.get(uri, headers: await buildRequestHeaders()); if (response.statusCode == 200) { @@ -623,7 +633,7 @@ class AppSettings { } static Future getSugarHistory() async { - var uri = Uri.parse(getSugarHistoryUrl+'/'+customerId); + var uri = Uri.parse(getSugarHistoryUrl + '/' + customerId); var response = await http.get(uri, headers: await buildRequestHeaders()); if (response.statusCode == 200) { @@ -645,7 +655,7 @@ class AppSettings { } } - /* static Future upload() async{ + /* static Future upload() async{ final uri = Uri.parse('https://myendpoint.com'); var request = new http.MultipartRequest('POST', uri); final httpImage = http.MultipartFile.fromBytes('files.myimage', bytes, @@ -655,41 +665,38 @@ class AppSettings { }*/ static Future uploadImageHTTP(file) async { - - var request = http.MultipartRequest('POST', Uri.parse(uploadPicUrl + '/' + customerId)); + var request = http.MultipartRequest( + 'POST', Uri.parse(uploadPicUrl + '/' + customerId)); request.files.add(await http.MultipartFile.fromPath('picture', file.path)); var res = await request.send(); return res; - } - static Future uploadImageHTTPNew(file) async { - var request = http.MultipartRequest('POST', Uri.parse(uploadPicUrl + '/' + customerId)); + static Future uploadImageHTTPNew(file) async { + var request = http.MultipartRequest( + 'POST', Uri.parse(uploadPicUrl + '/' + customerId)); request.files.add(await http.MultipartFile.fromPath('picture', file.path)); var res = await request.send(); var response = await http.Response.fromStream(res); return response.body; - } static Future uploadImageHTTPForPrescriptions(file) async { - - var request = http.MultipartRequest('POST', Uri.parse(prescriptionUploadPicUrl + '/' + customerId)); + var request = http.MultipartRequest( + 'POST', Uri.parse(prescriptionUploadPicUrl + '/' + customerId)); request.files.add(await http.MultipartFile.fromPath('picture', file.path)); var res = await request.send(); - var response = await http.Response.fromStream(res); + var response = await http.Response.fromStream(res); return response.body; - } static Future uploadVideoInReportMySelf(file) async { - - var request = http.MultipartRequest('POST', Uri.parse(reportMySelfVideoUploadUrl + '/' + customerId)); + var request = http.MultipartRequest( + 'POST', Uri.parse(reportMySelfVideoUploadUrl + '/' + customerId)); request.files.add(await http.MultipartFile.fromPath('video', file.path)); var res = await request.send(); var response = await http.Response.fromStream(res); return response.body; - } static Future getAllpharmacies() async { @@ -716,8 +723,32 @@ class AppSettings { } } + static Future getAllQuotationRequests() async { + var uri = Uri.parse(getAllQuotationRequestsUrl+'/'+customerId); + //uri = uri.replace(query: 'customerId=$customerId'); + + var response = await http.get(uri, headers: await buildRequestHeaders()); + if (response.statusCode == 200) { + return response.body; + } else if (response.statusCode == 401) { + bool status = await AppSettings.resetToken(); + if (status) { + response = await http.get(uri, headers: await buildRequestHeaders()); + if (response.statusCode == 200) { + return response.body; + } else { + return ''; + } + } else { + return ''; + } + } else { + return ''; + } + } + static Future addMedicineTimings(payload) async { - var uri = Uri.parse(addMedicineTimingsUrl+ '/'+customerId); + var uri = Uri.parse(addMedicineTimingsUrl + '/' + customerId); var response = await http.post(uri, body: json.encode(payload), headers: await buildRequestHeaders()); @@ -742,7 +773,7 @@ class AppSettings { } static Future getMedicineTimings() async { - var uri = Uri.parse(getMedicineTimingsUrl+'/'+customerId); + var uri = Uri.parse(getMedicineTimingsUrl + '/' + customerId); var response = await http.get(uri, headers: await buildRequestHeaders()); if (response.statusCode == 200) { @@ -766,10 +797,8 @@ class AppSettings { static Future getQuotation(payload) async { var uri = Uri.parse(getQuotationUrl + '/' + customerId); - var response = await http.post( - uri, - body: json.encode(payload), - headers: await buildRequestHeaders()); + var response = await http.post(uri, + body: json.encode(payload), headers: await buildRequestHeaders()); if (response.statusCode == 200) { try { @@ -783,10 +812,8 @@ class AppSettings { } else if (response.statusCode == 401) { bool status = await AppSettings.resetToken(); if (status) { - response = await http.post( - uri, - body: json.encode(payload), - headers: await buildRequestHeaders()); + response = await http.post(uri, + body: json.encode(payload), headers: await buildRequestHeaders()); if (response.statusCode == 200) { return true; } else { @@ -802,10 +829,8 @@ class AppSettings { static Future addPrescription(payload) async { var uri = Uri.parse(addPrescriptionUrl + '/' + customerId); - var response = await http.post( - uri, - body: json.encode(payload), - headers: await buildRequestHeaders()); + var response = await http.post(uri, + body: json.encode(payload), headers: await buildRequestHeaders()); if (response.statusCode == 200) { try { @@ -819,10 +844,8 @@ class AppSettings { } else if (response.statusCode == 401) { bool status = await AppSettings.resetToken(); if (status) { - response = await http.post( - uri, - body: json.encode(payload), - headers: await buildRequestHeaders()); + response = await http.post(uri, + body: json.encode(payload), headers: await buildRequestHeaders()); if (response.statusCode == 200) { return true; } else { @@ -837,7 +860,7 @@ class AppSettings { } static Future getAllPrescriptions() async { - var uri = Uri.parse(getAllPrescriptionsDataUrl+'/'+customerId); + var uri = Uri.parse(getAllPrescriptionsDataUrl + '/' + customerId); //uri = uri.replace(query: 'customerId=$customerId'); var response = await http.get(uri, headers: await buildRequestHeaders()); @@ -860,8 +883,6 @@ class AppSettings { } } - - /*Apis ends here*/ //save data local @@ -886,7 +907,7 @@ class AppSettings { await loadDataFromMemory(); } - /* static Future saveProfile(dynamic image) async { + /* static Future saveProfile(dynamic image) async { // save login name information await saveData('profile', image.toString(), 'STRING'); //await loadDataFromMemory(); @@ -904,11 +925,11 @@ class AppSettings { phoneNumber = await getData('phone', 'STRING'); customerId = await getData('customerId', 'STRING'); userLatitude = await getData('latitude', 'DOUBLE'); - userLongitude =await getData('longitude', 'DOUBLE'); - profilePictureUrl=await getData('profile', 'STRING'); - fcmId =await getData('fcmId', 'STRING'); - age=await getData('age', 'STRING'); - gender=await getData('gender', 'STRING'); + userLongitude = await getData('longitude', 'DOUBLE'); + profilePictureUrl = await getData('profile', 'STRING'); + fcmId = await getData('fcmId', 'STRING'); + age = await getData('age', 'STRING'); + gender = await getData('gender', 'STRING'); } static void longFailedStyledToast(String message, context) { @@ -936,6 +957,7 @@ class AppSettings { textColor: Colors.white, fontSize: 16.0); } + static void longSuccessToast1(String message) { Fluttertoast.showToast( msg: message, @@ -944,8 +966,7 @@ class AppSettings { timeInSecForIosWeb: 1, backgroundColor: Colors.green, textColor: Colors.white, - fontSize: 16.0 - ); + fontSize: 16.0); } static void longFailedToast(String message) { diff --git a/lib/models/get_quotation_requests_list_model.dart b/lib/models/get_quotation_requests_list_model.dart new file mode 100644 index 0000000..17270b0 --- /dev/null +++ b/lib/models/get_quotation_requests_list_model.dart @@ -0,0 +1,39 @@ +import 'package:flutter/material.dart'; +import 'package:healthcare_user/common/settings.dart'; + +class GetQuotationsRequsetListModel { + String pharmacy_name = ''; + String customer_id = ''; + String patient_name = ''; + double patient_age =0; + String patient_gender = ''; + String patient_address = ''; + String status=''; + String picture=''; + String contact_number=''; + String pharmacy_address=''; + String pharmacy_id=''; + String registration_number=''; + String description=''; + String starting_price=''; + Color text_color=Colors.black; + double lat=0; + double lng=0; + bool isChecked=false; + bool isPharmacyInDialogChecked=false; + + GetQuotationsRequsetListModel(); + + factory GetQuotationsRequsetListModel.fromJson(Map json){ + GetQuotationsRequsetListModel rtvm = new GetQuotationsRequsetListModel(); + + rtvm.customer_id = json['customerId'] ?? ''; + rtvm.patient_name= json['user']['familyDetails']['patient_name']??''; + rtvm.patient_age= json['user']['familyDetails']['patient_age']??0; + rtvm.patient_gender= json['user']['familyDetails']['patient_gender']??''; + rtvm.patient_address= json['user']['familyDetails']['patient_address']??''; + + return rtvm; + } + +} \ No newline at end of file diff --git a/lib/models/pharmacies_model.dart b/lib/models/pharmacies_model.dart index 1972967..ecf8d2d 100644 --- a/lib/models/pharmacies_model.dart +++ b/lib/models/pharmacies_model.dart @@ -15,6 +15,7 @@ class PharmaciesModel { double lat=0; double lng=0; bool isChecked=false; + bool isPharmacyInDialogChecked=false; PharmaciesModel(); @@ -30,8 +31,8 @@ class PharmaciesModel { rtvm.starting_price = json['startingPrice'] ?? ''; rtvm.picture = json['picture'] ?? ''; rtvm.status = json['status'] ?? ''; - rtvm.lat = json['latitude'] ?? 0; - rtvm.lng = json['longitude'] ??0; + rtvm.lat = json['latitude'] ?? 0.0; + rtvm.lng = json['longitude'] ??0.0; return rtvm; } diff --git a/lib/my_medicine_timings.dart b/lib/my_medicine_timings.dart index f4bf3d1..30c06c0 100644 --- a/lib/my_medicine_timings.dart +++ b/lib/my_medicine_timings.dart @@ -366,6 +366,9 @@ class _MyMedicineTimingsState extends State { onPressed: () async { editTimingsDialog(); + /*Navigator.push(context, MaterialPageRoute(builder: (context) => EditMedicineTimings())).then((value) { + getMedicineTimingsList(); + });*/ }, child: const Text('Edit'), ), diff --git a/lib/prescriptions/get_quotations_request_list.dart b/lib/prescriptions/get_quotations_request_list.dart new file mode 100644 index 0000000..63b3673 --- /dev/null +++ b/lib/prescriptions/get_quotations_request_list.dart @@ -0,0 +1,60 @@ +import 'dart:convert'; + +import 'package:flutter/material.dart'; +import 'package:healthcare_user/common/settings.dart'; +import 'package:healthcare_user/models/get_quotation_requests_list_model.dart'; + +class GetQuotationRequestsList extends StatefulWidget { + const GetQuotationRequestsList({Key? key}) : super(key: key); + + @override + State createState() => _GetQuotationRequestsListState(); +} + +class _GetQuotationRequestsListState extends State { + + bool isLoading = false; + bool isSereverIssue = false; + List quotationRequestsList = []; + + Future getAllQuotationRequestsList() async { + isLoading = true; + try { + var resopnse = await AppSettings.getAllQuotationRequests(); + + setState(() { + quotationRequestsList = ((jsonDecode(resopnse)) as List) + .map((dynamic model) { + return GetQuotationsRequsetListModel.fromJson(model); + }).toList(); + + isLoading = false; + }); + } catch (e) { + setState(() { + isLoading = false; + isSereverIssue = true; + }); + } + } + + + @override + void initState() { + getAllQuotationRequestsList(); + super.initState(); + } + + Widget renderUi(){ + return Container(); + } + + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppSettings.appBar('Quotation Requests'), + body: renderUi(), + ); + } +} diff --git a/lib/prescriptions/oreder_medicines.dart b/lib/prescriptions/oreder_medicines.dart index dc44d21..e4a86db 100644 --- a/lib/prescriptions/oreder_medicines.dart +++ b/lib/prescriptions/oreder_medicines.dart @@ -10,6 +10,7 @@ import 'package:healthcare_user/keys.dart'; import 'package:healthcare_user/models/pharmacies_model.dart'; import 'package:google_maps_flutter_android/google_maps_flutter_android.dart'; import 'package:google_maps_flutter_platform_interface/google_maps_flutter_platform_interface.dart'; +import 'package:healthcare_user/prescriptions/get_quotations_request_list.dart'; import 'package:location/location.dart' as locationmap; @@ -29,6 +30,7 @@ class _OrderMedicinesState extends State { //String dropdownType = 'Tank'; var AreaItems = ['2', '5', '10', '25', '50', '100']; List pharmaciesCheckboxes = []; + List pharmaciesCheckboxesInDialog = []; List selectedPharmacies = []; bool isLoading = false; bool isSereverIssue = false; @@ -68,6 +70,7 @@ class _OrderMedicinesState extends State { Future getAllPharmaciesData(var distance) async { isLoading = true; + selectedPharmacies=[]; try { var pharmacyResponse = await AppSettings.getAllpharmacies(); @@ -110,74 +113,447 @@ class _OrderMedicinesState extends State { } - showListOfSelectedPharmacies() async { + + showSelectedPharmaciesDialog(){ return showDialog( - context: context, - barrierDismissible: false, - builder: (BuildContext context) { - return StatefulBuilder( - builder: (BuildContext context, StateSetter setState) { - - return Container( - height: 300.0, // Change as per your requirement - width: 300.0, // Change as per your requirement - child: ListView.builder( - shrinkWrap: true, - itemCount: 5, + barrierDismissible: false, + context: context, + builder: (BuildContext context) { + return StatefulBuilder(builder: (context, setState) { + return AlertDialog( + title: Text('Selected Pharmacies'), + content: Container( + height: MediaQuery.of(context).size.height * .50, + width: MediaQuery.of(context).size.width * .70, + child:ListView.separated( + separatorBuilder: (context, index) => const Divider(height: 4.0,color: Colors.black,), + itemCount: selectedPharmacies.length, itemBuilder: (BuildContext context, int index) { return ListTile( - title: Text('Gujarat, India'), - ); - }, - ), - ); - /* return AlertDialog( - title: const Text('Selected pharmacies'), - content: SingleChildScrollView( - child: Expanded( - child: ListView.builder( - itemCount: selectedPharmacies.length, - itemBuilder: (context, index) { - return Card( + title: CheckboxListTile( + title: Padding( + padding: EdgeInsets.fromLTRB(0, 10, 0, 0), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + /*Container( + width: MediaQuery.of(context).size.width * .18, + height: MediaQuery.of(context).size.height * .10, + decoration: BoxDecoration( + shape: BoxShape.rectangle, + image: DecorationImage( + image: selectedPharmacies[index].picture == '' + ? AssetImage("images/logo.png") + : NetworkImage( + selectedPharmacies[index].picture) + as ImageProvider, // picked file + fit: BoxFit.contain)), + ), + SizedBox( + width: 5, + ),*/ + Expanded( + child: Container( + width: MediaQuery.of(context).size.width * .70, + child: Column( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + selectedPharmacies[index] + .pharmacy_name + .toUpperCase(), + style: wrapTextStyleBlack()), + SizedBox( + height: 10, + ), + Text( + selectedPharmacies[index] + .contact_number + .toUpperCase(), + style: wrapTextStyleBlack()), + SizedBox( + height: 10, + ), + Text( + selectedPharmacies[index] + .pharmacy_address + .toUpperCase(), + style: wrapTextStyleBlack()), + Visibility( + visible: + selectedPharmacies[index].description != '', + child: SizedBox( + height: 10, + ), + ), + Visibility( + visible: + selectedPharmacies[index].description != '', + child: Text( + selectedPharmacies[index] + .description + .toUpperCase(), + style: wrapTextStyleBlack()), + ), + SizedBox( + height: 10, + ), + ], + )), + ), + ], + )), + checkColor: Colors.white, + activeColor: primaryColor, + value: selectedPharmacies[index].isPharmacyInDialogChecked, + onChanged: (val) { + setState( + () { + selectedPharmacies[index].isPharmacyInDialogChecked = val!; + }, + ); + if (selectedPharmacies[index].isPharmacyInDialogChecked) { + pharmaciesCheckboxesInDialog.add({ + 'pharmacyId': selectedPharmacies[index].pharmacy_id, + }); + } else { + pharmaciesCheckboxesInDialog.removeWhere((e) => + e['pharmacyId'].toString().toUpperCase() == + selectedPharmacies[index] + .pharmacy_id + .toString() + .toUpperCase()); + } + }, + ), + /*Padding( + padding: EdgeInsets.fromLTRB(0, 0, 0, 0), child: Column( children: [ - Text(selectedPharmacies[index].pharmacy_name) + Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Container( + width: MediaQuery.of(context).size.width * .18, + height: MediaQuery.of(context).size.height * .10, + decoration: BoxDecoration( + shape: BoxShape.rectangle, + image: DecorationImage( + image: selectedPharmacies[index].picture == '' + ? AssetImage("images/logo.png") + : NetworkImage( + selectedPharmacies[index].picture) + as ImageProvider, // picked file + fit: BoxFit.contain)), + ), + SizedBox( + width: 5, + ), + Expanded( + child: Container( + width: MediaQuery.of(context).size.width * .70, + child: Column( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + selectedPharmacies[index] + .pharmacy_name + .toUpperCase(), + style: wrapTextStyleBlack()), + SizedBox( + height: 10, + ), + Text( + selectedPharmacies[index] + .contact_number + .toUpperCase(), + style: wrapTextStyleBlack()), + SizedBox( + height: 10, + ), + Text( + selectedPharmacies[index] + .pharmacy_address + .toUpperCase(), + style: wrapTextStyleBlack()), + Visibility( + visible: + selectedPharmacies[index].description != '', + child: SizedBox( + height: 10, + ), + ), + Visibility( + visible: + selectedPharmacies[index].description != '', + child: Text( + selectedPharmacies[index] + .description + .toUpperCase(), + style: wrapTextStyleBlack()), + ), + SizedBox( + height: 10, + ), + ], + )), + ), + ], + ), + Container( + width: double.infinity, + height: MediaQuery.of(context).size.height * .06, + padding: const EdgeInsets.all(10), + child: Row( + crossAxisAlignment: CrossAxisAlignment.end, + mainAxisAlignment: MainAxisAlignment.end, + children: [ + Visibility( + visible:selectedPharmacies[index].isPharmacyInDialogChecked==false, + child: ElevatedButton( + style: ElevatedButton.styleFrom( + primary: primaryColor, // background + onPrimary: Colors.white, // foreground + ), + onPressed: () async{ + selectedPharmacies[index].isPharmacyInDialogChecked=true; + }, + child: const Text('Select'), + ),), + SizedBox(width: 10,), + Visibility( + visible: selectedPharmacies[index].isPharmacyInDialogChecked==true, + child: ElevatedButton( + style: ElevatedButton.styleFrom( + primary: primaryColor, // background + onPrimary: Colors.white, // foreground + ), + onPressed: () async{ + + + }, + child: const Text('Deselect'), + )) + ], + )), + ], - ), - );}, - ), - ) + )),*/ + ); + }, ), - actions: [ - TextButton( - child: Text('Cancel', style: textButtonStyle()), - onPressed: () { - Navigator.of(context).pop(); - }, - ), - TextButton( - child: Text('Get quote', style: textButtonStyle()), - onPressed: () async { - Navigator.of(context).pop(); - }, - ), - ], - );*/ - }); - }, - ); + ), + actions: [ + + Container( + width: double.infinity, + height: MediaQuery.of(context).size.height * .06, + padding: const EdgeInsets.all(10), + child: Row( + crossAxisAlignment: CrossAxisAlignment.end, + mainAxisAlignment: MainAxisAlignment.end, + children: [ + ElevatedButton( + style: ElevatedButton.styleFrom( + primary: buttonColors, // background + onPrimary: Colors.black, // foreground + ), + onPressed: () async{ + Navigator.pop(context); + }, + child: const Text('Cancel'), + ), + SizedBox(width: 10,), + ElevatedButton( + style: ElevatedButton.styleFrom( + primary: buttonColors, // background + onPrimary: Colors.black, // foreground + ), + onPressed: () async{ + if(pharmaciesCheckboxesInDialog.length==3){ + AppSettings.preLoaderDialog(context); + var payload = new Map(); + + payload["picture"] = widget.prescriptionDetails.prescription_url.toString(); + payload["pharmacies"] = pharmaciesCheckboxesInDialog; + payload["familyDetails"] = { + "patient_name": widget.prescriptionDetails.patient_name.toString(), + "patient_age": int.parse(widget.prescriptionDetails.age.toString()), + "patient_gender": widget.prescriptionDetails.gender, + "patient_address": userAddress + }; + bool status = await AppSettings.getQuotation(payload); + + if(status){ + Navigator.of(context, rootNavigator: true).pop(); + AppSettings.longSuccessToast('Quotation request sent successfully'); + pharmaciesCheckboxesInDialog.clear(); + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => const GetQuotationRequestsList()), + ); + } + else{ + Navigator.of(context, rootNavigator: true).pop(); + AppSettings.longFailedToast('Get quotation failed try after some time'); + } + + + } + else if(pharmaciesCheckboxesInDialog.length>3){ + AppSettings.longFailedToast('Please select only three pharmacies to get quotation'); + } + else{ + AppSettings.longFailedToast('Please select at least three pharmacies to get quotation'); + } + + + }, + child: const Text('Get quote'), + ) + ], + )), + + + ], + ); + }); + + }); } Widget setupAlertDialoadContainer() { return Container( - height: 300.0, // Change as per your requirement - width: 300.0, // Change as per your requirement - child: ListView.builder( - shrinkWrap: true, - itemCount: 5, + height: MediaQuery.of(context).size.height * .50, + width: MediaQuery.of(context).size.width * .70, + child:ListView.separated( + separatorBuilder: (context, index) => const Divider(height: 4.0,color: Colors.black,), + itemCount: selectedPharmacies.length, itemBuilder: (BuildContext context, int index) { return ListTile( - title: Text('Gujarat, India'), + title: Padding( + padding: EdgeInsets.fromLTRB(0, 0, 0, 0), + child: Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Container( + width: MediaQuery.of(context).size.width * .18, + height: MediaQuery.of(context).size.height * .10, + decoration: BoxDecoration( + shape: BoxShape.rectangle, + image: DecorationImage( + image: selectedPharmacies[index].picture == '' + ? AssetImage("images/logo.png") + : NetworkImage( + selectedPharmacies[index].picture) + as ImageProvider, // picked file + fit: BoxFit.contain)), + ), + SizedBox( + width: 5, + ), + Expanded( + child: Container( + width: MediaQuery.of(context).size.width * .70, + child: Column( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + selectedPharmacies[index] + .pharmacy_name + .toUpperCase(), + style: wrapTextStyleBlack()), + SizedBox( + height: 10, + ), + Text( + selectedPharmacies[index] + .contact_number + .toUpperCase(), + style: wrapTextStyleBlack()), + SizedBox( + height: 10, + ), + Text( + selectedPharmacies[index] + .pharmacy_address + .toUpperCase(), + style: wrapTextStyleBlack()), + Visibility( + visible: + selectedPharmacies[index].description != '', + child: SizedBox( + height: 10, + ), + ), + Visibility( + visible: + selectedPharmacies[index].description != '', + child: Text( + selectedPharmacies[index] + .description + .toUpperCase(), + style: wrapTextStyleBlack()), + ), + SizedBox( + height: 10, + ), + ], + )), + ), + ], + ), + Container( + width: double.infinity, + height: MediaQuery.of(context).size.height * .06, + padding: const EdgeInsets.all(10), + child: Row( + crossAxisAlignment: CrossAxisAlignment.end, + mainAxisAlignment: MainAxisAlignment.end, + children: [ + Visibility( + visible:selectedPharmacies[index].isPharmacyInDialogChecked==false, + child: ElevatedButton( + style: ElevatedButton.styleFrom( + primary: primaryColor, // background + onPrimary: Colors.white, // foreground + ), + onPressed: () async{ + selectedPharmacies[index].isPharmacyInDialogChecked=true; + }, + child: const Text('Select'), + ),), + SizedBox(width: 10,), + Visibility( + visible: selectedPharmacies[index].isPharmacyInDialogChecked==true, + child: ElevatedButton( + style: ElevatedButton.styleFrom( + primary: primaryColor, // background + onPrimary: Colors.white, // foreground + ), + onPressed: () async{ + + + }, + child: const Text('Deselect'), + )) + ], + )), + + ], + )), ); }, ), @@ -319,7 +695,7 @@ class _OrderMedicinesState extends State { if(pharmaciesCheckboxes.length==3){ - + AppSettings.preLoaderDialog(context); var payload = new Map(); payload["picture"] = widget.prescriptionDetails.prescription_url.toString(); @@ -327,22 +703,30 @@ class _OrderMedicinesState extends State { payload["familyDetails"] = { "patient_name": widget.prescriptionDetails.patient_name.toString(), "patient_age": int.parse(widget.prescriptionDetails.age.toString()), - "patient_gender": widget.prescriptionDetails.gender, + "patient_gender": widget.prescriptionDetails.gender.toString().toLowerCase(), "patient_address": userAddress }; bool status = await AppSettings.getQuotation(payload); if(status){ + Navigator.of(context, rootNavigator: true).pop(); AppSettings.longSuccessToast('Quotation request sent successfully'); + pharmaciesCheckboxes.clear(); + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => const GetQuotationRequestsList()), + ); } else{ + Navigator.of(context, rootNavigator: true).pop(); AppSettings.longFailedToast('Get quotation failed try after some time'); } } else if(pharmaciesCheckboxes.length>3){ - showListOfSelectedPharmacies(); + showSelectedPharmaciesDialog(); } else{ @@ -488,15 +872,35 @@ class _OrderMedicinesState extends State { )), Padding( padding: EdgeInsets.all(10), - child: TextButton( - onPressed: () {}, - child: const Text( - 'Want to order non prescribed items?', - style: TextStyle( - fontSize: 15, - decoration: TextDecoration.underline, - color: primaryColor), - )), + child: Row( + children: [ + TextButton( + onPressed: () {}, + child: const Text( + 'Want to order non prescribed items?', + style: TextStyle( + fontSize: 15, + decoration: TextDecoration.underline, + color: primaryColor), + )), + SizedBox(width: 5,), + TextButton( + onPressed: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => const GetQuotationRequestsList()), + ); + }, + child: const Text( + 'Requests', + style: TextStyle( + fontSize: 15, + decoration: TextDecoration.underline, + color: primaryColor), + )), + ], + ) ), Padding( padding: EdgeInsets.all(10), @@ -659,7 +1063,7 @@ class _OrderMedicinesState extends State { isExpanded: true, decoration: const InputDecoration( prefixIcon: Icon( - Icons.area_chart, + Icons.location_on_outlined, color: primaryColor, ), border: OutlineInputBorder( diff --git a/lib/reports.dart b/lib/reports.dart index a41b4ff..e8ea39b 100644 --- a/lib/reports.dart +++ b/lib/reports.dart @@ -9,11 +9,48 @@ class Reports extends StatefulWidget { } class _ReportsState extends State { + + TextEditingController doctorNameController = TextEditingController(); + TextEditingController hospitalNameController = TextEditingController(); + TextEditingController problemController = TextEditingController(); + + @override Widget build(BuildContext context) { return Scaffold( appBar: AppSettings.appBar('Reports'), - body: Container(), + body: Container( + child: Padding( + padding: EdgeInsets.all(10), + child: Column( + children: [ + Container( + child: TextFormField( + cursorColor: greyColor, + controller: doctorNameController, + decoration: textFormFieldDecoration(Icons.person,'Enter Doctor name'), + ), + ), + SizedBox(height:MediaQuery.of(context).size.height * .02,), + Container( + child: TextFormField( + cursorColor: greyColor, + controller: hospitalNameController, + decoration: textFormFieldDecoration(Icons.location_city_outlined,'Enter Hospital name'), + ), + ), + SizedBox(height:MediaQuery.of(context).size.height * .02,), + Container( + child: TextFormField( + cursorColor: greyColor, + controller: problemController, + decoration: textFormFieldDecoration(Icons.edit,'Enter Problem'), + ), + ), + ], + ), + ), + ), ); } }