mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-07-09 22:57:21 +00:00
power_clamp
This commit is contained in:
25
assets/icons/frequency_icon.svg
Normal file
25
assets/icons/frequency_icon.svg
Normal file
@ -0,0 +1,25 @@
|
||||
<svg width="23" height="18" viewBox="0 0 23 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M22.3032 0.832703H1.4526C1.10932 0.832703 0.830078 1.11285 0.830078 1.45725V16.6318C0.830078 16.9762 1.10932 17.2563 1.4526 17.2563H22.3032C22.6463 17.2563 22.9257 16.9762 22.9257 16.6318V1.45725C22.9257 1.11265 22.6465 0.832703 22.3032 0.832703Z" fill="#E6E7E8"/>
|
||||
<path d="M21.8881 0.624556V15.7989C21.8881 16.029 21.7023 16.2153 21.4731 16.2153H0.622537C0.393143 16.2153 0.20752 16.029 0.20752 15.7989V0.624556C0.20752 0.394417 0.393143 0.208191 0.622537 0.208191H21.4731C21.7023 0.208191 21.8881 0.394417 21.8881 0.624556Z" fill="white"/>
|
||||
<path d="M0.20752 15.7989C0.20752 16.0288 0.393143 16.2152 0.622537 16.2152H21.4731C21.7023 16.2152 21.8881 16.0288 21.8881 15.7989V0.832703H0.20752V15.7989Z" fill="#D4FBFF"/>
|
||||
<path d="M4.44421 8.45071C4.36336 8.45071 4.29 8.3952 4.27055 8.31266C3.4626 4.87562 2.7657 4.37773 2.4283 4.37427C1.65825 4.38423 0.871172 6.79256 0.555856 8.30819C0.535592 8.40517 0.440754 8.46758 0.3447 8.44705C0.248038 8.42672 0.186231 8.33177 0.206293 8.235C0.29566 7.80501 1.11779 4.03293 2.42364 4.01605H2.43336C3.2484 4.01605 3.94267 5.35582 4.61829 8.23053C4.64098 8.32669 4.58161 8.42326 4.48555 8.44603C4.47157 8.44928 4.45799 8.45071 4.44421 8.45071Z" fill="#FFD7E5"/>
|
||||
<path d="M12.6696 8.59971C12.5887 8.59971 12.5156 8.54421 12.4959 8.46167C11.6916 5.03987 11.001 4.52328 10.6583 4.52328C10.6569 4.52328 10.6553 4.52348 10.6539 4.52348C9.88383 4.53344 9.09696 6.94157 8.78164 8.45719C8.76118 8.55417 8.66634 8.61679 8.57029 8.59605C8.47362 8.57572 8.41182 8.48078 8.43188 8.38401C8.52145 7.95402 9.34358 4.18193 10.6494 4.16526C11.4762 4.15693 12.1656 5.49364 12.8437 8.37953C12.8664 8.4757 12.807 8.57226 12.7109 8.59524C12.6972 8.59829 12.6834 8.59971 12.6696 8.59971Z" fill="#FFD7E5"/>
|
||||
<path d="M20.7961 8.29596C20.7152 8.29596 20.6418 8.24046 20.6224 8.15792C19.8181 4.73612 19.1275 4.21953 18.7848 4.21953C18.7832 4.21953 18.7818 4.21973 18.7803 4.21973C18.0103 4.2297 17.2234 6.63782 16.9081 8.15345C16.8878 8.25042 16.7928 8.31284 16.6968 8.2923C16.6001 8.27197 16.5383 8.17703 16.5583 8.08026C16.6477 7.65027 17.47 3.87818 18.7759 3.86151C19.5903 3.84647 20.2921 5.1899 20.9701 8.07579C20.9928 8.17195 20.9335 8.26852 20.8374 8.29149C20.8234 8.29454 20.8098 8.29596 20.7961 8.29596Z" fill="#FFD7E5"/>
|
||||
<path d="M6.52174 12.5619C6.5185 12.5619 6.51546 12.5617 6.51181 12.5617C5.17537 12.5448 4.33378 8.7729 4.24219 8.34291C4.22152 8.24594 4.28495 8.15099 4.38384 8.13087C4.48252 8.11074 4.57959 8.17275 4.60006 8.26972C4.92287 9.78535 5.729 12.1935 6.51668 12.2034C6.5181 12.2034 6.51972 12.2036 6.52114 12.2036C6.87212 12.2036 7.57915 11.6875 8.40229 8.26525C8.42519 8.16909 8.52388 8.10993 8.62216 8.13188C8.72065 8.15465 8.78144 8.25122 8.75814 8.34759C8.06671 11.2215 7.35583 12.5619 6.52174 12.5619Z" fill="#FFD7E5"/>
|
||||
<path d="M14.7221 12.5619C14.7187 12.5619 14.7157 12.5617 14.7124 12.5617C13.4066 12.5448 12.5842 8.7729 12.4949 8.34291C12.4748 8.24594 12.5366 8.15099 12.6333 8.13087C12.7299 8.11074 12.8244 8.17275 12.8446 8.26972C13.1599 9.78535 13.9472 12.1935 14.7169 12.2034C14.7183 12.2034 14.7197 12.2036 14.7213 12.2036C15.064 12.2036 15.7546 11.6875 16.5589 8.26525C16.5816 8.16909 16.6777 8.10972 16.7737 8.13188C16.8698 8.15465 16.9292 8.25122 16.9065 8.34759C16.2314 11.2215 15.5368 12.5619 14.7221 12.5619Z" fill="#FFD7E5"/>
|
||||
<path d="M21.7088 11.1408C21.6411 11.1408 21.5763 11.102 21.5463 11.0361C20.9983 9.83621 20.6678 8.26468 20.6542 8.1982C20.634 8.10142 20.696 8.00648 20.7926 7.98615C20.8887 7.96602 20.9837 8.02803 21.0038 8.12501C21.0072 8.14087 21.34 9.72419 21.8711 10.8871C21.912 10.9769 21.8727 11.0831 21.783 11.1245C21.7591 11.1357 21.7339 11.1408 21.7088 11.1408Z" fill="#FFD7E5"/>
|
||||
<path d="M3.03701 8.32623C2.97175 8.32623 2.91238 8.2811 2.89677 8.21462C2.36037 5.93295 1.90949 5.68532 1.73582 5.69386C1.28088 5.69976 0.771229 7.16923 0.554601 8.21096C0.538389 8.28923 0.46179 8.33945 0.383771 8.32298C0.305753 8.30671 0.255902 8.23007 0.271911 8.152C0.366952 7.69498 0.884102 5.41534 1.73177 5.40436H1.73845C2.28033 5.40436 2.7379 6.27653 3.17764 8.14814C3.19588 8.2258 3.14785 8.30387 3.07024 8.32237C3.0593 8.32461 3.04815 8.32623 3.03701 8.32623Z" fill="#FA759E"/>
|
||||
<path d="M8.34895 8.42239C8.2835 8.42239 8.22412 8.37746 8.20852 8.31078C7.67475 6.03927 7.22204 5.79002 7.04979 5.79002C7.04898 5.79002 7.04838 5.79002 7.04757 5.79002C6.59283 5.79592 6.08318 7.26539 5.86655 8.30712C5.85014 8.38539 5.77333 8.43561 5.69572 8.41914C5.6177 8.40288 5.56765 8.32623 5.58386 8.24816C5.6789 7.79114 6.19605 5.5115 7.04372 5.50052H7.0502C7.59207 5.50052 8.04965 6.37269 8.48939 8.2443C8.50762 8.32196 8.4596 8.40003 8.38198 8.41853C8.37084 8.42117 8.3599 8.42239 8.34895 8.42239Z" fill="#FA759E"/>
|
||||
<path d="M13.5964 8.22601C13.5309 8.22601 13.4716 8.18108 13.456 8.1144C12.9198 5.83293 12.4648 5.59039 12.295 5.59385C11.8401 5.59974 11.3304 7.06922 11.1138 8.11094C11.0976 8.18921 11.021 8.23984 10.9432 8.22296C10.8651 8.2067 10.8151 8.12985 10.8313 8.05178C10.9263 7.59476 11.4435 5.31532 12.2912 5.30414H12.2976C12.8395 5.30414 13.2971 6.17651 13.7368 8.04812C13.7551 8.12578 13.707 8.20385 13.6294 8.22235C13.6185 8.22479 13.6073 8.22601 13.5964 8.22601Z" fill="#FA759E"/>
|
||||
<path d="M18.895 8.42239C18.8298 8.42239 18.7704 8.37746 18.7548 8.31078C18.2186 6.02931 17.7635 5.78677 17.5938 5.79002C17.1389 5.79612 16.6292 7.26539 16.4126 8.30712C16.3962 8.38539 16.3198 8.43601 16.242 8.41914C16.1638 8.40288 16.1139 8.32623 16.1301 8.24816C16.2252 7.79114 16.7421 5.5115 17.5898 5.50052H17.5965C18.1383 5.50052 18.5959 6.37269 19.0357 8.2443C19.0539 8.32196 19.0059 8.40003 18.9283 8.41853C18.9171 8.42117 18.9062 8.42239 18.895 8.42239Z" fill="#FA759E"/>
|
||||
<path d="M4.4265 11.1188C4.42427 11.1188 4.42204 11.1188 4.41981 11.1188C3.57195 11.1076 3.055 8.8282 2.95996 8.37118C2.94375 8.2929 2.9938 8.21626 3.07162 8.19999C3.14984 8.18332 3.22623 8.23374 3.24245 8.31201C3.45928 9.35354 3.96913 10.8234 4.42367 10.8291H4.42589C4.59814 10.8291 5.05065 10.5799 5.58462 8.30856C5.60286 8.2309 5.68067 8.18312 5.75808 8.20081C5.8357 8.2191 5.88352 8.29717 5.86528 8.37504C5.42575 10.2464 4.96838 11.1188 4.4265 11.1188Z" fill="#FA759E"/>
|
||||
<path d="M9.67406 10.9584C9.67183 10.9584 9.6696 10.9584 9.66737 10.9584C8.81951 10.9474 8.30256 8.66778 8.20752 8.21076C8.19131 8.13248 8.24136 8.05584 8.31917 8.03978C8.3976 8.02311 8.47359 8.07353 8.49 8.1518C8.70683 9.19332 9.21669 10.663 9.67122 10.6689H9.67345C9.8457 10.6689 10.2982 10.4196 10.8322 8.14814C10.8504 8.07027 10.928 8.0229 11.0056 8.04059C11.0833 8.05889 11.1311 8.13696 11.1128 8.21482C10.6733 10.086 10.2159 10.9584 9.67406 10.9584Z" fill="#FA759E"/>
|
||||
<path d="M14.9774 10.9842C14.9752 10.9842 14.9732 10.9842 14.971 10.9842C14.1229 10.9732 13.6061 8.69361 13.5111 8.23658C13.4949 8.15831 13.5449 8.08166 13.6228 8.0656C13.701 8.04893 13.7772 8.09915 13.7934 8.17762C14.0102 9.21915 14.5201 10.6888 14.9746 10.6947H14.9768C15.1491 10.6947 15.6016 10.4455 16.1356 8.17396C16.1538 8.0963 16.2316 8.04873 16.309 8.06642C16.3866 8.08471 16.4347 8.16278 16.4164 8.24065C15.9767 10.1121 15.5193 10.9842 14.9774 10.9842Z" fill="#FA759E"/>
|
||||
<path d="M20.234 11.1188C20.2318 11.1188 20.2298 11.1188 20.2274 11.1188C19.3795 11.1076 18.8627 8.8282 18.7677 8.37118C18.7515 8.2929 18.8015 8.21626 18.8794 8.19999C18.9576 8.18332 19.0338 8.23374 19.05 8.31201C19.2668 9.35354 19.7767 10.8234 20.2312 10.8291H20.2334C20.4057 10.8291 20.8582 10.5799 21.3922 8.30856C21.4104 8.2309 21.4882 8.18312 21.5656 8.20081C21.6432 8.2191 21.6913 8.29717 21.673 8.37504C21.2335 10.2464 20.7759 11.1188 20.234 11.1188Z" fill="#FA759E"/>
|
||||
<path d="M5.67451 8.26302C5.58717 8.26302 5.50794 8.20284 5.48707 8.11399C4.43696 3.6462 3.52019 2.97225 3.06363 2.97225C3.06161 2.97225 3.05958 2.97225 3.05776 2.97225C2.03541 2.98567 1.00151 6.12996 0.589942 8.10912C0.568258 8.21382 0.46572 8.28091 0.361763 8.25895C0.257401 8.2372 0.190528 8.13473 0.212211 8.02983C0.327719 7.47501 1.38816 2.60651 3.05269 2.58496H3.06404C4.08719 2.58496 5.00254 4.36447 5.86257 8.02495C5.88709 8.12884 5.82265 8.23333 5.7191 8.25793C5.7043 8.26139 5.68931 8.26302 5.67451 8.26302Z" fill="#0089EF"/>
|
||||
<path d="M16.3507 8.26302C16.2633 8.26302 16.1841 8.20284 16.163 8.11399C15.1131 3.6462 14.1964 2.97225 13.7398 2.97225C13.7378 2.97225 13.7357 2.97225 13.7337 2.97225C12.7116 2.98567 11.6779 6.12996 11.2661 8.10912C11.2442 8.21382 11.1419 8.28091 11.0379 8.25895C10.9336 8.2372 10.8667 8.13473 10.8882 8.02983C11.0039 7.47501 12.0641 2.60651 13.7286 2.58496H13.74C14.7627 2.58496 15.6781 4.36447 16.5385 8.02495C16.563 8.12884 16.4986 8.23333 16.3951 8.25793C16.3805 8.26139 16.3655 8.26302 16.3507 8.26302Z" fill="#0089EF"/>
|
||||
<path d="M8.46634 13.838C8.46269 13.838 8.45884 13.838 8.45499 13.838C6.79046 13.8164 5.73002 8.94794 5.61431 8.39292C5.59263 8.28843 5.6595 8.18576 5.76406 8.164C5.86802 8.14205 5.97056 8.20934 5.99224 8.31384C6.40422 10.2928 7.43832 13.4375 8.45985 13.4505H8.46593C8.9227 13.4505 9.83926 12.777 10.8892 8.30896C10.9137 8.20507 11.0178 8.14123 11.1212 8.16482C11.2249 8.18942 11.2892 8.29371 11.2647 8.3978C10.4046 12.0583 9.48909 13.838 8.46634 13.838Z" fill="#0089EF"/>
|
||||
<path d="M19.014 13.6947C19.0103 13.6947 19.0065 13.6947 19.0026 13.6947C17.3381 13.6729 16.2776 8.80464 16.1619 8.24963C16.1402 8.14513 16.2069 8.04246 16.3117 8.0205C16.416 7.99875 16.518 8.06604 16.5399 8.17054C16.9518 10.1495 17.9859 13.294 19.0075 13.3072H19.0135C19.4703 13.3072 20.3869 12.6335 21.4368 8.16546C21.4613 8.06157 21.5655 7.99794 21.6688 8.02152C21.7726 8.04592 21.837 8.15021 21.8123 8.2543C20.9523 11.9148 20.0367 13.6947 19.014 13.6947Z" fill="#0089EF"/>
|
||||
<path d="M21.4731 0H0.622526C0.279245 0 0 0.280152 0 0.624547V15.7991C0 16.1435 0.279245 16.4236 0.622526 16.4236H21.4731C21.8162 16.4236 22.0956 16.1435 22.0956 15.7991V6.08324C22.0956 5.96817 22.0026 5.87506 21.8881 5.87506C21.7734 5.87506 21.6806 5.96817 21.6806 6.08324V8.00323H18.0263C17.7882 6.70921 16.7602 1.48066 15.5275 0.416365H21.4731C21.5874 0.416365 21.6806 0.509681 21.6806 0.624547V2.90866C21.6806 3.02373 21.7734 3.11684 21.8881 3.11684C22.0026 3.11684 22.0956 3.02373 22.0956 2.90866V0.624547C22.0956 0.279949 21.8164 0 21.4731 0ZM17.6453 8.4196C17.94 9.69594 19.2156 14.9412 20.4964 16.0071H9.63335C10.8664 14.9428 11.8945 9.71342 12.1324 8.4196H17.6453ZM9.20192 15.7828C8.47685 15.7828 7.18702 12.0658 6.33874 8.4196H11.7101C11.0348 12.0642 9.92273 15.7828 9.20192 15.7828ZM5.80943 8.00323H0.438119C1.11576 4.35902 2.23011 0.640405 2.95072 0.640405C3.67558 0.640405 4.96319 4.3574 5.80943 8.00323ZM0.622526 0.416365H2.51908C1.64751 1.16899 0.876441 4.00121 0.415017 6.0564V0.624547C0.415017 0.509681 0.508032 0.416365 0.622526 0.416365ZM0.415017 15.7989V8.4196H5.91258C6.20723 9.69594 7.48288 14.9412 8.7636 16.0071H0.622526C0.508032 16.0071 0.415017 15.9138 0.415017 15.7989ZM21.4731 16.0071H21.3939C21.4934 15.9217 21.5902 15.8062 21.6806 15.6543V15.7989C21.6806 15.9138 21.5874 16.0071 21.4731 16.0071ZM21.6806 14.2969C21.5136 15.3866 21.1434 15.7828 20.9347 15.7828C20.2096 15.7828 18.9198 12.0658 18.0715 8.4196H21.6802V14.2969H21.6806ZM17.604 8.00323H12.2329C13.081 4.3574 14.3708 0.640405 15.0959 0.640405C15.8167 0.640405 16.9288 4.35902 17.604 8.00323ZM11.8065 8.00323H6.2356C5.94156 6.72629 4.66915 1.48249 3.38944 0.416365H14.6569C13.3768 1.48269 12.1014 6.72669 11.8065 8.00323Z" fill="#3A2C60"/>
|
||||
<path d="M21.8882 3.50696C21.7735 3.50696 21.6807 3.60007 21.6807 3.71514V5.22446C21.6807 5.33953 21.7735 5.43265 21.8882 5.43265C22.0027 5.43265 22.0957 5.33953 22.0957 5.22446V3.71514C22.0957 3.60027 22.0027 3.50696 21.8882 3.50696Z" fill="#3A2C60"/>
|
||||
</svg>
|
After Width: | Height: | Size: 11 KiB |
3
assets/icons/power_active_icon.svg
Normal file
3
assets/icons/power_active_icon.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg width="13" height="23" viewBox="0 0 13 23" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M3.95088 0L0.141105 11.2883H4.3742L0 23L11.5706 9.17177H7.47851L12.8404 0H3.95088Z" fill="#F7CF52"/>
|
||||
</svg>
|
After Width: | Height: | Size: 213 B |
16
assets/icons/speedo_meter.svg
Normal file
16
assets/icons/speedo_meter.svg
Normal file
@ -0,0 +1,16 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M12 24C8.8072 24 5.79717 22.7483 3.52439 20.4756C1.25166 18.2028 0 15.1928 0 12C0 8.8072 1.25166 5.79717 3.52444 3.52444C5.79717 1.25166 8.8072 0 12 0C15.1928 0 18.2028 1.25166 20.4756 3.52444C22.7483 5.79717 24 8.8072 24 12C24 15.1928 22.7483 18.2028 20.4756 20.4756C18.2028 22.7483 15.1928 24 12 24Z" fill="#EDF3F9"/>
|
||||
<path d="M20.4756 20.4756C22.7483 18.2028 24 15.1928 24 12C24 8.8072 22.7483 5.79717 20.4756 3.52444C18.2028 1.25166 15.1928 0 12 0V24C15.1928 24 18.2028 22.7483 20.4756 20.4756Z" fill="#C2DBF2"/>
|
||||
<path d="M12 22.5938C17.8508 22.5938 22.5938 17.8508 22.5938 12C22.5938 6.14923 17.8508 1.40625 12 1.40625C6.14923 1.40625 1.40625 6.14923 1.40625 12C1.40625 17.8508 6.14923 22.5938 12 22.5938Z" fill="#465A61"/>
|
||||
<path d="M22.5938 12C22.5938 6.15858 17.8414 1.40625 12 1.40625V22.5938C17.8414 22.5938 22.5938 17.8414 22.5938 12Z" fill="#3B4A51"/>
|
||||
<path d="M7.88953 9.29576C7.37672 10.072 7.07812 11.002 7.07812 12V12.7031H2.85938V12C2.85938 9.83717 3.61453 7.84779 4.87453 6.28076L7.88953 9.29576Z" fill="#F36A3D"/>
|
||||
<path d="M21.1408 12V12.7031H16.922V12C16.922 11.002 16.6234 10.072 16.1106 9.29576L19.1256 6.28076C20.3856 7.84779 21.1408 9.83717 21.1408 12Z" fill="#66A6FF"/>
|
||||
<path d="M19.1255 6.28078L16.1105 9.29578C15.2292 7.96078 13.7161 7.07812 12 7.07812V2.85938C14.8772 2.85938 17.4488 4.19578 19.1255 6.28078Z" fill="#FFDF40"/>
|
||||
<path d="M12 2.85938V7.07812C10.2839 7.07812 8.77076 7.96078 7.88951 9.29578L4.87451 6.28078C6.55123 4.19578 9.12279 2.85938 12 2.85938Z" fill="#FF9F40"/>
|
||||
<path d="M11.2969 8.48438H12.7031V14.8594H11.2969V8.48438Z" fill="#F36A3D"/>
|
||||
<path d="M12 8.48438H12.7031V14.8594H12V8.48438Z" fill="#EC4C36"/>
|
||||
<path d="M12 24C15.1066 24 17.625 21.4816 17.625 18.375C17.625 15.2684 15.1066 12.75 12 12.75C8.8934 12.75 6.375 15.2684 6.375 18.375C6.375 21.4816 8.8934 24 12 24Z" fill="#FFDF40"/>
|
||||
<path d="M17.625 18.375C17.625 15.2734 15.1016 12.75 12 12.75V24C15.1016 24 17.625 21.4766 17.625 18.375Z" fill="#FFBE40"/>
|
||||
<path d="M11.8818 21.5776L10.7118 20.7976L11.7983 19.1678L10.3921 17.7615L12.1182 15.1724L13.2882 15.9524L12.2017 17.5823L13.6079 18.9886L11.8818 21.5776Z" fill="#465A61"/>
|
||||
<path d="M12.1182 15.1724L12 15.3496V21.4004L13.6079 18.9886L12.2017 17.5823L13.2882 15.9524L12.1182 15.1724Z" fill="#3B4A51"/>
|
||||
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
26
assets/icons/volt-meter.svg
Normal file
26
assets/icons/volt-meter.svg
Normal file
@ -0,0 +1,26 @@
|
||||
<svg width="22" height="23" viewBox="0 0 22 23" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M18.1346 0H3.09615C1.3862 0 0 1.3862 0 3.09615V19.9038C0 21.6138 1.3862 23 3.09615 23H18.1346C19.8446 23 21.2308 21.6138 21.2308 19.9038V3.09615C21.2308 1.3862 19.8446 0 18.1346 0Z" fill="#EF5350"/>
|
||||
<path d="M20.6445 1.29056C17.6514 17.7494 4.15071 20.9781 0.482071 21.5556C0.760501 21.9974 1.14622 22.3615 1.6033 22.6141C2.06038 22.8666 2.57394 22.9994 3.09615 23H18.1346C18.9555 22.999 19.7424 22.6725 20.3228 22.0921C20.9033 21.5116 21.2298 20.7247 21.2308 19.9038V3.09615C21.2306 2.44752 21.0254 1.81554 20.6445 1.29056Z" fill="#E53935"/>
|
||||
<path d="M18.1346 1.76923H3.09615C2.36331 1.76923 1.76923 2.36331 1.76923 3.09615V12.8269C1.76923 13.5598 2.36331 14.1538 3.09615 14.1538H18.1346C18.8675 14.1538 19.4615 13.5598 19.4615 12.8269V3.09615C19.4615 2.36331 18.8675 1.76923 18.1346 1.76923Z" fill="#BBDEFB"/>
|
||||
<path d="M16.5513 12.3846C16.8258 11.4606 16.8808 10.4852 16.7119 9.53621C16.543 8.58718 16.1549 7.69068 15.5785 6.91809C15.0021 6.14549 14.2532 5.51814 13.3916 5.08598C12.53 4.65381 11.5793 4.42877 10.6154 4.42877C9.65145 4.42877 8.70082 4.65381 7.83918 5.08598C6.97755 5.51814 6.2287 6.14549 5.65227 6.91809C5.07583 7.69068 4.68773 8.58718 4.51885 9.53621C4.34997 10.4852 4.40498 11.4606 4.67951 12.3846L2.875 12.1635V2.875H18.3558V12.1635L16.5513 12.3846Z" fill="#90CAF9"/>
|
||||
<path d="M10.6154 5.30769C10.5573 5.30772 10.4998 5.2963 10.4461 5.27408C10.3924 5.25187 10.3436 5.21929 10.3026 5.17821C10.2615 5.13713 10.2289 5.08836 10.2067 5.03468C10.1845 4.981 10.173 4.92347 10.1731 4.86538V3.09615C10.1731 2.97884 10.2197 2.86634 10.3026 2.78339C10.3856 2.70044 10.4981 2.65384 10.6154 2.65384C10.7327 2.65384 10.8452 2.70044 10.9281 2.78339C11.0111 2.86634 11.0577 2.97884 11.0577 3.09615V4.86538C11.0577 4.92347 11.0463 4.981 11.0241 5.03468C11.0019 5.08836 10.9693 5.13713 10.9282 5.17821C10.8871 5.21929 10.8384 5.25187 10.7847 5.27408C10.731 5.2963 10.6735 5.30772 10.6154 5.30769Z" fill="#37474F"/>
|
||||
<path d="M6.54953 6.99182C6.49143 6.99189 6.4339 6.98047 6.38024 6.95823C6.32657 6.93599 6.27783 6.90336 6.23681 6.86223L4.99498 5.62039C4.91328 5.5372 4.86774 5.42511 4.86827 5.30851C4.8688 5.19191 4.91535 5.08024 4.9978 4.99779C5.08025 4.91534 5.19192 4.86879 5.30852 4.86826C5.42512 4.86773 5.53721 4.91327 5.62041 4.99497L6.86224 6.2368C6.92408 6.29866 6.96619 6.37746 6.98325 6.46325C7.0003 6.54904 6.99155 6.63796 6.95808 6.71877C6.92461 6.79958 6.86793 6.86865 6.79521 6.91725C6.72249 6.96585 6.63699 6.9918 6.54953 6.99182Z" fill="#37474F"/>
|
||||
<path d="M14.6812 6.99184C14.5938 6.99182 14.5083 6.96587 14.4356 6.91727C14.3628 6.86867 14.3062 6.79959 14.2727 6.71878C14.2392 6.63797 14.2305 6.54906 14.2475 6.46327C14.2646 6.37748 14.3067 6.29868 14.3685 6.23682L15.6104 4.99499C15.6513 4.95331 15.7001 4.92015 15.7539 4.89743C15.8077 4.87471 15.8655 4.86288 15.9239 4.86261C15.9823 4.86235 16.0402 4.87366 16.0942 4.89589C16.1482 4.91812 16.1973 4.95084 16.2386 4.99214C16.2799 5.03345 16.3127 5.08253 16.3349 5.13655C16.3571 5.19057 16.3684 5.24846 16.3682 5.30687C16.3679 5.36529 16.3561 5.42307 16.3333 5.47689C16.3106 5.5307 16.2775 5.57948 16.2358 5.62041L14.994 6.86224C14.9529 6.90338 14.9042 6.93601 14.8505 6.95825C14.7969 6.98049 14.7393 6.99191 14.6812 6.99184Z" fill="#37474F"/>
|
||||
<path d="M10.6154 11.0577C10.5573 11.0578 10.4998 11.0463 10.4461 11.0241C10.3924 11.0019 10.3437 10.9692 10.3027 10.9281L7.48771 8.11314C7.40477 8.0302 7.35818 7.91771 7.35818 7.80041C7.35818 7.68312 7.40477 7.57063 7.48771 7.48769C7.57065 7.40475 7.68314 7.35815 7.80044 7.35815C7.91773 7.35815 8.03022 7.40475 8.11316 7.48769L10.9281 10.3027C10.9899 10.3645 11.032 10.4433 11.0491 10.5291C11.0662 10.6149 11.0574 10.7038 11.0239 10.7846C10.9905 10.8654 10.9338 10.9345 10.8611 10.9831C10.7883 11.0317 10.7029 11.0577 10.6154 11.0577Z" fill="#37474F"/>
|
||||
<path d="M3.98077 19.9039C5.20217 19.9039 6.19231 18.9137 6.19231 17.6923C6.19231 16.4709 5.20217 15.4808 3.98077 15.4808C2.75937 15.4808 1.76923 16.4709 1.76923 17.6923C1.76923 18.9137 2.75937 19.9039 3.98077 19.9039Z" fill="#CFD8DC"/>
|
||||
<path d="M5.70351 16.3228C5.784 16.7463 5.75973 17.1831 5.63281 17.5952C5.5059 18.0072 5.28018 18.382 4.97531 18.6868C4.67045 18.9917 4.29568 19.2174 3.88364 19.3443C3.4716 19.4713 3.03478 19.4955 2.61122 19.415C2.99872 19.7293 3.4819 19.9017 3.98077 19.9038C4.56709 19.9032 5.12921 19.6699 5.5438 19.2553C5.9584 18.8407 6.19162 18.2786 6.19231 17.6923C6.19017 17.1934 6.01772 16.7103 5.70351 16.3228Z" fill="#B0BEC5"/>
|
||||
<path d="M17.25 19.9039C18.4714 19.9039 19.4615 18.9137 19.4615 17.6923C19.4615 16.4709 18.4714 15.4808 17.25 15.4808C16.0286 15.4808 15.0385 16.4709 15.0385 17.6923C15.0385 18.9137 16.0286 19.9039 17.25 19.9039Z" fill="#CFD8DC"/>
|
||||
<path d="M18.9727 16.3228C19.0532 16.7463 19.029 17.1831 18.902 17.5952C18.7751 18.0072 18.5494 18.382 18.2445 18.6868C17.9397 18.9917 17.5649 19.2174 17.1529 19.3443C16.7408 19.4713 16.304 19.4955 15.8805 19.415C16.2679 19.7293 16.7511 19.9017 17.25 19.9038C17.8363 19.9032 18.3984 19.6699 18.813 19.2553C19.2276 18.8407 19.4609 18.2786 19.4615 17.6923C19.4594 17.1934 19.2869 16.7103 18.9727 16.3228Z" fill="#B0BEC5"/>
|
||||
<path d="M4.42308 17.6923C4.42273 17.8095 4.37602 17.9218 4.29314 18.0047C4.21027 18.0876 4.09797 18.1343 3.98077 18.1346H1.81346C1.7545 17.8427 1.7545 17.5419 1.81346 17.25H3.98077C4.09797 17.2504 4.21027 17.2971 4.29314 17.3799C4.37602 17.4628 4.42273 17.5751 4.42308 17.6923Z" fill="#546E7A"/>
|
||||
<path d="M19.0988 16.4716L17.564 18.0064C17.4802 18.0886 17.3674 18.1346 17.25 18.1346C17.1326 18.1346 17.0198 18.0886 16.936 18.0064C16.8531 17.9228 16.8066 17.81 16.8066 17.6923C16.8066 17.5747 16.8531 17.4618 16.936 17.3783L18.4708 15.8435C18.718 16.0111 18.9312 16.2243 19.0988 16.4716Z" fill="#546E7A"/>
|
||||
<path d="M15.4808 21.6731H5.75C5.63269 21.6731 5.52019 21.6265 5.43724 21.5435C5.35429 21.4606 5.30769 21.3481 5.30769 21.2308C5.30769 21.1135 5.35429 21.001 5.43724 20.918C5.52019 20.8351 5.63269 20.7885 5.75 20.7885H15.4808C15.5981 20.7885 15.7106 20.8351 15.7935 20.918C15.8765 21.001 15.9231 21.1135 15.9231 21.2308C15.9231 21.3481 15.8765 21.4606 15.7935 21.5435C15.7106 21.6265 15.5981 21.6731 15.4808 21.6731Z" fill="#37474F"/>
|
||||
<path d="M14.1538 19.9038H7.07692C6.95962 19.9038 6.84711 19.8572 6.76417 19.7743C6.68122 19.6913 6.63462 19.5788 6.63462 19.4615C6.63462 19.3442 6.68122 19.2317 6.76417 19.1488C6.84711 19.0658 6.95962 19.0192 7.07692 19.0192H14.1538C14.2712 19.0192 14.3837 19.0658 14.4666 19.1488C14.5496 19.2317 14.5962 19.3442 14.5962 19.4615C14.5962 19.5788 14.5496 19.6913 14.4666 19.7743C14.3837 19.8572 14.2712 19.9038 14.1538 19.9038Z" fill="#37474F"/>
|
||||
<path d="M14.1538 16.3654H7.07692C6.95962 16.3654 6.84711 16.3188 6.76417 16.2358C6.68122 16.1529 6.63462 16.0404 6.63462 15.9231C6.63462 15.8058 6.68122 15.6933 6.76417 15.6103C6.84711 15.5274 6.95962 15.4808 7.07692 15.4808H14.1538C14.2712 15.4808 14.3837 15.5274 14.4666 15.6103C14.5496 15.6933 14.5962 15.8058 14.5962 15.9231C14.5962 16.0404 14.5496 16.1529 14.4666 16.2358C14.3837 16.3188 14.2712 16.3654 14.1538 16.3654Z" fill="#37474F"/>
|
||||
<path d="M18.1346 1.76923H3.09615C2.74435 1.76961 2.40706 1.90953 2.1583 2.1583C1.90954 2.40706 1.76961 2.74435 1.76923 3.09615V12.8269C1.76961 13.1787 1.90954 13.516 2.1583 13.7648C2.40706 14.0135 2.74435 14.1535 3.09615 14.1538H18.1346C18.4864 14.1535 18.8237 14.0135 19.0725 13.7648C19.3212 13.516 19.4612 13.1787 19.4615 12.8269V3.09615C19.4612 2.74435 19.3212 2.40706 19.0725 2.1583C18.8237 1.90953 18.4864 1.76961 18.1346 1.76923ZM17.25 11.0577H13.7115C13.6534 11.0577 13.5959 11.0463 13.5422 11.0241C13.4886 11.0019 13.4398 10.9693 13.3987 10.9282C13.3576 10.8871 13.325 10.8384 13.3028 10.7847C13.2806 10.731 13.2692 10.6735 13.2692 10.6154C13.2692 9.91154 12.9896 9.23652 12.4919 8.73883C11.9942 8.24113 11.3192 7.96153 10.6154 7.96153C9.91154 7.96153 9.23652 8.24113 8.73883 8.73883C8.24114 9.23652 7.96154 9.91154 7.96154 10.6154C7.96157 10.6735 7.95015 10.731 7.92794 10.7847C7.90572 10.8384 7.87314 10.8871 7.83206 10.9282C7.79098 10.9693 7.74221 11.0019 7.68853 11.0241C7.63486 11.0463 7.57732 11.0577 7.51923 11.0577H3.98077C3.92267 11.0577 3.86514 11.0463 3.81147 11.0241C3.75779 11.0019 3.70901 10.9693 3.66794 10.9282C3.62686 10.8871 3.59428 10.8384 3.57206 10.7847C3.54985 10.731 3.53843 10.6735 3.53846 10.6154C3.53846 8.73846 4.28406 6.93842 5.61124 5.61124C6.93842 4.28406 8.73847 3.53846 10.6154 3.53846C12.4923 3.53846 14.2923 4.28406 15.6195 5.61124C16.9467 6.93842 17.6923 8.73846 17.6923 10.6154C17.6923 10.6735 17.6809 10.731 17.6587 10.7847C17.6365 10.8384 17.6039 10.8871 17.5628 10.9282C17.5218 10.9693 17.473 11.0019 17.4193 11.0241C17.3656 11.0463 17.3081 11.0577 17.25 11.0577Z" fill="#FFEE58"/>
|
||||
<path d="M18.1346 1.76923H18.1031C17.434 11.9799 5.19336 12.4807 1.76923 12.4194V12.8269C1.76961 13.1787 1.90954 13.516 2.1583 13.7648C2.40706 14.0135 2.74435 14.1535 3.09615 14.1538H18.1346C18.4864 14.1535 18.8237 14.0135 19.0725 13.7648C19.3212 13.516 19.4612 13.1787 19.4615 12.8269V3.09615C19.4612 2.74435 19.3212 2.40706 19.0725 2.1583C18.8237 1.90953 18.4864 1.76961 18.1346 1.76923Z" fill="#90CAF9"/>
|
||||
<path d="M18.1346 1.76923H18.1031C18.0217 3.53365 17.4778 5.24565 16.5259 6.7335C17.2873 7.88491 17.693 9.23498 17.6923 10.6154C17.6923 10.6735 17.6809 10.731 17.6587 10.7847C17.6365 10.8384 17.6039 10.8871 17.5628 10.9282C17.5218 10.9693 17.473 11.0019 17.4193 11.0241C17.3656 11.0463 17.3081 11.0577 17.25 11.0577H13.7115C13.6534 11.0577 13.5959 11.0463 13.5422 11.0241C13.4886 11.0019 13.4398 10.9693 13.3987 10.9282C13.3576 10.8871 13.325 10.8384 13.3028 10.7847C13.2806 10.731 13.2692 10.6735 13.2692 10.6154C13.2687 10.3667 13.2331 10.1193 13.1635 9.88054C9.14978 12.2871 3.84298 12.4565 1.76923 12.4194V12.8269C1.76961 13.1787 1.90954 13.516 2.1583 13.7648C2.40706 14.0135 2.74435 14.1535 3.09615 14.1538H18.1346C18.4864 14.1535 18.8237 14.0135 19.0725 13.7648C19.3212 13.516 19.4612 13.1787 19.4615 12.8269V3.09615C19.4612 2.74435 19.3212 2.40706 19.0725 2.1583C18.8237 1.90953 18.4864 1.76961 18.1346 1.76923Z" fill="#FDD835"/>
|
||||
<path d="M10.6154 12.3846C11.5925 12.3846 12.3846 11.5925 12.3846 10.6154C12.3846 9.63827 11.5925 8.84616 10.6154 8.84616C9.63826 8.84616 8.84615 9.63827 8.84615 10.6154C8.84615 11.5925 9.63826 12.3846 10.6154 12.3846Z" fill="#CFD8DC"/>
|
||||
<path d="M11.9108 9.41928C11.9288 9.52222 11.9393 9.62632 11.9423 9.73076C11.9417 10.3171 11.7085 10.8793 11.2939 11.2939C10.8793 11.7085 10.3171 11.9417 9.73077 11.9423C9.62632 11.9393 9.52223 11.9288 9.41929 11.9108C9.75344 12.2224 10.1955 12.392 10.6523 12.3841C11.1091 12.3761 11.5449 12.191 11.868 11.868C12.191 11.5449 12.376 11.1091 12.384 10.6523C12.392 10.1955 12.2224 9.75343 11.9108 9.41928Z" fill="#B0BEC5"/>
|
||||
<path d="M3.53846 4.86538C4.02702 4.86538 4.42308 4.37031 4.42308 3.75961C4.42308 3.14891 4.02702 2.65384 3.53846 2.65384C3.0499 2.65384 2.65385 3.14891 2.65385 3.75961C2.65385 4.37031 3.0499 4.86538 3.53846 4.86538Z" fill="white"/>
|
||||
<path d="M3.09615 6.63462C3.34043 6.63462 3.53846 6.43659 3.53846 6.19231C3.53846 5.94803 3.34043 5.75 3.09615 5.75C2.85187 5.75 2.65385 5.94803 2.65385 6.19231C2.65385 6.43659 2.85187 6.63462 3.09615 6.63462Z" fill="white"/>
|
||||
</svg>
|
After Width: | Height: | Size: 11 KiB |
26
assets/icons/volt_meter_icon.svg
Normal file
26
assets/icons/volt_meter_icon.svg
Normal file
@ -0,0 +1,26 @@
|
||||
<svg width="22" height="23" viewBox="0 0 22 23" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M18.1346 0H3.09615C1.3862 0 0 1.3862 0 3.09615V19.9038C0 21.6138 1.3862 23 3.09615 23H18.1346C19.8446 23 21.2308 21.6138 21.2308 19.9038V3.09615C21.2308 1.3862 19.8446 0 18.1346 0Z" fill="#EF5350"/>
|
||||
<path d="M20.6445 1.29056C17.6514 17.7494 4.1507 20.9781 0.482056 21.5556C0.760485 21.9974 1.1462 22.3615 1.60328 22.6141C2.06036 22.8666 2.57393 22.9994 3.09614 23H18.1346C18.9554 22.999 19.7424 22.6725 20.3228 22.0921C20.9032 21.5116 21.2298 20.7247 21.2308 19.9038V3.09615C21.2306 2.44752 21.0254 1.81554 20.6445 1.29056Z" fill="#E53935"/>
|
||||
<path d="M18.1347 1.76923H3.09621C2.36337 1.76923 1.76929 2.36331 1.76929 3.09615V12.8269C1.76929 13.5598 2.36337 14.1538 3.09621 14.1538H18.1347C18.8675 14.1538 19.4616 13.5598 19.4616 12.8269V3.09615C19.4616 2.36331 18.8675 1.76923 18.1347 1.76923Z" fill="#BBDEFB"/>
|
||||
<path d="M16.5513 12.3846C16.8258 11.4606 16.8808 10.4852 16.7119 9.53621C16.543 8.58718 16.1549 7.69068 15.5785 6.91809C15.0021 6.14549 14.2532 5.51814 13.3916 5.08598C12.53 4.65381 11.5793 4.42877 10.6154 4.42877C9.65145 4.42877 8.70082 4.65381 7.83918 5.08598C6.97755 5.51814 6.2287 6.14549 5.65227 6.91809C5.07583 7.69068 4.68773 8.58718 4.51885 9.53621C4.34997 10.4852 4.40498 11.4606 4.67951 12.3846L2.875 12.1635V2.875H18.3558V12.1635L16.5513 12.3846Z" fill="#90CAF9"/>
|
||||
<path d="M10.6154 5.30769C10.5573 5.30772 10.4998 5.2963 10.4461 5.27408C10.3924 5.25187 10.3436 5.21929 10.3026 5.17821C10.2615 5.13713 10.2289 5.08836 10.2067 5.03468C10.1845 4.981 10.1731 4.92347 10.1731 4.86538V3.09615C10.1731 2.97884 10.2197 2.86634 10.3026 2.78339C10.3856 2.70044 10.4981 2.65384 10.6154 2.65384C10.7327 2.65384 10.8452 2.70044 10.9282 2.78339C11.0111 2.86634 11.0577 2.97884 11.0577 3.09615V4.86538C11.0577 4.92347 11.0463 4.981 11.0241 5.03468C11.0019 5.08836 10.9693 5.13713 10.9282 5.17821C10.8872 5.21929 10.8384 5.25187 10.7847 5.27408C10.731 5.2963 10.6735 5.30772 10.6154 5.30769Z" fill="#37474F"/>
|
||||
<path d="M6.54954 6.99182C6.49145 6.99189 6.43392 6.98047 6.38026 6.95823C6.32659 6.93599 6.27785 6.90336 6.23683 6.86223L4.995 5.62039C4.9133 5.5372 4.86776 5.42511 4.86829 5.30851C4.86882 5.19191 4.91537 5.08024 4.99782 4.99779C5.08027 4.91534 5.19194 4.86879 5.30854 4.86826C5.42514 4.86773 5.53723 4.91327 5.62043 4.99497L6.86226 6.2368C6.9241 6.29866 6.96621 6.37746 6.98327 6.46325C7.00032 6.54904 6.99156 6.63796 6.9581 6.71877C6.92463 6.79958 6.86795 6.86865 6.79523 6.91725C6.72251 6.96585 6.63701 6.9918 6.54954 6.99182Z" fill="#37474F"/>
|
||||
<path d="M14.6812 6.99184C14.5938 6.99182 14.5083 6.96587 14.4355 6.91727C14.3628 6.86867 14.3061 6.79959 14.2727 6.71878C14.2392 6.63797 14.2304 6.54906 14.2475 6.46327C14.2646 6.37748 14.3067 6.29868 14.3685 6.23682L15.6103 4.99499C15.6513 4.95331 15.7001 4.92015 15.7539 4.89743C15.8077 4.87471 15.8655 4.86288 15.9239 4.86261C15.9823 4.86235 16.0402 4.87366 16.0942 4.89589C16.1482 4.91812 16.1973 4.95084 16.2386 4.99214C16.2799 5.03345 16.3126 5.08253 16.3349 5.13655C16.3571 5.19057 16.3684 5.24846 16.3681 5.30687C16.3679 5.36529 16.356 5.42307 16.3333 5.47689C16.3106 5.5307 16.2774 5.57948 16.2358 5.62041L14.9939 6.86224C14.9529 6.90338 14.9042 6.93601 14.8505 6.95825C14.7969 6.98049 14.7393 6.99191 14.6812 6.99184Z" fill="#37474F"/>
|
||||
<path d="M10.6154 11.0577C10.5573 11.0578 10.4997 11.0463 10.4461 11.0241C10.3924 11.0019 10.3437 10.9692 10.3026 10.9281L7.48769 8.11314C7.40475 8.0302 7.35815 7.91771 7.35815 7.80041C7.35815 7.68312 7.40475 7.57063 7.48769 7.48769C7.57063 7.40475 7.68312 7.35815 7.80041 7.35815C7.91771 7.35815 8.0302 7.40475 8.11314 7.48769L10.9281 10.3027C10.9899 10.3645 11.032 10.4433 11.0491 10.5291C11.0661 10.6149 11.0574 10.7038 11.0239 10.7846C10.9904 10.8654 10.9338 10.9345 10.861 10.9831C10.7883 11.0317 10.7028 11.0577 10.6154 11.0577Z" fill="#37474F"/>
|
||||
<path d="M3.98083 19.9039C5.20222 19.9039 6.19236 18.9137 6.19236 17.6923C6.19236 16.4709 5.20222 15.4808 3.98083 15.4808C2.75943 15.4808 1.76929 16.4709 1.76929 17.6923C1.76929 18.9137 2.75943 19.9039 3.98083 19.9039Z" fill="#CFD8DC"/>
|
||||
<path d="M5.7035 16.3228C5.78399 16.7463 5.75972 17.1831 5.6328 17.5952C5.50588 18.0072 5.28016 18.382 4.9753 18.6868C4.67043 18.9917 4.29567 19.2174 3.88363 19.3443C3.47159 19.4713 3.03477 19.4955 2.61121 19.415C2.9987 19.7293 3.48188 19.9017 3.98075 19.9038C4.56708 19.9032 5.12919 19.6699 5.54379 19.2553C5.95838 18.8407 6.1916 18.2786 6.19229 17.6923C6.19015 17.1934 6.0177 16.7103 5.7035 16.3228Z" fill="#B0BEC5"/>
|
||||
<path d="M17.25 19.9039C18.4714 19.9039 19.4615 18.9137 19.4615 17.6923C19.4615 16.4709 18.4714 15.4808 17.25 15.4808C16.0286 15.4808 15.0385 16.4709 15.0385 17.6923C15.0385 18.9137 16.0286 19.9039 17.25 19.9039Z" fill="#CFD8DC"/>
|
||||
<path d="M18.9728 16.3228C19.0533 16.7463 19.029 17.1831 18.9021 17.5952C18.7752 18.0072 18.5495 18.382 18.2446 18.6868C17.9397 18.9917 17.565 19.2174 17.1529 19.3443C16.7409 19.4713 16.3041 19.4955 15.8805 19.415C16.268 19.7293 16.7512 19.9017 17.25 19.9038C17.8364 19.9032 18.3985 19.6699 18.8131 19.2553C19.2277 18.8407 19.4609 18.2786 19.4616 17.6923C19.4594 17.1934 19.287 16.7103 18.9728 16.3228Z" fill="#B0BEC5"/>
|
||||
<path d="M4.42312 17.6923C4.42277 17.8095 4.37606 17.9218 4.29319 18.0047C4.21032 18.0876 4.09802 18.1343 3.98082 18.1346H1.81351C1.75455 17.8427 1.75455 17.5419 1.81351 17.25H3.98082C4.09802 17.2504 4.21032 17.2971 4.29319 17.3799C4.37606 17.4628 4.42277 17.5751 4.42312 17.6923Z" fill="#546E7A"/>
|
||||
<path d="M19.0989 16.4716L17.5641 18.0064C17.4802 18.0886 17.3675 18.1346 17.25 18.1346C17.1326 18.1346 17.0199 18.0886 16.936 18.0064C16.8531 17.9228 16.8066 17.81 16.8066 17.6923C16.8066 17.5747 16.8531 17.4618 16.936 17.3783L18.4708 15.8435C18.7181 16.0111 18.9312 16.2243 19.0989 16.4716Z" fill="#546E7A"/>
|
||||
<path d="M15.4808 21.6731H5.75005C5.63274 21.6731 5.52024 21.6265 5.43729 21.5435C5.35434 21.4606 5.30774 21.3481 5.30774 21.2308C5.30774 21.1135 5.35434 21.0009 5.43729 20.918C5.52024 20.8351 5.63274 20.7885 5.75005 20.7885H15.4808C15.5981 20.7885 15.7106 20.8351 15.7936 20.918C15.8765 21.0009 15.9231 21.1135 15.9231 21.2308C15.9231 21.3481 15.8765 21.4606 15.7936 21.5435C15.7106 21.6265 15.5981 21.6731 15.4808 21.6731Z" fill="#37474F"/>
|
||||
<path d="M14.1539 19.9038H7.07695C6.95964 19.9038 6.84714 19.8572 6.76419 19.7743C6.68124 19.6913 6.63464 19.5788 6.63464 19.4615C6.63464 19.3442 6.68124 19.2317 6.76419 19.1488C6.84714 19.0658 6.95964 19.0192 7.07695 19.0192H14.1539C14.2712 19.0192 14.3837 19.0658 14.4666 19.1488C14.5496 19.2317 14.5962 19.3442 14.5962 19.4615C14.5962 19.5788 14.5496 19.6913 14.4666 19.7743C14.3837 19.8572 14.2712 19.9038 14.1539 19.9038Z" fill="#37474F"/>
|
||||
<path d="M14.1539 16.3654H7.07695C6.95964 16.3654 6.84714 16.3188 6.76419 16.2358C6.68124 16.1529 6.63464 16.0404 6.63464 15.9231C6.63464 15.8058 6.68124 15.6933 6.76419 15.6103C6.84714 15.5274 6.95964 15.4808 7.07695 15.4808H14.1539C14.2712 15.4808 14.3837 15.5274 14.4666 15.6103C14.5496 15.6933 14.5962 15.8058 14.5962 15.9231C14.5962 16.0404 14.5496 16.1529 14.4666 16.2358C14.3837 16.3188 14.2712 16.3654 14.1539 16.3654Z" fill="#37474F"/>
|
||||
<path d="M18.1347 1.76923H3.09621C2.74441 1.76961 2.40712 1.90953 2.15836 2.1583C1.90959 2.40706 1.76967 2.74435 1.76929 3.09615V12.8269C1.76967 13.1787 1.90959 13.516 2.15836 13.7648C2.40712 14.0135 2.74441 14.1535 3.09621 14.1538H18.1347C18.4865 14.1535 18.8238 14.0135 19.0725 13.7648C19.3213 13.516 19.4612 13.1787 19.4616 12.8269V3.09615C19.4612 2.74435 19.3213 2.40706 19.0725 2.1583C18.8238 1.90953 18.4865 1.76961 18.1347 1.76923ZM17.2501 11.0577H13.7116C13.6535 11.0577 13.596 11.0463 13.5423 11.0241C13.4886 11.0019 13.4398 10.9693 13.3988 10.9282C13.3577 10.8871 13.3251 10.8384 13.3029 10.7847C13.2807 10.731 13.2693 10.6735 13.2693 10.6154C13.2693 9.91154 12.9897 9.23652 12.492 8.73883C11.9943 8.24113 11.3193 7.96153 10.6154 7.96153C9.9116 7.96153 9.23658 8.24113 8.73889 8.73883C8.2412 9.23652 7.9616 9.91154 7.9616 10.6154C7.96163 10.6735 7.95021 10.731 7.92799 10.7847C7.90578 10.8384 7.8732 10.8871 7.83212 10.9282C7.79104 10.9693 7.74227 11.0019 7.68859 11.0241C7.63491 11.0463 7.57738 11.0577 7.51929 11.0577H3.98083C3.92273 11.0577 3.8652 11.0463 3.81152 11.0241C3.75784 11.0019 3.70907 10.9693 3.66799 10.9282C3.62691 10.8871 3.59434 10.8384 3.57212 10.7847C3.5499 10.731 3.53848 10.6735 3.53852 10.6154C3.53852 8.73846 4.28412 6.93842 5.6113 5.61124C6.93848 4.28406 8.73852 3.53846 10.6154 3.53846C12.4924 3.53846 14.2924 4.28406 15.6196 5.61124C16.9468 6.93842 17.6924 8.73846 17.6924 10.6154C17.6924 10.6735 17.681 10.731 17.6588 10.7847C17.6365 10.8384 17.604 10.8871 17.5629 10.9282C17.5218 10.9693 17.473 11.0019 17.4194 11.0241C17.3657 11.0463 17.3082 11.0577 17.2501 11.0577Z" fill="#FFEE58"/>
|
||||
<path d="M18.1347 1.76923H18.1031C17.4341 11.9799 5.19342 12.4807 1.76929 12.4194V12.8269C1.76967 13.1787 1.90959 13.516 2.15836 13.7648C2.40712 14.0135 2.74441 14.1535 3.09621 14.1538H18.1347C18.4865 14.1535 18.8238 14.0135 19.0725 13.7648C19.3213 13.516 19.4612 13.1787 19.4616 12.8269V3.09615C19.4612 2.74435 19.3213 2.40706 19.0725 2.1583C18.8238 1.90953 18.4865 1.76961 18.1347 1.76923Z" fill="#90CAF9"/>
|
||||
<path d="M18.1347 1.76923H18.1031C18.0218 3.53365 17.4778 5.24565 16.5259 6.7335C17.2874 7.88491 17.693 9.23498 17.6924 10.6154C17.6924 10.6735 17.681 10.731 17.6588 10.7847C17.6365 10.8384 17.604 10.8871 17.5629 10.9282C17.5218 10.9693 17.473 11.0019 17.4194 11.0241C17.3657 11.0463 17.3082 11.0577 17.2501 11.0577H13.7116C13.6535 11.0577 13.596 11.0463 13.5423 11.0241C13.4886 11.0019 13.4398 10.9693 13.3988 10.9282C13.3577 10.8871 13.3251 10.8384 13.3029 10.7847C13.2807 10.731 13.2693 10.6735 13.2693 10.6154C13.2688 10.3667 13.2332 10.1193 13.1635 9.88054C9.14984 12.2871 3.84304 12.4565 1.76929 12.4194V12.8269C1.76967 13.1787 1.90959 13.516 2.15836 13.7648C2.40712 14.0135 2.74441 14.1535 3.09621 14.1538H18.1347C18.4865 14.1535 18.8238 14.0135 19.0725 13.7648C19.3213 13.516 19.4612 13.1787 19.4616 12.8269V3.09615C19.4612 2.74435 19.3213 2.40706 19.0725 2.1583C18.8238 1.90953 18.4865 1.76961 18.1347 1.76923Z" fill="#FDD835"/>
|
||||
<path d="M10.6154 12.3846C11.5925 12.3846 12.3847 11.5925 12.3847 10.6154C12.3847 9.63827 11.5925 8.84616 10.6154 8.84616C9.6383 8.84616 8.84619 9.63827 8.84619 10.6154C8.84619 11.5925 9.6383 12.3846 10.6154 12.3846Z" fill="#CFD8DC"/>
|
||||
<path d="M11.9109 9.41928C11.9288 9.52222 11.9393 9.62632 11.9423 9.73076C11.9418 10.3171 11.7086 10.8793 11.2939 11.2939C10.8793 11.7085 10.3172 11.9417 9.73079 11.9423C9.62635 11.9393 9.52225 11.9288 9.41931 11.9108C9.75346 12.2224 10.1955 12.392 10.6523 12.3841C11.1091 12.3761 11.545 12.191 11.868 11.868C12.1911 11.5449 12.3761 11.1091 12.3841 10.6523C12.3921 10.1955 12.2224 9.75343 11.9109 9.41928Z" fill="#B0BEC5"/>
|
||||
<path d="M3.53842 4.86538C4.02698 4.86538 4.42304 4.37031 4.42304 3.75961C4.42304 3.14891 4.02698 2.65384 3.53842 2.65384C3.04986 2.65384 2.65381 3.14891 2.65381 3.75961C2.65381 4.37031 3.04986 4.86538 3.53842 4.86538Z" fill="white"/>
|
||||
<path d="M3.09612 6.63462C3.3404 6.63462 3.53842 6.43659 3.53842 6.19231C3.53842 5.94803 3.3404 5.75 3.09612 5.75C2.85184 5.75 2.65381 5.94803 2.65381 6.19231C2.65381 6.43659 2.85184 6.63462 3.09612 6.63462Z" fill="white"/>
|
||||
</svg>
|
After Width: | Height: | Size: 11 KiB |
@ -1,6 +1,5 @@
|
||||
import 'dart:async';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:syncrow_web/pages/device_managment/all_devices/models/device_status.dart';
|
||||
import 'package:syncrow_web/pages/device_managment/power_clamp/bloc/smart_power_event.dart';
|
||||
import 'package:syncrow_web/pages/device_managment/power_clamp/bloc/smart_power_state.dart';
|
||||
import 'package:syncrow_web/pages/device_managment/power_clamp/models/wall_light_status_model.dart';
|
||||
@ -9,118 +8,60 @@ import 'package:syncrow_web/services/devices_mang_api.dart';
|
||||
class SmartPowerBloc extends Bloc<SmartPowerEvent, SmartPowerState> {
|
||||
SmartPowerBloc({required this.deviceId}) : super(SmartPowerInitial()) {
|
||||
on<SmartPowerFetchDeviceEvent>(_onFetchDeviceStatus);
|
||||
on<SmartPowerControl>(_onControl);
|
||||
// on<SmartPowerControl>(_onControl);
|
||||
on<SmartPowerFetchBatchEvent>(_onFetchBatchStatus);
|
||||
on<SmartPowerBatchControl>(_onBatchControl);
|
||||
on<WallLightFactoryReset>(_onFactoryReset);
|
||||
// on<WallLightFactoryReset>(_onFactoryReset);
|
||||
}
|
||||
|
||||
late SmartPowerStatusModel deviceStatus;
|
||||
late PowerClampModel deviceStatus;
|
||||
final String deviceId;
|
||||
Timer? _timer;
|
||||
|
||||
List<Map<String, dynamic>> phaseData = [];
|
||||
FutureOr<void> _onFetchDeviceStatus(
|
||||
SmartPowerFetchDeviceEvent event, Emitter<SmartPowerState> emit) async {
|
||||
emit(SmartPowerLoading());
|
||||
try {
|
||||
// final status =
|
||||
// await DevicesManagementApi().getDeviceStatus(event.deviceId);
|
||||
// deviceStatus =
|
||||
// SmartPowerStatusModel.fromJson(event.deviceId, status.status);
|
||||
var status = await DevicesManagementApi().getPowerClampInfo(event.deviceId);
|
||||
deviceStatus = PowerClampModel.fromJson(status);
|
||||
|
||||
phaseData = [
|
||||
{
|
||||
'name': 'Phase A',
|
||||
'voltage': '${deviceStatus.status.phaseA.dataPoints[0].value} V',
|
||||
'current': '${deviceStatus.status.phaseA.dataPoints[1].value} A',
|
||||
'activePower': '${deviceStatus.status.phaseA.dataPoints[2].value} W',
|
||||
'powerFactor': '${deviceStatus.status.phaseA.dataPoints[3].value}',
|
||||
},
|
||||
{
|
||||
'name': 'Phase B',
|
||||
'voltage': '${deviceStatus.status.phaseB.dataPoints[0].value} V',
|
||||
'current': '${deviceStatus.status.phaseB.dataPoints[1].value} A',
|
||||
'activePower': '${deviceStatus.status.phaseB.dataPoints[2].value} W',
|
||||
'powerFactor': '${deviceStatus.status.phaseB.dataPoints[3].value}',
|
||||
},
|
||||
{
|
||||
'name': 'Phase C',
|
||||
'voltage': '${deviceStatus.status.phaseC.dataPoints[0].value} V',
|
||||
'current': '${deviceStatus.status.phaseC.dataPoints[1].value} A',
|
||||
'activePower': '${deviceStatus.status.phaseC.dataPoints[2].value} W',
|
||||
'powerFactor': '${deviceStatus.status.phaseC.dataPoints[3].value}',
|
||||
},
|
||||
];
|
||||
emit(SmartPowerStatusLoaded(deviceStatus));
|
||||
} catch (e) {
|
||||
emit(SmartPowerError(e.toString()));
|
||||
}
|
||||
}
|
||||
|
||||
FutureOr<void> _onControl(
|
||||
SmartPowerControl event, Emitter<SmartPowerState> emit) async {
|
||||
final oldValue = _getValueByCode(event.code);
|
||||
|
||||
_updateLocalValue(event.code, event.value);
|
||||
|
||||
emit(SmartPowerStatusLoaded(deviceStatus));
|
||||
|
||||
await _runDebounce(
|
||||
deviceId: event.deviceId,
|
||||
code: event.code,
|
||||
value: event.value,
|
||||
oldValue: oldValue,
|
||||
emit: emit,
|
||||
isBatch: false,
|
||||
);
|
||||
}
|
||||
|
||||
Future<void> _runDebounce({
|
||||
required dynamic deviceId,
|
||||
required String code,
|
||||
required bool value,
|
||||
required bool oldValue,
|
||||
required Emitter<SmartPowerState> emit,
|
||||
required bool isBatch,
|
||||
}) async {
|
||||
late String id;
|
||||
|
||||
if (deviceId is List) {
|
||||
id = deviceId.first;
|
||||
} else {
|
||||
id = deviceId;
|
||||
}
|
||||
|
||||
if (_timer != null) {
|
||||
_timer!.cancel();
|
||||
}
|
||||
|
||||
_timer = Timer(const Duration(milliseconds: 500), () async {
|
||||
try {
|
||||
late bool response;
|
||||
|
||||
if (isBatch) {
|
||||
response = await DevicesManagementApi()
|
||||
.deviceBatchControl(deviceId, code, value);
|
||||
} else {
|
||||
response = await DevicesManagementApi()
|
||||
.deviceControl(deviceId, Status(code: code, value: value));
|
||||
}
|
||||
|
||||
if (!response) {
|
||||
_revertValueAndEmit(id, code, oldValue, emit);
|
||||
}
|
||||
} catch (e) {
|
||||
_revertValueAndEmit(id, code, oldValue, emit);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void _revertValueAndEmit(String deviceId, String code, bool oldValue,
|
||||
Emitter<SmartPowerState> emit) {
|
||||
_updateLocalValue(code, oldValue);
|
||||
emit(SmartPowerStatusLoaded(deviceStatus));
|
||||
}
|
||||
|
||||
void _updateLocalValue(String code, bool value) {
|
||||
if (code == 'switch_1') {
|
||||
deviceStatus = deviceStatus.copyWith(switch1: value);
|
||||
}
|
||||
}
|
||||
|
||||
bool _getValueByCode(String code) {
|
||||
switch (code) {
|
||||
case 'switch_1':
|
||||
return deviceStatus.switch1;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> _onFetchBatchStatus(
|
||||
SmartPowerFetchBatchEvent event, Emitter<SmartPowerState> emit) async {
|
||||
emit(SmartPowerLoading());
|
||||
try {
|
||||
final status =
|
||||
await DevicesManagementApi().getBatchStatus(event.devicesIds);
|
||||
deviceStatus =
|
||||
SmartPowerStatusModel.fromJson(event.devicesIds.first, status.status);
|
||||
// deviceStatus =
|
||||
// SmartPowerStatusModel.fromJson(event.devicesIds.first, status.status);
|
||||
emit(SmartPowerStatusLoaded(deviceStatus));
|
||||
} catch (e) {
|
||||
emit(SmartPowerError(e.toString()));
|
||||
@ -135,37 +76,30 @@ class SmartPowerBloc extends Bloc<SmartPowerEvent, SmartPowerState> {
|
||||
|
||||
FutureOr<void> _onBatchControl(
|
||||
SmartPowerBatchControl event, Emitter<SmartPowerState> emit) async {
|
||||
final oldValue = _getValueByCode(event.code);
|
||||
// final oldValue = _getValueByCode(event.code);
|
||||
|
||||
_updateLocalValue(event.code, event.value);
|
||||
// _updateLocalValue(event.code, event.value);
|
||||
|
||||
emit(SmartPowerStatusLoaded(deviceStatus));
|
||||
|
||||
await _runDebounce(
|
||||
deviceId: event.devicesIds,
|
||||
code: event.code,
|
||||
value: event.value,
|
||||
oldValue: oldValue,
|
||||
emit: emit,
|
||||
isBatch: true,
|
||||
);
|
||||
}
|
||||
|
||||
FutureOr<void> _onFactoryReset(
|
||||
WallLightFactoryReset event, Emitter<SmartPowerState> emit) async {
|
||||
emit(SmartPowerLoading());
|
||||
try {
|
||||
final response = await DevicesManagementApi().factoryReset(
|
||||
event.factoryReset,
|
||||
event.deviceId,
|
||||
);
|
||||
if (!response) {
|
||||
emit(SmartPowerError('Failed'));
|
||||
} else {
|
||||
emit(SmartPowerStatusLoaded(deviceStatus));
|
||||
FutureOr<void> _onFactoryReset(
|
||||
WallLightFactoryReset event, Emitter<SmartPowerState> emit) async {
|
||||
emit(SmartPowerLoading());
|
||||
try {
|
||||
final response = await DevicesManagementApi().factoryReset(
|
||||
event.factoryReset,
|
||||
event.deviceId,
|
||||
);
|
||||
if (!response) {
|
||||
emit(SmartPowerError('Failed'));
|
||||
} else {
|
||||
emit(SmartPowerStatusLoaded(deviceStatus));
|
||||
}
|
||||
} catch (e) {
|
||||
emit(SmartPowerError(e.toString()));
|
||||
}
|
||||
} catch (e) {
|
||||
emit(SmartPowerError(e.toString()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -57,3 +57,12 @@ class WallLightFactoryReset extends SmartPowerEvent {
|
||||
@override
|
||||
List<Object> get props => [deviceId, factoryReset];
|
||||
}
|
||||
class PageChangedEvent extends SmartPowerEvent {
|
||||
final int newPage;
|
||||
PageChangedEvent(this.newPage);
|
||||
}
|
||||
|
||||
class PageArrowPressedEvent extends SmartPowerEvent {
|
||||
final int direction;
|
||||
PageArrowPressedEvent(this.direction);
|
||||
}
|
@ -11,7 +11,7 @@ class SmartPowerInitial extends SmartPowerState {}
|
||||
class SmartPowerLoading extends SmartPowerState {}
|
||||
|
||||
class SmartPowerStatusLoaded extends SmartPowerState {
|
||||
final SmartPowerStatusModel status;
|
||||
final PowerClampModel status;
|
||||
|
||||
SmartPowerStatusLoaded(this.status);
|
||||
|
||||
@ -54,3 +54,4 @@ class SmartPowerBatchStatusLoaded extends SmartPowerState {
|
||||
@override
|
||||
List<Object> get props => [status];
|
||||
}
|
||||
|
||||
|
@ -1,47 +1,86 @@
|
||||
import 'package:syncrow_web/pages/device_managment/all_devices/models/device_status.dart';
|
||||
// PowerClampModel class to represent the response
|
||||
class PowerClampModel {
|
||||
String productUuid;
|
||||
String productType;
|
||||
PowerStatus status;
|
||||
|
||||
class SmartPowerStatusModel {
|
||||
final String uuid;
|
||||
final bool switch1;
|
||||
final int countDown;
|
||||
|
||||
SmartPowerStatusModel({
|
||||
required this.uuid,
|
||||
required this.switch1,
|
||||
required this.countDown,
|
||||
PowerClampModel({
|
||||
required this.productUuid,
|
||||
required this.productType,
|
||||
required this.status,
|
||||
});
|
||||
|
||||
factory SmartPowerStatusModel.fromJson(String id, List<Status> jsonList) {
|
||||
late bool switch1;
|
||||
late int countDown;
|
||||
|
||||
for (var status in jsonList) {
|
||||
switch (status.code) {
|
||||
case 'switch_1':
|
||||
switch1 = status.value ?? false;
|
||||
break;
|
||||
case 'countdown_1':
|
||||
countDown = status.value ?? 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return SmartPowerStatusModel(
|
||||
uuid: id,
|
||||
switch1: switch1,
|
||||
countDown: countDown,
|
||||
);
|
||||
}
|
||||
|
||||
SmartPowerStatusModel copyWith({
|
||||
String? uuid,
|
||||
bool? switch1,
|
||||
int? countDown,
|
||||
}) {
|
||||
return SmartPowerStatusModel(
|
||||
uuid: uuid ?? this.uuid,
|
||||
switch1: switch1 ?? this.switch1,
|
||||
countDown: countDown ?? this.countDown,
|
||||
factory PowerClampModel.fromJson(Map<String, dynamic> json) {
|
||||
return PowerClampModel(
|
||||
productUuid: json['productUuid'],
|
||||
productType: json['productType'],
|
||||
status: PowerStatus.fromJson(json['status']),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class PowerStatus {
|
||||
Phase phaseA;
|
||||
Phase phaseB;
|
||||
Phase phaseC;
|
||||
Phase general;
|
||||
|
||||
PowerStatus({
|
||||
required this.phaseA,
|
||||
required this.phaseB,
|
||||
required this.phaseC,
|
||||
required this.general,
|
||||
});
|
||||
|
||||
factory PowerStatus.fromJson(Map<String, dynamic> json) {
|
||||
return PowerStatus(
|
||||
phaseA: Phase.fromJson(json['phaseA']),
|
||||
phaseB: Phase.fromJson(json['phaseB']),
|
||||
phaseC: Phase.fromJson(json['phaseC']),
|
||||
general: Phase.fromJson(json['general']
|
||||
// List<DataPoint>.from(
|
||||
// json['general'].map((x) => DataPoint.fromJson(x))),
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
class Phase {
|
||||
List<DataPoint> dataPoints;
|
||||
|
||||
Phase({required this.dataPoints});
|
||||
|
||||
factory Phase.fromJson(List<dynamic> json) {
|
||||
return Phase(
|
||||
dataPoints: json.map((x) => DataPoint.fromJson(x)).toList(),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class DataPoint {
|
||||
dynamic code;
|
||||
dynamic customName;
|
||||
dynamic dpId;
|
||||
dynamic time;
|
||||
dynamic type;
|
||||
dynamic value;
|
||||
|
||||
DataPoint({
|
||||
required this.code,
|
||||
required this.customName,
|
||||
required this.dpId,
|
||||
required this.time,
|
||||
required this.type,
|
||||
required this.value,
|
||||
});
|
||||
|
||||
factory DataPoint.fromJson(Map<String, dynamic> json) {
|
||||
return DataPoint(
|
||||
code: json['code'],
|
||||
customName: json['customName'],
|
||||
dpId: json['dpId'],
|
||||
time: json['time'],
|
||||
type: json['type'],
|
||||
value: json['value'],
|
||||
);
|
||||
}
|
||||
}
|
||||
|
124
lib/pages/device_managment/power_clamp/view/phase_widget.dart
Normal file
124
lib/pages/device_managment/power_clamp/view/phase_widget.dart
Normal file
@ -0,0 +1,124 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:syncrow_web/pages/device_managment/power_clamp/view/power_info_card.dart';
|
||||
import 'package:syncrow_web/utils/constants/assets.dart';
|
||||
|
||||
class PhaseWidget extends StatefulWidget {
|
||||
final List<Map<String, dynamic>> phaseData;
|
||||
|
||||
PhaseWidget({
|
||||
required this.phaseData,
|
||||
});
|
||||
@override
|
||||
_PhaseWidgetState createState() => _PhaseWidgetState();
|
||||
}
|
||||
|
||||
class _PhaseWidgetState extends State<PhaseWidget> {
|
||||
int _selectedPhaseIndex = 0;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Column(
|
||||
children: [
|
||||
SizedBox(height: 10),
|
||||
Row(
|
||||
children: List.generate(widget.phaseData.length, (index) {
|
||||
return InkWell(
|
||||
onTap: () {
|
||||
setState(() {
|
||||
_selectedPhaseIndex = index;
|
||||
});
|
||||
},
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.only(left: 10, right: 10),
|
||||
child: Text(
|
||||
widget.phaseData[index]['name'],
|
||||
style: TextStyle(
|
||||
fontWeight: FontWeight.bold,
|
||||
color: _selectedPhaseIndex == index
|
||||
? Colors.black
|
||||
: Colors.grey,
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}),
|
||||
),
|
||||
SizedBox(height: 10),
|
||||
_selectedPhaseIndex == 0
|
||||
? phase(
|
||||
totalActive: widget.phaseData[0]['activePower'] ?? '0',
|
||||
totalCurrent: widget.phaseData[0]['current'] ?? '0',
|
||||
totalFactor: widget.phaseData[0]['powerFactor'] ?? '0',
|
||||
totalVoltage: widget.phaseData[0]['voltage'] ?? '0',
|
||||
)
|
||||
: _selectedPhaseIndex == 1
|
||||
? phase(
|
||||
totalActive: widget.phaseData[1]['activePower'] ?? '0',
|
||||
totalCurrent: widget.phaseData[1]['current'] ?? '0',
|
||||
totalFactor: widget.phaseData[1]['powerFactor'] ?? '0',
|
||||
totalVoltage: widget.phaseData[1]['voltage'] ?? '0',
|
||||
)
|
||||
: phase(
|
||||
totalActive: widget.phaseData[2]['activePower'] ?? '0',
|
||||
totalCurrent: widget.phaseData[2]['current'] ?? '0',
|
||||
totalFactor: widget.phaseData[2]['powerFactor'] ?? '0',
|
||||
totalVoltage: widget.phaseData[2]['voltage'] ?? '0',
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class phase extends StatelessWidget {
|
||||
const phase({
|
||||
super.key,
|
||||
required this.totalVoltage,
|
||||
required this.totalCurrent,
|
||||
required this.totalActive,
|
||||
required this.totalFactor,
|
||||
});
|
||||
|
||||
final String totalVoltage;
|
||||
final String totalCurrent;
|
||||
final String totalActive;
|
||||
final String totalFactor;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Container(
|
||||
child: Column(
|
||||
children: [
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
PowerClampInfoCard(
|
||||
iconPath: Assets.voltageIcon,
|
||||
title: 'Voltage',
|
||||
value: totalVoltage,
|
||||
unit: '',
|
||||
),
|
||||
PowerClampInfoCard(
|
||||
iconPath: Assets.voltMeterIcon,
|
||||
title: 'Current',
|
||||
value: totalCurrent,
|
||||
unit: '',
|
||||
),
|
||||
PowerClampInfoCard(
|
||||
iconPath: Assets.powerActiveIcon,
|
||||
title: 'Active Power',
|
||||
value: totalActive,
|
||||
unit: '',
|
||||
),
|
||||
PowerClampInfoCard(
|
||||
iconPath: Assets.speedoMeter,
|
||||
title: 'Power Factor',
|
||||
value: totalFactor,
|
||||
unit: '',
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
@ -28,9 +28,62 @@ class _EnergyConsumptionPageState extends State<EnergyConsumptionPage> {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
body: Column(
|
||||
return Container(
|
||||
color: ColorsManager.whiteColors,
|
||||
child: Column(
|
||||
children: [
|
||||
const Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
'Total Consumption',
|
||||
style: TextStyle(
|
||||
fontWeight: FontWeight.w700,
|
||||
fontSize: 20,
|
||||
),
|
||||
),
|
||||
Text(
|
||||
'8623.20 kWh',
|
||||
style: TextStyle(
|
||||
fontWeight: FontWeight.w700,
|
||||
fontSize: 20,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
const Row(
|
||||
children: [
|
||||
Text(
|
||||
'Energy consumption',
|
||||
style: TextStyle(
|
||||
color: ColorsManager.grayColor,
|
||||
fontWeight: FontWeight.w700,
|
||||
fontSize: 12,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
const Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
'01/08/2024 - 31/08/2024',
|
||||
style: TextStyle(
|
||||
color: ColorsManager.grayColor,
|
||||
fontWeight: FontWeight.w400,
|
||||
fontSize: 8,
|
||||
),
|
||||
),
|
||||
Text(
|
||||
'1000.00 kWh',
|
||||
style: TextStyle(
|
||||
color: ColorsManager.grayColor,
|
||||
fontWeight: FontWeight.w400,
|
||||
fontSize: 8,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
Expanded(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.only(top: 15),
|
||||
@ -78,7 +131,7 @@ class _EnergyConsumptionPageState extends State<EnergyConsumptionPage> {
|
||||
),
|
||||
topTitles: AxisTitles(
|
||||
sideTitles: SideTitles(
|
||||
showTitles: true,
|
||||
showTitles: false,
|
||||
reservedSize: 70,
|
||||
getTitlesWidget: (value, meta) {
|
||||
int index = value.toInt();
|
||||
|
@ -24,56 +24,50 @@ class PowerClampInfoCard extends StatelessWidget {
|
||||
padding: const EdgeInsets.all(5.0),
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.white,
|
||||
color: ColorsManager.graysColor,
|
||||
borderRadius: BorderRadius.circular(20),
|
||||
),
|
||||
height: 55,
|
||||
color: ColorsManager.graysColor,
|
||||
child: Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
||||
children: [
|
||||
Expanded(
|
||||
child: SvgPicture.asset(
|
||||
iconPath,
|
||||
fit: BoxFit.fill,
|
||||
),
|
||||
SvgPicture.asset(
|
||||
iconPath,
|
||||
fit: BoxFit.fill,
|
||||
),
|
||||
Expanded(
|
||||
flex: 3,
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
Text(
|
||||
value,
|
||||
style: TextStyle(
|
||||
fontSize: 15,
|
||||
fontWeight: FontWeight.w700,
|
||||
Column(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
Text(
|
||||
title,
|
||||
style: TextStyle(
|
||||
fontSize: 8,
|
||||
fontWeight: FontWeight.w400,
|
||||
),
|
||||
),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
Text(
|
||||
value,
|
||||
style: TextStyle(
|
||||
fontSize: 15,
|
||||
fontWeight: FontWeight.w700,
|
||||
),
|
||||
),
|
||||
),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
Text(
|
||||
value,
|
||||
style: TextStyle(
|
||||
fontSize: 15,
|
||||
fontWeight: FontWeight.w700,
|
||||
),
|
||||
Text(
|
||||
unit,
|
||||
style: TextStyle(
|
||||
fontSize: 15,
|
||||
fontWeight: FontWeight.w700,
|
||||
),
|
||||
Text(
|
||||
unit,
|
||||
style: TextStyle(
|
||||
fontSize: 15,
|
||||
fontWeight: FontWeight.w700,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
)
|
||||
],
|
||||
),
|
||||
|
@ -1,66 +1,234 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import 'package:syncrow_web/pages/device_managment/power_clamp/bloc/smart_power_bloc.dart';
|
||||
import 'package:syncrow_web/pages/device_managment/power_clamp/bloc/smart_power_event.dart';
|
||||
import 'package:syncrow_web/pages/device_managment/power_clamp/bloc/smart_power_state.dart';
|
||||
import 'package:syncrow_web/pages/device_managment/power_clamp/view/power_chart.dart';
|
||||
import 'package:syncrow_web/pages/device_managment/power_clamp/view/power_info_card.dart';
|
||||
import 'package:syncrow_web/pages/device_managment/power_clamp/view/phase_widget.dart';
|
||||
import 'package:syncrow_web/pages/device_managment/shared/device_controls_container.dart';
|
||||
import 'package:syncrow_web/utils/color_manager.dart';
|
||||
import 'package:syncrow_web/utils/constants/assets.dart';
|
||||
import 'package:syncrow_web/utils/helpers/responsice_layout_helper/responsive_layout_helper.dart';
|
||||
|
||||
//Smart Power Clamp
|
||||
class SmartPowerDeviceControl extends StatelessWidget
|
||||
class SmartPowerDeviceControl extends StatefulWidget
|
||||
with HelperResponsiveLayout {
|
||||
final String deviceId;
|
||||
|
||||
const SmartPowerDeviceControl({super.key, required this.deviceId});
|
||||
|
||||
@override
|
||||
State<SmartPowerDeviceControl> createState() =>
|
||||
_SmartPowerDeviceControlState();
|
||||
}
|
||||
|
||||
class _SmartPowerDeviceControlState extends State<SmartPowerDeviceControl> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return _buildStatusControls(
|
||||
context,
|
||||
return BlocProvider(
|
||||
create: (context) => SmartPowerBloc(deviceId: widget.deviceId)
|
||||
..add(SmartPowerFetchDeviceEvent(widget.deviceId)),
|
||||
child: BlocBuilder<SmartPowerBloc, SmartPowerState>(
|
||||
builder: (context, state) {
|
||||
final _blocProvider = BlocProvider.of<SmartPowerBloc>(context);
|
||||
|
||||
if (state is SmartPowerLoading) {
|
||||
return const Center(child: CircularProgressIndicator());
|
||||
} else if (state is SmartPowerStatusLoaded) {
|
||||
return _buildStatusControls(
|
||||
context: context,
|
||||
blocProvider: _blocProvider,
|
||||
);
|
||||
}
|
||||
return const Center(child: CircularProgressIndicator());
|
||||
// }
|
||||
},
|
||||
),
|
||||
);
|
||||
|
||||
// BlocProvider(
|
||||
// create: (context) => SmartPowerBloc(deviceId: deviceId)
|
||||
// ..add(SmartPowerFetchDeviceEvent(deviceId)),
|
||||
// child: BlocBuilder<SmartPowerBloc, SmartPowerState>(
|
||||
// builder: (context, state) {
|
||||
// if (state is SmartPowerLoading) {
|
||||
// return const Center(child: CircularProgressIndicator());
|
||||
// } else if (state is SmartPowerStatusLoaded) {
|
||||
// return _buildStatusControls(context, state.status);
|
||||
// }
|
||||
|
||||
// // else if (state is WallLightSwitchError ||
|
||||
// // state is WallLightSwitchControlError) {
|
||||
// // return const Center(child: Text('Error fetching status'));
|
||||
// // } else {
|
||||
// return const Center(child: CircularProgressIndicator());
|
||||
// // }
|
||||
// },
|
||||
// ),
|
||||
// );
|
||||
}
|
||||
|
||||
Widget _buildStatusControls(
|
||||
BuildContext context,
|
||||
) {
|
||||
final isExtraLarge = isExtraLargeScreenSize(context);
|
||||
final isLarge = isLargeScreenSize(context);
|
||||
final isMedium = isMediumScreenSize(context);
|
||||
Widget _buildStatusControls({
|
||||
required BuildContext context,
|
||||
required SmartPowerBloc blocProvider,
|
||||
}) {
|
||||
PageController _pageController = PageController();
|
||||
int _currentPage = 0;
|
||||
|
||||
void _onArrowPressed(int direction) {
|
||||
setState(() {
|
||||
_currentPage = (_currentPage + direction) % 3;
|
||||
if (_currentPage < 0) {
|
||||
_currentPage = 2;
|
||||
}
|
||||
_pageController.animateToPage(
|
||||
_currentPage,
|
||||
duration: Duration(milliseconds: 300),
|
||||
curve: Curves.easeInOut,
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
return Container(
|
||||
height: 150,
|
||||
child: EnergyConsumptionPage(
|
||||
chartData: [
|
||||
EnergyData('12:00 AM', 4.0),
|
||||
EnergyData('01:00 AM', 3.5),
|
||||
EnergyData('02:00 AM', 3.8),
|
||||
EnergyData('03:00 AM', 3.2),
|
||||
EnergyData('04:00 AM', 4.0),
|
||||
EnergyData('05:00 AM', 3.4),
|
||||
EnergyData('06:00 AM', 3.2),
|
||||
EnergyData('07:00 AM', 3.5),
|
||||
EnergyData('08:00 AM', 3.8),
|
||||
EnergyData('09:00 AM', 3.6),
|
||||
EnergyData('10:00 AM', 3.9),
|
||||
EnergyData('11:00 AM', 4.0),
|
||||
],
|
||||
totalConsumption: 10000,
|
||||
date: '10/08/2024',
|
||||
child: DeviceControlsContainer(
|
||||
child: Column(
|
||||
children: [
|
||||
const Row(
|
||||
children: [
|
||||
Text(
|
||||
'Live',
|
||||
style: TextStyle(
|
||||
fontSize: 32,
|
||||
fontWeight: FontWeight.w700,
|
||||
color: ColorsManager.grayColor),
|
||||
),
|
||||
],
|
||||
),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
PowerClampInfoCard(
|
||||
iconPath: Assets.powerActiveIcon,
|
||||
title: 'Active',
|
||||
value: blocProvider
|
||||
.deviceStatus.status.general.dataPoints[0].value
|
||||
.toString(),
|
||||
unit: '',
|
||||
),
|
||||
PowerClampInfoCard(
|
||||
iconPath: Assets.voltMeterIcon,
|
||||
title: 'Current',
|
||||
value: blocProvider
|
||||
.deviceStatus.status.general.dataPoints[1].value
|
||||
.toString(),
|
||||
unit: ' A',
|
||||
),
|
||||
PowerClampInfoCard(
|
||||
iconPath: Assets.frequencyIcon,
|
||||
title: 'Frequency',
|
||||
value: blocProvider
|
||||
.deviceStatus.status.general.dataPoints[2].value
|
||||
.toString(),
|
||||
unit: ' Hz',
|
||||
),
|
||||
],
|
||||
),
|
||||
PhaseWidget(
|
||||
phaseData: blocProvider.phaseData,
|
||||
),
|
||||
Container(
|
||||
padding: EdgeInsets.all(10),
|
||||
decoration: BoxDecoration(
|
||||
color: ColorsManager.whiteColors,
|
||||
borderRadius: BorderRadius.circular(20),
|
||||
),
|
||||
height: 250,
|
||||
child: Column(
|
||||
children: [
|
||||
Container(
|
||||
decoration: BoxDecoration(
|
||||
color: ColorsManager.graysColor,
|
||||
borderRadius: BorderRadius.circular(20),
|
||||
),
|
||||
height: 60,
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
IconButton(
|
||||
icon: Icon(Icons.arrow_left),
|
||||
onPressed: () => _onArrowPressed(-1),
|
||||
),
|
||||
Text(
|
||||
_currentPage == 0
|
||||
? 'Total'
|
||||
: _currentPage == 0
|
||||
? 'Phase A'
|
||||
: _currentPage == 0
|
||||
? 'Phase B'
|
||||
: 'Phase C',
|
||||
style: TextStyle(fontSize: 18),
|
||||
),
|
||||
IconButton(
|
||||
icon: Icon(Icons.arrow_right),
|
||||
onPressed: () => _onArrowPressed(1),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
child: PageView(
|
||||
controller: _pageController,
|
||||
onPageChanged: (int page) {
|
||||
setState(() {
|
||||
_currentPage = page;
|
||||
});
|
||||
},
|
||||
children: [
|
||||
EnergyConsumptionPage(
|
||||
chartData: [
|
||||
EnergyData('12:00 AM', 4.0),
|
||||
EnergyData('01:00 AM', 3.5),
|
||||
EnergyData('02:00 AM', 3.8),
|
||||
EnergyData('03:00 AM', 3.2),
|
||||
EnergyData('04:00 AM', 4.0),
|
||||
EnergyData('05:00 AM', 3.4),
|
||||
EnergyData('06:00 AM', 3.2),
|
||||
EnergyData('07:00 AM', 3.5),
|
||||
EnergyData('08:00 AM', 3.8),
|
||||
EnergyData('09:00 AM', 3.6),
|
||||
EnergyData('10:00 AM', 3.9),
|
||||
EnergyData('10:00 AM', 3.9),
|
||||
EnergyData('11:00 AM', 4.0),
|
||||
],
|
||||
totalConsumption: 10000,
|
||||
date: '10/08/2024',
|
||||
),
|
||||
EnergyConsumptionPage(
|
||||
chartData: [
|
||||
EnergyData('12:00 AM', 4.0),
|
||||
EnergyData('01:00 AM', 3.5),
|
||||
EnergyData('02:00 AM', 3.8),
|
||||
EnergyData('03:00 AM', 3.2),
|
||||
EnergyData('04:00 AM', 4.0),
|
||||
EnergyData('05:00 AM', 3.4),
|
||||
EnergyData('06:00 AM', 3.2),
|
||||
EnergyData('07:00 AM', 3.5),
|
||||
EnergyData('08:00 AM', 3.8),
|
||||
EnergyData('09:00 AM', 3.6),
|
||||
EnergyData('10:00 AM', 3.9),
|
||||
EnergyData('10:00 AM', 3.9),
|
||||
EnergyData('11:00 AM', 4.0),
|
||||
],
|
||||
totalConsumption: 10000,
|
||||
date: '10/08/2024',
|
||||
),
|
||||
EnergyConsumptionPage(
|
||||
chartData: [
|
||||
EnergyData('12:00 AM', 4.0),
|
||||
EnergyData('01:00 AM', 6.5),
|
||||
EnergyData('02:00 AM', 3.8),
|
||||
EnergyData('03:00 AM', 3.2),
|
||||
EnergyData('04:00 AM', 6.0),
|
||||
EnergyData('05:00 AM', 3.4),
|
||||
EnergyData('06:00 AM', 5.2),
|
||||
EnergyData('07:00 AM', 3.5),
|
||||
EnergyData('08:00 AM', 3.8),
|
||||
EnergyData('09:00 AM', 5.6),
|
||||
EnergyData('10:00 AM', 6.9),
|
||||
EnergyData('10:00 AM', 3.9),
|
||||
EnergyData('11:00 AM', 6.0),
|
||||
],
|
||||
totalConsumption: 10000,
|
||||
date: '10/08/2024',
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
@ -50,6 +50,22 @@ class DevicesManagementApi {
|
||||
}
|
||||
}
|
||||
|
||||
Future getPowerClampInfo(String deviceId) async {
|
||||
try {
|
||||
final response = await HTTPService().get(
|
||||
path: ApiEndpoints.powerClamp.replaceAll('{powerClampUuid}', deviceId),
|
||||
showServerMessage: true,
|
||||
expectedResponseModel: (json) {
|
||||
return json;
|
||||
},
|
||||
);
|
||||
return response;
|
||||
} catch (e) {
|
||||
debugPrint('Error fetching $e');
|
||||
return {};
|
||||
}
|
||||
}
|
||||
|
||||
//deviceControl
|
||||
Future<bool> deviceControl(String uuid, Status status) async {
|
||||
try {
|
||||
@ -68,7 +84,8 @@ class DevicesManagementApi {
|
||||
}
|
||||
}
|
||||
|
||||
Future<bool> deviceBatchControl(List<String> uuids, String code, dynamic value) async {
|
||||
Future<bool> deviceBatchControl(
|
||||
List<String> uuids, String code, dynamic value) async {
|
||||
try {
|
||||
final body = {
|
||||
'devicesUuid': uuids,
|
||||
@ -92,7 +109,8 @@ class DevicesManagementApi {
|
||||
}
|
||||
}
|
||||
|
||||
static Future<List<DeviceModel>> getDevicesByGatewayId(String gatewayId) async {
|
||||
static Future<List<DeviceModel>> getDevicesByGatewayId(
|
||||
String gatewayId) async {
|
||||
final response = await HTTPService().get(
|
||||
path: ApiEndpoints.gatewayApi.replaceAll('{gatewayUuid}', gatewayId),
|
||||
showServerMessage: false,
|
||||
@ -126,7 +144,9 @@ class DevicesManagementApi {
|
||||
String code,
|
||||
) async {
|
||||
final response = await HTTPService().get(
|
||||
path: ApiEndpoints.getDeviceLogs.replaceAll('{uuid}', uuid).replaceAll('{code}', code),
|
||||
path: ApiEndpoints.getDeviceLogs
|
||||
.replaceAll('{uuid}', uuid)
|
||||
.replaceAll('{code}', code),
|
||||
showServerMessage: false,
|
||||
expectedResponseModel: (json) {
|
||||
return DeviceReport.fromJson(json);
|
||||
@ -135,7 +155,8 @@ class DevicesManagementApi {
|
||||
return response;
|
||||
}
|
||||
|
||||
static Future<DeviceReport> getDeviceReportsByDate(String uuid, String code, [String? from, String? to]) async {
|
||||
static Future<DeviceReport> getDeviceReportsByDate(String uuid, String code,
|
||||
[String? from, String? to]) async {
|
||||
final response = await HTTPService().get(
|
||||
path: ApiEndpoints.getDeviceLogsByDate
|
||||
.replaceAll('{uuid}', uuid)
|
||||
@ -174,7 +195,8 @@ class DevicesManagementApi {
|
||||
}
|
||||
}
|
||||
|
||||
Future<bool> addScheduleRecord(ScheduleEntry sendSchedule, String uuid) async {
|
||||
Future<bool> addScheduleRecord(
|
||||
ScheduleEntry sendSchedule, String uuid) async {
|
||||
try {
|
||||
final response = await HTTPService().post(
|
||||
path: ApiEndpoints.scheduleByDeviceId.replaceAll('{deviceUuid}', uuid),
|
||||
@ -191,10 +213,13 @@ class DevicesManagementApi {
|
||||
}
|
||||
}
|
||||
|
||||
Future<List<ScheduleModel>> getDeviceSchedules(String uuid, String category) async {
|
||||
Future<List<ScheduleModel>> getDeviceSchedules(
|
||||
String uuid, String category) async {
|
||||
try {
|
||||
final response = await HTTPService().get(
|
||||
path: ApiEndpoints.getScheduleByDeviceId.replaceAll('{deviceUuid}', uuid).replaceAll('{category}', category),
|
||||
path: ApiEndpoints.getScheduleByDeviceId
|
||||
.replaceAll('{deviceUuid}', uuid)
|
||||
.replaceAll('{category}', category),
|
||||
showServerMessage: true,
|
||||
expectedResponseModel: (json) {
|
||||
List<ScheduleModel> schedules = [];
|
||||
@ -211,7 +236,10 @@ class DevicesManagementApi {
|
||||
}
|
||||
}
|
||||
|
||||
Future<bool> updateScheduleRecord({required bool enable, required String uuid, required String scheduleId}) async {
|
||||
Future<bool> updateScheduleRecord(
|
||||
{required bool enable,
|
||||
required String uuid,
|
||||
required String scheduleId}) async {
|
||||
try {
|
||||
final response = await HTTPService().put(
|
||||
path: ApiEndpoints.updateScheduleByDeviceId
|
||||
@ -232,7 +260,8 @@ class DevicesManagementApi {
|
||||
}
|
||||
}
|
||||
|
||||
Future<bool> editScheduleRecord(String uuid, ScheduleEntry newSchedule) async {
|
||||
Future<bool> editScheduleRecord(
|
||||
String uuid, ScheduleEntry newSchedule) async {
|
||||
try {
|
||||
final response = await HTTPService().put(
|
||||
path: ApiEndpoints.scheduleByDeviceId.replaceAll('{deviceUuid}', uuid),
|
||||
|
@ -47,5 +47,7 @@ abstract class ApiEndpoints {
|
||||
static const String updateScheduleByDeviceId =
|
||||
'/schedule/enable/{deviceUuid}';
|
||||
|
||||
static const String factoryReset = '/device/factory/reset/{deviceUuid}';
|
||||
static const String factoryReset = '/device/factory/reset/{deviceUuid}';
|
||||
static const String powerClamp =
|
||||
'/device/{powerClampUuid}/power-clamp/status';
|
||||
}
|
||||
|
@ -168,4 +168,13 @@ class Assets {
|
||||
|
||||
//assets/icons/2gang.svg
|
||||
static const String twoGang = 'assets/icons/2gang.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 voltageIcon = "assets/icons/voltage_icon.svg";
|
||||
static const String speedoMeter = "assets/icons/speedo_meter.svg";
|
||||
}
|
||||
|
Reference in New Issue
Block a user