Merge branch 'sultan' of https://gitlab.com/Cloud_Solution/doctor_app_flutter into ibrahim-merge

 Conflicts:
	lib/config/config.dart
	lib/presentation/doctor_app_icons.dart
	lib/screens/dashboard_screen.dart
	lib/screens/medicine/medicine_search_screen.dart
	lib/widgets/patients/profile/profile_medical_info_widget.dart
merge-requests/111/head
Mohammad ALjammal 4 years ago
commit 79eb6b19d0

@ -0,0 +1,37 @@
<svg id="discharge_patient" xmlns="http://www.w3.org/2000/svg" width="39.515" height="36.042" viewBox="0 0 39.515 36.042">
<g id="Group_339" data-name="Group 339" transform="translate(0 3.859)">
<g id="Group_338" data-name="Group 338">
<path id="Path_150" data-name="Path 150" d="M38.936,101.209H38.2V93.684a2.9,2.9,0,0,0-2.894-2.894H33.514a2.9,2.9,0,0,0-1.1-1.735V82.494a2.125,2.125,0,0,0-2.122-2.122H26.433a2.125,2.125,0,0,0-2.122,2.122v4.245a.579.579,0,1,0,1.158,0V82.494a.966.966,0,0,1,.965-.965h3.859a.966.966,0,0,1,.965.965v6.04a2.9,2.9,0,0,0-.579-.058H23.153V85.349a2.9,2.9,0,0,0-2.894-2.894H15.05V80.024A2.125,2.125,0,0,0,12.927,77.9H9.068a2.126,2.126,0,0,0-2.036,1.523,6.374,6.374,0,0,1-5.875-6.346.579.579,0,0,0-1.158,0,7.535,7.535,0,0,0,6.946,7.5v7.161A4.038,4.038,0,0,0,8.1,90.573v5.867l-3.375,5.025a.579.579,0,0,0-.1.323V104.1a.579.579,0,0,0,1.158,0v-2.139L9.163,96.94a.578.578,0,0,0,.1-.323V91.4a4.045,4.045,0,0,0,3.473,0v11.93a.579.579,0,0,0,.4.549l2.315.772a.579.579,0,1,0,.366-1.1l-1.919-.64V90.573a4.038,4.038,0,0,0,1.158-2.832V83.613h5.21A1.738,1.738,0,0,1,22,85.349V91.2a6.749,6.749,0,1,0,7.2,5.377h3.223v2.374a2.894,2.894,0,1,0,3.415,3.415h3.107a.579.579,0,0,0,0-1.158ZM11,90.636A2.9,2.9,0,0,1,8.162,88.32h5.672A2.9,2.9,0,0,1,11,90.636Zm2.894-3.473H8.1V80.024a.966.966,0,0,1,.965-.965h1.351V80.8a.579.579,0,0,0,1.158,0V79.059h1.351a.966.966,0,0,1,.965.965Zm11.577,2.47h5.21a1.738,1.738,0,0,1,1.737,1.737v1.737H28.363a2.9,2.9,0,0,1-2.894-2.894Zm-2.315,0h1.158v.579a4.035,4.035,0,0,0,.2,1.247,6.705,6.705,0,0,0-1.355-.258Zm-.579,13.892a5.6,5.6,0,1,1,5.6-5.6A5.6,5.6,0,0,1,22.575,103.525Zm6.27-8.1a6.741,6.741,0,0,0-.6-1.158h4.171v1.158Zm4.149,8.1a1.737,1.737,0,1,1,1.737-1.737A1.738,1.738,0,0,1,32.994,103.525Zm4.052-2.315H35.83a2.9,2.9,0,0,0-2.257-2.257v-7h1.737a1.738,1.738,0,0,1,1.737,1.736Z" transform="translate(0 -72.499)"/>
</g>
</g>
<g id="Group_341" data-name="Group 341" transform="translate(21.996 2.47)">
<g id="Group_340" data-name="Group 340">
<path id="Path_151" data-name="Path 151" d="M291.367,54.5a4.058,4.058,0,0,0-3.935,3.089,2.508,2.508,0,1,0,1.751,4.373,4.051,4.051,0,1,0,2.184-7.462Zm0,1.158A2.9,2.9,0,0,1,294.2,57.94a6.3,6.3,0,0,1-4.036-2.018A2.875,2.875,0,0,1,291.367,55.657Zm-3.859,5.788a1.35,1.35,0,0,1-.188-2.687,4.033,4.033,0,0,0,.976,2.432A1.349,1.349,0,0,1,287.508,61.445Zm3.859,0a2.893,2.893,0,0,1-2.146-4.834,7.445,7.445,0,0,0,4.986,2.493A2.9,2.9,0,0,1,291.367,61.445Z" transform="translate(-285 -54.499)"/>
</g>
</g>
<g id="Group_343" data-name="Group 343" transform="translate(22.162 29.069)">
<g id="Group_342" data-name="Group 342" transform="translate(0 0)">
<ellipse id="Ellipse_143" data-name="Ellipse 143" cx="0.869" rx="0.869"/>
</g>
</g>
<g id="Group_345" data-name="Group 345" transform="translate(18.137 24.851)">
<g id="Group_344" data-name="Group 344">
<path id="Path_152" data-name="Path 152" d="M239.438,344.5a4.438,4.438,0,1,0,4.438,4.438A4.443,4.443,0,0,0,239.438,344.5Zm0,7.718a3.28,3.28,0,1,1,3.28-3.28A3.284,3.284,0,0,1,239.438,352.217Z" transform="translate(-235 -344.499)"/>
</g>
</g>
<g id="Group_347" data-name="Group 347" transform="translate(32.589 32.545)">
<g id="Group_346" data-name="Group 346" transform="translate(0 0)">
<circle id="Ellipse_144" data-name="Ellipse 144" cx="0.869" cy="0.869" r="0.869"/>
</g>
</g>
<g id="Group_349" data-name="Group 349" transform="translate(9.261 3.473)">
<g id="Group_348" data-name="Group 348">
<path id="Path_153" data-name="Path 153" d="M122.894,68.1a.838.838,0,0,1-.684-.356.579.579,0,0,0-.947,0,.838.838,0,0,1-.684.356.579.579,0,1,0,0,1.158,2,2,0,0,0,1.158-.371,2,2,0,0,0,1.158.371.579.579,0,1,0,0-1.158Z" transform="translate(-120 -67.499)"/>
</g>
</g>
<g id="Group_351" data-name="Group 351" transform="translate(6.946)">
<g id="Group_350" data-name="Group 350">
<path id="Path_154" data-name="Path 154" d="M94.052,22.5A4.052,4.052,0,1,0,98.1,26.551,4.056,4.056,0,0,0,94.052,22.5Zm0,6.946a2.894,2.894,0,1,1,2.894-2.894A2.9,2.9,0,0,1,94.052,29.445Z" transform="translate(-90 -22.499)"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.1 KiB

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="29.959" height="29.962" viewBox="0 0 29.959 29.962">
<path id="home_icon" d="M29.654,13.032l0,0L17.429.808a2.758,2.758,0,0,0-3.9,0L1.313,13.023l-.012.013a2.757,2.757,0,0,0,1.835,4.7c.028,0,.057,0,.085,0h.487v8.994a3.232,3.232,0,0,0,3.228,3.228h4.782a.878.878,0,0,0,.878-.878V22.032a1.475,1.475,0,0,1,1.473-1.473h2.82a1.474,1.474,0,0,1,1.473,1.473v7.052a.878.878,0,0,0,.878.878h4.782a3.232,3.232,0,0,0,3.228-3.228V17.739H27.7a2.759,2.759,0,0,0,1.952-4.708ZM28.411,15.69a1,1,0,0,1-.709.294H26.372a.878.878,0,0,0-.878.878v9.872a1.474,1.474,0,0,1-1.473,1.473h-3.9V22.032A3.232,3.232,0,0,0,16.889,18.8h-2.82a3.232,3.232,0,0,0-3.229,3.228v6.174h-3.9a1.474,1.474,0,0,1-1.473-1.473V16.862a.878.878,0,0,0-.878-.878H3.279l-.041,0a1,1,0,0,1-.691-1.711h0L14.77,2.049a1,1,0,0,1,1.418,0L28.407,14.268l.006.005A1,1,0,0,1,28.411,15.69Zm0,0" transform="translate(-0.499)"/>
</svg>

After

Width:  |  Height:  |  Size: 913 B

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="29.959" height="29.961" viewBox="0 0 29.959 29.961">
<path id="home_icon_active" d="M29.654,13.032l0,0L17.429.808a2.758,2.758,0,0,0-3.9,0L1.313,13.023l-.012.013a2.757,2.757,0,0,0,1.835,4.7c.028,0,.057,0,.085,0h.487v8.994a3.232,3.232,0,0,0,3.228,3.228h4.782a.878.878,0,0,0,.878-.878V22.032a1.475,1.475,0,0,1,1.473-1.473h2.82a1.474,1.474,0,0,1,1.473,1.473v7.052a.878.878,0,0,0,.878.878h4.782a3.232,3.232,0,0,0,3.228-3.228V17.739H27.7a2.759,2.759,0,0,0,1.952-4.708ZM28.411,15.69a1,1,0,0,1-.709.294H26.372a.878.878,0,0,0-.878.878v9.872a1.474,1.474,0,0,1-1.473,1.473h-3.9V22.032A3.232,3.232,0,0,0,16.889,18.8h-2.82a3.232,3.232,0,0,0-3.229,3.228v6.174h-3.9a1.474,1.474,0,0,1-1.473-1.473V16.862a.878.878,0,0,0-.878-.878H3.279l-.041,0a1,1,0,0,1-.691-1.711h0L14.77,2.049a1,1,0,0,1,1.418,0L28.407,14.268l.006.005A1,1,0,0,1,28.411,15.69Zm0,0" transform="translate(-0.5)" fill="#fff"/>
</svg>

After

Width:  |  Height:  |  Size: 930 B

@ -0,0 +1,6 @@
<svg id="in_patient_white" xmlns="http://www.w3.org/2000/svg" width="37.21" height="30.421" viewBox="0 0 37.21 30.421">
<circle id="Ellipse_138" data-name="Ellipse 138" cx="0.659" cy="0.659" r="0.659" transform="translate(12.182 9.632) rotate(-5.682)"/>
<circle id="Ellipse_139" data-name="Ellipse 139" cx="0.659" cy="0.659" r="0.659" transform="translate(16.665 9.63) rotate(-5.682)"/>
<path id="Path_67" data-name="Path 67" d="M188.5,219.565H186.52a.55.55,0,1,0,0,1.1H188.5a.55.55,0,0,0,0-1.1Z" transform="translate(-172.455 -207.002)"/>
<path id="Path_68" data-name="Path 68" d="M36.175,49.19h-1.66V47.8h2.145a.55.55,0,0,0,0-1.1H8.408a.55.55,0,0,0,0,1.1H33.415V49.19h-1.66a1.035,1.035,0,0,0-1.034,1.034v4.783a3.246,3.246,0,0,0,1.69,2.847l-.359.577a2.948,2.948,0,0,0-.13,2.864l1.493,2.97a1.842,1.842,0,0,1-.38,2.155L30.3,68.891v-10.6a1.537,1.537,0,0,0-1.535-1.535H27.178a5.358,5.358,0,0,0-.184-.794,1.373,1.373,0,0,1-.032-.7l.405-1.88a1.072,1.072,0,0,0-1.274-1.273c-.57.075-1.964.569-2.545.356a5.392,5.392,0,0,0-.664-.174.55.55,0,0,0-.21,1.079,4.277,4.277,0,0,1,.527.138,2.465,2.465,0,0,0,1.3.069l1.786-.385-.4,1.838c-.206.788.27,1.637.254,2.548v5.685a4.283,4.283,0,0,1-.2,1.3,2.453,2.453,0,0,0-.091.408A6.988,6.988,0,0,0,21.2,63.208H18.846v-.54a5.31,5.31,0,0,0,1.526-2.8,3.008,3.008,0,0,0,1.719-1.849A2.109,2.109,0,0,0,20.9,55.3h0a1.337,1.337,0,0,0-.428-.067V52.613a2.9,2.9,0,0,0-2.895-2.895H12.7a2.9,2.9,0,0,0-2.864,2.476H8.425c-.777-.079-1.563.392-2.412.311l-1.828-.394a1.072,1.072,0,0,0-1.273,1.274l.405,1.88a1.372,1.372,0,0,1-.032.7,5.355,5.355,0,0,0-.184.794H1.707V48.989A1.186,1.186,0,0,1,2.891,47.8H5.88a.55.55,0,0,0,0-1.1H2.891A2.286,2.286,0,0,0,.607,48.989v8.084A1.532,1.532,0,0,0,0,58.293L.014,76.165a.962.962,0,0,0,.961.961H29.332a.962.962,0,0,0,.961-.961l.008-5.791,3.474-3.143.007-.007A2.947,2.947,0,0,0,34.4,63.77L32.9,60.8a1.842,1.842,0,0,1,.081-1.789l.5-.8a3.255,3.255,0,0,0,.484.036h0a3.245,3.245,0,0,0,2.774-1.563,3.4,3.4,0,0,0,.47-1.681V50.224A1.035,1.035,0,0,0,36.175,49.19Zm-6.972,9.1V69.886l-.6.544q-.188-.17-.382-.331A6.973,6.973,0,0,0,27.151,66.5a3.551,3.551,0,0,1-.162-1.609,5.379,5.379,0,0,0,.252-1.63V57.857h1.526a.436.436,0,0,1,.436.436Zm-16.67,5.192a5.328,5.328,0,0,0,5.213,0v1a.452.452,0,0,1-.451.451H12.984a.452.452,0,0,1-.451-.451Zm8.028-7.142a1.02,1.02,0,0,1,.485,1.334c-.187.575-.774,1.159-1.185,1.18a.55.55,0,0,0-.518.484,4.233,4.233,0,0,1-8.406,0,.55.55,0,0,0-.518-.484c-.411-.021-1-.605-1.185-1.18a1.02,1.02,0,0,1,.485-1.334.2.2,0,0,1,.058-.013c.036,0,.068.026.132.116a.549.549,0,0,0,.615.2c.284-.081.436-.481.382-.863a2.114,2.114,0,0,1,2.112-2.112h4.245a2.114,2.114,0,0,1,2.112,2.112c-.012.293-.034.683.382.863a.549.549,0,0,0,.615-.2c.095-.133.119-.125.19-.1Zm-9.656-3.731a1.8,1.8,0,0,1,1.8-1.8h4.878a1.8,1.8,0,0,1,1.8,1.8v.759a3.2,3.2,0,0,0-2.112-.795H13.017a3.2,3.2,0,0,0-2.112.795Zm-5.123.967a2.469,2.469,0,0,0,1.3-.069,4.271,4.271,0,0,1,1.348-.217H9.806v1.938a1.33,1.33,0,0,0-.428.067,2.109,2.109,0,0,0-1.19,2.719,3.006,3.006,0,0,0,1.719,1.849,5.31,5.31,0,0,0,1.526,2.8v.54H9.075a6.988,6.988,0,0,0-4.646,1.763,2.458,2.458,0,0,0-.091-.408,4.283,4.283,0,0,1-.2-1.3V57.58c-.047-.786.458-1.643.254-2.548L4,53.195ZM1.1,58.293a.436.436,0,0,1,.436-.436h1.5v5.409A5.379,5.379,0,0,0,3.29,64.9,3.7,3.7,0,0,1,3.128,66.5a6.973,6.973,0,0,0-1.069,3.6q-.329.274-.641.572a4.505,4.505,0,0,0-.319.339V58.293ZM29.194,76.027H1.113V73.968a3.477,3.477,0,0,1,1.065-2.5,10.937,10.937,0,0,1,5.46-2.843.55.55,0,1,0-.212-1.079,12,12,0,0,0-4.185,1.69,5.927,5.927,0,0,1,5.834-4.931h2.359v.176a1.552,1.552,0,0,0,1.55,1.55H17.3a1.552,1.552,0,0,0,1.55-1.55v-.176H21.2a5.927,5.927,0,0,1,5.833,4.924,12.017,12.017,0,0,0-6.524-1.911H10.1a.55.55,0,1,0,0,1.1H20.513a10.918,10.918,0,0,1,6.807,2.363l.016.012q.414.329.8.7a3.482,3.482,0,0,1,1.059,2.493v2.037ZM36.11,50.289v1.516H31.82V50.289Zm-.169,5.551a2.237,2.237,0,0,1-1.976,1.311,2.147,2.147,0,0,1-2.145-2.145V52.9h4.29v2.1A2.138,2.138,0,0,1,35.941,55.841Z" transform="translate(0 -46.705)"/>
</svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

@ -0,0 +1,20 @@
<svg id="lab_results" xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 28 28">
<path id="Path_132" data-name="Path 132" d="M112.9,288H112a1.357,1.357,0,0,0,1.355,1.355v-.9A.452.452,0,0,1,112.9,288Zm0,0" transform="translate(-105.677 -271.742)" fill="#fff"/>
<path id="Path_133" data-name="Path 133" d="M208,376h.9v.9H208Zm0,0" transform="translate(-196.258 -354.774)" fill="#fff"/>
<path id="Path_134" data-name="Path 134" d="M144,408h.9v.9H144Zm0,0" transform="translate(-135.871 -384.968)" fill="#fff"/>
<path id="Path_135" data-name="Path 135" d="M88,448h.9v.9H88Zm0,0" transform="translate(-83.032 -422.71)" fill="#fff"/>
<path id="Path_136" data-name="Path 136" d="M200,440h.9v.9H200Zm0,0" transform="translate(-188.71 -415.161)" fill="#fff"/>
<path id="Path_137" data-name="Path 137" d="M120,360h.9v.9H120Zm0,0" transform="translate(-113.226 -339.677)" fill="#fff"/>
<path id="Path_138" data-name="Path 138" d="M8.129,0V6.323H3.613a.9.9,0,0,0-.9.9v.9a.9.9,0,0,0,.9.9v3.2a2.285,2.285,0,0,1-.1.676L.141,23.859A3.2,3.2,0,0,0,3.2,28H28V0ZM3.613,7.226h8.129v.9H3.613Zm8.129,1.806a.9.9,0,0,0,.9-.9v-.9a.9.9,0,0,0-.9-.9h-.9V2.71h7.226V9.935H11.742ZM4.375,13.173a3.2,3.2,0,0,0,.141-.941v-3.2h6.323v3.2a3.2,3.2,0,0,0,.141.941l1.227,3.988h-1.5a3.157,3.157,0,0,0,.133-.9v-.153a3.163,3.163,0,0,0-.451-1.627L7.677,9.961,4.967,14.479a3.161,3.161,0,0,0-.451,1.626v.153a3.142,3.142,0,0,0,.133.9h-1.5Zm3.3,5.343a2.261,2.261,0,0,1-2.258-2.258v-.153a2.257,2.257,0,0,1,.322-1.162l1.936-3.228,1.936,3.227a2.26,2.26,0,0,1,.322,1.162v.153A2.261,2.261,0,0,1,7.677,18.516ZM3.2,27.1a2.275,2.275,0,0,1-2.255-2.71H4.065v-.9H1.2l.278-.9H5.419v-.9H1.758l.278-.9H4.065v-.9H2.314l.556-1.806H5.087a3.154,3.154,0,0,0,5.181,0h2.217l1.865,6.06A2.3,2.3,0,0,1,12.155,27.1Zm23.9,0H14.378a3.192,3.192,0,0,0,.836-3.238L11.844,12.908a2.285,2.285,0,0,1-.1-.676V10.839h7.226V1.806H9.935V6.323h-.9V.9H27.1Zm0,0" fill="#fff"/>
<path id="Path_139" data-name="Path 139" d="M292.968,288a4.968,4.968,0,1,0,4.968,4.968A4.974,4.974,0,0,0,292.968,288Zm0,9.032a4.065,4.065,0,1,1,4.064-4.064A4.069,4.069,0,0,1,292.968,297.032Zm0,0" transform="translate(-271.742 -271.742)" fill="#fff"/>
<path id="Path_140" data-name="Path 140" d="M332.065,328h-2.71v1.355H328v2.71h1.355v1.355h2.71v-1.355h1.355v-2.71h-1.355Zm.452,2.258v.9h-1.355v1.355h-.9v-1.355H328.9v-.9h1.355V328.9h.9v1.355Zm0,0" transform="translate(-309.484 -309.484)" fill="#fff"/>
<path id="Path_141" data-name="Path 141" d="M352,40h.9v.9H352Zm0,0" transform="translate(-332.129 -37.742)" fill="#fff"/>
<path id="Path_142" data-name="Path 142" d="M384,40h4.516v.9H384Zm0,0" transform="translate(-362.323 -37.742)" fill="#fff"/>
<path id="Path_143" data-name="Path 143" d="M352,104h.9v.9H352Zm0,0" transform="translate(-332.129 -98.129)" fill="#fff"/>
<path id="Path_144" data-name="Path 144" d="M384,104h4.516v.9H384Zm0,0" transform="translate(-362.323 -98.129)" fill="#fff"/>
<path id="Path_145" data-name="Path 145" d="M352,72h6.323v.9H352Zm0,0" transform="translate(-332.129 -67.935)" fill="#fff"/>
<path id="Path_146" data-name="Path 146" d="M352,136h6.323v.9H352Zm0,0" transform="translate(-332.129 -128.323)" fill="#fff"/>
<path id="Path_147" data-name="Path 147" d="M352,168h6.323v.9H352Zm0,0" transform="translate(-332.129 -158.516)" fill="#fff"/>
<path id="Path_148" data-name="Path 148" d="M240,224h12.645v.9H240Zm0,0" transform="translate(-226.452 -211.355)" fill="#fff"/>
<path id="Path_149" data-name="Path 149" d="M240,256h12.645v.9H240Zm0,0" transform="translate(-226.452 -241.548)" fill="#fff"/>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

@ -0,0 +1,22 @@
<svg id="menu_icon" xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 28 28">
<g id="Group_375" data-name="Group 375">
<g id="Group_374" data-name="Group 374">
<path id="Path_181" data-name="Path 181" d="M11.387,0H2.329A2.332,2.332,0,0,0,0,2.329v9.059a2.332,2.332,0,0,0,2.329,2.329h9.058a2.332,2.332,0,0,0,2.329-2.329V2.329A2.332,2.332,0,0,0,11.387,0Zm0,12.574H2.329a1.187,1.187,0,0,1-1.186-1.186V2.329A1.187,1.187,0,0,1,2.329,1.143h9.058a1.187,1.187,0,0,1,1.186,1.186v9.059h0A1.187,1.187,0,0,1,11.387,12.574Z"/>
</g>
</g>
<g id="Group_377" data-name="Group 377" transform="translate(14.283)">
<g id="Group_376" data-name="Group 376">
<path id="Path_182" data-name="Path 182" d="M120.614,0h-9.058a2.332,2.332,0,0,0-2.329,2.329v9.059a2.332,2.332,0,0,0,2.329,2.329h9.058a2.332,2.332,0,0,0,2.329-2.329V2.329A2.332,2.332,0,0,0,120.614,0ZM121.8,11.388a1.187,1.187,0,0,1-1.186,1.186h-9.058a1.187,1.187,0,0,1-1.186-1.186V2.329a1.187,1.187,0,0,1,1.186-1.186h9.058A1.187,1.187,0,0,1,121.8,2.329Z" transform="translate(-109.227)"/>
</g>
</g>
<g id="Group_379" data-name="Group 379" transform="translate(0 14.283)">
<g id="Group_378" data-name="Group 378">
<path id="Path_183" data-name="Path 183" d="M11.387,109.227H2.329A2.332,2.332,0,0,0,0,111.556v9.059a2.332,2.332,0,0,0,2.329,2.329h9.058a2.332,2.332,0,0,0,2.329-2.329v-9.059A2.332,2.332,0,0,0,11.387,109.227Zm0,12.574H2.329a1.187,1.187,0,0,1-1.186-1.186v-9.059a1.187,1.187,0,0,1,1.186-1.186h9.058a1.187,1.187,0,0,1,1.186,1.186v9.059h0A1.187,1.187,0,0,1,11.387,121.8Z" transform="translate(0 -109.227)"/>
</g>
</g>
<g id="Group_381" data-name="Group 381" transform="translate(14.283 14.283)">
<g id="Group_380" data-name="Group 380">
<path id="Path_184" data-name="Path 184" d="M120.614,109.227h-9.058a2.332,2.332,0,0,0-2.329,2.329v9.059a2.332,2.332,0,0,0,2.329,2.329h9.058a2.332,2.332,0,0,0,2.329-2.329v-9.059A2.332,2.332,0,0,0,120.614,109.227Zm1.186,11.388a1.187,1.187,0,0,1-1.186,1.186h-9.058a1.187,1.187,0,0,1-1.186-1.186v-9.059a1.187,1.187,0,0,1,1.186-1.186h9.058a1.187,1.187,0,0,1,1.186,1.186Z" transform="translate(-109.227 -109.227)"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

@ -0,0 +1,22 @@
<svg id="menu_icon_active" xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 28 28">
<g id="Group_375" data-name="Group 375">
<g id="Group_374" data-name="Group 374">
<path id="Path_181" data-name="Path 181" d="M11.387,0H2.329A2.332,2.332,0,0,0,0,2.329v9.059a2.332,2.332,0,0,0,2.329,2.329h9.058a2.332,2.332,0,0,0,2.329-2.329V2.329A2.332,2.332,0,0,0,11.387,0Zm0,12.574H2.329a1.187,1.187,0,0,1-1.186-1.186V2.329A1.187,1.187,0,0,1,2.329,1.143h9.058a1.187,1.187,0,0,1,1.186,1.186v9.059h0A1.187,1.187,0,0,1,11.387,12.574Z" fill="#fff"/>
</g>
</g>
<g id="Group_377" data-name="Group 377" transform="translate(14.283)">
<g id="Group_376" data-name="Group 376">
<path id="Path_182" data-name="Path 182" d="M120.614,0h-9.058a2.332,2.332,0,0,0-2.329,2.329v9.059a2.332,2.332,0,0,0,2.329,2.329h9.058a2.332,2.332,0,0,0,2.329-2.329V2.329A2.332,2.332,0,0,0,120.614,0ZM121.8,11.388a1.187,1.187,0,0,1-1.186,1.186h-9.058a1.187,1.187,0,0,1-1.186-1.186V2.329a1.187,1.187,0,0,1,1.186-1.186h9.058A1.187,1.187,0,0,1,121.8,2.329Z" transform="translate(-109.227)" fill="#fff"/>
</g>
</g>
<g id="Group_379" data-name="Group 379" transform="translate(0 14.283)">
<g id="Group_378" data-name="Group 378">
<path id="Path_183" data-name="Path 183" d="M11.387,109.227H2.329A2.332,2.332,0,0,0,0,111.556v9.059a2.332,2.332,0,0,0,2.329,2.329h9.058a2.332,2.332,0,0,0,2.329-2.329v-9.059A2.332,2.332,0,0,0,11.387,109.227Zm0,12.574H2.329a1.187,1.187,0,0,1-1.186-1.186v-9.059a1.187,1.187,0,0,1,1.186-1.186h9.058a1.187,1.187,0,0,1,1.186,1.186v9.059h0A1.187,1.187,0,0,1,11.387,121.8Z" transform="translate(0 -109.227)" fill="#fff"/>
</g>
</g>
<g id="Group_381" data-name="Group 381" transform="translate(14.283 14.283)">
<g id="Group_380" data-name="Group 380">
<path id="Path_184" data-name="Path 184" d="M120.614,109.227h-9.058a2.332,2.332,0,0,0-2.329,2.329v9.059a2.332,2.332,0,0,0,2.329,2.329h9.058a2.332,2.332,0,0,0,2.329-2.329v-9.059A2.332,2.332,0,0,0,120.614,109.227Zm1.186,11.388a1.187,1.187,0,0,1-1.186,1.186h-9.058a1.187,1.187,0,0,1-1.186-1.186v-9.059a1.187,1.187,0,0,1,1.186-1.186h9.058a1.187,1.187,0,0,1,1.186,1.186Z" transform="translate(-109.227 -109.227)" fill="#fff"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" width="28" height="23.333" viewBox="0 0 28 23.333">
<g id="message_icon" transform="translate(0 -42.667)">
<g id="Group_368" data-name="Group 368" transform="translate(0 42.667)">
<path id="Path_161" data-name="Path 161" d="M27.6,43.7a2.333,2.333,0,0,0-1.937-1.031H2.333A2.333,2.333,0,0,0,0,45V63.667A2.333,2.333,0,0,0,2.333,66H25.909A2.333,2.333,0,0,0,28,63.667V45A2.333,2.333,0,0,0,27.6,43.7Zm-25.27-.1H25.667a1.4,1.4,0,0,1,.905.331l-1.811,1.727-7.635,7.275-2.828,2.7a.467.467,0,0,1-.555,0l-2.87-2.7-9.473-9A1.4,1.4,0,0,1,2.333,43.6Zm-1.4,1.176L9.875,53.26.933,61.8V45A1.393,1.393,0,0,1,.933,44.776ZM27.067,63.667a1.4,1.4,0,0,1-1.223,1.4H2.333a1.4,1.4,0,0,1-1.4-1.4v-.593l9.618-9.17,2.571,2.445a1.4,1.4,0,0,0,.2.135,1.363,1.363,0,0,0,.677.182,1.47,1.47,0,0,0,.933-.327l2.539-2.417,9.595,9.142Zm0-18.667V61.777l-8.941-8.5,8.941-8.507A1.433,1.433,0,0,1,27.067,45Z" transform="translate(0 -42.667)"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 975 B

@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" width="28" height="23.333" viewBox="0 0 28 23.333">
<g id="message_icon_active" transform="translate(0 -42.667)">
<g id="Group_368" data-name="Group 368" transform="translate(0 42.667)">
<path id="Path_161" data-name="Path 161" d="M27.6,43.7a2.333,2.333,0,0,0-1.937-1.031H2.333A2.333,2.333,0,0,0,0,45V63.667A2.333,2.333,0,0,0,2.333,66H25.909A2.333,2.333,0,0,0,28,63.667V45A2.333,2.333,0,0,0,27.6,43.7Zm-25.27-.1H25.667a1.4,1.4,0,0,1,.905.331l-1.811,1.727-7.635,7.275-2.828,2.7a.467.467,0,0,1-.555,0l-2.87-2.7-9.473-9A1.4,1.4,0,0,1,2.333,43.6Zm-1.4,1.176L9.875,53.26.933,61.8V45A1.393,1.393,0,0,1,.933,44.776ZM27.067,63.667a1.4,1.4,0,0,1-1.223,1.4H2.333a1.4,1.4,0,0,1-1.4-1.4v-.593l9.618-9.17,2.571,2.445a1.4,1.4,0,0,0,.2.135,1.363,1.363,0,0,0,.677.182,1.47,1.47,0,0,0,.933-.327l2.539-2.417,9.595,9.142Zm0-18.667V61.777l-8.941-8.5,8.941-8.507A1.433,1.433,0,0,1,27.067,45Z" transform="translate(0 -42.667)" fill="#fff"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 994 B

@ -0,0 +1,15 @@
<svg xmlns="http://www.w3.org/2000/svg" width="38.934" height="37.964" viewBox="0 0 38.934 37.964">
<g id="operations" transform="translate(0 -6.332)">
<g id="Group_385" data-name="Group 385" transform="translate(2.911 24.24)">
<path id="Path_185" data-name="Path 185" d="M82.448,419.768h26.3a17.161,17.161,0,0,0-26.3,0Z" transform="translate(-79.04 -400.326)" fill="#b8382c"/>
<path id="Path_186" data-name="Path 186" d="M45.522,239.98l-1.66,1.66h-.031a5.847,5.847,0,0,0-5.847,5.847V251.7l9.631-9.631Z" transform="translate(-37.984 -239.98)" fill="#b8382c"/>
</g>
<path id="Path_187" data-name="Path 187" d="M125.992,27.381l.7-.7a1.9,1.9,0,0,0,1.213.447,1.927,1.927,0,0,0,1.353-.56l.579-.579a1.911,1.911,0,0,0,3.1.579l2.193-2.193,6.058,2.753h5.652v1.84h4.905V17.929H146.84v1.84h-.972l-5.339-5.339-1-.588,3.5-3.5a2.347,2.347,0,0,0-3.32-3.32L134.936,11.8h-2.093a2.448,2.448,0,0,0-1.664.651l-7.031,6.49a1.891,1.891,0,0,0,.525,3.122l-2,2Zm-1.586-3.32,1.649-1.649A2.145,2.145,0,0,0,127.641,24l-1.649,1.649Zm3.986,1.638a.708.708,0,0,1-.818.1l1.738-1.738h.719Zm3.679,0a.688.688,0,0,1-1.174-.486.682.682,0,0,1,.2-.486l.666-.666h1.945Zm16-6.544h2.453V27.74h-2.453V19.155Zm-8.347-3.8,5.64,5.64h1.48V25.9h-5.386l-6.745-3.066h-6.571a.92.92,0,1,1,0-1.84h4.6l1.561-.3a2.619,2.619,0,0,0,1.928-3.549l2.41-2.41Zm-4.537,2.835a1.409,1.409,0,0,1-1.125,1.3l-.221.044Zm5.4-10.3a1.121,1.121,0,0,1,1.914.793,1.114,1.114,0,0,1-.328.793l-10.3,10.3H128.7ZM125.5,20.995h-.069a.666.666,0,0,1-.452-1.155l7.031-6.49a1.22,1.22,0,0,1,.832-.326h.866l-7.86,7.86A.657.657,0,0,1,125.5,20.995Z" transform="translate(-113.27 0)" fill="#fff"/>
<path id="Path_188" data-name="Path 188" d="M38.391,360.362c-.063-.107-6.454-10.726-18.924-10.726S.606,360.255.543,360.362L0,361.286H38.934Zm-36.162-.3c1.828-2.5,7.627-9.2,17.238-9.2s15.409,6.7,17.238,9.2Z" transform="translate(0 -316.991)" fill="#fff"/>
<rect id="Rectangle_177" data-name="Rectangle 177" width="2.453" height="1.226" transform="translate(18.241 35.098)" fill="#fff"/>
<rect id="Rectangle_178" data-name="Rectangle 178" width="2.453" height="1.226" transform="translate(14.33 37.014) rotate(160.007)" fill="#fff"/>
<rect id="Rectangle_179" data-name="Rectangle 179" width="2.453" height="1.226" transform="matrix(-0.766, 0.643, -0.643, -0.766, 8.578, 39.839)" fill="#fff"/>
<rect id="Rectangle_180" data-name="Rectangle 180" width="1.226" height="2.453" transform="matrix(-0.643, 0.766, -0.766, -0.643, 33.018, 40.476)" fill="#fff"/>
<rect id="Rectangle_181" data-name="Rectangle 181" width="1.226" height="2.453" transform="translate(27.33 36.698) rotate(109.999)" fill="#fff"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

@ -0,0 +1,5 @@
<svg id="out_patient" xmlns="http://www.w3.org/2000/svg" width="33.545" height="33.544" viewBox="0 0 33.545 33.544">
<path id="Path_55" data-name="Path 55" d="M32.921,17.231H24.432a3.234,3.234,0,0,0,.832-4.611,10.233,10.233,0,0,0,.624-3.5V7.771a6.771,6.771,0,0,0-10.28-5.79,6.771,6.771,0,0,0-10.28,5.79v.12l-.541-.947L2.435,11.06a2.705,2.705,0,0,0,2.933,3.949A3.249,3.249,0,0,0,8.207,17.75a7.593,7.593,0,0,0,4.7,5.466v1.138l-4.538.826A8.965,8.965,0,0,0,1,34v.541H30.216V34a8.965,8.965,0,0,0-7.365-8.824l-4.538-.826V23.217A7.537,7.537,0,0,0,21.235,21.2c.027.012.056.017.082.03a3.113,3.113,0,0,0,1.388.328H32.921a1.625,1.625,0,0,0,1.623-1.623V18.854A1.625,1.625,0,0,0,32.921,17.231Zm-9.766-.609c.01-.158.028-.315.028-.473v-3.71a2.155,2.155,0,0,1-.028,4.183ZM6.41,9.116V7.771a5.688,5.688,0,0,1,8.844-4.733l.354.236.354-.236a5.688,5.688,0,0,1,8.844,4.733V9.116a9.166,9.166,0,0,1-.4,2.687,3.228,3.228,0,0,0-1.22-.474v-.86L21.018,8.845V7.492A1.083,1.083,0,0,0,19.936,6.41H11.28A1.083,1.083,0,0,0,10.2,7.492V8.845L8.034,10.468v.858a3.2,3.2,0,0,0-.688.205,2.642,2.642,0,0,0-.206-.471l-.7-1.219c-.018-.24-.032-.482-.032-.725Zm13.527,1.623H11.28V7.492h8.657ZM4.761,13.985A1.6,1.6,0,0,1,3.375,11.6L4.787,9.124,6.2,11.6a1.6,1.6,0,0,1-1.439,2.389Zm1.65.542a2.664,2.664,0,0,0,1.053-1.851,2.119,2.119,0,0,1,.57-.239v3.713c0,.159.014.315.024.472A2.164,2.164,0,0,1,6.41,14.527Zm2.705,1.623v-5.14L10.2,10.2v.541a1.083,1.083,0,0,0,1.082,1.082h8.657a1.083,1.083,0,0,0,1.082-1.082V10.2l1.082.812v5.14a6.546,6.546,0,0,1-.116,1.168,3.114,3.114,0,0,0-.667.242,2.034,2.034,0,0,1-.9.213H16.69a1.623,1.623,0,1,0,0,3.246h3.2A6.482,6.482,0,0,1,9.116,16.149Zm7.575,3.787a.541.541,0,1,1,0-1.082h.541v1.082Zm-3.525,5.47a2.707,2.707,0,0,0,1.8,1.479A2.165,2.165,0,0,1,12.9,28.052c-1.194,0-2.164-.728-2.164-1.623a1.22,1.22,0,0,1,.174-.613Zm15.951,8.056H2.1a7.884,7.884,0,0,1,6.458-7.219l1.136-.207a2.173,2.173,0,0,0-.037.392A3.016,3.016,0,0,0,12.9,29.134a3.453,3.453,0,0,0,2.705-1.213,3.453,3.453,0,0,0,2.705,1.213,3.016,3.016,0,0,0,3.246-2.705,2.212,2.212,0,0,0-.037-.391l1.136.207A7.882,7.882,0,0,1,29.116,33.462ZM20.3,25.816a1.22,1.22,0,0,1,.174.613c0,.895-.971,1.623-2.164,1.623a2.165,2.165,0,0,1-2.066-1.166,2.7,2.7,0,0,0,1.8-1.479Zm-3.072-2.092v.541a1.623,1.623,0,1,1-3.246,0v-.721a7.467,7.467,0,0,0,3.246,0Zm4.57-3.46a3.115,3.115,0,0,0-1.388-.327h-2.1V18.854h2.1a3.122,3.122,0,0,0,1.388-.327,2.034,2.034,0,0,1,.9-.214h7.511v2.164H22.705A2.033,2.033,0,0,1,21.8,20.264Zm11.661-.327a.542.542,0,0,1-.541.541H31.3V18.313h1.623a.542.542,0,0,1,.541.541Z" transform="translate(-1 -1)"/>
<path id="Path_56" data-name="Path 56" d="M0,0H1.082V3.9H0Z" transform="matrix(0.555, -0.832, 0.832, 0.555, 15.936, 12.357)"/>
<path id="Path_57" data-name="Path 57" d="M0,0H3.9V1.082H0Z" transform="matrix(0.832, -0.555, 0.555, 0.832, 9.442, 13.613)"/>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

@ -0,0 +1,8 @@
<svg xmlns="http://www.w3.org/2000/svg" width="45.999" height="37.607" viewBox="0 0 45.999 37.607">
<g id="patient" transform="translate(0 -46.705)">
<circle id="Ellipse_155" data-name="Ellipse 155" cx="0.814" cy="0.814" r="0.814" transform="translate(15.059 58.613) rotate(-5.682)" fill="#fff"/>
<circle id="Ellipse_156" data-name="Ellipse 156" cx="0.814" cy="0.814" r="0.814" transform="translate(20.602 58.61) rotate(-5.682)" fill="#fff"/>
<path id="Path_221" data-name="Path 221" d="M189.1,219.565h-2.446a.679.679,0,1,0,0,1.359H189.1a.679.679,0,1,0,0-1.359Z" transform="translate(-169.262 -157.33)" fill="#fff"/>
<path id="Path_222" data-name="Path 222" d="M44.72,49.777H42.667V48.064h2.652a.679.679,0,0,0,0-1.359H10.394a.679.679,0,1,0,0,1.359H41.308v1.713H39.256a1.28,1.28,0,0,0-1.278,1.278v5.912a4.013,4.013,0,0,0,2.089,3.519l-.444.714a3.645,3.645,0,0,0-.161,3.54l1.846,3.671a2.277,2.277,0,0,1-.47,2.664L37.46,74.132V61.03a1.9,1.9,0,0,0-1.9-1.9H33.6a6.623,6.623,0,0,0-.228-.981,1.7,1.7,0,0,1-.04-.865l.5-2.324a1.325,1.325,0,0,0-1.574-1.574c-.7.093-2.428.7-3.146.44a6.666,6.666,0,0,0-.82-.215.68.68,0,0,0-.26,1.334,5.288,5.288,0,0,1,.652.171,3.048,3.048,0,0,0,1.6.085l2.208-.476L32,57c-.255.974.334,2.024.314,3.15v7.028a5.294,5.294,0,0,1-.247,1.6,3.034,3.034,0,0,0-.112.5,8.639,8.639,0,0,0-5.744-2.18H23.3v-.668a6.565,6.565,0,0,0,1.887-3.463,3.718,3.718,0,0,0,2.126-2.286,2.607,2.607,0,0,0-1.471-3.362h0a1.652,1.652,0,0,0-.529-.082V54.008a3.583,3.583,0,0,0-3.579-3.579H15.7a3.584,3.584,0,0,0-3.541,3.061H10.415c-.961-.1-1.932.484-2.981.384l-2.259-.487A1.325,1.325,0,0,0,3.6,54.962l.5,2.324a1.7,1.7,0,0,1-.04.865,6.619,6.619,0,0,0-.228.981H2.11v-9.6a1.466,1.466,0,0,1,1.464-1.464H7.268a.679.679,0,1,0,0-1.359H3.574A2.826,2.826,0,0,0,.751,49.528v9.993A1.894,1.894,0,0,0,0,61.03L.017,83.124a1.19,1.19,0,0,0,1.188,1.188H36.261a1.19,1.19,0,0,0,1.188-1.188l.01-7.159,4.294-3.885.009-.008a3.644,3.644,0,0,0,.759-4.27L40.676,64.13a2.277,2.277,0,0,1,.1-2.212l.613-.985a4.024,4.024,0,0,0,.6.045h0a4.012,4.012,0,0,0,3.429-1.932A4.2,4.2,0,0,0,46,56.968V51.055A1.28,1.28,0,0,0,44.72,49.777ZM36.1,61.03V75.362l-.743.672q-.232-.21-.472-.41a8.62,8.62,0,0,0-1.321-4.443,4.39,4.39,0,0,1-.2-1.988,6.65,6.65,0,0,0,.311-2.015V60.491h1.887a.539.539,0,0,1,.539.539ZM15.493,67.449a6.586,6.586,0,0,0,6.445,0v1.234a.558.558,0,0,1-.558.558h-5.33a.558.558,0,0,1-.558-.558Zm9.925-8.829a1.261,1.261,0,0,1,.6,1.649c-.231.71-.957,1.433-1.465,1.458a.679.679,0,0,0-.641.6,5.233,5.233,0,0,1-10.391,0,.679.679,0,0,0-.641-.6c-.508-.026-1.234-.748-1.465-1.458a1.261,1.261,0,0,1,.6-1.649.246.246,0,0,1,.072-.017c.044,0,.083.032.163.143a.679.679,0,0,0,.76.253c.351-.1.54-.594.473-1.067a2.614,2.614,0,0,1,2.611-2.611H21.34a2.614,2.614,0,0,1,2.611,2.611c-.015.362-.042.845.473,1.067a.679.679,0,0,0,.76-.253c.117-.164.147-.155.235-.126ZM13.481,54.008a2.222,2.222,0,0,1,2.22-2.22h6.03a2.222,2.222,0,0,1,2.22,2.22v.938a3.953,3.953,0,0,0-2.611-.983H16.092a3.953,3.953,0,0,0-2.611.983ZM7.148,55.2a3.052,3.052,0,0,0,1.6-.085,5.28,5.28,0,0,1,1.666-.268h1.707v2.4a1.644,1.644,0,0,0-.529.082,2.607,2.607,0,0,0-1.471,3.362,3.717,3.717,0,0,0,2.126,2.286,6.565,6.565,0,0,0,1.887,3.463v.668H11.219a8.639,8.639,0,0,0-5.744,2.18,3.039,3.039,0,0,0-.112-.5,5.3,5.3,0,0,1-.247-1.6V60.149c-.058-.972.566-2.032.314-3.15l-.49-2.272ZM1.359,61.03a.539.539,0,0,1,.539-.539H3.756v6.686a6.65,6.65,0,0,0,.311,2.015,4.578,4.578,0,0,1-.2,1.988A8.62,8.62,0,0,0,2.546,75.63q-.407.339-.793.707a5.567,5.567,0,0,0-.394.419V61.03ZM36.09,82.953H1.376V80.408a4.3,4.3,0,0,1,1.317-3.09A13.521,13.521,0,0,1,9.443,73.8a.679.679,0,1,0-.263-1.333,14.835,14.835,0,0,0-5.174,2.089,7.327,7.327,0,0,1,7.212-6.1h2.916v.218A1.919,1.919,0,0,0,16.051,70.6h5.33A1.919,1.919,0,0,0,23.3,68.683v-.218h2.916a7.326,7.326,0,0,1,7.211,6.087,14.856,14.856,0,0,0-8.066-2.362H12.481a.679.679,0,1,0,0,1.359H25.358a13.5,13.5,0,0,1,8.415,2.922l.019.015q.512.407.989.867a4.3,4.3,0,0,1,1.31,3.082v2.518Zm8.549-31.817V53.01h-5.3V51.136ZM44.431,58a2.765,2.765,0,0,1-2.443,1.62,2.654,2.654,0,0,1-2.651-2.651v-2.6h5.3v2.6A2.644,2.644,0,0,1,44.431,58Z" fill="#fff"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.0 KiB

@ -0,0 +1 @@
<svg id="Layer_1" enable-background="new 0 0 512 512" height="512" viewBox="0 0 512 512" width="512" xmlns="http://www.w3.org/2000/svg"><g><path d="m496 144c-8.837 0-16-7.164-16-16v-82c0-7.72-6.28-14-14-14h-82c-8.837 0-16-7.164-16-16s7.163-16 16-16h82c25.364 0 46 20.636 46 46v82c0 8.836-7.163 16-16 16z"/><path d="m16 144c-8.837 0-16-7.164-16-16v-82c0-25.364 20.636-46 46-46h82c8.837 0 16 7.164 16 16s-7.163 16-16 16h-82c-7.72 0-14 6.28-14 14v82c0 8.836-7.163 16-16 16z"/><path d="m128 512h-82c-25.364 0-46-20.636-46-46v-82c0-8.836 7.163-16 16-16s16 7.164 16 16v82c0 7.72 6.28 14 14 14h82c8.837 0 16 7.164 16 16s-7.163 16-16 16z"/><path d="m466 512h-82c-8.837 0-16-7.164-16-16s7.163-16 16-16h82c7.72 0 14-6.28 14-14v-82c0-8.836 7.163-16 16-16s16 7.164 16 16v82c0 25.364-20.636 46-46 46z"/><path d="m194 240h-84c-25.364 0-46-20.636-46-46v-84c0-25.364 20.636-46 46-46h84c25.364 0 46 20.636 46 46v84c0 25.364-20.636 46-46 46zm-84-144c-7.72 0-14 6.28-14 14v84c0 7.72 6.28 14 14 14h84c7.72 0 14-6.28 14-14v-84c0-7.72-6.28-14-14-14z"/><path d="m194 448h-84c-25.364 0-46-20.636-46-46v-84c0-25.364 20.636-46 46-46h84c25.364 0 46 20.636 46 46v84c0 25.364-20.636 46-46 46zm-84-144c-7.72 0-14 6.28-14 14v84c0 7.72 6.28 14 14 14h84c7.72 0 14-6.28 14-14v-84c0-7.72-6.28-14-14-14z"/><path d="m402 240h-84c-25.364 0-46-20.636-46-46v-84c0-25.364 20.636-46 46-46h84c25.364 0 46 20.636 46 46v84c0 25.364-20.636 46-46 46zm-84-144c-7.72 0-14 6.28-14 14v84c0 7.72 6.28 14 14 14h84c7.72 0 14-6.28 14-14v-84c0-7.72-6.28-14-14-14z"/><path d="m422 352h-38v-54c0-14.336-11.663-26-26-26h-60c-14.337 0-26 11.664-26 26v60c0 14.336 11.663 26 26 26h54v38c0 14.336 11.663 26 26 26h44c14.337 0 26-11.664 26-26v-44c0-14.336-11.663-26-26-26zm-118-48h48v48h-48zm112 112h-32v-32h32z"/><path d="m160 176h-16c-8.837 0-16-7.164-16-16v-16c0-8.836 7.163-16 16-16h16c8.837 0 16 7.164 16 16v16c0 8.836-7.163 16-16 16z"/><path d="m368 176h-16c-8.837 0-16-7.164-16-16v-16c0-8.836 7.163-16 16-16h16c8.837 0 16 7.164 16 16v16c0 8.836-7.163 16-16 16z"/><path d="m160 384h-16c-8.837 0-16-7.164-16-16v-16c0-8.836 7.163-16 16-16h16c8.837 0 16 7.164 16 16v16c0 8.836-7.163 16-16 16z"/></g></svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

@ -0,0 +1,27 @@
<svg xmlns="http://www.w3.org/2000/svg" width="30.516" height="28.567" viewBox="0 0 30.516 28.567">
<g id="radiology" transform="translate(-8.242 -10.661)">
<path id="Path_112" data-name="Path 112" d="M8.513,22.676a.271.271,0,0,1-.211-.44c4.153-5.2,7.237-6.412,10.219-7.582l.186-.073c1.181-.465,1.841-1.7,1.966-3.66a.274.274,0,0,1,.287-.253.271.271,0,0,1,.253.287c-.138,2.192-.915,3.582-2.308,4.13l-.186.073C15.8,16.3,12.788,17.489,8.726,22.575a.271.271,0,0,1-.213.1Z" transform="translate(0 -0.005)" fill="#fff"/>
<path id="Path_113" data-name="Path 113" d="M17.123,74.542l-.033,0a.271.271,0,0,1-.236-.3c.006-.048.588-4.831.586-6.746,0-1.649-.5-6.035-.684-7.564-.708.668-2.181,2.043-2.833,2.546a13.085,13.085,0,0,1-1.2.773l-.357.214a.271.271,0,1,1-.28-.464l.359-.217a12.736,12.736,0,0,0,1.151-.736c.834-.643,3.159-2.857,3.182-2.879a.271.271,0,0,1,.456.162c.031.249.751,6.129.752,8.163,0,1.95-.566,6.614-.59,6.812a.271.271,0,0,1-.268.239Z" transform="translate(-2.701 -35.315)" fill="#fff"/>
<path id="Path_114" data-name="Path 114" d="M85.727,22.671a.271.271,0,0,1-.212-.1c-4.062-5.086-7.078-6.272-9.994-7.418l-.186-.073c-1.394-.549-2.17-1.938-2.308-4.13a.271.271,0,0,1,.542-.034c.124,1.964.785,3.2,1.966,3.66l.185.073C78.7,15.82,81.787,17.031,85.94,22.23a.271.271,0,0,1-.212.44Z" transform="translate(-47.241 0)" fill="#fff"/>
<path id="Path_115" data-name="Path 115" d="M95.8,74.544a.271.271,0,0,1-.268-.237c-.024-.2-.6-4.864-.6-6.813,0-2.035.722-7.914.752-8.163a.271.271,0,0,1,.456-.162c.023.022,2.348,2.236,3.182,2.879a12.8,12.8,0,0,0,1.151.737l.358.215a.271.271,0,0,1-.28.464l-.357-.214a13.11,13.11,0,0,1-1.2-.773c-.652-.5-2.125-1.878-2.833-2.546-.181,1.529-.683,5.915-.684,7.564,0,1.915.59,6.7.6,6.745a.271.271,0,0,1-.235.3l-.034,0Z" transform="translate(-63.215 -35.317)" fill="#fff"/>
<path id="Path_116" data-name="Path 116" d="M43.1,71.94a2.753,2.753,0,0,1-2.63-1.192.542.542,0,0,1,.977-.468c.278.581,1.915.9,3.95.107a.542.542,0,1,1,.395,1.009A7.515,7.515,0,0,1,43.1,71.94Z" transform="translate(-23.459 -43.25)" fill="#fff"/>
<path id="Path_117" data-name="Path 117" d="M40.742,79.181a4.787,4.787,0,0,1-1.557-.247,2.562,2.562,0,0,1-1.522-1.18.542.542,0,1,1,.977-.468,1.529,1.529,0,0,0,.9.623,4.889,4.889,0,0,0,3.768-.463.542.542,0,0,1,.483.969A6.909,6.909,0,0,1,40.742,79.181Z" transform="translate(-21.415 -48.358)" fill="#fff"/>
<path id="Path_118" data-name="Path 118" d="M39.275,87.528a2.189,2.189,0,0,1-1.1-.272,2.481,2.481,0,0,1-.962-2.766.542.542,0,0,1,1.067.186c-.14.805.017,1.4.432,1.64.584.334,1.916.09,3.9-1.6a.542.542,0,0,1,.7.826c-1.836,1.559-3.15,1.986-4.041,1.986Z" transform="translate(-21.076 -53.509)" fill="#fff"/>
<path id="Path_119" data-name="Path 119" d="M68.31,60.346q-.325,0-.666-.014a.542.542,0,0,1,.044-1.083c3.907.159,5.554-1.153,5.675-1.551a.542.542,0,0,1,.99-.437,1.063,1.063,0,0,1-.12,1.1C73.578,59.376,71.512,60.346,68.31,60.346Z" transform="translate(-42.935 -33.766)" fill="#fff"/>
<path id="Path_120" data-name="Path 120" d="M68,53.587H67.91a.542.542,0,1,1,0-1.083c.027,0,.054,0,.081,0,3.116,0,3.665-.645,3.744-.775.023-.038.077-.129-.019-.31a.542.542,0,1,1,.957-.508,1.369,1.369,0,0,1-.011,1.378C72.138,53.163,70.61,53.587,68,53.587Z" transform="translate(-43.115 -29.141)" fill="#fff"/>
<path id="Path_121" data-name="Path 121" d="M60.957,32.12a.542.542,0,0,0-1.076-.089,1.915,1.915,0,0,1-.542.272V30.9a.542.542,0,1,0-1.083,0v1.4a1.9,1.9,0,0,1-.542-.273.542.542,0,0,0-1.076.089c0,.717.881,1.119,1.618,1.329V42a.542.542,0,1,0,1.083,0V33.449C60.076,33.238,60.957,32.836,60.957,32.12Z" transform="translate(-35.291 -14.363)" fill="#fff"/>
<path id="Path_122" data-name="Path 122" d="M50.32,40.445h.028a.542.542,0,1,0,.027-1.083c-1.909-.1-2.479-.576-2.541-.718a.542.542,0,0,0-.967-.487,1.052,1.052,0,0,0,.029,1.029C47.185,39.694,48.013,40.325,50.32,40.445Z" transform="translate(-28.078 -19.841)" fill="#fff"/>
<path id="Path_123" data-name="Path 123" d="M41.749,59.25c-3.91.159-5.554-1.153-5.675-1.551a.542.542,0,0,0-.99-.437,1.063,1.063,0,0,0,.12,1.1c.653,1.018,2.719,1.988,5.922,1.988q.325,0,.666-.014a.542.542,0,0,0-.044-1.083Z" transform="translate(-19.501 -33.766)" fill="#fff"/>
<path id="Path_124" data-name="Path 124" d="M46.395,53.587h.086a.542.542,0,0,0,0-1.083h0c-3.2.008-3.744-.643-3.824-.774-.023-.038-.078-.129.018-.31a.542.542,0,0,0-.957-.508,1.369,1.369,0,0,0,.011,1.377C42.254,53.163,43.781,53.587,46.395,53.587Z" transform="translate(-24.276 -29.141)" fill="#fff"/>
<path id="Path_125" data-name="Path 125" d="M67.623,40.45h.027c2.307-.12,3.135-.751,3.423-1.259a1.051,1.051,0,0,0,.029-1.029.542.542,0,0,0-.967.487c-.062.141-.632.619-2.541.718a.542.542,0,0,0,.027,1.083Z" transform="translate(-42.894 -19.844)" fill="#fff"/>
<path id="Path_126" data-name="Path 126" d="M47.365,44.825h0c-3.014.011-3.528-.6-3.6-.721-.019-.032-.065-.108.018-.266a.542.542,0,1,0-.957-.508,1.327,1.327,0,0,0,.011,1.334c.505.837,1.961,1.246,4.451,1.246h.081a.542.542,0,0,0,0-1.083Z" transform="translate(-25.089 -23.613)" fill="#fff"/>
<path id="Path_127" data-name="Path 127" d="M72.226,43.33a.542.542,0,1,0-.957.508c.084.158.038.234.018.266-.073.121-.585.721-3.524.721-.027,0-.051,0-.079,0a.542.542,0,0,0,0,1.083h.081c2.489,0,3.945-.406,4.451-1.246A1.327,1.327,0,0,0,72.226,43.33Z" transform="translate(-42.949 -23.612)" fill="#fff"/>
<path id="Path_128" data-name="Path 128" d="M70.671,71.945A7.514,7.514,0,0,1,67.98,71.4a.542.542,0,1,1,.395-1.009c2.034.8,3.671.474,3.95-.107a.542.542,0,1,1,.977.468A2.757,2.757,0,0,1,70.671,71.945Z" transform="translate(-43.309 -43.256)" fill="#fff"/>
<path id="Path_129" data-name="Path 129" d="M70.982,79.184a6.909,6.909,0,0,1-3.046-.765.542.542,0,0,1,.483-.969,4.886,4.886,0,0,0,3.768.463,1.529,1.529,0,0,0,.9-.623.542.542,0,1,1,.977.468,2.562,2.562,0,0,1-1.522,1.179,4.788,4.788,0,0,1-1.557.248Z" transform="translate(-43.31 -48.361)" fill="#fff"/>
<path id="Path_130" data-name="Path 130" d="M72.762,87.529c-.89,0-2.205-.427-4.041-1.986a.542.542,0,0,1,.7-.826c1.988,1.689,3.32,1.933,3.9,1.6.415-.237.572-.835.432-1.64a.542.542,0,1,1,1.067-.186,2.481,2.481,0,0,1-.961,2.766A2.191,2.191,0,0,1,72.762,87.529Z" transform="translate(-43.961 -53.509)" fill="#fff"/>
<rect id="Rectangle_157" data-name="Rectangle 157" width="1.361" height="1" rx="0.5" transform="translate(22.841 28.722)" fill="#fff"/>
<rect id="Rectangle_158" data-name="Rectangle 158" width="1.361" height="1" rx="0.5" transform="translate(22.819 30.463)" fill="#fff"/>
<rect id="Rectangle_159" data-name="Rectangle 159" width="1.361" height="1" rx="0.5" transform="translate(22.797 32.205)" fill="#fff"/>
<path id="Path_131" data-name="Path 131" d="M41.306,44.015H23.053a2.938,2.938,0,0,1-2.935-2.935V22.827a2.938,2.938,0,0,1,2.935-2.935H41.306a2.938,2.938,0,0,1,2.935,2.935V41.08A2.938,2.938,0,0,1,41.306,44.015ZM23.053,20.434a2.4,2.4,0,0,0-2.393,2.393V41.08a2.4,2.4,0,0,0,2.393,2.393H41.306A2.4,2.4,0,0,0,43.7,41.08V22.827a2.4,2.4,0,0,0-2.393-2.393Z" transform="translate(-8.66 -6.732)" fill="#fff"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.9 KiB

@ -0,0 +1,6 @@
<svg id="referral" xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30">
<path id="Path_212" data-name="Path 212" d="M46.689,39.083a3.221,3.221,0,0,0,1.692-2.815,3.316,3.316,0,0,0-6.63,0,3.221,3.221,0,0,0,1.692,2.815,4.983,4.983,0,0,0-3.355,4.7v2.234a.5.5,0,0,0,.5.5h8.956a.5.5,0,0,0,.5-.5V43.783a4.982,4.982,0,0,0-3.354-4.7Zm-3.938-2.815A2.316,2.316,0,1,1,45.066,38.5,2.277,2.277,0,0,1,42.751,36.268Zm6.293,9.25H41.087V43.783a3.978,3.978,0,0,1,7.956,0Z" transform="translate(-20.044 -16.518)" fill="#fff"/>
<path id="Path_213" data-name="Path 213" d="M46.691,6.046a3.22,3.22,0,0,0,1.69-2.814,3.316,3.316,0,0,0-6.63,0,3.22,3.22,0,0,0,1.69,2.814,4.983,4.983,0,0,0-3.353,4.7V12.98a.5.5,0,0,0,.5.5h8.956a.5.5,0,0,0,.5-.5V10.746a4.982,4.982,0,0,0-3.353-4.7Zm-3.94-2.814a2.316,2.316,0,0,1,4.629,0,2.316,2.316,0,0,1-4.629,0Zm6.293,9.248H41.087V10.746a3.978,3.978,0,0,1,7.956,0Z" transform="translate(-20.044 0)" fill="#fff"/>
<path id="Path_214" data-name="Path 214" d="M27.26,26.256l2.812-2.423a.5.5,0,0,0-.653-.757L26.3,25.766H22.779a.5.5,0,1,0,0,1H26.3l3.124,2.561a.558.558,0,0,0,.7-.07.487.487,0,0,0-.07-.7Z" transform="translate(-11.14 -11.477)" fill="#fff"/>
<path id="Path_215" data-name="Path 215" d="M8.772,20.858A3.778,3.778,0,0,0,9.7,18.376a3.859,3.859,0,0,0-7.718,0,3.776,3.776,0,0,0,.931,2.482A5.515,5.515,0,0,0,0,25.674v2.941a.5.5,0,0,0,.5.5H11.188a.5.5,0,0,0,.5-.5V25.674A5.516,5.516,0,0,0,8.772,20.858Zm-2.929-5.3a2.821,2.821,0,1,1-2.859,2.82A2.843,2.843,0,0,1,5.844,15.556Zm-.539,6.6a3.92,3.92,0,0,0,.539.042,3.843,3.843,0,0,0,.54-.042v2.339l-.54.691L5.3,24.493Zm5.383,5.96H9.116V25.664a.5.5,0,0,0-1,0v2.451H3.572V25.664a.5.5,0,0,0-1,0v2.451H1V25.674a4.514,4.514,0,0,1,2.744-4.1,3.866,3.866,0,0,0,.561.3v2.961L5.45,26.3a.5.5,0,0,0,.787,0l1.145-1.466V21.877a3.893,3.893,0,0,0,.561-.3,4.516,4.516,0,0,1,2.744,4.1v2.441Z" transform="translate(0 -7.278)" fill="#fff"/>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" width="26.003" height="26.615" viewBox="0 0 26.003 26.615">
<g id="scdedule_icon_active" transform="translate(0.333 0.341)">
<path id="Path_216" data-name="Path 216" d="M194.569,281.767a.766.766,0,0,0,1.083,0l2.734-2.734a.766.766,0,1,0-1.083-1.083l-2.192,2.192-1-1a.766.766,0,1,0-1.083,1.083Zm0,0" transform="translate(-183.038 -263.659)" fill="#fff"/>
<path id="Path_217" data-name="Path 217" d="M136.184,211.974a6.079,6.079,0,1,0-6.079-6.079A6.086,6.086,0,0,0,136.184,211.974Zm0-10.626a4.547,4.547,0,1,1-4.548,4.547A4.552,4.552,0,0,1,136.184,201.348Zm0,0" transform="translate(-123.516 -189.696)" fill="#fff"/>
<path id="Path_218" data-name="Path 218" d="M23.462,1.673H22.028V.786a.786.786,0,0,0-1.572,0v.888H18.912V.786a.786.786,0,0,0-1.572,0v.888H8.663V.786a.786.786,0,0,0-1.572,0v.888H5.547V.786a.786.786,0,0,0-1.572,0v.888H2.541A2.544,2.544,0,0,0,0,4.215V24.073a2.544,2.544,0,0,0,2.541,2.541h20.92A2.544,2.544,0,0,0,26,24.073V4.215A2.544,2.544,0,0,0,23.462,1.673Zm.97,22.4a.971.971,0,0,1-.97.97H2.541a.971.971,0,0,1-.97-.97V8.208h22.86ZM1.572,4.215a.971.971,0,0,1,.97-.97H3.975v.888a.786.786,0,0,0,1.572,0V3.245H7.091v.888a.786.786,0,0,0,1.572,0V3.245h8.678v.888a.786.786,0,0,0,1.572,0V3.245h1.544v.888a.786.786,0,0,0,1.572,0V3.245h1.433a.971.971,0,0,1,.97.97V6.636H1.572Zm0,0" transform="translate(-0.333 -0.341)" fill="#fff"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

@ -0,0 +1,5 @@
<svg id="schedule_icon" xmlns="http://www.w3.org/2000/svg" width="26.004" height="26.615" viewBox="0 0 26.004 26.615">
<path id="Path_216" data-name="Path 216" d="M194.615,281.873a.786.786,0,0,0,1.111,0l2.806-2.806a.786.786,0,0,0-1.111-1.112l-2.25,2.25-1.026-1.026a.786.786,0,0,0-1.112,1.112Zm0,0" transform="translate(-182.781 -263.289)"/>
<path id="Path_217" data-name="Path 217" d="M136.344,212.294a6.239,6.239,0,1,0-6.239-6.239A6.246,6.246,0,0,0,136.344,212.294Zm0-10.906a4.667,4.667,0,1,1-4.667,4.667A4.672,4.672,0,0,1,136.344,201.388Zm0,0" transform="translate(-123.342 -189.429)"/>
<path id="Path_218" data-name="Path 218" d="M23.462,1.673H22.029V.786a.786.786,0,1,0-1.572,0v.888H18.913V.786a.786.786,0,0,0-1.572,0v.888H8.663V.786a.786.786,0,0,0-1.572,0v.888H5.547V.786a.786.786,0,0,0-1.572,0v.888H2.541A2.544,2.544,0,0,0,0,4.215V24.074a2.544,2.544,0,0,0,2.541,2.541H23.462A2.544,2.544,0,0,0,26,24.074V4.215A2.544,2.544,0,0,0,23.462,1.673Zm.97,22.4a.971.971,0,0,1-.97.97H2.541a.971.971,0,0,1-.97-.97V8.208h22.86ZM1.572,4.215a.971.971,0,0,1,.97-.97H3.975v.888a.786.786,0,0,0,1.572,0V3.245H7.091v.888a.786.786,0,0,0,1.572,0V3.245h8.678v.888a.786.786,0,0,0,1.572,0V3.245h1.544v.888a.786.786,0,0,0,1.572,0V3.245h1.433a.971.971,0,0,1,.97.97V6.636H1.572Zm0,0" transform="translate(0 0)"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

@ -0,0 +1,32 @@
<svg id="search_patient" xmlns="http://www.w3.org/2000/svg" width="35.865" height="35.865" viewBox="0 0 35.865 35.865">
<g id="Group_321" data-name="Group 321" transform="translate(3.488 3.481)">
<g id="Group_320" data-name="Group 320">
<path id="Path_83" data-name="Path 83" d="M59.849,49.3A10.449,10.449,0,1,0,70.3,59.749,10.461,10.461,0,0,0,59.849,49.3Zm0,19.74a9.291,9.291,0,1,1,9.291-9.291A9.3,9.3,0,0,1,59.849,69.04Z" transform="translate(-49.4 -49.3)"/>
</g>
</g>
<g id="Group_323" data-name="Group 323" transform="translate(6.389 6.389)">
<g id="Group_322" data-name="Group 322">
<path id="Path_84" data-name="Path 84" d="M90.5,98.626h1.158a6.978,6.978,0,0,1,6.968-6.968V90.5A8.132,8.132,0,0,0,90.5,98.626Z" transform="translate(-90.5 -90.5)"/>
</g>
</g>
<g id="Group_325" data-name="Group 325">
<g id="Group_324" data-name="Group 324">
<path id="Path_85" data-name="Path 85" d="M35.046,31.763l.819-.819-8.31-8.317-.819.819-1.454-1.454A13.907,13.907,0,1,0,22,25.289l1.454,1.454-.819.819,8.3,8.3.819-.819-7.484-7.491,3.283-3.283ZM13.93,26.708A12.772,12.772,0,1,1,26.7,13.937,12.791,12.791,0,0,1,13.93,26.708Zm10.343-.8-1.348-1.341a13.923,13.923,0,0,0,1.645-1.645l1.348,1.348Z"/>
</g>
</g>
<g id="Group_327" data-name="Group 327" transform="translate(26.993 26.992)">
<g id="Group_326" data-name="Group 326" transform="translate(0 0)">
<rect id="Rectangle_143" data-name="Rectangle 143" width="1.158" height="1.158" transform="translate(0 0.819) rotate(-45)"/>
</g>
</g>
<g id="Group_329" data-name="Group 329" transform="translate(28.634 28.642)">
<g id="Group_328" data-name="Group 328" transform="translate(0 0)">
<rect id="Rectangle_144" data-name="Rectangle 144" width="1.158" height="1.158" transform="translate(0 0.819) rotate(-45)"/>
</g>
</g>
<g id="Group_331" data-name="Group 331" transform="translate(30.274 30.273)">
<g id="Group_330" data-name="Group 330" transform="translate(0 0)">
<rect id="Rectangle_145" data-name="Rectangle 145" width="1.158" height="1.158" transform="matrix(0.707, -0.707, 0.707, 0.707, 0, 0.819)"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

@ -1 +1,2 @@
#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
#include "Generated.xcconfig"

@ -1 +1,2 @@
#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
#include "Generated.xcconfig"

@ -0,0 +1,90 @@
# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
project 'Runner', {
'Debug' => :debug,
'Profile' => :release,
'Release' => :release,
}
def parse_KV_file(file, separator='=')
file_abs_path = File.expand_path(file)
if !File.exists? file_abs_path
return [];
end
generated_key_values = {}
skip_line_start_symbols = ["#", "/"]
File.foreach(file_abs_path) do |line|
next if skip_line_start_symbols.any? { |symbol| line =~ /^\s*#{symbol}/ }
plugin = line.split(pattern=separator)
if plugin.length == 2
podname = plugin[0].strip()
path = plugin[1].strip()
podpath = File.expand_path("#{path}", file_abs_path)
generated_key_values[podname] = podpath
else
puts "Invalid plugin specification: #{line}"
end
end
generated_key_values
end
target 'Runner' do
use_frameworks!
use_modular_headers!
# Flutter Pod
copied_flutter_dir = File.join(__dir__, 'Flutter')
copied_framework_path = File.join(copied_flutter_dir, 'Flutter.framework')
copied_podspec_path = File.join(copied_flutter_dir, 'Flutter.podspec')
unless File.exist?(copied_framework_path) && File.exist?(copied_podspec_path)
# Copy Flutter.framework and Flutter.podspec to Flutter/ to have something to link against if the xcode backend script has not run yet.
# That script will copy the correct debug/profile/release version of the framework based on the currently selected Xcode configuration.
# CocoaPods will not embed the framework on pod install (before any build phases can generate) if the dylib does not exist.
generated_xcode_build_settings_path = File.join(copied_flutter_dir, 'Generated.xcconfig')
unless File.exist?(generated_xcode_build_settings_path)
raise "Generated.xcconfig must exist. If you're running pod install manually, make sure flutter pub get is executed first"
end
generated_xcode_build_settings = parse_KV_file(generated_xcode_build_settings_path)
cached_framework_dir = generated_xcode_build_settings['FLUTTER_FRAMEWORK_DIR'];
unless File.exist?(copied_framework_path)
FileUtils.cp_r(File.join(cached_framework_dir, 'Flutter.framework'), copied_flutter_dir)
end
unless File.exist?(copied_podspec_path)
FileUtils.cp(File.join(cached_framework_dir, 'Flutter.podspec'), copied_flutter_dir)
end
end
# Keep pod path relative so it can be checked into Podfile.lock.
pod 'Flutter', :path => 'Flutter'
# Plugin Pods
# Prepare symlinks folder. We use symlinks to avoid having Podfile.lock
# referring to absolute paths on developers' machines.
system('rm -rf .symlinks')
system('mkdir -p .symlinks/plugins')
plugin_pods = parse_KV_file('../.flutter-plugins')
plugin_pods.each do |name, path|
symlink = File.join('.symlinks', 'plugins', name)
File.symlink(path, symlink)
pod name, :path => File.join(symlink, 'ios')
end
end
# Prevent Cocoapods from embedding a second Flutter framework and causing an error with the new Xcode build system.
install! 'cocoapods', :disable_input_output_paths => true
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['ENABLE_BITCODE'] = 'NO'
end
end
end

@ -0,0 +1,127 @@
PODS:
- barcode_scan (0.0.1):
- Flutter
- MTBBarcodeScanner
- SwiftProtobuf
- connectivity (0.0.1):
- Flutter
- Reachability
- connectivity_macos (0.0.1):
- Flutter
- device_info (0.0.1):
- Flutter
- Flutter (1.0.0)
- flutter_flexible_toast (0.0.1):
- Flutter
- flutter_plugin_android_lifecycle (0.0.1):
- Flutter
- hexcolor (0.0.1):
- Flutter
- imei_plugin (0.0.1):
- Flutter
- local_auth (0.0.1):
- Flutter
- MTBBarcodeScanner (5.0.11)
- "permission_handler (5.0.0+hotfix.5)":
- Flutter
- Reachability (3.2)
- shared_preferences (0.0.1):
- Flutter
- shared_preferences_macos (0.0.1):
- Flutter
- shared_preferences_web (0.0.1):
- Flutter
- SwiftProtobuf (1.9.0)
- url_launcher (0.0.1):
- Flutter
- url_launcher_macos (0.0.1):
- Flutter
- url_launcher_web (0.0.1):
- Flutter
DEPENDENCIES:
- barcode_scan (from `.symlinks/plugins/barcode_scan/ios`)
- connectivity (from `.symlinks/plugins/connectivity/ios`)
- connectivity_macos (from `.symlinks/plugins/connectivity_macos/ios`)
- device_info (from `.symlinks/plugins/device_info/ios`)
- Flutter (from `Flutter`)
- flutter_flexible_toast (from `.symlinks/plugins/flutter_flexible_toast/ios`)
- flutter_plugin_android_lifecycle (from `.symlinks/plugins/flutter_plugin_android_lifecycle/ios`)
- hexcolor (from `.symlinks/plugins/hexcolor/ios`)
- imei_plugin (from `.symlinks/plugins/imei_plugin/ios`)
- local_auth (from `.symlinks/plugins/local_auth/ios`)
- permission_handler (from `.symlinks/plugins/permission_handler/ios`)
- shared_preferences (from `.symlinks/plugins/shared_preferences/ios`)
- shared_preferences_macos (from `.symlinks/plugins/shared_preferences_macos/ios`)
- shared_preferences_web (from `.symlinks/plugins/shared_preferences_web/ios`)
- url_launcher (from `.symlinks/plugins/url_launcher/ios`)
- url_launcher_macos (from `.symlinks/plugins/url_launcher_macos/ios`)
- url_launcher_web (from `.symlinks/plugins/url_launcher_web/ios`)
SPEC REPOS:
https://cdn.cocoapods.org/:
- MTBBarcodeScanner
- Reachability
- SwiftProtobuf
EXTERNAL SOURCES:
barcode_scan:
:path: ".symlinks/plugins/barcode_scan/ios"
connectivity:
:path: ".symlinks/plugins/connectivity/ios"
connectivity_macos:
:path: ".symlinks/plugins/connectivity_macos/ios"
device_info:
:path: ".symlinks/plugins/device_info/ios"
Flutter:
:path: Flutter
flutter_flexible_toast:
:path: ".symlinks/plugins/flutter_flexible_toast/ios"
flutter_plugin_android_lifecycle:
:path: ".symlinks/plugins/flutter_plugin_android_lifecycle/ios"
hexcolor:
:path: ".symlinks/plugins/hexcolor/ios"
imei_plugin:
:path: ".symlinks/plugins/imei_plugin/ios"
local_auth:
:path: ".symlinks/plugins/local_auth/ios"
permission_handler:
:path: ".symlinks/plugins/permission_handler/ios"
shared_preferences:
:path: ".symlinks/plugins/shared_preferences/ios"
shared_preferences_macos:
:path: ".symlinks/plugins/shared_preferences_macos/ios"
shared_preferences_web:
:path: ".symlinks/plugins/shared_preferences_web/ios"
url_launcher:
:path: ".symlinks/plugins/url_launcher/ios"
url_launcher_macos:
:path: ".symlinks/plugins/url_launcher_macos/ios"
url_launcher_web:
:path: ".symlinks/plugins/url_launcher_web/ios"
SPEC CHECKSUMS:
barcode_scan: a5c27959edfafaa0c771905bad0b29d6d39e4479
connectivity: 6e94255659cc86dcbef1d452ad3e0491bb1b3e75
connectivity_macos: e2e9731b6b22dda39eb1b128f6969d574460e191
device_info: d7d233b645a32c40dfdc212de5cf646ca482f175
Flutter: 0e3d915762c693b495b44d77113d4970485de6ec
flutter_flexible_toast: 0547e740cae0c33bb7c51bcd931233f4584e1143
flutter_plugin_android_lifecycle: dc0b544e129eebb77a6bfb1239d4d1c673a60a35
hexcolor: fdfb9c4258ad96e949c2dbcdf790a62194b8aa89
imei_plugin: cb1af7c223ac2d82dcd1457a7137d93d65d2a3cd
local_auth: 25938960984c3a7f6e3253e3f8d962fdd16852bd
MTBBarcodeScanner: f453b33c4b7dfe545d8c6484ed744d55671788cb
permission_handler: 6226fcb78b97c7c7458a95c7346a11d5184fec12
Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96
shared_preferences: af6bfa751691cdc24be3045c43ec037377ada40d
shared_preferences_macos: f3f29b71ccbb56bf40c9dd6396c9acf15e214087
shared_preferences_web: 141cce0c3ed1a1c5bf2a0e44f52d31eeb66e5ea9
SwiftProtobuf: ecbec1be9036d15655f6b3443a1c4ea693c97932
url_launcher: 6fef411d543ceb26efce54b05a0a40bfd74cbbef
url_launcher_macos: fd7894421cd39320dce5f292fc99ea9270b2a313
url_launcher_web: e5527357f037c87560776e36436bf2b0288b965c
PODFILE CHECKSUM: 1b66dae606f75376c5f2135a8290850eeb09ae83
COCOAPODS: 1.9.3

@ -9,14 +9,11 @@
/* Begin PBXBuildFile section */
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
3B80C3941E831B6300D905FE /* App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; };
3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; };
9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
B650DC3076E9D70CB188286A /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 93A5F83B23AB032D1E096663 /* Pods_Runner.framework */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
@ -26,8 +23,6 @@
dstPath = "";
dstSubfolderSpec = 10;
files = (
3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */,
9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */,
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
@ -38,18 +33,20 @@
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
3B80C3931E831B6300D905FE /* App.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = App.framework; path = Flutter/App.framework; sourceTree = "<group>"; };
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
75DD06875D42C7903A76DF9F /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
93A5F83B23AB032D1E096663 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
9740EEBA1CF902C7004384FC /* Flutter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Flutter.framework; path = Flutter/Flutter.framework; sourceTree = "<group>"; };
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
9D4B7DB43C6A6C849D2387CE /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
E698D7B14B12DF768FE47A1A /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@ -57,20 +54,27 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */,
3B80C3941E831B6300D905FE /* App.framework in Frameworks */,
B650DC3076E9D70CB188286A /* Pods_Runner.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
7D66D387293CE5376A07EC5F /* Pods */ = {
isa = PBXGroup;
children = (
E698D7B14B12DF768FE47A1A /* Pods-Runner.debug.xcconfig */,
75DD06875D42C7903A76DF9F /* Pods-Runner.release.xcconfig */,
9D4B7DB43C6A6C849D2387CE /* Pods-Runner.profile.xcconfig */,
);
path = Pods;
sourceTree = "<group>";
};
9740EEB11CF90186004384FC /* Flutter */ = {
isa = PBXGroup;
children = (
3B80C3931E831B6300D905FE /* App.framework */,
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
9740EEBA1CF902C7004384FC /* Flutter.framework */,
9740EEB21CF90195004384FC /* Debug.xcconfig */,
7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
9740EEB31CF90195004384FC /* Generated.xcconfig */,
@ -84,6 +88,8 @@
9740EEB11CF90186004384FC /* Flutter */,
97C146F01CF9000F007C117D /* Runner */,
97C146EF1CF9000F007C117D /* Products */,
7D66D387293CE5376A07EC5F /* Pods */,
F984EB986238F1809678CD84 /* Frameworks */,
);
sourceTree = "<group>";
};
@ -118,6 +124,14 @@
name = "Supporting Files";
sourceTree = "<group>";
};
F984EB986238F1809678CD84 /* Frameworks */ = {
isa = PBXGroup;
children = (
93A5F83B23AB032D1E096663 /* Pods_Runner.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
@ -125,12 +139,14 @@
isa = PBXNativeTarget;
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
buildPhases = (
986D76F6694E0D6D8C5CDAAB /* [CP] Check Pods Manifest.lock */,
9740EEB61CF901F6004384FC /* Run Script */,
97C146EA1CF9000F007C117D /* Sources */,
97C146EB1CF9000F007C117D /* Frameworks */,
97C146EC1CF9000F007C117D /* Resources */,
9705A1C41CF9048500538489 /* Embed Frameworks */,
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
08568E6EE9BA48E55B7C3865 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@ -152,6 +168,7 @@
TargetAttributes = {
97C146ED1CF9000F007C117D = {
CreatedOnToolsVersion = 7.3.1;
DevelopmentTeam = 3A359E86ZF;
LastSwiftMigration = 1100;
};
};
@ -189,6 +206,21 @@
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
08568E6EE9BA48E55B7C3865 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
@ -201,7 +233,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" thin";
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
};
9740EEB61CF901F6004384FC /* Run Script */ = {
isa = PBXShellScriptBuildPhase;
@ -217,6 +249,28 @@
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
};
986D76F6694E0D6D8C5CDAAB /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@ -309,6 +363,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = 3A359E86ZF;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@ -320,8 +375,8 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
PRODUCT_BUNDLE_IDENTIFIER = com.example.doctorAppFlutter;
PRODUCT_NAME = "$(TARGET_NAME)";
PRODUCT_BUNDLE_IDENTIFIER = com.hmg.doctorApp;
PRODUCT_NAME = Runner;
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";
@ -443,6 +498,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = 3A359E86ZF;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@ -454,8 +510,8 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
PRODUCT_BUNDLE_IDENTIFIER = com.example.doctorAppFlutter;
PRODUCT_NAME = "$(TARGET_NAME)";
PRODUCT_BUNDLE_IDENTIFIER = com.hmg.doctorApp;
PRODUCT_NAME = Runner;
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
@ -470,6 +526,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = 3A359E86ZF;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@ -481,8 +538,8 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
PRODUCT_BUNDLE_IDENTIFIER = com.example.doctorAppFlutter;
PRODUCT_NAME = "$(TARGET_NAME)";
PRODUCT_BUNDLE_IDENTIFIER = com.hmg.doctorApp;
PRODUCT_NAME = Runner;
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

@ -27,8 +27,6 @@
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
@ -38,8 +36,8 @@
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
@ -61,8 +59,6 @@
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Profile"

@ -4,4 +4,7 @@
<FileRef
location = "group:Runner.xcodeproj">
</FileRef>
<FileRef
location = "group:Pods/Pods.xcodeproj">
</FileRef>
</Workspace>

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

@ -11,7 +11,7 @@
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>doctor_app_flutter</string>
<string>Doctor App</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
@ -22,12 +22,14 @@
<string>$(FLUTTER_BUILD_NUMBER)</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSCameraUsageDescription</key>
<string>Camera permission is required for barcode scanning.</string>
<key>NSFaceIDUsageDescription</key>
<string>Why is my app authenticating using face id?</string>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
<string>Main</string>
<key>NSFaceIDUsageDescription</key>
<string>Why is my app authenticating using face id?</string>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
@ -43,7 +45,5 @@
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<key>NSCameraUsageDescription</key>
<string>Camera permission is required for barcode scanning.</string>
</dict>
</plist>

@ -2,13 +2,16 @@ const MAX_SMALL_SCREEN = 660;
const ONLY_NUMBERS = "[0-9]";
const ONLY_LETTERS = "[a-zA-Z &'\"]";
const ONLY_DATE = "[0-9/]";
const BASE_URL = 'https://hmgwebservices.com/Services/';
//const BASE_URL = 'https://uat.hmgwebservices.com/Services/';
//const BASE_URL = 'https://hmgwebservices.com/Services/';
const BASE_URL = 'https://uat.hmgwebservices.com/Services/';
const PHARMACY_ITEMS_URL = "Lists.svc/REST/GetPharmcyItems_Region";
const PHARMACY_LIST_URL = "Patients.svc/REST/GetPharmcyList";
const PATIENT_PROGRESS_NOTE_URL = "DoctorApplication.svc/REST/GetProgressNoteForInPatient";
const PATIENT_INSURANCE_APPROVALS_URL = "DoctorApplication.svc/REST/GetApprovalStatusForInpatient";
const PATIENT_ORDERS_URL = "DoctorApplication.svc/REST/GetProgressNoteForInPatient";
const PATIENT_PROGRESS_NOTE_URL =
"DoctorApplication.svc/REST/GetProgressNoteForInPatient";
const PATIENT_INSURANCE_APPROVALS_URL =
"DoctorApplication.svc/REST/GetApprovalStatusForInpatient";
const PATIENT_ORDERS_URL =
"DoctorApplication.svc/REST/GetProgressNoteForInPatient";
const PATIENT_REFER_TO_DOCTOR_URL = "DoctorApplication.svc/REST/ReferToDoctor";
const PATIENT_GET_DOCTOR_BY_CLINIC_URL = "DoctorApplication.svc/REST/GetDoctorsByClinicID";
const PATIENT_GET_LIST_REFERAL_URL = "Lists.svc/REST/GetList_STPReferralFrequency";
@ -21,7 +24,7 @@ const GET_PATIENT_LAB_OREDERS =
const GET_PRESCRIPTION = 'Patients.svc/REST/GetPrescriptionApptList';
const GET_RADIOLOGY = 'DoctorApplication.svc/REST/GetPatientRadResult';
var selectedPatientType = 0;
var selectedPatientType = 0;
//*********change value to decode json from Dropdown ************
var SERVICES_PATIANT = [
@ -63,12 +66,11 @@ const IP_ADDRESS = '11.11.11.11';
const VERSION_ID = 1.2;
const CHANNEL = 9;
const SESSION_ID = 'BlUSkYymTt';
const IS_LOGIN_FOR_DOCTOR_APP = true;
const IS_LOGIN_FOR_DOCTOR_APP = true;
const PATIENT_OUT_SA = false;
/// Timer Info
const TIMER_MIN =10;
const TIMER_MIN = 10;
class AppGlobal{
static var CONTEX;
}

@ -4,35 +4,42 @@ const Map<String, Map<String, String>> localizedValues = {
'language': {'en': 'App Language', 'ar': 'لغة التطبيق'},
'lanEnglish': {'en': 'English', 'ar': 'English'},
'lanArabic': {'en': 'العربية', 'ar': 'العربية'},
'doctorReply':{'en': 'Doctor Reply', 'ar': 'رد الطبيب'},
'time' :{'en': 'Time','ar':'الوقت'},
'fileNo' :{'en':'File No', 'ar':'رقم الملف'},
'mobileNo' :{'en':'Mobile No', 'ar':'رقم الموبايل'},
'messagesScreenToolbarTitle' : {'en': 'Messages','ar': 'الرسائل' },
'mySchedule' : {'en': 'My Schedule', 'ar' : 'جدولي'},
'errorNoSchedule' :{'en': 'You don\'t have any Schedule' , 'ar': 'ليس لديك أي جدول زمني'},
'verify': {'en': 'Verify', 'ar' : 'تحقق'},
'referralDoctor':{'en': 'Referral Doctor', 'ar' : 'الطبيب المُحول إليه'},
'referringClinic':{'en': 'Referring Clinic', 'ar' : 'العيادة المُحول إليها'},
'frequency':{'en': 'Frequency', 'ar' : 'نوع التحويلا'},
'priority':{'en': 'Priority', 'ar' : 'الأولوية'},
'maxResponseTime':{'en': 'Max Response Time', 'ar' : 'الوقت الأقصى للرد'},
'clinicDetailsandRemarks':{'en': 'Clinic Details and Remarks', 'ar' : 'ملاحضات وتفاصيل العيادة'},
'answerSuggestions':{'en': 'Answer/Suggestions', 'ar' : 'ملاحضات وتفاصيل العيادة'},
'outPatients':{'en': 'Out-Patients', 'ar' : 'ةالمريض الخارجي'},
'searchPatient':{'en': 'Search Patient', 'ar' : 'البحث عن مريض'},
'labResult':{'en': 'Lab Result', 'ar' : 'نتيجة المختبر'},
'todayStatistics':{'en': 'Today Statistics', 'ar' : 'إحصائيات اليوم'},
'arrived':{'en': 'Arrived', 'ar' : 'وصل'},
'er':{'en': 'ER', 'ar' : 'حالة طوارئ'},
'walkIn':{'en': 'Walk-in', 'ar' : 'ادخل'},
'notArrived':{'en': 'Not Arrived', 'ar' : 'لم يصل'},
'radiology':{'en': 'Radiology', 'ar' : 'الأشعة'},
'referral':{'en': 'Referral', 'ar' : 'االإحالة'},
'inPatient':{'en': 'In-Patient', 'ar' : 'االمريض الداخلي'},
'operations':{'en': 'Operations', 'ar' : 'عمليات'},
'patientServices':{'en': 'Patient Services', 'ar' : 'خدمات المرضى'},
'doctorReply': {'en': 'Doctor Reply', 'ar': 'رد الطبيب'},
'time': {'en': 'Time', 'ar': 'الوقت'},
'fileNo': {'en': 'File No', 'ar': 'رقم الملف'},
'mobileNo': {'en': 'Mobile No', 'ar': 'رقم الموبايل'},
'messagesScreenToolbarTitle': {'en': 'Messages', 'ar': 'الرسائل'},
'mySchedule': {'en': 'My Schedule', 'ar': 'جدولي'},
'errorNoSchedule': {
'en': 'You don\'t have any Schedule',
'ar': 'ليس لديك أي جدول زمني'
},
'verify': {'en': 'Verify', 'ar': 'تحقق'},
'referralDoctor': {'en': 'Referral Doctor', 'ar': 'الطبيب المُحول إليه'},
'referringClinic': {'en': 'Referring Clinic', 'ar': 'العيادة المُحول إليها'},
'frequency': {'en': 'Frequency', 'ar': 'نوع التحويلا'},
'priority': {'en': 'Priority', 'ar': 'الأولوية'},
'maxResponseTime': {'en': 'Max Response Time', 'ar': 'الوقت الأقصى للرد'},
'clinicDetailsandRemarks': {
'en': 'Clinic Details and Remarks',
'ar': 'ملاحضات وتفاصيل العيادة'
},
'answerSuggestions': {
'en': 'Answer/Suggestions',
'ar': 'ملاحضات وتفاصيل العيادة'
},
'outPatients': {'en': 'Out-Patients', 'ar': 'ةالمريض الخارجي'},
'searchPatient': {'en': 'Search Patient', 'ar': 'البحث عن مريض'},
'labResult': {'en': 'Lab Result', 'ar': 'نتيجة المختبر'},
'todayStatistics': {'en': 'Today Statistics', 'ar': 'إحصائيات اليوم'},
'arrived': {'en': 'Arrived', 'ar': 'وصل'},
'er': {'en': 'ER', 'ar': 'حالة طوارئ'},
'walkIn': {'en': 'Walk-in', 'ar': 'ادخل'},
'notArrived': {'en': 'Not Arrived', 'ar': 'لم يصل'},
'radiology': {'en': 'Radiology', 'ar': 'الأشعة'},
'referral': {'en': 'Referral', 'ar': 'االإحالة'},
'inPatient': {'en': 'In-Patient', 'ar': 'االمريض الداخلي'},
'operations': {'en': 'Operations', 'ar': 'عمليات'},
'patientServices': {'en': 'Patient Services', 'ar': 'خدمات المرضى'},
'familyMedicine': {'en': 'Family Medicine Clinic', 'ar': 'عيادة طب الأسرة'}
};

@ -1,218 +1,222 @@
List <Map> ListProject= [
{
"Desciption": "Dubai Hospital",
"DesciptionN": null,
"ID": 2,
"LegalName": "Dr. Sulaiman Al Habib Hospital FZ - LLC ",
"LegalNameN": "مستشفى الدكتور سليمان الحبيب منطقة حرة - ذ.م.م",
"Name": "Dubai Hospital",
"NameN": null,
"PhoneNumber": "+97144297777",
"SetupID": "505005",
"DistanceInKilometers": 0,
"IsActive": true,
"Latitude": "25.231273",
"Longitude": "55.320942",
"MainProjectID": 2,
"ProjectOutSA": true,
"UsingInDoctorApp": true
},
{
"Desciption": "SZR Center",
"DesciptionN": null,
"ID": 3,
"LegalName": "Dr. Sulaiman Al Habib Hospital SZR - LLC ",
"LegalNameN": "مستشفى الدكتور سليمان الحبيب طريق الشيخ زايد",
"Name": "SZR Medical Center",
"NameN": null,
"PhoneNumber": "+97144297777",
"SetupID": "505005",
"DistanceInKilometers": 0,
"IsActive": true,
"Latitude": "25.154501",
"Longitude": "55.226000",
"MainProjectID": 3,
"ProjectOutSA": true,
"UsingInDoctorApp": true
},
{
"Desciption": "Home Health Care (HHC)",
"DesciptionN": null,
"ID": 95,
"LegalName": "",
"LegalNameN": "",
"Name": "Home Health Care (HHC)",
"NameN": null,
"PhoneNumber": "+966114622224",
"SetupID": "91877 ",
"DistanceInKilometers": 0,
"IsActive": false,
"Latitude": "24.704242",
"Longitude": "46.675823",
"MainProjectID": 12,
"ProjectOutSA": false,
"UsingInDoctorApp": true
},
{
"Desciption": "Olaya Hospital",
"DesciptionN": null,
"ID": 12,
"LegalName": "from Sehat Al Olaya Medical Complex Company",
"LegalNameN": "شركة مجمع صحة العليا الطبي ",
"Name": "Olaya Hospital",
"NameN": null,
"PhoneNumber": "+966114622224",
"SetupID": "91877 ",
"DistanceInKilometers": 0,
"IsActive": true,
"Latitude": "24.704242",
"Longitude": "46.675823",
"MainProjectID": 12,
"ProjectOutSA": false,
"UsingInDoctorApp": true
},
{
"Desciption": "Ajaji Dental Clinic (AMS)",
"DesciptionN": null,
"ID": 99,
"LegalName": "from Dr. Abdulaziz A. Al - Ajaji Dental Clinics Complex Company",
"LegalNameN": "شركة مجمع عيادات الدكتور عبدالعزيز ابرهيم العجاجي لطب الاسنان",
"Name": "Ajaji Dental Clinic (AMS)",
"NameN": null,
"PhoneNumber": "+966115259999",
"SetupID": "010266",
"DistanceInKilometers": 0,
"IsActive": false,
"Latitude": "24.722136",
"Longitude": "46.774303",
"MainProjectID": 15,
"ProjectOutSA": false,
"UsingInDoctorApp": true
},
{
"Desciption": "Ajaji Dental Clinic (AMS)",
"DesciptionN": null,
"ID": 100,
"LegalName": "from Dr. Abdulaziz A. Al - Ajaji Dental Clinics Complex Company",
"LegalNameN": "شركة مجمع عيادات الدكتور عبدالعزيز ابرهيم العجاجي لطب الاسنان",
"Name": "Ajaji Dental Clinic (AMS) Malaz",
"NameN": null,
"PhoneNumber": "+966115259999",
"SetupID": "010266",
"DistanceInKilometers": 0,
"IsActive": false,
"Latitude": "24.722136",
"Longitude": "46.774303",
"MainProjectID": 15,
"ProjectOutSA": false,
"UsingInDoctorApp": true
},
{
"Desciption": "Arryan Hospital",
"DesciptionN": null,
"ID": 15,
"LegalName": "Al Rayan Hospital for Healthcare Company ",
"LegalNameN": "شركة مستشفى الريان للرعاية الطبية",
"Name": "Arryan Hospital",
"NameN": null,
"PhoneNumber": "+966114909999",
"SetupID": "010266",
"DistanceInKilometers": 0,
"IsActive": true,
"Latitude": "24.722136",
"Longitude": "46.774303",
"MainProjectID": 15,
"ProjectOutSA": false,
"UsingInDoctorApp": true
},
{
"Desciption": "MD Lab",
"DesciptionN": null,
"ID": 150,
"LegalName": "",
"LegalNameN": "",
"Name": "MD Lab",
"NameN": null,
"PhoneNumber": "+966114774700",
"SetupID": "010266",
"DistanceInKilometers": 0,
"IsActive": false,
"Latitude": "24.722136",
"Longitude": "46.774303",
"MainProjectID": 15,
"ProjectOutSA": false,
"UsingInDoctorApp": true
},
{
"Desciption": "Takhassusi Hospital",
"DesciptionN": null,
"ID": 16,
"LegalName": "Western Specialist Hospital for Medical Care",
"LegalNameN": "شركة مستشفى الغرب التخصصي للرعاية الطبية ",
"Name": "Takhassusi Hospital",
"NameN": null,
"PhoneNumber": "+966112833333",
"SetupID": "102000",
"DistanceInKilometers": 0,
"IsActive": true,
"Latitude": "24.719364",
"Longitude": "46.657567",
"MainProjectID": 16,
"ProjectOutSA": false,
"UsingInDoctorApp": true
},
{
"Desciption": "Suwaidi Hospital",
"DesciptionN": null,
"ID": 17,
"LegalName": "Sehat Al Suwaidi Medical Company",
"LegalNameN": "شركة صحة السويدي الطبية",
"Name": "Suwaidi Hospital",
"NameN": null,
"PhoneNumber": "+966114754444",
"SetupID": "010266",
"DistanceInKilometers": 0,
"IsActive": true,
"Latitude": "24.567525",
"Longitude": " 46.641019",
"MainProjectID": 17,
"ProjectOutSA": false,
"UsingInDoctorApp": true
},
{
"Desciption": "Al Qassim Hospital\r\n",
"DesciptionN": null,
"ID": 21,
"LegalName": "Buraidah Al Takhassusi Hospital for Healthcare Company",
"LegalNameN": "شركة مستشفى بريدة التخصصي للرعاية الطبية ",
"Name": "Al Qassim Hospital",
"NameN": null,
"PhoneNumber": "+966163166666",
"SetupID": "051431",
"DistanceInKilometers": 0,
"IsActive": true,
"Latitude": "26.360724",
"Longitude": "43.945774",
"MainProjectID": 21,
"ProjectOutSA": false,
"UsingInDoctorApp": true
},
{
"Desciption": "Khobar Hospital",
"DesciptionN": null,
"ID": 60,
"LegalName": "Khobar Hospital",
"LegalNameN": "مستشفى الخبر",
"Name": "Khobar Hospital",
"NameN": null,
"PhoneNumber": "+966138711111",
"SetupID": "034423",
"DistanceInKilometers": 0,
"IsActive": true,
"Latitude": "26.3107804",
"Longitude": "50.2108347",
"MainProjectID": 60,
"ProjectOutSA": false,
"UsingInDoctorApp": true
}
];
List<Map> ListProject = [
{
"Desciption": "Dubai Hospital",
"DesciptionN": null,
"ID": 2,
"LegalName": "Dr. Sulaiman Al Habib Hospital FZ - LLC ",
"LegalNameN": "مستشفى الدكتور سليمان الحبيب منطقة حرة - ذ.م.م",
"Name": "Dubai Hospital",
"NameN": null,
"PhoneNumber": "+97144297777",
"SetupID": "505005",
"DistanceInKilometers": 0,
"IsActive": true,
"Latitude": "25.231273",
"Longitude": "55.320942",
"MainProjectID": 2,
"ProjectOutSA": true,
"UsingInDoctorApp": true
},
{
"Desciption": "SZR Center",
"DesciptionN": null,
"ID": 3,
"LegalName": "Dr. Sulaiman Al Habib Hospital SZR - LLC ",
"LegalNameN": "مستشفى الدكتور سليمان الحبيب طريق الشيخ زايد",
"Name": "SZR Medical Center",
"NameN": null,
"PhoneNumber": "+97144297777",
"SetupID": "505005",
"DistanceInKilometers": 0,
"IsActive": true,
"Latitude": "25.154501",
"Longitude": "55.226000",
"MainProjectID": 3,
"ProjectOutSA": true,
"UsingInDoctorApp": true
},
{
"Desciption": "Home Health Care (HHC)",
"DesciptionN": null,
"ID": 95,
"LegalName": "",
"LegalNameN": "",
"Name": "Home Health Care (HHC)",
"NameN": null,
"PhoneNumber": "+966114622224",
"SetupID": "91877 ",
"DistanceInKilometers": 0,
"IsActive": false,
"Latitude": "24.704242",
"Longitude": "46.675823",
"MainProjectID": 12,
"ProjectOutSA": false,
"UsingInDoctorApp": true
},
{
"Desciption": "Olaya Hospital",
"DesciptionN": null,
"ID": 12,
"LegalName": "from Sehat Al Olaya Medical Complex Company",
"LegalNameN": "شركة مجمع صحة العليا الطبي ",
"Name": "Olaya Hospital",
"NameN": null,
"PhoneNumber": "+966114622224",
"SetupID": "91877 ",
"DistanceInKilometers": 0,
"IsActive": true,
"Latitude": "24.704242",
"Longitude": "46.675823",
"MainProjectID": 12,
"ProjectOutSA": false,
"UsingInDoctorApp": true
},
{
"Desciption": "Ajaji Dental Clinic (AMS)",
"DesciptionN": null,
"ID": 99,
"LegalName":
"from Dr. Abdulaziz A. Al - Ajaji Dental Clinics Complex Company",
"LegalNameN":
"شركة مجمع عيادات الدكتور عبدالعزيز ابرهيم العجاجي لطب الاسنان",
"Name": "Ajaji Dental Clinic (AMS)",
"NameN": null,
"PhoneNumber": "+966115259999",
"SetupID": "010266",
"DistanceInKilometers": 0,
"IsActive": false,
"Latitude": "24.722136",
"Longitude": "46.774303",
"MainProjectID": 15,
"ProjectOutSA": false,
"UsingInDoctorApp": true
},
{
"Desciption": "Ajaji Dental Clinic (AMS)",
"DesciptionN": null,
"ID": 100,
"LegalName":
"from Dr. Abdulaziz A. Al - Ajaji Dental Clinics Complex Company",
"LegalNameN":
"شركة مجمع عيادات الدكتور عبدالعزيز ابرهيم العجاجي لطب الاسنان",
"Name": "Ajaji Dental Clinic (AMS) Malaz",
"NameN": null,
"PhoneNumber": "+966115259999",
"SetupID": "010266",
"DistanceInKilometers": 0,
"IsActive": false,
"Latitude": "24.722136",
"Longitude": "46.774303",
"MainProjectID": 15,
"ProjectOutSA": false,
"UsingInDoctorApp": true
},
{
"Desciption": "Arryan Hospital",
"DesciptionN": null,
"ID": 15,
"LegalName": "Al Rayan Hospital for Healthcare Company ",
"LegalNameN": "شركة مستشفى الريان للرعاية الطبية",
"Name": "Arryan Hospital",
"NameN": null,
"PhoneNumber": "+966114909999",
"SetupID": "010266",
"DistanceInKilometers": 0,
"IsActive": true,
"Latitude": "24.722136",
"Longitude": "46.774303",
"MainProjectID": 15,
"ProjectOutSA": false,
"UsingInDoctorApp": true
},
{
"Desciption": "MD Lab",
"DesciptionN": null,
"ID": 150,
"LegalName": "",
"LegalNameN": "",
"Name": "MD Lab",
"NameN": null,
"PhoneNumber": "+966114774700",
"SetupID": "010266",
"DistanceInKilometers": 0,
"IsActive": false,
"Latitude": "24.722136",
"Longitude": "46.774303",
"MainProjectID": 15,
"ProjectOutSA": false,
"UsingInDoctorApp": true
},
{
"Desciption": "Takhassusi Hospital",
"DesciptionN": null,
"ID": 16,
"LegalName": "Western Specialist Hospital for Medical Care",
"LegalNameN": "شركة مستشفى الغرب التخصصي للرعاية الطبية ",
"Name": "Takhassusi Hospital",
"NameN": null,
"PhoneNumber": "+966112833333",
"SetupID": "102000",
"DistanceInKilometers": 0,
"IsActive": true,
"Latitude": "24.719364",
"Longitude": "46.657567",
"MainProjectID": 16,
"ProjectOutSA": false,
"UsingInDoctorApp": true
},
{
"Desciption": "Suwaidi Hospital",
"DesciptionN": null,
"ID": 17,
"LegalName": "Sehat Al Suwaidi Medical Company",
"LegalNameN": "شركة صحة السويدي الطبية",
"Name": "Suwaidi Hospital",
"NameN": null,
"PhoneNumber": "+966114754444",
"SetupID": "010266",
"DistanceInKilometers": 0,
"IsActive": true,
"Latitude": "24.567525",
"Longitude": " 46.641019",
"MainProjectID": 17,
"ProjectOutSA": false,
"UsingInDoctorApp": true
},
{
"Desciption": "Al Qassim Hospital\r\n",
"DesciptionN": null,
"ID": 21,
"LegalName": "Buraidah Al Takhassusi Hospital for Healthcare Company",
"LegalNameN": "شركة مستشفى بريدة التخصصي للرعاية الطبية ",
"Name": "Al Qassim Hospital",
"NameN": null,
"PhoneNumber": "+966163166666",
"SetupID": "051431",
"DistanceInKilometers": 0,
"IsActive": true,
"Latitude": "26.360724",
"Longitude": "43.945774",
"MainProjectID": 21,
"ProjectOutSA": false,
"UsingInDoctorApp": true
},
{
"Desciption": "Khobar Hospital",
"DesciptionN": null,
"ID": 60,
"LegalName": "Khobar Hospital",
"LegalNameN": "مستشفى الخبر",
"Name": "Khobar Hospital",
"NameN": null,
"PhoneNumber": "+966138711111",
"SetupID": "034423",
"DistanceInKilometers": 0,
"IsActive": true,
"Latitude": "26.3107804",
"Longitude": "50.2108347",
"MainProjectID": 60,
"ProjectOutSA": false,
"UsingInDoctorApp": true
}
];

@ -1,26 +1,17 @@
const PATIENT_TYPE = const [
{"text": "outPatiant", "val": "0"},
{"text": "InPatiant", "val": "1"},
{"text": "Discharge", "val": "2"},
{"text": "Referrd", "val": "3"},
{"text": "Referral Discharge", "val": "4"},
{"text": "Tomorrow Patient", "val": "5"},
{"text": "Referral", "val": "6"},
];
const PATIENT_TYPE = const [
{"text": "outPatiant", "val": "0"},
{"text": "InPatiant", "val": "1"},
{"text": "Discharge", "val": "2"},
{"text": "Referrd", "val": "3"},
{"text": "Referral Discharge", "val": "4"},
{"text": "Tomorrow Patient", "val": "5"},
{"text": "Referral", "val": "6"},
];
const LOCATIONS = const[
{"text": "In Sudia Arabia", "val": "1"},
{"text": "Out Sudia Arabia", "val": "2"},
];
const LOCATIONS = const [
{"text": "In Sudia Arabia", "val": "1"},
{"text": "Out Sudia Arabia", "val": "2"},
];
enum vitalSignDetails {
bodyMeasurements,
@ -30,4 +21,4 @@ enum vitalSignDetails {
bloodPressure,
oxygenation,
painScale
}
}

@ -4,6 +4,7 @@ import 'package:doctor_app_flutter/providers/medicine_provider.dart';
import 'package:doctor_app_flutter/providers/hospital_provider.dart';
import 'package:doctor_app_flutter/providers/referral_patient_provider.dart';
import 'package:doctor_app_flutter/providers/referred_patient_provider.dart';
import 'package:doctor_app_flutter/screens/QR_reader_screen.dart';
import 'package:doctor_app_flutter/screens/medicine/medicine_search_screen.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
@ -26,7 +27,7 @@ class DashboardScreen extends StatefulWidget {
DashboardScreen({Key key, this.title}) : super(key: key);
final String title;
final String iconURL = 'assets/images/dashboard_icon/';
@override
_DashboardScreenState createState() => _DashboardScreenState();
}
@ -42,21 +43,37 @@ class _DashboardScreenState extends State<DashboardScreen> {
child: Scaffold(
body: SingleChildScrollView(
child: SizedBox(
height: MediaQuery.of(context).size.height*1.09,
// height: MediaQuery.of(context).size.height * 0.2,
// width: SizeConfig.screenWidth * 0.9,
height: MediaQuery.of(context).size.height * 1.09,
child: Column(
children: <Widget>[
Expanded(
flex: 1,
child: Container(
margin: EdgeInsets.all(10),
child: AppText(
TranslationBase.of(context).todayStatistics,
fontWeight: FontWeight.bold,
),
alignment: Alignment.centerLeft,
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
mainAxisSize: MainAxisSize.max,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Container(
margin: EdgeInsets.only(left: 10, top: 10),
child: AppText(
TranslationBase.of(context).familyMedicine,
fontWeight: FontWeight.bold,
fontSize: SizeConfig.textMultiplier * 2.5,
),
alignment: Alignment.centerLeft,
),
Container(
margin: EdgeInsets.only(left: 10, top: 10, right: 10),
child: Icon(
Icons.settings,
size: SizeConfig.textMultiplier * 2.5,
))
]),
Container(
margin: EdgeInsets.only(left: 10, top: 5),
child: AppText(
TranslationBase.of(context).todayStatistics,
fontWeight: FontWeight.bold,
),
alignment: Alignment.centerLeft,
),
Expanded(
flex: 3,
@ -67,7 +84,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
flex: 2,
child: RoundedContainer(
child: CircularPercentIndicator(
radius: 115.0,
radius: 100,
animation: true,
animationDuration: 1200,
lineWidth: 7.0,
@ -80,7 +97,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
fontSize: SizeConfig.textMultiplier * 4),
AppText(TranslationBase.of(context).outPatients,
fontWeight: FontWeight.normal,
fontSize: SizeConfig.textMultiplier * 1.2,
fontSize: SizeConfig.textMultiplier * 1.1,
color: Colors.grey[800]),
],
),
@ -101,16 +118,17 @@ class _DashboardScreenState extends State<DashboardScreen> {
flex: 1,
child: Column(
crossAxisAlignment:
CrossAxisAlignment.stretch,
CrossAxisAlignment.stretch,
children: <Widget>[
Expanded(
child: DashboardItemTexts(
TranslationBase.of(context).arrived,
TranslationBase.of(context).arrived,
"23",
)),
Expanded(
child: DashboardItemTexts(
TranslationBase.of(context).notArrived,
TranslationBase.of(context)
.notArrived,
"23",
),
),
@ -119,18 +137,17 @@ class _DashboardScreenState extends State<DashboardScreen> {
),
Expanded(
child: Column(
crossAxisAlignment:
crossAxisAlignment:
CrossAxisAlignment.stretch,
children: <Widget>[
Expanded(
child: DashboardItemTexts(
TranslationBase.of(context).er,
TranslationBase.of(context).er,
"23",
)),
Expanded(
child: DashboardItemTexts(
TranslationBase.of(context).walkIn,
TranslationBase.of(context).walkIn,
"23",
)),
],
@ -149,7 +166,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
Expanded(
flex: 2,
child: new DashboardItemIconText(
DoctorApp.home_icon,
widget.iconURL + 'lab_results.svg',
"08",
TranslationBase.of(context).labResult,
backgroundColor: Colors.black45,
@ -161,7 +178,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
Expanded(
flex: 2,
child: new DashboardItemIconText(
DoctorApp.home_icon,
widget.iconURL + 'radiology.svg',
"10",
TranslationBase.of(context).radiology,
backgroundColor: Colors.black45,
@ -172,7 +189,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
Expanded(
flex: 2,
child: new DashboardItemIconText(
DoctorApp.home_icon,
widget.iconURL + 'referral.svg',
"05",
TranslationBase.of(context).referral,
backgroundColor: Colors.black45,
@ -191,17 +208,17 @@ class _DashboardScreenState extends State<DashboardScreen> {
Expanded(
flex: 2,
child: new DashboardItemIconText(
DoctorApp.home_icon,
"23",
TranslationBase.of(context).inPatient,
showBorder: true,
backgroundColor: Colors.red[900],
),
widget.iconURL + 'in_patient_white.svg',
"23",
"In-Patient",
showBorder: true,
backgroundColor: Colors.red[900],
iconColor: Colors.white),
),
Expanded(
flex: 2,
child: new DashboardItemIconText(
DoctorApp.home_icon,
widget.iconURL + 'operations.svg',
"23",
TranslationBase.of(context).operations,
showBorder: true,
@ -224,13 +241,12 @@ class _DashboardScreenState extends State<DashboardScreen> {
Expanded(
flex: 2,
child: Row(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
Expanded(
flex: 2,
child: InkWell(
child: DashboardItemIconText(
DoctorApp.home_icon,
widget.iconURL + 'search_patient.svg',
"",
TranslationBase.of(context).searchPatient,
showBorder: true,
@ -238,7 +254,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
valueFontColor: Colors.black,
titleFontColor: Colors.black,
iconColor: Colors.black,
titleFontSize: 14,
titleFontSize: SizeConfig.textMultiplier * 2,
),
onTap: () {
Navigator.of(context).pushNamed(PATIENT_SEARCH);
@ -260,7 +276,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
);
},
child: DashboardItemIconText(
DoctorApp.home_icon,
widget.iconURL + 'message_icon.svg',
"",
TranslationBase.of(context).doctorReply,
showBorder: true,
@ -268,7 +284,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
valueFontColor: Colors.black,
titleFontColor: Colors.black,
iconColor: Colors.black,
titleFontSize: 14,
titleFontSize: SizeConfig.textMultiplier * 2,
),
),
),
@ -284,7 +300,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
flex: 1,
child: InkWell(
child: DashboardItemIconText(
DoctorApp.home_icon,
widget.iconURL + 'search_patient.svg',
"",
"Search Medicine",
showBorder: true,
@ -292,7 +308,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
valueFontColor: Colors.black,
titleFontColor: Colors.black,
iconColor: Colors.black,
titleFontSize: 14,
titleFontSize: SizeConfig.textMultiplier * 2,
),
onTap: () {
Navigator.push(
@ -322,7 +338,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
);
},
child: DashboardItemIconText(
DoctorApp.home_icon,
widget.iconURL + 'referral.svg',
"",
"My Referral Patient",
showBorder: true,
@ -330,7 +346,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
valueFontColor: Colors.black,
titleFontColor: Colors.black,
iconColor: Colors.black,
titleFontSize: 14,
titleFontSize: SizeConfig.textMultiplier * 2,
),
),
),
@ -357,7 +373,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
);
},
child: DashboardItemIconText(
DoctorApp.home_icon,
widget.iconURL + 'referral.svg',
"",
"My Referred Patient",
showBorder: true,
@ -365,11 +381,29 @@ class _DashboardScreenState extends State<DashboardScreen> {
valueFontColor: Colors.black,
titleFontColor: Colors.black,
iconColor: Colors.black,
titleFontSize: 14,
titleFontSize: SizeConfig.textMultiplier * 2,
),
),
),
Expanded(
flex: 1,
child: InkWell(
onTap: () {
Navigator.of(context).pushNamed(QR_READER);
},
child: DashboardItemIconText(
widget.iconURL + 'qr-code.svg',
"",
"QR Reader",
showBorder: true,
backgroundColor: Colors.white,
valueFontColor: Colors.black,
titleFontColor: Colors.black,
iconColor: Colors.black,
titleFontSize: SizeConfig.textMultiplier * 2,
),
),
),
Expanded(flex: 1, child: Container())
],
)),
],

@ -45,7 +45,6 @@ class _MedicineSearchState extends State<MedicineSearchScreen> {
@override
Widget build(BuildContext context) {
return AppScaffold(
appBarTitle: "Search Medicine",
body: Column(
@ -64,10 +63,11 @@ class _MedicineSearchState extends State<MedicineSearchScreen> {
),
Container(
margin: EdgeInsets.only(bottom: 5,
left: 10,
right: 10,
top: 0),
margin: EdgeInsets.only(
bottom: SizeConfig.heightMultiplier * 1,
right: SizeConfig.heightMultiplier * 2,
left: SizeConfig.heightMultiplier * 2,
top: SizeConfig.heightMultiplier * 1),
child: Wrap(
alignment: WrapAlignment.center,
children: <Widget>[
@ -87,15 +87,18 @@ class _MedicineSearchState extends State<MedicineSearchScreen> {
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
AppText(
"You find " + (data == null ? "0": data.length.toString())+" items in search",
"You find " +
(data == null ? "0" : data.length.toString()) +
" items in search",
fontWeight: FontWeight.bold,
margin: 5,),
margin: 5,
),
],
),
),
Expanded(
child: Container(
width: SizeConfig.screenWidth * 0.97,
width: SizeConfig.screenWidth * 0.90,
child: !_medicineProvider.isFinished
? DrAppCircularProgressIndeicator()
: _medicineProvider.hasError
@ -105,32 +108,33 @@ class _MedicineSearchState extends State<MedicineSearchScreen> {
style: TextStyle(
color: Theme.of(context).errorColor),
),
):ListView.builder(
scrollDirection: Axis.vertical,
shrinkWrap: true,
itemCount: data == null ? 0 : data.length,
itemBuilder: (BuildContext context, int index) {
return InkWell(
child: MedicineItemWidget(
label: data[index]["ItemDescription"],
url: data[index]["ProductImageBase64"],
),
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => ChangeNotifierProvider(
create: (_) => MedicineProvider(),
child: PharmaciesListScreen(
itemID: data[index]["ItemID"], url: data[index]["ProductImageBase64"]),
),
)
: ListView.builder(
scrollDirection: Axis.vertical,
shrinkWrap: true,
itemCount: data == null ? 0 : data.length,
itemBuilder: (BuildContext context, int index) {
return InkWell(
child: MedicineItemWidget(
label: data[index]["ItemDescription"],
url: data[index]["ProductImageBase64"],
),
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) =>
ChangeNotifierProvider(
create: (_) => MedicineProvider(),
child: PharmaciesListScreen(
itemID: data[index]["ItemID"], url: data[index]["ProductImageBase64"]),
),
),
);
},
);
},
),
);
},
);
},
),
),
),
],

@ -134,11 +134,21 @@ class _PatientSearchScreenState extends State<PatientSearchScreen> {
SizedBox(
height: 5,
),
RoundedContainer(
margin: 0,
showBorder: true,
raduis: 30,
borderColor: Color(0xff707070),
Container(
decoration: ShapeDecoration(
shape: RoundedRectangleBorder(
side: BorderSide(
width: 1.0,
style: BorderStyle.solid,
color: Color(0xff707070)),
borderRadius:
BorderRadius.all(Radius.circular(5.0)),
),
),
// margin: 0,
// showBorder: true,
// raduis: 30,
// borderColor: Color(0xff707070),
width: double.infinity,
child: Padding(
padding: EdgeInsets.only(
@ -313,11 +323,21 @@ class _PatientSearchScreenState extends State<PatientSearchScreen> {
SizedBox(
height: 10,
),
RoundedContainer(
margin: 0,
showBorder: true,
raduis: 30,
borderColor: Color(0xff707070),
Container(
// margin: 0,
// showBorder: true,
// raduis: 30,
// borderColor: Color(0xff707070),
decoration: ShapeDecoration(
shape: RoundedRectangleBorder(
side: BorderSide(
width: 1.0,
style: BorderStyle.solid,
color: Color(0xff707070)),
borderRadius:
BorderRadius.all(Radius.circular(5.0)),
),
),
width: double.infinity,
child: Padding(
padding: EdgeInsets.only(

@ -315,7 +315,7 @@ class _PatientsScreenState extends State<PatientsScreen> {
child: Center(
child: Padding(
padding: const EdgeInsets.fromLTRB(
0, 0, 0, 0),//250
0, 0, 0, 0), //250
child:
DrAppCircularProgressIndeicator(),
)),
@ -374,7 +374,7 @@ class _PatientsScreenState extends State<PatientsScreen> {
widget: Column(
children: <Widget>[
Container(
// decoration: myBoxDecoration(),
// decoration: myBoxDecoration(),
child: Row(
children: <Widget>[
Column(
@ -386,36 +386,28 @@ class _PatientsScreenState extends State<PatientsScreen> {
"Male"
? [
SvgPicture.asset(
url +
avatarMale,
height:
80.0,
width:
80.0,
semanticsLabel:
'Male Logo')
url + avatarMale,
height: 80.0,
width: 80.0,
semanticsLabel: 'Male Logo')
]
: [
SvgPicture.asset(
url +
avatarFemale,
height:
80.0,
width:
80.0,
semanticsLabel:
'Female Logo')
url + avatarFemale,
height: 80.0,
width: 80.0,
semanticsLabel: 'Female Logo')
],
),
SizedBox(
width: 10,
),
width: 10,
),
Column(
crossAxisAlignment:
CrossAxisAlignment
.start,
children: <Widget>[
children: <
Widget>[
AppText(
item.firstName +
" " +
@ -427,7 +419,8 @@ class _PatientsScreenState extends State<PatientsScreen> {
FontWeight
.bold,
backGroundcolor:
Colors.white,
Colors
.white,
),
SizedBox(
height: 8,
@ -443,7 +436,8 @@ class _PatientsScreenState extends State<PatientsScreen> {
FontWeight
.bold,
backGroundcolor:
Colors.white,
Colors
.white,
),
// SizedBox(
@ -460,19 +454,18 @@ class _PatientsScreenState extends State<PatientsScreen> {
FontWeight
.bold,
backGroundcolor:
Colors.white,
Colors
.white,
),
SizedBox(
height: 8,
),
SERVICES_PATIANT2[int
.parse(
patientType)] ==
SERVICES_PATIANT2[
int.parse(patientType)] ==
"List_MyOutPatient"
? Row(
mainAxisAlignment:
MainAxisAlignment
.spaceBetween,
MainAxisAlignment.spaceBetween,
children: <
Widget>[
Container(
@ -482,22 +475,16 @@ class _PatientsScreenState extends State<PatientsScreen> {
80,
decoration:
BoxDecoration(
borderRadius:
BorderRadius.circular(50),
color:
Hexcolor("#20A169"),
borderRadius: BorderRadius.circular(50),
color: Hexcolor("#20A169"),
),
child:
AppText(
item.startTime,
color:
Colors.white,
fontSize:
2 * SizeConfig.textMultiplier,
textAlign:
TextAlign.center,
fontWeight:
FontWeight.bold,
color: Colors.white,
fontSize: 2 * SizeConfig.textMultiplier,
textAlign: TextAlign.center,
fontWeight: FontWeight.bold,
),
),
SizedBox(
@ -507,50 +494,44 @@ class _PatientsScreenState extends State<PatientsScreen> {
Container(
child:
AppText(
convertDateFormat2(item
.appointmentDate
.toString()),
fontSize:
2.0 * SizeConfig.textMultiplier,
fontWeight:
FontWeight.bold,
convertDateFormat2(item.appointmentDate.toString()),
fontSize: 2.0 * SizeConfig.textMultiplier,
fontWeight: FontWeight.bold,
),
)
],
)
: AppText(
item.nationalityName,
fontSize: 2.5 *
SizeConfig
.textMultiplier,
fontSize:
2.5 *
SizeConfig.textMultiplier,
),
],
),
// Divider(color: Colors.grey)
// Divider(color: Colors.grey)
],
),
),
// Divider(color: Colors.grey)
// Divider(color: Colors.grey)
],
),
),
onTap: () {
Navigator.of(context).pushNamed(
PATIENTS_PROFILE,
arguments: {
Navigator.of(context)
.pushNamed(
PATIENTS_PROFILE,
arguments: {
"patient": item
});
},
),
);
}).toList(),
}).toList(),
),
),
],
),
)
],
),
@ -587,8 +568,7 @@ class _PatientsScreenState extends State<PatientsScreen> {
crossAxisAlignment: CrossAxisAlignment.center,
children: _locations.map((item) {
bool _isActive = _locations[_activeLocation] == item ? true : false;
return Column(mainAxisSize: MainAxisSize.min,
children: <Widget>[
return Column(mainAxisSize: MainAxisSize.min, children: <Widget>[
InkWell(
child: Center(
child: Container(
@ -601,18 +581,17 @@ class _PatientsScreenState extends State<PatientsScreen> {
child: Center(
child: Text(
item,
style: TextStyle(
fontSize: 12,
color: _isActive
? Colors.white
: Colors.black, //Colors.black,
// backgroundColor:_isActive
// ? Hexcolor("#B8382B")
// : Colors.white,//sideColor,
fontWeight: FontWeight.bold,
),
fontSize: 12,
color: _isActive
? Colors.white
: Colors.black, //Colors.black,
// backgroundColor:_isActive
// ? Hexcolor("#B8382B")
// : Colors.white,//sideColor,
fontWeight: FontWeight.bold,
),
),
)),
),
@ -623,7 +602,6 @@ class _PatientsScreenState extends State<PatientsScreen> {
setState(() {
_activeLocation = _locations.indexOf(item);
});
}),
_isActive
@ -643,17 +621,14 @@ class _PatientsScreenState extends State<PatientsScreen> {
}
myBoxDecoration() {
return BoxDecoration(
border: Border(
bottom: BorderSide( // <--- top side
bottom: BorderSide(
// <--- top side
color: Colors.grey,
width: 1.0,
),
),
);
}
}

@ -13,9 +13,8 @@ class TranslationBase {
return Localizations.of<TranslationBase>(context, TranslationBase);
}
String get dashboardScreenToolbarTitle => localizedValues['dashboardScreenToolbarTitle'][locale.languageCode];
String get dashboardScreenToolbarTitle =>
localizedValues['dashboardScreenToolbarTitle'][locale.languageCode];
String get settings => localizedValues['settings'][locale.languageCode];
@ -33,25 +32,35 @@ class TranslationBase {
String get mobileNo => localizedValues['mobileNo'][locale.languageCode];
String get messagesScreenToolbarTitle => localizedValues['messagesScreenToolbarTitle'][locale.languageCode];
String get messagesScreenToolbarTitle =>
localizedValues['messagesScreenToolbarTitle'][locale.languageCode];
String get mySchedule => localizedValues['mySchedule'][locale.languageCode];
String get errorNoSchedule => localizedValues['errorNoSchedule'][locale.languageCode];
String get errorNoSchedule =>
localizedValues['errorNoSchedule'][locale.languageCode];
String get verify => localizedValues['verify'][locale.languageCode];
String get referralDoctor => localizedValues['referralDoctor'][locale.languageCode];
String get referringClinic => localizedValues['referringClinic'][locale.languageCode];
String get referralDoctor =>
localizedValues['referralDoctor'][locale.languageCode];
String get referringClinic =>
localizedValues['referringClinic'][locale.languageCode];
String get frequency => localizedValues['frequency'][locale.languageCode];
String get priority => localizedValues['priority'][locale.languageCode];
String get maxResponseTime => localizedValues['maxResponseTime'][locale.languageCode];
String get clinicDetailsandRemarks=> localizedValues['clinicDetailsandRemarks'][locale.languageCode];
String get answerSuggestions => localizedValues['answerSuggestions'][locale.languageCode];
String get maxResponseTime =>
localizedValues['maxResponseTime'][locale.languageCode];
String get clinicDetailsandRemarks =>
localizedValues['clinicDetailsandRemarks'][locale.languageCode];
String get answerSuggestions =>
localizedValues['answerSuggestions'][locale.languageCode];
String get outPatients => localizedValues['outPatients'][locale.languageCode];
String get searchPatient => localizedValues['searchPatient'][locale.languageCode];
String get searchPatient =>
localizedValues['searchPatient'][locale.languageCode];
String get labResult => localizedValues['labResult'][locale.languageCode];
String get todayStatistics => localizedValues['todayStatistics'][locale.languageCode];
String get todayStatistics =>
localizedValues['todayStatistics'][locale.languageCode];
String get familyMedicine =>
localizedValues['familyMedicine'][locale.languageCode];
String get arrived => localizedValues['arrived'][locale.languageCode];
String get er => localizedValues['er'][locale.languageCode];
String get walkIn => localizedValues['walkIn'][locale.languageCode];
@ -60,8 +69,8 @@ class TranslationBase {
String get referral => localizedValues['referral'][locale.languageCode];
String get inPatient => localizedValues['inPatient'][locale.languageCode];
String get operations => localizedValues['inPatient'][locale.languageCode];
String get patientServices => localizedValues['patientServices'][locale.languageCode];
String get patientServices =>
localizedValues['patientServices'][locale.languageCode];
}
class TranslationBaseDelegate extends LocalizationsDelegate<TranslationBase> {

@ -1,11 +1,14 @@
import 'dart:ffi';
import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:flutter_svg/svg.dart';
import '../shared/rounded_container_widget.dart';
import 'package:flutter/material.dart';
import '../shared/app_texts_widget.dart';
class DashboardItemIconText extends StatefulWidget {
final IconData icon;
final String icon;
final String value;
final String label;
final Color backgroundColor;
@ -43,16 +46,16 @@ class _DashboardItemTextsState extends State<DashboardItemIconText> {
Align(
alignment: FractionalOffset.topLeft,
child: Container(
margin: EdgeInsets.all(10),
child: Icon(
widget.icon,
color: widget.iconColor,
),
)),
padding: EdgeInsets.all(10),
child: SvgPicture.asset(
widget.icon,
color: widget.iconColor,
width: SizeConfig.widthMultiplier * 7,
))),
Align(
alignment: FractionalOffset.bottomRight,
child: Container(
margin: EdgeInsets.all(10),
padding: EdgeInsets.all(10),
child: Column(
mainAxisAlignment: MainAxisAlignment.end,
crossAxisAlignment: CrossAxisAlignment.end,

@ -6,7 +6,7 @@ class HomeItem extends StatelessWidget {
final String image;
final String link;
HomeItem(this.id, this.title, this.image,this.link);
HomeItem(this.id, this.title, this.image, this.link);
@override
Widget build(BuildContext context) {
return InkWell(
@ -22,21 +22,21 @@ class HomeItem extends StatelessWidget {
child: Column(
children: <Widget>[
Container(
// decoration: BoxDecoration(color:Colors.red),
width: 10000,
height: 60,
// decoration: BoxDecoration(color:Colors.red),
width: 10000,
height: 60,
child: CircleAvatar(
backgroundColor: Colors.white,
child: Container(
child: Image.asset(
image,
// width 50,
scale: 0.6,
color: Theme.of(context).primaryColor,
fit: BoxFit.cover,
),
),
)),
backgroundColor: Colors.white,
child: Container(
child: Image.asset(
image,
// width 50,
scale: 0.6,
color: Theme.of(context).primaryColor,
fit: BoxFit.cover,
),
),
)),
Text(
title,
style: TextStyle(fontSize: 16),

@ -14,58 +14,73 @@ import 'package:flutter/material.dart';
*/
class MedicineItemWidget extends StatefulWidget {
final String label;
final Color backgroundColor;
final bool showBorder;
final Color borderColor;
final String url;
final String label;
final Color backgroundColor;
final bool showBorder;
final Color borderColor;
final String url;
MedicineItemWidget({ @required this.label, this.backgroundColor = Colors.white, this.showBorder = false, this.borderColor = Colors.white, this.url});
MedicineItemWidget(
{@required this.label,
this.backgroundColor = Colors.white,
this.showBorder = false,
this.borderColor = Colors.white,
this.url});
@override
_MedicineItemWidgetState createState() => _MedicineItemWidgetState();
}
class _MedicineItemWidgetState extends State<MedicineItemWidget> {
@override
@override
Widget build(BuildContext context) {
return new RoundedContainer(
height: SizeConfig.heightMultiplier * 8,
child:Padding(
child: Padding(
padding: const EdgeInsets.all(5.0),
child: Row(
crossAxisAlignment: CrossAxisAlignment.stretch,
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
if(widget.url != null) Container(
height: 39,
width: 39,
child: ClipRRect(
borderRadius:BorderRadius.all(Radius.circular(7)),
child: Image.memory(
dataFromBase64String(widget.url),
height: SizeConfig.imageSizeMultiplier * 15,
width: SizeConfig.imageSizeMultiplier * 15,
fit: BoxFit.cover,
),
),
if (widget.url != null)
Container(
height: 39,
width: 39,
child: ClipRRect(
borderRadius: BorderRadius.all(Radius.circular(7)),
child: Image.memory(
dataFromBase64String(widget.url),
height: SizeConfig.imageSizeMultiplier * 15,
width: SizeConfig.imageSizeMultiplier * 15,
fit: BoxFit.cover,
),
),
),
Expanded(
child: Padding(
padding: EdgeInsets.all(5),
child: Align(
alignment: Alignment.centerLeft,
child: AppText(widget.label))))
],
),
Expanded(child: Padding( padding: EdgeInsets.all(5), child: Align( alignment: Alignment.centerLeft, child: AppText(widget.label))))
],),
),
backgroundColor: widget.backgroundColor, showBorder: widget.showBorder, borderColor: widget.borderColor, margin: 4, raduis: 10,);
backgroundColor: widget.backgroundColor,
showBorder: widget.showBorder,
borderColor: widget.borderColor,
margin: 4,
raduis: 10,
);
}
Image imageFromBase64String(String base64String) {
return Image.memory(base64Decode(base64String));
}
return Image.memory(base64Decode(base64String));
}
Uint8List dataFromBase64String(String base64String) {
return base64Decode(base64String);
}
Uint8List dataFromBase64String(String base64String) {
return base64Decode(base64String);
}
String base64String(Uint8List data) {
return base64Encode(data);
String base64String(Uint8List data) {
return base64Encode(data);
}
}
}

@ -32,46 +32,61 @@ class PatientProfileWidget extends StatelessWidget {
// ProfileStatusInfoWidget()
// ]);
return Container(
child: Column(children: <Widget>[
Expanded(
flex: 1,
child:
Row(mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[
Column(children: <Widget>[
Container(
padding: EdgeInsets.only(top: 20),
child: ProfileImageWidget(
url:
"https://hmgwebservices.com/Images/MobileImages/DUBAI/unkown_female.png",
name: patient.firstName + ' ' + patient.lastName,
fontsize: 24.0,
color: Colors.black,
),
return CustomScrollView(primary: false, slivers: <Widget>[
SliverList(
delegate: SliverChildListDelegate(
[
Expanded(
flex: 1,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Column(children: <Widget>[
Container(
padding: EdgeInsets.only(top: 20),
child: ProfileImageWidget(
url:
"https://hmgwebservices.com/Images/MobileImages/DUBAI/unkown_female.png",
name: patient.firstName + ' ' + patient.lastName,
fontsize: 24.0,
color: Colors.black,
),
),
Container(
child: Column(
children: <Widget>[
AppText(
'File No: ' + patient.patientId.toString(),
fontWeight: FontWeight.normal,
fontSize: 16,
),
AppText(
patient.genderDescription.toString() +
', ' +
patient.age,
fontWeight: FontWeight.normal,
fontSize: 16,
)
],
),
)
]),
]),
),
Container(
child: Column(
children: <Widget>[
AppText(
'File No: ' + patient.patientId.toString(),
fontWeight: FontWeight.normal,
fontSize: 16,
),
AppText(
patient.genderDescription.toString() + ', ' + patient.age,
fontWeight: FontWeight.normal,
fontSize: 16,
)
],
),
)
]),
]),
],
),
),
Expanded(
flex: 2,
child: ProfileMedicalInfoWidget(patient: patient),
)
]));
SliverPadding(
padding: const EdgeInsets.fromLTRB(20, 30, 15, 10),
sliver: ProfileMedicalInfoWidget())
]);
// Container(
// child: Column(children: <Widget>[
// Expanded(
// flex: 2,
// child: ,
// )
// ]));
}
}

@ -23,65 +23,69 @@ class ProfileMedicalInfoWidget extends StatelessWidget {
Widget build(BuildContext context) {
// final double contWidth = SizeConfig.realScreenWidth * 0.70;
// final double contHeight = SizeConfig.screenHeight * 0.30;
return CustomScrollView(primary: false, slivers: <Widget>[
SliverPadding(
padding: const EdgeInsets.fromLTRB(20, 30, 15, 10),
sliver: SliverGrid.count(
crossAxisSpacing: 10,
mainAxisSpacing: 20,
crossAxisCount: 2,
childAspectRatio: 1.5,
children: [
PatientProfileButton(
key: key,
patient: patient,
name: 'Vital Sign',
route: VITAL_SIGN_DETAILS,
icon: 'heartbeat.png'),
PatientProfileButton(
key: key,
patient: patient,
route: LAB_ORDERS,
name: 'Lab Order',
icon: 'lab.png'),
PatientProfileButton(
key: key,
patient: patient,
route: PRESCRIPTIONS,
name: 'Prescription',
icon: 'note.png'),
PatientProfileButton(
key: key,
patient: patient,
route: RADIOLOGY,
name: 'Radiology',
icon: 'radiology-1.png'),
PatientProfileButton(
key: key,
patient: patient,
route: PROGRESS_NOTE,
name: 'Progress Notes',
icon: 'heartbeat.png'),
PatientProfileButton(
key: key,
patient: patient,
route: PATIENT_INSURANCE_APPROVALS,
name: 'Insurance Aprovals',
icon: 'lab.png'),
PatientProfileButton(
key: key,
patient: patient,
route: REFER_PATIENT,
name: 'Refer Patient',
icon: 'note.png'),
PatientProfileButton(
key: key,
patient: patient,
route: PATIENT_ORDERS,
name: 'Orders',
icon: 'radiology-1.png'),
]))
]);
return SliverGrid.count(
crossAxisSpacing: 10,
mainAxisSpacing: 20,
crossAxisCount: 2,
childAspectRatio: 1.5,
children: [
PatientProfileButton(
key: key,
patient: patient,
name: 'Vital Sign',
route: VITAL_SIGN_DETAILS,
icon: 'heartbeat.png'),
PatientProfileButton(
key: key,
patient: patient,
route: LAB_ORDERS,
name: 'Lab Order',
icon: 'lab.png'),
PatientProfileButton(
key: key,
patient: patient,
route: PRESCRIPTIONS,
name: 'Prescription',
icon: 'note.png'),
PatientProfileButton(
key: key,
patient: patient,
route: RADIOLOGY,
name: 'Radiology',
icon: 'radiology-1.png'),
Visibility(
visible: selectedPatientType != 0 && selectedPatientType != 5,
child: PatientProfileButton(
key: key,
patient: patient,
route: PROGRESS_NOTE,
name: 'Progress Notes',
icon: 'heartbeat.png')),
PatientProfileButton(
key: key,
patient: patient,
route: PATIENT_INSURANCE_APPROVALS,
name: 'Insurance Aprovals',
icon: 'lab.png'),
Visibility(
visible: selectedPatientType != 0 &&
selectedPatientType != 5 &&
selectedPatientType != 2,
child: PatientProfileButton(
key: key,
patient: patient,
route: REFER_PATIENT,
name: 'Refer Patient',
icon: 'note.png')),
Visibility(
visible: selectedPatientType != 0 && selectedPatientType != 5,
child: PatientProfileButton(
key: key,
patient: patient,
route: PATIENT_ORDERS,
name: 'Orders',
icon: 'radiology-1.png')),
]);
// child: ListView(
// children: <Widget>[
// Padding(
@ -289,21 +293,18 @@ class PatientProfileButton extends StatelessWidget {
child: Column(children: <Widget>[
Expanded(
flex: 1,
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Container(
padding: EdgeInsets.all(5),
child: new AppText(
this.name,
color: Colors.red,
fontWeight: FontWeight.w600,
textAlign: TextAlign.left,
fontSize: 16,
),
)
],
),
child: Expanded(
child: Container(
alignment: Alignment.topLeft,
padding: EdgeInsets.all(5),
child: new AppText(
this.name,
color: Colors.red,
fontWeight: FontWeight.w600,
textAlign: TextAlign.left,
fontSize: SizeConfig.textMultiplier * 2,
),
)),
),
Expanded(
flex: 1,

@ -33,8 +33,7 @@ class AppText extends StatefulWidget {
this.marginLeft = 0,
this.visibility = true,
this.textAlign,
this.backGroundcolor=Colors.white
});
this.backGroundcolor = Colors.white});
@override
_AppTextState createState() => _AppTextState();
@ -56,13 +55,15 @@ class _AppTextState extends State<AppText> {
child: Text(
widget.data,
textAlign: widget.textAlign,
overflow: TextOverflow.clip,
style: TextStyle(
color: widget.color,
fontWeight: widget.fontWeight,
fontSize: widget.fontSize ?? (SizeConfig.textMultiplier * 2),
fontFamily: widget.fontFamily,
// backgroundColor:widget.backGroundcolor
),
color: widget.color,
fontWeight: widget.fontWeight,
fontSize: widget.fontSize ?? (SizeConfig.textMultiplier * 2),
fontFamily: widget.fontFamily,
// backgroundColor:widget.backGroundcolor
),
),
),
);

@ -23,7 +23,7 @@ dependencies:
flutter_localizations:
sdk: flutter
flutter_device_type: ^0.2.0
intl: ^0.16.1
intl: ^0.16.0
http: ^0.12.0+4
provider: ^4.0.5+1
shared_preferences: ^0.5.6+3
@ -39,15 +39,12 @@ dependencies:
eva_icons_flutter: ^2.0.0
expandable: ^4.1.4
# Qr code Scanner
barcode_scan: ^3.0.1
# permissions
permission_handler: ^5.0.0+hotfix.3
device_info: ^0.4.2+4
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.2
@ -61,23 +58,20 @@ dev_dependencies:
build_runner: any
build_web_compilers: any
# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec
# The following section is specific to Flutter.
flutter:
# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
uses-material-design: true
# To add assets to your application, add an assets section, like this:
assets:
- assets/images/
- assets/images/
- assets/images/dashboard_icon/
# - images/a_dot_ham.jpeg
# An image asset can refer to one or more resolution-specific "variants", see
@ -97,14 +91,14 @@ flutter:
- asset: assets/fonts/Work_Sans/WorkSans-Regular.ttf
- asset: assets/fonts/Work_Sans/WorkSans-Bold.ttf
weight: 700
# - family: Trajan Pro
# fonts:
# - asset: fonts/TrajanPro.ttf
# - asset: fonts/TrajanPro_Bold.ttf
# weight: 700
- family: DoctorApp
# - family: Trajan Pro
# fonts:
# - asset: fonts/TrajanPro.ttf
# - asset: fonts/TrajanPro_Bold.ttf
# weight: 700
- family: DoctorApp
fonts:
- asset: fonts/DoctorApp.ttf
- asset: fonts/DoctorApp.ttf
#
# For details regarding fonts from package dependencies,
# see https://flutter.dev/custom-fonts/#from-packages

@ -0,0 +1,8 @@
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAACmFlczI1Ni1jdHIAAAAGYmNyeXB0AAAAGAAAABDdAHzw+C
qTVdRkviTeVAj7AAAAEAAAAAEAAAAzAAAAC3NzaC1lZDI1NTE5AAAAIGnX/M1OFtZvGTEI
h5/B9u+eQwjzRJpanfljungMbc+VAAAAkPGJXHVNFeKLXK+aQFiTKx8EU48dQGLBQVIq4G
1SOgNvOaK2UfnQwSbZzhMAOmA1RCUbpQH9cGr9B/uSI88sdghcTEkNgVAtVF/NHNeKMahf
3hdVQ7ER6Au4FEIhpvUTzF+0G+8QBTabpNQx3UdLUxFAOulX6nIYG2phQIS08V/DdS70IG
luo6vY2w/qnXDsWQ==
-----END OPENSSH PRIVATE KEY-----

@ -0,0 +1 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGnX/M1OFtZvGTEIh5/B9u+eQwjzRJpanfljungMbc+V sultan
Loading…
Cancel
Save