feat: comprehensive Wino Mail updates

- ReaderView: complete rewrite with CSS styling, headers, attachments, zoom, find, dark mode, image blocking
- Categories: DAO + UI tree widget with colors, nested categories, assignment
- Rules engine: DAO + evaluation + actions (move, mark read, flag, delete, category, forward)
- Templates: DAO + editor + manager with variables support
- Signatures: DAO + manager + auto-per-account + manual selector in compose
- ComposeView: signature combo, template selector, auto-signature on new email
- MainWindow: frameless with rounded corners, 1px border, resize from edges, no status bar
- Database: new tables (Category, MailCategory, Rule, Template, Signature) with indexes
This commit is contained in:
2026-08-23 14:49:58 +02:00
parent 5fcedfa129
commit 0bb8738607
7399 changed files with 44711 additions and 209 deletions
@@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M20.2699 8.48505L20.9754 12.5648C21.1516 13.5838 20.368 14.5158 19.335 14.5158H14.1539C13.6404 14.5158 13.2494 14.9767 13.3325 15.484L13.9952 19.5286C14.1028 20.1857 14.0721 20.858 13.9049 21.5025C13.7664 22.0364 13.3545 22.465 12.8128 22.6391L12.6678 22.6856C12.3404 22.7908 11.9831 22.7663 11.6744 22.6176C11.3347 22.4539 11.0861 22.1553 10.994 21.8001L10.5183 19.9663C10.3669 19.3828 10.1465 18.8195 9.86218 18.2874C9.44683 17.5098 8.80465 16.8875 8.13711 16.3123L6.69838 15.0725C6.29272 14.7229 6.07968 14.1994 6.12584 13.6656L6.93801 4.27293C7.0125 3.41139 7.7328 2.75 8.59658 2.75H13.2452C16.7265 2.75 19.6975 5.17561 20.2699 8.48505Z" fill="black"/>
<path opacity="0.5" fill-rule="evenodd" clip-rule="evenodd" d="M2.96767 15.2651C3.36893 15.2824 3.71261 14.9806 3.74721 14.5804L4.71881 3.34389C4.78122 2.6221 4.21268 2 3.48671 2C2.80289 2 2.25 2.55474 2.25 3.23726V14.5158C2.25 14.9174 2.5664 15.2478 2.96767 15.2651Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

@@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path opacity="0.5" fill-rule="evenodd" clip-rule="evenodd" d="M2 9.13734C2 13.5424 5.29819 16.0836 8.10627 18.2471C8.39814 18.4719 8.68471 18.6927 8.96173 18.9111C10 19.7296 11 20.5002 12 20.5002V5.50088C7.50016 0.825708 2 4.27441 2 9.13734Z" fill="black"/>
<path d="M14 7.49952L12 5.50088V20.5002C13 20.5002 14 19.7296 15.0383 18.9111C15.3153 18.6927 15.6019 18.4719 15.8937 18.2471C18.7018 16.0835 22 13.5424 22 9.13734C22 4.67489 17.3685 1.40333 13.1285 4.50736L15.0605 6.43867C15.3534 6.73151 15.3535 7.20638 15.0607 7.49933C14.7678 7.79228 14.2929 7.79236 14 7.49952Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 693 B

@@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M15.0383 18.9111C17.9806 16.5917 22 14.0003 22 9.13734C22 4.27441 16.4998 0.825708 12 5.50088L10.8822 7.73593C10.6998 8.10073 10.6086 8.28314 10.6531 8.46224C10.6975 8.64134 10.8635 8.75987 11.1954 8.99695L13.111 10.3652C13.5268 10.6622 13.7346 10.8107 13.7612 11.0293C13.7878 11.2478 13.6215 11.4418 13.289 11.8298L11.6027 13.7971C11.3168 14.1307 11.1738 14.2975 11.1813 14.4933C11.1888 14.6891 11.3442 14.8444 11.6548 15.155L12.5996 16.0999C12.7952 16.2954 12.893 16.3932 12.9281 16.5202C12.9633 16.6471 12.9298 16.7812 12.8627 17.0495L12 20.5002C13 20.5002 14 19.7296 15.0383 18.9111Z" fill="black"/>
<path opacity="0.5" d="M8.10627 18.2471C5.29819 16.0836 2 13.5424 2 9.13734C2 4.27441 7.50016 0.825708 12 5.50088L10.8822 7.73593C10.6998 8.10073 10.6086 8.28314 10.6531 8.46224C10.6975 8.64134 10.8635 8.75987 11.1954 8.99695L13.111 10.3652C13.5268 10.6622 13.7346 10.8107 13.7612 11.0293C13.7878 11.2478 13.6215 11.4418 13.289 11.8297L11.6027 13.7971C11.3168 14.1307 11.1738 14.2975 11.1813 14.4933C11.1888 14.6891 11.3442 14.8444 11.6548 15.155L12.5996 16.0999C12.7952 16.2954 12.893 16.3932 12.9281 16.5202C12.9633 16.6471 12.9298 16.7812 12.8627 17.0495L12 20.5002C11 20.5002 10 19.7296 8.96173 18.9111C8.68471 18.6927 8.39814 18.4719 8.10627 18.2471Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

@@ -0,0 +1,5 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path opacity="0.5" fill-rule="evenodd" clip-rule="evenodd" d="M8.49565 20.0367C5.96837 18.1516 3 15.9375 3 12.0992C3 7.86196 7.95014 4.85701 12 8.93062C16.0499 4.85701 21 7.86196 21 12.0992C21 15.9375 18.0316 18.1516 15.5044 20.0367C15.2417 20.2327 14.9838 20.4251 14.7344 20.6154C13.8 21.3285 12.9 22 12 22C11.1 22 10.2 21.3285 9.26556 20.6154C9.01624 20.4251 8.75832 20.2327 8.49565 20.0367Z" fill="black"/>
<path d="M12 11.25C12.4142 11.25 12.75 11.5858 12.75 12V14.5C12.75 14.9142 12.4142 15.25 12 15.25C11.5858 15.25 11.25 14.9142 11.25 14.5V12C11.25 11.5858 11.5858 11.25 12 11.25Z" fill="black"/>
<path d="M7.75 7C7.75 5.4953 8.19732 4.46095 8.88885 3.79924C9.58601 3.13213 10.6294 2.75 12 2.75C13.3706 2.75 14.414 3.13213 15.1112 3.79924C15.8027 4.46095 16.25 5.4953 16.25 7V7.00134C16.7736 7.01389 17.2781 7.11428 17.75 7.2892V7C17.75 5.19099 17.2036 3.72534 16.1482 2.71548C15.0985 1.71101 13.6418 1.25 12 1.25C10.3582 1.25 8.90153 1.71101 7.85181 2.71548C6.79645 3.72534 6.25 5.19099 6.25 7V7.2892C6.72194 7.11428 7.22639 7.01389 7.75 7.00134V7Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

@@ -0,0 +1,10 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path opacity="0.8" fill-rule="evenodd" clip-rule="evenodd" d="M12 1.25C12.4142 1.25 12.75 1.58579 12.75 2V4C12.75 4.41421 12.4142 4.75 12 4.75C11.5858 4.75 11.25 4.41421 11.25 4V2C11.25 1.58579 11.5858 1.25 12 1.25ZM1.25 12C1.25 11.5858 1.58579 11.25 2 11.25H4C4.41421 11.25 4.75 11.5858 4.75 12C4.75 12.4142 4.41421 12.75 4 12.75H2C1.58579 12.75 1.25 12.4142 1.25 12ZM19.25 12C19.25 11.5858 19.5858 11.25 20 11.25H22C22.4142 11.25 22.75 11.5858 22.75 12C22.75 12.4142 22.4142 12.75 22 12.75H20C19.5858 12.75 19.25 12.4142 19.25 12ZM12 19.25C12.4142 19.25 12.75 19.5858 12.75 20V22C12.75 22.4142 12.4142 22.75 12 22.75C11.5858 22.75 11.25 22.4142 11.25 22V20C11.25 19.5858 11.5858 19.25 12 19.25Z" fill="black"/>
<g opacity="0.5">
<path d="M5.46967 5.46967C5.76256 5.17678 6.23744 5.17678 6.53033 5.46967L6.87359 5.81293C7.16648 6.10583 7.16648 6.5807 6.87359 6.87359C6.5807 7.16648 6.10583 7.16648 5.81293 6.87359L5.46967 6.53033C5.17678 6.23744 5.17678 5.76256 5.46967 5.46967Z" fill="black"/>
<path d="M18.5303 5.46967C18.8232 5.76256 18.8232 6.23744 18.5303 6.53033L18.1871 6.87359C17.8942 7.16648 17.4193 7.16648 17.1264 6.87359C16.8335 6.5807 16.8335 6.10583 17.1264 5.81293L17.4697 5.46967C17.7626 5.17678 18.2374 5.17678 18.5303 5.46967Z" fill="black"/>
<path d="M6.87338 17.1266C7.16627 17.4195 7.16627 17.8944 6.87338 18.1873L6.53033 18.5303C6.23744 18.8232 5.76256 18.8232 5.46967 18.5303C5.17678 18.2374 5.17678 17.7626 5.46967 17.4697L5.81272 17.1266C6.10561 16.8337 6.58048 16.8337 6.87338 17.1266Z" fill="black"/>
<path d="M17.1266 17.1266C17.4195 16.8337 17.8944 16.8337 18.1873 17.1266L18.5303 17.4697C18.8232 17.7626 18.8232 18.2374 18.5303 18.5303C18.2374 18.8232 17.7626 18.8232 17.4697 18.5303L17.1266 18.1873C16.8337 17.8944 16.8337 17.4195 17.1266 17.1266Z" fill="black"/>
</g>
<path d="M7 11.0595C7 13.6018 9.00971 14.9566 10.4809 16.1692C11 16.5971 11.5 17 12 17C12.5 17 13 16.5971 13.5191 16.1692C14.9903 14.9566 17 13.6018 17 11.0595C17 8.51718 14.2499 6.71421 12 9.15837C9.75008 6.71421 7 8.51718 7 11.0595Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

@@ -0,0 +1,5 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7.50118 7.01398C7.66526 6.01711 8.055 5.27482 8.59388 4.74477C9.33288 4.01787 10.4444 3.6 11.896 3.6C13.7289 3.6 15.0149 4.26126 15.7123 5.39117C15.9359 5.75349 16.3769 5.84223 16.6974 5.58937C17.0178 5.33652 17.0963 4.83782 16.8727 4.4755C15.821 2.77149 14.0086 2 11.896 2C10.2215 2 8.73888 2.48148 7.66517 3.5376C6.72077 4.46652 6.16184 5.77209 6.03027 7.37702C6.49056 7.17952 6.98528 7.0541 7.50118 7.01398Z" fill="black"/>
<path opacity="0.5" fill-rule="evenodd" clip-rule="evenodd" d="M8.49565 20.0367C5.96837 18.1516 3 15.9375 3 12.0992C3 7.86196 7.95014 4.85701 12 8.93062C16.0499 4.85701 21 7.86196 21 12.0992C21 15.9375 18.0316 18.1516 15.5044 20.0367C15.2417 20.2327 14.9838 20.4251 14.7344 20.6154C13.8 21.3285 12.9 22 12 22C11.1 22 10.2 21.3285 9.26556 20.6154C9.01624 20.4251 8.75832 20.2327 8.49565 20.0367Z" fill="black"/>
<path d="M12 11.25C12.4142 11.25 12.75 11.5858 12.75 12V14.5C12.75 14.9142 12.4142 15.25 12 15.25C11.5858 15.25 11.25 14.9142 11.25 14.5V12C11.25 11.5858 11.5858 11.25 12 11.25Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

@@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path opacity="0.5" fill-rule="evenodd" clip-rule="evenodd" d="M8.10627 18.2471C5.29819 16.0836 2 13.5424 2 9.13734C2 4.27441 7.50016 0.825708 12 5.50088V20.5002C11 20.5002 10 19.7296 8.96173 18.9111C8.68471 18.6927 8.39814 18.4719 8.10627 18.2471Z" fill="black"/>
<path d="M15.0383 18.9111C17.9806 16.5917 22 14.0003 22 9.13734C22 4.27441 16.4998 0.825708 12 5.50088V20.5002C13 20.5002 14 19.7296 15.0383 18.9111Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 534 B

@@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path opacity="0.5" d="M2 9.13734C2 14.0003 6.01943 16.5917 8.96173 18.9111C10 19.7296 11 20.5002 12 20.5002C13 20.5002 14 19.7296 15.0383 18.9111C17.9806 16.5917 22 14.0003 22 9.13734C22 4.27441 16.4998 0.825708 12 5.50088C7.50016 0.825708 2 4.27441 2 9.13734Z" fill="black"/>
<path d="M16.5 13.2871C14.0251 10.5713 11 12.5746 11 15.3995C11 17.9583 12.814 19.4344 14.3584 20.6912L14.4018 20.7265C14.5474 20.8449 14.6903 20.9615 14.829 21.0769C15.4 21.5523 15.95 22 16.5 22C17.05 22 17.6 21.5523 18.171 21.0769C19.7893 19.7296 22 18.2243 22 15.3995C22 14.4715 21.6735 13.6321 21.1474 13.0197C20.0718 11.7677 18.1619 11.4635 16.5 13.2871Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 757 B

@@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M20.2696 16.265L20.9751 12.1852C21.1514 11.1662 20.3677 10.2342 19.3348 10.2342H14.1537C13.6402 10.2342 13.2491 9.77328 13.3323 9.26598L13.9949 5.22142C14.1026 4.56435 14.0719 3.892 13.9047 3.24752C13.7662 2.71364 13.3543 2.28495 12.8126 2.11093L12.6676 2.06435C12.3402 1.95918 11.9829 1.98365 11.6742 2.13239C11.3344 2.29611 11.0859 2.59473 10.9938 2.94989L10.518 4.78374C10.3667 5.36723 10.1462 5.93045 9.86194 6.46262C9.44659 7.24017 8.8044 7.86246 8.13687 8.43769L6.69813 9.67749C6.29247 10.0271 6.07944 10.5506 6.1256 11.0844L6.93776 20.4771C7.01226 21.3386 7.73256 22 8.59634 22H13.245C16.7263 22 19.6973 19.5744 20.2696 16.265Z" fill="black"/>
<path opacity="0.5" fill-rule="evenodd" clip-rule="evenodd" d="M2.96767 9.48508C3.36893 9.46777 3.71261 9.76963 3.74721 10.1698L4.71881 21.4063C4.78122 22.1281 4.21268 22.7502 3.48671 22.7502C2.80289 22.7502 2.25 22.1954 2.25 21.5129V10.2344C2.25 9.83275 2.5664 9.5024 2.96767 9.48508Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

@@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M12 16C15.866 16 19 12.866 19 9C19 5.13401 15.866 2 12 2C8.13401 2 5 5.13401 5 9C5 12.866 8.13401 16 12 16ZM12 6C11.7159 6 11.5259 6.34084 11.1459 7.02251L11.0476 7.19887C10.9397 7.39258 10.8857 7.48944 10.8015 7.55334C10.7173 7.61725 10.6125 7.64097 10.4028 7.68841L10.2119 7.73161C9.47396 7.89857 9.10501 7.98205 9.01723 8.26432C8.92945 8.54659 9.18097 8.84072 9.68403 9.42898L9.81418 9.58117C9.95713 9.74833 10.0286 9.83191 10.0608 9.93531C10.0929 10.0387 10.0821 10.1502 10.0605 10.3733L10.0408 10.5763C9.96476 11.3612 9.92674 11.7536 10.1565 11.9281C10.3864 12.1025 10.7318 11.9435 11.4227 11.6254L11.6014 11.5431C11.7978 11.4527 11.8959 11.4075 12 11.4075C12.1041 11.4075 12.2022 11.4527 12.3986 11.5431L12.5773 11.6254C13.2682 11.9435 13.6136 12.1025 13.8435 11.9281C14.0733 11.7536 14.0352 11.3612 13.9592 10.5763L13.9395 10.3733C13.9179 10.1502 13.9071 10.0387 13.9392 9.93531C13.9714 9.83191 14.0429 9.74833 14.1858 9.58118L14.316 9.42898C14.819 8.84072 15.0706 8.54659 14.9828 8.26432C14.895 7.98205 14.526 7.89857 13.7881 7.73161L13.5972 7.68841C13.3875 7.64097 13.2827 7.61725 13.1985 7.55334C13.1143 7.48944 13.0603 7.39258 12.9524 7.19887L12.8541 7.02251C12.4741 6.34084 12.2841 6 12 6Z" fill="black"/>
<path opacity="0.5" d="M6.71424 17.323L7.35111 15L8 13H16L16.6489 15L17.2858 17.323C17.9141 19.6148 18.2283 20.7607 17.809 21.3881C17.6621 21.6079 17.465 21.7844 17.2363 21.9008C16.5837 22.2331 15.576 21.7081 13.5607 20.658C12.8901 20.3086 12.5548 20.1339 12.1986 20.0959C12.0665 20.0818 11.9335 20.0818 11.8014 20.0959C11.4452 20.1339 11.1099 20.3086 10.4393 20.658L10.4393 20.658C8.42401 21.7081 7.41635 22.2331 6.76372 21.9008C6.535 21.7844 6.3379 21.6079 6.19097 21.3881C5.77173 20.7607 6.0859 19.6148 6.71424 17.323Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

@@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<circle opacity="0.5" cx="12" cy="9" r="7" fill="black"/>
<path d="M7.54572 14.4004L7.35111 15.0002L6.71424 17.3232C6.0859 19.615 5.77173 20.7609 6.19097 21.3883C6.3379 21.6081 6.535 21.7846 6.76372 21.901C7.41634 22.2333 8.424 21.7083 10.4393 20.6582C11.1099 20.3088 11.4452 20.1341 11.8014 20.0961C11.9335 20.082 12.0665 20.082 12.1986 20.0961C12.5548 20.1341 12.8901 20.3088 13.5607 20.6582C15.576 21.7083 16.5837 22.2333 17.2363 21.901C17.465 21.7846 17.6621 21.6081 17.809 21.3883C18.2283 20.7609 17.9141 19.615 17.2858 17.3232L16.6489 15.0002L16.4543 14.4004C15.244 15.3998 13.6921 16.0002 12 16.0002C10.3079 16.0002 8.75597 15.3998 7.54572 14.4004Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 775 B

@@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path opacity="0.5" d="M12 16.0678L8.22855 19.9727C7.68843 20.532 7.41837 20.8116 7.18967 20.9084C6.66852 21.1289 6.09042 20.9402 5.81628 20.4601C5.69597 20.2494 5.65848 19.8694 5.5835 19.1094C5.54117 18.6803 5.52 18.4657 5.45575 18.286C5.31191 17.8837 5.00966 17.5708 4.6211 17.4218C4.44755 17.3553 4.24033 17.3334 3.82592 17.2895L3.82589 17.2895C3.09187 17.2119 2.72486 17.1731 2.52138 17.0485C2.05772 16.7647 1.87548 16.1661 2.08843 15.6265C2.18188 15.3897 2.45194 15.1101 2.99206 14.5509L5.45575 11.9999L6.69396 10.7617L12 16.0678L17.306 10.7617L18.5442 11.9999L21.0079 14.5509C21.5481 15.1101 21.8181 15.3897 21.9116 15.6265C22.1245 16.1661 21.9423 16.7647 21.4786 17.0485C21.2751 17.1731 20.9081 17.2119 20.1741 17.2895C19.7597 17.3334 19.5525 17.3553 19.3789 17.4218C18.9903 17.5708 18.6881 17.8837 18.5442 18.286C18.48 18.4657 18.4588 18.6803 18.4165 19.1094V19.1094C18.3415 19.8694 18.304 20.2494 18.1837 20.4601C17.9096 20.9402 17.3315 21.1289 16.8103 20.9084C16.5816 20.8116 16.3116 20.532 15.7715 19.9727L12 16.0678Z" fill="black"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M12 16C15.866 16 19 12.866 19 9C19 5.13401 15.866 2 12 2C8.13401 2 5 5.13401 5 9C5 12.866 8.13401 16 12 16ZM12 6C11.7159 6 11.5259 6.34084 11.1459 7.02251L11.0476 7.19887C10.9397 7.39258 10.8857 7.48944 10.8015 7.55334C10.7173 7.61725 10.6125 7.64097 10.4028 7.68841L10.2119 7.73161C9.47396 7.89857 9.10501 7.98205 9.01723 8.26432C8.92945 8.54659 9.18097 8.84072 9.68403 9.42898L9.81418 9.58117C9.95713 9.74833 10.0286 9.83191 10.0608 9.93531C10.0929 10.0387 10.0821 10.1502 10.0605 10.3733L10.0408 10.5763C9.96476 11.3612 9.92674 11.7536 10.1565 11.9281C10.3864 12.1025 10.7318 11.9435 11.4227 11.6254L11.6014 11.5431C11.7978 11.4527 11.8959 11.4075 12 11.4075C12.1041 11.4075 12.2022 11.4527 12.3986 11.5431L12.5773 11.6254C13.2682 11.9435 13.6136 12.1025 13.8435 11.9281C14.0733 11.7536 14.0352 11.3612 13.9592 10.5763L13.9395 10.3733C13.9179 10.1502 13.9071 10.0387 13.9392 9.93531C13.9714 9.83191 14.0429 9.74833 14.1858 9.58118L14.316 9.42898C14.819 8.84072 15.0706 8.54659 14.9828 8.26432C14.895 7.98205 14.526 7.89857 13.7881 7.73161L13.5972 7.68841C13.3875 7.64097 13.2827 7.61725 13.1985 7.55334C13.1143 7.48944 13.0603 7.39258 12.9524 7.19887L12.8541 7.02251C12.4741 6.34084 12.2841 6 12 6Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

@@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path opacity="0.5" d="M13 2H11C9.11438 2 8.17157 2 7.58579 2.58579C7 3.17157 7 4.11438 7 6V8V10H17V8V6C17 4.11438 17 3.17157 16.4142 2.58579C15.8284 2 14.8856 2 13 2Z" fill="black"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M12 22C16.4183 22 20 18.4183 20 14C20 9.58172 16.4183 6 12 6C7.58172 6 4 9.58172 4 14C4 18.4183 7.58172 22 12 22ZM12 11C11.7159 11 11.5259 11.3408 11.1459 12.0225L11.0476 12.1989C10.9397 12.3926 10.8857 12.4894 10.8015 12.5533C10.7173 12.6172 10.6125 12.641 10.4028 12.6884L10.2119 12.7316C9.47396 12.8986 9.10501 12.982 9.01723 13.2643C8.92945 13.5466 9.18097 13.8407 9.68403 14.429L9.81418 14.5812C9.95713 14.7483 10.0286 14.8319 10.0608 14.9353C10.0929 15.0387 10.0821 15.1502 10.0605 15.3733L10.0408 15.5763C9.96476 16.3612 9.92674 16.7536 10.1565 16.9281C10.3864 17.1025 10.7318 16.9435 11.4227 16.6254L11.6014 16.5431C11.7978 16.4527 11.8959 16.4075 12 16.4075C12.1041 16.4075 12.2022 16.4527 12.3986 16.5431L12.5773 16.6254C13.2682 16.9435 13.6136 17.1025 13.8435 16.9281C14.0733 16.7536 14.0352 16.3612 13.9592 15.5763L13.9395 15.3733C13.9179 15.1502 13.9071 15.0387 13.9392 14.9353C13.9714 14.8319 14.0429 14.7483 14.1858 14.5812L14.316 14.429C14.819 13.8407 15.0706 13.5466 14.9828 13.2643C14.895 12.982 14.526 12.8986 13.7881 12.7316L13.5972 12.6884C13.3875 12.641 13.2827 12.6172 13.1985 12.5533C13.1143 12.4894 13.0603 12.3926 12.9524 12.1989L12.8541 12.0225C12.4741 11.3408 12.2841 11 12 11Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

@@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path opacity="0.5" d="M13 2H11C9.11438 2 8.17157 2 7.58579 2.58579C7 3.17157 7 4.11438 7 6V8H17V6C17 4.11438 17 3.17157 16.4142 2.58579C15.8284 2 14.8856 2 13 2Z" fill="black"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M10 6H14C16.8284 6 18.2426 6 19.1213 6.87868C20 7.75736 20 9.17157 20 12V13.0557C20 15.4614 20 16.6642 19.4026 17.6308C18.8052 18.5974 17.7294 19.1353 15.5777 20.2111C13.8221 21.089 12.9443 21.5279 12 21.5279C11.0557 21.5279 10.1779 21.089 8.42229 20.2111C6.27063 19.1353 5.19479 18.5974 4.5974 17.6308C4 16.6642 4 15.4614 4 13.0557V12C4 9.17157 4 7.75736 4.87868 6.87868C5.75736 6 7.17157 6 10 6ZM12 10C11.7159 10 11.5259 10.3408 11.1459 11.0225L11.0476 11.1989C10.9397 11.3926 10.8857 11.4894 10.8015 11.5533C10.7173 11.6172 10.6125 11.641 10.4028 11.6884L10.2119 11.7316C9.47396 11.8986 9.10501 11.982 9.01723 12.2643C8.92945 12.5466 9.18097 12.8407 9.68403 13.429L9.81418 13.5812C9.95713 13.7483 10.0286 13.8319 10.0608 13.9353C10.0929 14.0387 10.0821 14.1502 10.0605 14.3733L10.0408 14.5763C9.96476 15.3612 9.92674 15.7536 10.1565 15.9281C10.3864 16.1025 10.7318 15.9435 11.4227 15.6254L11.6014 15.5431C11.7978 15.4527 11.8959 15.4075 12 15.4075C12.1041 15.4075 12.2022 15.4527 12.3986 15.5431L12.5773 15.6254C13.2682 15.9435 13.6136 16.1025 13.8435 15.9281C14.0733 15.7536 14.0352 15.3612 13.9592 14.5763L13.9395 14.3733C13.9179 14.1502 13.9071 14.0387 13.9392 13.9353C13.9714 13.8319 14.0429 13.7483 14.1858 13.5812L14.316 13.429C14.819 12.8407 15.0706 12.5466 14.9828 12.2643C14.895 11.982 14.526 11.8986 13.7881 11.7316L13.5972 11.6884C13.3875 11.641 13.2827 11.6172 13.1985 11.5533C13.1143 11.4894 13.0603 11.3926 12.9524 11.1989L12.8541 11.0225C12.4741 10.3408 12.2841 10 12 10Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

@@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path opacity="0.5" d="M12.7949 2H10.7949C8.9093 2 7.96649 2 7.38071 2.58579C6.79492 3.17157 6.79492 4.11438 6.79492 6V8V9.5H16.7949V8V6C16.7949 4.11438 16.7949 3.17157 16.2091 2.58579C15.6233 2 14.6805 2 12.7949 2Z" fill="black"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M13.2304 5.78311C12.3352 5.29495 11.2533 5.29495 10.358 5.78311L5.56381 8.39728C4.59982 8.92292 4 9.93319 4 11.0312V15.9688C4 17.0668 4.59982 18.0771 5.56381 18.6027L10.358 21.2169C11.2533 21.705 12.3352 21.705 13.2304 21.2169L18.0246 18.6027C18.9886 18.0771 19.5885 17.0668 19.5885 15.9688V11.0312C19.5885 9.93319 18.9886 8.92292 18.0246 8.39728L13.2304 5.78311ZM11.7944 10.5C11.5104 10.5 11.3204 10.8408 10.9404 11.5225L10.8421 11.6989C10.7341 11.8926 10.6801 11.9894 10.5959 12.0533C10.5117 12.1172 10.4069 12.141 10.1972 12.1884L10.0063 12.2316C9.26839 12.3986 8.89944 12.482 8.81166 12.7643C8.72388 13.0466 8.97541 13.3407 9.47846 13.929L9.60861 14.0812C9.75156 14.2483 9.82304 14.3319 9.85519 14.4353C9.88735 14.5387 9.87654 14.6502 9.85493 14.8733L9.83525 15.0763C9.7592 15.8612 9.72117 16.2536 9.95098 16.4281C10.1808 16.6025 10.5262 16.4435 11.2171 16.1254L11.3959 16.0431C11.5922 15.9527 11.6904 15.9075 11.7944 15.9075C11.8985 15.9075 11.9967 15.9527 12.193 16.0431L12.3717 16.1254C13.0626 16.4435 13.4081 16.6025 13.6379 16.4281C13.8677 16.2536 13.8297 15.8612 13.7536 15.0763L13.7339 14.8733C13.7123 14.6502 13.7015 14.5387 13.7337 14.4353C13.7658 14.3319 13.8373 14.2483 13.9802 14.0812L14.1104 13.929C14.6135 13.3407 14.865 13.0466 14.7772 12.7643C14.6894 12.482 14.3205 12.3986 13.5826 12.2316L13.3917 12.1884C13.182 12.141 13.0771 12.1172 12.993 12.0533C12.9088 11.9894 12.8548 11.8926 12.7468 11.6989L12.6485 11.5225C12.2685 10.8408 12.0785 10.5 11.7944 10.5Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

@@ -0,0 +1,10 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10.5766 8.70419C11.2099 7.56806 11.5266 7 12 7C12.4734 7 12.7901 7.56806 13.4234 8.70419L13.5873 8.99812C13.7672 9.32097 13.8572 9.48239 13.9975 9.5889C14.1378 9.69541 14.3126 9.73495 14.6621 9.81402L14.9802 9.88601C16.2101 10.1643 16.825 10.3034 16.9713 10.7739C17.1176 11.2443 16.6984 11.7345 15.86 12.715L15.643 12.9686C15.4048 13.2472 15.2857 13.3865 15.2321 13.5589C15.1785 13.7312 15.1965 13.9171 15.2325 14.2888L15.2653 14.6272C15.3921 15.9353 15.4554 16.5894 15.0724 16.8801C14.6894 17.1709 14.1137 16.9058 12.9622 16.3756L12.6643 16.2384C12.337 16.0878 12.1734 16.0124 12 16.0124C11.8266 16.0124 11.663 16.0878 11.3357 16.2384L11.0378 16.3756C9.88634 16.9058 9.31059 17.1709 8.92757 16.8801C8.54456 16.5894 8.60794 15.9353 8.7347 14.6272L8.76749 14.2888C8.80351 13.9171 8.82152 13.7312 8.76793 13.5589C8.71434 13.3865 8.59521 13.2472 8.35696 12.9686L8.14005 12.715C7.30162 11.7345 6.88241 11.2443 7.02871 10.7739C7.17501 10.3034 7.78993 10.1643 9.01977 9.88601L9.33794 9.81402C9.68743 9.73495 9.86217 9.69541 10.0025 9.5889C10.1428 9.48239 10.2328 9.32097 10.4127 8.99812L10.5766 8.70419Z" fill="black"/>
<path opacity="0.8" fill-rule="evenodd" clip-rule="evenodd" d="M12 1.25C12.4142 1.25 12.75 1.58579 12.75 2V4C12.75 4.41421 12.4142 4.75 12 4.75C11.5858 4.75 11.25 4.41421 11.25 4V2C11.25 1.58579 11.5858 1.25 12 1.25ZM1.25 12C1.25 11.5858 1.58579 11.25 2 11.25H4C4.41421 11.25 4.75 11.5858 4.75 12C4.75 12.4142 4.41421 12.75 4 12.75H2C1.58579 12.75 1.25 12.4142 1.25 12ZM19.25 12C19.25 11.5858 19.5858 11.25 20 11.25H22C22.4142 11.25 22.75 11.5858 22.75 12C22.75 12.4142 22.4142 12.75 22 12.75H20C19.5858 12.75 19.25 12.4142 19.25 12ZM12 19.25C12.4142 19.25 12.75 19.5858 12.75 20V22C12.75 22.4142 12.4142 22.75 12 22.75C11.5858 22.75 11.25 22.4142 11.25 22V20C11.25 19.5858 11.5858 19.25 12 19.25Z" fill="black"/>
<g opacity="0.5">
<path d="M18.5304 5.46967C18.8233 5.76256 18.8233 6.23744 18.5304 6.53033L18.1872 6.87359C17.8943 7.16648 17.4194 7.16648 17.1265 6.87359C16.8336 6.5807 16.8336 6.10583 17.1265 5.81293L17.4698 5.46967C17.7627 5.17678 18.2376 5.17678 18.5304 5.46967Z" fill="black"/>
<path d="M5.46967 5.46979C5.76256 5.17689 6.23744 5.17689 6.53033 5.46979L6.87359 5.81305C7.16648 6.10594 7.16648 6.58081 6.87359 6.87371C6.5807 7.1666 6.10583 7.1666 5.81293 6.87371L5.46967 6.53045C5.17678 6.23755 5.17678 5.76268 5.46967 5.46979Z" fill="black"/>
<path d="M6.87348 17.1266C7.16637 17.4195 7.16637 17.8944 6.87348 18.1873L6.53043 18.5303C6.23754 18.8232 5.76266 18.8232 5.46977 18.5303C5.17688 18.2375 5.17688 17.7626 5.46977 17.4697L5.81282 17.1266C6.10571 16.8337 6.58058 16.8337 6.87348 17.1266Z" fill="black"/>
<path d="M17.1265 17.1269C17.4194 16.834 17.8943 16.834 18.1872 17.1269L18.5302 17.4699C18.8231 17.7628 18.8231 18.2377 18.5302 18.5306C18.2373 18.8235 17.7624 18.8235 17.4695 18.5306L17.1265 18.1875C16.8336 17.8946 16.8336 17.4198 17.1265 17.1269Z" fill="black"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

@@ -0,0 +1,4 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M18.4834 16.7674C17.8471 16.9195 17.1829 17 16.5 17C11.8056 17 8 13.1944 8 8.50001C8 8.01653 8.04036 7.54249 8.11791 7.08105C8.08172 7.11586 8.04432 7.14792 8.00494 7.17781C7.72433 7.39083 7.37485 7.46991 6.67589 7.62806L6.03954 7.77204C3.57986 8.32856 2.35002 8.60682 2.05742 9.54774C1.76482 10.4887 2.60325 11.4691 4.2801 13.4299L4.71392 13.9372C5.19042 14.4944 5.42868 14.773 5.53586 15.1177C5.64305 15.4624 5.60703 15.8341 5.53498 16.5776L5.4694 17.2544C5.21588 19.8706 5.08912 21.1787 5.85515 21.7602C6.62117 22.3417 7.77267 21.8116 10.0757 20.7512L10.6715 20.4768C11.3259 20.1755 11.6531 20.0249 12 20.0249C12.3469 20.0249 12.6741 20.1755 13.3285 20.4768L13.9243 20.7512C16.2273 21.8116 17.3788 22.3417 18.1449 21.7602C18.9109 21.1787 18.7841 19.8706 18.5306 17.2544L18.4834 16.7674Z" fill="black"/>
<path opacity="0.5" d="M9.15327 5.40838L8.82557 5.99623C8.46563 6.64194 8.28566 6.96479 8.00504 7.17781C8.04442 7.14791 8.08182 7.11586 8.11801 7.08105C8.04047 7.54249 8.0001 8.01653 8.0001 8.50001C8.0001 13.1944 11.8057 17 16.5001 17C17.183 17 17.8472 16.9195 18.4835 16.7674L18.4651 16.5776C18.3931 15.8341 18.3571 15.4624 18.4642 15.1177C18.5714 14.773 18.8097 14.4944 19.2862 13.9372L19.72 13.4299C21.3968 11.4691 22.2353 10.4886 21.9427 9.54773C21.6501 8.60682 20.4202 8.32856 17.9606 7.77203L17.3242 7.62805C16.6253 7.4699 16.2758 7.39083 15.9952 7.17781C15.7145 6.96479 15.5346 6.64194 15.1746 5.99624L14.8469 5.40837C13.5803 3.13612 12.947 2 12.0001 2C11.0532 2 10.4199 3.13613 9.15327 5.40838Z" fill="black"/>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB