added devices

This commit is contained in:
ashrafzarkanisala
2024-11-16 23:58:33 +03:00
parent a6e2681b6a
commit 16dd95c8d1
23 changed files with 1117 additions and 114 deletions

View File

@ -0,0 +1,24 @@
<svg width="24" height="34" viewBox="0 0 24 34" fill="none" xmlns="http://www.w3.org/2000/svg">
<g filter="url(#filter0_d_3649_409)">
<path d="M19.9305 7.23112C19.9396 5.79329 19.2782 4.39819 17.964 3.08398H6.50128C5.18707 4.39819 4.52569 5.79329 4.53481 7.23112C4.56443 11.7406 11.3781 15.3494 11.3781 17.3597C11.3781 19.4213 4.56557 23.1344 4.56215 27.6626C4.56101 29.0868 5.21327 30.4619 6.50128 31.7499C6.50413 31.7528 9.36838 31.7545 12.2326 31.7545C15.0969 31.7545 17.9612 31.7528 17.964 31.7499C19.252 30.4619 19.9043 29.0868 19.9031 27.6626C19.8997 23.1389 13.0871 19.4167 13.0871 17.3597C13.0871 15.3425 19.9009 11.7514 19.9305 7.23112Z" fill="#F0F7FF"/>
<path d="M19.9306 7.23112C19.9397 5.79329 19.2783 4.39819 17.9641 3.08398H12.2328V31.7545C15.097 31.7545 17.9613 31.7528 17.9641 31.7499C19.2521 30.4619 19.9044 29.0868 19.9033 27.6626C19.8998 23.1389 13.0873 19.4167 13.0873 17.3597C13.0873 15.3425 19.901 11.7514 19.9306 7.23112Z" fill="#DFE7F4"/>
<path d="M15.6256 28.5742H8.8398C8.39261 28.5742 7.98132 28.2273 7.98132 27.669C7.98644 26.1999 10.5636 23.956 11.6317 22.8463C11.7986 22.6816 12.0157 22.5996 12.2327 22.5996C12.4497 22.5996 12.6668 22.6816 12.8337 22.8463C13.8944 23.9486 16.479 26.1959 16.4841 27.6719C16.4841 28.2279 16.0716 28.5742 15.6256 28.5742Z" fill="#FED843"/>
<path d="M16.4842 27.6719C16.479 26.1959 13.8945 23.9486 12.8338 22.8463C12.6669 22.6816 12.4498 22.5996 12.2328 22.5996V28.5742H15.6257C16.0717 28.5742 16.4842 28.2279 16.4842 27.6719Z" fill="#FABE2C"/>
<path d="M21.6322 31.1455C21.6322 30.6738 21.2494 30.291 20.7777 30.291H3.68785C3.21617 30.291 2.83336 30.6738 2.83336 31.1455C2.83336 31.6178 3.21617 32 3.68785 32H20.7777C21.2494 32 21.6322 31.6178 21.6322 31.1455Z" fill="#474F54"/>
<path d="M21.6322 31.1455C21.6322 30.6738 21.2494 30.291 20.7777 30.291H12.2328V32H20.7777C21.2494 32 21.6322 31.6178 21.6322 31.1455Z" fill="#32393F"/>
<path d="M21.6322 3.6875C21.6322 3.21582 21.2494 2.83301 20.7777 2.83301H3.68783C3.21615 2.83301 2.83334 3.21582 2.83334 3.6875C2.83334 4.15975 3.21615 4.54199 3.68783 4.54199H20.7777C21.2494 4.54199 21.6322 4.15975 21.6322 3.6875Z" fill="#474F54"/>
<path d="M21.6322 3.6875C21.6322 3.21582 21.2494 2.83301 20.7777 2.83301H12.2328V4.54199H20.7777C21.2494 4.54199 21.6322 4.15975 21.6322 3.6875Z" fill="#32393F"/>
</g>
<defs>
<filter id="filter0_d_3649_409" x="0.833336" y="0.833008" width="22.7989" height="33.167" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="1"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_3649_409"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_3649_409" result="shape"/>
</filter>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -0,0 +1,17 @@
<svg width="32" height="29" viewBox="0 0 32 29" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M31.4089 28.1905L28.9539 14.6644C28.9294 14.5294 28.8457 14.4124 28.7257 14.3457L22.5463 10.9088C22.4661 10.8642 22.3762 10.8464 22.2879 10.8532L23.4121 25.3557L23.3745 25.3725L30.7697 28.6902C30.8299 28.7171 30.8939 28.7305 30.9575 28.7305C31.0583 28.7305 31.1582 28.6973 31.2402 28.633C31.3744 28.5283 31.4393 28.3579 31.4089 28.1905Z" fill="#44C868"/>
<path d="M15.7915 14.1944L9.47164 10.9027C9.39589 10.8632 9.31191 10.8471 9.2292 10.8526C9.25112 10.8513 9.27315 10.8514 9.295 10.8531L8.17079 25.3556L15.6037 28.6902C15.6637 28.717 15.7277 28.7304 15.7915 28.7304V14.1944Z" fill="#44C868"/>
<path d="M9.29507 10.8535C9.20675 10.8466 9.11684 10.8644 9.03664 10.909L2.85725 14.3459C2.73726 14.4126 2.65352 14.5295 2.62904 14.6646L0.174019 28.1907C0.143623 28.358 0.208565 28.5284 0.342659 28.6333C0.424874 28.6976 0.524667 28.7307 0.625375 28.7307C0.689035 28.7307 0.753061 28.7175 0.81318 28.6905L8.16817 25.3908L9.29507 10.8535Z" fill="#4CE166"/>
<path d="M22.2881 10.853C22.2274 10.8577 22.1672 10.8739 22.1115 10.903L15.7916 14.1946V28.7306H15.7917C15.8555 28.7306 15.9195 28.7173 15.9795 28.6904L23.4124 25.3558L22.2881 10.853Z" fill="#4CE166"/>
<path d="M1.88505 18.7634L1.38633 21.5112L8.77123 17.6107L8.94268 15.3988L8.97112 15.032L1.88505 18.7634Z" fill="#FFDB56"/>
<path d="M8.83767 16.7529L8.7712 17.6106L1.3863 21.5111L0.174019 28.1904C0.143623 28.3577 0.208565 28.5282 0.342659 28.633C0.424874 28.6973 0.524667 28.7304 0.625375 28.7304C0.689035 28.7304 0.753061 28.7172 0.81318 28.6902L8.16817 25.3906L8.83767 16.7529Z" fill="#A8EEFC"/>
<path d="M15.7936 16.0075L8.97121 15.032L8.77132 17.6107L15.7918 28.2722V24.3954L11.6025 17.7988L15.7936 18.3001V16.0075Z" fill="#FFBB24"/>
<path d="M28.2397 14.0751L25.2712 12.4241L22.461 13.0807L22.4962 13.5345L22.635 15.325L28.2397 14.0751Z" fill="#FFBB24"/>
<path d="M22.8842 18.5403L22.6181 15.1071L22.461 13.0808L15.7936 16.0076V18.3002L20.1488 16.4063L22.8842 18.5403Z" fill="#FFDB56"/>
<path d="M31.4093 28.1904L30.7927 24.7928L22.6349 15.325L22.8842 18.5402L31.2503 28.6245C31.3775 28.5191 31.4389 28.3535 31.4093 28.1904Z" fill="#FFBB24"/>
<path d="M15.8208 0.833252C12.2831 0.833252 9.40482 3.70911 9.40482 7.24403C9.40482 9.43068 10.443 11.7783 12.4905 14.2217C13.9944 16.0163 15.4778 17.1706 15.5402 17.2188C15.6229 17.2827 15.7218 17.3147 15.8209 17.3147C15.9199 17.3147 16.019 17.2827 16.1016 17.2188C16.164 17.1706 17.6475 16.0163 19.1513 14.2217C21.1988 11.7783 22.237 9.43074 22.237 7.24403C22.2369 3.70911 19.3586 0.833252 15.8208 0.833252ZM18.197 7.24397C18.197 8.55513 17.1331 9.61812 15.8208 9.61812C14.5086 9.61812 13.4447 8.55519 13.4447 7.24397C13.4447 5.93275 14.5086 4.86982 15.8208 4.86982C17.1331 4.86982 18.197 5.93281 18.197 7.24397Z" fill="#FF4A4A"/>
<path d="M15.8209 0.833252C15.5405 0.833252 15.2644 0.85144 14.9934 0.886475C18.1417 1.2934 20.5819 3.98926 20.5819 7.24403C20.5819 9.43068 19.5437 11.7783 17.4962 14.2217C16.5291 15.3758 15.5711 16.2644 14.9934 16.765C15.3141 17.0428 15.5181 17.2016 15.5403 17.2188C15.6229 17.2827 15.7219 17.3147 15.821 17.3147C15.92 17.3147 16.0191 17.2827 16.1017 17.2188C16.1641 17.1706 17.6475 16.0163 19.1514 14.2217C21.1989 11.7783 22.2371 9.43074 22.2371 7.24403C22.237 3.70911 19.3587 0.833252 15.8209 0.833252Z" fill="#E7343F"/>
<path d="M15.9795 28.6904L18.7435 27.4504L15.7916 24.3955V28.7306H15.7917C15.8555 28.7306 15.9195 28.7174 15.9795 28.6904Z" fill="#FFDB56"/>
<path d="M28.9542 14.6644C28.9297 14.5294 28.8459 14.4125 28.7259 14.3458L28.2395 14.0752L22.6348 15.325L30.7925 24.7929L28.9542 14.6644Z" fill="#1EA4E9"/>
<path d="M15.7914 28.7307C15.7915 28.7307 15.7915 28.7307 15.7914 28.7307V28.2724L8.77105 17.6108L8.17065 25.3559L15.6036 28.6905C15.6636 28.7174 15.7276 28.7307 15.7914 28.7307Z" fill="#1EA4E9"/>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@ -0,0 +1,10 @@
<svg width="27" height="30" viewBox="0 0 27 30" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M15.0264 6.14413C14.5545 6.14413 14.1719 5.76155 14.1719 5.28964V3.39648C14.1719 2.92532 13.7885 2.54199 13.3174 2.54199C12.8462 2.54199 12.4629 2.92532 12.4629 3.39648V5.28964C12.4629 5.76155 12.0803 6.14413 11.6084 6.14413C11.1365 6.14413 10.7539 5.76155 10.7539 5.28964V3.39648C10.7539 1.98298 11.9039 0.833008 13.3174 0.833008C14.7309 0.833008 15.8809 1.98298 15.8809 3.39648V5.28964C15.8809 5.76155 15.4983 6.14413 15.0264 6.14413Z" fill="#FFB454"/>
<path d="M14.1719 3.39648V5.28964C14.1719 5.76155 14.5545 6.14413 15.0264 6.14413C15.4983 6.14413 15.8809 5.76155 15.8809 5.28964V3.39648C15.8809 1.98298 14.7309 0.833008 13.3174 0.833008V2.54199C13.7886 2.54199 14.1719 2.92532 14.1719 3.39648Z" fill="#FF8E00"/>
<path d="M13.3174 30C10.9615 30 9.04492 28.0834 9.04492 25.7275C9.04492 25.2556 9.42751 24.873 9.89941 24.873H16.7354C17.2073 24.873 17.5898 25.2556 17.5898 25.7275C17.5898 28.0834 15.6733 30 13.3174 30Z" fill="#FFB454"/>
<path d="M16.7354 24.873H13.3174V30C15.6732 30 17.5898 28.0834 17.5898 25.7275C17.5898 25.2556 17.2073 24.873 16.7354 24.873Z" fill="#FF8E00"/>
<path d="M25.2803 26.5817H1.3545C1.01214 26.5817 0.702866 26.3774 0.56854 26.0625C0.434214 25.7476 0.500807 25.3829 0.737786 25.1358C3.15589 22.614 4.48764 19.301 4.48764 15.8072V13.0807C4.48764 8.212 8.44867 4.25098 13.3174 4.25098C18.1861 4.25098 22.1471 8.212 22.1471 13.0807V15.8072C22.1471 19.3011 23.4789 22.614 25.8971 25.1358C26.134 25.3829 26.2006 25.7476 26.0662 26.0625C25.932 26.3774 25.6226 26.5817 25.2803 26.5817Z" fill="#FFE278"/>
<path d="M25.2803 26.5817C25.6226 26.5817 25.9319 26.3774 26.0662 26.0625C26.2006 25.7476 26.134 25.3829 25.897 25.1358C23.4789 22.614 22.1471 19.301 22.1471 15.8072V13.0807C22.1471 8.212 18.1861 4.25098 13.3174 4.25098V26.5817H25.2803Z" fill="#FFB454"/>
<path d="M25.2802 13.9356C24.8083 13.9356 24.4257 13.553 24.4257 13.0811C24.4257 10.1139 23.2703 7.32434 21.1721 5.22628C20.8384 4.89257 20.8384 4.35157 21.1721 4.01786C21.5058 3.68415 22.0469 3.68415 22.3806 4.01786C24.8014 6.43869 26.1347 9.65745 26.1347 13.0811C26.1347 13.553 25.7521 13.9356 25.2802 13.9356Z" fill="#08475E"/>
<path d="M1.35449 13.9356C0.882585 13.9356 0.5 13.553 0.5 13.0811C0.5 9.65745 1.83324 6.43875 4.25413 4.01786C4.58778 3.68415 5.12884 3.68415 5.46255 4.01786C5.79626 4.35157 5.79626 4.89257 5.46255 5.22628C3.36449 7.3244 2.20898 10.114 2.20898 13.0811C2.20898 13.553 1.8264 13.9356 1.35449 13.9356Z" fill="#0A789B"/>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -0,0 +1,17 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M25.182 5.83674V27.8015C25.182 29.311 24.2526 30.6037 22.9346 31.137C22.5177 31.3065 22.062 31.3997 21.5845 31.3997H3.76484C1.77738 31.3997 0.166626 29.7883 0.166626 27.8015V5.83674C0.166626 3.84929 1.77738 2.23877 3.76484 2.23877H21.5845C23.5712 2.23877 25.182 3.84929 25.182 5.83674Z" fill="#5B5B68"/>
<path d="M22.4144 5.83653V27.8013C22.4144 28.2591 22.0422 28.6313 21.5844 28.6313H3.76478C3.30702 28.6313 2.93484 28.2591 2.93484 27.8013V5.83653C2.93484 5.379 3.30702 5.00659 3.76478 5.00659H21.5844C22.0422 5.00659 22.4144 5.379 22.4144 5.83653Z" fill="#E2EFF2"/>
<path d="M17.7793 6.10051H7.56948C6.71737 6.10051 6.02667 5.40981 6.02667 4.5577V1.70955C6.02667 0.857447 6.71737 0.166748 7.56948 0.166748H17.7793C18.6314 0.166748 19.3221 0.857447 19.3221 1.70955V4.5577C19.3221 5.40981 18.6314 6.10051 17.7793 6.10051Z" fill="#FED563"/>
<path d="M25.1819 13.6436V27.8014C25.1819 29.3108 24.2525 30.6035 22.9345 31.1369C22.38 31.2751 21.8056 31.3645 21.2172 31.3996C21.0267 31.411 20.8355 31.4168 20.6424 31.4168C20.4492 31.4168 20.258 31.411 20.0673 31.3996C15.1077 31.1025 11.1769 26.9855 11.1769 21.9513C11.1769 16.7235 15.415 12.4861 20.6424 12.4861C22.2867 12.4861 23.8346 12.9055 25.1819 13.6436Z" fill="#40404C"/>
<path d="M11.1883 3.116C11.1883 3.89038 10.5605 4.51814 9.78614 4.51814C9.01151 4.51814 8.38376 3.89038 8.38376 3.116C8.38376 2.34138 9.01151 1.71362 9.78614 1.71362C10.5605 1.71362 11.1883 2.34138 11.1883 3.116Z" fill="#40404C"/>
<path d="M16.9648 3.116C16.9648 3.89038 16.337 4.51814 15.5626 4.51814C14.7882 4.51814 14.1602 3.89038 14.1602 3.116C14.1602 2.34138 14.7882 1.71362 15.5626 1.71362C16.337 1.71362 16.9648 2.34138 16.9648 3.116Z" fill="#40404C"/>
<path d="M22.4145 12.6518V27.8014C22.4145 28.2591 22.0423 28.6313 21.5846 28.6313H13.9366C12.2314 26.9199 11.1771 24.5589 11.1771 21.9513C11.1771 16.7235 15.4145 12.4861 20.6426 12.4861C21.2482 12.4861 21.8402 12.5426 22.4145 12.6518Z" fill="#BBD8DD"/>
<path d="M31.1591 21.9511C31.1591 27.1786 26.9215 31.4165 21.6939 31.4165C16.4663 31.4165 12.2285 27.1786 12.2285 21.9511C12.2285 16.7235 16.4663 12.4856 21.6939 12.4856C26.9215 12.4856 31.1591 16.7235 31.1591 21.9511Z" fill="#55C7F3"/>
<path d="M28.6038 21.9511C28.6038 25.7672 25.5105 28.8612 21.6944 28.8612C21.3592 28.8612 21.029 28.8376 20.7064 28.7904C17.358 28.3119 14.7843 25.432 14.7843 21.9511C14.7843 18.4704 17.358 15.5906 20.7064 15.1118C21.029 15.0646 21.3592 15.041 21.6944 15.041C25.5103 15.041 28.6038 18.135 28.6038 21.9511Z" fill="#DAFDFD"/>
<path d="M26.6277 21.9511C26.6277 25.432 24.0547 28.3119 20.7064 28.7904C17.358 28.3119 14.7843 25.432 14.7843 21.9511C14.7843 18.4704 17.358 15.5906 20.7064 15.1118C24.0547 15.5906 26.6277 18.4704 26.6277 21.9511Z" fill="#56D8D8"/>
<path d="M21.6941 29.339C17.6202 29.339 14.3062 26.0247 14.3062 21.9511C14.3062 17.8775 17.6202 14.5632 21.6941 14.5632C25.7677 14.5632 29.0819 17.8775 29.0819 21.9511C29.0819 26.0247 25.7677 29.339 21.6941 29.339ZM21.6941 15.5195C18.1476 15.5195 15.2622 18.4046 15.2622 21.9511C15.2622 25.4976 18.1476 28.3829 21.6941 28.3829C25.2405 28.3829 28.1256 25.4976 28.1256 21.9511C28.1256 18.4046 25.2405 15.5195 21.6941 15.5195Z" fill="#17A3CE"/>
<path d="M24.2118 22.9073H21.6938C21.1657 22.9073 20.7378 22.4793 20.7378 21.9512V17.6489C20.7378 17.1208 21.1657 16.6929 21.6938 16.6929C22.2217 16.6929 22.6499 17.1208 22.6499 17.6489V20.9951H24.2118C24.7396 20.9951 25.1678 21.4233 25.1678 21.9512C25.1678 22.4793 24.7399 22.9073 24.2118 22.9073Z" fill="#5B5B68"/>
<path d="M7.54382 15.0891C7.31232 15.0891 7.09321 14.978 6.9566 14.7882L4.97868 12.0385C4.74527 11.714 4.81918 11.2617 5.14366 11.0286C5.46815 10.7951 5.92019 10.8691 6.15361 11.1933L7.42891 12.9662L9.11453 9.55847C9.29167 9.20036 9.72559 9.0535 10.0839 9.23064C10.442 9.40779 10.5889 9.84195 10.4118 10.2001L8.1928 14.6864C8.08003 14.9141 7.85639 15.0659 7.60343 15.0867C7.58364 15.0883 7.56361 15.0891 7.54382 15.0891Z" fill="#FC315F"/>
<path d="M7.54382 23.9991C7.31232 23.9991 7.09321 23.888 6.9566 23.698L4.97868 20.9483C4.74527 20.6238 4.81918 20.1718 5.14366 19.9384C5.46815 19.705 5.92019 19.7789 6.15361 20.1034L7.42891 21.8762L9.11453 18.4685C9.29167 18.1102 9.72559 17.9633 10.0839 18.1407C10.442 18.3178 10.5889 18.7518 10.4118 19.1101L8.1928 23.5962C8.08003 23.8239 7.85639 23.9758 7.60343 23.9965C7.58364 23.9984 7.56361 23.9991 7.54382 23.9991Z" fill="#FC315F"/>
<path d="M17.654 12.2192H12.2045C11.9405 12.2192 11.7264 12.0051 11.7264 11.7412C11.7264 11.4773 11.9405 11.2632 12.2045 11.2632H17.654C17.9179 11.2632 18.132 11.4773 18.132 11.7412C18.132 12.0051 17.9179 12.2192 17.654 12.2192Z" fill="#5B5B68"/>
</svg>

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@ -0,0 +1,9 @@
<svg width="20" height="32" viewBox="0 0 20 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M19.2836 17.0685V26.2797C19.2836 26.6532 19.257 27.0266 19.2043 27.3951C19.151 27.7644 19.0723 28.1294 18.9678 28.4881C18.8182 28.9977 18.7059 29.5165 18.6315 30.0409C18.5564 30.5645 18.5185 31.0938 18.5185 31.6252H7.6766V29.9573C7.6766 29.6878 7.59938 29.4309 7.45969 29.2125C7.3214 28.9942 7.12134 28.8138 6.87776 28.6994C6.6426 28.5885 6.33654 28.399 6.05084 28.2094C5.51945 27.8563 5.09546 27.3629 4.8245 26.7851L3.0036 22.9004C2.69192 22.2364 2.79792 21.4509 3.27456 20.8928L3.8958 20.1649C4.25661 19.743 4.41947 19.1863 4.34506 18.6367C4.33593 18.5714 4.33102 18.5061 4.33102 18.4422C4.33102 17.6708 4.95787 17.0243 5.7525 17.0243C5.8234 17.0243 5.8936 17.0271 5.96309 17.0341C6.22844 17.0566 6.48185 17.1239 6.7149 17.2278V7.79058C6.7149 7.34132 6.89671 6.93559 7.19154 6.64076C7.48566 6.34734 7.8921 6.16553 8.34136 6.16553C9.23847 6.16553 9.96642 6.89277 9.96642 7.79058V15.2153C9.96642 14.766 10.1482 14.3603 10.4423 14.0655C10.7372 13.7713 11.1429 13.5895 11.5922 13.5895C12.49 13.5895 13.2172 14.3175 13.2172 15.2153V16.3363C13.2172 15.8878 13.399 15.4813 13.6932 15.1872C13.9873 14.8931 14.3944 14.7113 14.843 14.7113C15.7408 14.7113 16.4687 15.4385 16.4687 16.3363V17.1001C16.4687 16.3265 17.0802 15.6737 17.8537 15.661C18.2517 15.6547 18.6119 15.8141 18.8716 16.0731C19.1257 16.3279 19.2836 16.6803 19.2836 17.0685Z" fill="#FCD09F"/>
<path d="M8.79733 0.375H7.88478V3.8039H8.79733V0.375Z" fill="#1EA6C6"/>
<path d="M11.011 4.75317L11.6562 5.39844L14.0808 2.97386L13.4355 2.32859L11.011 4.75317Z" fill="#1EA6C6"/>
<path d="M15.979 7.63501H12.55V8.54757H15.979V7.63501Z" fill="#1EA6C6"/>
<path d="M4.05383 7.5564H0.625V8.46895H4.05383V7.5564Z" fill="#1EA6C6"/>
<path d="M2.57848 2.91844L5.00305 5.34302L5.64832 4.69775L3.22375 2.27317L2.57848 2.91844Z" fill="#1EA6C6"/>
<path d="M6.71484 17.2277V22.3106C6.50706 22.3106 6.31893 22.2264 6.18345 22.0909C6.04727 21.9547 5.96303 21.7666 5.96303 21.5588V17.0339C6.22838 17.0564 6.48179 17.1238 6.71484 17.2277Z" fill="#E2B991"/>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -0,0 +1,242 @@
<svg width="36" height="34" viewBox="0 0 36 34" fill="none" xmlns="http://www.w3.org/2000/svg">
<g filter="url(#filter0_d_3595_14062)">
<path d="M22.9887 19.8641C26.6353 19.8641 29.5914 16.908 29.5914 13.2614C29.5914 9.61483 26.6353 6.65869 22.9887 6.65869C19.3421 6.65869 16.386 9.61483 16.386 13.2614C16.386 16.908 19.3421 19.8641 22.9887 19.8641Z" fill="url(#paint0_linear_3595_14062)"/>
<path d="M22.9887 19.8641C26.6353 19.8641 29.5914 16.908 29.5914 13.2614C29.5914 9.61483 26.6353 6.65869 22.9887 6.65869C19.3421 6.65869 16.386 9.61483 16.386 13.2614C16.386 16.908 19.3421 19.8641 22.9887 19.8641Z" fill="url(#paint1_linear_3595_14062)"/>
<path d="M16.386 13.2614C16.386 16.9045 19.3395 19.8642 22.9887 19.8642C26.6318 19.8642 29.5914 16.9106 29.5914 13.2614C29.5914 12.7855 29.5426 12.3217 29.445 11.8762H16.5325C16.4348 12.3217 16.386 12.7855 16.386 13.2614Z" fill="url(#paint2_linear_3595_14062)"/>
<path d="M22.9887 19.858C26.6318 19.858 29.5914 16.9045 29.5914 13.2553C29.5914 9.61222 26.6379 6.65259 22.9887 6.65259C22.5127 6.65259 22.049 6.70141 21.6035 6.79904V19.7116C22.049 19.8092 22.5127 19.858 22.9887 19.858Z" fill="url(#paint3_linear_3595_14062)"/>
<path d="M18.3205 17.9296C20.8957 20.5048 25.0758 20.5048 27.6571 17.9296C30.2323 15.3545 30.2323 11.1744 27.6571 8.59309C27.3215 8.25746 26.9553 7.96455 26.577 7.72046L17.4479 16.8434C17.692 17.2279 17.9849 17.594 18.3205 17.9296Z" fill="url(#paint4_linear_3595_14062)"/>
<path d="M22.9888 2.625C23.3855 2.625 23.7089 2.94842 23.7089 3.34507V4.88286C23.7089 5.27951 23.3855 5.60293 22.9888 5.60293C22.5922 5.60293 22.2687 5.27951 22.2687 4.88286V3.34507C22.2687 2.94842 22.5922 2.625 22.9888 2.625Z" fill="url(#paint5_linear_3595_14062)"/>
<path d="M33.6192 13.2613C33.6192 13.658 33.2958 13.9814 32.8991 13.9814H31.3614C30.9647 13.9814 30.6413 13.658 30.6413 13.2613C30.6413 12.8647 30.9647 12.5413 31.3614 12.5413H32.8991C33.2958 12.5413 33.6192 12.8647 33.6192 13.2613Z" fill="url(#paint6_linear_3595_14062)"/>
<path d="M17.5761 7.84855C17.2954 8.12925 16.8377 8.12925 16.557 7.84855L15.4708 6.76233C15.1901 6.48163 15.1901 6.02395 15.4708 5.74325C15.7515 5.46254 16.2092 5.46254 16.4899 5.74325L17.5761 6.82946C17.8568 7.11017 17.8568 7.56784 17.5761 7.84855Z" fill="url(#paint7_linear_3595_14062)"/>
<path d="M30.5071 20.7731C30.2264 21.0538 29.7688 21.0538 29.4881 20.7731L28.4018 19.6869C28.1211 19.4062 28.1211 18.9485 28.4018 18.6678C28.6826 18.3871 29.1402 18.3871 29.4209 18.6678L30.5071 19.754C30.7879 20.0408 30.7879 20.4924 30.5071 20.7731Z" fill="url(#paint8_linear_3595_14062)"/>
<path d="M30.507 5.74325C30.7877 6.02395 30.7877 6.48163 30.507 6.76233L29.4208 7.84855C29.1401 8.12925 28.6824 8.12925 28.4017 7.84855C28.121 7.56784 28.121 7.11017 28.4017 6.82946L29.4879 5.74325C29.7686 5.46254 30.2263 5.46254 30.507 5.74325Z" fill="url(#paint9_linear_3595_14062)"/>
<path d="M22.293 18.4238C21.9207 18.4238 21.5607 18.4726 21.219 18.5581C21.3288 18.0943 21.3898 17.6061 21.3898 17.1057C21.3898 13.6823 18.6133 10.9058 15.1899 10.9058C11.9129 10.9058 9.22791 13.4504 9.00823 16.6786C8.56886 16.5626 8.11118 16.4955 7.6352 16.4955C4.7305 16.4955 2.375 18.8571 2.375 21.7618C2.375 24.6665 4.7305 27.022 7.6352 27.022H22.293C24.6668 27.022 26.589 25.0998 26.589 22.726C26.589 20.3522 24.6668 18.4238 22.293 18.4238Z" fill="url(#paint10_linear_3595_14062)"/>
<path d="M22.293 27.022C24.6656 27.022 26.589 25.0986 26.589 22.726C26.589 20.3533 24.6656 18.4299 22.293 18.4299C19.9203 18.4299 17.9969 20.3533 17.9969 22.726C17.9969 25.0986 19.9203 27.022 22.293 27.022Z" fill="url(#paint11_linear_3595_14062)"/>
<path d="M7.6352 27.0221C10.5403 27.0221 12.8954 24.667 12.8954 21.7619C12.8954 18.8568 10.5403 16.5017 7.6352 16.5017C4.73007 16.5017 2.375 18.8568 2.375 21.7619C2.375 24.667 4.73007 27.0221 7.6352 27.0221Z" fill="url(#paint12_linear_3595_14062)"/>
<path d="M21.3899 17.1057C21.3899 17.6061 21.3288 18.0943 21.219 18.5581C19.3883 19.028 18.0336 20.6695 17.997 22.6344C17.1549 23.0616 16.2029 23.3057 15.1899 23.3057C11.7665 23.3057 8.98994 20.5291 8.98994 17.1057C8.98994 13.6823 11.7665 10.9058 15.1899 10.9058C18.6133 10.9058 21.3899 13.6823 21.3899 17.1057Z" fill="url(#paint13_linear_3595_14062)"/>
<path d="M30.9094 25.7527C30.6775 25.7527 30.4457 25.7832 30.2321 25.8382C30.3053 25.5453 30.3419 25.2401 30.3419 24.9228C30.3419 22.7687 28.5966 21.0173 26.4364 21.0173C24.3677 21.0173 22.6835 22.6222 22.5431 24.6543C22.2685 24.5811 21.9756 24.5384 21.6827 24.5384C19.852 24.5384 18.3692 26.0212 18.3692 27.8519C18.3692 29.6826 19.852 31.1655 21.6827 31.1655H30.9155C32.4106 31.1655 33.625 29.9511 33.625 28.4561C33.6189 26.9671 32.4045 25.7527 30.9094 25.7527Z" fill="url(#paint14_linear_3595_14062)"/>
<path d="M30.9095 31.1715C32.4059 31.1715 33.619 29.9585 33.619 28.4621C33.619 26.9657 32.4059 25.7527 30.9095 25.7527C29.4132 25.7527 28.2001 26.9657 28.2001 28.4621C28.2001 29.9585 29.4132 31.1715 30.9095 31.1715Z" fill="url(#paint15_linear_3595_14062)"/>
<path d="M21.6828 31.1655C23.5129 31.1655 24.9964 29.6819 24.9964 27.8519C24.9964 26.0219 23.5129 24.5383 21.6828 24.5383C19.8528 24.5383 18.3693 26.0219 18.3693 27.8519C18.3693 29.6819 19.8528 31.1655 21.6828 31.1655Z" fill="url(#paint16_linear_3595_14062)"/>
<path d="M30.3419 24.9228C30.3419 25.2401 30.3053 25.5453 30.2321 25.8382C29.0788 26.1372 28.2244 27.1685 28.2 28.4072C27.6691 28.6758 27.0711 28.8283 26.4364 28.8283C24.2823 28.8283 22.531 27.083 22.531 24.9228C22.531 22.7687 24.2762 21.0173 26.4364 21.0173C28.5967 21.0173 30.3419 22.7687 30.3419 24.9228Z" fill="url(#paint17_linear_3595_14062)"/>
<path d="M6.07302 27.8946C6.35373 28.1753 6.35373 28.633 6.07302 28.9137L4.98681 29.9999C4.7061 30.2806 4.24842 30.2806 3.96772 29.9999C3.68701 29.7192 3.68701 29.2615 3.96772 28.9808L5.05393 27.8946C5.33464 27.6139 5.79231 27.6139 6.07302 27.8946Z" fill="url(#paint18_linear_3595_14062)"/>
<path d="M11.3089 27.8946C11.5896 28.1753 11.5896 28.633 11.3089 28.9137L10.2227 29.9999C9.94198 30.2806 9.48431 30.2806 9.2036 29.9999C8.9229 29.7192 8.9229 29.2615 9.2036 28.9808L10.2898 27.8946C10.5705 27.6139 11.0282 27.6139 11.3089 27.8946Z" fill="url(#paint19_linear_3595_14062)"/>
<path d="M16.5446 27.8946C16.8253 28.1753 16.8253 28.633 16.5446 28.9137L15.4583 29.9999C15.1776 30.2806 14.72 30.2806 14.4393 29.9999C14.1586 29.7192 14.1586 29.2615 14.4393 28.9808L15.5255 27.8946C15.8062 27.6139 16.2639 27.6139 16.5446 27.8946Z" fill="url(#paint20_linear_3595_14062)"/>
</g>
<defs>
<filter id="filter0_d_3595_14062" x="0.375" y="0.625" width="35.25" height="32.5466" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="1"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_3595_14062"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_3595_14062" result="shape"/>
</filter>
<linearGradient id="paint0_linear_3595_14062" x1="18.7532" y1="9.0242" x2="26.9253" y2="17.1962" gradientUnits="userSpaceOnUse">
<stop stop-color="#FEF0AE"/>
<stop offset="0.1466" stop-color="#FDEEA9"/>
<stop offset="0.2986" stop-color="#FDEB9D"/>
<stop offset="0.4531" stop-color="#FDE688"/>
<stop offset="0.6093" stop-color="#FCDF6B"/>
<stop offset="0.7669" stop-color="#FBD646"/>
<stop offset="0.9233" stop-color="#FACC18"/>
<stop offset="1" stop-color="#FAC600"/>
</linearGradient>
<linearGradient id="paint1_linear_3595_14062" x1="23.5371" y1="12.8418" x2="18.8762" y2="16.3807" gradientUnits="userSpaceOnUse">
<stop stop-color="#FE9738" stop-opacity="0"/>
<stop offset="0.1207" stop-color="#FE9738" stop-opacity="0.016"/>
<stop offset="0.2459" stop-color="#FE9738" stop-opacity="0.065"/>
<stop offset="0.3731" stop-color="#FE9738" stop-opacity="0.147"/>
<stop offset="0.5018" stop-color="#FE9738" stop-opacity="0.262"/>
<stop offset="0.6317" stop-color="#FE9738" stop-opacity="0.41"/>
<stop offset="0.7625" stop-color="#FE9738" stop-opacity="0.59"/>
<stop offset="0.8916" stop-color="#FE9738" stop-opacity="0.8"/>
<stop offset="1" stop-color="#FE9738"/>
</linearGradient>
<linearGradient id="paint2_linear_3595_14062" x1="22.9879" y1="14.2857" x2="22.9879" y2="20.309" gradientUnits="userSpaceOnUse">
<stop stop-color="#FE9738" stop-opacity="0"/>
<stop offset="0.1207" stop-color="#FE9738" stop-opacity="0.016"/>
<stop offset="0.2459" stop-color="#FE9738" stop-opacity="0.065"/>
<stop offset="0.3731" stop-color="#FE9738" stop-opacity="0.147"/>
<stop offset="0.5018" stop-color="#FE9738" stop-opacity="0.262"/>
<stop offset="0.6317" stop-color="#FE9738" stop-opacity="0.41"/>
<stop offset="0.7625" stop-color="#FE9738" stop-opacity="0.59"/>
<stop offset="0.8916" stop-color="#FE9738" stop-opacity="0.8"/>
<stop offset="1" stop-color="#FE9738"/>
</linearGradient>
<linearGradient id="paint3_linear_3595_14062" x1="24.0146" y1="13.2589" x2="30.0379" y2="13.2589" gradientUnits="userSpaceOnUse">
<stop stop-color="#FE9738" stop-opacity="0"/>
<stop offset="0.1207" stop-color="#FE9738" stop-opacity="0.016"/>
<stop offset="0.2459" stop-color="#FE9738" stop-opacity="0.065"/>
<stop offset="0.3731" stop-color="#FE9738" stop-opacity="0.147"/>
<stop offset="0.5018" stop-color="#FE9738" stop-opacity="0.262"/>
<stop offset="0.6317" stop-color="#FE9738" stop-opacity="0.41"/>
<stop offset="0.7625" stop-color="#FE9738" stop-opacity="0.59"/>
<stop offset="0.8916" stop-color="#FE9738" stop-opacity="0.8"/>
<stop offset="1" stop-color="#FE9738"/>
</linearGradient>
<linearGradient id="paint4_linear_3595_14062" x1="25.8373" y1="16.1081" x2="28.0905" y2="18.3614" gradientUnits="userSpaceOnUse">
<stop stop-color="#F5FBFF" stop-opacity="0"/>
<stop offset="0.1205" stop-color="#F5FBFF" stop-opacity="0.016"/>
<stop offset="0.2454" stop-color="#F5FBFF" stop-opacity="0.065"/>
<stop offset="0.3724" stop-color="#F5FBFF" stop-opacity="0.147"/>
<stop offset="0.5008" stop-color="#F5FBFF" stop-opacity="0.261"/>
<stop offset="0.6304" stop-color="#F5FBFF" stop-opacity="0.408"/>
<stop offset="0.761" stop-color="#F5FBFF" stop-opacity="0.588"/>
<stop offset="0.8898" stop-color="#F5FBFF" stop-opacity="0.797"/>
<stop offset="1" stop-color="#F5FBFF"/>
</linearGradient>
<linearGradient id="paint5_linear_3595_14062" x1="22.4261" y1="4.11665" x2="23.5193" y2="4.11665" gradientUnits="userSpaceOnUse">
<stop stop-color="#FEF0AE"/>
<stop offset="0.1466" stop-color="#FDEEA9"/>
<stop offset="0.2986" stop-color="#FDEB9D"/>
<stop offset="0.4531" stop-color="#FDE688"/>
<stop offset="0.6093" stop-color="#FCDF6B"/>
<stop offset="0.7669" stop-color="#FBD646"/>
<stop offset="0.9233" stop-color="#FACC18"/>
<stop offset="1" stop-color="#FAC600"/>
</linearGradient>
<linearGradient id="paint6_linear_3595_14062" x1="32.1303" y1="12.6969" x2="32.1303" y2="13.7902" gradientUnits="userSpaceOnUse">
<stop stop-color="#FEF0AE"/>
<stop offset="0.1466" stop-color="#FDEEA9"/>
<stop offset="0.2986" stop-color="#FDEB9D"/>
<stop offset="0.4531" stop-color="#FDE688"/>
<stop offset="0.6093" stop-color="#FCDF6B"/>
<stop offset="0.7669" stop-color="#FBD646"/>
<stop offset="0.9233" stop-color="#FACC18"/>
<stop offset="1" stop-color="#FAC600"/>
</linearGradient>
<linearGradient id="paint7_linear_3595_14062" x1="16.9274" y1="6.39923" x2="16.1545" y2="7.17219" gradientUnits="userSpaceOnUse">
<stop stop-color="#FEF0AE"/>
<stop offset="0.1466" stop-color="#FDEEA9"/>
<stop offset="0.2986" stop-color="#FDEB9D"/>
<stop offset="0.4531" stop-color="#FDE688"/>
<stop offset="0.6093" stop-color="#FCDF6B"/>
<stop offset="0.7669" stop-color="#FBD646"/>
<stop offset="0.9233" stop-color="#FACC18"/>
<stop offset="1" stop-color="#FAC600"/>
</linearGradient>
<linearGradient id="paint8_linear_3595_14062" x1="29.8547" y1="19.3261" x2="29.0818" y2="20.0991" gradientUnits="userSpaceOnUse">
<stop stop-color="#FEF0AE"/>
<stop offset="0.1466" stop-color="#FDEEA9"/>
<stop offset="0.2986" stop-color="#FDEB9D"/>
<stop offset="0.4531" stop-color="#FDE688"/>
<stop offset="0.6093" stop-color="#FCDF6B"/>
<stop offset="0.7669" stop-color="#FBD646"/>
<stop offset="0.9233" stop-color="#FACC18"/>
<stop offset="1" stop-color="#FAC600"/>
</linearGradient>
<linearGradient id="paint9_linear_3595_14062" x1="29.0489" y1="6.39928" x2="29.8218" y2="7.17223" gradientUnits="userSpaceOnUse">
<stop stop-color="#FEF0AE"/>
<stop offset="0.1466" stop-color="#FDEEA9"/>
<stop offset="0.2986" stop-color="#FDEB9D"/>
<stop offset="0.4531" stop-color="#FDE688"/>
<stop offset="0.6093" stop-color="#FCDF6B"/>
<stop offset="0.7669" stop-color="#FBD646"/>
<stop offset="0.9233" stop-color="#FACC18"/>
<stop offset="1" stop-color="#FAC600"/>
</linearGradient>
<linearGradient id="paint10_linear_3595_14062" x1="10.3531" y1="15.306" x2="17.6798" y2="27.8429" gradientUnits="userSpaceOnUse">
<stop stop-color="#EAF6FF"/>
<stop offset="0.2651" stop-color="#E5F3FE"/>
<stop offset="0.5398" stop-color="#D9EDFE"/>
<stop offset="0.8179" stop-color="#C4E3FE"/>
<stop offset="1" stop-color="#B3DAFE"/>
</linearGradient>
<linearGradient id="paint11_linear_3595_14062" x1="22.3424" y1="22.7237" x2="26.8465" y2="22.7237" gradientUnits="userSpaceOnUse">
<stop stop-color="#8AC9FE" stop-opacity="0"/>
<stop offset="0.1291" stop-color="#89C8FD" stop-opacity="0.019"/>
<stop offset="0.2629" stop-color="#88C6FB" stop-opacity="0.075"/>
<stop offset="0.3989" stop-color="#87C4F8" stop-opacity="0.168"/>
<stop offset="0.5365" stop-color="#85C0F4" stop-opacity="0.298"/>
<stop offset="0.6753" stop-color="#83BBEF" stop-opacity="0.466"/>
<stop offset="0.8151" stop-color="#7FB5E9" stop-opacity="0.672"/>
<stop offset="0.9532" stop-color="#7CAEE1" stop-opacity="0.911"/>
<stop offset="1" stop-color="#7BACDF"/>
</linearGradient>
<linearGradient id="paint12_linear_3595_14062" x1="8.63916" y1="20.0671" x2="11" y2="16.0781" gradientUnits="userSpaceOnUse">
<stop stop-color="#8AC9FE" stop-opacity="0"/>
<stop offset="0.1291" stop-color="#89C8FD" stop-opacity="0.019"/>
<stop offset="0.2629" stop-color="#88C6FB" stop-opacity="0.075"/>
<stop offset="0.3989" stop-color="#87C4F8" stop-opacity="0.168"/>
<stop offset="0.5365" stop-color="#85C0F4" stop-opacity="0.298"/>
<stop offset="0.6753" stop-color="#83BBEF" stop-opacity="0.466"/>
<stop offset="0.8151" stop-color="#7FB5E9" stop-opacity="0.672"/>
<stop offset="0.9532" stop-color="#7CAEE1" stop-opacity="0.911"/>
<stop offset="1" stop-color="#7BACDF"/>
</linearGradient>
<linearGradient id="paint13_linear_3595_14062" x1="17.3769" y1="16.1766" x2="21.773" y2="14.3043" gradientUnits="userSpaceOnUse">
<stop stop-color="#8AC9FE" stop-opacity="0"/>
<stop offset="0.1291" stop-color="#89C8FD" stop-opacity="0.019"/>
<stop offset="0.2629" stop-color="#88C6FB" stop-opacity="0.075"/>
<stop offset="0.3989" stop-color="#87C4F8" stop-opacity="0.168"/>
<stop offset="0.5365" stop-color="#85C0F4" stop-opacity="0.298"/>
<stop offset="0.6753" stop-color="#83BBEF" stop-opacity="0.466"/>
<stop offset="0.8151" stop-color="#7FB5E9" stop-opacity="0.672"/>
<stop offset="0.9532" stop-color="#7CAEE1" stop-opacity="0.911"/>
<stop offset="1" stop-color="#7BACDF"/>
</linearGradient>
<linearGradient id="paint14_linear_3595_14062" x1="23.3914" y1="23.7892" x2="28.0062" y2="31.6858" gradientUnits="userSpaceOnUse">
<stop stop-color="#EAF6FF"/>
<stop offset="0.2651" stop-color="#E5F3FE"/>
<stop offset="0.5398" stop-color="#D9EDFE"/>
<stop offset="0.8179" stop-color="#C4E3FE"/>
<stop offset="1" stop-color="#B3DAFE"/>
</linearGradient>
<linearGradient id="paint15_linear_3595_14062" x1="30.9432" y1="28.4613" x2="33.7801" y2="28.4613" gradientUnits="userSpaceOnUse">
<stop stop-color="#8AC9FE" stop-opacity="0"/>
<stop offset="0.1291" stop-color="#89C8FD" stop-opacity="0.019"/>
<stop offset="0.2629" stop-color="#88C6FB" stop-opacity="0.075"/>
<stop offset="0.3989" stop-color="#87C4F8" stop-opacity="0.168"/>
<stop offset="0.5365" stop-color="#85C0F4" stop-opacity="0.298"/>
<stop offset="0.6753" stop-color="#83BBEF" stop-opacity="0.466"/>
<stop offset="0.8151" stop-color="#7FB5E9" stop-opacity="0.672"/>
<stop offset="0.9532" stop-color="#7CAEE1" stop-opacity="0.911"/>
<stop offset="1" stop-color="#7BACDF"/>
</linearGradient>
<linearGradient id="paint16_linear_3595_14062" x1="22.312" y1="26.788" x2="23.799" y2="24.2754" gradientUnits="userSpaceOnUse">
<stop stop-color="#8AC9FE" stop-opacity="0"/>
<stop offset="0.1291" stop-color="#89C8FD" stop-opacity="0.019"/>
<stop offset="0.2629" stop-color="#88C6FB" stop-opacity="0.075"/>
<stop offset="0.3989" stop-color="#87C4F8" stop-opacity="0.168"/>
<stop offset="0.5365" stop-color="#85C0F4" stop-opacity="0.298"/>
<stop offset="0.6753" stop-color="#83BBEF" stop-opacity="0.466"/>
<stop offset="0.8151" stop-color="#7FB5E9" stop-opacity="0.672"/>
<stop offset="0.9532" stop-color="#7CAEE1" stop-opacity="0.911"/>
<stop offset="1" stop-color="#7BACDF"/>
</linearGradient>
<linearGradient id="paint17_linear_3595_14062" x1="27.4258" y1="24.5036" x2="30.1947" y2="23.3242" gradientUnits="userSpaceOnUse">
<stop stop-color="#8AC9FE" stop-opacity="0"/>
<stop offset="0.1291" stop-color="#89C8FD" stop-opacity="0.019"/>
<stop offset="0.2629" stop-color="#88C6FB" stop-opacity="0.075"/>
<stop offset="0.3989" stop-color="#87C4F8" stop-opacity="0.168"/>
<stop offset="0.5365" stop-color="#85C0F4" stop-opacity="0.298"/>
<stop offset="0.6753" stop-color="#83BBEF" stop-opacity="0.466"/>
<stop offset="0.8151" stop-color="#7FB5E9" stop-opacity="0.672"/>
<stop offset="0.9532" stop-color="#7CAEE1" stop-opacity="0.911"/>
<stop offset="1" stop-color="#7BACDF"/>
</linearGradient>
<linearGradient id="paint18_linear_3595_14062" x1="4.62046" y1="28.5476" x2="5.39342" y2="29.3206" gradientUnits="userSpaceOnUse">
<stop stop-color="#26A6FE"/>
<stop offset="0.2729" stop-color="#23A1FD"/>
<stop offset="0.5557" stop-color="#1A95FD"/>
<stop offset="0.8419" stop-color="#0B80FB"/>
<stop offset="1" stop-color="#0172FB"/>
</linearGradient>
<linearGradient id="paint19_linear_3595_14062" x1="9.85549" y1="28.5476" x2="10.6284" y2="29.3206" gradientUnits="userSpaceOnUse">
<stop stop-color="#26A6FE"/>
<stop offset="0.2729" stop-color="#23A1FD"/>
<stop offset="0.5557" stop-color="#1A95FD"/>
<stop offset="0.8419" stop-color="#0B80FB"/>
<stop offset="1" stop-color="#0172FB"/>
</linearGradient>
<linearGradient id="paint20_linear_3595_14062" x1="15.0903" y1="28.5476" x2="15.8632" y2="29.3206" gradientUnits="userSpaceOnUse">
<stop stop-color="#26A6FE"/>
<stop offset="0.2729" stop-color="#23A1FD"/>
<stop offset="0.5557" stop-color="#1A95FD"/>
<stop offset="0.8419" stop-color="#0B80FB"/>
<stop offset="1" stop-color="#0172FB"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -1,59 +1,97 @@
import 'package:flutter/material.dart';
import 'package:syncrow_web/utils/color_manager.dart';
import 'package:syncrow_web/utils/extension/build_context_x.dart';
import 'package:syncrow_web/utils/style.dart';
class StatefulTextField extends StatefulWidget {
const StatefulTextField(
{super.key,
required this.title,
this.hintText = 'Please enter',
required this.width,
this.elevation = 0,
required this.controller,
this.onSubmitted});
const StatefulTextField({
super.key,
required this.title,
this.hintText = 'Please enter',
required this.width,
this.elevation,
required this.controller,
this.onSubmitted,
this.boxDecoration,
this.borderRadius,
this.height,
this.padding,
this.icon,
this.hintColor,
});
final String title;
final String hintText;
final double width;
final double elevation;
final double? elevation;
final TextEditingController controller;
final Function? onSubmitted;
final BoxDecoration? boxDecoration;
final double? borderRadius;
final double? height;
final double? padding;
final IconData? icon;
final Color? hintColor;
@override
State<StatefulTextField> createState() => _StatefulTextFieldState();
}
class _StatefulTextFieldState extends State<StatefulTextField> {
@override
void dispose() {
widget.controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Container(
child: CustomTextField(
title: widget.title,
controller: widget.controller,
hintText: widget.hintText,
width: widget.width,
elevation: widget.elevation,
onSubmittedFun: widget.onSubmitted),
return CustomTextField(
title: widget.title,
controller: widget.controller,
hintText: widget.hintText,
width: widget.width,
elevation: widget.elevation,
onSubmittedFun: widget.onSubmitted,
boxDecoration: widget.boxDecoration,
borderRadius: widget.borderRadius,
height: widget.height,
padding: widget.padding,
icon: widget.icon,
hintColor: widget.hintColor,
);
}
}
class CustomTextField extends StatelessWidget {
const CustomTextField(
{super.key,
required this.title,
required this.controller,
this.hintText = 'Please enter',
required this.width,
this.elevation = 0,
this.onSubmittedFun});
const CustomTextField({
super.key,
required this.title,
required this.controller,
this.hintText = 'Please enter',
required this.width,
this.elevation,
this.onSubmittedFun,
this.boxDecoration,
this.borderRadius,
this.height,
this.padding,
this.icon,
this.hintColor,
});
final String title;
final TextEditingController controller;
final String hintText;
final double width;
final double elevation;
final double? elevation;
final Function? onSubmittedFun;
final BoxDecoration? boxDecoration;
final double? borderRadius;
final double? height;
final double? padding;
final IconData? icon;
final Color? hintColor;
@override
Widget build(BuildContext context) {
@ -71,26 +109,21 @@ class CustomTextField extends StatelessWidget {
),
const SizedBox(height: 8),
Material(
elevation: elevation,
borderRadius: BorderRadius.circular(8),
elevation: elevation ?? 0,
borderRadius: BorderRadius.circular(borderRadius ?? 8),
child: Container(
width: width,
height: 45,
decoration: containerDecoration,
// decoration: BoxDecoration(
// color: Colors.white,
// borderRadius: BorderRadius.circular(8),
// ),
height: height ?? 45,
decoration: boxDecoration ?? containerDecoration,
child: TextFormField(
controller: controller,
style: const TextStyle(color: Colors.black),
decoration: InputDecoration(
hintText: hintText,
hintStyle: const TextStyle(fontSize: 12),
contentPadding:
const EdgeInsets.symmetric(horizontal: 12, vertical: 10),
hintStyle: TextStyle(fontSize: 12, color: hintColor ?? ColorsManager.blackColor),
contentPadding: EdgeInsets.symmetric(horizontal: 12, vertical: padding ?? 10),
border: InputBorder.none,
suffixIcon: icon != null ? Icon(icon, color: ColorsManager.greyColor) : null,
),
onFieldSubmitted: (_) {
onSubmittedFun!();

View File

@ -3,6 +3,7 @@ import 'package:syncrow_web/pages/device_managment/all_devices/models/device_spa
import 'package:syncrow_web/pages/device_managment/all_devices/models/room.dart';
import 'package:syncrow_web/pages/device_managment/all_devices/models/unit.dart';
import 'package:syncrow_web/utils/constants/assets.dart';
import 'package:syncrow_web/utils/enum/device_types.dart';
class AllDevicesModel {
/*
@ -100,12 +101,8 @@ class AllDevicesModel {
this.spaces,
});
AllDevicesModel.fromJson(Map<String, dynamic> json) {
room = (json['room'] != null && (json['room'] is Map))
? DevicesModelRoom.fromJson(json['room'])
: null;
unit = (json['unit'] != null && (json['unit'] is Map))
? DevicesModelUnit.fromJson(json['unit'])
: null;
room = (json['room'] != null && (json['room'] is Map)) ? DevicesModelRoom.fromJson(json['room']) : null;
unit = (json['unit'] != null && (json['unit'] is Map)) ? DevicesModelUnit.fromJson(json['unit']) : null;
community = (json['community'] != null && (json['community'] is Map))
? DeviceCommunityModel.fromJson(json['community'])
: null;
@ -117,7 +114,7 @@ class AllDevicesModel {
categoryName = json['categoryName']?.toString();
createTime = int.tryParse(json['createTime']?.toString() ?? '');
gatewayId = json['gatewayId']?.toString();
icon = json['icon'] ?? _getDefaultIcon(productType);
icon = json['icon'] ?? getDefaultIcon(productType);
ip = json['ip']?.toString();
lat = json['lat']?.toString();
localKey = json['localKey']?.toString();
@ -134,38 +131,88 @@ class AllDevicesModel {
batteryLevel = int.tryParse(json['battery']?.toString() ?? '');
productName = json['productName']?.toString();
if (json['spaces'] != null && json['spaces'] is List) {
spaces = (json['spaces'] as List)
.map((space) => DeviceSpaceModel.fromJson(space))
.toList();
spaces = (json['spaces'] as List).map((space) => DeviceSpaceModel.fromJson(space)).toList();
}
}
String _getDefaultIcon(String? productType) {
switch (productType) {
case 'LightBulb':
return Assets.lightBulb;
case 'CeilingSensor':
case 'WallSensor':
return Assets.sensors;
case 'AC':
return Assets.ac;
case 'DoorLock':
return Assets.doorLock;
case 'Curtain':
return Assets.curtain;
case '3G':
case '2G':
case '1G':
return Assets.gangSwitch;
case 'Gateway':
return Assets.gateway;
case 'WH':
return Assets.blackLogo;
case 'DS':
return Assets.sensors;
default:
return Assets.logo;
String getDefaultIcon(String? productType) {
/*
AC
GD
3G
3G
GW
DL
WPS
CPS
AC
CPS
WPS
GW
AC
CUR
DS
1GT
2GT
3GT
1G
1G
2G
2G
DS
WH
1GT
2GT
3GT
GD
WL
WL
3G
CUR
GW
PC
PC
SOS
*/
DeviceType type = devicesTypesMap[productType] ?? DeviceType.Other;
String tempIcon = '';
if (type == DeviceType.LightBulb) {
tempIcon = Assets.lightBulb;
} else if (type == DeviceType.CeilingSensor || type == DeviceType.WallSensor) {
tempIcon = Assets.sensors;
} else if (type == DeviceType.AC) {
tempIcon = Assets.ac;
} else if (type == DeviceType.DoorLock) {
tempIcon = Assets.doorLock;
} else if (type == DeviceType.Curtain) {
tempIcon = Assets.curtain;
} else if (type == DeviceType.ThreeGang) {
tempIcon = Assets.gangSwitch;
} else if (type == DeviceType.Gateway) {
tempIcon = Assets.gateway;
} else if (type == DeviceType.OneGang) {
tempIcon = Assets.oneGang;
} else if (type == DeviceType.TwoGang) {
tempIcon = Assets.twoGang;
} else if (type == DeviceType.WH) {
tempIcon = Assets.waterHeater;
} else if (type == DeviceType.DS) {
// tempIcon = Assets.mainDoor;
} else if (type == DeviceType.OneTouch) {
// tempIcon = Assets.oneGang;
} else if (type == DeviceType.TowTouch) {
// tempIcon = Assets.twoGang;
} else if (type == DeviceType.GarageDoor) {
//tempIcon = Assets.;
} else if (type == DeviceType.ThreeTouch) {
// tempIcon = Assets.gang3touch;
} else if (type == DeviceType.WaterLeak) {
tempIcon = Assets.waterLeakNormal;
} else {
tempIcon = Assets.logoHorizontal;
}
return tempIcon;
}
Map<String, dynamic> toJson() {
@ -271,4 +318,23 @@ class AllDevicesModel {
productName.hashCode ^
batteryLevel.hashCode;
}
Map<String, DeviceType> devicesTypesMap = {
"AC": DeviceType.AC,
"GW": DeviceType.Gateway,
"CPS": DeviceType.CeilingSensor,
"DL": DeviceType.DoorLock,
"WPS": DeviceType.WallSensor,
"3G": DeviceType.ThreeGang,
"2G": DeviceType.TwoGang,
"1G": DeviceType.OneGang,
"CUR": DeviceType.Curtain,
"WH": DeviceType.WH,
"DS": DeviceType.DS,
"1GT": DeviceType.OneTouch,
"2GT": DeviceType.TowTouch,
"3GT": DeviceType.ThreeTouch,
"GD": DeviceType.GarageDoor,
"WL": DeviceType.WaterLeak,
};
}

View File

@ -2,10 +2,8 @@ import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:syncrow_web/pages/device_managment/all_devices/bloc/device_mgmt_bloc/device_managment_bloc.dart';
import 'package:syncrow_web/pages/device_managment/all_devices/bloc/switch_tabs/switch_tabs_bloc.dart';
import 'package:syncrow_web/pages/device_managment/all_devices/widgets/device_managment_body.dart';
import 'package:syncrow_web/pages/device_managment/shared/navigate_home_grid_view.dart';
import 'package:syncrow_web/pages/routiens/view/create_new_routine_view.dart';
import 'package:syncrow_web/pages/routiens/view/routines_view.dart';
import 'package:syncrow_web/utils/color_manager.dart';
import 'package:syncrow_web/utils/extension/build_context_x.dart';
import 'package:syncrow_web/utils/helpers/responsice_layout_helper/responsive_layout_helper.dart';
@ -76,29 +74,30 @@ class DeviceManagementPage extends StatelessWidget with HelperResponsiveLayout {
);
}),
rightBody: const NavigateHomeGridView(),
scaffoldBody: BlocBuilder<SwitchTabsBloc, SwitchTabsState>(builder: (context, state) {
if (state is SelectedTabState && state.selectedTab) {
return const RoutinesView();
}
if (state is ShowCreateRoutineState && state.showCreateRoutine) {
return const CreateNewRoutineView();
}
return BlocBuilder<DeviceManagementBloc, DeviceManagementState>(
builder: (context, deviceState) {
if (deviceState is DeviceManagementLoading) {
return const Center(child: CircularProgressIndicator());
} else if (deviceState is DeviceManagementLoaded || deviceState is DeviceManagementFiltered) {
final devices =
(deviceState as dynamic).devices ?? (deviceState as DeviceManagementFiltered).filteredDevices;
return DeviceManagementBody(devices: devices);
} else {
return const Center(child: Text('Error fetching Devices'));
}
},
);
}),
scaffoldBody: CreateNewRoutineView(),
// BlocBuilder<SwitchTabsBloc, SwitchTabsState>(builder: (context, state) {
// if (state is SelectedTabState && state.selectedTab) {
// return const RoutinesView();
// }
// if (state is ShowCreateRoutineState && state.showCreateRoutine) {
// return const CreateNewRoutineView();
// }
//
// return BlocBuilder<DeviceManagementBloc, DeviceManagementState>(
// builder: (context, deviceState) {
// if (deviceState is DeviceManagementLoading) {
// return const Center(child: CircularProgressIndicator());
// } else if (deviceState is DeviceManagementLoaded || deviceState is DeviceManagementFiltered) {
// final devices =
// (deviceState as dynamic).devices ?? (deviceState as DeviceManagementFiltered).filteredDevices;
//
// return DeviceManagementBody(devices: devices);
// } else {
// return const Center(child: Text('Error fetching Devices'));
// }
// },
// );
// }),
),
);
}

View File

@ -0,0 +1,13 @@
import 'package:bloc/bloc.dart';
import 'package:meta/meta.dart';
part 'routine_event.dart';
part 'routine_state.dart';
class RoutineBloc extends Bloc<RoutineEvent, RoutineState> {
RoutineBloc() : super(RoutineInitial()) {
on<RoutineEvent>((event, emit) {
// TODO: implement event handler
});
}
}

View File

@ -0,0 +1,4 @@
part of 'routine_bloc.dart';
@immutable
sealed class RoutineEvent {}

View File

@ -0,0 +1,6 @@
part of 'routine_bloc.dart';
@immutable
sealed class RoutineState {}
final class RoutineInitial extends RoutineState {}

View File

@ -1,10 +1,82 @@
import 'package:flutter/material.dart';
import 'package:syncrow_web/pages/routiens/widgets/conditions_routines_devices_view.dart';
import 'package:syncrow_web/pages/routiens/widgets/routine_search_and_buttons.dart';
import 'package:syncrow_web/utils/color_manager.dart';
class CreateNewRoutineView extends StatelessWidget {
const CreateNewRoutineView({super.key});
@override
Widget build(BuildContext context) {
return const Placeholder();
return Container(
alignment: Alignment.topLeft,
padding: const EdgeInsets.all(16),
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
const RoutineSearchAndButtons(),
const SizedBox(height: 20),
Flexible(
child: Row(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
Expanded(
child: Card(
child: Container(
decoration: BoxDecoration(
color: ColorsManager.whiteColors,
borderRadius: BorderRadius.circular(15),
),
child: const ConditionsRoutinesDevicesView()),
),
),
const SizedBox(
width: 10,
),
Expanded(
child: Column(
children: [
Expanded(
child: Card(
margin: EdgeInsets.zero,
child: Container(
decoration: const BoxDecoration(
color: ColorsManager.whiteColors,
borderRadius: BorderRadius.only(
topLeft: Radius.circular(15),
topRight: Radius.circular(15),
),
),
),
),
),
Container(
height: 2,
width: double.infinity,
color: ColorsManager.dialogBlueTitle,
),
Expanded(
child: Card(
margin: EdgeInsets.zero,
child: Container(
decoration: const BoxDecoration(
color: ColorsManager.boxColor,
borderRadius: BorderRadius.only(
bottomLeft: Radius.circular(15),
bottomRight: Radius.circular(15),
),
),
),
),
),
],
),
),
],
),
),
],
),
);
}
}

View File

@ -0,0 +1,106 @@
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:syncrow_web/pages/device_managment/all_devices/bloc/device_mgmt_bloc/device_managment_bloc.dart';
import 'package:syncrow_web/pages/routiens/widgets/dragable_card.dart';
import 'package:syncrow_web/pages/routiens/widgets/routines_title_widget.dart';
import 'package:syncrow_web/pages/routiens/widgets/search_bar_condition_title.dart';
import 'package:syncrow_web/utils/constants/assets.dart';
class ConditionsRoutinesDevicesView extends StatelessWidget {
const ConditionsRoutinesDevicesView({super.key});
@override
Widget build(BuildContext context) {
return Padding(
padding: EdgeInsets.symmetric(horizontal: 8.0),
child: SingleChildScrollView(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const ConditionTitleAndSearchBar(),
const SizedBox(
height: 10,
),
const Wrap(
spacing: 10,
runSpacing: 10,
children: [
DraggableCard(
imagePath: Assets.tabToRun,
title: 'Tab to run',
),
DraggableCard(
imagePath: Assets.map,
title: 'Location',
),
DraggableCard(
imagePath: Assets.weather,
title: 'Weather',
),
DraggableCard(
imagePath: Assets.schedule,
title: 'Schedule',
),
],
),
const SizedBox(
height: 10,
),
const TitleRoutine(
title: 'Conditions',
subtitle: '(THEN)',
),
const Wrap(
spacing: 10,
runSpacing: 10,
children: [
DraggableCard(
imagePath: Assets.notification,
title: 'Send Notification',
),
DraggableCard(
imagePath: Assets.delay,
title: 'Delay the action',
),
],
),
const SizedBox(
height: 10,
),
const TitleRoutine(
title: 'Routines',
subtitle: '(THEN)',
),
const TitleRoutine(
title: 'Devices',
subtitle: '',
),
BlocProvider(
create: (context) => DeviceManagementBloc()
..add(
FetchDevices(),
),
child: BlocBuilder<DeviceManagementBloc, DeviceManagementState>(
builder: (context, state) {
if (state is DeviceManagementLoaded) {
return Wrap(
spacing: 10,
runSpacing: 10,
children: state.devices
.map((device) => DraggableCard(
imagePath: device.getDefaultIcon(device.productType),
title: device.name ?? '',
))
.toList(),
);
}
return const Center(child: CircularProgressIndicator());
},
),
),
],
),
),
);
}
}

View File

@ -0,0 +1,63 @@
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:syncrow_web/utils/color_manager.dart';
import 'package:syncrow_web/utils/extension/build_context_x.dart';
class DraggableCard extends StatelessWidget {
const DraggableCard({
super.key,
required this.imagePath,
required this.title,
this.titleColor,
});
final String imagePath;
final String title;
final Color? titleColor;
@override
Widget build(BuildContext context) {
return Card(
color: ColorsManager.whiteColors,
child: SizedBox(
height: 123,
width: 90,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Container(
height: 50,
width: 50,
decoration: BoxDecoration(
color: ColorsManager.CircleImageBackground,
borderRadius: BorderRadius.circular(90),
border: Border.all(
color: ColorsManager.graysColor,
),
),
padding: const EdgeInsets.all(8),
child: imagePath.contains('.svg')
? SvgPicture.asset(
imagePath,
)
: Image.network(imagePath),
),
const SizedBox(
height: 8,
),
Text(
title,
textAlign: TextAlign.center,
overflow: TextOverflow.ellipsis,
maxLines: 2,
style: context.textTheme.bodySmall?.copyWith(
color: titleColor ?? ColorsManager.blackColor,
),
),
],
),
),
);
}
}

View File

@ -0,0 +1,193 @@
import 'package:flutter/material.dart';
import 'package:syncrow_web/pages/common/buttons/default_button.dart';
import 'package:syncrow_web/pages/common/text_field/custom_text_field.dart';
import 'package:syncrow_web/utils/color_manager.dart';
import 'package:syncrow_web/utils/style.dart';
class RoutineSearchAndButtons extends StatelessWidget {
const RoutineSearchAndButtons({
super.key,
});
@override
Widget build(BuildContext context) {
return LayoutBuilder(
builder: (BuildContext context, BoxConstraints constraints) {
return Wrap(
runSpacing: 16,
children: [
Row(
crossAxisAlignment: CrossAxisAlignment.end,
children: [
Expanded(
child: Wrap(
spacing: 12,
runSpacing: 12,
crossAxisAlignment: WrapCrossAlignment.end,
children: [
ConstrainedBox(
constraints:
BoxConstraints(maxWidth: constraints.maxWidth > 700 ? 450 : constraints.maxWidth - 32),
child: StatefulTextField(
title: 'Routine Name',
height: 40,
controller: TextEditingController(),
hintText: 'Please enter the name',
boxDecoration: containerWhiteDecoration,
elevation: 0,
borderRadius: 15,
width: 450,
),
),
(constraints.maxWidth <= 1000)
? const SizedBox()
: SizedBox(
height: 40,
width: 200,
child: Center(
child: DefaultButton(
onPressed: () {},
borderRadius: 15,
elevation: 0,
borderColor: ColorsManager.greyColor,
backgroundColor: ColorsManager.boxColor,
child: const Text(
'Settings',
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 12,
color: ColorsManager.primaryColor,
),
),
),
),
),
],
),
),
if (constraints.maxWidth > 1000)
Row(
mainAxisSize: MainAxisSize.min,
children: [
SizedBox(
height: 40,
width: 200,
child: Center(
child: DefaultButton(
onPressed: () {},
borderRadius: 15,
elevation: 0,
borderColor: ColorsManager.greyColor,
backgroundColor: ColorsManager.boxColor,
child: const Text(
'Cancel',
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 12,
color: ColorsManager.blackColor,
),
),
),
),
),
const SizedBox(width: 12),
SizedBox(
height: 40,
width: 200,
child: Center(
child: DefaultButton(
onPressed: () {},
borderRadius: 15,
elevation: 0,
backgroundColor: ColorsManager.primaryColor,
child: const Text(
'Save',
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 12,
color: ColorsManager.whiteColors,
),
),
),
),
),
],
),
],
),
if (constraints.maxWidth <= 1000)
Wrap(
runSpacing: 12,
children: [
SizedBox(
height: 40,
width: 200,
child: Center(
child: DefaultButton(
onPressed: () {},
borderRadius: 15,
elevation: 0,
borderColor: ColorsManager.greyColor,
backgroundColor: ColorsManager.boxColor,
child: const Text(
'Settings',
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 12,
color: ColorsManager.primaryColor,
),
),
),
),
),
const SizedBox(width: 12),
SizedBox(
height: 40,
width: 200,
child: Center(
child: DefaultButton(
onPressed: () {},
borderRadius: 15,
elevation: 0,
borderColor: ColorsManager.greyColor,
backgroundColor: ColorsManager.boxColor,
child: const Text(
'Cancel',
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 12,
color: ColorsManager.blackColor,
),
),
),
),
),
const SizedBox(width: 12),
SizedBox(
height: 40,
width: 200,
child: Center(
child: DefaultButton(
onPressed: () {},
borderRadius: 15,
elevation: 0,
backgroundColor: ColorsManager.primaryColor,
child: const Text(
'Save',
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 12,
color: ColorsManager.whiteColors,
),
),
),
),
),
],
),
],
);
},
);
}
}

View File

@ -0,0 +1,38 @@
import 'package:flutter/material.dart';
import 'package:syncrow_web/utils/color_manager.dart';
import 'package:syncrow_web/utils/extension/build_context_x.dart';
class TitleRoutine extends StatelessWidget {
const TitleRoutine({
super.key,
required this.title,
required this.subtitle,
});
final String title;
final String subtitle;
@override
Widget build(BuildContext context) {
return Row(
mainAxisSize: MainAxisSize.min,
children: [
Text(
title,
style: context.textTheme.titleLarge?.copyWith(
color: ColorsManager.greyColor,
),
),
const SizedBox(
width: 4,
),
Text(
subtitle,
style: context.textTheme.titleLarge?.copyWith(
color: ColorsManager.greyColor,
),
),
],
);
}
}

View File

@ -0,0 +1,62 @@
import 'package:flutter/material.dart';
import 'package:syncrow_web/pages/common/text_field/custom_text_field.dart';
import 'package:syncrow_web/pages/routiens/widgets/routines_title_widget.dart';
import 'package:syncrow_web/utils/color_manager.dart';
import 'package:syncrow_web/utils/helpers/responsice_layout_helper/responsive_layout_helper.dart';
class ConditionTitleAndSearchBar extends StatelessWidget with HelperResponsiveLayout {
const ConditionTitleAndSearchBar({
super.key,
});
@override
Widget build(BuildContext context) {
final isMedium = isMediumScreenSize(context);
final isSmall = isSmallScreenSize(context);
return isMedium || isSmall
? Wrap(
spacing: 10,
runSpacing: 10,
children: [
const TitleRoutine(title: 'Conditions', subtitle: '(IF)'),
StatefulTextField(
title: '',
width: 250,
height: 40,
hintText: 'Search',
elevation: 0,
borderRadius: 15,
icon: Icons.search,
hintColor: ColorsManager.grayColor,
boxDecoration: BoxDecoration(
color: ColorsManager.boxColor,
borderRadius: BorderRadius.circular(15),
),
controller: TextEditingController(),
),
],
)
: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.end,
children: [
const TitleRoutine(title: 'Conditions', subtitle: '(IF)'),
StatefulTextField(
title: '',
width: 250,
height: 40,
hintText: 'Search',
elevation: 0,
borderRadius: 15,
icon: Icons.search,
hintColor: ColorsManager.grayColor,
boxDecoration: BoxDecoration(
color: ColorsManager.boxColor,
borderRadius: BorderRadius.circular(15),
),
controller: TextEditingController(),
),
],
);
}
}

View File

@ -41,6 +41,6 @@ abstract class ColorsManager {
static const Color blue4 = Color(0xFF001E7E);
static const Color textGreen = Color(0xFF008905);
static const Color yaGreen = Color(0xFFFFBF44);
static const Color CircleImageBackground = Color(0xFFF4F4F4);
}
//background: #background: #5D5D5D;

View File

@ -192,4 +192,22 @@ class Assets {
//assets/icons/sos_normal.svg
static const String sosNormal = 'assets/icons/sos_normal.svg';
//assets/icons/routine/tab_to_run.svg
static const String tabToRun = 'assets/icons/routine/tab_to_run.svg';
//assets/icons/routine/schedule.svg
static const String schedule = 'assets/icons/routine/schedule.svg';
//assets/icons/routine/map.svg
static const String map = 'assets/icons/routine/map.svg';
//assets/icons/routine/weather.svg
static const String weather = 'assets/icons/routine/weather.svg';
//assets/icons/routine/notification.svg
static const String notification = 'assets/icons/routine/notification.svg';
//assets/icons/routine/delay.svg
static const String delay = 'assets/icons/routine/delay.svg';
}

View File

@ -11,9 +11,13 @@ enum DeviceType {
CeilingSensor,
WallSensor,
WH,
DoorSensor,
DS,
OneTouch,
TowTouch,
ThreeTouch,
GarageDoor,
WaterLeak,
DoorSensor,
Other,
}
/*

View File

@ -1,8 +1,8 @@
import 'package:flutter/material.dart';
import 'color_manager.dart';
InputDecoration? textBoxDecoration({bool suffixIcon = false}) =>
InputDecoration(
InputDecoration? textBoxDecoration({bool suffixIcon = false}) => InputDecoration(
focusColor: ColorsManager.grayColor,
suffixIcon: suffixIcon ? const Icon(Icons.search) : null,
hintText: 'Search',
@ -30,14 +30,20 @@ InputDecoration? textBoxDecoration({bool suffixIcon = false}) =>
),
);
BoxDecoration containerDecoration = BoxDecoration(
boxShadow: [
BoxShadow(
color: Colors.grey.withOpacity(0.3),
spreadRadius: 2,
blurRadius: 4,
offset: const Offset(0, 5), // changes position of shadow
),
],
color: ColorsManager.boxColor,
borderRadius: const BorderRadius.all(Radius.circular(10)));
BoxDecoration containerDecoration = BoxDecoration(boxShadow: [
BoxShadow(
color: Colors.grey.withOpacity(0.3),
spreadRadius: 2,
blurRadius: 4,
offset: const Offset(0, 5), // changes position of shadow
),
], color: ColorsManager.boxColor, borderRadius: const BorderRadius.all(Radius.circular(10)));
BoxDecoration containerWhiteDecoration = BoxDecoration(boxShadow: [
BoxShadow(
color: Colors.grey.withOpacity(0.3),
spreadRadius: 2,
blurRadius: 4,
offset: const Offset(0, 5), // changes position of shadow
),
], color: ColorsManager.whiteColors, borderRadius: const BorderRadius.all(Radius.circular(15)));

View File

@ -76,6 +76,7 @@ flutter:
# To add assets to your application, add an assets section, like this:
assets:
- assets/icons/automation_functions/
- assets/icons/routine/
- assets/icons/
- assets/images/
- assets/