Merge pull request 'haroon_dev' (#112) from haroon_dev into master

Reviewed-on: https://34.17.182.140/Haroon6138/HMG_Patient_App_New/pulls/112
pull/123/head
Haroon6138 1 month ago
commit dd8f3b95a7

@ -0,0 +1,4 @@
<svg width="18" height="22" viewBox="0 0 18 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11.0245 0.677785C10.0169 -0.225928 8.48311 -0.225928 7.47553 0.677785C6.78675 1.29557 5.93331 2.15517 5.24695 3.14951C4.5675 4.13383 4 5.32467 4 6.58902C4 9.04684 6.0323 11.5 9.25 11.5C12.4677 11.5 14.5 9.04684 14.5 6.58902C14.5 5.32467 13.9325 4.13383 13.2531 3.14951C12.5667 2.15517 11.7133 1.29557 11.0245 0.677785Z" fill="white"/>
<path d="M1.5528 12.0433C1.87561 11.9999 2.27244 12 2.70526 12L3.14482 12C3.55136 12 3.95322 12.0915 4.31883 12.2684L6.36081 13.2564C6.52138 13.3341 6.69974 13.3751 6.8815 13.3751L7.92409 13.3752C9.32329 13.3752 10.5 13.7342 10.5 15.1473C10.5 15.5384 10.2337 15.8583 9.88361 15.9551L7.3427 16.6576C6.71218 16.832 6.03692 16.7717 5.44831 16.4869L3.82802 15.7029C3.5173 15.5526 3.14354 15.6826 2.9932 15.9933C2.84286 16.304 2.97288 16.6778 3.28359 16.8281L4.90388 17.6121C5.76687 18.0296 6.75412 18.1173 7.6758 17.8624L10.2167 17.1599C11.081 16.921 11.75 16.1286 11.75 15.1473C11.7621 15.0127 11.7537 14.7736 11.6828 14.5243C11.5898 14.1974 11.5433 14.0339 11.5822 13.9622C11.6212 13.8905 11.7456 13.8523 11.9942 13.7759L14.1197 13.1229L14.1212 13.1224C15.2517 12.7709 16.4623 13.1937 17.1551 14.1532C17.7766 15.0138 17.5365 16.2554 16.6033 16.7938L9.08771 21.1302C8.43272 21.5081 7.65626 21.6016 6.93181 21.3866L1.93291 19.9033C1.6183 19.81 1.32351 19.7225 1.08569 19.6207C0.821024 19.5074 0.554741 19.3479 0.347562 19.0703C0.140382 18.7927 0.0632054 18.4921 0.0298745 18.2061C-7.46753e-05 17.9492 -3.65283e-05 17.6417 3.52604e-06 17.3135V14.7053C-4.79724e-05 14.2724 -9.37469e-05 13.8756 0.0433061 13.5528C0.0910985 13.1973 0.203546 12.8216 0.512569 12.5126C0.821594 12.2035 1.19732 12.0911 1.5528 12.0433Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

@ -0,0 +1,4 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M17.3339 15.9992H13.3339V11.1992C13.3339 10.9365 13.3343 10.7929 13.34 10.6886L13.341 10.673L13.3565 10.6721C13.4609 10.6664 13.6045 10.6659 13.8672 10.6659H17.3339C18.8066 10.6659 20.0005 11.8598 20.0005 13.3326C20.0005 14.8053 18.8066 15.9992 17.3339 15.9992Z" fill="#2E3039"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.0684 2.33203H15.9316C13.1698 2.33202 11.005 2.33201 9.30102 2.53899C7.55973 2.75051 6.16606 3.19084 5.02088 4.16892C4.71548 4.42976 4.43104 4.71419 4.1702 5.0196C3.19212 6.16478 2.75179 7.55845 2.54027 9.29974C2.33329 11.0037 2.3333 13.1684 2.33331 15.9304V16.067C2.3333 18.829 2.33329 20.9937 2.54027 22.6977C2.75179 24.4389 3.19212 25.8326 4.1702 26.9778C4.43104 27.2832 4.71547 27.5676 5.02088 27.8285C6.16606 28.8066 7.55973 29.2469 9.30102 29.4584C11.005 29.6654 13.1697 29.6654 15.9316 29.6654H16.0683C18.8302 29.6654 20.995 29.6654 22.6989 29.4584C24.4402 29.2469 25.8339 28.8066 26.9791 27.8285C27.2845 27.5676 27.5689 27.2832 27.8298 26.9778C28.8078 25.8326 29.2482 24.4389 29.4597 22.6977C29.6667 20.9937 29.6667 18.829 29.6666 16.067V15.9304C29.6667 13.1684 29.6667 11.0037 29.4597 9.29974C29.2482 7.55845 28.8078 6.16478 27.8298 5.0196C27.5689 4.71419 27.2845 4.42976 26.9791 4.16892C25.8339 3.19084 24.4402 2.75051 22.6989 2.53899C20.995 2.33201 18.8303 2.33202 16.0684 2.33203ZM13.8672 7.99925L13.7592 7.99898C13.3835 7.99761 12.9217 7.99593 12.5098 8.12976C11.698 8.39355 11.0615 9.03003 10.7977 9.84187C10.6639 10.2538 10.6656 10.7156 10.6669 11.0913L10.6672 11.1992V23.9993C10.6672 24.7356 11.2642 25.3326 12.0005 25.3326C12.7369 25.3326 13.3339 24.7356 13.3339 23.9993V18.6659H17.3339C20.2794 18.6659 22.6672 16.2781 22.6672 13.3326C22.6672 10.3871 20.2794 7.99925 17.3339 7.99925H13.8672Z" fill="#2E3039"/>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

@ -1,7 +1,7 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M14.0493 1.25C14.7141 1.24997 15.287 1.24994 15.7457 1.31161C16.2373 1.37771 16.7086 1.52677 17.0908 1.90902C17.4731 2.29126 17.6222 2.76253 17.6883 3.25416C17.7499 3.7129 17.7499 4.28574 17.7499 4.95059V6.04937C17.7499 6.71423 17.7499 7.28712 17.6883 7.74585C17.6222 8.23749 17.4731 8.70875 17.0908 9.091C16.7086 9.47324 16.2373 9.6223 15.7457 9.6884C15.287 9.75008 14.7141 9.75004 14.0492 9.75001L13.2269 9.75001L10.4159 11.624C10.1857 11.7775 9.88983 11.7918 9.64597 11.6613C9.4021 11.5307 9.24986 11.2766 9.24986 11V9.7469C8.87641 9.74158 8.54263 9.7272 8.25402 9.6884C7.76238 9.6223 7.29112 9.47324 6.90887 9.091C6.52662 8.70875 6.37756 8.23749 6.31147 7.74585C6.24979 7.28712 6.24982 6.71427 6.24986 6.04943V4.95063C6.24982 4.28579 6.24979 3.7129 6.31147 3.25416C6.37756 2.76253 6.52662 2.29126 6.90887 1.90902C7.29112 1.52677 7.76238 1.37771 8.25402 1.31161C8.71274 1.24994 9.28556 1.24997 9.95039 1.25L14.0493 1.25Z" fill="white"/>
<path d="M3.17258 18.1177C4.89963 16.9608 7.10028 16.9608 8.82733 18.1177C9.13739 18.3137 9.84338 18.7614 10.2141 19.1697C10.4495 19.4288 10.6975 19.7967 10.7428 20.2626C10.7914 20.7627 10.5934 21.2221 10.2316 21.6099C9.68447 22.1963 8.95287 22.75 7.95957 22.75H4.04034C3.04704 22.75 2.31543 22.1963 1.76831 21.6099C1.40651 21.2221 1.20853 20.7627 1.25712 20.2626C1.30239 19.7967 1.55044 19.4288 1.78577 19.1697C2.15652 18.7614 2.86252 18.3137 3.17258 18.1177Z" fill="white"/>
<path d="M20.8273 18.1177C19.1003 16.9608 16.8996 16.9608 15.1726 18.1177C14.8625 18.3137 14.1565 18.7614 13.7858 19.1697C13.5504 19.4288 13.3024 19.7967 13.2571 20.2626C13.2085 20.7627 13.4065 21.2221 13.7683 21.6099C14.3154 22.1963 15.047 22.75 16.0403 22.75H19.9596C20.9529 22.75 21.6845 22.1963 22.2316 21.6099C22.5934 21.2221 22.7914 20.7627 22.7428 20.2626C22.6975 19.7967 22.4495 19.4288 22.2141 19.1697C21.8434 18.7614 21.1374 18.3137 20.8273 18.1177Z" fill="white"/>
<path d="M3.24986 13.5C3.24986 11.9812 4.48107 10.75 5.99986 10.75C7.51864 10.75 8.74986 11.9812 8.74986 13.5C8.74986 15.0188 7.51864 16.25 5.99986 16.25C4.48107 16.25 3.24986 15.0188 3.24986 13.5Z" fill="white"/>
<path d="M17.9999 10.75C16.4811 10.75 15.2499 11.9812 15.2499 13.5C15.2499 15.0188 16.4811 16.25 17.9999 16.25C19.5186 16.25 20.7499 15.0188 20.7499 13.5C20.7499 11.9812 19.5186 10.75 17.9999 10.75Z" fill="white"/>
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12.7994 1.57429e-06C13.4643 -3.22217e-05 14.0371 -6.13406e-05 14.4958 0.0616123C14.9875 0.127711 15.4587 0.27677 15.841 0.659017C16.2232 1.04126 16.3723 1.51253 16.4384 2.00416C16.5001 2.4629 16.5 3.03574 16.5 3.70059V4.79937C16.5 5.46423 16.5001 6.03712 16.4384 6.49585C16.3723 6.98749 16.2232 7.45875 15.841 7.841C15.4587 8.22324 14.9875 8.3723 14.4958 8.4384C14.0371 8.50008 13.4642 8.50004 12.7994 8.50001L11.9771 8.50001L9.16603 10.374C8.93589 10.5275 8.63998 10.5418 8.39611 10.4113C8.15224 10.2807 8 10.0266 8 9.75001V8.4969C7.62656 8.49158 7.29278 8.4772 7.00416 8.4384C6.51252 8.3723 6.04126 8.22324 5.65902 7.841C5.27677 7.45875 5.12771 6.98749 5.06161 6.49585C4.99994 6.03712 4.99997 5.46427 5 4.79943V3.70063C4.99997 3.03579 4.99994 2.4629 5.06161 2.00416C5.12771 1.51253 5.27677 1.04126 5.65901 0.659016C6.04126 0.27677 6.51252 0.127711 7.00416 0.0616123C7.46288 -6.13369e-05 8.03571 -3.22217e-05 8.70053 1.57429e-06L12.7994 1.57429e-06Z" fill="white"/>
<path d="M1.92273 16.8677C3.64978 15.7108 5.85042 15.7108 7.57747 16.8677C7.88753 17.0637 8.59353 17.5114 8.96428 17.9197C9.19961 18.1788 9.44766 18.5467 9.49293 19.0126C9.54153 19.5127 9.34354 19.9721 8.98174 20.3599C8.43462 20.9463 7.70301 21.5 6.70971 21.5H2.79048C1.79719 21.5 1.06558 20.9463 0.518458 20.3599C0.156653 19.9721 -0.0413295 19.5127 0.00726341 19.0126C0.0525343 18.5467 0.300586 18.1788 0.535918 17.9197C0.906669 17.5114 1.61266 17.0637 1.92273 16.8677Z" fill="white"/>
<path d="M19.5775 16.8677C17.8504 15.7108 15.6498 15.7108 13.9227 16.8677C13.6127 17.0637 12.9067 17.5114 12.5359 17.9197C12.3006 18.1788 12.0525 18.5467 12.0073 19.0126C11.9587 19.5127 12.1567 19.9721 12.5185 20.3599C13.0656 20.9463 13.7972 21.5 14.7905 21.5H18.7097C19.703 21.5 20.4346 20.9463 20.9817 20.3599C21.3435 19.9721 21.5415 19.5127 21.4929 19.0126C21.4477 18.5467 21.1996 18.1788 20.9643 17.9197C20.5935 17.5114 19.8875 17.0637 19.5775 16.8677Z" fill="white"/>
<path d="M2 12.25C2 10.7312 3.23122 9.5 4.75 9.5C6.26878 9.5 7.5 10.7312 7.5 12.25C7.5 13.7688 6.26878 15 4.75 15C3.23122 15 2 13.7688 2 12.25Z" fill="white"/>
<path d="M16.75 9.5C15.2312 9.5 14 10.7312 14 12.25C14 13.7688 15.2312 15 16.75 15C18.2688 15 19.5 13.7688 19.5 12.25C19.5 10.7312 18.2688 9.5 16.75 9.5Z" fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

@ -0,0 +1,6 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M8.82036 3.05573C8.44569 2.37573 7.84432 1.86907 7.08832 1.7224C6.32566 1.5624 5.55766 1.78899 4.927 2.30899C2.639 4.17565 1.18165 7.16237 1.81365 10.2957C2.20298 12.229 2.84964 14.1224 4.16964 16.429C6.81631 21.0424 10.959 25.189 15.579 27.829C17.879 29.149 19.7803 29.8024 21.707 30.1891C24.8417 30.8157 27.831 29.3623 29.695 27.069C30.2097 26.4423 30.443 25.6823 30.2844 24.909C30.1284 24.1623 29.6203 23.5624 28.9497 23.1891L26.8137 21.9891C26.027 21.5491 25.3643 21.189 24.7883 20.949C24.1777 20.6823 23.5763 20.5357 22.9097 20.6023C22.2443 20.669 21.6856 20.9491 21.1416 21.3224C20.6283 21.6824 20.0563 22.1757 19.3763 22.7624L17.3657 24.5224L17.3344 24.549C16.995 24.8383 16.8177 24.9894 16.6003 25.0023C16.3826 25.0152 16.1949 24.8913 15.8362 24.6544L15.7977 24.629C12.5164 22.4424 9.56301 19.4823 7.37101 16.2023L7.35404 16.1769C7.10805 15.8074 6.98596 15.624 6.999 15.4023C7.01318 15.1833 7.1606 15.014 7.45328 14.678L9.235 12.629C9.827 11.949 10.3243 11.3757 10.679 10.8557C11.055 10.3224 11.3284 9.76237 11.3977 9.09571C11.467 8.42904 11.315 7.82896 11.0603 7.21563C10.819 6.64229 10.4496 5.97573 10.011 5.18907L8.82036 3.05573Z" fill="#2E3039"/>
<path d="M15.9992 10.3356H17.2846V10.4423C17.2846 11.0023 17.2832 11.3089 17.2526 11.5356C17.2503 11.5468 17.2481 11.5602 17.246 11.5731C17.243 11.591 17.2402 11.6078 17.2379 11.6156H17.2353C17.1366 11.6422 16.9712 11.6556 16.6632 11.6689H16.6326C16.4979 11.6689 16.3166 11.669 16.1579 11.6956C15.9659 11.7223 15.6566 11.8023 15.3912 12.0689C15.1259 12.3223 15.0486 12.6423 15.0206 12.8423C14.9993 13.0023 14.9992 13.1756 14.9992 13.3089V14.9356C14.9992 15.1623 14.9992 15.4156 15.0299 15.6423C15.0672 15.9089 15.1646 16.2556 15.4699 16.5623C15.7712 16.8556 16.1246 16.9356 16.3859 16.9756C16.6072 17.0023 16.8685 17.0023 17.1005 17.0023H18.2846C18.8379 17.0023 19.2846 16.5489 19.2846 16.0023C19.2846 15.4556 18.8379 15.0023 18.2846 15.0023H16.9992V13.6557C17.5419 13.629 18.1659 13.5223 18.6472 13.0557C19.0366 12.6823 19.1752 12.2156 19.2339 11.8023C19.2846 11.4289 19.2846 10.9756 19.2846 10.5089L19.2846 10.3756C19.2847 10.1559 19.2847 9.91346 19.2552 9.69564C19.2179 9.42897 19.1206 9.08225 18.8153 8.77559C18.5139 8.48225 18.1606 8.40231 17.8992 8.3623C17.6766 8.33564 17.4153 8.33561 17.1846 8.33561H15.9992C15.4472 8.33561 14.9992 8.78895 14.9992 9.33561C14.9992 9.88228 15.4472 10.3356 15.9992 10.3356Z" fill="#2E3039"/>
<path d="M21.1418 8.33561C21.6938 8.33561 22.1418 8.78895 22.1418 9.33561V11.6689H22.9992V9.33561C22.9992 8.78895 23.4472 8.33561 23.9992 8.33561C24.5512 8.33561 24.9992 8.78895 24.9992 9.33561V16.0023C24.9992 16.5489 24.5512 17.0023 23.9992 17.0023C23.4472 17.0023 22.9992 16.5489 22.9992 16.0023V13.6689H22.0192C21.8378 13.6689 21.6165 13.6689 21.4245 13.6423C21.1952 13.6156 20.8632 13.5357 20.5792 13.2557C20.2899 12.9757 20.2005 12.6423 20.1685 12.4023C20.1419 12.2156 20.1418 11.9889 20.1418 11.8156V9.33561C20.1418 8.78895 20.5898 8.33561 21.1418 8.33561Z" fill="#2E3039"/>
<path d="M14.4095 6.05561C17.5948 2.86895 22.7588 2.86895 25.9428 6.05561C29.1282 9.24228 29.1282 14.4023 25.9428 17.5889C25.8295 17.7089 25.7121 17.8156 25.5935 17.9223C25.1815 18.2956 25.1442 18.9222 25.5122 19.3356C25.8788 19.7489 26.5108 19.7888 26.9241 19.4155C27.0708 19.2822 27.2161 19.1489 27.3575 19.0022C31.3241 15.0422 31.3241 8.61553 27.3575 4.6422C23.3908 0.6822 16.9615 0.6822 12.9948 4.6422C12.8535 4.78887 12.7175 4.93551 12.5855 5.08217C12.2175 5.49551 12.2548 6.12225 12.6668 6.49559C13.0801 6.85559 13.7122 6.81556 14.0788 6.40223C14.1503 6.32179 14.223 6.24736 14.2977 6.17088C14.3345 6.13328 14.3717 6.09517 14.4095 6.05561Z" fill="#2E3039"/>
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

@ -0,0 +1,3 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.0921 3C17.8565 2.99996 19.3114 2.99992 20.463 3.15438C21.672 3.31655 22.7397 3.67011 23.5946 4.52305C24.4496 5.37599 24.8039 6.44124 24.9665 7.64742C25.0404 8.19577 25.079 8.81308 25.0992 9.50001C25.0992 9.50001 26.8197 9.49985 27.4395 9.58299C28.1163 9.67376 28.8105 9.88454 29.3792 10.4519C29.9479 11.0193 30.1592 11.7119 30.2502 12.3871C30.3335 13.0055 30.3334 13.7695 30.3334 14.6199L30.3333 25.1C30.3333 27.2539 28.5832 29 26.4243 29L10.696 29C8.9315 29.0001 7.47651 29.0001 6.32494 28.8456C5.11595 28.6835 4.04822 28.3299 3.19329 27.477C2.33836 26.624 1.98398 25.5588 1.82143 24.3526C1.66661 23.2037 1.66665 21.7521 1.66669 19.9918L1.66669 12.0082C1.66665 10.2479 1.66661 8.79629 1.82143 7.64742C1.98398 6.44124 2.33836 5.37599 3.19329 4.52305C4.04822 3.67011 5.11595 3.31655 6.32494 3.15438C7.47649 2.99992 8.93149 2.99996 10.6959 3L16.0921 3ZM26.4255 26.3999C27.1451 26.3999 27.7285 25.8179 27.7285 25.0999L27.7285 14.6999C27.7285 13.7439 27.7257 13.1577 27.6685 12.7335C27.6183 12.3606 27.5468 12.2983 27.5383 12.2909L27.537 12.2896C27.5297 12.2812 27.4673 12.2099 27.0935 12.1597C26.6682 12.1027 26.0806 12.0999 25.1224 12.0999L25.1224 25.0999C25.1224 25.8179 25.7058 26.3999 26.4255 26.3999ZM8.00002 9.66667C7.44774 9.66667 7.00002 10.1144 7.00002 10.6667C7.00002 11.219 7.44774 11.6667 8.00002 11.6667L18.6667 11.6667C19.219 11.6667 19.6667 11.219 19.6667 10.6667C19.6667 10.1144 19.219 9.66667 18.6667 9.66667L8.00002 9.66667ZM8.00002 15C7.44774 15 7.00002 15.4477 7.00002 16C7.00002 16.5523 7.44774 17 8.00002 17L18.6667 17C19.219 17 19.6667 16.5523 19.6667 16C19.6667 15.4477 19.219 15 18.6667 15L8.00002 15ZM8.00002 20.3333C7.44774 20.3333 7.00002 20.781 7.00002 21.3333C7.00002 21.8856 7.44774 22.3333 8.00002 22.3333L13.3334 22.3333C13.8856 22.3333 14.3334 21.8856 14.3334 21.3333C14.3334 20.781 13.8856 20.3333 13.3334 20.3333L8.00002 20.3333Z" fill="#2E3039"/>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

@ -0,0 +1,8 @@
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="40" height="40" rx="10" fill="#EFEFF0"/>
<path d="M28.0364 20.3057C27.2038 20.0739 26.0073 20.0061 25.1332 19.9906C25.7837 20.5597 26.2471 21.3366 26.4231 22.2212C26.501 22.6129 26.5004 23.0277 26.5 23.3707L26.4999 29.0016C26.4999 29.2673 26.4481 29.5209 26.3541 29.7528H29.4999C29.9141 29.7528 30.2499 29.417 30.2499 29.0028L30.2499 23.4295C30.2501 23.0368 30.2503 22.7338 30.1971 22.4663C29.9801 21.3754 29.1273 20.5227 28.0364 20.3057Z" fill="#8F9AA3"/>
<path d="M12.9999 20.2517C13.3852 20.2517 13.7079 20.5437 13.7462 20.9271C13.9745 23.2102 14.9885 24.5354 15.9142 25.2978C16.384 25.6847 16.8396 25.9329 17.1743 26.0831C17.3042 26.1414 17.4149 26.1846 17.4999 26.2151C17.5849 26.1846 17.6956 26.1414 17.8255 26.0831C18.1602 25.9328 18.6158 25.6845 19.0856 25.2975C20.0113 24.5351 21.0253 23.2098 21.2536 20.9271C21.292 20.5437 21.6146 20.2517 21.9999 20.2517C21.9999 20.2517 22.8619 20.2698 23.0364 20.3045C24.1273 20.5215 24.9801 21.3743 25.1971 22.4652C25.2503 22.7327 25.2501 23.0357 25.25 23.4284L25.2499 29.0017C25.2499 29.4159 24.9141 29.7517 24.4999 29.7517H10.4999C10.0857 29.7517 9.74993 29.4159 9.74993 29.0017L9.7499 23.4284C9.74971 23.0357 9.74956 22.7327 9.80277 22.4652C10.0198 21.3743 10.8725 20.5215 11.9634 20.3045C12.138 20.2698 12.9999 20.2517 12.9999 20.2517Z" fill="#8F9AA3"/>
<path d="M17.4999 10.2517C15.4143 10.2517 13.7499 11.9733 13.7499 14.0642V14.9392C13.7499 17.0301 15.4143 18.7517 17.4999 18.7517C19.5854 18.7517 21.2499 17.0301 21.2499 14.9392V14.0642C21.2499 11.9733 19.5854 10.2517 17.4999 10.2517Z" fill="#8F9AA3"/>
<path d="M19.8942 19.8635C20.1153 20.0002 20.2499 20.2416 20.2499 20.5015V22.5015C20.2499 22.7615 20.1153 23.0029 19.8942 23.1395C19.6731 23.2762 19.397 23.2886 19.1645 23.1723L17.4999 22.3401L15.8353 23.1725C15.6029 23.2888 15.3267 23.2764 15.1056 23.1397C14.8845 23.0031 14.7499 22.7617 14.7499 22.5017V20.5017C14.7499 20.2418 14.8845 20.0004 15.1056 19.8638C15.3266 19.7271 15.6027 19.7147 15.8352 19.8309L17.4998 20.663L19.1645 19.8307C19.397 19.7145 19.6731 19.7269 19.8942 19.8635Z" fill="#8F9AA3"/>
<path d="M22.4997 14.0625C22.4997 13.1095 22.2367 12.2101 21.7767 11.4412C22.4579 10.7092 23.4227 10.25 24.4997 10.25C26.5853 10.25 28.2497 11.9716 28.2497 14.0625V14.9375C28.2497 17.0284 26.5853 18.75 24.4997 18.75C23.4227 18.75 22.4579 18.2908 21.7767 17.5588C22.2367 16.7899 22.4997 15.8905 22.4997 14.9375V14.0625Z" fill="#8F9AA3"/>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

@ -0,0 +1,3 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M20.3865 4.00002C17.4622 4.00209 14.5379 4.00209 11.6135 4.00002C9.35786 3.99842 7.23864 4.10199 5.5256 5.7098C4.54176 6.63321 3.88939 7.96334 2.90817 9.96396C2.83281 10.1176 2.75608 10.2711 2.67924 10.4248C2.30703 11.1693 1.93223 11.919 1.69854 12.7176C1.59525 13.0706 1.51357 13.4313 1.45389 13.7969C1.33317 14.5363 1.33324 15.2911 1.33336 16.4884C1.33336 16.5262 1.33337 16.5645 1.33337 16.6032L1.33337 17.7467C1.32961 18.1191 1.33069 18.4917 1.33177 18.8638C1.33228 19.0395 1.33279 19.2152 1.33279 19.3906C1.33278 20.7127 1.33277 21.7867 1.40428 22.6547C1.47799 23.5492 1.63474 24.3496 2.02143 25.0863C2.47537 25.9512 3.13668 26.6853 3.95132 27.2027C4.66111 27.6535 5.43641 27.8356 6.28065 27.9197C7.83511 28.0747 9.60573 28.1722 11.1601 27.92C12.4778 27.7061 13.692 27.0741 14.6581 26.1239C14.9713 25.8159 15.2489 25.4736 15.5158 25.1228C15.7846 24.7695 15.9191 24.5929 16.1082 24.586C16.2973 24.5791 16.4423 24.7433 16.7325 25.0717C17.0905 25.4769 17.4535 25.8793 17.846 26.246C18.9038 27.2342 20.2349 27.8478 21.6562 27.9753C22.9851 28.0944 24.3957 28.0516 25.7183 27.9197C26.5625 27.8356 27.3378 27.6535 28.0476 27.2027C28.8622 26.6854 29.5235 25.9512 29.9775 25.0863C30.3642 24.3496 30.5209 23.5492 30.5946 22.6547C30.6539 21.9359 30.664 21.0758 30.6658 20.0506C30.6664 20.0339 30.6667 20.0171 30.6667 20.0002L30.6667 19.0211C30.6668 18.9688 30.667 18.9164 30.6671 18.8641C30.6681 18.5368 30.669 18.2087 30.6667 17.8811L30.6667 16.4884C30.6668 15.2911 30.6669 14.5363 30.5462 13.7969C30.4865 13.4313 30.4048 13.0706 30.3015 12.7176C30.0676 11.9183 29.6939 11.1708 29.3219 10.4268C29.2447 10.2725 29.1676 10.1184 29.0919 9.96398C28.1107 7.96335 27.4583 6.63322 26.4745 5.70981C24.7614 4.10199 22.6422 3.99842 20.3865 4.00002ZM26.5777 10.8951C25.6038 8.92041 25.1889 8.16046 24.6495 7.65421C23.5518 6.62393 22.1081 6.64298 20.6826 6.6618C20.492 6.66432 20.3018 6.66683 20.1127 6.66683L11.8873 6.66683C11.6983 6.66683 11.5081 6.66432 11.3175 6.6618C9.89193 6.64298 8.44826 6.62393 7.35055 7.65421C6.81121 8.16043 6.39633 8.92032 5.42248 10.8947C5.69939 10.8257 5.98587 10.7763 6.28065 10.7469C7.08623 10.6666 8.07676 10.6666 9.26632 10.6667L22.7326 10.6667C23.9222 10.6666 24.9127 10.6666 25.7183 10.7469C26.0135 10.7764 26.3004 10.8259 26.5777 10.8951ZM20.0001 17.3336C20.0001 16.5972 20.5971 16.0003 21.3335 16.0003H24.0001C24.7365 16.0003 25.3335 16.5972 25.3335 17.3336C25.3335 18.07 24.7365 18.6669 24.0001 18.6669H21.3335C20.5971 18.6669 20.0001 18.07 20.0001 17.3336Z" fill="#2E3039"/>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

@ -182,6 +182,12 @@ class AppAssets {
static const String call_for_doctor = '$svgBasePath/call_for_doctor.svg';
static const String bulb_icon = '$svgBasePath/bulb_icon.svg';
static const String select_city_icon = '$svgBasePath/select_city_icon.svg';
static const String blood_donation_icon = '$svgBasePath/blood_donation_icon.svg';
static const String virtual_tour_icon = '$svgBasePath/virtual_tour_icon.svg';
static const String car_parking_icon = '$svgBasePath/car_parking_icon.svg';
static const String latest_news_icon = '$svgBasePath/latest_news_icon.svg';
static const String hmg_contact_icon = '$svgBasePath/hmg_contact_icon.svg';
static const String services_medical_file_icon = '$svgBasePath/services_medical_file_icon.svg';
//bottom navigation//

@ -1,9 +1,11 @@
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:hmg_patient_app_new/core/app_state.dart';
import 'package:hmg_patient_app_new/features/blood_donation/blood_donation_repo.dart';
import 'package:hmg_patient_app_new/features/blood_donation/models/blood_group_list_model.dart';
import 'package:hmg_patient_app_new/features/blood_donation/models/blood_group_response_model.dart';
import 'package:hmg_patient_app_new/features/blood_donation/models/cities_model.dart';
import 'package:hmg_patient_app_new/generated/locale_keys.g.dart';
import 'package:hmg_patient_app_new/services/dialog_service.dart';
import 'package:hmg_patient_app_new/services/error_handler_service.dart';
import 'package:hmg_patient_app_new/services/navigation_service.dart';
@ -27,11 +29,16 @@ class BloodDonationViewModel extends ChangeNotifier {
BloodGroupListModel("B-", 7),
];
List<BloodGroupListModel> genderList = [
BloodGroupListModel(LocaleKeys.malE.tr(), 1),
BloodGroupListModel(LocaleKeys.female.tr(), 2),
];
late CitiesModel selectedCity;
late BloodGroupListModel selectedBloodGroup;
int _selectedHospitalIndex = 0;
int _selectedBloodTypeIndex = 0;
String _selectedBloodType = '';
String selectedBloodType = '';
List_BloodGroupDetailsModel patientBloodGroupDetailsModel = List_BloodGroupDetailsModel();
@ -42,6 +49,12 @@ class BloodDonationViewModel extends ChangeNotifier {
notifyListeners();
}
setSelectedBloodGroup(BloodGroupListModel bloodGroup) {
selectedBloodGroup = bloodGroup;
selectedBloodType = selectedBloodGroup.name;
notifyListeners();
}
Future<void> getRegionSelectedClinics({Function(dynamic)? onSuccess, Function(String)? onError}) async {
citiesList.clear();
selectedCity = CitiesModel();
@ -85,8 +98,8 @@ class BloodDonationViewModel extends ChangeNotifier {
citiesModel.description = citiesList[_selectedHospitalIndex].description;
citiesModel.descriptionN = citiesList[_selectedHospitalIndex].descriptionN;
selectedCity = citiesModel;
_selectedBloodType = patientBloodGroupDetailsModel.bloodGroup!;
_selectedBloodTypeIndex = getBloodIndex(_selectedBloodType);
selectedBloodType = patientBloodGroupDetailsModel.bloodGroup!;
_selectedBloodTypeIndex = getBloodIndex(selectedBloodType);
notifyListeners();
if (onSuccess != null) {

@ -9,7 +9,6 @@ class HmgServicesComponentModel {
bool isLogin;
bool isLocked;
Color bgColor;
Color textColor;
String? route;
Function? onTap;
@ -22,7 +21,6 @@ class HmgServicesComponentModel {
this.isLogin, {
this.isLocked = false,
this.bgColor = Colors.white,
this.textColor = Colors.black,
this.iconColor = Colors.white,
this.route,
this.onTap

@ -801,7 +801,7 @@ abstract class LocaleKeys {
static const fullName = 'fullName';
static const married = 'married';
static const uae = 'uae';
static const malE = 'malE';
static const malE = 'male';
static const loginBy = 'loginBy';
static const loginByOTP = 'loginByOTP';
static const guest = 'guest';

@ -9,12 +9,13 @@ import 'package:hmg_patient_app_new/extensions/string_extensions.dart';
import 'package:hmg_patient_app_new/extensions/widget_extensions.dart';
import 'package:hmg_patient_app_new/features/blood_donation/blood_donation_view_model.dart';
import 'package:hmg_patient_app_new/generated/locale_keys.g.dart';
import 'package:hmg_patient_app_new/presentation/blood_donation/widgets/select_blood_group_widget.dart';
import 'package:hmg_patient_app_new/presentation/blood_donation/widgets/select_city_widget.dart';
import 'package:hmg_patient_app_new/presentation/blood_donation/widgets/select_gender_widget.dart';
import 'package:hmg_patient_app_new/theme/colors.dart';
import 'package:hmg_patient_app_new/widgets/appbar/collapsing_list_view.dart';
import 'package:hmg_patient_app_new/widgets/buttons/custom_button.dart';
import 'package:hmg_patient_app_new/widgets/common_bottom_sheet.dart';
import 'package:hmg_patient_app_new/widgets/loader/bottomsheet_loader.dart';
import 'package:provider/provider.dart';
class BloodDonationPage extends StatelessWidget {
@ -69,19 +70,13 @@ class BloodDonationPage extends StatelessWidget {
Utils.buildSvgWithAssets(icon: AppAssets.arrow_down, width: 25.h, height: 25.h),
],
).onPress(() async {
LoaderBottomSheet.showLoader(loadingText: "Fetching Cities...");
await bloodDonationVM.getRegionSelectedClinics(onSuccess: (val) {
LoaderBottomSheet.hideLoader();
showCommonBottomSheetWithoutHeight(context,
title: LocaleKeys.selectCity.tr(context: context),
isDismissible: true,
child: SelectCityWidget(
bloodDonationViewModel: bloodDonationVM,
),
callBackFunc: () {});
}, onError: (err) {
LoaderBottomSheet.hideLoader();
});
showCommonBottomSheetWithoutHeight(context,
title: LocaleKeys.selectCity.tr(context: context),
isDismissible: true,
child: SelectCityWidget(
bloodDonationViewModel: bloodDonationVM,
),
callBackFunc: () {});
}),
SizedBox(height: 16.h),
Divider(color: AppColors.borderOnlyColor.withValues(alpha: 0.1), height: 1.h),
@ -104,7 +99,16 @@ class BloodDonationPage extends StatelessWidget {
),
Utils.buildSvgWithAssets(icon: AppAssets.arrow_down, width: 25.h, height: 25.h),
],
),
).onPress(() {
showCommonBottomSheetWithoutHeight(context,
title: LocaleKeys.selectGender.tr(context: context),
isDismissible: true,
child: SelectGenderWidget(
isArabic: appState.isArabic(),
bloodDonationViewModel: bloodDonationVM,
),
callBackFunc: () {});
}),
SizedBox(height: 16.h),
Divider(color: AppColors.borderOnlyColor.withValues(alpha: 0.1), height: 1.h),
SizedBox(height: 16.h),
@ -119,14 +123,23 @@ class BloodDonationPage extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
LocaleKeys.bloodType.tr().toText16(color: AppColors.textColor, weight: FontWeight.w500),
"AB+".toText14(color: AppColors.greyTextColor, weight: FontWeight.w500),
bloodDonationVM.selectedBloodType.toText14(color: AppColors.greyTextColor, weight: FontWeight.w500),
],
),
],
),
Utils.buildSvgWithAssets(icon: AppAssets.arrow_down, width: 25.h, height: 25.h),
],
),
).onPress(() {
showCommonBottomSheetWithoutHeight(context,
title: LocaleKeys.select.tr(context: context),
isDismissible: true,
child: SelectBloodGroupWidget(
isArabic: appState.isArabic(),
bloodDonationViewModel: bloodDonationVM,
),
callBackFunc: () {});
}),
],
),
),

@ -0,0 +1,67 @@
import 'package:flutter/material.dart';
import 'package:hmg_patient_app_new/core/app_assets.dart';
import 'package:hmg_patient_app_new/core/utils/size_utils.dart';
import 'package:hmg_patient_app_new/core/utils/utils.dart';
import 'package:hmg_patient_app_new/extensions/string_extensions.dart';
import 'package:hmg_patient_app_new/extensions/widget_extensions.dart';
import 'package:hmg_patient_app_new/features/blood_donation/blood_donation_view_model.dart';
import 'package:hmg_patient_app_new/presentation/blood_donation/widgets/city_list_item.dart';
import 'package:hmg_patient_app_new/theme/colors.dart';
class SelectBloodGroupWidget extends StatelessWidget {
SelectBloodGroupWidget({super.key, required this.bloodDonationViewModel, required this.isArabic});
BloodDonationViewModel bloodDonationViewModel;
bool isArabic;
@override
Widget build(BuildContext context) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
SizedBox(height: 8.h),
SizedBox(
height: MediaQuery.sizeOf(context).height * .4,
child: ListView.separated(
itemBuilder: (_, index) {
return DecoratedBox(
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
color: AppColors.whiteColor,
borderRadius: 20.h,
hasShadow: false,
),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
spacing: 8.h,
children: [bloodDonationViewModel.bloodGroupList[index].name.toText16(color: AppColors.textColor, isBold: true)],
),
),
Transform.flip(
flipX: isArabic,
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon,
iconColor: AppColors.blackColor,
width: 40.h,
height: 40.h,
fit: BoxFit.contain,
),
),
],
).paddingSymmetrical(16.h, 16.h).onPress(() {
bloodDonationViewModel.setSelectedBloodGroup(bloodDonationViewModel.bloodGroupList[index]);
Navigator.of(context).pop();
}));
},
separatorBuilder: (_, __) => SizedBox(
height: 8.h,
),
itemCount: bloodDonationViewModel.bloodGroupList.length),
)
],
);
}
}

@ -0,0 +1,67 @@
import 'package:flutter/material.dart';
import 'package:hmg_patient_app_new/core/app_assets.dart';
import 'package:hmg_patient_app_new/core/utils/size_utils.dart';
import 'package:hmg_patient_app_new/core/utils/utils.dart';
import 'package:hmg_patient_app_new/extensions/string_extensions.dart';
import 'package:hmg_patient_app_new/extensions/widget_extensions.dart';
import 'package:hmg_patient_app_new/features/blood_donation/blood_donation_view_model.dart';
import 'package:hmg_patient_app_new/presentation/blood_donation/widgets/city_list_item.dart';
import 'package:hmg_patient_app_new/theme/colors.dart';
class SelectGenderWidget extends StatelessWidget {
SelectGenderWidget({super.key, required this.bloodDonationViewModel, required this.isArabic});
BloodDonationViewModel bloodDonationViewModel;
bool isArabic;
@override
Widget build(BuildContext context) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
SizedBox(height: 8.h),
SizedBox(
height: MediaQuery.sizeOf(context).height * .4,
child: ListView.separated(
itemBuilder: (_, index) {
return DecoratedBox(
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
color: AppColors.whiteColor,
borderRadius: 20.h,
hasShadow: false,
),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
spacing: 8.h,
children: [bloodDonationViewModel.genderList[index].name.toText16(color: AppColors.textColor, isBold: true)],
),
),
Transform.flip(
flipX: isArabic,
child: Utils.buildSvgWithAssets(
icon: AppAssets.forward_arrow_icon,
iconColor: AppColors.blackColor,
width: 40.h,
height: 40.h,
fit: BoxFit.contain,
),
),
],
).paddingSymmetrical(16.h, 16.h).onPress(() {
// bloodDonationViewModel.setSelectedCity(bloodDonationViewModel.citiesList[index]);
Navigator.of(context).pop();
}));
},
separatorBuilder: (_, __) => SizedBox(
height: 8.h,
),
itemCount: bloodDonationViewModel.genderList.length),
)
],
);
}
}

@ -1,94 +1,141 @@
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:get_it/get_it.dart';
import 'package:hmg_patient_app_new/core/app_assets.dart';
import 'package:hmg_patient_app_new/core/app_export.dart';
import 'package:hmg_patient_app_new/core/enums.dart';
import 'package:hmg_patient_app_new/core/utils/utils.dart';
import 'package:hmg_patient_app_new/extensions/string_extensions.dart';
import 'package:hmg_patient_app_new/extensions/widget_extensions.dart';
import 'package:hmg_patient_app_new/features/blood_donation/blood_donation_view_model.dart';
import 'package:hmg_patient_app_new/features/habib_wallet/habib_wallet_view_model.dart';
import 'package:hmg_patient_app_new/features/hmg_services/models/ui_models/hmg_services_component_model.dart';
import 'package:hmg_patient_app_new/features/medical_file/medical_file_view_model.dart';
import 'package:hmg_patient_app_new/generated/locale_keys.g.dart';
import 'package:hmg_patient_app_new/presentation/blood_donation/blood_donation_page.dart';
import 'package:hmg_patient_app_new/presentation/contact_us/contact_us.dart';
import 'package:hmg_patient_app_new/presentation/habib_wallet/habib_wallet_page.dart';
import 'package:hmg_patient_app_new/presentation/habib_wallet/recharge_wallet_page.dart';
import 'package:hmg_patient_app_new/presentation/hmg_services/services_view.dart';
import 'package:hmg_patient_app_new/presentation/medical_file/medical_file_page.dart';
import 'package:hmg_patient_app_new/services/dialog_service.dart';
import 'package:hmg_patient_app_new/services/navigation_service.dart';
import 'package:hmg_patient_app_new/theme/colors.dart';
import 'package:hmg_patient_app_new/widgets/appbar/collapsing_list_view.dart';
import 'package:hmg_patient_app_new/widgets/buttons/custom_button.dart';
import 'package:hmg_patient_app_new/widgets/common_bottom_sheet.dart';
import 'package:hmg_patient_app_new/widgets/loader/bottomsheet_loader.dart';
import 'package:hmg_patient_app_new/widgets/routes/custom_page_route.dart';
import 'package:provider/provider.dart';
import '../../core/dependencies.dart' show getIt;
class ServicesPage extends StatelessWidget {
ServicesPage({super.key});
final List<HmgServicesComponentModel> hmgServices = [
late BloodDonationViewModel bloodDonationViewModel;
late MedicalFileViewModel medicalFileViewModel;
late final List<HmgServicesComponentModel> hmgServices = [
HmgServicesComponentModel(
11,
"E Referral Services".needTranslation,
"Emergency Services".needTranslation,
"".needTranslation,
AppAssets.eReferral,
AppAssets.emergency_services_icon,
bgColor: AppColors.primaryRedColor,
true,
route: AppRoutes.eReferralPage,
),
HmgServicesComponentModel(
11,
"Book\nAppointment".needTranslation,
"".needTranslation,
AppAssets.appointment_calendar_icon,
bgColor: AppColors.bookAppointment,
true,
bgColor: Colors.orange,
textColor: AppColors.blackColor,
route: AppRoutes.eReferralPage,
),
HmgServicesComponentModel(
5,
"Comprehensive Checkup".needTranslation,
"Complete Checkup".needTranslation,
"".needTranslation,
AppAssets.comprehensiveCheckup,
true,
bgColor: AppColors.bgGreenColor,
textColor: AppColors.blackColor,
true,
route: AppRoutes.comprehensiveCheckupPage,
),
HmgServicesComponentModel(
3,
"Home Health Care".needTranslation,
11,
"E-Referral Services".needTranslation,
"".needTranslation,
AppAssets.emergency_services_icon,
AppAssets.eReferral,
bgColor: AppColors.eReferralCardColor,
true,
bgColor: AppColors.bgGreenColor,
textColor: AppColors.blackColor,
route: AppRoutes.homeHealthCarePage,
route: AppRoutes.eReferralPage,
),
HmgServicesComponentModel(3, "Blood Donation".needTranslation, "".needTranslation, AppAssets.blood_donation_icon, bgColor: AppColors.bloodDonationCardColor, true, route: null, onTap: () async {
LoaderBottomSheet.showLoader(loadingText: "Fetching Data...");
await bloodDonationViewModel.getRegionSelectedClinics(onSuccess: (val) async {
await bloodDonationViewModel.getPatientBloodGroupDetails(onSuccess: (val) {
LoaderBottomSheet.hideLoader();
Navigator.of(GetIt.instance<NavigationService>().navigatorKey.currentContext!).push(
CustomPageRoute(
page: BloodDonationPage(),
),
);
});
}, onError: (err) {
LoaderBottomSheet.hideLoader();
});
}),
HmgServicesComponentModel(
3,
"Blood Donation".needTranslation,
"Home Health Care".needTranslation,
"".needTranslation,
AppAssets.emergency_services_icon,
AppAssets.homeBottom,
bgColor: AppColors.primaryRedColor,
true,
bgColor: AppColors.bgGreenColor,
textColor: AppColors.blackColor,
route: AppRoutes.bloodDonationPage,
route: AppRoutes.homeHealthCarePage,
),
HmgServicesComponentModel(
11,
"Virtual Tour".needTranslation,
"".needTranslation,
AppAssets.my_address,
true,
bgColor: Colors.orange,
textColor: AppColors.blackColor,
route: null,
onTap:(){
Utils.openWebView(
url: 'https://hmgwebservices.com/vt_mobile/html/index.html',
);
},
)
// HmgServicesComponentModel(
// 11,
// "Virtual Tour".needTranslation,
// "".needTranslation,
// AppAssets.my_address,
// bgColor: AppColors.quickLoginColor,
// true,
// route: null,
// onTap:(){
// Utils.openWebView(
// url: 'https://hmgwebservices.com/vt_mobile/html/index.html',
// );
// },
// )
];
@override
Widget build(BuildContext context) {
return CollapsingListView(
title: "Explore Services".needTranslation,
isLeading: Navigator.canPop(context),
child: Padding(
padding: EdgeInsets.symmetric(horizontal: 24.h),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
"Medical & Care Services".needTranslation.toText18(isBold: true),
SizedBox(height: 20.h),
Padding(
padding: EdgeInsets.only(left: 16.w, right: 16.w, top: 0),
child: GridView.builder(
bloodDonationViewModel = Provider.of<BloodDonationViewModel>(context);
medicalFileViewModel = Provider.of<MedicalFileViewModel>(context);
return Scaffold(
backgroundColor: AppColors.bgScaffoldColor,
body: CollapsingListView(
title: "Explore Services".needTranslation,
isLeading: false,
child: Padding(
padding: EdgeInsets.symmetric(horizontal: 24.h),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
SizedBox(height: 16.h),
"Medical & Care Services".needTranslation.toText18(isBold: true),
SizedBox(height: 16.h),
GridView.builder(
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 3, // 4 icons per row
crossAxisSpacing: 24.w,
mainAxisSpacing: 0.h,
childAspectRatio: 0.85,
crossAxisCount: 4, // 4 icons per row
crossAxisSpacing: 12.w,
mainAxisSpacing: 18.h,
childAspectRatio: 0.8,
),
physics: NeverScrollableScrollPhysics(),
shrinkWrap: true,
@ -98,8 +145,285 @@ class ServicesPage extends StatelessWidget {
return ServiceGridViewItem(hmgServices[index], index, false);
},
),
)
],
SizedBox(height: 24.h),
"Personal Services".needTranslation.toText18(isBold: true),
SizedBox(height: 16.h),
Row(
children: [
Expanded(
child: Container(
height: 170.h,
padding: EdgeInsets.all(16.w),
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
color: AppColors.whiteColor,
borderRadius: 20.r,
hasShadow: false,
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
spacing: 8.w,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Utils.buildSvgWithAssets(icon: AppAssets.wallet, width: 30.w, height: 30.h),
"Habib Wallet".needTranslation.toText14(weight: FontWeight.w600, maxlines: 2).expanded,
Utils.buildSvgWithAssets(icon: AppAssets.arrow_forward),
],
),
Spacer(),
Consumer<HabibWalletViewModel>(builder: (context, habibWalletVM, child) {
return Utils.getPaymentAmountWithSymbol2(habibWalletVM.habibWalletAmount, isExpanded: false)
.toShimmer2(isShow: habibWalletVM.isWalletAmountLoading, radius: 12.r, width: 80.w, height: 24.h);
}),
Spacer(),
CustomButton(
height: 40.h,
icon: AppAssets.recharge_icon,
iconSize: 16.w,
iconColor: AppColors.infoColor,
textColor: AppColors.infoColor,
text: "Recharge".needTranslation,
borderWidth: 0.w,
fontWeight: FontWeight.w500,
borderColor: Colors.transparent,
backgroundColor: Color(0xff45A2F8).withValues(alpha: 0.08),
padding: EdgeInsets.all(8.w),
fontSize: 12.f,
onPressed: () {
Navigator.of(context).push(CustomPageRoute(page: RechargeWalletPage()));
},
),
],
).onPress(() {
Navigator.of(context).push(CustomPageRoute(page: HabibWalletPage()));
}),
),
),
SizedBox(width: 16.w),
Expanded(
child: Container(
height: 170.h,
padding: EdgeInsets.all(16.w),
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
color: AppColors.whiteColor,
borderRadius: 20.r,
hasShadow: false,
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
spacing: 8.w,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Utils.buildSvgWithAssets(icon: AppAssets.services_medical_file_icon, width: 30.w, height: 30.h),
"Medical Files".needTranslation.toText14(weight: FontWeight.w600, maxlines: 2).expanded,
Utils.buildSvgWithAssets(icon: AppAssets.arrow_forward),
],
),
Spacer(),
Wrap(
spacing: -8.h,
// runSpacing: 0.h,
children: [
Utils.buildImgWithAssets(
icon: AppAssets.babyGirlImg,
height: 28.h,
width: 28.w,
border: 1,
fit: BoxFit.contain,
borderRadius: 50.r,
),
Utils.buildImgWithAssets(
icon: AppAssets.femaleImg,
height: 28.h,
width: 28.w,
border: 1,
borderRadius: 50.r,
fit: BoxFit.contain,
),
Utils.buildImgWithAssets(
icon: AppAssets.male_img,
height: 28.h,
width: 28.w,
border: 1,
borderRadius: 50.r,
fit: BoxFit.contain,
),
],
),
Spacer(),
CustomButton(
height: 40.h,
icon: AppAssets.add_icon,
iconSize: 16.w,
iconColor: AppColors.primaryRedColor,
textColor: AppColors.primaryRedColor,
text: "Add Member".needTranslation,
borderWidth: 0.w,
fontWeight: FontWeight.w500,
borderColor: Colors.transparent,
backgroundColor: AppColors.primaryRedColor.withValues(alpha: 0.08),
padding: EdgeInsets.all(8.w),
fontSize: 12.f,
onPressed: () {
DialogService dialogService = getIt.get<DialogService>();
medicalFileViewModel.clearAuthValues();
dialogService.showAddFamilyFileSheet(
label: "Add Family Member".needTranslation,
message: "Please fill the below field to add a new family member to your profile".needTranslation,
onVerificationPress: () {
medicalFileViewModel.addFamilyFile(otpTypeEnum: OTPTypeEnum.sms);
});
},
),
],
).onPress(() {
Navigator.of(context).push(
CustomPageRoute(
page: MedicalFilePage(),
),
);
}),
),
),
],
),
SizedBox(height: 24.h),
"Support Services".needTranslation.toText18(isBold: true),
SizedBox(height: 16.h),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
children: [
Expanded(
child: Container(
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
color: AppColors.whiteColor,
borderRadius: 12.h,
hasShadow: false,
),
child: Padding(
padding: EdgeInsets.all(16.h),
child: Row(
children: [
Utils.buildSvgWithAssets(
icon: AppAssets.virtual_tour_icon,
width: 32.w,
height: 32.h,
fit: BoxFit.contain,
),
SizedBox(width: 8.w),
"Virtual Tour".needTranslation.toText12(fontWeight: FontWeight.w500)
],
),
),
).onPress(() {
Utils.openWebView(
url: 'https://hmgwebservices.com/vt_mobile/html/index.html',
);
}),
),
SizedBox(width: 16.w),
Expanded(
child: Container(
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
color: AppColors.whiteColor,
borderRadius: 12.h,
hasShadow: false,
),
child: Padding(
padding: EdgeInsets.all(16.h),
child: Row(
children: [
Utils.buildSvgWithAssets(
icon: AppAssets.car_parking_icon,
width: 32.w,
height: 32.h,
fit: BoxFit.contain,
),
SizedBox(width: 8.w),
"Car Parking".needTranslation.toText12(fontWeight: FontWeight.w500)
],
),
),
),
),
],
),
SizedBox(height: 16.h),
Row(
children: [
Expanded(
child: Container(
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
color: AppColors.whiteColor,
borderRadius: 12.h,
hasShadow: false,
),
child: Padding(
padding: EdgeInsets.all(16.h),
child: Row(
children: [
Utils.buildSvgWithAssets(
icon: AppAssets.latest_news_icon,
width: 32.w,
height: 32.h,
fit: BoxFit.contain,
),
SizedBox(width: 8.w),
"Latest News".needTranslation.toText12(fontWeight: FontWeight.w500)
],
),
),
).onPress(() {
Utils.openWebView(
url: 'https://x.com/HMG',
);
}),
),
SizedBox(width: 16.w),
Expanded(
child: Container(
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
color: AppColors.whiteColor,
borderRadius: 12.h,
hasShadow: false,
),
child: Padding(
padding: EdgeInsets.all(16.h),
child: Row(
children: [
Utils.buildSvgWithAssets(
icon: AppAssets.hmg_contact_icon,
width: 32.w,
height: 32.h,
fit: BoxFit.contain,
),
SizedBox(width: 8.w),
"HMG Contact".needTranslation.toText12(fontWeight: FontWeight.w500)
],
),
),
).onPress(() {
showCommonBottomSheetWithoutHeight(
context,
title: LocaleKeys.contactUs.tr(),
child: ContactUs(),
callBackFunc: () {},
isFullScreen: false,
);
}),
)
],
)
],
),
SizedBox(height: 24.h),
],
),
),
),
);

@ -3,8 +3,10 @@ import 'package:hmg_patient_app_new/core/app_export.dart';
import 'package:hmg_patient_app_new/core/dependencies.dart';
import 'package:hmg_patient_app_new/core/utils/utils.dart';
import 'package:hmg_patient_app_new/extensions/string_extensions.dart';
import 'package:hmg_patient_app_new/extensions/widget_extensions.dart';
import 'package:hmg_patient_app_new/features/hmg_services/models/ui_models/hmg_services_component_model.dart';
import 'package:hmg_patient_app_new/services/navigation_service.dart';
import 'package:hmg_patient_app_new/theme/colors.dart';
class ServiceGridViewItem extends StatelessWidget {
final HmgServicesComponentModel hmgServiceComponentModel;
@ -31,25 +33,25 @@ class ServiceGridViewItem extends StatelessWidget {
Container(
height: 48.h,
width: 48.w,
padding: EdgeInsets.zero,
margin: EdgeInsets.zero,
decoration: BoxDecoration(
decoration: RoundedRectangleBorder().toSmoothCornerDecoration(
color: hmgServiceComponentModel.bgColor,
borderRadius: BorderRadius.circular(12.r),
borderRadius: 12.r,
hasShadow: false,
),
child: Utils.buildSvgWithAssets(
icon: hmgServiceComponentModel.icon,
iconColor: hmgServiceComponentModel.iconColor,
height: 21.h,
width: 21.w,
fit: BoxFit.none,
child: Padding(
padding: EdgeInsets.all(12.h),
child: Utils.buildSvgWithAssets(
icon: hmgServiceComponentModel.icon,
iconColor: AppColors.whiteColor,
fit: BoxFit.contain,
),
),
),
SizedBox(height: 5.h),
hmgServiceComponentModel.title.toText12(
fontWeight: FontWeight.w500,
color: hmgServiceComponentModel.textColor,
maxLine: 1,
color: AppColors.textColor,
maxLine: 2,
),
],
));

@ -192,7 +192,6 @@ class _AlphabetScrollPageState extends State<AlphabeticScroll> {
itemCount: data.length,
itemBuilder: (_, index) {
final letter = alphabet[index].toLowerCase();
print("the letter is $letter");
final items = data[letter]!;
return Container(
key: _offsetKeys[letter],

@ -81,4 +81,9 @@ class AppColors {
static const Color infoBannerBorderColor = Color(0xFFFFE5B4);
static const Color infoBannerIconColor = Color(0xFFCC9B14);
static const Color infoBannerTextColor = Color(0xFF856404);
// Services Page Colors
static const Color eReferralCardColor = Color(0xFFFF8012);
static const Color bloodDonationCardColor = Color(0xFFFF5662);
static const Color bookAppointment = Color(0xFF415364);
}

Loading…
Cancel
Save