Compare commits
1 Commits
76da7debfd
...
auto-setti
Author | SHA1 | Date | |
---|---|---|---|
81090d46df |
14
assets/icons/cloudy_icon.svg
Normal file
@ -0,0 +1,14 @@
|
||||
<svg width="20" height="16" viewBox="0 0 20 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M2.44697 3.24664C2.55653 1.43525 4.05999 0 5.899 0C7.38201 0 8.64697 0.933692 9.13846 2.2452C10.4156 2.26061 11.4464 3.30004 11.4464 4.58088C11.4464 5.87132 10.4002 6.91747 9.10977 6.91747C8.56961 6.91747 3.06603 6.91747 2.51106 6.91747C1.49695 6.91747 0.674805 6.09532 0.674805 5.08122C0.674805 4.08862 1.46262 3.28051 2.44697 3.24664Z" fill="#F0F5F7"/>
|
||||
<path d="M11.4458 4.58088C11.4458 5.51442 10.8979 6.32039 10.1063 6.69439C10.2489 6.39211 10.3289 6.05412 10.3289 5.69752C10.3289 4.41669 9.2983 3.3771 8.02113 3.36184C7.52948 2.05019 6.26467 1.11665 4.78151 1.11665C4.11271 1.11665 3.48816 1.30647 2.95898 1.63545C3.56934 0.653539 4.65745 0 5.89846 0C7.38132 0 8.64644 0.93354 9.13777 2.24489C10.4151 2.26045 11.4458 3.30004 11.4458 4.58088Z" fill="#DDE9ED"/>
|
||||
<path d="M18.0059 7.61715C17.8825 5.57887 16.1907 3.96387 14.1213 3.96387C12.4525 3.96387 11.0291 5.01444 10.476 6.49013C9.03874 6.50753 7.87891 7.67727 7.87891 9.11863C7.87891 10.5708 9.05613 11.7479 10.5082 11.7479H17.9338C19.075 11.7479 20 10.8227 20 9.68168C20 8.56458 19.1136 7.6553 18.0059 7.61715Z" fill="#C4E1E8"/>
|
||||
<path d="M20.0004 9.68153C20.0004 10.8227 19.0751 11.748 17.9339 11.748H17.7738C17.9237 11.4619 18.0085 11.1363 18.0085 10.7912C18.0085 9.67421 17.1221 8.76478 16.0143 8.72648C15.891 6.68834 14.199 5.07319 12.1297 5.07319C11.8506 5.07319 11.5786 5.10249 11.3164 5.15833C12.0243 4.42209 13.0193 3.96387 14.1216 3.96387C16.191 3.96387 17.8829 5.57872 18.0062 7.61731C19.114 7.65515 20.0004 8.56458 20.0004 9.68153Z" fill="#A4D5DD"/>
|
||||
<path d="M10.127 7.61715C10.0036 5.57887 8.31183 3.96387 6.24242 3.96387C4.57355 3.96387 3.1502 5.01444 2.59707 6.49013C1.15983 6.50753 0 7.67727 0 9.11863C0 10.5707 1.17722 11.7479 2.62926 11.7479H10.0549C11.1961 11.7479 12.1212 10.8227 12.1212 9.68153C12.1211 8.56458 11.2347 7.6553 10.127 7.61715Z" fill="#C4E1E8"/>
|
||||
<path d="M12.1215 9.68153C12.1215 10.8227 11.1962 11.748 10.055 11.748H9.89492C10.0448 11.4619 10.1296 11.1363 10.1296 10.7912C10.1296 9.67421 9.24321 8.76478 8.13541 8.72648C8.01212 6.68834 6.32006 5.07319 4.2508 5.07319C3.97171 5.07319 3.69965 5.10249 3.4375 5.15833C4.14536 4.42209 5.14039 3.96387 6.2427 3.96387C8.31211 3.96387 10.004 5.57872 10.1275 7.61731C11.2351 7.65515 12.1215 8.56458 12.1215 9.68153Z" fill="#A4D5DD"/>
|
||||
<path d="M16.3505 11.2763C16.2272 9.23805 14.5353 7.62305 12.4661 7.62305C10.797 7.62305 9.37368 8.67362 8.82055 10.1493C7.38346 10.1667 6.22363 11.3366 6.22363 12.7778C6.22363 14.23 7.4007 15.4071 8.85289 15.4071H16.2785C17.4195 15.4071 18.3447 14.4819 18.3447 13.3409C18.3447 12.2238 17.4583 11.3145 16.3505 11.2763Z" fill="#F0F5F7"/>
|
||||
<path d="M18.3453 13.3407C18.3453 14.4819 17.42 15.4072 16.2788 15.4072H16.1187C16.2685 15.1211 16.3534 14.7955 16.3534 14.4503C16.3534 13.3334 15.467 12.424 14.3592 12.3857C14.2359 10.3475 12.5438 8.73237 10.4744 8.73237C10.1953 8.73237 9.92328 8.76167 9.66113 8.81751C10.3691 8.08142 11.3642 7.62305 12.4665 7.62305C14.5359 7.62305 16.2278 9.2379 16.3511 11.2765C17.4589 11.3143 18.3453 12.2238 18.3453 13.3407Z" fill="#DDE9ED"/>
|
||||
<path d="M15.3204 11.0476C15.1842 11.0476 15.0606 10.9545 15.0273 10.8162C14.9924 10.671 14.9446 10.5277 14.8853 10.3905C14.819 10.2375 14.8894 10.0599 15.0424 9.99364C15.1955 9.92742 15.3731 9.99791 15.4393 10.1508C15.5124 10.3199 15.5712 10.4963 15.6142 10.6751C15.6532 10.8373 15.5533 11.0001 15.3913 11.0392C15.3676 11.0448 15.3438 11.0476 15.3204 11.0476Z" fill="#F0F5F7"/>
|
||||
<path d="M14.5849 9.70576C14.5055 9.70576 14.4263 9.67463 14.3671 9.61283C13.8645 9.08915 13.1893 8.80076 12.4659 8.80076C12.2993 8.80076 12.1641 8.66571 12.1641 8.49893C12.1641 8.33231 12.2993 8.19727 12.4659 8.19727C13.3552 8.19727 14.1851 8.55158 14.8026 9.19505C14.918 9.31513 14.9142 9.50633 14.7939 9.62168C14.7353 9.67784 14.6601 9.70576 14.5849 9.70576Z" fill="#F0F5F7"/>
|
||||
<path d="M3.08091 12.4545C3.16911 10.9973 4.37868 9.84277 5.85803 9.84277C7.05128 9.84277 8.06874 10.5938 8.46425 11.6488C9.49179 11.6613 10.321 12.4975 10.321 13.528C10.321 14.5662 9.47943 15.4077 8.44121 15.4077C8.00664 15.4077 3.57912 15.4077 3.13249 15.4077C2.31675 15.4077 1.65527 14.7464 1.65527 13.9305C1.65527 13.132 2.28898 12.4818 3.08091 12.4545Z" fill="#F0F5F7"/>
|
||||
<path d="M10.3214 13.528C10.3214 14.5572 9.49379 15.3932 8.46762 15.4072C8.77524 15.0723 8.96293 14.6261 8.96293 14.136C8.96293 13.1057 8.13391 12.2694 7.10607 12.2569C6.71071 11.202 5.69325 10.4507 4.49985 10.4507C4.35886 10.4507 4.22046 10.4614 4.08496 10.4817C4.56638 10.0825 5.18437 9.84277 5.8585 9.84277C7.05175 9.84277 8.06921 10.5937 8.46457 11.6488C9.49241 11.6613 10.3214 12.4974 10.3214 13.528Z" fill="#DDE9ED"/>
|
||||
</svg>
|
After Width: | Height: | Size: 4.6 KiB |
6
assets/icons/comfortable_icon.svg
Normal file
@ -0,0 +1,6 @@
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M9.99676 20C15.5178 20 19.9935 15.5228 19.9935 10C19.9935 4.47715 15.5178 0 9.99676 0C4.4757 0 0 4.47715 0 10C0 15.5228 4.4757 20 9.99676 20Z" fill="#00DF76"/>
|
||||
<path d="M9.99695 0C9.99242 0 9.98793 0.00015623 9.9834 0.00015623V19.9998C9.98793 19.9998 9.99242 20 9.99695 20C15.518 20 19.9937 15.5228 19.9937 9.99996C19.9937 4.4771 15.518 0 9.99695 0Z" fill="#00AB5E"/>
|
||||
<path d="M4.34516 10.1989L8.38856 14.2423C8.56491 14.4186 8.85085 14.4186 9.02719 14.2423L15.6653 7.60414C15.8417 7.42779 15.8417 7.14185 15.6653 6.96551L14.4571 5.75726C14.2807 5.58091 13.9948 5.58091 13.8184 5.75726L8.99024 10.5854C8.8139 10.7617 8.52796 10.7617 8.35161 10.5854L6.18794 8.42169C6.01507 8.24882 5.736 8.24492 5.55837 8.41286L4.35422 9.55135C4.1694 9.72614 4.1653 10.019 4.34516 10.1989Z" fill="#FFF5F5"/>
|
||||
<path d="M14.457 5.75726C14.2806 5.58091 13.9947 5.58091 13.8183 5.75726L9.9834 9.59221V13.286L15.6652 7.60418C15.8416 7.42783 15.8416 7.14189 15.6652 6.96551L14.457 5.75726Z" fill="#DFEBF1"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
10
assets/icons/dry_icon.svg
Normal file
@ -0,0 +1,10 @@
|
||||
<svg width="15" height="20" viewBox="0 0 15 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M12.4215 9.10771C12.3689 9.09123 11.5782 8.85045 10.6502 8.92217C10.9201 8.37846 11.0308 7.98472 11.0683 7.82656C11.0872 7.76945 11.0968 7.70898 11.094 7.64648C11.0798 7.32902 10.8366 7.06055 10.5081 7.06055C10.2289 7.06055 9.96121 7.28433 9.92629 7.56332C9.86653 7.80531 9.34821 9.62201 6.89781 11.5305C6.6425 11.7294 6.59672 12.0976 6.79558 12.3528C6.91113 12.5012 7.08374 12.5788 7.25823 12.5788C7.38409 12.5788 7.51089 12.5384 7.61788 12.4551C8.51693 11.7548 9.18661 11.0608 9.68446 10.4293C10.6082 9.78853 12.058 10.222 12.0713 10.226C12.3803 10.3229 12.7088 10.1508 12.8055 9.84197C12.9022 9.53314 12.7302 9.20443 12.4215 9.10771Z" fill="#9A4F4F"/>
|
||||
<path d="M3.78691 3.77187C3.648 3.77187 3.50859 3.72276 3.39683 3.62296C3.15547 3.40737 3.13453 3.03698 3.35008 2.79562C4.12921 1.92312 4.01019 0.788082 4.00878 0.776871C3.96808 0.455817 4.19535 0.162576 4.5164 0.121873C4.83757 0.0813259 5.1307 0.308435 5.17136 0.62945C5.17992 0.696911 5.36757 2.29574 4.22414 3.57616C4.10843 3.70577 3.94796 3.77187 3.78691 3.77187Z" fill="#AD6B5C"/>
|
||||
<path d="M6.61754 9.15352C3.59093 7.48869 2.50301 5.76597 2.49367 5.75093C2.3259 5.47422 1.96555 5.38601 1.68884 5.55371C1.41212 5.72152 1.32384 6.08187 1.49161 6.35854C1.49681 6.36714 1.51505 6.39671 1.54731 6.4446C1.43454 6.45729 1.32974 6.47679 1.23415 6.50034C0.59416 6.65807 0.174047 7.06815 0.174047 7.06815C0.063657 7.17514 -0.00661577 7.32193 0.000493537 7.48053C0.0147121 7.79798 0.257952 8.06646 0.586425 8.06646C0.739314 8.06646 0.888922 7.99939 0.998804 7.8929C0.998804 7.8929 1.84321 7.16264 3.05808 8.09814C3.76522 8.72696 4.74283 9.45976 6.05274 10.1803C6.14231 10.2296 6.2391 10.253 6.33461 10.253C6.54137 10.253 6.74183 10.1433 6.84855 9.94933C7.00449 9.66578 6.90105 9.30945 6.61754 9.15352Z" fill="#AD6B5C"/>
|
||||
<path d="M6.21033 12.7834C5.05557 12.4077 4.14369 11.7971 3.50006 10.9684C3.01815 10.348 2.86748 9.82801 2.86748 9.82801C2.79791 9.57785 2.58217 9.38672 2.30518 9.38672C1.9987 9.38672 1.70506 9.65621 1.71924 9.97266C1.72147 10.0225 1.72995 10.0708 1.74288 10.1173C1.74288 10.1173 2.46229 12.7965 5.84779 13.8977C5.90802 13.9173 5.96908 13.9266 6.02916 13.9266C6.27607 13.9266 6.50572 13.7693 6.58623 13.5217C6.68638 13.2141 6.51806 12.8834 6.21033 12.7834Z" fill="#AD6B5C"/>
|
||||
<path d="M14.776 2.55193C14.5619 2.3092 14.1917 2.28596 13.949 2.49998C13.9474 2.50139 13.7135 2.6592 13.1676 2.79131C12.7467 2.8931 12.1012 2.98927 11.1683 2.98853C11.1605 2.98845 11.1528 2.98814 11.145 2.98814C11.1379 2.98814 11.1306 2.98845 11.1235 2.98853C10.6238 2.9865 10.043 2.95673 9.3713 2.8856C9.04971 2.85205 8.761 3.08482 8.72694 3.40661C8.69287 3.72841 8.92615 4.01692 9.24795 4.05098C9.92298 4.12243 10.5197 4.15473 11.048 4.15899C11.0704 4.16067 11.0931 4.16141 11.1161 4.16051C11.7971 4.13649 12.3037 5.09601 12.3075 5.10363C12.4097 5.31011 12.6173 5.42984 12.8331 5.4298C12.9204 5.4298 13.009 5.41023 13.0926 5.3689C13.3826 5.22535 13.5013 4.87386 13.3578 4.58383C13.3451 4.55813 13.2207 4.3118 12.9909 4.02004C14.1848 3.81403 14.648 3.44599 14.7241 3.37892C14.9668 3.16494 14.99 2.79467 14.776 2.55193Z" fill="#9A4F4F"/>
|
||||
<path d="M5.20654 3.63366C3.48146 2.44261 1.69537 3.48397 1.69537 3.48397C1.52194 3.58807 1.39741 3.77557 1.40674 3.98397C1.42096 4.30143 1.6642 4.56991 1.99268 4.56991C2.09729 4.56991 2.2001 4.53796 2.28998 4.48397C2.28998 4.48397 3.44389 3.84065 4.54072 4.59795C4.64236 4.66811 4.7583 4.70174 4.8731 4.70174C5.05916 4.70174 5.24209 4.61335 5.3558 4.44866C5.53966 4.18245 5.47287 3.81753 5.20654 3.63366Z" fill="#AD6B5C"/>
|
||||
<path d="M11.6063 0.0353506C11.3023 -0.0749609 10.966 0.0819126 10.8556 0.386167C10.0675 2.55701 7.52841 4.1516 6.69936 4.62511C5.86987 4.15137 3.33111 2.55689 2.54311 0.386167C2.43268 0.0819517 2.09647 -0.0751171 1.79241 0.0353506C1.48824 0.145779 1.33113 0.48187 1.4416 0.786046C2.35889 3.31294 5.10015 5.06323 6.08374 5.62471L4.93867 19.3654C4.92508 19.5287 4.98047 19.6902 5.0914 19.8108C5.20234 19.9314 5.35871 20 5.52257 20H7.87606C8.03989 20 8.1963 19.9314 8.30723 19.8108C8.41821 19.6902 8.4736 19.5287 8.45996 19.3654L7.3149 5.62471C8.29848 5.06323 11.0397 3.31297 11.957 0.786046C12.0675 0.481831 11.9105 0.145779 11.6063 0.0353506Z" fill="#BE866A"/>
|
||||
<path d="M7.87597 19.9999C8.03979 19.9999 8.1962 19.9313 8.30713 19.8107C8.41811 19.6901 8.4735 19.5286 8.45987 19.3653L7.3148 5.62465C8.29838 5.06317 11.0396 3.31292 11.9569 0.785988C12.0674 0.481812 11.9103 0.145721 11.6061 0.0352925C11.3021 -0.0750189 10.9658 0.0818546 10.8554 0.386109C10.0674 2.55695 7.52827 4.15154 6.69922 4.62505V19.9999H7.87597Z" fill="#AD6B5C"/>
|
||||
</svg>
|
After Width: | Height: | Size: 4.5 KiB |
9
assets/icons/hazy_icon.svg
Normal file
@ -0,0 +1,9 @@
|
||||
<svg width="20" height="18" viewBox="0 0 20 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M15.8441 3.32657C15.4204 3.32657 14.9979 3.39203 14.5952 3.51852C14.2801 2.62024 13.7254 1.81458 12.9921 1.20255C12.0627 0.427094 10.8871 0 9.68155 0C7.00439 0 4.79218 2.05658 4.50089 4.6936H3.42758C1.53763 4.69376 0 6.25137 0 8.16605C0 10.0807 1.53763 11.6383 3.42758 11.6383H15.9355C16.2102 11.6383 16.4848 11.6048 16.7523 11.5384C17.6587 11.3362 18.4818 10.8263 19.0706 10.1021C19.67 9.36462 20 8.43445 20 7.4826C20 5.19089 18.1357 3.32657 15.8441 3.32657Z" fill="#DEFAFA"/>
|
||||
<path d="M15.8442 3.32657C15.4205 3.32657 14.998 3.39203 14.5953 3.51852C14.2802 2.62024 13.7255 1.81458 12.9922 1.20255C12.0628 0.427094 10.8872 0 9.68164 0V11.6383H15.9356C16.2101 11.6383 16.4849 11.6046 16.7524 11.5384C17.6588 11.3361 18.4818 10.8263 19.0705 10.1019C19.67 9.36462 20.0001 8.4343 20.0001 7.48245C20.0001 5.19089 18.1358 3.32657 15.8442 3.32657Z" fill="#B5EFFF"/>
|
||||
<path d="M12.8419 5.28036H11.6572C11.6572 4.19104 10.771 3.30481 9.68164 3.30481V2.12012C11.4242 2.12012 12.8419 3.53781 12.8419 5.28036Z" fill="#80DBFF"/>
|
||||
<path d="M2.49023 13.3135H17.3099V14.498H2.49023V13.3135Z" fill="#B5EFFF"/>
|
||||
<path d="M2.49023 16.0059H17.3099V17.1906H2.49023V16.0059Z" fill="#B5EFFF"/>
|
||||
<path d="M9.68164 16.0059H17.3101V17.1906H9.68164V16.0059Z" fill="#80DBFF"/>
|
||||
<path d="M9.68164 13.3135H17.3101V14.498H9.68164V13.3135Z" fill="#80DBFF"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.4 KiB |
4
assets/icons/moist_icon.svg
Normal file
@ -0,0 +1,4 @@
|
||||
<svg width="15" height="20" viewBox="0 0 15 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M6.3259 0.768152C6.06762 1.05318 0 7.80822 0 12.978C0 16.8499 3.15008 20 7.02203 20L8.59528 12.4218L7.02209 0L6.3259 0.768152Z" fill="#A7EAF9"/>
|
||||
<path d="M7.71761 0.768152L7.02148 0V20C10.8934 20 14.0435 16.8499 14.0435 12.978C14.0435 7.80822 7.9759 1.05318 7.71761 0.768152Z" fill="#72BBFF"/>
|
||||
</svg>
|
After Width: | Height: | Size: 406 B |
23
assets/icons/rainy_icon.svg
Normal file
@ -0,0 +1,23 @@
|
||||
<svg width="20" height="17" viewBox="0 0 20 17" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M11.5125 10.8906C11.3376 11.2934 10.9552 11.4076 10.6094 11.2579C10.2637 11.1081 10.0857 10.7512 10.2605 10.3484C10.3993 10.0284 10.9923 9.74323 11.2303 9.63948C11.2848 9.61573 11.3475 9.64287 11.3674 9.69881C11.4542 9.9433 11.6513 10.5706 11.5125 10.8906Z" fill="#62DBFB"/>
|
||||
<path d="M16.7195 6.23104C16.6435 6.23104 16.5683 6.23409 16.4937 6.23936C16.4563 6.24202 16.4245 6.2137 16.4227 6.17628C16.3346 4.43218 14.8946 3.04495 13.1299 3.04495C12.9606 3.04495 12.7946 3.05843 12.6323 3.0832C12.5973 3.08855 12.564 3.06824 12.5527 3.03468C11.9613 1.27086 10.2964 0 8.33467 0C5.8778 0 3.93206 1.99355 3.88616 4.45171C3.88573 4.47378 3.88874 4.49065 3.8721 4.4937C2.85863 4.70288 2.11121 5.59784 2.11121 6.67401C2.11121 6.8626 2.13504 7.04557 2.17918 7.22049C2.18453 7.2417 2.17171 7.2628 2.15046 7.26788C0.917303 7.56147 0 8.67018 0 9.99393C0 11.5419 1.25398 12.7968 2.80081 12.7968H16.7195C18.5313 12.7968 20 11.327 20 9.51393C20 7.70088 18.5312 6.23104 16.7195 6.23104Z" fill="#EAF9FA"/>
|
||||
<path d="M7.80371 8.20881C7.80371 8.20881 10.4632 6.20752 13.3548 8.98549C13.4109 9.03935 13.5034 8.989 13.4883 8.91271C13.3508 8.21631 12.3918 6.17045 9.99968 6.3985C8.33789 6.5569 7.80371 8.20881 7.80371 8.20881Z" fill="#D4F2F6"/>
|
||||
<path d="M16.7197 6.23104C16.6438 6.23104 16.5686 6.23409 16.494 6.23936C16.4566 6.24202 16.4248 6.2137 16.4229 6.17628C16.3349 4.43218 14.8949 3.04495 13.1302 3.04495C12.9609 3.04495 12.7949 3.05843 12.6326 3.0832C12.5976 3.08855 12.5642 3.06824 12.553 3.03468C11.9616 1.27086 10.2967 0 8.33496 0C7.84207 0 7.36793 0.0803904 6.9248 0.228515C6.92805 0.228515 6.93129 0.228398 6.93453 0.228398C8.91781 0.228398 11.2847 1.44547 11.6892 3.89534C11.8033 4.44554 12.6123 4.75683 12.7835 4.83999C12.8574 4.54843 12.8822 4.1237 12.7835 3.56316C14.0744 3.61378 15.334 5.98053 15.1079 6.65417C15.6208 6.39842 15.8063 6.33323 15.9055 6.33323C17.7173 6.33323 18.5999 7.92924 18.5999 9.74228C18.5999 11.1306 17.7383 12.3168 16.5213 12.7968H16.7198C18.5316 12.7968 20.0003 11.327 20.0003 9.51393C20.0003 7.70088 18.5315 6.23104 16.7197 6.23104Z" fill="#D4F2F6"/>
|
||||
<path d="M5.34296 8.88222C5.30507 8.89863 5.26562 8.90644 5.22695 8.90644C5.11367 8.90644 5.00546 8.84003 4.95781 8.72949C4.56015 7.80996 3.65625 7.21582 2.65508 7.21582C2.48711 7.21582 2.31992 7.23223 2.15703 7.26504C2.17422 7.25762 2.18398 7.23848 2.1793 7.21973C2.13555 7.0459 2.11172 6.86465 2.11133 6.67754C2.29023 6.6459 2.47227 6.62988 2.65508 6.62988C3.88984 6.62988 5.00507 7.36269 5.4957 8.49707C5.55976 8.6455 5.4914 8.81777 5.34296 8.88222Z" fill="#CBE5E8"/>
|
||||
<path d="M16.4858 6.23848C15.9436 6.28926 15.4307 6.48457 14.9909 6.81035C14.9397 6.84824 14.8807 6.86699 14.8218 6.86816C14.7304 6.86972 14.6397 6.82871 14.5811 6.74941C14.4847 6.61933 14.512 6.43613 14.6421 6.33965C15.1487 5.96426 15.7358 5.7334 16.3565 5.66309C16.3917 5.82988 16.4139 6.00098 16.4229 6.17598C16.4249 6.21074 16.4526 6.2373 16.4858 6.23848Z" fill="#CBE5E8"/>
|
||||
<path d="M13.3189 4.24941C13.3189 4.41113 13.3107 4.57441 13.2943 4.73418C13.2791 4.88496 13.1518 4.99746 13.0033 4.99746C12.9936 4.99746 12.9834 4.99707 12.9732 4.99589C12.8123 4.97949 12.6951 4.83574 12.7115 4.6748C12.7256 4.53457 12.733 4.3916 12.733 4.24941C12.733 3.82637 12.6701 3.41113 12.5459 3.0127C12.5486 3.01973 12.551 3.02715 12.5533 3.03418C12.5646 3.06777 12.5979 3.08809 12.633 3.08301C12.7955 3.05801 12.9615 3.04473 13.1307 3.04473C13.142 3.04473 13.1533 3.04473 13.1646 3.04512C13.2674 3.43613 13.3189 3.83926 13.3189 4.24941Z" fill="#CBE5E8"/>
|
||||
<path d="M3.86211 5.94746C3.83398 5.95566 3.80586 5.95957 3.77773 5.95957C3.65195 5.95957 3.53516 5.87754 3.49727 5.75058C3.39453 5.40683 3.33125 5.05176 3.30859 4.69199C3.48359 4.60176 3.67266 4.53418 3.87187 4.49316C3.8832 4.49082 3.88555 4.48223 3.88555 4.46973C3.89297 4.84863 3.95117 5.22246 4.05859 5.58262C4.10508 5.73769 4.01719 5.90097 3.86211 5.94746Z" fill="#CBE5E8"/>
|
||||
<path d="M12.7671 7.16537C12.3661 6.70646 11.8424 6.37838 11.2526 6.2165C10.4528 5.99697 9.61537 6.10236 8.89479 6.5131C8.17416 6.92384 7.65655 7.59076 7.43725 8.39107C7.39448 8.54712 7.48635 8.70829 7.64237 8.75103C7.6683 8.75814 7.69436 8.76154 7.71995 8.76154C7.84869 8.76154 7.96666 8.67607 8.00233 8.54591C8.1803 7.89654 8.60026 7.35537 9.1849 7.02216C9.76951 6.689 10.4487 6.60353 11.0975 6.78154C11.576 6.91287 12.0008 7.17892 12.3259 7.55091C12.4324 7.67283 12.6174 7.68521 12.7393 7.57873C12.8611 7.47224 12.8736 7.2872 12.7671 7.16537Z" fill="#CBE5E8"/>
|
||||
<path d="M4.05227 15.6521C3.90973 15.5755 3.73211 15.6292 3.65563 15.7717L3.25364 16.5208C3.17712 16.6634 3.23067 16.841 3.37325 16.9175C3.41731 16.9412 3.46477 16.9524 3.51149 16.9524C3.61598 16.9524 3.71708 16.8964 3.76989 16.7979L4.17188 16.0488C4.24844 15.9062 4.19489 15.7286 4.05227 15.6521Z" fill="#62DBFB"/>
|
||||
<path d="M5.01707 13.8259C4.87442 13.7494 4.69692 13.803 4.62043 13.9455L4.21848 14.6947C4.14196 14.8373 4.19551 15.0148 4.33809 15.0914C4.38219 15.115 4.42961 15.1262 4.47633 15.1262C4.58083 15.1262 4.68192 15.0702 4.73473 14.9717L5.13668 14.2226C5.21321 14.08 5.15965 13.9024 5.01707 13.8259Z" fill="#62DBFB"/>
|
||||
<path d="M5.89309 15.6521C5.75059 15.5755 5.57293 15.6292 5.49645 15.7717L5.09446 16.5208C5.01794 16.6634 5.07149 16.841 5.21407 16.9175C5.25813 16.9412 5.30559 16.9524 5.35231 16.9524C5.4568 16.9524 5.5579 16.8964 5.61071 16.7979L6.0127 16.0488C6.08926 15.9062 6.03567 15.7286 5.89309 15.6521Z" fill="#62DBFB"/>
|
||||
<path d="M6.85793 13.8259C6.71543 13.7493 6.53778 13.803 6.46129 13.9455L6.0593 14.6947C5.98278 14.8372 6.03633 15.0148 6.17891 15.0913C6.22297 15.115 6.27043 15.1262 6.31715 15.1262C6.42165 15.1262 6.52274 15.0702 6.57555 14.9717L6.97754 14.2226C7.05411 14.08 7.00055 13.9024 6.85793 13.8259Z" fill="#62DBFB"/>
|
||||
<path d="M7.73485 15.652C7.59223 15.5756 7.41469 15.6292 7.33821 15.7717L6.93626 16.5208C6.85973 16.6634 6.91329 16.841 7.05586 16.9175C7.09997 16.9411 7.14739 16.9524 7.19411 16.9524C7.2986 16.9524 7.39969 16.8964 7.4525 16.7979L7.85446 16.0487C7.93098 15.9061 7.87743 15.7286 7.73485 15.652Z" fill="#62DBFB"/>
|
||||
<path d="M8.69969 13.8259C8.55704 13.7494 8.37954 13.803 8.30305 13.9455L7.9011 14.6947C7.82458 14.8373 7.87813 15.0148 8.02071 15.0914C8.06481 15.115 8.11223 15.1262 8.15895 15.1262C8.26344 15.1262 8.36454 15.0702 8.41735 14.9717L8.8193 14.2226C8.89586 14.08 8.84231 13.9024 8.69969 13.8259Z" fill="#62DBFB"/>
|
||||
<path d="M9.57571 15.6521C9.43317 15.5755 9.25555 15.6292 9.17907 15.7717L8.77708 16.5208C8.70055 16.6634 8.75411 16.841 8.89669 16.9175C8.94075 16.9412 8.98821 16.9524 9.03493 16.9524C9.13942 16.9524 9.24051 16.8964 9.29332 16.7979L9.69532 16.0488C9.77184 15.9062 9.71828 15.7286 9.57571 15.6521Z" fill="#62DBFB"/>
|
||||
<path d="M10.5405 13.8259C10.3979 13.7494 10.2204 13.803 10.1439 13.9455L9.74192 14.6947C9.6654 14.8373 9.71895 15.0148 9.86153 15.0914C9.90563 15.115 9.95305 15.1262 9.99977 15.1262C10.1043 15.1262 10.2054 15.0702 10.2582 14.9717L10.6601 14.2226C10.7366 14.08 10.6831 13.9024 10.5405 13.8259Z" fill="#62DBFB"/>
|
||||
<path d="M11.4165 15.652C11.2739 15.5756 11.0963 15.6292 11.0198 15.7717L10.6179 16.5208C10.5414 16.6634 10.5949 16.841 10.7375 16.9175C10.7816 16.9411 10.829 16.9524 10.8757 16.9524C10.9802 16.9524 11.0813 16.8964 11.1341 16.7979L11.5361 16.0487C11.6127 15.9061 11.5591 15.7286 11.4165 15.652Z" fill="#62DBFB"/>
|
||||
<path d="M12.3814 13.8259C12.2389 13.7493 12.0612 13.803 11.9847 13.9455L11.5827 14.6947C11.5062 14.8372 11.5598 15.0148 11.7023 15.0913C11.7464 15.115 11.7939 15.1262 11.8406 15.1262C11.9451 15.1262 12.0462 15.0702 12.099 14.9717L12.501 14.2226C12.5775 14.08 12.5239 13.9024 12.3814 13.8259Z" fill="#62DBFB"/>
|
||||
<path d="M8.03101 12.9297C7.8562 13.3325 7.47374 13.4467 7.128 13.2969C6.78226 13.1472 6.60421 12.7903 6.77902 12.3875C6.91788 12.0675 7.51089 11.7823 7.7489 11.6785C7.80335 11.6548 7.86605 11.6819 7.88593 11.7379C7.9728 11.9823 8.16987 12.6097 8.03101 12.9297Z" fill="#62DBFB"/>
|
||||
<path d="M14.8103 15.7187C14.6355 16.1215 14.253 16.2357 13.9073 16.086C13.5616 15.9363 13.3835 15.5794 13.5583 15.1765C13.6972 14.8565 14.2902 14.5714 14.5282 14.4676C14.5826 14.4439 14.6453 14.471 14.6652 14.5269C14.7521 14.7714 14.9492 15.3987 14.8103 15.7187Z" fill="#62DBFB"/>
|
||||
</svg>
|
After Width: | Height: | Size: 8.0 KiB |
4
assets/icons/search_icon.svg
Normal file
@ -0,0 +1,4 @@
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M2.37318 13.8499C-0.790913 10.6858 -0.79085 5.53728 2.37318 2.37312C5.53734 -0.79104 10.6858 -0.79104 13.8499 2.37312C16.5342 5.05748 16.9408 9.0498 15.0706 12.1674C15.0706 12.1674 14.9363 12.3928 15.1177 12.5741C16.1527 13.609 19.2581 16.7144 19.2581 16.7144C20.0822 17.5385 20.2784 18.6908 19.5476 19.4217L19.4217 19.5474C18.6909 20.2784 17.5385 20.0823 16.7145 19.2581C16.7145 19.2581 13.6157 16.1593 12.5828 15.1265C12.3927 14.9363 12.1674 15.0707 12.1674 15.0707C9.04987 16.9408 5.05754 16.5343 2.37318 13.8499ZM12.3516 12.3516C14.6896 10.0137 14.6896 6.20953 12.3516 3.87154C10.0136 1.53361 6.20946 1.53355 3.87154 3.87154C1.53355 6.20946 1.53355 10.0137 3.87154 12.3516C6.20953 14.6895 10.0136 14.6895 12.3516 12.3516Z" fill="#999999" fill-opacity="0.3"/>
|
||||
<path d="M11.8337 7.62992C11.9425 7.62992 12.0531 7.60853 12.1598 7.56349C12.5857 7.38322 12.785 6.89176 12.6047 6.46576C11.4717 3.78817 8.37155 2.53161 5.69403 3.66465C5.26809 3.84493 5.06881 4.33639 5.24908 4.76239C5.42942 5.18839 5.92075 5.38754 6.34688 5.20734C8.1737 4.43432 10.289 5.29167 11.062 7.11849C11.1972 7.43799 11.5074 7.62992 11.8337 7.62992Z" fill="#999999" fill-opacity="0.3"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.2 KiB |
24
assets/icons/snowy_icon.svg
Normal file
@ -0,0 +1,24 @@
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M3.77584 12.0301C3.64982 11.904 3.44568 11.904 3.31971 12.0301L3.22521 12.1246L3.13072 12.0301C3.00471 11.904 2.80057 11.904 2.67459 12.0301C2.54861 12.1561 2.54857 12.3602 2.67459 12.4862L2.76908 12.5807L2.67459 12.6752C2.54857 12.8012 2.54857 13.0053 2.67459 13.1313C2.7376 13.1943 2.82014 13.2258 2.90268 13.2258C2.98521 13.2258 3.06775 13.1943 3.13076 13.1313L3.22525 13.0368L3.31971 13.1313C3.38271 13.1944 3.46525 13.2258 3.54779 13.2258C3.63033 13.2258 3.71287 13.1944 3.77588 13.1313C3.90189 13.0053 3.90189 12.8012 3.77588 12.6752L3.68139 12.5807L3.77588 12.4862C3.90186 12.3602 3.90186 12.1561 3.77584 12.0301Z" fill="#C3DDFF"/>
|
||||
<path d="M7.00244 16.5467C6.87643 16.4206 6.67228 16.4206 6.54631 16.5467L6.45178 16.6412L6.35729 16.5467C6.23127 16.4206 6.02713 16.4206 5.90115 16.5467C5.77514 16.6727 5.77514 16.8768 5.90115 17.0028L5.99564 17.0973L5.90115 17.1918C5.77514 17.3178 5.77514 17.5219 5.90115 17.6479C5.96416 17.7109 6.0467 17.7424 6.12924 17.7424C6.21178 17.7424 6.29432 17.7109 6.35732 17.6479L6.45182 17.5534L6.54631 17.6479C6.60932 17.7109 6.69186 17.7424 6.77439 17.7424C6.85693 17.7424 6.93947 17.7109 7.00248 17.6479C7.1285 17.5219 7.1285 17.3178 7.00248 17.1918L6.90799 17.0973L7.00248 17.0028C7.12846 16.8768 7.12846 16.6726 7.00244 16.5467Z" fill="#C3DDFF"/>
|
||||
<path d="M5.16109 14.5159C5.16109 14.3378 5.0168 14.1934 4.83852 14.1934C4.6602 14.1934 4.51594 14.3378 4.51594 14.5159C4.33762 14.5159 4.19336 14.6604 4.19336 14.8385C4.19336 15.0166 4.33766 15.1611 4.51594 15.1611C4.51594 15.3392 4.66023 15.4837 4.83852 15.4837C5.01684 15.4837 5.16109 15.3392 5.16109 15.1611C5.33941 15.1611 5.48367 15.0166 5.48367 14.8385C5.48367 14.6604 5.33941 14.5159 5.16109 14.5159Z" fill="#DBEAFF"/>
|
||||
<path d="M8.38766 19.0325C8.38766 18.8544 8.24336 18.71 8.06508 18.71C7.8868 18.71 7.7425 18.8544 7.7425 19.0325C7.56418 19.0325 7.41992 19.177 7.41992 19.3551C7.41992 19.5332 7.56422 19.6777 7.7425 19.6777C7.7425 19.8558 7.8868 20.0003 8.06508 20.0003C8.24336 20.0003 8.38766 19.8558 8.38766 19.6777C8.56598 19.6777 8.71023 19.5332 8.71023 19.3551C8.71023 19.177 8.56594 19.0325 8.38766 19.0325Z" fill="#DBEAFF"/>
|
||||
<path d="M7.09664 12.2581C7.09664 12.08 6.95234 11.9355 6.77406 11.9355C6.59578 11.9355 6.45148 12.08 6.45148 12.2581C6.27316 12.2581 6.12891 12.4026 6.12891 12.5807C6.12891 12.7588 6.2732 12.9033 6.45148 12.9033C6.45148 13.0814 6.59578 13.2259 6.77406 13.2259C6.95234 13.2259 7.09664 13.0814 7.09664 12.9033C7.27496 12.9033 7.41922 12.7588 7.41922 12.5807C7.41922 12.4026 7.27496 12.2581 7.09664 12.2581Z" fill="#DBEAFF"/>
|
||||
<path d="M8.93795 14.2879C8.81193 14.1619 8.60779 14.1619 8.48182 14.2879L8.38732 14.3824L8.29283 14.2879C8.16682 14.1619 7.96268 14.1619 7.8367 14.2879C7.71068 14.4139 7.71068 14.618 7.8367 14.744L7.93119 14.8385L7.8367 14.933C7.71068 15.059 7.71068 15.2631 7.8367 15.3891C7.89971 15.4521 7.98225 15.4836 8.06479 15.4836C8.14732 15.4836 8.22986 15.4521 8.29287 15.3891L8.38736 15.2946L8.48186 15.3891C8.54486 15.4521 8.6274 15.4836 8.70994 15.4836C8.79248 15.4836 8.87502 15.4521 8.93803 15.3891C9.06404 15.2631 9.06404 15.059 8.93803 14.933L8.84354 14.8385L8.93803 14.744C9.06396 14.618 9.06396 14.4139 8.93795 14.2879Z" fill="#C3DDFF"/>
|
||||
<path d="M10.3222 16.7737C10.3222 16.5956 10.1779 16.4512 9.99965 16.4512C9.82137 16.4512 9.67707 16.5956 9.67707 16.7737C9.49875 16.7737 9.35449 16.9182 9.35449 17.0963C9.35449 17.2745 9.49879 17.4189 9.67707 17.4189C9.67707 17.597 9.82137 17.7415 9.99965 17.7415C10.1779 17.7415 10.3222 17.597 10.3222 17.4189C10.5005 17.4189 10.6448 17.2745 10.6448 17.0963C10.6448 16.9182 10.5005 16.7737 10.3222 16.7737Z" fill="#DBEAFF"/>
|
||||
<path d="M12.1635 18.8045C12.0375 18.6785 11.8334 18.6785 11.7074 18.8045L11.6129 18.899L11.5184 18.8045C11.3924 18.6785 11.1883 18.6785 11.0623 18.8045C10.9363 18.9305 10.9363 19.1346 11.0623 19.2606L11.1568 19.3551L11.0623 19.4496C10.9363 19.5756 10.9363 19.7797 11.0623 19.9057C11.1253 19.9687 11.2078 20.0002 11.2904 20.0002C11.3729 20.0002 11.4554 19.9687 11.5185 19.9057L11.6129 19.8112L11.7074 19.9057C11.7704 19.9687 11.853 20.0002 11.9355 20.0002C12.0181 20.0002 12.1006 19.9687 12.1636 19.9057C12.2896 19.7797 12.2896 19.5756 12.1636 19.4496L12.0691 19.3551L12.1636 19.2606C12.2896 19.1346 12.2896 18.9305 12.1635 18.8045Z" fill="#C3DDFF"/>
|
||||
<path d="M10.8735 12.6752L10.779 12.5807L10.8735 12.4862C10.9995 12.3602 10.9995 12.156 10.8735 12.0301C10.7475 11.904 10.5433 11.904 10.4174 12.0301L10.3229 12.1246L10.2284 12.0301C10.1024 11.904 9.89822 11.904 9.77225 12.0301C9.64623 12.1561 9.64623 12.3602 9.77225 12.4862L9.86674 12.5807L9.77225 12.6752C9.64623 12.8012 9.64623 13.0053 9.77225 13.1313C9.83525 13.1943 9.91779 13.2258 10.0003 13.2258C10.0829 13.2258 10.1654 13.1943 10.2284 13.1313L10.3229 13.0368L10.4174 13.1313C10.4804 13.1943 10.5629 13.2258 10.6455 13.2258C10.728 13.2258 10.8106 13.1943 10.8736 13.1313C10.9995 13.0053 10.9995 12.8012 10.8735 12.6752Z" fill="#C3DDFF"/>
|
||||
<path d="M14.0991 16.5467C13.9731 16.4206 13.7689 16.4206 13.6429 16.5467L13.5485 16.6412L13.454 16.5467C13.3279 16.4206 13.1238 16.4206 12.9978 16.5467C12.8718 16.6727 12.8718 16.8768 12.9978 17.0028L13.0923 17.0973L12.9978 17.1918C12.8718 17.3178 12.8718 17.5219 12.9978 17.6479C13.0608 17.7109 13.1434 17.7424 13.2259 17.7424C13.3085 17.7424 13.391 17.7109 13.454 17.6479L13.5485 17.5534L13.643 17.6479C13.706 17.7109 13.7885 17.7424 13.8711 17.7424C13.9536 17.7424 14.0362 17.7109 14.0992 17.6479C14.2252 17.5219 14.2252 17.3178 14.0992 17.1918L14.0047 17.0973L14.0992 17.0028C14.2251 16.8768 14.2251 16.6726 14.0991 16.5467Z" fill="#C3DDFF"/>
|
||||
<path d="M12.2578 14.5159C12.2578 14.3378 12.1135 14.1934 11.9352 14.1934C11.7569 14.1934 11.6126 14.3378 11.6126 14.5159C11.4343 14.5159 11.29 14.6604 11.29 14.8385C11.29 15.0166 11.4343 15.1611 11.6126 15.1611C11.6126 15.3392 11.7569 15.4837 11.9352 15.4837C12.1135 15.4837 12.2578 15.3392 12.2578 15.1611C12.4361 15.1611 12.5804 15.0166 12.5804 14.8385C12.5804 14.6604 12.4361 14.5159 12.2578 14.5159Z" fill="#DBEAFF"/>
|
||||
<path d="M15.4843 19.0325C15.4843 18.8544 15.34 18.71 15.1618 18.71C14.9835 18.71 14.8392 18.8544 14.8392 19.0325C14.6609 19.0325 14.5166 19.177 14.5166 19.3551C14.5166 19.5332 14.6609 19.6777 14.8392 19.6777C14.8392 19.8558 14.9835 20.0003 15.1618 20.0003C15.34 20.0003 15.4843 19.8558 15.4843 19.6777C15.6627 19.6777 15.8069 19.5332 15.8069 19.3551C15.8069 19.177 15.6627 19.0325 15.4843 19.0325Z" fill="#DBEAFF"/>
|
||||
<path d="M14.1933 12.2581C14.1933 12.08 14.049 11.9355 13.8707 11.9355C13.6925 11.9355 13.5482 12.08 13.5482 12.2581C13.3698 12.2581 13.2256 12.4026 13.2256 12.5807C13.2256 12.7588 13.3699 12.9033 13.5482 12.9033C13.5482 13.0814 13.6925 13.2259 13.8707 13.2259C14.049 13.2259 14.1933 13.0814 14.1933 12.9033C14.3716 12.9033 14.5159 12.7588 14.5159 12.5807C14.5159 12.4026 14.3716 12.2581 14.1933 12.2581Z" fill="#DBEAFF"/>
|
||||
<path d="M16.0346 14.2879C15.9086 14.1619 15.7045 14.1619 15.5785 14.2879L15.484 14.3824L15.3895 14.2879C15.2635 14.1619 15.0594 14.1619 14.9334 14.2879C14.8074 14.4139 14.8074 14.618 14.9334 14.744L15.0279 14.8385L14.9334 14.933C14.8074 15.059 14.8074 15.2631 14.9334 15.3891C14.9964 15.4521 15.0789 15.4836 15.1615 15.4836C15.244 15.4836 15.3265 15.4521 15.3896 15.3891L15.484 15.2946L15.5785 15.3891C15.6415 15.4521 15.7241 15.4836 15.8066 15.4836C15.8892 15.4836 15.9717 15.4521 16.0347 15.3891C16.1607 15.2631 16.1607 15.059 16.0347 14.933L15.9402 14.8385L16.0347 14.744C16.1606 14.618 16.1606 14.4139 16.0346 14.2879Z" fill="#C3DDFF"/>
|
||||
<path d="M17.4189 16.7737C17.4189 16.5956 17.2746 16.4512 17.0963 16.4512C16.918 16.4512 16.7737 16.5956 16.7737 16.7737C16.5954 16.7737 16.4512 16.9182 16.4512 17.0963C16.4512 17.2745 16.5955 17.4189 16.7737 17.4189C16.7737 17.597 16.918 17.7415 17.0963 17.7415C17.2746 17.7415 17.4189 17.597 17.4189 17.4189C17.5972 17.4189 17.7415 17.2745 17.7415 17.0963C17.7415 16.9182 17.5972 16.7737 17.4189 16.7737Z" fill="#DBEAFF"/>
|
||||
<path d="M19.2602 18.8045C19.1342 18.6785 18.9301 18.6785 18.8041 18.8045L18.7096 18.899L18.6151 18.8045C18.4891 18.6785 18.2849 18.6785 18.159 18.8045C18.0329 18.9305 18.0329 19.1346 18.159 19.2606L18.2535 19.3551L18.159 19.4496C18.0329 19.5756 18.0329 19.7797 18.159 19.9057C18.222 19.9687 18.3045 20.0002 18.3871 20.0002C18.4696 20.0002 18.5521 19.9687 18.6151 19.9057L18.7096 19.8112L18.8041 19.9057C18.8671 19.9687 18.9497 20.0002 19.0322 20.0002C19.1147 20.0002 19.1973 19.9687 19.2603 19.9057C19.3863 19.7797 19.3863 19.5756 19.2603 19.4496L19.1658 19.3551L19.2603 19.2606C19.3862 19.1346 19.3862 18.9305 19.2602 18.8045Z" fill="#C3DDFF"/>
|
||||
<path d="M17.9702 12.6752L17.8757 12.5807L17.9702 12.4862C18.0962 12.3602 18.0962 12.156 17.9702 12.0301C17.8442 11.9041 17.64 11.904 17.514 12.0301L17.4196 12.1246L17.3251 12.0301C17.199 11.904 16.9949 11.904 16.8689 12.0301C16.7429 12.1561 16.7429 12.3602 16.8689 12.4862L16.9634 12.5807L16.8689 12.6752C16.7429 12.8012 16.7429 13.0053 16.8689 13.1313C16.9319 13.1943 17.0145 13.2258 17.097 13.2258C17.1796 13.2258 17.2621 13.1943 17.3251 13.1313L17.4196 13.0368L17.5141 13.1313C17.5771 13.1943 17.6596 13.2258 17.7422 13.2258C17.8247 13.2258 17.9072 13.1943 17.9703 13.1313C18.0962 13.0053 18.0962 12.8012 17.9702 12.6752Z" fill="#C3DDFF"/>
|
||||
<path d="M19.3545 14.5159C19.3545 14.3378 19.2102 14.1934 19.0319 14.1934C18.8536 14.1934 18.7093 14.3378 18.7093 14.5159C18.531 14.5159 18.3867 14.6604 18.3867 14.8385C18.3867 15.0166 18.531 15.1611 18.7093 15.1611C18.7093 15.3392 18.8536 15.4837 19.0319 15.4837C19.2102 15.4837 19.3545 15.3392 19.3545 15.1611C19.5328 15.1611 19.677 15.0166 19.677 14.8385C19.677 14.6604 19.5327 14.5159 19.3545 14.5159Z" fill="#DBEAFF"/>
|
||||
<path d="M17.0968 4.51613C17.0314 4.51613 16.9675 4.52164 16.9032 4.5259C16.235 3.36453 14.9845 2.58066 13.5484 2.58066C13.1184 2.58066 12.7062 2.65367 12.3197 2.78305C11.4593 1.13039 9.73402 0 7.74195 0C5.10551 0 2.93484 1.97805 2.62305 4.53027C1.15117 4.67129 0 5.91051 0 7.41934C0 9.02273 1.2998 10.3226 2.90324 10.3226H17.0968C18.7002 10.3226 20 9.02273 20 7.41934C20 5.81594 18.7002 4.51613 17.0968 4.51613Z" fill="#DBEAFF"/>
|
||||
<path d="M9.03227 9.67742C6.35992 9.67742 4.19355 7.51105 4.19355 4.83871C4.19355 2.37824 6.03711 0.350195 8.41406 0.0435156C8.1957 0.0152734 7.96805 0 7.74195 0C5.10551 0 2.93484 1.97805 2.62305 4.53027C1.15117 4.67129 0 5.91051 0 7.41934C0 9.02273 1.2998 10.3226 2.90324 10.3226H17.0968C17.7876 10.3226 18.4233 10.0803 18.9218 9.67742H9.03227Z" fill="#C3DDFF"/>
|
||||
<path d="M12.7601 3.94703C12.7957 4.09477 12.9277 4.19402 13.0732 4.19402C13.0984 4.19402 13.1236 4.19117 13.1492 4.18504C13.3224 4.14328 13.4289 3.9691 13.387 3.79582C13.288 3.38469 13.1414 2.9941 12.9638 2.62598C12.7438 2.66016 12.5307 2.71328 12.3242 2.78219C12.5118 3.14543 12.6607 3.53453 12.7601 3.94703Z" fill="#C3DDFF"/>
|
||||
<path d="M17.658 4.57078C17.4758 4.53496 17.2889 4.5166 17.0962 4.5166C17.0317 4.5166 16.963 4.5218 16.8994 4.52598C17.1336 4.92883 17.2991 5.37672 17.3731 5.85621C17.3977 6.01562 17.535 6.12949 17.6916 6.12949C17.708 6.12949 17.7244 6.12824 17.7411 6.1257C17.9171 6.09844 18.0378 5.93371 18.0107 5.75762C17.946 5.33836 17.8248 4.93973 17.658 4.57078Z" fill="#C3DDFF"/>
|
||||
</svg>
|
After Width: | Height: | Size: 11 KiB |
16
assets/icons/sunny_icon.svg
Normal file
@ -0,0 +1,16 @@
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M9.99996 15.6571C13.1243 15.6571 15.6571 13.1243 15.6571 9.99996C15.6571 6.87558 13.1243 4.34277 9.99996 4.34277C6.87558 4.34277 4.34277 6.87558 4.34277 9.99996C4.34277 13.1243 6.87558 15.6571 9.99996 15.6571Z" fill="#FFD347"/>
|
||||
<path d="M9.99949 2.22066C9.83258 2.22066 9.69727 2.08539 9.69727 1.91844V0.302227C9.69727 0.135273 9.83258 0 9.99949 0C10.1664 0 10.3017 0.135273 10.3017 0.302227V1.91848C10.3017 2.08539 10.1664 2.22066 9.99949 2.22066Z" fill="#FFD347"/>
|
||||
<path d="M5.95925 3.30301C5.85479 3.30301 5.75323 3.24883 5.69725 3.15188L4.88917 1.75219C4.80573 1.60766 4.85522 1.42281 4.99979 1.33934C5.14436 1.25598 5.32917 1.30535 5.41265 1.44996L6.22073 2.84965C6.30417 2.99418 6.25468 3.17902 6.11011 3.2625C6.06249 3.28996 6.01054 3.30301 5.95925 3.30301Z" fill="#FFD347"/>
|
||||
<path d="M3.00049 6.26126C2.94924 6.26126 2.89725 6.24821 2.84967 6.22071L1.44998 5.41263C1.30545 5.32919 1.25592 5.14435 1.33936 4.99978C1.42279 4.85521 1.60764 4.80575 1.75221 4.88915L3.15189 5.69724C3.29643 5.78067 3.34596 5.96552 3.26252 6.11009C3.2065 6.20708 3.10494 6.26126 3.00049 6.26126Z" fill="#FFD347"/>
|
||||
<path d="M1.91844 10.3017H0.302227C0.135312 10.3017 0 10.1664 0 9.99949C0 9.83254 0.135312 9.69727 0.302227 9.69727H1.91848C2.08539 9.69727 2.2207 9.83254 2.2207 9.99949C2.2207 10.1664 2.08535 10.3017 1.91844 10.3017Z" fill="#FFD347"/>
|
||||
<path d="M1.60136 15.1509C1.4969 15.1509 1.39534 15.0967 1.33936 14.9997C1.25593 14.8552 1.30542 14.6704 1.44999 14.5869L2.84968 13.7788C2.99421 13.6954 3.17905 13.7448 3.26253 13.8894C3.34597 14.0339 3.29647 14.2188 3.1519 14.3023L1.75222 15.1104C1.7046 15.1378 1.65261 15.1509 1.60136 15.1509Z" fill="#FFD347"/>
|
||||
<path d="M5.15061 18.7005C5.09936 18.7005 5.04736 18.6875 4.99979 18.66C4.85525 18.5765 4.80572 18.3917 4.88916 18.2471L5.69725 16.8474C5.78068 16.7029 5.96553 16.6534 6.1101 16.7368C6.25463 16.8202 6.30416 17.0051 6.22072 17.1497L5.41264 18.5493C5.35662 18.6463 5.25506 18.7005 5.15061 18.7005Z" fill="#FFD347"/>
|
||||
<path d="M9.99949 20C9.83258 20 9.69727 19.8647 9.69727 19.6978V18.0815C9.69727 17.9146 9.83258 17.7793 9.99949 17.7793C10.1664 17.7793 10.3017 17.9146 10.3017 18.0815V19.6978C10.3017 19.8647 10.1664 20 9.99949 20Z" fill="#FFD347"/>
|
||||
<path d="M14.8489 18.7014C14.7444 18.7014 14.6429 18.6473 14.5869 18.5503L13.7788 17.1506C13.6954 17.0061 13.7449 16.8213 13.8894 16.7378C14.034 16.6544 14.2188 16.7038 14.3023 16.8484L15.1104 18.2481C15.1938 18.3926 15.1443 18.5775 14.9998 18.6609C14.9521 18.6884 14.9002 18.7014 14.8489 18.7014Z" fill="#FFD347"/>
|
||||
<path d="M18.3989 15.1509C18.3477 15.1509 18.2957 15.1379 18.2481 15.1104L16.8484 14.3023C16.7039 14.2188 16.6544 14.034 16.7378 13.8894C16.8212 13.7449 17.0061 13.6954 17.1506 13.7788L18.5503 14.5869C18.6949 14.6703 18.7444 14.8552 18.661 14.9997C18.6049 15.0967 18.5034 15.1509 18.3989 15.1509Z" fill="#FFD347"/>
|
||||
<path d="M19.6978 10.3017H18.0815C17.9146 10.3017 17.7793 10.1664 17.7793 9.99949C17.7793 9.83254 17.9146 9.69727 18.0815 9.69727H19.6978C19.8647 9.69727 20 9.83254 20 9.99949C20 10.1664 19.8647 10.3017 19.6978 10.3017Z" fill="#FFD347"/>
|
||||
<path d="M16.9998 6.26121C16.8953 6.26121 16.7938 6.20703 16.7378 6.11008C16.6544 5.96555 16.7039 5.7807 16.8484 5.69723L18.2481 4.88914C18.3926 4.80578 18.5775 4.85516 18.661 4.99977C18.7444 5.1443 18.6949 5.32914 18.5503 5.41262L17.1507 6.2207C17.103 6.24817 17.051 6.26121 16.9998 6.26121Z" fill="#FFD347"/>
|
||||
<path d="M14.0403 3.30306C13.989 3.30306 13.937 3.29001 13.8894 3.26251C13.7449 3.17907 13.6954 2.99423 13.7788 2.84966L14.5869 1.44997C14.6703 1.3054 14.8552 1.25595 14.9997 1.33935C15.1443 1.42278 15.1938 1.60763 15.1104 1.7522L14.3023 3.15189C14.2463 3.24888 14.1447 3.30306 14.0403 3.30306Z" fill="#FFD347"/>
|
||||
<path d="M9.99965 4.34277C9.79488 4.34277 9.5927 4.35395 9.39355 4.37512C12.2328 4.67758 14.4445 7.08027 14.4445 9.99976C14.4445 12.9193 12.2328 15.322 9.39355 15.6245C9.5927 15.6457 9.79484 15.6568 9.99965 15.6568C13.1239 15.6568 15.6567 13.1241 15.6567 9.99976C15.6567 6.87547 13.124 4.34277 9.99965 4.34277Z" fill="#FFBE31"/>
|
||||
</svg>
|
After Width: | Height: | Size: 4.0 KiB |
@ -3,10 +3,12 @@ import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:syncrow_app/features/scene/bloc/create_scene/create_scene_bloc.dart';
|
||||
import 'package:syncrow_app/features/scene/enum/create_scene_enum.dart';
|
||||
import 'package:syncrow_app/features/scene/view/scene_tasks_view.dart';
|
||||
import 'package:syncrow_app/features/scene/view/settings/validity_page.dart';
|
||||
import 'package:syncrow_app/features/scene/widgets/effective_period_setting/effective_period_bottom_sheet.dart';
|
||||
import 'package:syncrow_app/features/scene/widgets/scene_list_tile.dart';
|
||||
import 'package:syncrow_app/features/shared_widgets/default_container.dart';
|
||||
import 'package:syncrow_app/features/shared_widgets/default_scaffold.dart';
|
||||
import 'package:syncrow_app/features/shared_widgets/text_widgets/body_medium.dart';
|
||||
import 'package:syncrow_app/utils/context_extension.dart';
|
||||
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
|
||||
|
||||
@ -37,6 +39,99 @@ class SceneAutoSettings extends StatelessWidget {
|
||||
height: MediaQuery.sizeOf(context).height,
|
||||
child: Column(
|
||||
children: [
|
||||
DefaultContainer(
|
||||
child: Column(
|
||||
children: [
|
||||
InkWell(
|
||||
onTap: () {
|
||||
Navigator.of(context).push(MaterialPageRoute(
|
||||
builder: (context) =>const ValidityPage(),
|
||||
));
|
||||
},
|
||||
child: Container(
|
||||
padding: EdgeInsets.only(top: 12, bottom: 12),
|
||||
child: const Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
BodyMedium(
|
||||
text: 'Validity',
|
||||
fontWeight: FontWeight.normal,
|
||||
),
|
||||
Icon(
|
||||
Icons.arrow_forward_ios,
|
||||
size: 15,
|
||||
color: ColorsManager.textGray,
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
const Divider(
|
||||
color: ColorsManager.backgroundColor,
|
||||
),
|
||||
InkWell(
|
||||
onTap: () {
|
||||
context.customBottomSheet(
|
||||
child: const EffectPeriodBottomSheetContent(),
|
||||
);
|
||||
},
|
||||
child: Container(
|
||||
padding: EdgeInsets.only(top: 12, bottom: 12),
|
||||
child: const Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
BodyMedium(
|
||||
text: 'Effective Period',
|
||||
fontWeight: FontWeight.normal,
|
||||
),
|
||||
Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
mainAxisAlignment: MainAxisAlignment.end,
|
||||
children: [
|
||||
Icon(
|
||||
Icons.arrow_forward_ios,
|
||||
size: 15,
|
||||
color: ColorsManager.textGray,
|
||||
)
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
const Divider(
|
||||
color: ColorsManager.backgroundColor,
|
||||
),
|
||||
InkWell(
|
||||
onTap: () {},
|
||||
child: Container(
|
||||
padding: EdgeInsets.only(top: 12, bottom: 12),
|
||||
child: const Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
BodyMedium(
|
||||
text: 'Executed by',
|
||||
fontWeight: FontWeight.normal,
|
||||
),
|
||||
Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
mainAxisAlignment: MainAxisAlignment.end,
|
||||
children: [
|
||||
BodyMedium(
|
||||
fontColor: ColorsManager.textGray,
|
||||
text: 'Cloud',
|
||||
fontWeight: FontWeight.normal,
|
||||
fontSize: 13,
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.symmetric(vertical: 16),
|
||||
child: DefaultContainer(
|
||||
@ -56,9 +151,7 @@ class SceneAutoSettings extends StatelessWidget {
|
||||
trailingWidget:
|
||||
const Icon(Icons.arrow_forward_ios_rounded),
|
||||
onPressed: () {
|
||||
context.customBottomSheet(
|
||||
child: const EffectPeriodBottomSheetContent(),
|
||||
);
|
||||
|
||||
},
|
||||
),
|
||||
),
|
||||
|
165
lib/features/scene/view/settings/Temperature_dialog.dart
Normal file
@ -0,0 +1,165 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
|
||||
|
||||
class TemperatureDialog extends StatefulWidget {
|
||||
final Function(String label, int toggleIndex, String selectedCity)?
|
||||
confirmTab;
|
||||
|
||||
const TemperatureDialog({Key? key, this.confirmTab}) : super(key: key);
|
||||
|
||||
@override
|
||||
_TemperatureDialogState createState() => _TemperatureDialogState();
|
||||
}
|
||||
|
||||
class _TemperatureDialogState extends State<TemperatureDialog> {
|
||||
double _currentTemperature = 40;
|
||||
String _selectedCity = 'Current City';
|
||||
int selectedToggleIndex = 1;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Dialog(
|
||||
backgroundColor: Colors.white,
|
||||
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20.0)),
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(16.0),
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
const Text(
|
||||
'Temperature',
|
||||
style: TextStyle(
|
||||
fontSize: 20,
|
||||
fontWeight: FontWeight.bold,
|
||||
color: Colors.blue),
|
||||
),
|
||||
const Divider(color: ColorsManager.greyColor),
|
||||
ToggleButtons(
|
||||
isSelected: [
|
||||
selectedToggleIndex == 0,
|
||||
selectedToggleIndex == 1,
|
||||
selectedToggleIndex == 2
|
||||
],
|
||||
onPressed: (index) {
|
||||
setState(() {
|
||||
selectedToggleIndex = index;
|
||||
});
|
||||
},
|
||||
borderRadius: BorderRadius.circular(30),
|
||||
selectedColor: Colors.white,
|
||||
color: ColorsManager.blackColor,
|
||||
fillColor: ColorsManager.primaryColorWithOpacity,
|
||||
borderColor: ColorsManager.greyColor,
|
||||
constraints: BoxConstraints.tight(const Size(70, 30)),
|
||||
children: [
|
||||
_buildToggleOption('<', selectedToggleIndex == 0),
|
||||
_buildToggleOption('=', selectedToggleIndex == 1),
|
||||
_buildToggleOption('>', selectedToggleIndex == 2),
|
||||
],
|
||||
),
|
||||
const SizedBox(height: 10),
|
||||
Text(
|
||||
'${_currentTemperature.toStringAsFixed(0)}°C',
|
||||
style: TextStyle(
|
||||
fontSize: 40,
|
||||
fontWeight: FontWeight.bold,
|
||||
color: ColorsManager.secondaryColor.withOpacity(0.5)),
|
||||
),
|
||||
Slider(
|
||||
activeColor: ColorsManager.secondaryColor.withOpacity(0.5),
|
||||
inactiveColor: ColorsManager.grayBox,
|
||||
thumbColor: ColorsManager.primaryColor,
|
||||
value: _currentTemperature,
|
||||
min: -40,
|
||||
max: 40,
|
||||
onChanged: (value) {
|
||||
setState(() {
|
||||
_currentTemperature = value;
|
||||
});
|
||||
},
|
||||
),
|
||||
ElevatedButton(
|
||||
onPressed: _selectCity,
|
||||
child: Text(
|
||||
_selectedCity,
|
||||
style: const TextStyle(
|
||||
color: ColorsManager.grayColor,
|
||||
fontSize: 14,
|
||||
fontWeight: FontWeight.w400),
|
||||
),
|
||||
style: ElevatedButton.styleFrom(
|
||||
backgroundColor: ColorsManager.grayBox.withOpacity(0.6),
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 20),
|
||||
Row(
|
||||
children: [
|
||||
_buildActionButton(context, 'Cancel', ColorsManager.textGray,
|
||||
() => Navigator.of(context).pop()),
|
||||
_buildActionButton(
|
||||
context,
|
||||
'Confirm',
|
||||
ColorsManager.primaryColor,
|
||||
() {
|
||||
widget.confirmTab!.call(
|
||||
_currentTemperature.toStringAsFixed(0),
|
||||
selectedToggleIndex,
|
||||
_selectedCity);
|
||||
},
|
||||
),
|
||||
],
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildToggleOption(String label, bool isSelected) {
|
||||
return SizedBox(
|
||||
width: 70,
|
||||
height: 30,
|
||||
child: Container(
|
||||
alignment: Alignment.center,
|
||||
color: isSelected
|
||||
? ColorsManager.secondaryColor.withOpacity(0.2)
|
||||
: ColorsManager.textGray,
|
||||
child: Text(label),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildActionButton(
|
||||
BuildContext context, String text, Color color, VoidCallback onTap) {
|
||||
return Expanded(
|
||||
child: InkWell(
|
||||
onTap: onTap,
|
||||
child: Container(
|
||||
padding: const EdgeInsets.all(15),
|
||||
decoration: BoxDecoration(
|
||||
border: Border(
|
||||
top: const BorderSide(color: ColorsManager.textGray),
|
||||
left: text == 'Confirm'
|
||||
? const BorderSide(color: ColorsManager.textGray, width: 0.5)
|
||||
: BorderSide.none,
|
||||
),
|
||||
),
|
||||
child: Center(
|
||||
child: Text(
|
||||
text,
|
||||
style: TextStyle(
|
||||
color: color, fontSize: 14, fontWeight: FontWeight.w400),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
void _selectCity() {
|
||||
// Placeholder for the city selection function
|
||||
setState(() {
|
||||
_selectedCity = 'Selected City';
|
||||
});
|
||||
}
|
||||
}
|
38
lib/features/scene/view/settings/condition_dialog.dart
Normal file
@ -0,0 +1,38 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:syncrow_app/features/shared_widgets/text_widgets/body_medium.dart';
|
||||
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
|
||||
|
||||
class ConditionDialog extends StatelessWidget {
|
||||
const ConditionDialog({Key? key}) : super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return AlertDialog(
|
||||
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20.0)),
|
||||
contentPadding: EdgeInsets.zero,
|
||||
content: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
_buildDialogOption(context, 'When all conditions are met'),
|
||||
_buildDialogOption(context, 'When any condition is met'),
|
||||
const Divider(color: ColorsManager.greyColor),
|
||||
_buildDialogOption(context, 'Cancel', isCancel: true),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildDialogOption(BuildContext context, String text, {bool isCancel = false}) {
|
||||
return ListTile(
|
||||
title: Center(
|
||||
child: BodyMedium(
|
||||
text: text,
|
||||
fontSize: 15,
|
||||
fontWeight: isCancel ? FontWeight.normal : FontWeight.w400,
|
||||
fontColor: isCancel ? Colors.grey : null,
|
||||
),
|
||||
),
|
||||
onTap: () => Navigator.of(context).pop(),
|
||||
);
|
||||
}
|
||||
}
|
221
lib/features/scene/view/settings/humidity_dialog.dart
Normal file
@ -0,0 +1,221 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:syncrow_app/features/devices/view/widgets/restart_status_dialog.dart';
|
||||
import 'package:syncrow_app/features/shared_widgets/text_widgets/body_large.dart';
|
||||
import 'package:syncrow_app/features/shared_widgets/text_widgets/body_medium.dart';
|
||||
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
|
||||
import 'package:syncrow_app/generated/assets.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
|
||||
class HumidityDialog extends StatefulWidget {
|
||||
final String label1;
|
||||
final String label2;
|
||||
final String label3;
|
||||
final String title;
|
||||
final Function()? cancelTab;
|
||||
final Function(String labelSelected)? confirmTab;
|
||||
|
||||
final String? initialSelectedLabel;
|
||||
|
||||
HumidityDialog({
|
||||
required this.label1,
|
||||
required this.label2,
|
||||
required this.label3,
|
||||
required this.title,
|
||||
required this.cancelTab,
|
||||
required this.confirmTab,
|
||||
this.initialSelectedLabel,
|
||||
});
|
||||
|
||||
@override
|
||||
_HumidityDialogState createState() => _HumidityDialogState();
|
||||
}
|
||||
|
||||
class _HumidityDialogState extends State<HumidityDialog> {
|
||||
late String _selectedOption;
|
||||
String _selectedCity = 'Current City';
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
|
||||
_selectedOption = widget.initialSelectedLabel ?? '';
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return AlertDialog(
|
||||
contentPadding: EdgeInsets.zero,
|
||||
content: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: <Widget>[
|
||||
const SizedBox(
|
||||
height: 10,
|
||||
),
|
||||
BodyLarge(
|
||||
text: widget.title,
|
||||
fontWeight: FontWeight.w700,
|
||||
fontColor: ColorsManager.primaryColor,
|
||||
fontSize: 16,
|
||||
),
|
||||
const Padding(
|
||||
padding: EdgeInsets.only(left: 15, right: 15),
|
||||
child: Divider(
|
||||
color: ColorsManager.textGray,
|
||||
),
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(left: 15, right: 15),
|
||||
child: Column(
|
||||
children: [
|
||||
_buildCheckboxOption(
|
||||
icon: Assets.dryIcon,
|
||||
label: widget.label1,
|
||||
onTap: (v) {
|
||||
_selectedOption = v;
|
||||
},
|
||||
),
|
||||
_buildCheckboxOption(
|
||||
icon: Assets.comfortableIcon,
|
||||
label: widget.label2,
|
||||
onTap: (v) {
|
||||
_selectedOption = v;
|
||||
},
|
||||
),
|
||||
_buildCheckboxOption(
|
||||
icon: Assets.moistIcon,
|
||||
label: widget.label3,
|
||||
onTap: (v) {
|
||||
_selectedOption = v;
|
||||
},
|
||||
),
|
||||
Container(
|
||||
height: 35,
|
||||
child: ElevatedButton(
|
||||
onPressed: () {},
|
||||
child: Text(
|
||||
_selectedCity,
|
||||
style: TextStyle(
|
||||
color: ColorsManager.grayColor,
|
||||
fontSize: 14,
|
||||
fontWeight: FontWeight.w400),
|
||||
),
|
||||
style: ElevatedButton.styleFrom(
|
||||
backgroundColor: ColorsManager.grayBox.withOpacity(0.6),
|
||||
),
|
||||
),
|
||||
),
|
||||
const SizedBox(
|
||||
height: 10,
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
Row(
|
||||
children: [
|
||||
Expanded(
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
border: Border(
|
||||
right: BorderSide(
|
||||
color: ColorsManager.textGray,
|
||||
width: 0.5,
|
||||
),
|
||||
top: BorderSide(
|
||||
color: ColorsManager.textGray,
|
||||
width: 1.0,
|
||||
),
|
||||
)),
|
||||
child: SizedBox(
|
||||
child: InkWell(
|
||||
onTap: widget.cancelTab,
|
||||
child: const Padding(
|
||||
padding: EdgeInsets.all(15),
|
||||
child: Center(
|
||||
child: Text(
|
||||
'Cancel',
|
||||
style: TextStyle(
|
||||
color: ColorsManager.textGray,
|
||||
fontSize: 14,
|
||||
fontWeight: FontWeight.w400),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
border: Border(
|
||||
left: BorderSide(
|
||||
color: ColorsManager.textGray,
|
||||
width: 0.5,
|
||||
),
|
||||
top: BorderSide(
|
||||
color: ColorsManager.textGray,
|
||||
width: 1.0,
|
||||
),
|
||||
)),
|
||||
child: InkWell(
|
||||
onTap: () {
|
||||
widget.confirmTab!.call(_selectedCity);
|
||||
},
|
||||
child: const Padding(
|
||||
padding: EdgeInsets.all(15),
|
||||
child: Center(
|
||||
child: Text(
|
||||
'Confirm',
|
||||
style: TextStyle(
|
||||
color: ColorsManager.primaryColor,
|
||||
fontSize: 14,
|
||||
fontWeight: FontWeight.w400),
|
||||
),
|
||||
),
|
||||
)),
|
||||
))
|
||||
],
|
||||
)
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildCheckboxOption(
|
||||
{required String label, required String icon, Function(String)? onTap}) {
|
||||
return Padding(
|
||||
padding: const EdgeInsets.only(bottom: 10, top: 10),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Row(
|
||||
children: [
|
||||
SvgPicture.asset(icon),
|
||||
SizedBox(
|
||||
width: 15,
|
||||
),
|
||||
BodyMedium(
|
||||
text: label,
|
||||
style:
|
||||
const TextStyle(fontSize: 15, fontWeight: FontWeight.w400),
|
||||
),
|
||||
],
|
||||
),
|
||||
CircularCheckbox(
|
||||
value: _selectedOption == label,
|
||||
onChanged: (bool? value) {
|
||||
if (value == true) {
|
||||
setState(() {
|
||||
_selectedOption = label;
|
||||
});
|
||||
if (onTap != null) {
|
||||
onTap(label);
|
||||
}
|
||||
}
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
120
lib/features/scene/view/settings/validity_page.dart
Normal file
@ -0,0 +1,120 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:syncrow_app/features/scene/view/settings/Temperature_dialog.dart';
|
||||
import 'package:syncrow_app/features/scene/view/settings/condition_dialog.dart';
|
||||
import 'package:syncrow_app/features/scene/view/settings/humidity_dialog.dart';
|
||||
import 'package:syncrow_app/features/scene/view/settings/weather_bottom_sheet.dart';
|
||||
import 'package:syncrow_app/features/scene/view/settings/weather_dialog.dart';
|
||||
import 'package:syncrow_app/features/scene/view/settings/wind_speed_dialog.dart';
|
||||
import 'package:syncrow_app/features/shared_widgets/default_container.dart';
|
||||
import 'package:syncrow_app/features/shared_widgets/default_scaffold.dart';
|
||||
import 'package:syncrow_app/features/shared_widgets/text_widgets/body_large.dart';
|
||||
import 'package:syncrow_app/features/shared_widgets/text_widgets/body_medium.dart';
|
||||
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
|
||||
|
||||
class ValidityPage extends StatelessWidget {
|
||||
const ValidityPage({Key? key}) : super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return DefaultScaffold(
|
||||
title: 'Validity',
|
||||
padding: EdgeInsets.zero,
|
||||
leading: IconButton(
|
||||
onPressed: () => Navigator.of(context).pop(),
|
||||
icon: const Icon(Icons.arrow_back_ios),
|
||||
),
|
||||
child: Column(
|
||||
children: [
|
||||
DefaultContainer(
|
||||
child: ListTile(
|
||||
title: const BodyMedium(
|
||||
text: 'When any condition is met',
|
||||
fontWeight: FontWeight.normal,
|
||||
),
|
||||
trailing: const Icon(Icons.arrow_forward_ios,
|
||||
size: 15, color: ColorsManager.textGray),
|
||||
onTap: () => _showConditionDialog(context),
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 16),
|
||||
InkWell(
|
||||
onTap: () => showModalBottomSheet(
|
||||
context: context,
|
||||
shape: const RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.vertical(top: Radius.circular(20.0)),
|
||||
),
|
||||
builder: (BuildContext context) => WeatherBottomSheet(
|
||||
showTemperatureDialog: () {
|
||||
showDialog(
|
||||
context: context,
|
||||
builder: (BuildContext context) => TemperatureDialog(
|
||||
confirmTab: (label, toggleIndex, selectedCity) {
|
||||
print(label);
|
||||
print(toggleIndex);
|
||||
print(selectedCity);
|
||||
},
|
||||
),
|
||||
);
|
||||
},
|
||||
showHumidityDialog: () {
|
||||
showDialog(
|
||||
context: context,
|
||||
builder: (BuildContext context) => HumidityDialog(
|
||||
initialSelectedLabel: 'Dry',
|
||||
cancelTab: () => Navigator.of(context).pop(),
|
||||
confirmTab: (v) {},
|
||||
title: 'Humidity',
|
||||
label1: 'Dry',
|
||||
label2: 'Comfortable',
|
||||
label3: 'Moist',
|
||||
),
|
||||
);
|
||||
},
|
||||
showWeatherDialog: () {
|
||||
showDialog(
|
||||
context: context,
|
||||
builder: (BuildContext context) => WeatherDialog(
|
||||
initialSelectedLabel: 'Sunny',
|
||||
cancelTab: () {},
|
||||
confirmTab: (selectedOption) {},
|
||||
title: 'Weather',
|
||||
label1: 'Sunny',
|
||||
label2: 'Cloudy',
|
||||
label3: 'Rainy',
|
||||
label4: 'Snowy',
|
||||
label5: 'Hazy',
|
||||
),
|
||||
);
|
||||
},
|
||||
showWindSpeedDialog: () {
|
||||
showDialog(
|
||||
context: context,
|
||||
builder: (BuildContext context) => WindSpeedDialog(
|
||||
confirmTab: (selectedTemperature, selectedToggleIndex,
|
||||
selectedCity) {},
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
child: const DefaultContainer(
|
||||
child: Center(
|
||||
child: Padding(
|
||||
padding: EdgeInsets.all(5.0),
|
||||
child: BodyLarge(text: '+ Add'),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
void _showConditionDialog(BuildContext context) {
|
||||
showDialog(
|
||||
context: context,
|
||||
builder: (BuildContext context) => const ConditionDialog(),
|
||||
);
|
||||
}
|
||||
}
|
54
lib/features/scene/view/settings/weather_bottom_sheet.dart
Normal file
@ -0,0 +1,54 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:syncrow_app/features/shared_widgets/text_widgets/body_medium.dart';
|
||||
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
|
||||
|
||||
class WeatherBottomSheet extends StatelessWidget {
|
||||
final VoidCallback showTemperatureDialog;
|
||||
final VoidCallback showHumidityDialog;
|
||||
final VoidCallback showWeatherDialog;
|
||||
final VoidCallback showWindSpeedDialog;
|
||||
|
||||
const WeatherBottomSheet({
|
||||
Key? key,
|
||||
required this.showTemperatureDialog,
|
||||
required this.showHumidityDialog,
|
||||
required this.showWeatherDialog,
|
||||
required this.showWindSpeedDialog,
|
||||
}) : super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Padding(
|
||||
padding: const EdgeInsets.all(16.0),
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
const Center(
|
||||
child: Text(
|
||||
"When Weather Changes",
|
||||
style: TextStyle(
|
||||
fontSize: 16.0,
|
||||
fontWeight: FontWeight.w700,
|
||||
color: Colors.blue),
|
||||
),
|
||||
),
|
||||
const Divider(color: ColorsManager.greyColor),
|
||||
_buildWeatherOption(context, 'Temperature', showTemperatureDialog),
|
||||
_buildWeatherOption(context, 'Humidity', showHumidityDialog),
|
||||
_buildWeatherOption(context, 'Weather', showWeatherDialog),
|
||||
_buildWeatherOption(
|
||||
context, 'Wind Speed', showWindSpeedDialog),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildWeatherOption(
|
||||
BuildContext context, String title, VoidCallback onTap) {
|
||||
return ListTile(
|
||||
title: BodyMedium(text: title, fontSize: 15, fontWeight: FontWeight.w400),
|
||||
trailing: const Icon(Icons.chevron_right, color: ColorsManager.textGray),
|
||||
onTap: onTap,
|
||||
);
|
||||
}
|
||||
}
|
241
lib/features/scene/view/settings/weather_dialog.dart
Normal file
@ -0,0 +1,241 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:syncrow_app/features/devices/view/widgets/restart_status_dialog.dart';
|
||||
import 'package:syncrow_app/features/shared_widgets/text_widgets/body_large.dart';
|
||||
import 'package:syncrow_app/features/shared_widgets/text_widgets/body_medium.dart';
|
||||
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
|
||||
import 'package:syncrow_app/generated/assets.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
|
||||
class WeatherDialog extends StatefulWidget {
|
||||
final String label1;
|
||||
final String label2;
|
||||
final String label3;
|
||||
final String label4;
|
||||
final String label5;
|
||||
|
||||
final String title;
|
||||
final Function()? cancelTab;
|
||||
final Function(String label)? confirmTab;
|
||||
|
||||
final String? initialSelectedLabel;
|
||||
|
||||
WeatherDialog({
|
||||
required this.label1,
|
||||
required this.label2,
|
||||
required this.label3,
|
||||
required this.label4,
|
||||
required this.label5,
|
||||
required this.title,
|
||||
required this.cancelTab,
|
||||
required this.confirmTab,
|
||||
this.initialSelectedLabel,
|
||||
});
|
||||
|
||||
@override
|
||||
_WeatherDialogState createState() => _WeatherDialogState();
|
||||
}
|
||||
|
||||
class _WeatherDialogState extends State<WeatherDialog> {
|
||||
late String _selectedOption;
|
||||
String _selectedCity = 'Current City';
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
|
||||
_selectedOption = widget.initialSelectedLabel ?? '';
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return AlertDialog(
|
||||
backgroundColor: Colors.white,
|
||||
contentPadding: EdgeInsets.zero,
|
||||
content: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: <Widget>[
|
||||
const SizedBox(
|
||||
height: 10,
|
||||
),
|
||||
BodyLarge(
|
||||
text: widget.title,
|
||||
fontWeight: FontWeight.w700,
|
||||
fontColor: ColorsManager.primaryColor,
|
||||
fontSize: 16,
|
||||
),
|
||||
const Padding(
|
||||
padding: EdgeInsets.only(left: 15, right: 15),
|
||||
child: Divider(
|
||||
color: ColorsManager.textGray,
|
||||
),
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsets.only(left: 15, right: 15),
|
||||
child: Column(
|
||||
children: [
|
||||
_buildCheckboxOption(
|
||||
icon: Assets.sunnyIcon,
|
||||
label: widget.label1,
|
||||
onTap: (v) {
|
||||
_selectedOption = v;
|
||||
},
|
||||
),
|
||||
_buildCheckboxOption(
|
||||
icon: Assets.cloudyIcon,
|
||||
label: widget.label2,
|
||||
onTap: (v) {
|
||||
_selectedOption = v;
|
||||
},
|
||||
),
|
||||
_buildCheckboxOption(
|
||||
icon: Assets.rainyIcon,
|
||||
label: widget.label3,
|
||||
onTap: (v) {
|
||||
_selectedOption = v;
|
||||
},
|
||||
),
|
||||
_buildCheckboxOption(
|
||||
icon: Assets.snowyIcon,
|
||||
label: widget.label4,
|
||||
onTap: (v) {
|
||||
_selectedOption = v;
|
||||
},
|
||||
),
|
||||
_buildCheckboxOption(
|
||||
icon: Assets.hazyIcon,
|
||||
label: widget.label5,
|
||||
onTap: (v) {
|
||||
_selectedOption = v;
|
||||
},
|
||||
),
|
||||
Container(
|
||||
height: 35,
|
||||
child: ElevatedButton(
|
||||
onPressed: () {},
|
||||
child: Text(
|
||||
_selectedCity,
|
||||
style: TextStyle(
|
||||
color: ColorsManager.grayColor,
|
||||
fontSize: 14,
|
||||
fontWeight: FontWeight.w400),
|
||||
),
|
||||
style: ElevatedButton.styleFrom(
|
||||
backgroundColor: ColorsManager.grayBox.withOpacity(0.6),
|
||||
),
|
||||
),
|
||||
),
|
||||
const SizedBox(
|
||||
height: 10,
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
Row(
|
||||
children: [
|
||||
Expanded(
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
border: Border(
|
||||
right: BorderSide(
|
||||
color: ColorsManager.textGray,
|
||||
width: 0.5,
|
||||
),
|
||||
top: BorderSide(
|
||||
color: ColorsManager.textGray,
|
||||
width: 1.0,
|
||||
),
|
||||
)),
|
||||
child: SizedBox(
|
||||
child: InkWell(
|
||||
onTap: widget.cancelTab,
|
||||
child: const Padding(
|
||||
padding: EdgeInsets.all(15),
|
||||
child: Center(
|
||||
child: Text(
|
||||
'Cancel',
|
||||
style: TextStyle(
|
||||
color: ColorsManager.textGray,
|
||||
fontSize: 14,
|
||||
fontWeight: FontWeight.w400),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
child: Container(
|
||||
decoration: const BoxDecoration(
|
||||
border: Border(
|
||||
left: BorderSide(
|
||||
color: ColorsManager.textGray,
|
||||
width: 0.5,
|
||||
),
|
||||
top: BorderSide(
|
||||
color: ColorsManager.textGray,
|
||||
width: 1.0,
|
||||
),
|
||||
)),
|
||||
child: InkWell(
|
||||
onTap: () {
|
||||
widget.confirmTab!.call(_selectedOption);
|
||||
},
|
||||
child: const Padding(
|
||||
padding: EdgeInsets.all(15),
|
||||
child: Center(
|
||||
child: Text(
|
||||
'Confirm',
|
||||
style: TextStyle(
|
||||
color: ColorsManager.primaryColor,
|
||||
fontSize: 14,
|
||||
fontWeight: FontWeight.w400),
|
||||
),
|
||||
),
|
||||
)),
|
||||
))
|
||||
],
|
||||
)
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildCheckboxOption(
|
||||
{required String label, required String icon, Function(String)? onTap}) {
|
||||
return Padding(
|
||||
padding: const EdgeInsets.only(bottom: 10, top: 10),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Row(
|
||||
children: [
|
||||
SvgPicture.asset(icon),
|
||||
SizedBox(
|
||||
width: 15,
|
||||
),
|
||||
BodyMedium(
|
||||
text: label,
|
||||
style:
|
||||
const TextStyle(fontSize: 15, fontWeight: FontWeight.w400),
|
||||
),
|
||||
],
|
||||
),
|
||||
CircularCheckbox(
|
||||
value: _selectedOption == label,
|
||||
onChanged: (bool? value) {
|
||||
if (value == true) {
|
||||
setState(() {
|
||||
_selectedOption = label;
|
||||
});
|
||||
if (onTap != null) {
|
||||
onTap(label);
|
||||
}
|
||||
}
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
160
lib/features/scene/view/settings/wind_speed_dialog.dart
Normal file
@ -0,0 +1,160 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
|
||||
|
||||
class WindSpeedDialog extends StatefulWidget {
|
||||
final Function(double selectedTemperature, int selectedToggleIndex,
|
||||
String selectedCity)? confirmTab;
|
||||
|
||||
const WindSpeedDialog({
|
||||
Key? key,
|
||||
this.confirmTab,
|
||||
}) : super(key: key);
|
||||
|
||||
@override
|
||||
_WindSpeedDialogState createState() => _WindSpeedDialogState();
|
||||
}
|
||||
|
||||
class _WindSpeedDialogState extends State<WindSpeedDialog> {
|
||||
double _currentSpeed = 40;
|
||||
String _selectedCity = 'Current City';
|
||||
int selectedToggleIndex = 1;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Dialog(
|
||||
backgroundColor: Colors.white,
|
||||
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20.0)),
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
const SizedBox(height: 10),
|
||||
Text(
|
||||
'Wind Speed',
|
||||
style: TextStyle(
|
||||
fontSize: 20,
|
||||
fontWeight: FontWeight.w700,
|
||||
color: ColorsManager.primaryColor.withOpacity(0.5)),
|
||||
),
|
||||
const Divider(color: ColorsManager.greyColor),
|
||||
ToggleButtons(
|
||||
isSelected: [
|
||||
selectedToggleIndex == 0,
|
||||
selectedToggleIndex == 1,
|
||||
selectedToggleIndex == 2
|
||||
],
|
||||
onPressed: (index) {
|
||||
setState(() {
|
||||
selectedToggleIndex = index;
|
||||
});
|
||||
},
|
||||
borderRadius: BorderRadius.circular(30),
|
||||
selectedColor: Colors.white,
|
||||
color: ColorsManager.blackColor,
|
||||
fillColor: ColorsManager.primaryColorWithOpacity,
|
||||
borderColor: ColorsManager.greyColor,
|
||||
constraints: BoxConstraints.tight(const Size(70, 30)),
|
||||
children: [
|
||||
_buildToggleOption('<', selectedToggleIndex == 0),
|
||||
_buildToggleOption('=', selectedToggleIndex == 1),
|
||||
_buildToggleOption('>', selectedToggleIndex == 2),
|
||||
],
|
||||
),
|
||||
const SizedBox(height: 10),
|
||||
Text(
|
||||
'${_currentSpeed.toStringAsFixed(0)} m/s',
|
||||
style: TextStyle(
|
||||
fontSize: 40,
|
||||
fontWeight: FontWeight.bold,
|
||||
color: ColorsManager.secondaryColor.withOpacity(0.5)),
|
||||
),
|
||||
Slider(
|
||||
activeColor: ColorsManager.secondaryColor.withOpacity(0.5),
|
||||
inactiveColor: ColorsManager.grayBox,
|
||||
thumbColor: ColorsManager.primaryColor,
|
||||
value: _currentSpeed,
|
||||
min: 0,
|
||||
max: 62,
|
||||
onChanged: (value) {
|
||||
setState(() {
|
||||
_currentSpeed = value;
|
||||
});
|
||||
},
|
||||
),
|
||||
ElevatedButton(
|
||||
onPressed: _selectCity,
|
||||
child: Text(
|
||||
_selectedCity,
|
||||
style: const TextStyle(
|
||||
color: ColorsManager.grayColor,
|
||||
fontSize: 14,
|
||||
fontWeight: FontWeight.w400),
|
||||
),
|
||||
style: ElevatedButton.styleFrom(
|
||||
backgroundColor: ColorsManager.grayBox.withOpacity(0.6),
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 20),
|
||||
Row(
|
||||
children: [
|
||||
_buildActionButton(context, 'Cancel', ColorsManager.textGray,
|
||||
() => Navigator.of(context).pop()),
|
||||
_buildActionButton(context, 'Confirm', ColorsManager.primaryColor,
|
||||
() {
|
||||
widget.confirmTab!
|
||||
.call(_currentSpeed, selectedToggleIndex, _selectedCity);
|
||||
}),
|
||||
],
|
||||
)
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildToggleOption(String label, bool isSelected) {
|
||||
return SizedBox(
|
||||
width: 70,
|
||||
height: 30,
|
||||
child: Container(
|
||||
alignment: Alignment.center,
|
||||
color: isSelected
|
||||
? ColorsManager.secondaryColor.withOpacity(0.2)
|
||||
: ColorsManager.textGray,
|
||||
child: Text(label),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildActionButton(
|
||||
BuildContext context, String text, Color color, VoidCallback onTap) {
|
||||
return Expanded(
|
||||
child: InkWell(
|
||||
onTap: onTap,
|
||||
child: Container(
|
||||
padding: const EdgeInsets.all(15),
|
||||
decoration: BoxDecoration(
|
||||
border: Border(
|
||||
top: const BorderSide(color: ColorsManager.textGray),
|
||||
left: text == 'Confirm'
|
||||
? const BorderSide(color: ColorsManager.textGray, width: 0.5)
|
||||
: BorderSide.none,
|
||||
),
|
||||
),
|
||||
child: Center(
|
||||
child: Text(
|
||||
text,
|
||||
style: TextStyle(
|
||||
color: color, fontSize: 14, fontWeight: FontWeight.w400),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
void _selectCity() {
|
||||
// Placeholder for the city selection function
|
||||
setState(() {
|
||||
_selectedCity = 'Selected City';
|
||||
});
|
||||
}
|
||||
}
|
@ -1081,5 +1081,23 @@ class Assets {
|
||||
static const String gang1touch = "assets/icons/1gang_touch.svg";
|
||||
static const String gang2touch = "assets/icons/2gang_touch.svg";
|
||||
static const String gang3touch = "assets/icons/3gang_touch.svg";
|
||||
|
||||
static const String frequencyIcon = "assets/icons/frequency_icon.svg";
|
||||
static const String voltMeterIcon = "assets/icons/volt_meter_icon.svg";
|
||||
static const String powerActiveIcon = "assets/icons/power_active_icon.svg";
|
||||
static const String searchIcon = "assets/icons/search_icon.svg";
|
||||
|
||||
|
||||
static const String comfortableIcon = "assets/icons/comfortable_icon.svg";
|
||||
static const String moistIcon = "assets/icons/moist_icon.svg";
|
||||
static const String dryIcon = "assets/icons/dry_icon.svg";
|
||||
|
||||
|
||||
|
||||
static const String hazyIcon = "assets/icons/hazy_icon.svg";
|
||||
static const String snowyIcon = "assets/icons/snowy_icon.svg";
|
||||
static const String rainyIcon = "assets/icons/rainy_icon.svg";
|
||||
static const String cloudyIcon = "assets/icons/cloudy_icon.svg";
|
||||
static const String sunnyIcon = "assets/icons/sunny_icon.svg";
|
||||
//leakNormalIcon
|
||||
}
|
||||
|