TF-599 Apply new icon for mailbox

This commit is contained in:
dab246
2022-05-31 13:58:06 +07:00
committed by Dat H. Pham
parent 897fa1d8c9
commit 769d365387
16 changed files with 292 additions and 159 deletions
+2 -2
View File
@@ -1,3 +1,3 @@
<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3.27502 10.5599H23.9405V9.86831C23.9405 7.99377 22.9759 7.04739 21.0832 7.04739H12.3475C11.7287 7.04739 11.3556 6.9018 10.9006 6.51051L10.3455 6.05552C9.74493 5.54594 9.28085 5.38214 8.37997 5.38214H5.78655C4.1941 5.38214 3.27502 6.29212 3.27502 8.12116V10.5599ZM3.27502 19.2137C3.27502 21.0974 4.23049 22.0347 6.13234 22.0347H21.3562C22.985 22.0347 23.9405 21.0883 23.9405 19.2137V11.752H3.27502V19.2137Z" fill="#007AFF"/>
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.53764 2.89703C7.36955 2.85667 7.19874 2.85713 7.06309 2.85749L7.02663 2.85756L5.54195 2.85756C4.96697 2.85755 4.49242 2.85754 4.10586 2.88913C3.70436 2.92193 3.33529 2.99233 2.98862 3.16897C2.45101 3.44289 2.01392 3.87998 1.74 4.41759C1.56336 4.76425 1.49296 5.13333 1.46016 5.53483C1.42857 5.92139 1.42858 6.39593 1.42859 6.9709V13.0299C1.42858 13.6049 1.42857 14.0794 1.46016 14.466C1.49296 14.8675 1.56336 15.2366 1.74 15.5832C2.01392 16.1209 2.45101 16.5579 2.98862 16.8319C3.33528 17.0085 3.70436 17.0789 4.10586 17.1117C4.49242 17.1433 4.96696 17.1433 5.54193 17.1433H14.4581C15.0331 17.1433 15.5076 17.1433 15.8942 17.1117C16.2957 17.0789 16.6648 17.0085 17.0114 16.8319C17.549 16.5579 17.9861 16.1209 18.26 15.5832C18.4367 15.2366 18.5071 14.8675 18.5399 14.466C18.5715 14.0794 18.5715 13.6049 18.5714 13.0299V8.75661C18.5715 8.18164 18.5715 7.7071 18.5399 7.32054C18.5071 6.91904 18.4367 6.54997 18.26 6.2033C17.9861 5.66569 17.549 5.22861 17.0114 4.95468C16.6648 4.77805 16.2957 4.70764 15.8942 4.67484C15.5076 4.64326 15.0331 4.64326 14.4581 4.64327L9.75912 4.64327C9.66555 4.64327 9.61885 4.6431 9.58492 4.64155L9.58236 4.64143L9.58047 4.6397C9.55538 4.61681 9.52224 4.58391 9.45607 4.51775L8.33983 3.4015L8.3141 3.37568C8.21843 3.2795 8.09797 3.1584 7.95058 3.06807C7.82276 2.98975 7.68341 2.93203 7.53764 2.89703ZM7.02663 4.28613C7.1202 4.28613 7.1669 4.2863 7.20083 4.28785L7.20339 4.28797L7.20528 4.2897C7.23037 4.31259 7.26351 4.34549 7.32968 4.41166L8.44592 5.5279L8.47165 5.55373C8.56732 5.6499 8.68778 5.77101 8.83517 5.86133C8.96299 5.93966 9.10234 5.99738 9.24811 6.03237C9.4162 6.07273 9.58701 6.07227 9.72266 6.07191L9.75912 6.07184H14.4286C15.0404 6.07184 15.4564 6.0724 15.7778 6.09867C16.091 6.12425 16.2511 6.17063 16.3629 6.22755C16.6317 6.36451 16.8502 6.58306 16.9872 6.85186C17.0441 6.96357 17.0905 7.12372 17.1161 7.43687C17.1262 7.56106 17.1325 7.69934 17.1364 7.85755H2.85716V7.00042C2.85716 6.38857 2.85772 5.97265 2.88398 5.65116C2.90957 5.338 2.95594 5.17786 3.01287 5.06614C3.14983 4.79734 3.36837 4.5788 3.63717 4.44183C3.74889 4.38491 3.90903 4.33854 4.22219 4.31295C4.54368 4.28669 4.9596 4.28613 5.57145 4.28613H7.02663ZM2.85716 9.28612V13.0004C2.85716 13.6123 2.85772 14.0282 2.88398 14.3497C2.90957 14.6628 2.95594 14.823 3.01287 14.9347C3.14983 15.2035 3.36837 15.422 3.63717 15.559C3.74889 15.6159 3.90903 15.6623 4.22219 15.6879C4.54368 15.7141 4.9596 15.7147 5.57145 15.7147H14.4286C15.0404 15.7147 15.4564 15.7141 15.7778 15.6879C16.091 15.6623 16.2511 15.6159 16.3629 15.559C16.6317 15.422 16.8502 15.2035 16.9872 14.9347C17.0441 14.823 17.0905 14.6628 17.1161 14.3497C17.1423 14.0282 17.1429 13.6123 17.1429 13.0004V9.28612H2.85716Z" fill="#007AFF"/>
</svg>

Before

Width:  |  Height:  |  Size: 537 B

After

Width:  |  Height:  |  Size: 2.8 KiB

+2 -3
View File
@@ -1,4 +1,3 @@
<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6.80002 5.59961C6.1635 5.59961 5.55306 5.85247 5.10297 6.30255C4.65288 6.75264 4.40002 7.36309 4.40002 7.99961C4.40002 8.63613 4.65288 9.24658 5.10297 9.69667C5.55306 10.1468 6.1635 10.3996 6.80002 10.3996H21.2C21.8365 10.3996 22.447 10.1468 22.8971 9.69667C23.3472 9.24658 23.6 8.63613 23.6 7.99961C23.6 7.36309 23.3472 6.75264 22.8971 6.30255C22.447 5.85247 21.8365 5.59961 21.2 5.59961H6.80002Z" fill="#007AFF"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.59998 11.5996H22.4V19.9996C22.4 20.6361 22.1471 21.2466 21.697 21.6967C21.2469 22.1468 20.6365 22.3996 20 22.3996H7.99998C7.36346 22.3996 6.75301 22.1468 6.30292 21.6967C5.85283 21.2466 5.59998 20.6361 5.59998 19.9996V11.5996ZM11.6 15.1996C11.6 14.8814 11.7264 14.5761 11.9514 14.3511C12.1765 14.126 12.4817 13.9996 12.8 13.9996H15.2C15.5182 13.9996 15.8235 14.126 16.0485 14.3511C16.2735 14.5761 16.4 14.8814 16.4 15.1996C16.4 15.5179 16.2735 15.8231 16.0485 16.0481C15.8235 16.2732 15.5182 16.3996 15.2 16.3996H12.8C12.4817 16.3996 12.1765 16.2732 11.9514 16.0481C11.7264 15.8231 11.6 15.5179 11.6 15.1996Z" fill="#007AFF"/>
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M15.3572 2.85742C16.7379 2.85742 17.8572 3.97671 17.8572 5.35742V6.78599C17.8572 7.37773 17.3775 7.85742 16.7857 7.85742H16.4286V14.286C16.4286 15.8639 15.1494 17.1431 13.5715 17.1431H6.4286C4.85064 17.1431 3.57145 15.8639 3.57145 14.286V7.85742H3.21431C2.62258 7.85742 2.14288 7.37773 2.14288 6.78599V5.35742C2.14288 3.97671 3.26217 2.85742 4.64288 2.85742H15.3572ZM15 7.85742H5.00003V14.286C5.00003 15.075 5.63962 15.7146 6.4286 15.7146H13.5715C14.3604 15.7146 15 15.075 15 14.286V7.85742ZM12.1429 9.64314C12.5374 9.64314 12.8572 9.96293 12.8572 10.3574C12.8572 10.7519 12.5374 11.0717 12.1429 11.0717H7.85717C7.46268 11.0717 7.14288 10.7519 7.14288 10.3574C7.14288 9.96293 7.46268 9.64314 7.85717 9.64314H12.1429ZM15.3572 4.28599H4.64288C4.05115 4.28599 3.57145 4.76569 3.57145 5.35742V6.42885H16.4286V5.35742C16.4286 4.76569 15.9489 4.28599 15.3572 4.28599Z" fill="#007AFF"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 992 B

+2 -2
View File
@@ -1,3 +1,3 @@
<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M16.4808 4.0965C16.7777 4.16494 17.0405 4.27379 17.2989 4.4354C17.5573 4.597 17.7666 4.76664 18.3144 5.31438L21.6856 8.68562C22.2334 9.23336 22.403 9.44267 22.5646 9.70107C22.7262 9.95947 22.8351 10.2223 22.9035 10.5192C22.972 10.8162 23 11.0842 23 11.8588V19.1542C23 20.4915 22.8608 20.9764 22.5993 21.4653C22.3378 21.9542 21.9542 22.3378 21.4653 22.5993C20.9764 22.8608 20.4915 23 19.1542 23H9.84583C8.50855 23 8.02362 22.8608 7.53473 22.5993C7.04584 22.3378 6.66216 21.9542 6.4007 21.4653C6.13924 20.9764 6 20.4915 6 19.1542V7.84583C6 6.50855 6.13924 6.02362 6.4007 5.53473C6.66216 5.04584 7.04584 4.66216 7.53473 4.4007C8.02362 4.13924 8.50855 4 9.84583 4H15.1412C15.9158 4 16.1838 4.02805 16.4808 4.0965ZM15.8 5.92427C15.6343 5.92427 15.5 6.05858 15.5 6.22427V10C15.5 10.2762 15.7239 10.5 16 10.5H19.7757C19.8553 10.5 19.9316 10.4684 19.9879 10.4122C20.105 10.295 20.105 10.105 19.9879 9.98789L16.0121 6.01213C15.9559 5.95587 15.8796 5.92427 15.8 5.92427Z" fill="#007AFF"/>
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10.8609 1.51491C11.1504 1.58161 11.4118 1.68992 11.6637 1.84741C11.9179 2.00639 12.1129 2.1734 12.5153 2.57579L15.9948 6.05524C16.3972 6.45763 16.5642 6.65269 16.7232 6.9069C16.8806 7.15872 16.989 7.42021 17.0557 7.70963C17.123 8.0018 17.1428 8.25782 17.1428 8.82689V13.7358C17.1428 15.1499 17.0104 15.8359 16.6291 16.5488C16.2824 17.1971 15.7693 17.7101 15.121 18.0569C14.4081 18.4381 13.7222 18.5706 12.308 18.5706H7.69193C6.27779 18.5706 5.59182 18.4381 4.8789 18.0569C4.23061 17.7101 3.71756 17.1971 3.37086 16.5488C2.98958 15.8359 2.85712 15.1499 2.85712 13.7358V5.76056C2.85712 4.8428 3.02261 4.10068 3.37086 3.44952C3.71756 2.80123 4.23061 2.28818 4.8789 1.94147C5.53006 1.59323 6.27218 1.42773 7.18994 1.42773H9.74368C10.3127 1.42773 10.5688 1.44757 10.8609 1.51491ZM9.87579 2.85669L7.18994 2.85631C6.49589 2.85631 5.98413 2.97043 5.55261 3.20121C5.15328 3.41477 4.84415 3.7239 4.63059 4.12323C4.39981 4.55474 4.28569 5.06651 4.28569 5.76056V13.7358C4.28569 14.9343 4.37513 15.3974 4.63059 15.8751C4.84415 16.2744 5.15328 16.5836 5.55261 16.7971C6.03028 17.0526 6.49345 17.142 7.69193 17.142H12.308C13.5065 17.142 13.9697 17.0526 14.4473 16.7971C14.8467 16.5836 15.1558 16.2744 15.3694 15.8751C15.6248 15.3974 15.7143 14.9343 15.7143 13.7358V8.82689C15.7143 8.72881 15.7137 8.64424 15.7125 8.57028L11.7857 8.57059C10.7995 8.57059 9.99997 7.7711 9.99997 6.78488L10.001 2.85806C9.96234 2.85743 9.92073 2.85698 9.87579 2.85669ZM11.5052 3.58594L11.4285 3.50988V6.78488C11.4285 6.96021 11.5549 7.10603 11.7215 7.13627L11.7857 7.14202L15.0624 7.14349C15.0379 7.1188 15.012 7.09282 14.9846 7.0654L11.5052 3.58594Z" fill="#007AFF"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

+2 -2
View File
@@ -1,3 +1,3 @@
<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.0011 14.3525L4.00488 9.355C4.04189 8.71805 4.32102 8.11936 4.7851 7.68153C5.24919 7.24371 5.86311 6.99988 6.50113 7H21.5011C22.1392 6.99988 22.7531 7.24371 23.2172 7.68153C23.6812 8.11936 23.9604 8.71805 23.9974 9.355L14.0011 14.3525ZM14 17.1476L24 12.1476V19.5001C24 20.1631 23.7366 20.799 23.2678 21.2678C22.7989 21.7367 22.163 22.0001 21.5 22.0001H6.5C5.83696 22.0001 5.20107 21.7367 4.73223 21.2678C4.26339 20.799 4 20.1631 4 19.5001V12.1476L14 17.1476Z" fill="#007AFF"/>
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M14.1532 2.85742C15.0137 2.85742 15.4418 2.9257 15.9025 3.1294C16.3339 3.32013 16.6947 3.6096 16.9745 3.98933C17.2733 4.39487 17.4328 4.79797 17.6195 5.63791L18.5544 9.84533L18.5714 10.0003V12.7662C18.5714 14.0352 18.4513 14.6573 18.1054 15.3041C17.7898 15.8941 17.3225 16.3615 16.7324 16.6771C16.0856 17.023 15.4635 17.1431 14.1945 17.1431H5.80557C4.53657 17.1431 3.91444 17.023 3.26767 16.6771C2.67758 16.3615 2.21021 15.8941 1.89463 15.3041C1.54873 14.6573 1.42859 14.0352 1.42859 12.7662V10.0003L1.4456 9.84533L2.38058 5.63791C2.56723 4.79797 2.72676 4.39487 3.02554 3.98933C3.30531 3.6096 3.66617 3.32013 4.09755 3.1294C4.55824 2.9257 4.98635 2.85742 5.84678 2.85742H14.1532ZM2.85716 12.7662C2.85716 13.8195 2.93427 14.2188 3.15436 14.6303C3.3368 14.9715 3.60025 15.2349 3.94138 15.4174C4.3529 15.6375 4.75223 15.7146 5.80557 15.7146H14.1945C15.2478 15.7146 15.6471 15.6375 16.0587 15.4174C16.3998 15.2349 16.6632 14.9715 16.8457 14.6303C17.0658 14.2188 17.1429 13.8195 17.1429 12.7662V10.7146H13.5C13.1691 12.3447 11.7278 13.5717 10 13.5717C8.27219 13.5717 6.83094 12.3447 6.50003 10.7146H2.85716V12.7662ZM14.3022 4.28669L5.84678 4.28599C5.16851 4.28599 4.92744 4.32444 4.67524 4.43595C4.4714 4.52608 4.30786 4.65726 4.17566 4.8367C4.0121 5.0587 3.92227 5.28569 3.77513 5.94781L3.03287 9.28599H7.14287C7.50919 9.28599 7.81109 9.56174 7.85235 9.91698L7.85716 10.0003C7.85716 11.1837 8.81655 12.1431 10 12.1431C11.1835 12.1431 12.1429 11.1837 12.1429 10.0003C12.1429 9.60579 12.4627 9.28599 12.8572 9.28599H16.9664L16.2249 5.94781C16.0778 5.28569 15.9879 5.0587 15.8244 4.8367C15.6922 4.65726 15.5286 4.52608 15.3248 4.43595C15.092 4.33302 14.8687 4.29234 14.3022 4.28669Z" fill="#007AFF"/>
</svg>

Before

Width:  |  Height:  |  Size: 632 B

After

Width:  |  Height:  |  Size: 1.8 KiB

+2 -2
View File
@@ -1,3 +1,3 @@
<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7.73868 17.7541C7.05303 19.609 6.62218 20.9122 6.44611 21.6638C5.89277 24.026 5.49042 24.5581 7.55279 23.4355C9.61516 22.3129 19.5994 16.7519 21.8269 15.516C24.7306 13.905 24.7694 14.0309 21.6711 12.3204C19.3114 11.0176 9.4442 5.60166 7.55279 4.53825C5.66138 3.47483 5.89277 3.94771 6.44611 6.30986C6.62446 7.07122 7.06157 8.38609 7.75745 10.2545C8.24415 11.5612 9.37624 12.5202 10.7452 12.7854L16.5097 13.9019C16.5639 13.9128 16.599 13.9655 16.5882 14.0196C16.5802 14.0592 16.5493 14.0901 16.5097 14.0981L10.7322 15.2136C9.3588 15.4788 8.22367 16.4421 7.73868 17.7541Z" fill="#007AFF"/>
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.14236 8.11492C3.67363 6.91584 3.34508 5.9886 3.19939 5.39593C3.0197 4.66496 2.71772 3.85561 3.01933 3.1186C3.20261 2.67073 3.58836 2.30966 4.1061 2.18604C4.78469 2.02402 5.42551 2.34477 6.00789 2.65679C7.27792 3.33725 13.9194 6.81105 15.5227 7.65453C16.459 8.14712 17.8063 8.67458 17.8559 9.91289C17.9038 11.1111 16.7444 11.6499 15.8445 12.1232C12.5565 13.8528 9.28892 15.6217 5.99102 17.3323C5.39149 17.6433 4.73124 17.9819 4.037 17.8064C3.46878 17.6627 3.08862 17.2409 2.93796 16.7713C2.8045 16.3553 2.86147 15.9272 2.961 15.5122C3.25685 14.2787 3.66993 13.0728 4.12835 11.8912C4.43516 11.1004 4.9799 10.4469 5.66464 9.99495C4.98752 9.54509 4.44832 8.89759 4.14236 8.11492ZM8.726 9.46463C9.45782 9.61209 9.82724 9.69159 9.90479 9.81895C9.97461 9.93364 9.97413 10.0782 9.90353 10.1925C9.82132 10.3255 9.41852 10.4037 8.61291 10.5601C8.05745 10.668 7.60152 10.756 7.46124 10.7818C6.54504 10.9504 5.78653 11.5668 5.46019 12.4079C5.06991 13.4139 4.72372 14.4194 4.44862 15.4621C4.17078 16.5153 4.12434 16.6913 5.33323 16.0642C8.67163 14.3326 11.9812 12.5451 15.3079 10.7911C16.048 10.4008 16.4266 10.1915 16.4286 9.97881C16.4305 9.76808 16.0628 9.55402 15.3111 9.15728C11.9887 7.40365 8.6447 5.69022 5.33323 3.91602C4.1436 3.27864 4.1988 3.49977 4.51425 4.76331C4.75621 5.73251 5.10945 6.66509 5.47288 7.5948C5.80036 8.43252 6.55682 9.04606 7.47005 9.21463C7.88984 9.29212 8.30756 9.38031 8.726 9.46463Z" fill="#007AFF"/>
</svg>

Before

Width:  |  Height:  |  Size: 701 B

After

Width:  |  Height:  |  Size: 1.5 KiB

+2 -2
View File
@@ -1,3 +1,3 @@
<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M23.6 13.4004C23.6 13.8778 23.4103 14.3356 23.0727 14.6732C22.7352 15.0107 22.2773 15.2004 21.8 15.2004C21.3226 15.2004 20.8647 15.0107 20.5272 14.6732C20.1896 14.3356 20 13.8778 20 13.4004V6.20039C20 5.723 20.1896 5.26516 20.5272 4.9276C20.8647 4.59003 21.3226 4.40039 21.8 4.40039C22.2773 4.40039 22.7352 4.59003 23.0727 4.9276C23.4103 5.26516 23.6 5.723 23.6 6.20039V13.4004ZM18.8 13.6008V7.08479C18.8003 6.63892 18.6764 6.20178 18.4422 5.82238C18.208 5.44297 17.8727 5.13632 17.474 4.93679L17.414 4.90679C16.747 4.57345 16.0116 4.40007 15.266 4.40039H8.76795C8.21292 4.40017 7.67497 4.59233 7.24569 4.94416C6.81641 5.29598 6.52234 5.78572 6.41355 6.32999L4.97355 13.53C4.90394 13.8782 4.91249 14.2376 4.99858 14.5822C5.08467 14.9267 5.24615 15.2479 5.47137 15.5224C5.6966 15.797 5.97996 16.0182 6.30101 16.17C6.62206 16.3219 6.97281 16.4005 7.32795 16.4004H11.6V21.2004C11.6 21.8369 11.8528 22.4474 12.3029 22.8974C12.753 23.3475 13.3634 23.6004 14 23.6004C14.3182 23.6004 14.6234 23.474 14.8485 23.2489C15.0735 23.0239 15.2 22.7186 15.2 22.4004V21.6C15.2 20.5614 15.5368 19.5509 16.16 18.72L17.84 16.4808C18.4631 15.6499 18.8 14.6394 18.8 13.6008Z" fill="#007AFF"/>
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M13.7142 11.4448L12.8902 12.104C12.824 12.1569 12.7782 12.2311 12.7604 12.314L11.8212 16.6956C11.5148 18.1247 9.99864 18.9368 8.63927 18.3998C7.7362 18.0431 7.14284 17.1708 7.14284 16.1998L7.14284 13.5729L6.7857 13.5729C5.22654 13.5729 3.86686 13.1326 2.89492 12.1877C1.91956 11.2394 1.42855 9.87423 1.42855 8.21572L1.42855 7.50144C1.42855 5.84293 1.91956 4.47775 2.89493 3.52949C3.86687 2.58455 5.22655 2.14432 6.7857 2.14432L13.7014 2.14432C13.9129 1.89657 14.1828 1.70066 14.491 1.57682C14.7088 1.48931 14.9273 1.45776 15.1421 1.44351C15.3453 1.43001 15.5901 1.43002 15.8709 1.43002L15.9147 1.43002C16.1955 1.43002 16.4404 1.43001 16.6436 1.44351C16.8583 1.45776 17.0769 1.48931 17.2947 1.57682C17.8096 1.78372 18.2177 2.19183 18.4246 2.70671C18.5121 2.92451 18.5437 3.1431 18.5579 3.35781C18.5714 3.56107 18.5714 3.8059 18.5714 4.08668L18.5714 9.4876C18.5714 9.76838 18.5714 10.0133 18.5579 10.2165C18.5437 10.4312 18.5121 10.6498 18.4246 10.8676C18.2177 11.3825 17.8096 11.7906 17.2947 11.9975C17.0769 12.085 16.8583 12.1166 16.6436 12.1308C16.4403 12.1443 16.1955 12.1443 15.9147 12.1443L15.871 12.1443C15.5902 12.1443 15.3453 12.1443 15.1421 12.1308C14.9273 12.1166 14.7087 12.085 14.491 11.9975C14.1889 11.8762 13.9237 11.6856 13.7142 11.4448ZM10.4243 16.3962C10.303 16.9622 9.70249 17.2838 9.16409 17.0711C8.80642 16.9299 8.57141 16.5844 8.57141 16.1998L8.57141 12.8586C8.57141 12.4641 8.25161 12.1443 7.85712 12.1443L6.7857 12.1443C5.4877 12.1443 4.52596 11.781 3.89075 11.1634C3.25897 10.5492 2.85712 9.59293 2.85712 8.21572L2.85712 7.50144C2.85712 6.12423 3.25897 5.16799 3.89075 4.55377C4.52595 3.93621 5.4877 3.57289 6.7857 3.57289L13.2183 3.57289C13.2143 3.72694 13.2143 3.89878 13.2143 4.08673L13.2143 9.4876C13.2143 9.67979 13.2143 9.85514 13.2186 10.0118L11.9978 10.9884C11.6744 11.2471 11.4504 11.6096 11.3636 12.0146L10.4243 16.3962ZM16.7621 10.672C16.7427 10.6797 16.693 10.6958 16.549 10.7054C16.3987 10.7154 16.2018 10.7157 15.8928 10.7157C15.5839 10.7157 15.3869 10.7154 15.2367 10.7054C15.0927 10.6958 15.0429 10.6797 15.0236 10.672C14.87 10.6103 14.7483 10.4885 14.6866 10.335C14.6788 10.3156 14.6627 10.2659 14.6532 10.1219C14.6432 9.97165 14.6428 9.77472 14.6428 9.46574L14.6428 4.1086C14.6428 3.79962 14.6432 3.60269 14.6532 3.45246C14.6627 3.30842 14.6788 3.2587 14.6866 3.23936C14.7483 3.0858 14.87 2.96408 15.0236 2.90238C15.0429 2.89461 15.0927 2.8785 15.2367 2.86894C15.3869 2.85896 15.5839 2.8586 15.8928 2.8586C16.2018 2.8586 16.3987 2.85896 16.549 2.86894C16.693 2.8785 16.7427 2.89461 16.7621 2.90238C16.9156 2.96408 17.0374 3.0858 17.0991 3.23936C17.1068 3.2587 17.1229 3.30842 17.1325 3.45246C17.1425 3.60269 17.1428 3.79962 17.1428 4.1086L17.1428 9.46574C17.1428 9.77472 17.1425 9.97165 17.1325 10.1219C17.1229 10.2659 17.1068 10.3156 17.0991 10.335C17.0374 10.4885 16.9156 10.6103 16.7621 10.672Z" fill="#007AFF"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

+4 -2
View File
@@ -1,3 +1,5 @@
<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.8 4.40039C12.5772 4.40051 12.3588 4.46265 12.1693 4.57985C11.9799 4.69706 11.8268 4.86469 11.7272 5.06399L10.8584 6.80039H6.79998C6.48172 6.80039 6.17649 6.92682 5.95145 7.15186C5.7264 7.37691 5.59998 7.68213 5.59998 8.00039C5.59998 8.31865 5.7264 8.62387 5.95145 8.84892C6.17649 9.07396 6.48172 9.20039 6.79998 9.20039V21.2004C6.79998 21.8369 7.05283 22.4474 7.50292 22.8974C7.95301 23.3475 8.56346 23.6004 9.19998 23.6004H18.8C19.4365 23.6004 20.0469 23.3475 20.497 22.8974C20.9471 22.4474 21.2 21.8369 21.2 21.2004V9.20039C21.5182 9.20039 21.8235 9.07396 22.0485 8.84892C22.2735 8.62387 22.4 8.31865 22.4 8.00039C22.4 7.68213 22.2735 7.37691 22.0485 7.15186C21.8235 6.92682 21.5182 6.80039 21.2 6.80039H17.1416L16.2728 5.06399C16.1732 4.86469 16.0201 4.69706 15.8306 4.57985C15.6411 4.46265 15.4228 4.40051 15.2 4.40039H12.8ZM10.4 11.6004C10.4 11.2821 10.5264 10.9769 10.7514 10.7519C10.9765 10.5268 11.2817 10.4004 11.6 10.4004C11.9182 10.4004 12.2235 10.5268 12.4485 10.7519C12.6735 10.9769 12.8 11.2821 12.8 11.6004V18.8004C12.8 19.1186 12.6735 19.4239 12.4485 19.6489C12.2235 19.874 11.9182 20.0004 11.6 20.0004C11.2817 20.0004 10.9765 19.874 10.7514 19.6489C10.5264 19.4239 10.4 19.1186 10.4 18.8004V11.6004ZM16.4 10.4004C16.0817 10.4004 15.7765 10.5268 15.5514 10.7519C15.3264 10.9769 15.2 11.2821 15.2 11.6004V18.8004C15.2 19.1186 15.3264 19.4239 15.5514 19.6489C15.7765 19.874 16.0817 20.0004 16.4 20.0004C16.7182 20.0004 17.0235 19.874 17.2485 19.6489C17.4735 19.4239 17.6 19.1186 17.6 18.8004V11.6004C17.6 11.2821 17.4735 10.9769 17.2485 10.7519C17.0235 10.5268 16.7182 10.4004 16.4 10.4004Z" fill="#007AFF"/>
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.81751 6.78765C7.42363 6.80953 7.12207 7.14658 7.14395 7.54046L7.50109 13.969C7.52297 14.3629 7.86002 14.6645 8.2539 14.6426C8.64778 14.6207 8.94935 14.2837 8.92746 13.8898L8.57032 7.46122C8.54844 7.06733 8.21139 6.76577 7.81751 6.78765Z" fill="#007AFF"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.1825 6.78765C12.5764 6.80953 12.8779 7.14658 12.856 7.54046L12.4989 13.969C12.477 14.3629 12.14 14.6645 11.7461 14.6426C11.3522 14.6207 11.0506 14.2837 11.0725 13.8898L11.4297 7.46122C11.4515 7.06733 11.7886 6.76577 12.1825 6.78765Z" fill="#007AFF"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.49999 3.57227C2.1055 3.57227 1.78571 3.89206 1.78571 4.28655C1.78571 4.68104 2.1055 5.00084 2.49999 5.00084H3.28291L4.20971 14.1598C4.26245 14.6811 4.30614 15.113 4.36965 15.4644C4.43586 15.8307 4.53213 16.1644 4.71865 16.4743C5.00953 16.9575 5.43694 17.3439 5.94703 17.5846C6.2741 17.739 6.61585 17.8012 6.98695 17.8302C7.34297 17.858 7.77709 17.858 8.30098 17.858H11.699C12.2229 17.858 12.657 17.858 13.013 17.8302C13.3841 17.8012 13.7259 17.739 14.053 17.5846C14.563 17.3439 14.9905 16.9575 15.2813 16.4743C15.4678 16.1644 15.5641 15.8307 15.6303 15.4644C15.6938 15.113 15.7375 14.6811 15.7903 14.1599L16.7171 5.00084H17.5C17.8945 5.00084 18.2143 4.68104 18.2143 4.28655C18.2143 3.89206 17.8945 3.57227 17.5 3.57227H13.1346C12.8098 2.14085 11.5297 1.07227 9.99999 1.07227C8.47029 1.07227 7.19016 2.14085 6.86535 3.57227H2.49999ZM5.62823 13.9884C5.68447 14.5442 5.72304 14.9203 5.77545 15.2103C5.82629 15.4916 5.88142 15.6359 5.9426 15.7376C6.08804 15.9792 6.30175 16.1724 6.55679 16.2927C6.66407 16.3434 6.81323 16.3837 7.09821 16.406C7.392 16.4289 7.77008 16.4294 8.32872 16.4294H11.6713C12.2299 16.4294 12.608 16.4289 12.9018 16.406C13.1867 16.3837 13.3359 16.3434 13.4432 16.2927C13.6982 16.1724 13.9119 15.9792 14.0574 15.7376C14.1186 15.6359 14.1737 15.4916 14.2245 15.2103C14.2769 14.9203 14.3155 14.5442 14.3718 13.9884L15.2812 5.00084H4.71878L5.62823 13.9884ZM9.99999 2.50084C9.26773 2.50084 8.63842 2.94159 8.36286 3.57227H11.6371C11.3616 2.94159 10.7322 2.50084 9.99999 2.50084Z" fill="#007AFF"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

@@ -114,7 +114,7 @@ extension AppColor on Color {
static const colorFocusButton = Color(0x14818C99);
static const colorBorderEmailAddressInvalid = Color(0xFFFF3347);
static const colorBorderIdentityInfo = Color(0xFFE7E8EC);
static const colorBgMailboxSelected = Color(0xFF99E4E8EC);
static const colorBgMailboxSelected = Color(0x99E4E8EC);
static const colorLoading = Color(0x2999A2AD);
static const colorActionButtonHover = Color(0xFFA2AAB3);
static const colorBgMenuItemDropDownSelected = Color(0x80DEE2E7);
@@ -10,7 +10,7 @@ class ResponsiveUtils {
final int minTabletLargeWidth = 900;
final double defaultSizeDrawer = 320;
final double defaultSizeMenu = 262;
final double defaultSizeMenu = 256;
final double _loginTextFieldWidthSmallScreen = 280.0;
final double _loginTextFieldWidthLargeScreen = 320.0;
+3 -1
View File
@@ -1,4 +1,4 @@
import 'package:core/presentation/extensions/color_extension.dart';
import 'package:core/core.dart';
import 'package:flutter/material.dart';
class CommonTextStyle {
@@ -8,4 +8,6 @@ class CommonTextStyle {
fontStyle: FontStyle.normal,
fontWeight: FontWeight.normal,
);
static final defaultTextOverFlow = BuildUtils.isWeb ? null : TextOverflow.ellipsis;
}
@@ -12,6 +12,7 @@ Widget buildIconWeb({
EdgeInsets? iconPadding,
double? iconSize,
double? splashRadius,
double? minSize,
}) {
return Material(
color: Colors.transparent,
@@ -19,6 +20,7 @@ Widget buildIconWeb({
child: IconButton(
icon: icon,
iconSize: iconSize,
constraints: minSize != null ? BoxConstraints(minWidth: minSize, minHeight: minSize) : null,
padding: iconPadding ?? EdgeInsets.all(8.0),
splashRadius: splashRadius ?? 15,
tooltip: tooltip ?? '',
@@ -110,4 +110,14 @@ abstract class BaseMailboxController extends BaseController {
}
}).toList();
}
bool get defaultMailboxHasChild =>
defaultMailboxTree.value.root.childrenItems?.isNotEmpty ?? false;
bool get folderMailboxHasChild =>
folderMailboxTree.value.root.childrenItems?.isNotEmpty ?? false;
MailboxNode get defaultRootNode => defaultMailboxTree.value.root;
MailboxNode get folderRootNode => folderMailboxTree.value.root;
}
@@ -1,10 +1,10 @@
import 'package:core/core.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:get/get.dart';
import 'package:model/model.dart';
import 'package:package_info_plus/package_info_plus.dart';
import 'package:tmail_ui_user/features/base/mixin/app_loader_mixin.dart';
import 'package:tmail_ui_user/features/mailbox/presentation/mailbox_controller.dart';
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_categories.dart';
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_node.dart';
@@ -15,7 +15,7 @@ import 'package:tmail_ui_user/features/mailbox/presentation/widgets/user_informa
import 'package:tmail_ui_user/features/thread/presentation/widgets/search_app_bar_widget.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
class MailboxView extends GetWidget<MailboxController> {
class MailboxView extends GetWidget<MailboxController> with AppLoaderMixin {
final _imagePaths = Get.find<ImagePaths>();
final _responsiveUtils = Get.find<ResponsiveUtils>();
@@ -33,7 +33,7 @@ class MailboxView extends GetWidget<MailboxController> {
if (!_responsiveUtils.isDesktop(context)) _buildLogoApp(context),
if (!_responsiveUtils.isDesktop(context)) const Divider(color: AppColor.colorDividerMailbox, height: 0.5, thickness: 0.2),
Expanded(child: Container(
padding: EdgeInsets.zero,
padding: const EdgeInsets.only(left: 16),
color: _responsiveUtils.isDesktop(context) ? AppColor.colorBgDesktop : Colors.white,
child: Column(children: [
if (_responsiveUtils.isDesktop(context)) _buildComposerButton(context),
@@ -96,7 +96,7 @@ class MailboxView extends GetWidget<MailboxController> {
Widget _buildComposerButton(BuildContext context) {
return Container(
padding: const EdgeInsets.only(top: 16, right: 16, left: 16),
padding: const EdgeInsets.only(top: 16, right: 16),
color: AppColor.colorBgDesktop,
alignment: Alignment.centerLeft,
child: (ButtonBuilder(_imagePaths.icComposeWeb)
@@ -134,12 +134,7 @@ class MailboxView extends GetWidget<MailboxController> {
return Obx(() => controller.viewState.value.fold(
(failure) => const SizedBox.shrink(),
(success) => success is LoadingState
? const Center(child: Padding(
padding: EdgeInsets.only(top: 16),
child: SizedBox(
width: 24,
height: 24,
child: CupertinoActivityIndicator(color: AppColor.colorTextButton))))
? Padding(padding: const EdgeInsets.only(top: 16), child: loadingWidget)
: const SizedBox.shrink()));
}
@@ -149,9 +144,7 @@ class MailboxView extends GetWidget<MailboxController> {
key: const PageStorageKey('mailbox_list'),
primary: false,
shrinkWrap: true,
padding: EdgeInsets.only(
right: _responsiveUtils.isDesktop(context) ? 8 : 0,
left: _responsiveUtils.isDesktop(context) ? 20 : 0),
padding: const EdgeInsets.only(right: 16),
children: [
Obx(() {
if (controller.isSelectionEnabled() || _responsiveUtils.isDesktop(context)) {
@@ -160,18 +153,18 @@ class MailboxView extends GetWidget<MailboxController> {
return _buildUserInformation(context);
}),
_buildLoadingView(),
Obx(() => controller.defaultMailboxTree.value.root.childrenItems?.isNotEmpty ?? false
? _buildMailboxCategory(context, MailboxCategories.exchange, controller.defaultMailboxTree.value.root)
Obx(() => controller.defaultMailboxHasChild
? _buildMailboxCategory(context, MailboxCategories.exchange, controller.defaultRootNode)
: const SizedBox.shrink()),
const SizedBox(height: 8),
Obx(() => controller.folderMailboxTree.value.root.childrenItems?.isNotEmpty ?? false
Obx(() => controller.folderMailboxHasChild
? Column(children: const [
Divider(color: AppColor.colorDividerMailbox, height: 0.5, thickness: 0.2),
SizedBox(height: 8),
])
: const SizedBox.shrink()),
Obx(() => controller.folderMailboxTree.value.root.childrenItems?.isNotEmpty ?? false
? _buildMailboxCategory(context, MailboxCategories.folders, controller.folderMailboxTree.value.root)
Obx(() => controller.folderMailboxHasChild
? _buildMailboxCategory(context, MailboxCategories.folders, controller.folderRootNode)
: const SizedBox.shrink()),
const SizedBox(height: 8),
const Divider(color: AppColor.colorDividerMailbox, height: 0.5, thickness: 0.2),
@@ -204,33 +197,44 @@ class MailboxView extends GetWidget<MailboxController> {
Widget _buildHeaderMailboxCategory(BuildContext context, MailboxCategories categories) {
return Padding(
padding: EdgeInsets.only(left: _responsiveUtils.isDesktop(context) ? 12 : 16, right: _responsiveUtils.isDesktop(context) ? 4 : 12),
padding: const EdgeInsets.symmetric(vertical: 10),
child: Row(children: [
Expanded(child: Text(categories.getTitle(context),
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: const TextStyle(fontSize: 17, color: Colors.black, fontWeight: FontWeight.bold))),
buildIconWeb(
splashRadius: 12,
splashRadius: 5,
iconPadding: EdgeInsets.zero,
minSize: 12,
icon: SvgPicture.asset(
categories.getExpandMode(controller.mailboxCategoriesExpandMode.value) == ExpandMode.EXPAND
? _imagePaths.icExpandFolder
: _imagePaths.icCollapseFolder,
color: AppColor.primaryColor, fit: BoxFit.fill),
color: AppColor.primaryColor,
fit: BoxFit.fill),
tooltip: AppLocalizations.of(context).collapse,
onTap: () => controller.toggleMailboxCategories(categories))
onTap: () => controller.toggleMailboxCategories(categories)),
Expanded(child: Text(categories.getTitle(context),
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: const TextStyle(
fontSize: 17,
color: Colors.black,
fontWeight: FontWeight.bold))),
]));
}
Widget _buildBodyMailboxCategory(BuildContext context, MailboxCategories categories, MailboxNode mailboxNode) {
Widget _buildBodyMailboxCategory(BuildContext context,
MailboxCategories categories, MailboxNode mailboxNode) {
final lastNode = mailboxNode.childrenItems?.last;
return Container(
margin: EdgeInsets.zero,
padding: EdgeInsets.only(right: _responsiveUtils.isDesktop(context) ? 8 : 16, left: _responsiveUtils.isDesktop(context) ? 0 : 12),
padding: EdgeInsets.only(
right: _responsiveUtils.isDesktop(context) ? 0 : 16,
left: _responsiveUtils.isDesktop(context) ? 0 : 12),
child: TreeView(
key: Key('${categories.keyValue}_mailbox_list'),
children: _buildListChildTileWidget(context, mailboxNode, lastNode: lastNode)));
children: _buildListChildTileWidget(
context,
mailboxNode,
lastNode: lastNode)));
}
Widget _buildMailboxCategory(BuildContext context, MailboxCategories categories, MailboxNode mailboxNode) {
@@ -244,7 +248,8 @@ class MailboxView extends GetWidget<MailboxController> {
]);
}
List<Widget> _buildListChildTileWidget(BuildContext context, MailboxNode parentNode, {MailboxNode? lastNode}) {
List<Widget> _buildListChildTileWidget(BuildContext context,
MailboxNode parentNode, {MailboxNode? lastNode}) {
return parentNode.childrenItems
?.map((mailboxNode) => mailboxNode.hasChildren()
? TreeViewChild(
@@ -253,16 +258,25 @@ class MailboxView extends GetWidget<MailboxController> {
isExpanded: mailboxNode.expandMode == ExpandMode.EXPAND,
parent: Obx(() => (MailBoxFolderTileBuilder(context, _imagePaths, mailboxNode, lastNode: lastNode,
mailboxNodeSelected: controller.mailboxDashBoardController.selectedMailbox.value)
..addOnOpenMailboxFolderClick((mailboxNode) => controller.openMailbox(context, mailboxNode.item))
..addOnExpandFolderActionClick((mailboxNode) => controller.toggleMailboxFolder(mailboxNode))
..addOnSelectMailboxFolderClick((mailboxNode) => controller.selectMailboxNode(mailboxNode)))
..addOnOpenMailboxFolderClick((mailboxNode) =>
controller.openMailbox(context, mailboxNode.item))
..addOnExpandFolderActionClick((mailboxNode) =>
controller.toggleMailboxFolder(mailboxNode))
..adOnMenuActionClick((position, mailboxNode) =>
_openMailboxMenuAction(context, position, mailboxNode.item))
..addOnSelectMailboxFolderClick((mailboxNode) =>
controller.selectMailboxNode(mailboxNode)))
.build()),
children: _buildListChildTileWidget(context, mailboxNode)
).build()
: Obx(() => (MailBoxFolderTileBuilder(context, _imagePaths, mailboxNode, lastNode: lastNode,
mailboxNodeSelected: controller.mailboxDashBoardController.selectedMailbox.value)
..addOnOpenMailboxFolderClick((mailboxNode) => controller.openMailbox(context, mailboxNode.item))
..addOnSelectMailboxFolderClick((mailboxNode) => controller.selectMailboxNode(mailboxNode)))
..addOnOpenMailboxFolderClick((mailboxNode) =>
controller.openMailbox(context, mailboxNode.item))
..adOnMenuActionClick((position, mailboxNode) =>
_openMailboxMenuAction(context, position, mailboxNode.item))
..addOnSelectMailboxFolderClick((mailboxNode) =>
controller.selectMailboxNode(mailboxNode)))
.build())
).toList() ?? <Widget>[];
}
@@ -296,7 +310,7 @@ class MailboxView extends GetWidget<MailboxController> {
margin: EdgeInsets.zero,
color: _responsiveUtils.isDesktop(context) ? AppColor.colorBgDesktop : Colors.white,
child: ListView.builder(
padding: const EdgeInsets.only(left: 16, right: 8),
padding: const EdgeInsets.only(right: 16),
key: const Key('list_mailbox_searched'),
itemCount: listMailbox.length,
shrinkWrap: true,
@@ -334,4 +348,8 @@ class MailboxView extends GetWidget<MailboxController> {
),
);
}
void _openMailboxMenuAction(BuildContext context, RelativeRect position,
PresentationMailbox presentationMailbox) {
}
}
@@ -1,5 +1,4 @@
import 'package:core/core.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:get/get.dart';
@@ -12,6 +11,7 @@ import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
typedef OnExpandFolderActionClick = void Function(MailboxNode);
typedef OnOpenMailboxFolderClick = void Function(MailboxNode);
typedef OnSelectMailboxFolderClick = void Function(MailboxNode);
typedef OnMenuActionClick = void Function(RelativeRect, MailboxNode);
class MailBoxFolderTileBuilder {
@@ -28,8 +28,9 @@ class MailBoxFolderTileBuilder {
OnExpandFolderActionClick? _onExpandFolderActionClick;
OnOpenMailboxFolderClick? _onOpenMailboxFolderClick;
OnSelectMailboxFolderClick? _onSelectMailboxFolderClick;
OnMenuActionClick? _onMenuActionClick;
bool isHoverIcon = false;
bool isHoverItem = false;
MailBoxFolderTileBuilder(
this._context,
@@ -55,123 +56,202 @@ class MailBoxFolderTileBuilder {
_onSelectMailboxFolderClick = onSelectMailboxFolderClick;
}
void adOnMenuActionClick(OnMenuActionClick onMenuActionClick) {
_onMenuActionClick = onMenuActionClick;
}
Widget build() {
return Theme(
data: ThemeData(
splashColor: Colors.transparent,
highlightColor: Colors.transparent),
child: Container(
key: const Key('mailbox_folder_tile'),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(kIsWeb ? 10 : 0),
color: backgroundColorItem
),
padding: kIsWeb ? const EdgeInsets.only(left: 8, right: 4) : EdgeInsets.zero,
child: MediaQuery(
data: const MediaQueryData(padding: EdgeInsets.zero),
child: Column(children: [
ListTile(
hoverColor: Colors.transparent,
if (BuildUtils.isWeb) {
return StatefulBuilder(
builder: (BuildContext context, StateSetter setState) {
return InkWell(
onTap: () => allSelectMode == SelectMode.ACTIVE
? _onSelectMailboxFolderClick?.call(_mailboxNode)
: _onOpenMailboxFolderClick?.call(_mailboxNode),
contentPadding: EdgeInsets.zero,
leading: _buildLeadingIcon(),
title: _buildTitleFolderItem(),
trailing: _mailboxNode.hasChildren()
? Transform(
transform: Matrix4.translationValues(8.0, 0.0, 0.0),
child: buildIconWeb(
icon: SvgPicture.asset(
_mailboxNode.expandMode == ExpandMode.EXPAND ? _imagePaths.icExpandFolder : _imagePaths.icCollapseFolder,
color: _mailboxNode.expandMode == ExpandMode.EXPAND ? AppColor.colorExpandMailbox : AppColor.colorCollapseMailbox,
fit: BoxFit.fill),
splashRadius: 10,
tooltip: _mailboxNode.expandMode == ExpandMode.EXPAND ? AppLocalizations.of(_context).collapse : AppLocalizations.of(_context).expand,
onTap: () => _onExpandFolderActionClick?.call(_mailboxNode)))
: _mailboxNode.item.getCountUnReadEmails().isNotEmpty
&& mailboxDisplayed == MailboxDisplayed.mailbox
&& !_mailboxNode.hasChildren()
? const SizedBox(width: 40)
: const SizedBox.shrink()
),
if (lastNode?.item.id != _mailboxNode.item.id && !kIsWeb)
Padding(
padding: EdgeInsets.only(left: allSelectMode == SelectMode.ACTIVE ? 50 : 35),
child: const Divider(color: AppColor.lineItemListColor, height: 0.5, thickness: 0.2)),
])
)
)
);
onHover: (value) => setState(() => isHoverItem = value),
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(BuildUtils.isWeb ? 10 : 0),
color: backgroundColorItem),
padding: BuildUtils.isWeb
? const EdgeInsets.only(left: 4, right: 4, top: 8, bottom: 8)
: EdgeInsets.zero,
margin: const EdgeInsets.only(bottom: 4),
child: Column(mainAxisSize: MainAxisSize.min, children: [
Row(children: [
_buildLeadingMailboxItem(),
const SizedBox(width: BuildUtils.isWeb ? 4 : 8),
Expanded(child: _buildTitleFolderItem()),
const SizedBox(width: 8),
_buildTrailingMailboxItem()
]),
_buildDivider(),
])
),
);
});
} else {
return InkWell(
onTap: () => allSelectMode == SelectMode.ACTIVE
? _onSelectMailboxFolderClick?.call(_mailboxNode)
: _onOpenMailboxFolderClick?.call(_mailboxNode),
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(BuildUtils.isWeb ? 10 : 0),
color: backgroundColorItem),
padding: BuildUtils.isWeb
? const EdgeInsets.only(left: 4, right: 4, top: 8, bottom: 8)
: EdgeInsets.zero,
child: Column(mainAxisSize: MainAxisSize.min, children: [
Row(children: [
_buildLeadingMailboxItem(),
const SizedBox(width: BuildUtils.isWeb ? 4 : 8),
Expanded(child: _buildTitleFolderItem()),
const SizedBox(width: 8),
_buildTrailingMailboxItem()
]),
_buildDivider(),
])
),
);
}
}
Widget _buildLeadingMailboxItem() {
if (BuildUtils.isWeb) {
return Row(mainAxisSize: MainAxisSize.min, children: [
if (_mailboxNode.hasChildren())
buildIconWeb(
icon: SvgPicture.asset(
_mailboxNode.expandMode == ExpandMode.EXPAND
? _imagePaths.icExpandFolder
: _imagePaths.icCollapseFolder,
color: _mailboxNode.expandMode == ExpandMode.EXPAND
? AppColor.colorExpandMailbox
: AppColor.colorCollapseMailbox,
fit: BoxFit.fill),
minSize: 12,
splashRadius: 10,
iconPadding: EdgeInsets.zero,
tooltip: _mailboxNode.expandMode == ExpandMode.EXPAND
? AppLocalizations.of(_context).collapse
: AppLocalizations.of(_context).expand,
onTap: () => _onExpandFolderActionClick?.call(_mailboxNode))
else
const SizedBox(width: 24),
Transform(
transform: Matrix4.translationValues(-4.0, 0.0, 0.0),
child: _buildLeadingIcon())
]);
}
return _buildLeadingIcon();
}
Widget _buildTrailingMailboxItem() {
if (_mailboxNode.hasChildren() && !BuildUtils.isWeb) {
return buildIconWeb(
icon: SvgPicture.asset(
_mailboxNode.expandMode == ExpandMode.EXPAND
? _imagePaths.icExpandFolder
: _imagePaths.icCollapseFolder,
color: _mailboxNode.expandMode == ExpandMode.EXPAND
? AppColor.colorExpandMailbox
: AppColor.colorCollapseMailbox,
fit: BoxFit.fill),
splashRadius: 10,
tooltip: _mailboxNode.expandMode == ExpandMode.EXPAND
? AppLocalizations.of(_context).collapse
: AppLocalizations.of(_context).expand,
onTap: () => _onExpandFolderActionClick?.call(_mailboxNode)
);
}
if (BuildUtils.isWeb && isHoverItem) {
return _buildMenuIcon();
}
if (_mailboxNode.item.getCountUnReadEmails().isNotEmpty
&& mailboxDisplayed == MailboxDisplayed.mailbox) {
return _buildCounter();
}
return const SizedBox(width: 20);
}
Widget _buildLeadingIcon() {
if (kIsWeb) {
return _mailboxNode.selectMode == SelectMode.ACTIVE ? _buildSelectModeIcon() : _buildMailboxIcon();
if (BuildUtils.isWeb) {
return _buildMailboxIcon();
} else {
return allSelectMode == SelectMode.ACTIVE ? _buildSelectModeIcon() : _buildMailboxIcon();
return allSelectMode == SelectMode.ACTIVE
? _buildSelectModeIcon()
: _buildMailboxIcon();
}
}
Widget _buildTitleFolderItem() {
return Row(
children: [
if (allSelectMode == SelectMode.ACTIVE)
Transform(
transform: Matrix4.translationValues(-24.0, 0.0, 0.0),
child: _buildMailboxIcon()),
Expanded(child: Transform(
transform: Matrix4.translationValues(allSelectMode == SelectMode.ACTIVE ? -16.0 : -20.0, 0.0, 0.0),
child: Text(
_mailboxNode.item.name?.name ?? '',
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: const TextStyle(fontSize: 15, color: AppColor.colorNameEmail, fontWeight: FontWeight.normal),
))),
if (_mailboxNode.item.getCountUnReadEmails().isNotEmpty && mailboxDisplayed == MailboxDisplayed.mailbox)
Transform(transform: Matrix4.translationValues(25.0, 0.0, 0.0), child: _buildCounter())
],
return Text(
_mailboxNode.item.name?.name ?? '',
maxLines: 1,
overflow: CommonTextStyle.defaultTextOverFlow,
style: const TextStyle(
fontSize: 15,
color: AppColor.colorNameEmail,
fontWeight: FontWeight.normal),
);
}
Widget _buildCounter() {
return Text(
_mailboxNode.item.getCountUnReadEmails(),
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: const TextStyle(fontSize: 13, color: Colors.black, fontWeight: FontWeight.normal),
return Padding(
padding: const EdgeInsets.only(right: 10),
child: Text(
_mailboxNode.item.getCountUnReadEmails(),
maxLines: 1,
overflow: CommonTextStyle.defaultTextOverFlow,
style: const TextStyle(
fontSize: 13,
color: Colors.black,
fontWeight: FontWeight.normal),
),
);
}
Widget _buildMailboxIcon() {
if (kIsWeb) {
return StatefulBuilder(
builder: (BuildContext context, StateSetter setState) {
return InkWell(
onTap: () {},
onHover: (value) => setState(() => isHoverIcon = value),
child: isHoverIcon
? _buildSelectModeIcon()
: SvgPicture.asset(_mailboxNode.item.getMailboxIcon(_imagePaths), width: 28, height: 28, fit: BoxFit.fill)
return SvgPicture.asset(_mailboxNode.item.getMailboxIcon(_imagePaths));
}
Widget _buildMenuIcon() {
return Padding(
padding: const EdgeInsets.only(right: 8),
child: InkWell(
onTapDown: (detail) {
final screenSize = MediaQuery.of(_context).size;
final offset = detail.globalPosition;
final position = RelativeRect.fromLTRB(
offset.dx,
offset.dy,
screenSize.width - offset.dx,
screenSize.height - offset.dy,
);
});
} else {
return SvgPicture.asset(_mailboxNode.item.getMailboxIcon(_imagePaths), width: 28, height: 28, fit: BoxFit.fill);
}
_onMenuActionClick?.call(position, _mailboxNode);
},
onTap: () => {},
child: SvgPicture.asset(_imagePaths.icComposerMenu,
width: 20,
height: 20,
fit: BoxFit.fill)),
);
}
Widget _buildSelectModeIcon() {
return Container(
color: Colors.transparent,
child: Transform(
transform: Matrix4.translationValues(kIsWeb ? -8.0 : -10.0, 0.0, 0.0),
child: buildIconWeb(
icon: SvgPicture.asset(
_mailboxNode.selectMode == SelectMode.ACTIVE ? _imagePaths.icSelected : _imagePaths.icUnSelected,
width: kIsWeb ? 20 : 24,
height: kIsWeb ? 20 : 24,
fit: BoxFit.fill),
onTap: () => _onSelectMailboxFolderClick?.call(_mailboxNode))),
return InkWell(
onTap: () => _onSelectMailboxFolderClick?.call(_mailboxNode),
child: SvgPicture.asset(
_mailboxNode.selectMode == SelectMode.ACTIVE
? _imagePaths.icSelected
: _imagePaths.icUnSelected,
width: BuildUtils.isWeb ? 20 : 24,
height: BuildUtils.isWeb ? 20 : 24,
fit: BoxFit.fill)
);
}
@@ -179,14 +259,31 @@ class MailBoxFolderTileBuilder {
if (mailboxDisplayed == MailboxDisplayed.destinationPicker) {
return Colors.white;
} else {
if (kIsWeb) {
if (mailboxNodeSelected?.id == _mailboxNode.item.id) {
if (BuildUtils.isWeb) {
if (mailboxNodeSelected?.id == _mailboxNode.item.id || isHoverItem) {
return AppColor.colorBgMailboxSelected;
}
return _responsiveUtils.isDesktop(_context) ? AppColor.colorBgDesktop : Colors.white;
return _responsiveUtils.isDesktop(_context)
? AppColor.colorBgDesktop
: Colors.white;
} else {
return Colors.white;
}
}
}
Widget _buildDivider() {
if (lastNode?.item.id != _mailboxNode.item.id && !BuildUtils.isWeb) {
return Padding(
padding: EdgeInsets.only(
left: allSelectMode == SelectMode.ACTIVE ? 50 : 35),
child: const Divider(
color: AppColor.lineItemListColor,
height: 0.5,
thickness: 0.2
)
);
}
return const SizedBox.shrink();
}
}
@@ -49,8 +49,10 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
responsiveUtils: responsiveUtils,
desktop: Column(children: [
Row(children: [
Container(width: 256, color: Colors.white,
padding: const EdgeInsets.only(top: 25, bottom: 25, left: 32),
Container(
width: responsiveUtils.defaultSizeMenu,
color: Colors.white,
padding: const EdgeInsets.only(top: 25, bottom: 25, left: 28),
child: Row(children: [
(SloganBuilder(arrangedByHorizontal: true)
..setSloganText(AppLocalizations.of(context).app_name)
@@ -79,7 +79,8 @@ class ThreadView extends GetWidget<ThreadController> with AppLoaderMixin,
else
const SizedBox.shrink(),
Obx(() {
if (controller.isMailboxTrash && controller.emailList.isNotEmpty
if (controller.isMailboxTrash
&& controller.emailList.isNotEmpty
&& !controller.isSearchActive()) {
return _buildEmptyTrashButton(context);
} else {
@@ -99,7 +100,7 @@ class ThreadView extends GetWidget<ThreadController> with AppLoaderMixin,
Expanded(child: Container(
alignment: Alignment.center,
margin: BuildUtils.isWeb && _responsiveUtils.isDesktop(context)
? const EdgeInsets.only(left: 32, right: 24, top: 16, bottom: 24)
? const EdgeInsets.only(right: 16, top: 16, bottom: 16)
: EdgeInsets.zero,
decoration: BoxDecoration(
borderRadius: BuildUtils.isWeb && _responsiveUtils.isDesktop(context)
@@ -550,8 +551,8 @@ class ThreadView extends GetWidget<ThreadController> with AppLoaderMixin,
border: Border.all(color: AppColor.colorLineLeftEmailView),
color: Colors.white),
margin: EdgeInsets.only(
left: BuildUtils.isWeb && _responsiveUtils.isDesktop(context) ? 32 : 16,
right: BuildUtils.isWeb && _responsiveUtils.isDesktop(context) ? 20 : 16,
left: BuildUtils.isWeb && _responsiveUtils.isDesktop(context) ? 0 : 16,
right: 16,
bottom: BuildUtils.isWeb && _responsiveUtils.isDesktop(context) ? 0 : 16,
top: BuildUtils.isWeb && _responsiveUtils.isDesktop(context) ? 16 : 0),
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8),