Import assets and add PWA.
2
external/lang
vendored
|
@ -1 +1 @@
|
|||
Subproject commit 0334783257c0b1cd47ee9affdc1a0dddc127edf2
|
||||
Subproject commit 50570240bc09fc23794bb4452c1c0f35599b3219
|
|
@ -50,6 +50,7 @@
|
|||
"sass": "^1.35.1",
|
||||
"styled-components": "^5.3.0",
|
||||
"typescript": "^4.3.2",
|
||||
"vite": "^2.3.7"
|
||||
"vite": "^2.3.7",
|
||||
"vite-plugin-pwa": "^0.8.1"
|
||||
}
|
||||
}
|
||||
|
|
BIN
public/assets/app_icon.png
Normal file
After Width: | Height: | Size: 12 KiB |
4
public/assets/badges/developer.svg
Normal file
|
@ -0,0 +1,4 @@
|
|||
<svg width="343" height="343" viewBox="0 0 343 343" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M163.994 101.423C163.994 118.65 154.621 128.991 134.617 128.991H101.497V74.4793H134.623C154.621 74.4793 163.994 85.1293 163.994 101.423ZM16 30L48.0653 74.5844V249.881H101.503V166.887H114.317L159.948 249.899H220.262L169.636 162.814C183.771 159.366 196.307 151.183 205.17 139.62C214.033 128.057 218.692 113.807 218.375 99.2285C218.375 61.0106 191.502 30 137.749 30H48.0653H16Z" fill="#EFAB44" stroke="#EFAB44" stroke-width="0.97733"/>
|
||||
<path d="M323.215 148.038L280.59 190.653L241.854 151.906L284.469 109.292C258.674 98.6844 227.937 103.835 206.997 124.797C186.057 145.737 180.895 176.485 191.503 202.28L122.731 271.04C118.447 275.324 118.447 282.25 122.731 286.534L145.984 309.787C150.268 314.071 157.194 314.071 161.478 309.787L230.238 241.015C256.033 251.622 286.781 246.461 307.721 225.521C328.661 204.57 333.812 173.822 323.215 148.038Z" fill="#99AAB5"/>
|
||||
</svg>
|
After Width: | Height: | Size: 973 B |
4
public/assets/badges/early_adopter.svg
Normal file
|
@ -0,0 +1,4 @@
|
|||
<svg width="343" height="343" viewBox="0 0 343 343" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M252.571 30L333.429 171.5L252.571 313H90.8571L10 171.5L90.8571 30H252.571Z" fill="#509AF0"/>
|
||||
<path d="M164.486 82.3018C182.31 82.3018 196.421 86.5928 206.818 95.1748C217.298 103.757 222.538 115.722 222.538 131.071C222.538 139.323 220.475 146.791 216.349 153.475C212.223 160.159 206.406 165.523 198.896 169.566C209.046 173.032 216.803 178.561 222.167 186.153C227.613 193.744 230.336 202.945 230.336 213.755C230.336 230.672 225.427 243.875 215.607 253.365C205.787 262.772 192.295 267.476 175.131 267.476C162.093 267.476 150.499 264.34 140.349 258.068V313H104.577V137.012C104.577 126.697 107.176 117.373 112.375 109.038C117.573 100.621 124.794 94.0608 134.036 89.3572C143.278 84.6536 153.428 82.3018 164.486 82.3018ZM186.766 133.794C186.766 127.027 184.703 121.581 180.577 117.455C176.534 113.329 171.17 111.266 164.486 111.266C157.472 111.266 151.695 113.618 147.157 118.322C142.618 122.943 140.349 129.338 140.349 137.507V231.456C147.115 236.242 156.028 238.635 167.085 238.635C175.502 238.635 182.186 236.283 187.137 231.58C192.089 226.793 194.564 220.687 194.564 213.26C194.564 204.348 192.295 197.416 187.756 192.465C183.3 187.432 176.699 184.915 167.952 184.915H155.945V158.797H165.6C179.711 158.302 186.766 149.968 186.766 133.794Z" fill="white"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
15
public/assets/badges/translator.svg
Normal file
|
@ -0,0 +1,15 @@
|
|||
<svg width="343" height="343" viewBox="0 0 343 343" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0)">
|
||||
<rect x="141.421" y="31" width="200" height="200" transform="rotate(45 141.421 31)" fill="#01BE6E"/>
|
||||
<path d="M137.926 182.464C128.751 173.507 120.668 165.642 116.08 147.51H148.194V133.965H116.298V116.051H102.535V134.184H70.4214V147.728H103.191C103.191 147.728 102.972 150.35 102.535 152.316C97.9475 170.23 92.486 181.59 70.4214 192.731L75.0091 206.276C95.9814 195.134 106.904 181.153 111.711 165.642C116.298 177.439 124.163 187.051 133.12 195.79L137.926 182.464Z" fill="white"/>
|
||||
<path d="M180.307 138.551H161.956L129.842 228.775H143.605L152.781 201.686H189.482L198.658 228.775H212.421L180.307 138.551ZM157.368 188.142L171.132 152.095L184.895 188.36L157.368 188.142Z" fill="white"/>
|
||||
<path d="M305.473 170.182L208.174 267.48C206.834 268.82 205.148 269.773 203.306 270.234L148.421 281.018L159.206 226.123C159.666 224.291 160.619 222.605 161.959 221.265L259.258 123.967L274.421 108.803L320.421 103.921V155.233L305.473 170.182Z" fill="#99AAB5"/>
|
||||
<path d="M208.174 267.478L305.473 170.18L259.258 123.965L161.959 221.263C160.619 222.603 159.666 224.289 159.206 226.121L148.421 281.016L203.306 270.232C205.148 269.771 206.834 268.818 208.174 267.478ZM336.883 138.769C345.06 130.592 345.06 117.337 336.883 109.16L320.278 92.5542C312.1 84.3771 298.845 84.3771 290.668 92.5542L274.063 109.16L320.278 155.375L336.883 138.769Z" fill="#EA596E"/>
|
||||
<path d="M305.473 170.182L208.174 267.48C206.834 268.82 205.148 269.773 203.306 270.234L148.421 281.018L159.206 226.123C159.666 224.291 160.619 222.605 161.959 221.265L259.258 123.967L305.473 170.182Z" fill="#FFCC4D"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0">
|
||||
<rect width="343" height="343" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
1
public/assets/emojis.ts
Normal file
BIN
public/assets/favicon.ico
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
public/assets/group.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
public/assets/icons/android-chrome-192x192.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
public/assets/icons/android-chrome-512x512.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
public/assets/icons/apple-touch-icon.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
public/assets/icons/favicon-16x16.png
Normal file
After Width: | Height: | Size: 5.9 KiB |
BIN
public/assets/icons/favicon-32x32.png
Normal file
After Width: | Height: | Size: 6.8 KiB |
BIN
public/assets/icons/mstile-150x150.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
public/assets/icons/nightly-android-chrome-192x192.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
public/assets/icons/nightly-android-chrome-512x512.png
Normal file
After Width: | Height: | Size: 20 KiB |
80
public/assets/images/dark.svg
Normal file
|
@ -0,0 +1,80 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="323" height="202" viewBox="0 0 323 202">
|
||||
<g id="Dark" transform="translate(-225 -535)">
|
||||
<g id="Group_188" data-name="Group 188">
|
||||
<rect id="Rectangle_207" data-name="Rectangle 207" width="323" height="202" rx="6" transform="translate(225 535)" fill="#333234"/>
|
||||
<path id="Rectangle_209" data-name="Rectangle 209" d="M6,0H95a0,0,0,0,1,0,0V202a0,0,0,0,1,0,0H6a6,6,0,0,1-6-6V6A6,6,0,0,1,6,0Z" transform="translate(225 535)" fill="#212121"/>
|
||||
<g id="Group_195" data-name="Group 195" transform="translate(-345 1)">
|
||||
<g id="Group_196" data-name="Group 196" transform="translate(0 -6)">
|
||||
<rect id="Rectangle_221" data-name="Rectangle 221" width="81" height="15" rx="2" transform="translate(577 560)" fill="#373737"/>
|
||||
<rect id="Rectangle_217" data-name="Rectangle 217" width="22" height="4" rx="1" transform="translate(577 602)" fill="#efefef"/>
|
||||
<rect id="Rectangle_231" data-name="Rectangle 231" width="29" height="4" rx="1" transform="translate(591 566)" fill="#fff"/>
|
||||
<g id="Group_198" data-name="Group 198">
|
||||
<rect id="Rectangle_226" data-name="Rectangle 226" width="81" height="15" rx="2" transform="translate(577 580)" fill="#212121"/>
|
||||
<rect id="Rectangle_232" data-name="Rectangle 232" width="30" height="4" rx="1" transform="translate(613 586)" fill="#fff"/>
|
||||
<rect id="Rectangle_233" data-name="Rectangle 233" width="20" height="4" rx="1" transform="translate(591 586)" fill="#fff"/>
|
||||
</g>
|
||||
<g id="Voice_Channel" data-name="Voice Channel">
|
||||
<rect id="Rectangle_227" data-name="Rectangle 227" width="81" height="15" rx="2" transform="translate(577 614)" fill="#36ad93"/>
|
||||
<rect id="Rectangle_230" data-name="Rectangle 230" width="16" height="4" rx="1" transform="translate(591 620)" fill="#fff"/>
|
||||
<g id="Connected_Users" data-name="Connected Users">
|
||||
<circle id="Ellipse_50" data-name="Ellipse 50" cx="4.5" cy="4.5" r="4.5" transform="translate(630 617)" fill="#8b8b8b"/>
|
||||
<circle id="Ellipse_51" data-name="Ellipse 51" cx="4.5" cy="4.5" r="4.5" transform="translate(635 617)" fill="#b7b7b7"/>
|
||||
<circle id="Ellipse_52" data-name="Ellipse 52" cx="4.5" cy="4.5" r="4.5" transform="translate(641 617)" fill="#e8e8e8"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group_199" data-name="Group 199" transform="translate(0 54)">
|
||||
<rect id="Rectangle_226-2" data-name="Rectangle 226" width="81" height="15" rx="2" transform="translate(577 580)" fill="#212121"/>
|
||||
<rect id="Rectangle_234" data-name="Rectangle 234" width="25" height="4" rx="1" transform="translate(591 586)" fill="#fff"/>
|
||||
</g>
|
||||
<g id="Group_200" data-name="Group 200" transform="translate(0 74)">
|
||||
<rect id="Rectangle_226-3" data-name="Rectangle 226" width="81" height="15" rx="2" transform="translate(577 580)" fill="#212121"/>
|
||||
<rect id="Rectangle_235" data-name="Rectangle 235" width="15" height="4" rx="1" transform="translate(629 586)" fill="#fff"/>
|
||||
<rect id="Rectangle_236" data-name="Rectangle 236" width="36" height="4" rx="1" transform="translate(591 586)" fill="#fff"/>
|
||||
</g>
|
||||
<g id="Group_201" data-name="Group 201" transform="translate(0 94)">
|
||||
<rect id="Rectangle_226-4" data-name="Rectangle 226" width="81" height="15" rx="2" transform="translate(577 580)" fill="#212121"/>
|
||||
<rect id="Rectangle_237" data-name="Rectangle 237" width="20" height="4" rx="1" transform="translate(591 586)" fill="#fff"/>
|
||||
<rect id="Rectangle_238" data-name="Rectangle 238" width="30" height="4" rx="1" transform="translate(613 586)" fill="#fff"/>
|
||||
</g>
|
||||
</g>
|
||||
<path id="Rectangle_224" data-name="Rectangle 224" d="M0,0H95a0,0,0,0,1,0,0V51a0,0,0,0,1,0,0H6a6,6,0,0,1-6-6V0A0,0,0,0,1,0,0Z" transform="translate(570 685)" fill="#404040"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group_187" data-name="Group 187" transform="translate(0 -9)">
|
||||
<circle id="Ellipse_49" data-name="Ellipse 49" cx="10.5" cy="10.5" r="10.5" transform="translate(336 681)" fill="#686868"/>
|
||||
<rect id="Rectangle_210" data-name="Rectangle 210" width="34" height="8" rx="2" transform="translate(365 681)" fill="#e8e8e8"/>
|
||||
<rect id="Rectangle_211" data-name="Rectangle 211" width="28" height="8" rx="2" transform="translate(404 681)" fill="#676767"/>
|
||||
<rect id="Rectangle_212" data-name="Rectangle 212" width="24" height="6" rx="2" transform="translate(365 696)" fill="#fff"/>
|
||||
<rect id="Rectangle_213" data-name="Rectangle 213" width="47" height="6" rx="2" transform="translate(393 696)" fill="#fff"/>
|
||||
<rect id="Rectangle_214" data-name="Rectangle 214" width="55" height="6" rx="2" transform="translate(444 696)" fill="#fff"/>
|
||||
</g>
|
||||
<g id="Group_189" data-name="Group 189">
|
||||
<line id="Line_18" data-name="Line 18" x2="191" transform="translate(335.5 656.5)" fill="none" stroke="#707070" stroke-linecap="round" stroke-width="1" opacity="0.5"/>
|
||||
</g>
|
||||
<g id="Group_192" data-name="Group 192" transform="translate(0 -83)">
|
||||
<rect id="Rectangle_210-2" data-name="Rectangle 210" width="34" height="8" rx="2" transform="translate(365 681)" fill="#e8e8e8"/>
|
||||
<rect id="Rectangle_211-2" data-name="Rectangle 211" width="28" height="8" rx="2" transform="translate(404 681)" fill="#676767"/>
|
||||
<rect id="Rectangle_212-2" data-name="Rectangle 212" width="81" height="6" rx="2" transform="translate(365 696)" fill="#68abee"/>
|
||||
<g id="Group_194" data-name="Group 194" transform="translate(0 2)">
|
||||
<rect id="Rectangle_219" data-name="Rectangle 219" width="23" height="6" rx="2" transform="translate(372 707)" fill="#68abee"/>
|
||||
<rect id="Rectangle_220" data-name="Rectangle 220" width="103" height="6" rx="2" transform="translate(372 718)" fill="#888"/>
|
||||
<line id="Line_35" data-name="Line 35" y2="17" transform="translate(365.5 707.5)" fill="none" stroke="#707070" stroke-linecap="round" stroke-width="1"/>
|
||||
</g>
|
||||
<circle id="Ellipse_49-2" data-name="Ellipse 49" cx="10.5" cy="10.5" r="10.5" transform="translate(336 681)" fill="#686868"/>
|
||||
</g>
|
||||
<g id="Group_193" data-name="Group 193" transform="translate(0 -133)">
|
||||
<circle id="Ellipse_49-3" data-name="Ellipse 49" cx="10.5" cy="10.5" r="10.5" transform="translate(336 681)" fill="#686868"/>
|
||||
<rect id="Rectangle_210-3" data-name="Rectangle 210" width="34" height="8" rx="2" transform="translate(365 681)" fill="#e8e8e8"/>
|
||||
<rect id="Rectangle_211-3" data-name="Rectangle 211" width="28" height="8" rx="2" transform="translate(404 681)" fill="#676767"/>
|
||||
<rect id="Rectangle_212-3" data-name="Rectangle 212" width="95" height="6" rx="2" transform="translate(365 696)" fill="#fff"/>
|
||||
<rect id="Rectangle_213-2" data-name="Rectangle 213" width="29" height="6" rx="2" transform="translate(365 709)" fill="#fff"/>
|
||||
<rect id="Rectangle_218" data-name="Rectangle 218" width="50" height="6" rx="2" transform="translate(398 709)" fill="#fff"/>
|
||||
<rect id="Rectangle_214-2" data-name="Rectangle 214" width="68" height="6" rx="2" transform="translate(464 696)" fill="#fff"/>
|
||||
</g>
|
||||
<rect id="Rectangle_228" data-name="Rectangle 228" width="191" height="18" rx="4" transform="translate(336 709)" fill="#434343"/>
|
||||
<g id="Rectangle_229" data-name="Rectangle 229" transform="translate(506 709)" fill="#707070" stroke="#707070" stroke-width="1">
|
||||
<path d="M0,0H17a4,4,0,0,1,4,4V14a4,4,0,0,1-4,4H0a0,0,0,0,1,0,0V0A0,0,0,0,1,0,0Z" stroke="none"/>
|
||||
<path d="M1,.5H17A3.5,3.5,0,0,1,20.5,4V14A3.5,3.5,0,0,1,17,17.5H1A.5.5,0,0,1,.5,17V1A.5.5,0,0,1,1,.5Z" fill="none"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 7.7 KiB |
77
public/assets/images/light.svg
Normal file
|
@ -0,0 +1,77 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="323" height="202" viewBox="0 0 323 202">
|
||||
<g id="Light" transform="translate(-225 -535)">
|
||||
<g id="Group_188" data-name="Group 188">
|
||||
<rect id="Rectangle_207" data-name="Rectangle 207" width="323" height="202" rx="6" transform="translate(225 535)" fill="#fbfbfb"/>
|
||||
<path id="Rectangle_209" data-name="Rectangle 209" d="M6,0H95a0,0,0,0,1,0,0V202a0,0,0,0,1,0,0H6a6,6,0,0,1-6-6V6A6,6,0,0,1,6,0Z" transform="translate(225 535)" fill="#fff"/>
|
||||
<g id="Group_195" data-name="Group 195" transform="translate(-345 1)">
|
||||
<g id="Group_196" data-name="Group 196" transform="translate(0 -6)">
|
||||
<rect id="Rectangle_221" data-name="Rectangle 221" width="81" height="15" rx="2" transform="translate(577 560)" fill="#e8e8e8"/>
|
||||
<rect id="Rectangle_217" data-name="Rectangle 217" width="22" height="4" rx="1" transform="translate(577 602)" fill="#5a5a5a"/>
|
||||
<rect id="Rectangle_231" data-name="Rectangle 231" width="29" height="4" rx="1" transform="translate(591 566)" fill="#464646"/>
|
||||
<g id="Group_198" data-name="Group 198">
|
||||
<rect id="Rectangle_226" data-name="Rectangle 226" width="81" height="15" rx="2" transform="translate(577 580)" fill="#fff"/>
|
||||
<rect id="Rectangle_232" data-name="Rectangle 232" width="30" height="4" rx="1" transform="translate(613 586)" fill="#464646"/>
|
||||
<rect id="Rectangle_233" data-name="Rectangle 233" width="20" height="4" rx="1" transform="translate(591 586)" fill="#464646"/>
|
||||
</g>
|
||||
<g id="Voice_Channel" data-name="Voice Channel">
|
||||
<rect id="Rectangle_227" data-name="Rectangle 227" width="81" height="15" rx="2" transform="translate(577 614)" fill="#36ad93"/>
|
||||
<rect id="Rectangle_230" data-name="Rectangle 230" width="16" height="4" rx="1" transform="translate(591 620)" fill="#fff"/>
|
||||
<g id="Connected_Users" data-name="Connected Users">
|
||||
<circle id="Ellipse_50" data-name="Ellipse 50" cx="4.5" cy="4.5" r="4.5" transform="translate(630 617)" fill="#8b8b8b"/>
|
||||
<circle id="Ellipse_51" data-name="Ellipse 51" cx="4.5" cy="4.5" r="4.5" transform="translate(635 617)" fill="#b7b7b7"/>
|
||||
<circle id="Ellipse_52" data-name="Ellipse 52" cx="4.5" cy="4.5" r="4.5" transform="translate(641 617)" fill="#e8e8e8"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group_199" data-name="Group 199" transform="translate(0 54)">
|
||||
<rect id="Rectangle_226-2" data-name="Rectangle 226" width="81" height="15" rx="2" transform="translate(577 580)" fill="#fff"/>
|
||||
<rect id="Rectangle_234" data-name="Rectangle 234" width="25" height="4" rx="1" transform="translate(591 586)" fill="#464646"/>
|
||||
</g>
|
||||
<g id="Group_200" data-name="Group 200" transform="translate(0 74)">
|
||||
<rect id="Rectangle_226-3" data-name="Rectangle 226" width="81" height="15" rx="2" transform="translate(577 580)" fill="#fff"/>
|
||||
<rect id="Rectangle_235" data-name="Rectangle 235" width="15" height="4" rx="1" transform="translate(629 586)" fill="#464646"/>
|
||||
<rect id="Rectangle_236" data-name="Rectangle 236" width="36" height="4" rx="1" transform="translate(591 586)" fill="#464646"/>
|
||||
</g>
|
||||
<g id="Group_201" data-name="Group 201" transform="translate(0 94)">
|
||||
<rect id="Rectangle_226-4" data-name="Rectangle 226" width="81" height="15" rx="2" transform="translate(577 580)" fill="#fff"/>
|
||||
<rect id="Rectangle_237" data-name="Rectangle 237" width="20" height="4" rx="1" transform="translate(591 586)" fill="#464646"/>
|
||||
<rect id="Rectangle_238" data-name="Rectangle 238" width="30" height="4" rx="1" transform="translate(613 586)" fill="#464646"/>
|
||||
</g>
|
||||
</g>
|
||||
<path id="Rectangle_224" data-name="Rectangle 224" d="M0,0H95a0,0,0,0,1,0,0V51a0,0,0,0,1,0,0H6a6,6,0,0,1-6-6V0A0,0,0,0,1,0,0Z" transform="translate(570 685)" fill="#c7c7c7"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group_187" data-name="Group 187" transform="translate(0 -9)">
|
||||
<circle id="Ellipse_49" data-name="Ellipse 49" cx="10.5" cy="10.5" r="10.5" transform="translate(336 681)" fill="#cfcfcf"/>
|
||||
<rect id="Rectangle_210" data-name="Rectangle 210" width="34" height="8" rx="2" transform="translate(365 681)" fill="#464646"/>
|
||||
<rect id="Rectangle_211" data-name="Rectangle 211" width="28" height="8" rx="2" transform="translate(404 681)" fill="#676767"/>
|
||||
<rect id="Rectangle_212" data-name="Rectangle 212" width="24" height="6" rx="2" transform="translate(365 696)" fill="#4a4a4a"/>
|
||||
<rect id="Rectangle_213" data-name="Rectangle 213" width="47" height="6" rx="2" transform="translate(393 696)" fill="#4a4a4a"/>
|
||||
<rect id="Rectangle_214" data-name="Rectangle 214" width="55" height="6" rx="2" transform="translate(444 696)" fill="#4a4a4a"/>
|
||||
</g>
|
||||
<g id="Group_189" data-name="Group 189">
|
||||
<line id="Line_18" data-name="Line 18" x2="191" transform="translate(335.5 656.5)" fill="none" stroke="#c5c5c5" stroke-linecap="round" stroke-width="1" opacity="0.5"/>
|
||||
</g>
|
||||
<g id="Group_192" data-name="Group 192" transform="translate(0 -83)">
|
||||
<rect id="Rectangle_210-2" data-name="Rectangle 210" width="34" height="8" rx="2" transform="translate(365 681)" fill="#464646"/>
|
||||
<rect id="Rectangle_211-2" data-name="Rectangle 211" width="28" height="8" rx="2" transform="translate(404 681)" fill="#676767"/>
|
||||
<rect id="Rectangle_212-2" data-name="Rectangle 212" width="81" height="6" rx="2" transform="translate(365 696)" fill="#68abee"/>
|
||||
<g id="Group_194" data-name="Group 194" transform="translate(0 2)">
|
||||
<rect id="Rectangle_219" data-name="Rectangle 219" width="23" height="6" rx="2" transform="translate(372 707)" fill="#68abee"/>
|
||||
<rect id="Rectangle_220" data-name="Rectangle 220" width="103" height="6" rx="2" transform="translate(372 718)" fill="#4a4a4a"/>
|
||||
<line id="Line_35" data-name="Line 35" y2="17" transform="translate(365.5 707.5)" fill="none" stroke="#bfbfbf" stroke-linecap="round" stroke-width="1"/>
|
||||
</g>
|
||||
<circle id="Ellipse_49-2" data-name="Ellipse 49" cx="10.5" cy="10.5" r="10.5" transform="translate(336 681)" fill="#cfcfcf"/>
|
||||
</g>
|
||||
<g id="Group_193" data-name="Group 193" transform="translate(0 -133)">
|
||||
<circle id="Ellipse_49-3" data-name="Ellipse 49" cx="10.5" cy="10.5" r="10.5" transform="translate(336 681)" fill="#cfcfcf"/>
|
||||
<rect id="Rectangle_210-3" data-name="Rectangle 210" width="34" height="8" rx="2" transform="translate(365 681)" fill="#464646"/>
|
||||
<rect id="Rectangle_211-3" data-name="Rectangle 211" width="28" height="8" rx="2" transform="translate(404 681)" fill="#676767"/>
|
||||
<rect id="Rectangle_212-3" data-name="Rectangle 212" width="95" height="6" rx="2" transform="translate(365 696)" fill="#4a4a4a"/>
|
||||
<rect id="Rectangle_213-2" data-name="Rectangle 213" width="29" height="6" rx="2" transform="translate(365 709)" fill="#4a4a4a"/>
|
||||
<rect id="Rectangle_218" data-name="Rectangle 218" width="50" height="6" rx="2" transform="translate(398 709)" fill="#4a4a4a"/>
|
||||
<rect id="Rectangle_214-2" data-name="Rectangle 214" width="68" height="6" rx="2" transform="translate(464 696)" fill="#4a4a4a"/>
|
||||
</g>
|
||||
<rect id="Rectangle_228" data-name="Rectangle 228" width="191" height="18" rx="4" transform="translate(336 709)" fill="#ececec"/>
|
||||
<path id="Rectangle_229" data-name="Rectangle 229" d="M0,0H17a4,4,0,0,1,4,4V14a4,4,0,0,1-4,4H0a0,0,0,0,1,0,0V0A0,0,0,0,1,0,0Z" transform="translate(506 709)" fill="#bebfc1"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 7.5 KiB |
46
public/assets/images/mutant_emoji.svg
Normal file
|
@ -0,0 +1,46 @@
|
|||
<svg width="168" height="48" viewBox="0 0 168 48" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M46.6542 31.4888C46.6542 34.5025 45.8664 36.6415 44.6376 38.2006C43.3969 39.7748 41.6127 40.8766 39.4233 41.6367C34.9808 43.1788 29.2654 43.1935 24.1496 43.1935C19.0358 43.1935 13.2409 43.1793 8.71974 41.6345C6.48927 40.8724 4.66749 39.7674 3.40073 38.1907C2.14775 36.6313 1.34512 34.4956 1.34512 31.4888C1.34512 25.8668 2.55606 19.0242 6.00774 13.6332C9.40822 8.32209 15.0271 4.33438 24.1496 4.33438C32.7968 4.33438 38.3534 8.3292 41.8066 13.6813C45.3033 19.1009 46.6542 25.9511 46.6542 31.4888Z" fill="#FBC546" stroke="black" stroke-width="2.69025"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.2728 33.3183C13.8733 31.4729 12.147 28.7982 11.5225 25.7256H36.6027C35.9782 28.7982 34.2518 31.4729 31.8523 33.3183C30.4293 31.7762 17.6959 31.7762 16.2728 33.3183Z" fill="#722245"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.2744 33.3182C17.6975 31.7761 19.7271 30.8445 21.9206 30.8445C23.3155 30.8445 24.8128 30.8445 26.2077 30.8445C28.4012 30.8445 30.4309 31.7761 31.8539 33.3182C29.6963 34.9768 26.9948 35.9634 24.0642 35.9634C21.1336 35.9634 18.432 34.9768 16.2744 33.3182Z" fill="#CA3B8F"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M15.7473 24.4461C16.9349 24.4461 18.0725 23.9739 18.912 23.1344C19.7516 22.2949 20.2238 21.1572 20.2238 19.9696C20.2238 19.1288 20.2238 18.2483 20.2238 17.4075C20.2238 14.9338 18.2184 12.9285 15.7447 12.9285H15.7421C14.5545 12.9285 13.4169 13.4007 12.5774 14.2402C11.7378 15.0797 11.2656 16.2174 11.2656 17.405C11.2656 18.2458 11.2656 19.1262 11.2656 19.967C11.2656 22.4407 13.271 24.4461 15.7447 24.4461H15.7473V24.4461Z" fill="white"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M13.8252 16.7675C13.8252 16.0892 14.0952 15.4378 14.5751 14.9579C15.055 14.478 15.7064 14.208 16.3847 14.208C17.0629 14.208 17.7143 14.478 18.1942 14.9579C18.6741 15.4378 18.9441 16.0892 18.9441 16.7675C18.9441 17.9653 18.9441 19.3884 18.9441 20.5849C18.9441 21.2645 18.6741 21.9146 18.1942 22.3958C17.7143 22.8757 17.0629 23.1444 16.3847 23.1444C15.7064 23.1444 15.055 22.8757 14.5751 22.3958C14.0952 21.9146 13.8252 21.2645 13.8252 20.5849C13.8252 19.3884 13.8252 17.9653 13.8252 16.7675Z" fill="black"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M32.3789 24.4458C31.1913 24.4458 30.0536 23.9736 29.2141 23.1341C28.3746 22.2946 27.9023 21.1569 27.9023 19.9693C27.9023 19.1285 27.9023 18.2481 27.9023 17.4073C27.9023 14.9336 29.9077 12.9282 32.3814 12.9282H32.384C33.5716 12.9282 34.7093 13.4004 35.5488 14.24C36.3883 15.0795 36.8605 16.2171 36.8605 17.4047C36.8605 18.2455 36.8605 19.126 36.8605 19.9668C36.8605 22.4405 34.8551 24.4458 32.3814 24.4458H32.3789Z" fill="white"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M34.3006 16.7675C34.3006 16.0892 34.0306 15.4378 33.5507 14.9579C33.0708 14.478 32.4194 14.208 31.7411 14.208C31.0629 14.208 30.4115 14.478 29.9316 14.9579C29.4517 15.4378 29.1816 16.0892 29.1816 16.7675C29.1816 17.9653 29.1816 19.3884 29.1816 20.5849C29.1816 21.2645 29.4517 21.9146 29.9316 22.3958C30.4115 22.8757 31.0629 23.1444 31.7411 23.1444C32.4194 23.1444 33.0708 22.8757 33.5507 22.3958C34.0306 21.9146 34.3006 21.2645 34.3006 20.5849C34.3006 19.3884 34.3006 17.9653 34.3006 16.7675Z" fill="black"/>
|
||||
<g clip-path="url(#clip0)">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M123 45C123 45 127.019 28.9275 129.02 20.922C129.669 18.3225 132.004 16.5 134.683 16.5H134.685C143.971 16.5 151.5 24.0285 151.5 33.315V33.3165C151.5 35.9955 149.678 38.331 147.078 38.9805C139.073 40.9815 123 45 123 45Z" stroke="black" stroke-width="6" stroke-miterlimit="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M142.5 25.5C142.5 25.5 145.146 24.177 147.568 22.9665C150.106 21.696 152.113 19.569 153.231 16.959C153.364 16.6485 153.501 16.332 153.636 16.0155C155.07 12.669 158.359 10.5 162 10.5" stroke="black" stroke-width="9" stroke-miterlimit="1.5" stroke-linecap="square" stroke-linejoin="round"/>
|
||||
<path d="M136.5 19.5C136.5 19.5 136.5 18.5295 136.5 17.49C136.5 15.9645 137.362 14.5695 138.727 13.887C138.727 13.8855 138.729 13.8855 138.731 13.8855C139.73 13.3845 140.49 12.5085 140.844 11.448C141.196 10.3875 141.116 9.2295 140.615 8.2305C140.013 7.026 139.5 6 139.5 6" stroke="black" stroke-width="9" stroke-miterlimit="1.5" stroke-linecap="square" stroke-linejoin="round"/>
|
||||
<path d="M150.75 30.75C150.75 30.75 151.517 30.75 152.417 30.75C154.28 30.75 156.117 31.1835 157.783 32.0175C159.421 32.8365 161.25 33.75 161.25 33.75" stroke="black" stroke-width="9" stroke-miterlimit="1.5" stroke-linecap="square" stroke-linejoin="round"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M142.5 13.5L145.5 10.5L148.5 13.5L145.5 16.5L142.5 13.5Z" stroke="black" stroke-width="6" stroke-miterlimit="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M148.5 7.5L150 3L154.5 4.5L153 9L148.5 7.5Z" stroke="black" stroke-width="6" stroke-miterlimit="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M150 27L151.5 22.5L156 24L154.5 28.5L150 27Z" stroke="black" stroke-width="6" stroke-miterlimit="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M127.5 9L130.5 6L133.5 9L130.5 12L127.5 9Z" stroke="black" stroke-width="6" stroke-miterlimit="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M159 19.5L162 16.5L165 19.5L162 22.5L159 19.5Z" stroke="black" stroke-width="6" stroke-miterlimit="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M142.5 10.5L150 7.5H159V21H135V9L142.5 10.5Z" fill="black"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M130.5 18.2695L149.734 37.504C149.014 38.206 148.107 38.728 147.078 38.9845C139.073 40.9855 123 45.004 123 45.004C123 45.004 127.019 28.9315 129.02 20.926C129.276 19.897 129.798 18.9895 130.5 18.2695Z" fill="#E4AB1B"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M130.5 18.2655C131.571 17.166 133.065 16.5 134.683 16.5H134.685C143.971 16.5 151.5 24.0285 151.5 33.315V33.3165C151.5 34.935 150.834 36.429 149.734 37.5H148.5C143.725 37.5 139.148 35.604 135.773 32.2275C132.396 28.8525 130.5 24.2745 130.5 19.5V18.2655V18.2655Z" fill="#5E3D05"/>
|
||||
<path d="M142.5 25.5C142.5 25.5 145.146 24.177 147.568 22.9665C150.106 21.696 152.113 19.569 153.231 16.959C153.364 16.6485 153.501 16.332 153.636 16.0155C155.07 12.669 158.359 10.5 162 10.5" stroke="#37CBE8" stroke-width="3" stroke-miterlimit="1.5" stroke-linecap="square" stroke-linejoin="round"/>
|
||||
<path d="M136.5 19.5C136.5 19.5 136.5 18.5295 136.5 17.49C136.5 15.9645 137.362 14.5695 138.727 13.887C138.727 13.8855 138.729 13.8855 138.731 13.8855C139.73 13.3845 140.49 12.5085 140.844 11.448C141.196 10.3875 141.116 9.2295 140.615 8.2305C140.013 7.026 139.5 6 139.5 6" stroke="#F2C618" stroke-width="3" stroke-miterlimit="1.5" stroke-linecap="square" stroke-linejoin="round"/>
|
||||
<path d="M150.75 30.75C150.75 30.75 151.517 30.75 152.417 30.75C154.28 30.75 156.117 31.1835 157.783 32.0175C159.421 32.8365 161.25 33.75 161.25 33.75" stroke="#FF4586" stroke-width="3" stroke-miterlimit="1.5" stroke-linecap="square" stroke-linejoin="round"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M142.5 13.5L145.5 10.5L148.5 13.5L145.5 16.5L142.5 13.5Z" fill="#9146DC"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M127.5 9L130.5 6L133.5 9L130.5 12L127.5 9Z" fill="#9146DC"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M159 19.5L162 16.5L165 19.5L162 22.5L159 19.5Z" fill="#9146DC"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M148.5 7.5L150 3L154.5 4.5L153 9L148.5 7.5Z" fill="#F2298A"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M150 27L151.5 22.5L156 24L154.5 28.5L150 27Z" fill="#F2C618"/>
|
||||
</g>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M96 34.5L105 43.5V45H93C93 45 87.5445 39.5445 85.9395 37.9395C85.6575 37.6575 85.5 37.2765 85.5 36.879C85.5 33.1425 85.5 13.5765 85.5 6C85.5 4.3425 86.8425 3 88.5 3C88.5 3 93.876 13.752 95.5245 17.0505C95.838 17.6745 96 18.363 96 19.062C96 22.71 96 34.5 96 34.5Z" stroke="black" stroke-width="6" stroke-miterlimit="2" stroke-linejoin="round"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M72 34.5L63 43.5V45H75C75 45 80.4555 39.5445 82.0605 37.9395C82.3425 37.6575 82.5 37.2765 82.5 36.879C82.5 33.1425 82.5 13.5765 82.5 6C82.5 4.3425 81.1575 3 79.5 3C79.5 3 74.124 13.752 72.4755 17.0505C72.162 17.6745 72 18.363 72 19.062C72 22.71 72 34.5 72 34.5Z" stroke="black" stroke-width="6" stroke-miterlimit="2" stroke-linejoin="round"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M72 34.5H75L78.75 38.25V41.25L75 45H63V43.5L72 34.5Z" fill="#CE8D15"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M96 34.5H93L89.25 38.25V41.25L93 45H105V43.5L96 34.5Z" fill="#CE8D15"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M72 34.5L78.75 41.25C78.75 41.25 81.0705 38.9295 82.0605 37.9395C82.3425 37.6575 82.5 37.2765 82.5 36.879C82.5 33.1425 82.5 13.5765 82.5 6C82.5 4.3425 81.1575 3 79.5 3C79.5 3 74.124 13.752 72.4755 17.0505C72.162 17.6745 72 18.363 72 19.062C72 22.71 72 34.5 72 34.5Z" fill="#FFC20B"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M82.5 36H79.5C77.8425 36 76.5 34.6575 76.5 33C76.5 33 76.5 20.823 76.5 16.5C76.5 15.306 76.974 14.1615 77.8185 13.3185C78.6615 12.474 79.806 12 81 12L81.2235 12.006C82.335 12.06 83.391 12.5265 84.1815 13.3185C85.026 14.1615 85.5 15.306 85.5 16.5V33C85.5 34.6575 84.1575 36 82.5 36ZM79.5 33H82.5V16.5C82.5 16.1025 82.3425 15.72 82.0605 15.4395C81.78 15.1575 81.3975 15 81 15C80.6025 15 80.22 15.1575 79.9395 15.4395C79.6575 15.72 79.5 16.1025 79.5 16.5C79.5 20.823 79.5 33 79.5 33Z" fill="#765018"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M75 36V31.5H85.5V37.5H76.5L75 36Z" fill="#FFC20B"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M96 34.5L89.25 41.25C89.25 41.25 86.9295 38.9295 85.9395 37.9395C85.6575 37.6575 85.5 37.2765 85.5 36.879C85.5 33.1425 85.5 13.5765 85.5 6C85.5 4.3425 86.8425 3 88.5 3C88.5 3 93.876 13.752 95.5245 17.0505C95.838 17.6745 96 18.363 96 19.062C96 22.71 96 34.5 96 34.5Z" fill="#FFC20B"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M88.5 36C90.1575 36 91.5 34.6575 91.5 33C91.5 33 91.5 20.823 91.5 16.5C91.5 15.306 91.026 14.1615 90.1815 13.3185C89.3385 12.474 88.194 12 87 12C85.806 12 84.6615 12.474 83.8185 13.3185C82.974 14.1615 82.5 15.306 82.5 16.5C82.5 20.823 82.5 33 82.5 33C82.5 34.6575 83.8425 36 85.5 36H88.5ZM88.5 33V16.5C88.5 16.1025 88.3425 15.72 88.0605 15.4395C87.78 15.1575 87.3975 15 87 15C86.6025 15 86.22 15.1575 85.9395 15.4395C85.6575 15.72 85.5 16.1025 85.5 16.5V33H88.5Z" fill="#765018"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M91.5 37.5L93 36V31.5H82.5V37.5H91.5Z" fill="#FFC20B"/>
|
||||
<defs>
|
||||
<clipPath id="clip0">
|
||||
<rect width="48" height="48" fill="white" transform="translate(120)"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 11 KiB |
82
public/assets/images/noto_emoji.svg
Normal file
|
@ -0,0 +1,82 @@
|
|||
<svg width="168" height="48" viewBox="0 0 168 48" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M122.794 46.2263C123.645 47.1488 127.152 45.5401 129.919 44.2501C131.993 43.2863 140.292 39.8813 144.417 38.1151C145.53 37.6388 147.15 37.0163 148.317 35.4826C149.352 34.1176 152.097 28.3201 146.569 22.4476C140.959 16.4851 135.18 18.1313 133.02 19.6613C131.749 20.5613 130.714 22.5901 130.249 23.6213C128.284 27.9788 125.483 35.9626 124.343 39.1013C123.507 41.4151 121.95 45.3113 122.794 46.2263Z" fill="#FFC107"/>
|
||||
<path d="M129.694 24.9338C129.746 25.5863 129.878 26.6476 130.328 28.6913C130.635 30.0938 131.138 31.5638 131.546 32.5351C132.773 35.4563 134.494 36.6338 136.238 37.5788C139.2 39.1838 141.214 39.4838 141.214 39.4838L138.799 40.4701C138.799 40.4701 137.336 40.1663 135.341 39.1838C133.44 38.2463 131.46 36.6601 130.013 33.5551C129.386 32.2088 129.023 30.9038 128.813 29.8688C128.554 28.5863 128.513 27.8588 128.513 27.8588L129.694 24.9338Z" fill="#FF8F00"/>
|
||||
<path d="M126.728 32.5388C126.728 32.5388 127.028 34.9726 129.038 38.0438C131.393 41.6363 134.682 42.2251 134.682 42.2251L132.496 43.1251C132.496 43.1251 130.055 42.3788 127.733 39.2101C126.286 37.2338 125.881 34.8713 125.881 34.8713L126.728 32.5388Z" fill="#FF8F00"/>
|
||||
<path d="M124.647 38.3062C124.647 38.3062 125.194 40.4062 126.394 41.9737C127.823 43.8449 129.642 44.3887 129.642 44.3887L127.965 45.1312C127.965 45.1312 126.694 44.8649 125.303 43.1024C124.245 41.7637 123.945 40.2262 123.945 40.2262L124.647 38.3062Z" fill="#FF8F00"/>
|
||||
<g opacity="0.44">
|
||||
<path opacity="0.44" d="M123.735 43.6387C123.66 43.4699 123.66 43.2787 123.739 43.1137L133.29 23.3062L134.862 29.2124L124.812 43.7287C124.542 44.1337 123.934 44.0812 123.735 43.6387Z" fill="#FFFDE7"/>
|
||||
</g>
|
||||
<path d="M135.619 31.1964C140.082 36.4164 145.163 35.7639 146.854 34.4439C148.549 33.1202 149.888 28.5714 145.444 23.4377C140.787 18.0602 135.514 19.5939 134.296 20.7564C133.077 21.9189 131.524 26.4077 135.619 31.1964Z" fill="url(#paint0_linear)"/>
|
||||
<path d="M150.945 33.3449C149.318 31.9799 148.451 32.2237 147.289 32.7074C145.789 33.3299 143.43 33.7912 140.228 32.7074L141.191 30.3862C143.093 31.0274 144.469 30.7162 145.658 30.0149C147.188 29.1149 149.28 27.8812 152.535 30.6149C153.893 31.7549 155.284 32.5124 156.304 32.1674C157.046 31.9199 157.44 30.8137 157.639 29.9324C157.658 29.8537 157.688 29.6287 157.71 29.4299C157.89 28.0537 158.19 25.0837 160.403 23.5649C162.769 21.9412 165.255 21.9412 165.255 21.9412L165.705 26.4112C164.561 26.2424 163.766 26.4749 163.095 26.8462C160.568 28.2524 162.769 33.6524 158.835 35.4674C155.051 37.2262 151.958 34.1924 150.945 33.3449Z" fill="#03A9F4"/>
|
||||
<path d="M137.025 27.645L135.397 26.1863C138.386 22.8488 137.599 20.3963 137.025 18.6113C136.909 18.2513 136.8 17.91 136.729 17.5837C136.474 16.4287 136.421 15.4238 136.5 14.5463C135.352 13.1175 134.846 11.6212 134.812 11.52C134.115 9.40875 134.64 7.35 135.844 5.41875C138.277 1.5 142.684 1.5 142.684 1.5L144.154 5.43375C143.036 5.38875 139.372 5.445 138.247 7.21875C136.826 9.45375 137.76 10.8337 137.827 10.9912C138.101 10.635 138.379 10.35 138.626 10.1288C140.422 8.535 141.982 8.30625 142.976 8.39625C144.094 8.4975 145.106 9.06 145.83 9.9825C146.621 10.995 146.947 12.3113 146.696 13.5075C146.452 14.6738 145.676 15.66 144.51 16.2863C142.474 17.3813 140.779 17.2312 139.642 16.8525C139.65 16.8787 139.654 16.9087 139.661 16.935C139.702 17.1225 139.785 17.385 139.882 17.6887C140.546 19.7437 141.78 23.0063 137.025 27.645ZM139.781 13.5712C139.999 13.7287 140.227 13.86 140.464 13.9537C141.251 14.2687 142.11 14.1637 143.085 13.6387C143.659 13.3312 143.726 13.0013 143.749 12.8925C143.816 12.5663 143.704 12.15 143.46 11.8387C143.246 11.565 142.999 11.4225 142.702 11.3925C142.14 11.3437 141.379 11.7 140.617 12.3787C140.254 12.705 139.976 13.1062 139.781 13.5712Z" fill="#F44336"/>
|
||||
<path d="M143.539 28.2563L141.21 28.1925C141.21 28.1925 142.316 21.945 145.897 20.895C146.569 20.7 147.304 20.5013 148.042 20.3925C148.481 20.325 149.175 20.2238 149.516 20.0963C149.595 19.5075 149.347 18.7575 149.07 17.9063C148.852 17.2463 148.627 16.5675 148.507 15.825C148.275 14.3775 148.661 13.0988 149.595 12.2175C150.735 11.1488 152.576 10.8075 154.654 11.28C155.839 11.55 156.712 12.1313 157.481 12.6413C158.58 13.3725 159.221 13.7438 160.564 12.84C162.187 11.745 160.065 7.45876 158.936 4.98376L163.147 3.22876C163.714 4.46626 166.447 10.8338 164.644 14.4675C164.036 15.69 162.99 16.5 161.617 16.8038C158.632 17.4713 156.885 16.3088 155.61 15.4613C155.006 15.06 154.477 14.745 153.904 14.58C149.917 13.4438 155.482 19.3088 152.876 21.945C151.312 23.5238 147.491 23.94 147.244 24C144.784 24.5925 143.539 28.2563 143.539 28.2563Z" fill="#F48FB1"/>
|
||||
<path d="M136.497 14.5464C136.426 15.3714 136.392 15.8626 136.606 16.9351C137.637 17.6926 139.883 17.6926 139.883 17.6926C139.786 17.3889 139.699 17.1264 139.662 16.9389C139.654 16.9126 139.651 16.8826 139.643 16.8564C137.359 15.7164 136.497 14.5464 136.497 14.5464Z" fill="#C92B27"/>
|
||||
<path d="M131.825 18.2401L127.947 16.3388L129.879 13.5488L132.92 15.5626L131.825 18.2401Z" fill="#FFC107"/>
|
||||
<path d="M126.109 12.975C124.129 12.7087 122.112 11.0287 121.891 10.8375L123.837 8.55371C124.426 9.05246 125.674 9.88871 126.511 10.0012L126.109 12.975Z" fill="#FB8C00"/>
|
||||
<path d="M129.604 7.97611L126.754 7.04236C127.08 6.04486 127.166 4.96861 126.998 3.92986L129.96 3.45361C130.204 4.96111 130.08 6.52486 129.604 7.97611Z" fill="#03A9F4"/>
|
||||
<path d="M150.334 5.10573L147.403 5.74683L148.25 9.61535L151.18 8.97425L150.334 5.10573Z" fill="#FB8C00"/>
|
||||
<path d="M154.673 6.66367L152.61 4.48492C153.69 3.46117 153.938 2.12242 153.938 2.10742L156.9 2.59117C156.863 2.82742 156.484 4.94992 154.673 6.66367Z" fill="#FFC107"/>
|
||||
<path d="M158.439 17.3992L155.819 18.218L156.714 21.0815L159.334 20.2627L158.439 17.3992Z" fill="#FB8C00"/>
|
||||
<path d="M156.582 42.3863L153.601 42.0338C153.728 40.9725 152.937 39.6713 152.72 39.3825L155.12 37.5825C155.3 37.8188 156.863 39.9825 156.582 42.3863Z" fill="#F44336"/>
|
||||
<path d="M165.139 38.5839C164.018 38.4151 162.87 38.3476 161.738 38.3889L161.637 35.3889C162.953 35.3439 164.284 35.4189 165.585 35.6176L165.139 38.5839Z" fill="#FB8C00"/>
|
||||
<path d="M163.213 40.5786L161.105 42.7134L164.006 45.5774L166.114 43.4426L163.213 40.5786Z" fill="#F48FB1"/>
|
||||
<path d="M157.08 26.2273L154.912 23.749L152.434 25.9165L154.601 28.3947L157.08 26.2273Z" fill="#F44336"/>
|
||||
<g clip-path="url(#clip0)">
|
||||
<path d="M66.7683 34.2337C66.7496 34.2187 66.7308 34.2037 66.7121 34.1924C66.5921 34.1212 66.5208 34.0124 66.4946 33.8849C66.4721 33.7574 66.5021 33.6224 66.5808 33.4949C67.4508 33.0824 73.8558 30.0262 75.4383 28.5899C75.8471 28.2187 76.0421 27.2812 76.4058 25.3724C76.4883 24.9374 76.5783 24.4724 76.6758 23.9812C76.7696 23.5274 77.0171 22.6874 77.2758 21.7987C77.6321 20.5874 77.9996 19.3387 78.1233 18.5999C79.1508 12.3862 80.0058 4.68369 80.0133 4.60869C80.1521 3.26994 80.4446 1.90869 81.5321 1.90869C82.8146 1.90869 83.7108 2.71494 83.7108 3.87369L83.7896 33.5099C83.7896 35.6324 82.9833 35.9399 82.0496 36.2962C81.5246 36.4949 80.9321 36.7237 80.5121 37.2824C79.6533 38.4299 78.7346 39.9524 77.8458 41.4262C77.4671 42.0524 77.0808 42.6974 76.7021 43.3012L66.7683 34.2337V34.2337Z" fill="url(#paint1_radial)"/>
|
||||
<path d="M81.536 2.28003C82.616 2.28003 83.3398 2.91753 83.3398 3.87003L83.4185 33.5025C83.4185 35.3663 82.8223 35.595 81.9185 35.94C81.3485 36.1575 80.6998 36.405 80.216 37.05C79.346 38.2125 78.4235 39.7425 77.531 41.2275C77.231 41.7225 76.9273 42.2288 76.6273 42.7163L67.0273 33.9563C66.9935 33.9263 66.956 33.8963 66.9148 33.87C66.881 33.8513 66.8735 33.8325 66.8735 33.8138C66.8698 33.8025 66.8698 33.7875 66.8735 33.7725C68.111 33.1838 74.141 30.2813 75.6973 28.8675C76.196 28.4138 76.391 27.4913 76.781 25.4438C76.8635 25.0125 76.9535 24.5438 77.051 24.0563C77.141 23.6175 77.3848 22.785 77.6435 21.9075C78.0035 20.685 78.3748 19.425 78.4985 18.66C79.526 12.435 80.381 4.72503 80.3923 4.64253C80.5648 2.98503 80.906 2.28003 81.536 2.28003V2.28003ZM81.536 1.53003C80.0473 1.53003 79.7735 3.35628 79.646 4.56378C79.646 4.56378 78.7948 12.2588 77.7598 18.5363C77.5498 19.8075 76.5335 22.8263 76.316 23.9063C75.8548 26.1713 75.6185 27.9225 75.191 28.3125C73.5523 29.8013 66.3373 33.195 66.3373 33.195C65.9848 33.6413 66.0635 34.23 66.5173 34.5075L76.781 43.875C78.0935 41.8125 79.5223 39.225 80.8123 37.5C81.8435 36.12 84.1648 37.125 84.1648 33.5025L84.086 3.87003C84.086 2.58003 83.1185 1.53003 81.536 1.53003V1.53003Z" fill="#EDA600"/>
|
||||
<path d="M77.838 48.9976L58.9043 48.7876L59.1143 34.23L71.0168 28.8863C71.5755 28.6388 72.2243 28.95 72.3743 29.5425C72.7305 30.9338 73.5593 33.4013 75.3743 35.8763C77.0843 38.2088 78.9293 40.0088 80.0768 41.0363C80.7368 41.6288 80.9243 42.585 80.5305 43.38L75.9705 46.8863L77.838 48.9976V48.9976Z" fill="url(#paint2_linear)"/>
|
||||
<path d="M79.7246 6.75003C79.7246 6.75003 80.0321 4.81128 81.7946 4.81128C83.5571 4.81128 83.6771 6.75003 83.6771 6.75003" stroke="#EDA600" stroke-width="0.75" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M79.166 11.6251C79.166 11.6251 79.5523 9.50635 81.4198 9.50635C83.2873 9.50635 83.7148 11.6251 83.7148 11.6251" stroke="#EDA600" stroke-width="0.75" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<g opacity="0.2">
|
||||
<path opacity="0.2" d="M71.3282 29.9813C71.7032 31.3875 72.5845 33.9713 74.467 36.54C76.207 38.91 78.0707 40.7475 79.327 41.8725C79.552 42.075 79.6495 42.3825 79.5932 42.6713L75.3107 45.795C75.0595 45.9788 74.8982 46.2525 74.857 46.56C74.8157 46.8675 74.9057 47.175 75.1007 47.415L75.4532 47.8463L60.052 47.6738L60.2357 34.965L71.3282 29.9813V29.9813ZM71.422 28.8C71.287 28.8 71.152 28.8263 71.0207 28.8863L59.1182 34.23L58.9082 48.7875L77.842 48.9975L75.9707 46.7025L80.5307 43.38C80.9245 42.585 80.7407 41.625 80.077 41.0363C78.9295 40.0088 77.0882 38.2125 75.3745 35.8763C73.5595 33.405 72.7307 30.9375 72.3745 29.5425C72.262 29.0888 71.8532 28.8 71.422 28.8V28.8Z" fill="#424242"/>
|
||||
</g>
|
||||
<path d="M91.1207 43.2974C90.7457 42.6937 90.3557 42.0487 89.977 41.4224C89.0882 39.9487 88.1695 38.4224 87.3107 37.2787C86.8907 36.7199 86.2982 36.4912 85.7732 36.2924C84.8395 35.9362 84.0332 35.6287 84.0332 33.5062L84.112 3.87369C84.112 2.71494 85.0082 1.90869 86.2907 1.90869C87.3782 1.90869 87.667 3.27369 87.8095 4.60869C87.817 4.68744 88.672 12.3899 89.6995 18.6037C89.8195 19.3424 90.1907 20.5949 90.547 21.8024C90.8095 22.6912 91.057 23.5312 91.147 23.9849C91.2482 24.4762 91.3382 24.9449 91.4207 25.3799C91.7845 27.2887 91.9795 28.2224 92.3882 28.5937C93.967 30.0299 100.376 33.0862 101.246 33.4987C101.324 33.6224 101.354 33.7574 101.332 33.8849C101.309 34.0124 101.234 34.1212 101.114 34.1924C101.096 34.2037 101.077 34.2187 101.058 34.2337L91.1207 43.2974V43.2974Z" fill="url(#paint3_radial)"/>
|
||||
<path d="M86.2878 2.28003C86.9178 2.28003 87.259 2.98878 87.4353 4.64628C87.4428 4.72503 88.3015 12.435 89.329 18.66C89.4528 19.4213 89.8278 20.685 90.184 21.9038C90.4428 22.785 90.6865 23.6138 90.7765 24.0525C90.8778 24.5438 90.964 25.0088 91.0465 25.44C91.4365 27.4875 91.6315 28.41 92.1303 28.8638C93.6865 30.2813 99.7165 33.18 100.954 33.7688C100.958 33.7838 100.958 33.7988 100.954 33.81C100.95 33.825 100.943 33.8438 100.913 33.8663C100.872 33.8925 100.834 33.9188 100.8 33.9525L91.2003 42.7125C90.9003 42.225 90.5965 41.7188 90.2965 41.2238C89.404 39.7425 88.4778 38.2088 87.6115 37.0463C87.1278 36.4013 86.479 36.1538 85.909 35.9363C85.0053 35.5913 84.409 35.3625 84.409 33.5025L84.4878 3.86628C84.484 2.91753 85.2115 2.28003 86.2878 2.28003V2.28003ZM86.2878 1.53003C84.7053 1.53003 83.734 2.58003 83.734 3.87003L83.6553 33.5025C83.6553 37.125 85.9765 36.12 87.0078 37.5C88.2978 39.225 89.7265 41.8125 91.039 43.875L101.303 34.5113C101.757 34.2338 101.839 33.645 101.483 33.1988C101.483 33.1988 94.2678 29.805 92.629 28.3163C92.2015 27.9263 91.9653 26.175 91.504 23.91C91.2865 22.83 90.2703 19.8113 90.0603 18.54C89.0253 12.2625 88.174 4.56753 88.174 4.56753C88.054 3.35628 87.7765 1.53003 86.2878 1.53003V1.53003Z" fill="#EDA600"/>
|
||||
<path d="M89.981 48.9976L108.915 48.7876L108.705 34.23L96.8022 28.8863C96.2435 28.6388 95.5947 28.95 95.4447 29.5425C95.0885 30.9338 94.2597 33.4013 92.4447 35.8763C90.7347 38.2088 88.8897 40.0088 87.7422 41.0363C87.0822 41.6288 86.8947 42.585 87.2885 43.38L91.8485 46.8863L89.981 48.9976V48.9976Z" fill="url(#paint4_linear)"/>
|
||||
<path d="M88.099 6.75003C88.099 6.75003 87.7915 4.81128 86.029 4.81128C84.2665 4.81128 84.1465 6.75003 84.1465 6.75003" stroke="#EDA600" stroke-width="0.75" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M88.6571 11.6251C88.6571 11.6251 88.2709 9.50635 86.4034 9.50635C84.5321 9.50635 84.1084 11.6251 84.1084 11.6251" stroke="#EDA600" stroke-width="0.75" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<g opacity="0.2">
|
||||
<path opacity="0.2" d="M96.4947 29.9813L107.591 34.9613L107.775 47.67L92.3735 47.8425L92.726 47.4113C92.921 47.1713 93.011 46.8638 92.9697 46.5563C92.9285 46.2488 92.7672 45.975 92.516 45.7913L88.2335 42.6675C88.1772 42.3788 88.2747 42.0713 88.4997 41.8688C89.756 40.7438 91.6197 38.9063 93.3597 36.5363C95.2385 33.9713 96.1197 31.3875 96.4947 29.9813V29.9813ZM96.401 28.8C95.966 28.8 95.561 29.0888 95.4447 29.5425C95.0885 30.9338 94.2597 33.4013 92.4447 35.8763C90.7347 38.2088 88.8897 40.0088 87.7422 41.0363C87.0822 41.6288 86.8947 42.585 87.2885 43.38L91.8485 46.7025L89.9772 48.9975L108.911 48.7875L108.701 34.23L96.8022 28.8863C96.671 28.8263 96.536 28.8 96.401 28.8V28.8Z" fill="#424242"/>
|
||||
</g>
|
||||
</g>
|
||||
<path d="M23.707 44.55C13.2445 44.55 1.95703 37.9875 1.95703 23.5875C1.95703 9.1875 13.2445 2.625 23.707 2.625C29.5195 2.625 34.882 4.5375 38.857 8.025C43.1695 11.85 45.457 17.25 45.457 23.5875C45.457 29.925 43.1695 35.2875 38.857 39.1125C34.8745 42.6 29.482 44.55 23.707 44.55Z" fill="url(#paint5_radial)"/>
|
||||
<path d="M16.5 15.3525C14.9287 15.3525 13.5 16.68 13.5 18.885C13.5 21.09 14.9287 22.4138 16.5 22.4138C18.075 22.4138 19.5 21.0863 19.5 18.885C19.5 16.6838 18.09 15.3525 16.5 15.3525Z" fill="#422B0D"/>
|
||||
<path d="M16.369 16.8263C15.8365 16.5713 15.1953 16.7963 14.9365 17.3288C14.7378 17.745 14.8278 18.2438 15.1615 18.5663C15.694 18.8213 16.3353 18.5963 16.594 18.0638C16.7928 17.6475 16.7028 17.1488 16.369 16.8263Z" fill="#896024"/>
|
||||
<path d="M30.8994 15.3525C29.3282 15.3525 27.8994 16.68 27.8994 18.885C27.8994 21.09 29.3282 22.4138 30.8994 22.4138C32.4707 22.4138 33.8994 21.0863 33.8994 18.885C33.8994 16.6838 32.4707 15.3525 30.8994 15.3525Z" fill="#422B0D"/>
|
||||
<path d="M30.7499 16.8263C30.2174 16.5713 29.5762 16.7963 29.3174 17.3288C29.1187 17.745 29.2087 18.2438 29.5424 18.5663C30.0749 18.8213 30.7162 18.5963 30.9749 18.0638C31.1737 17.6475 31.0837 17.1488 30.7499 16.8263Z" fill="#896024"/>
|
||||
<path d="M41.8085 11.1262C43.8072 14.3512 44.8497 18.1912 44.8497 22.4625C44.8497 28.8 42.5622 34.1625 38.2497 37.9875C34.2747 41.475 28.8747 43.425 23.0997 43.425C16.3272 43.425 9.22473 40.6687 5.03223 34.8225C9.06723 41.445 16.6572 44.55 23.8497 44.55C29.6247 44.55 35.0247 42.6 38.9997 39.1125C43.3122 35.2875 45.5997 29.925 45.5997 23.5875C45.5997 18.81 44.2985 14.565 41.8085 11.1262Z" fill="#EB8F00"/>
|
||||
<path d="M38.2761 26.8576C37.7511 25.9088 36.6111 25.4926 35.5986 25.8751C31.7511 26.9963 27.7611 27.5551 23.7523 27.5363C19.7436 27.5551 15.7536 26.9963 11.9061 25.8751C10.8973 25.4926 9.75731 25.9051 9.23231 26.8501C8.72231 27.7913 9.08981 28.8826 9.52106 29.8238C11.9286 35.1113 17.2348 38.2763 23.7223 38.2951H23.7823C30.2698 38.2951 35.5761 35.1113 37.9873 29.8238C38.4148 28.8751 38.7861 27.7988 38.2761 26.8576Z" fill="#422B0D"/>
|
||||
<path d="M29.7559 36.8024C29.6171 36.6749 29.4746 36.5586 29.3321 36.4274C27.8021 35.0811 25.8221 34.3574 23.7821 34.3986C21.6821 34.3649 19.6384 35.0624 17.9996 36.3749C17.8571 36.4911 17.7071 36.6036 17.5684 36.7499C17.4296 36.8961 17.3546 37.0011 17.2646 37.1249C19.3271 37.9311 21.5246 38.3436 23.7409 38.3324H23.8009C25.9234 38.3324 28.0271 37.9536 30.0146 37.2074C29.9396 37.0649 29.8534 36.9299 29.7559 36.8024Z" fill="#ED7770"/>
|
||||
<path d="M35.5993 25.8749C31.7518 26.9962 27.7618 27.5549 23.753 27.5362C19.7443 27.5549 15.7543 26.9962 11.9068 25.8749C10.898 25.4924 9.75805 25.9049 9.23305 26.8499C9.15805 26.9924 9.09805 27.1424 9.06055 27.2962C9.1843 27.3599 9.3268 27.4237 9.49555 27.4912C14.0105 29.7524 19.0018 30.8999 24.0493 30.8399C28.8905 30.8962 33.6755 29.8424 38.048 27.7649C38.2243 27.6899 38.3705 27.6187 38.5018 27.5512C38.4718 27.3074 38.393 27.0674 38.2768 26.8499C37.7518 25.9049 36.6118 25.4887 35.5993 25.8749Z" fill="white"/>
|
||||
<path d="M38.2911 26.8613C37.7586 25.9126 36.6148 25.4926 35.5948 25.8751C31.7473 26.9963 27.7573 27.5551 23.7523 27.5363C19.7436 27.5551 15.7536 26.9963 11.9061 25.8751C10.8973 25.4926 9.75731 25.9051 9.23231 26.8501C8.72231 27.7913 9.08981 28.8826 9.52106 29.8238C9.71231 30.2476 9.92606 30.6638 10.1623 31.0651C10.1623 31.0651 9.37481 28.1476 10.0573 27.3001C10.2898 26.9401 10.6798 26.7151 11.1073 26.6926C11.2836 26.6926 11.4561 26.7226 11.6248 26.7751C15.5398 27.9263 19.6011 28.5076 23.6848 28.5001H23.8161C27.8998 28.5076 31.9611 27.9263 35.8761 26.7751C36.0448 26.7226 36.2173 26.6926 36.3936 26.6926C36.8211 26.7151 37.2148 26.9401 37.4473 27.3001C38.1411 28.1476 37.3423 31.0763 37.3423 31.0763C37.5748 30.6751 37.8073 30.2626 38.0023 29.8351C38.4298 28.8938 38.8011 27.8063 38.2911 26.8613Z" fill="#EB8F00"/>
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear" x1="147.895" y1="23.1896" x2="136.732" y2="29.8873" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0.0235" stop-color="#8F4700"/>
|
||||
<stop offset="1" stop-color="#703E2D"/>
|
||||
</linearGradient>
|
||||
<radialGradient id="paint1_radial" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(79.3273 14.9794) scale(16.2763 24.2983)">
|
||||
<stop offset="0.3533" stop-color="#FFCA28"/>
|
||||
<stop offset="0.8723" stop-color="#FFB300"/>
|
||||
</radialGradient>
|
||||
<linearGradient id="paint2_linear" x1="58.9068" y1="38.8988" x2="80.7338" y2="38.8988" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#2196F3"/>
|
||||
<stop offset="1" stop-color="#64B5F6"/>
|
||||
</linearGradient>
|
||||
<radialGradient id="paint3_radial" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(88.4879 14.9794) rotate(180) scale(16.2763 24.2983)">
|
||||
<stop offset="0.3533" stop-color="#FFCA28"/>
|
||||
<stop offset="0.8723" stop-color="#FFB300"/>
|
||||
</radialGradient>
|
||||
<linearGradient id="paint4_linear" x1="108.915" y1="38.8988" x2="87.0897" y2="38.8988" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#2196F3"/>
|
||||
<stop offset="1" stop-color="#64B5F6"/>
|
||||
</linearGradient>
|
||||
<radialGradient id="paint5_radial" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(23.707 23.5875) scale(21.3599)">
|
||||
<stop offset="0.5" stop-color="#FDE030"/>
|
||||
<stop offset="0.92" stop-color="#F7C02B"/>
|
||||
<stop offset="1" stop-color="#F4A223"/>
|
||||
</radialGradient>
|
||||
<clipPath id="clip0">
|
||||
<rect width="48" height="48" fill="white" transform="translate(60)"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 18 KiB |
34
public/assets/images/openmoji_emoji.svg
Normal file
|
@ -0,0 +1,34 @@
|
|||
<svg width="168" height="48" viewBox="0 0 168 48" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M24.0003 39.3334C32.4687 39.3334 39.3337 32.4684 39.3337 24.0001C39.3337 15.5317 32.4687 8.66675 24.0003 8.66675C15.532 8.66675 8.66699 15.5317 8.66699 24.0001C8.66699 32.4684 15.532 39.3334 24.0003 39.3334Z" fill="#FCEA2B"/>
|
||||
<path d="M33.7297 27.76C33.7378 28.7865 33.5406 29.8042 33.1497 30.7533C24.8231 32.7733 16.1964 30.98 14.8231 30.6667C14.4505 29.7432 14.2626 28.7557 14.2697 27.76H14.3431C14.3431 27.76 24.2097 30.1533 33.6031 27.8067L33.7297 27.76Z" fill="white"/>
|
||||
<path d="M33.1499 30.7534C31.9566 33.6001 28.9166 35.5734 24.0232 35.5734C19.0832 35.5734 16.0032 33.5534 14.8232 30.6667C16.1966 30.9801 24.8232 32.7734 33.1499 30.7534Z" fill="#EA5A47"/>
|
||||
<path d="M24.0003 39.3334C32.4687 39.3334 39.3337 32.4684 39.3337 24.0001C39.3337 15.5317 32.4687 8.66675 24.0003 8.66675C15.532 8.66675 8.66699 15.5317 8.66699 24.0001C8.66699 32.4684 15.532 39.3334 24.0003 39.3334Z" stroke="black" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M19.0459 24.1479C20.1505 24.1479 21.0459 22.535 21.0459 20.5454C21.0459 18.5558 20.1505 16.9429 19.0459 16.9429C17.9413 16.9429 17.0459 18.5558 17.0459 20.5454C17.0459 22.535 17.9413 24.1479 19.0459 24.1479Z" fill="black"/>
|
||||
<path d="M28.9541 24.1501C30.0587 24.1501 30.9541 22.5372 30.9541 20.5476C30.9541 18.558 30.0587 16.9451 28.9541 16.9451C27.8495 16.9451 26.9541 18.558 26.9541 20.5476C26.9541 22.5372 27.8495 24.1501 28.9541 24.1501Z" fill="black"/>
|
||||
<path d="M33.7297 27.76C33.7378 28.7865 33.5406 29.8042 33.1497 30.7533C24.8231 32.7733 16.1964 30.98 14.8231 30.6667C14.4505 29.7432 14.2626 28.7557 14.2697 27.76H14.3431C14.3431 27.76 24.2097 30.1533 33.6031 27.8067L33.7297 27.76Z" stroke="black" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M33.1499 30.7534C31.9566 33.6001 28.9166 35.5734 24.0232 35.5734C19.0832 35.5734 16.0032 33.5534 14.8232 30.6667C16.1966 30.9801 24.8232 32.7734 33.1499 30.7534Z" stroke="black" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M78.1115 45.3335H62.667V37.5557L72.667 32.5557C70.9314 38.2468 77.6371 42.2603 81.0003 40.3335L78.1115 45.3335Z" fill="#92D3F5"/>
|
||||
<path d="M90.8605 45.3332H106.305V37.5554L96.305 32.5554C98.0406 38.2466 91.3349 42.2601 87.9717 40.3332L90.8605 45.3332Z" fill="#92D3F5"/>
|
||||
<path d="M79.8873 40.7393C75.7701 40.7393 72.4385 37.5467 72.4385 33.6014C76.8551 30.9209 77.2922 24.3749 77.7505 20.6249C78.0839 18.6979 78.945 18.6979 79.2505 16.7708L81.0005 4.89821C81.4172 2.66661 84.0532 2.89447 84.4867 4.66661V35.9444C84.4867 37.2341 82.5561 38.2777 81.8895 38.2777C81.3477 38.2777 79.8873 40.2974 79.8873 40.7393Z" fill="#FCEA2B"/>
|
||||
<path d="M89.0856 40.7393C93.2029 40.7393 96.5345 37.5467 96.5345 33.6014C92.1178 30.9209 91.6807 24.3749 91.2224 20.6249C90.8891 18.6979 90.0279 18.6979 89.7224 16.7708L87.9724 4.89826C87.5557 2.6666 84.9198 2.89446 84.4863 4.6666V35.9444C84.4863 37.2341 86.4169 38.2777 87.0835 38.2777C87.6252 38.2777 89.0856 40.2974 89.0856 40.7393Z" fill="#FCEA2B"/>
|
||||
<path d="M78.1105 45.3335H62.666V37.5557L72.666 32.5557C70.9304 38.2468 77.6361 42.2603 80.9993 40.3335L78.1105 45.3335Z" stroke="black" stroke-width="1.33333" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M79.8864 40.7395C79.8864 40.2977 81.3468 38.278 81.8884 38.278C82.5551 38.278 84.4856 37.2344 84.4856 35.9446V4.66685C84.0522 2.89472 81.4162 2.66685 80.9996 4.89845L79.2496 16.771C78.944 18.6981 78.0829 18.6981 77.7496 20.6251C77.2912 24.3751 76.8542 30.9211 72.4375 33.6016" stroke="black" stroke-width="1.33333" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M90.8605 45.3335H106.305V37.5557L96.305 32.5557C98.0406 38.2468 91.3349 42.2603 87.9717 40.3335L90.8605 45.3335Z" stroke="black" stroke-width="1.33333" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M89.0846 40.7395C89.0846 40.2977 87.6242 38.278 87.0826 38.278C86.4159 38.278 84.4854 37.2344 84.4854 35.9446V4.66685C84.9188 2.89472 87.5548 2.66685 87.9715 4.89845L89.7215 16.771C90.027 18.6981 90.8882 18.6981 91.2215 20.6251C91.6798 24.3751 92.1169 30.9211 96.5336 33.6016" stroke="black" stroke-width="1.33333" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M137.453 13.4539L145.833 21.8333L154.212 30.2128L139.859 36.1865L125.506 42.1602L131.48 27.8071L137.453 13.4539Z" fill="#F1B31C"/>
|
||||
<path d="M146.666 23.3334L137.128 13.7795L130.927 28.3597L124.727 42.9397L146.666 23.3334Z" fill="#FCEA2B"/>
|
||||
<path d="M130.148 30.1899L137.523 37.5646L133.836 39.0656L128.638 33.8675L130.148 30.1899Z" fill="#EA5A47"/>
|
||||
<path d="M131.562 36.8317L133.836 39.0656L137.523 37.5646L134.323 34.364L131.562 36.8317Z" fill="#D22F27"/>
|
||||
<path d="M133.869 21.4417L138.333 25.9061L146.133 33.7055L141.951 35.6145L136.503 30.1665L132.1 25.7631L133.869 21.4417Z" fill="#EA5A47"/>
|
||||
<path d="M137.69 31.3541L141.951 35.6143L146.133 33.7054L140.907 28.4797L137.69 31.3541Z" fill="#D22F27"/>
|
||||
<path d="M140.197 10.9524C140.933 10.9524 141.53 10.3642 141.53 9.63857C141.53 8.91295 140.933 8.32471 140.197 8.32471C139.46 8.32471 138.863 8.91295 138.863 9.63857C138.863 10.3642 139.46 10.9524 140.197 10.9524Z" fill="#8967AA"/>
|
||||
<path d="M160.197 13.6192C160.933 13.6192 161.53 13.0309 161.53 12.3053C161.53 11.5797 160.933 10.9915 160.197 10.9915C159.46 10.9915 158.863 11.5797 158.863 12.3053C158.863 13.0309 159.46 13.6192 160.197 13.6192Z" fill="#F1B31C"/>
|
||||
<path d="M158.197 27.6192C158.933 27.6192 159.53 27.031 159.53 26.3053C159.53 25.5797 158.933 24.9915 158.197 24.9915C157.46 24.9915 156.863 25.5797 156.863 26.3053C156.863 27.031 157.46 27.6192 158.197 27.6192Z" fill="#D22F27"/>
|
||||
<path d="M153.775 30.4264L153.887 30.5385L139.307 36.7391L124.727 42.9398L130.927 28.3597L137.128 13.7795" stroke="black" stroke-width="1.33333" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M137.2 13.8523L145.507 22.1593L153.775 30.4267" stroke="black" stroke-width="1.33333" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M137.128 13.7795L137.2 13.852" stroke="black" stroke-width="1.33333" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M150.993 4.91162C151.149 5.21075 151.261 5.54029 151.319 5.89362C151.62 7.72515 150.355 9.50302 148.493 9.86462" stroke="black" stroke-width="1.33333" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M148.622 9.85107C148.285 9.87667 147.946 9.95594 147.616 10.0937C145.903 10.8079 145.064 12.8224 145.742 14.5932" stroke="black" stroke-width="1.33333" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M161.195 17.8113C161.129 18.1424 161.01 18.4693 160.833 18.7809C159.919 20.3959 157.818 20.9869 156.142 20.1009" stroke="black" stroke-width="1.33333" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M156.249 20.1707C155.971 19.9795 155.658 19.8287 155.314 19.7287C153.532 19.2104 151.615 20.2532 151.032 22.0578" stroke="black" stroke-width="1.33333" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
After Width: | Height: | Size: 7.1 KiB |
8
public/assets/images/placeholder.svg
Normal file
|
@ -0,0 +1,8 @@
|
|||
<svg width="240" height="126" viewBox="0 0 240 126" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect x="16" y="3" width="32" height="32" rx="16" fill="#333333"/>
|
||||
<rect x="60" y="8" width="140" height="20" rx="10" fill="#333333"/>
|
||||
<rect x="16" y="45" width="32" height="32" rx="16" fill="#2A2A2A"/>
|
||||
<rect x="60" y="50" width="90" height="20" rx="10" fill="#2A2A2A"/>
|
||||
<rect x="16" y="87" width="32" height="32" rx="16" fill="#202020"/>
|
||||
<rect x="60" y="92" width="120" height="20" rx="10" fill="#202020"/>
|
||||
</svg>
|
After Width: | Height: | Size: 515 B |
43
public/assets/images/twemoji_emoji.svg
Normal file
|
@ -0,0 +1,43 @@
|
|||
<svg width="168" height="48" viewBox="0 0 168 48" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0)">
|
||||
<path d="M100 29.3333C96.0005 29.3333 91.0831 38.7919 90.6671 42.6666C90.1058 47.8866 93.3338 47.9999 93.3338 47.9999H108V34.6666C108 34.6666 103.416 29.3333 100 29.3333Z" fill="#50A5E6"/>
|
||||
<path d="M98.6551 39.078C100.808 35.3486 101.707 31.8364 100.662 31.2334C99.6178 30.6303 97.0255 33.1646 94.8723 36.894C92.7191 40.6234 91.8204 44.1356 92.865 44.7387C93.9096 45.3418 96.5019 42.8074 98.6551 39.078Z" fill="#1C6399"/>
|
||||
<path d="M86.7813 0C88.356 0 89.632 1.276 89.632 2.85067C89.632 3.90267 90.5227 17.2827 90.5227 17.2827L83.9307 24V2.85067C83.9307 1.276 85.2067 0 86.7813 0Z" fill="#F9CA55"/>
|
||||
<path d="M85.167 5.76406C85.167 4.29873 86.303 3.11206 87.7043 3.11206C89.1057 3.11206 90.2417 4.30006 90.2417 5.76406C90.2417 5.76406 90.955 13.6867 91.831 18.2574C93.0017 20.7454 93.6563 24.5001 93.5123 26.5881C93.5843 27.1187 101.012 33.2627 101.012 33.2627C100.638 35.6801 98.0003 41.4694 94.667 44.1414L89.9723 40.2427C86.1257 39.7041 84.0283 35.8014 84.0283 34.5574C84.0283 30.5787 85.167 5.76406 85.167 5.76406V5.76406Z" fill="#FFDC5D"/>
|
||||
<path d="M68 29.3333C72 29.3333 76.9173 38.7919 77.3333 42.6666C77.8947 47.8866 74.6667 47.9999 74.6667 47.9999H60V34.6666C60 34.6666 64.584 29.3333 68 29.3333Z" fill="#50A5E6"/>
|
||||
<path d="M75.1331 44.7366C76.1777 44.1335 75.279 40.6213 73.1258 36.8919C70.9726 33.1625 68.3803 30.6281 67.3357 31.2312C66.2911 31.8343 67.1898 35.3465 69.343 39.0759C71.4962 42.8053 74.0885 45.3397 75.1331 44.7366Z" fill="#1C6399"/>
|
||||
<path d="M81.4146 0.0146466C79.7266 -0.154687 78.3039 1.16665 78.3039 2.81865C78.3039 3.85865 78.0586 16.5773 78.0586 16.5773L83.8599 24L83.9426 2.97998C83.9426 1.50531 82.8826 0.161313 81.4146 0.0146466V0.0146466Z" fill="#F9CA55"/>
|
||||
<path d="M82.8336 5.76406C82.8336 4.29873 81.6976 3.11206 80.2963 3.11206C78.8949 3.11206 77.7589 4.30006 77.7589 5.76406C77.7589 5.76406 77.0456 13.6867 76.1696 18.2574C74.9989 20.7454 74.3443 24.5001 74.4883 26.5881C74.4163 27.1187 66.9883 33.2627 66.9883 33.2627C67.3629 35.6801 70.0003 41.4694 73.3336 44.1414L78.0283 40.2427C81.8749 39.7041 83.9723 35.8014 83.9723 34.5574C83.9723 30.5787 82.8336 5.76406 82.8336 5.76406V5.76406Z" fill="#FFDC5D"/>
|
||||
<path d="M83.9443 34.4307C83.3923 34.4307 82.9443 33.9827 82.9443 33.4307V3.72266C82.9443 3.17066 83.3923 2.72266 83.9443 2.72266C84.4963 2.72266 84.9443 3.17066 84.9443 3.72266V33.432C84.9457 33.9827 84.4977 34.4307 83.9443 34.4307V34.4307Z" fill="#F9CA55"/>
|
||||
</g>
|
||||
<g clip-path="url(#clip1)">
|
||||
<path d="M135.501 9.98415C135.352 10.1335 135.238 10.3135 135.144 10.5108L135.133 10.5002L120.178 44.1881L120.193 44.2028C119.916 44.7401 120.38 45.8335 121.33 46.7855C122.281 47.7361 123.374 48.2001 123.912 47.9228L123.925 47.9361L157.613 32.9801L157.602 32.9681C157.798 32.8748 157.978 32.7615 158.129 32.6095C160.212 30.5268 156.834 23.7735 150.588 17.5255C144.338 11.2775 137.585 7.90148 135.501 9.98415V9.98415Z" fill="#DD2E44"/>
|
||||
<path d="M137.333 16L120.554 43.3413L120.178 44.188L120.193 44.2027C119.916 44.74 120.38 45.8333 121.33 46.7853C121.64 47.0947 121.961 47.3293 122.276 47.528L142.666 22.6667L137.333 16Z" fill="#EA596E"/>
|
||||
<path d="M150.683 17.4214C156.909 23.6507 160.367 30.2907 158.401 32.2534C156.437 34.2187 149.797 30.7627 143.567 24.5361C137.339 18.3067 133.883 11.6641 135.847 9.70006C137.812 7.73606 144.452 11.1921 150.683 17.4214V17.4214Z" fill="#A0041E"/>
|
||||
<path d="M144.786 18.1453C144.521 18.36 144.174 18.472 143.808 18.432C142.65 18.3067 141.677 17.904 140.996 17.268C140.274 16.5947 139.918 15.6907 140.016 14.7853C140.186 13.196 141.781 11.7373 144.5 12.0307C145.557 12.144 146.029 11.804 146.045 11.6413C146.064 11.48 145.676 11.0467 144.618 10.932C143.461 10.8067 142.488 10.404 141.805 9.76799C141.084 9.09466 140.726 8.19066 140.825 7.28532C140.998 5.69599 142.592 4.23732 145.308 4.53199C146.078 4.61465 146.485 4.45599 146.657 4.35332C146.794 4.26932 146.849 4.18932 146.854 4.14265C146.87 3.98132 146.488 3.54799 145.428 3.43332C144.696 3.35332 144.165 2.69732 144.246 1.96399C144.325 1.23199 144.98 0.702655 145.714 0.782655C148.43 1.07465 149.678 2.83865 149.506 4.42932C149.333 6.02132 147.74 7.47732 145.021 7.18532C144.25 7.10132 143.848 7.26132 143.674 7.36399C143.537 7.44665 143.481 7.52799 143.476 7.57332C143.458 7.73599 143.844 8.16799 144.904 8.28265C147.62 8.57599 148.868 10.3387 148.696 11.9293C148.524 13.5187 146.93 14.9773 144.213 14.6827C143.442 14.6 143.037 14.76 142.864 14.8613C142.725 14.9467 142.672 15.0267 142.666 15.072C142.649 15.2333 143.034 15.6667 144.093 15.7813C144.824 15.8613 145.356 16.5187 145.274 17.2507C145.237 17.616 145.052 17.932 144.786 18.1453V18.1453Z" fill="#AA8DD8"/>
|
||||
<path d="M160.881 30.4761C163.512 29.7334 165.327 30.9067 165.759 32.4467C166.191 33.9854 165.255 35.9334 162.625 36.6734C161.599 36.9614 161.291 37.4521 161.332 37.6081C161.377 37.7654 161.899 38.0241 162.923 37.7347C165.552 36.9947 167.367 38.1681 167.799 39.7067C168.233 41.2467 167.295 43.1921 164.664 43.9334C163.639 44.2214 163.329 44.7134 163.375 44.8694C163.419 45.0254 163.939 45.2841 164.964 44.9961C165.671 44.7974 166.409 45.2094 166.608 45.9174C166.805 46.6267 166.393 47.3627 165.684 47.5627C163.056 48.3027 161.24 47.1321 160.805 45.5907C160.373 44.0521 161.311 42.1067 163.943 41.3654C164.969 41.0761 165.277 40.5867 165.232 40.4294C165.189 40.2734 164.669 40.0134 163.645 40.3014C161.013 41.0427 159.2 39.8721 158.767 38.3294C158.333 36.7907 159.271 34.8454 161.901 34.1027C162.925 33.8161 163.233 33.3227 163.191 33.1681C163.145 33.0107 162.627 32.7521 161.601 33.0401C160.892 33.2401 160.157 32.8267 159.957 32.1187C159.759 31.4121 160.172 30.6761 160.881 30.4761V30.4761Z" fill="#77B255"/>
|
||||
<path d="M150.667 26.88C150.275 26.88 149.889 26.708 149.625 26.38C149.165 25.804 149.259 24.9653 149.833 24.5053C150.123 24.272 157.057 18.8267 166.855 20.228C167.585 20.332 168.091 21.0067 167.987 21.736C167.883 22.464 167.214 22.976 166.478 22.8667C157.821 21.6373 151.562 26.5387 151.501 26.588C151.253 26.7853 150.959 26.88 150.667 26.88V26.88Z" fill="#AA8DD8"/>
|
||||
<path d="M127.672 21.3335C127.545 21.3335 127.416 21.3148 127.288 21.2775C126.582 21.0655 126.182 20.3228 126.394 19.6175C127.905 14.5868 129.274 6.55879 127.592 4.46545C127.404 4.22812 127.12 3.99479 126.469 4.04412C125.218 4.14012 125.337 6.77879 125.338 6.80545C125.394 7.54012 124.842 8.18012 124.109 8.23479C123.364 8.28012 122.734 7.73879 122.68 7.00412C122.542 5.16545 123.114 1.62412 126.269 1.38545C127.677 1.27879 128.846 1.76812 129.672 2.79479C132.833 6.72945 129.624 18.1361 128.949 20.3841C128.776 20.9615 128.245 21.3335 127.672 21.3335Z" fill="#77B255"/>
|
||||
<path d="M154 14.6667C155.105 14.6667 156 13.7713 156 12.6667C156 11.5622 155.105 10.6667 154 10.6667C152.895 10.6667 152 11.5622 152 12.6667C152 13.7713 152.895 14.6667 154 14.6667Z" fill="#5C913B"/>
|
||||
<path d="M122.667 26.6666C124.139 26.6666 125.333 25.4727 125.333 23.9999C125.333 22.5272 124.139 21.3333 122.667 21.3333C121.194 21.3333 120 22.5272 120 23.9999C120 25.4727 121.194 26.6666 122.667 26.6666Z" fill="#9266CC"/>
|
||||
<path d="M163.333 28C164.438 28 165.333 27.1046 165.333 26C165.333 24.8954 164.438 24 163.333 24C162.228 24 161.333 24.8954 161.333 26C161.333 27.1046 162.228 28 163.333 28Z" fill="#5C913B"/>
|
||||
<path d="M151.333 44C152.438 44 153.333 43.1046 153.333 42C153.333 40.8954 152.438 40 151.333 40C150.228 40 149.333 40.8954 149.333 42C149.333 43.1046 150.228 44 151.333 44Z" fill="#5C913B"/>
|
||||
<path d="M157.334 8.00008C158.806 8.00008 160 6.80617 160 5.33341C160 3.86066 158.806 2.66675 157.334 2.66675C155.861 2.66675 154.667 3.86066 154.667 5.33341C154.667 6.80617 155.861 8.00008 157.334 8.00008Z" fill="#FFCC4D"/>
|
||||
<path d="M163.333 13.3333C164.438 13.3333 165.333 12.4378 165.333 11.3333C165.333 10.2287 164.438 9.33325 163.333 9.33325C162.228 9.33325 161.333 10.2287 161.333 11.3333C161.333 12.4378 162.228 13.3333 163.333 13.3333Z" fill="#FFCC4D"/>
|
||||
<path d="M159.333 18.6667C160.438 18.6667 161.333 17.7713 161.333 16.6667C161.333 15.5622 160.438 14.6667 159.333 14.6667C158.228 14.6667 157.333 15.5622 157.333 16.6667C157.333 17.7713 158.228 18.6667 159.333 18.6667Z" fill="#FFCC4D"/>
|
||||
<path d="M130 33.3333C131.105 33.3333 132 32.4378 132 31.3333C132 30.2287 131.105 29.3333 130 29.3333C128.895 29.3333 128 30.2287 128 31.3333C128 32.4378 128.895 33.3333 130 33.3333Z" fill="#FFCC4D"/>
|
||||
</g>
|
||||
<path d="M48 24C48 37.2547 37.2547 48 24 48C10.7467 48 0 37.2547 0 24C0 10.7467 10.7467 0 24 0C37.2547 0 48 10.7467 48 24Z" fill="#FFCC4D"/>
|
||||
<path d="M15.3333 23.9999C17.1743 23.9999 18.6667 20.7167 18.6667 16.6666C18.6667 12.6165 17.1743 9.33325 15.3333 9.33325C13.4924 9.33325 12 12.6165 12 16.6666C12 20.7167 13.4924 23.9999 15.3333 23.9999Z" fill="#664500"/>
|
||||
<path d="M32.6663 23.9999C34.5073 23.9999 35.9997 20.7167 35.9997 16.6666C35.9997 12.6165 34.5073 9.33325 32.6663 9.33325C30.8254 9.33325 29.333 12.6165 29.333 16.6666C29.333 20.7167 30.8254 23.9999 32.6663 23.9999Z" fill="#664500"/>
|
||||
<path d="M23.9997 29.3333C19.169 29.3333 15.9637 28.7706 11.9997 27.9999C11.0943 27.8253 9.33301 27.9999 9.33301 30.6666C9.33301 35.9999 15.4597 42.6666 23.9997 42.6666C32.5383 42.6666 38.6663 35.9999 38.6663 30.6666C38.6663 27.9999 36.905 27.8239 35.9997 27.9999C32.0357 28.7706 28.8303 29.3333 23.9997 29.3333Z" fill="#664500"/>
|
||||
<path d="M12 30.6667C12 30.6667 16 32.0001 24 32.0001C32 32.0001 36 30.6667 36 30.6667C36 30.6667 33.3333 36.0001 24 36.0001C14.6667 36.0001 12 30.6667 12 30.6667Z" fill="white"/>
|
||||
<defs>
|
||||
<clipPath id="clip0">
|
||||
<rect width="48" height="48" fill="white" transform="translate(60)"/>
|
||||
</clipPath>
|
||||
<clipPath id="clip1">
|
||||
<rect width="48" height="48" fill="white" transform="translate(120)"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 9.5 KiB |
BIN
public/assets/inbound.mp3
Normal file
BIN
public/assets/inbound.ogg
Normal file
BIN
public/assets/logo.png
Normal file
After Width: | Height: | Size: 14 KiB |
1
public/assets/logo.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="193.733" height="37.438" viewBox="0 0 193.733 37.438"><path d="M23.393,1.382c0,2.787-1.52,4.46-4.764,4.46H13.258V-2.977H18.63C21.873-2.977,23.393-1.254,23.393,1.382Zm-24-11.555,5.2,7.213V25.4h8.666V11.973h2.078l7.4,13.43h9.781l-8.21-14.089A10.355,10.355,0,0,0,32.212,1.027c0-6.183-4.358-11.2-13.075-11.2Zm60.035,0H37.634V25.4H59.426V18.46H46.3v-7.8H57.906V3.966H46.3V-2.969H59.426Zm20.981,26.86-8.818-26.86H62.365L74.984,25.4H85.83L98.449-10.173H89.276Zm56.659-9.173c0-10.693-8.058-18.194-18.194-18.194-10.085,0-18.3,7.5-18.3,18.194a17.9,17.9,0,0,0,18.3,18.244A17.815,17.815,0,0,0,137.066,7.514Zm-27.62,0c0-6.335,3.649-10.338,9.426-10.338,5.676,0,9.376,4,9.376,10.338,0,6.233-3.7,10.338-9.376,10.338C113.095,17.852,109.446,13.747,109.446,7.514ZM141.88-10.173V25.4H161.9v-6.95H150.545V-10.173Zm22.248,7.2h9.426V25.4h8.666V-2.975h9.426v-7.2H164.128Z" transform="translate(1.586 11.18)" fill="#fff" stroke="#fff" stroke-width="1"/></svg>
|
After Width: | Height: | Size: 981 B |
BIN
public/assets/outbound.mp3
Normal file
BIN
public/assets/outbound.ogg
Normal file
BIN
public/assets/sounds/call_join.mp3
Normal file
BIN
public/assets/sounds/call_join.ogg
Normal file
BIN
public/assets/sounds/call_leave.mp3
Normal file
BIN
public/assets/sounds/call_leave.ogg
Normal file
BIN
public/assets/sounds/message.mp3
Normal file
BIN
public/assets/sounds/message.ogg
Normal file
BIN
public/assets/user.png
Normal file
After Width: | Height: | Size: 7.2 KiB |
4
public/assets/wide.svg
Normal file
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="193.733" height="37.438" viewBox="0 0 193.733 37.438">
|
||||
<path d="M23.393,1.382c0,2.787-1.52,4.46-4.764,4.46H13.258V-2.977H18.63C21.873-2.977,23.393-1.254,23.393,1.382Zm-24-11.555,5.2,7.213V25.4h8.666V11.973h2.078l7.4,13.43h9.781l-8.21-14.089A10.355,10.355,0,0,0,32.212,1.027c0-6.183-4.358-11.2-13.075-11.2Zm60.035,0H37.634V25.4H59.426V18.46H46.3v-7.8H57.906V3.966H46.3V-2.969H59.426Zm20.981,26.86-8.818-26.86H62.365L74.984,25.4H85.83L98.449-10.173H89.276Zm56.659-9.173c0-10.693-8.058-18.194-18.194-18.194-10.085,0-18.3,7.5-18.3,18.194a17.9,17.9,0,0,0,18.3,18.244A17.815,17.815,0,0,0,137.066,7.514Zm-27.62,0c0-6.335,3.649-10.338,9.426-10.338,5.676,0,9.376,4,9.376,10.338,0,6.233-3.7,10.338-9.376,10.338C113.095,17.852,109.446,13.747,109.446,7.514ZM141.88-10.173V25.4H161.9v-6.95H150.545V-10.173Zm22.248,7.2h9.426V25.4h8.666V-2.975h9.426v-7.2H164.128Z" transform="translate(1.586 11.18)" fill="#fff" stroke="#fff" stroke-width="1"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1,008 B |
12
src/app.tsx
|
@ -3,15 +3,17 @@ import Context from "./context";
|
|||
|
||||
import dayjs from "dayjs";
|
||||
|
||||
import localeData from 'dayjs/plugin/localeData';
|
||||
dayjs.extend(localeData)
|
||||
import localeData from "dayjs/plugin/localeData";
|
||||
dayjs.extend(localeData);
|
||||
|
||||
export function App() {
|
||||
return (
|
||||
<Context>
|
||||
<h1><Text id="general.about" /></h1>
|
||||
<h3>{ dayjs.locale() }</h3>
|
||||
<h2>{ dayjs.months() }</h2>
|
||||
<h1>
|
||||
<Text id="general.about" />
|
||||
</h1>
|
||||
<h3>{dayjs.locale()}</h3>
|
||||
<h2>{dayjs.months()}</h2>
|
||||
</Context>
|
||||
);
|
||||
}
|
||||
|
|
|
@ -42,7 +42,7 @@ export enum Language {
|
|||
PIRATE = "pr",
|
||||
BOTTOM = "bottom",
|
||||
PIGLATIN = "piglatin",
|
||||
HARDCORE = "hardcore"
|
||||
HARDCORE = "hardcore",
|
||||
}
|
||||
|
||||
export interface LanguageEntry {
|
||||
|
@ -58,7 +58,7 @@ export const Languages: { [key in Language]: LanguageEntry } = {
|
|||
display: "English (Traditional)",
|
||||
emoji: "🇬🇧",
|
||||
i18n: "en",
|
||||
dayjs: "en-gb"
|
||||
dayjs: "en-gb",
|
||||
},
|
||||
|
||||
ar: { display: "عربي", emoji: "🇸🇦", i18n: "ar", rtl: true },
|
||||
|
@ -80,7 +80,7 @@ export const Languages: { [key in Language]: LanguageEntry } = {
|
|||
display: "Português (do Brasil)",
|
||||
emoji: "🇧🇷",
|
||||
i18n: "pt_BR",
|
||||
dayjs: "pt-br"
|
||||
dayjs: "pt-br",
|
||||
},
|
||||
ro: { display: "Română", emoji: "🇷🇴", i18n: "ro" },
|
||||
ru: { display: "Русский", emoji: "🇷🇺", i18n: "ru" },
|
||||
|
@ -92,19 +92,24 @@ export const Languages: { [key in Language]: LanguageEntry } = {
|
|||
display: "中文 (简体)",
|
||||
emoji: "🇨🇳",
|
||||
i18n: "zh_Hans",
|
||||
dayjs: "zh"
|
||||
dayjs: "zh",
|
||||
},
|
||||
|
||||
owo: { display: "OwO", emoji: "🐱", i18n: "owo", dayjs: "en-gb" },
|
||||
pr: { display: "Pirate", emoji: "🏴☠️", i18n: "pr", dayjs: "en-gb" },
|
||||
bottom: { display: "Bottom", emoji: "🥺", i18n: "bottom", dayjs: "en-gb" },
|
||||
piglatin: { display: "Pig Latin", emoji: "🐖", i18n: "piglatin", dayjs: "en-gb" },
|
||||
piglatin: {
|
||||
display: "Pig Latin",
|
||||
emoji: "🐖",
|
||||
i18n: "piglatin",
|
||||
dayjs: "en-gb",
|
||||
},
|
||||
hardcore: {
|
||||
display: "Hardcore Mode",
|
||||
emoji: "🔥",
|
||||
i18n: "hardcore",
|
||||
dayjs: "en-gb"
|
||||
}
|
||||
dayjs: "en-gb",
|
||||
},
|
||||
};
|
||||
|
||||
interface Props {
|
||||
|
@ -117,45 +122,48 @@ function Locale({ children, locale }: Props) {
|
|||
const lang = Languages[locale];
|
||||
|
||||
useEffect(() => {
|
||||
if (locale === 'en') {
|
||||
if (locale === "en") {
|
||||
setDefinition(definition);
|
||||
dayjs.locale('en');
|
||||
dayjs.locale("en");
|
||||
return;
|
||||
}
|
||||
|
||||
if (lang.i18n === "hardcore") {
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
setDefinition({} as any);
|
||||
return;
|
||||
}
|
||||
|
||||
import(
|
||||
`../../external/lang/${lang.i18n}.json`
|
||||
).then(async lang_file => {
|
||||
let defn = lang_file.default;
|
||||
let target = lang.dayjs ?? lang.i18n;
|
||||
let dayjs_locale = await import(/* @vite-ignore */ `/node_modules/dayjs/esm/locale/${target}.js`);
|
||||
import(`../../external/lang/${lang.i18n}.json`).then(
|
||||
async (lang_file) => {
|
||||
const defn = lang_file.default;
|
||||
const target = lang.dayjs ?? lang.i18n;
|
||||
const dayjs_locale = await import(
|
||||
/* @vite-ignore */ `/node_modules/dayjs/esm/locale/${target}.js`
|
||||
);
|
||||
|
||||
if (defn.dayjs) {
|
||||
dayjs.updateLocale(target, { calendar: defn.dayjs });
|
||||
if (defn.dayjs) {
|
||||
dayjs.updateLocale(target, { calendar: defn.dayjs });
|
||||
}
|
||||
|
||||
dayjs.locale(dayjs_locale.default);
|
||||
setDefinition(defn);
|
||||
}
|
||||
|
||||
dayjs.locale(dayjs_locale.default);
|
||||
setDefinition(defn);
|
||||
});
|
||||
}, [locale]);
|
||||
);
|
||||
}, [locale, lang]);
|
||||
|
||||
useEffect(() => {
|
||||
document.body.style.direction = lang.rtl ? "rtl" : "";
|
||||
}, [ lang.rtl ]);
|
||||
}, [lang.rtl]);
|
||||
|
||||
return <IntlProvider definition={defns}>{children}</IntlProvider>;
|
||||
}
|
||||
|
||||
export default connectState<Omit<Props, 'locale'>>(
|
||||
export default connectState<Omit<Props, "locale">>(
|
||||
Locale,
|
||||
state => {
|
||||
(state) => {
|
||||
return {
|
||||
locale: state.locale
|
||||
locale: state.locale,
|
||||
};
|
||||
},
|
||||
true
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { Client } from 'revolt.js';
|
||||
import { Client } from "revolt.js";
|
||||
|
||||
export enum ClientStatus {
|
||||
LOADING,
|
||||
|
@ -7,7 +7,7 @@ export enum ClientStatus {
|
|||
DISCONNECTED,
|
||||
CONNECTING,
|
||||
RECONNECTING,
|
||||
ONLINE
|
||||
ONLINE,
|
||||
}
|
||||
|
||||
export const RevoltJSClient = new Client({
|
||||
|
|
|
@ -5,6 +5,6 @@ export function mapMessage(message: Partial<Message>) {
|
|||
const { edited, ...msg } = message;
|
||||
return {
|
||||
...msg,
|
||||
edited: edited?.$date
|
||||
edited: edited?.$date,
|
||||
} as MessageObject;
|
||||
}
|
||||
|
|
14
src/main.tsx
|
@ -2,5 +2,19 @@ import { render } from "preact";
|
|||
import "./styles/index.scss";
|
||||
import { App } from "./app";
|
||||
|
||||
import { registerSW } from 'virtual:pwa-register'
|
||||
|
||||
const updateSW = registerSW({
|
||||
onNeedRefresh() {
|
||||
// ! FIXME: temp
|
||||
updateSW(true);
|
||||
// show a prompt to user
|
||||
},
|
||||
onOfflineReady() {
|
||||
console.info('Ready to work offline.');
|
||||
// show a ready to work offline to user
|
||||
},
|
||||
})
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
||||
render(<App />, document.getElementById("app")!);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { store } from ".";
|
||||
import localForage from "localforage";
|
||||
import { Provider } from 'react-redux';
|
||||
import { Provider } from "react-redux";
|
||||
import { Children } from "../types/Preact";
|
||||
import { useEffect, useState } from "preact/hooks";
|
||||
|
||||
|
@ -12,7 +12,7 @@ async function loadState() {
|
|||
}
|
||||
|
||||
interface Props {
|
||||
children: Children
|
||||
children: Children;
|
||||
}
|
||||
|
||||
export default function State(props: Props) {
|
||||
|
@ -24,9 +24,5 @@ export default function State(props: Props) {
|
|||
|
||||
if (!loaded) return null;
|
||||
|
||||
return (
|
||||
<Provider store={store}>
|
||||
{ props.children }
|
||||
</Provider>
|
||||
)
|
||||
return <Provider store={store}>{props.children}</Provider>;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
/* eslint-disable @typescript-eslint/no-explicit-any */
|
||||
|
||||
import { State } from ".";
|
||||
import { h } from "preact";
|
||||
//import { memo } from "preact/compat";
|
||||
// import { memo } from "preact/compat";
|
||||
import { connect, ConnectedComponent } from "react-redux";
|
||||
|
||||
export function connectState<T>(
|
||||
|
@ -10,7 +12,9 @@ export function connectState<T>(
|
|||
): ConnectedComponent<(props: any) => h.JSX.Element | null, T> {
|
||||
return (
|
||||
useDispatcher
|
||||
? connect(mapKeys, dispatcher => { return { dispatcher } })
|
||||
? connect(mapKeys, (dispatcher) => {
|
||||
return { dispatcher };
|
||||
})
|
||||
: connect(mapKeys)
|
||||
)(component);//(memo(component));
|
||||
)(component); //(memo(component));
|
||||
}
|
||||
|
|
|
@ -24,6 +24,7 @@ export type State = {
|
|||
experiments: ExperimentOptions;
|
||||
};
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
export const store = createStore((state: any, action: any) => {
|
||||
if (process.env.NODE_ENV === "development") {
|
||||
console.debug("State Update:", action);
|
||||
|
@ -46,7 +47,7 @@ store.subscribe(() => {
|
|||
queue,
|
||||
drafts,
|
||||
sync,
|
||||
experiments
|
||||
experiments,
|
||||
} = store.getState() as State;
|
||||
|
||||
localForage.setItem("state", {
|
||||
|
@ -57,6 +58,6 @@ store.subscribe(() => {
|
|||
queue,
|
||||
drafts,
|
||||
sync,
|
||||
experiments
|
||||
experiments,
|
||||
});
|
||||
});
|
||||
|
|
|
@ -30,18 +30,19 @@ export function auth(
|
|||
accounts: {
|
||||
...state.accounts,
|
||||
[action.session.user_id]: {
|
||||
session: action.session
|
||||
}
|
||||
session: action.session,
|
||||
},
|
||||
},
|
||||
active: action.session.user_id
|
||||
active: action.session.user_id,
|
||||
};
|
||||
case "LOGOUT":
|
||||
case "LOGOUT": {
|
||||
const accounts = Object.assign({}, state.accounts);
|
||||
action.user_id && delete accounts[action.user_id];
|
||||
|
||||
return {
|
||||
accounts
|
||||
accounts,
|
||||
};
|
||||
}
|
||||
default:
|
||||
return state;
|
||||
}
|
||||
|
|
|
@ -20,11 +20,13 @@ export function drafts(state: Drafts = {}, action: DraftAction): Drafts {
|
|||
case "SET_DRAFT":
|
||||
return {
|
||||
...state,
|
||||
[action.channel]: action.content
|
||||
[action.channel]: action.content,
|
||||
};
|
||||
case "CLEAR_DRAFT":
|
||||
case "CLEAR_DRAFT": {
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
const { [action.channel]: _, ...newState } = state;
|
||||
return newState;
|
||||
}
|
||||
case "RESET":
|
||||
return {};
|
||||
default:
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
export type Experiments = never;
|
||||
export const AVAILABLE_EXPERIMENTS: Experiments[] = [ ];
|
||||
export const AVAILABLE_EXPERIMENTS: Experiments[] = [];
|
||||
|
||||
export interface ExperimentOptions {
|
||||
enabled?: Experiments[]
|
||||
enabled?: Experiments[];
|
||||
}
|
||||
|
||||
export type ExperimentsAction =
|
||||
|
@ -26,16 +26,17 @@ export function experiments(
|
|||
...state,
|
||||
enabled: [
|
||||
...(state.enabled ?? [])
|
||||
.filter(x => AVAILABLE_EXPERIMENTS.includes(x))
|
||||
.filter(v => v !== action.key),
|
||||
action.key
|
||||
]
|
||||
.filter((x) => AVAILABLE_EXPERIMENTS.includes(x))
|
||||
.filter((v) => v !== action.key),
|
||||
action.key,
|
||||
],
|
||||
};
|
||||
case "EXPERIMENTS_DISABLE":
|
||||
return {
|
||||
...state,
|
||||
enabled: state.enabled?.filter(v => v !== action.key)
|
||||
.filter(x => AVAILABLE_EXPERIMENTS.includes(x))
|
||||
enabled: state.enabled
|
||||
?.filter((v) => v !== action.key)
|
||||
.filter((x) => AVAILABLE_EXPERIMENTS.includes(x)),
|
||||
};
|
||||
default:
|
||||
return state;
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import { State } from "..";
|
||||
import { combineReducers } from "redux";
|
||||
|
||||
import { settings, SettingsAction } from "./settings";
|
||||
|
@ -19,7 +20,7 @@ export default combineReducers({
|
|||
typing,
|
||||
drafts,
|
||||
sync,
|
||||
experiments
|
||||
experiments,
|
||||
});
|
||||
|
||||
export type Action =
|
||||
|
@ -32,11 +33,13 @@ export type Action =
|
|||
| DraftAction
|
||||
| SyncAction
|
||||
| ExperimentsAction
|
||||
| { type: "__INIT"; state: any };
|
||||
| { type: "__INIT"; state: State };
|
||||
|
||||
export type WithDispatcher = { dispatcher: (action: Action) => void };
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
export function filter(obj: any, keys: string[]) {
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
const newObj: any = {};
|
||||
for (const key of keys) {
|
||||
const v = obj[key];
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { Language } from "../../context/Locale";
|
||||
import { SyncData, SyncKeys, SyncUpdateAction } from "./sync";
|
||||
import { SyncUpdateAction } from "./sync";
|
||||
|
||||
export type LocaleAction =
|
||||
| { type: undefined }
|
||||
|
@ -19,19 +19,20 @@ export function findLanguage(lang?: string): Language {
|
|||
}
|
||||
|
||||
const code = lang.replace("-", "_");
|
||||
|
||||
const short = code.split("_")[0];
|
||||
for (const key of Object.keys(Language)) {
|
||||
const value = (Language as any)[key];
|
||||
|
||||
const values = [];
|
||||
for (const key in Language) {
|
||||
const value = Language[key as keyof typeof Language];
|
||||
values.push(value);
|
||||
if (value.startsWith(code)) {
|
||||
return value;
|
||||
return value as Language;
|
||||
}
|
||||
}
|
||||
|
||||
for (const key of Object.keys(Language).reverse()) {
|
||||
const value = (Language as any)[key];
|
||||
for (const value of values.reverse()) {
|
||||
if (value.startsWith(short)) {
|
||||
return value;
|
||||
return value as Language;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ import { MessageObject } from "../../context/revoltjs/messages";
|
|||
|
||||
export enum QueueStatus {
|
||||
SENDING = "sending",
|
||||
ERRORED = "errored"
|
||||
ERRORED = "errored",
|
||||
}
|
||||
|
||||
export interface QueuedMessage {
|
||||
|
@ -51,47 +51,47 @@ export function queue(
|
|||
switch (action.type) {
|
||||
case "QUEUE_ADD": {
|
||||
return [
|
||||
...state.filter(x => x.id !== action.nonce),
|
||||
...state.filter((x) => x.id !== action.nonce),
|
||||
{
|
||||
id: action.nonce,
|
||||
data: action.message,
|
||||
channel: action.channel,
|
||||
status: QueueStatus.SENDING
|
||||
}
|
||||
status: QueueStatus.SENDING,
|
||||
},
|
||||
];
|
||||
}
|
||||
case "QUEUE_FAIL": {
|
||||
const entry = state.find(
|
||||
x => x.id === action.nonce
|
||||
(x) => x.id === action.nonce
|
||||
) as QueuedMessage;
|
||||
return [
|
||||
...state.filter(x => x.id !== action.nonce),
|
||||
...state.filter((x) => x.id !== action.nonce),
|
||||
{
|
||||
...entry,
|
||||
status: QueueStatus.ERRORED,
|
||||
error: action.error
|
||||
}
|
||||
error: action.error,
|
||||
},
|
||||
];
|
||||
}
|
||||
case "QUEUE_START": {
|
||||
const entry = state.find(
|
||||
x => x.id === action.nonce
|
||||
(x) => x.id === action.nonce
|
||||
) as QueuedMessage;
|
||||
return [
|
||||
...state.filter(x => x.id !== action.nonce),
|
||||
...state.filter((x) => x.id !== action.nonce),
|
||||
{
|
||||
...entry,
|
||||
status: QueueStatus.SENDING
|
||||
}
|
||||
status: QueueStatus.SENDING,
|
||||
},
|
||||
];
|
||||
}
|
||||
case "QUEUE_REMOVE":
|
||||
return state.filter(x => x.id !== action.nonce);
|
||||
return state.filter((x) => x.id !== action.nonce);
|
||||
case "QUEUE_FAIL_ALL":
|
||||
return state.map(x => {
|
||||
return state.map((x) => {
|
||||
return {
|
||||
...x,
|
||||
status: QueueStatus.ERRORED
|
||||
status: QueueStatus.ERRORED,
|
||||
};
|
||||
});
|
||||
case "QUEUE_DROP_ALL":
|
||||
|
|
|
@ -8,9 +8,9 @@ export interface NotificationOptions {
|
|||
outgoingSoundEnabled?: boolean;
|
||||
}
|
||||
|
||||
export type EmojiPacks = 'mutant' | 'twemoji' | 'noto' | 'openmoji';
|
||||
export type EmojiPacks = "mutant" | "twemoji" | "noto" | "openmoji";
|
||||
export interface AppearanceOptions {
|
||||
emojiPack?: EmojiPacks
|
||||
emojiPack?: EmojiPacks;
|
||||
}
|
||||
|
||||
export interface Settings {
|
||||
|
@ -53,9 +53,9 @@ export function settings(
|
|||
return {
|
||||
...state,
|
||||
theme: {
|
||||
...filter(state.theme, [ 'custom', 'preset' ]),
|
||||
...filter(state.theme, ["custom", "preset"]),
|
||||
...action.theme,
|
||||
}
|
||||
},
|
||||
};
|
||||
case "SETTINGS_SET_THEME_OVERRIDE":
|
||||
return {
|
||||
|
@ -64,32 +64,32 @@ export function settings(
|
|||
...state.theme,
|
||||
custom: {
|
||||
...state.theme?.custom,
|
||||
...action.custom
|
||||
}
|
||||
}
|
||||
...action.custom,
|
||||
},
|
||||
},
|
||||
};
|
||||
case "SETTINGS_SET_NOTIFICATION_OPTIONS":
|
||||
return {
|
||||
...state,
|
||||
notification: {
|
||||
...state.notification,
|
||||
...action.options
|
||||
}
|
||||
...action.options,
|
||||
},
|
||||
};
|
||||
case "SETTINGS_SET_APPEARANCE":
|
||||
return {
|
||||
...state,
|
||||
appearance: {
|
||||
...filter(state.appearance, [ 'emojiPack' ]),
|
||||
...action.options
|
||||
}
|
||||
}
|
||||
...filter(state.appearance, ["emojiPack"]),
|
||||
...action.options,
|
||||
},
|
||||
};
|
||||
case "SYNC_UPDATE":
|
||||
return {
|
||||
...state,
|
||||
appearance: action.update.appearance?.[1] ?? state.appearance,
|
||||
theme: action.update.theme?.[1] ?? state.theme
|
||||
}
|
||||
theme: action.update.theme?.[1] ?? state.theme,
|
||||
};
|
||||
case "RESET":
|
||||
return {};
|
||||
default:
|
||||
|
|
|
@ -2,7 +2,7 @@ import { AppearanceOptions } from "./settings";
|
|||
import { Language } from "../../context/Locale";
|
||||
import { ThemeOptions } from "../../context/Theme";
|
||||
|
||||
export type SyncKeys = 'theme' | 'appearance' | 'locale';
|
||||
export type SyncKeys = "theme" | "appearance" | "locale";
|
||||
|
||||
export interface SyncData {
|
||||
locale?: Language;
|
||||
|
@ -10,17 +10,21 @@ export interface SyncData {
|
|||
appearance?: AppearanceOptions;
|
||||
}
|
||||
|
||||
export const DEFAULT_ENABLED_SYNC: SyncKeys[] = [ 'theme', 'appearance', 'locale' ];
|
||||
export const DEFAULT_ENABLED_SYNC: SyncKeys[] = [
|
||||
"theme",
|
||||
"appearance",
|
||||
"locale",
|
||||
];
|
||||
export interface SyncOptions {
|
||||
disabled?: SyncKeys[]
|
||||
disabled?: SyncKeys[];
|
||||
revision?: {
|
||||
[key: string]: number
|
||||
}
|
||||
[key: string]: number;
|
||||
};
|
||||
}
|
||||
|
||||
export type SyncUpdateAction = {
|
||||
type: "SYNC_UPDATE";
|
||||
update: { [key in SyncKeys]?: [ number, SyncData[key] ] }
|
||||
update: { [key in SyncKeys]?: [number, SyncData[key]] };
|
||||
};
|
||||
|
||||
export type SyncAction =
|
||||
|
@ -49,24 +53,24 @@ export function sync(
|
|||
return {
|
||||
...state,
|
||||
disabled: [
|
||||
...(state.disabled ?? []).filter(v => v !== action.key),
|
||||
action.key
|
||||
]
|
||||
...(state.disabled ?? []).filter((v) => v !== action.key),
|
||||
action.key,
|
||||
],
|
||||
};
|
||||
case "SYNC_ENABLE_KEY":
|
||||
return {
|
||||
...state,
|
||||
disabled: state.disabled?.filter(v => v !== action.key)
|
||||
disabled: state.disabled?.filter((v) => v !== action.key),
|
||||
};
|
||||
case "SYNC_SET_REVISION":
|
||||
return {
|
||||
...state,
|
||||
revision: {
|
||||
...state.revision,
|
||||
[action.key]: action.timestamp
|
||||
}
|
||||
[action.key]: action.timestamp,
|
||||
},
|
||||
};
|
||||
case "SYNC_UPDATE":
|
||||
case "SYNC_UPDATE": {
|
||||
const revision = { ...state.revision };
|
||||
for (const key of Object.keys(action.update)) {
|
||||
const value = action.update[key as SyncKeys];
|
||||
|
@ -77,8 +81,9 @@ export function sync(
|
|||
|
||||
return {
|
||||
...state,
|
||||
revision
|
||||
}
|
||||
revision,
|
||||
};
|
||||
}
|
||||
default:
|
||||
return state;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
export type TypingUser = { id: string, started: number };
|
||||
export type TypingUser = { id: string; started: number };
|
||||
export type Typing = { [key: string]: TypingUser[] };
|
||||
|
||||
export type TypingAction =
|
||||
|
@ -24,19 +24,21 @@ export function typing(state: Typing = {}, action: TypingAction): Typing {
|
|||
...state,
|
||||
[action.channel]: [
|
||||
...(state[action.channel] ?? []).filter(
|
||||
x => x.id !== action.user
|
||||
(x) => x.id !== action.user
|
||||
),
|
||||
{
|
||||
id: action.user,
|
||||
started: + new Date()
|
||||
}
|
||||
]
|
||||
started: +new Date(),
|
||||
},
|
||||
],
|
||||
};
|
||||
case "TYPING_STOP":
|
||||
return {
|
||||
...state,
|
||||
[action.channel]:
|
||||
state[action.channel]?.filter(x => x.id !== action.user) ?? []
|
||||
state[action.channel]?.filter(
|
||||
(x) => x.id !== action.user
|
||||
) ?? [],
|
||||
};
|
||||
case "RESET":
|
||||
return {};
|
||||
|
|
|
@ -1,31 +1,31 @@
|
|||
import { Sync } from "revolt.js/dist/api/objects";
|
||||
|
||||
export interface Unreads {
|
||||
[key: string]: Partial<Omit<Sync.ChannelUnread, '_id'>>;
|
||||
[key: string]: Partial<Omit<Sync.ChannelUnread, "_id">>;
|
||||
}
|
||||
|
||||
export type UnreadsAction =
|
||||
| { type: undefined }
|
||||
| {
|
||||
type: "UNREADS_MARK_READ";
|
||||
channel: string;
|
||||
message: string;
|
||||
request: boolean;
|
||||
type: "UNREADS_MARK_READ";
|
||||
channel: string;
|
||||
message: string;
|
||||
request: boolean;
|
||||
}
|
||||
| {
|
||||
type: "UNREADS_SET";
|
||||
unreads: Sync.ChannelUnread[];
|
||||
}
|
||||
type: "UNREADS_SET";
|
||||
unreads: Sync.ChannelUnread[];
|
||||
}
|
||||
| {
|
||||
type: "UNREADS_MENTION";
|
||||
channel: string;
|
||||
message: string;
|
||||
}
|
||||
type: "UNREADS_MENTION";
|
||||
channel: string;
|
||||
message: string;
|
||||
}
|
||||
| {
|
||||
type: "RESET";
|
||||
type: "RESET";
|
||||
};
|
||||
|
||||
export function unreads(state = {}, action: UnreadsAction): Unreads {
|
||||
export function unreads(state = {} as Unreads, action: UnreadsAction): Unreads {
|
||||
switch (action.type) {
|
||||
case "UNREADS_MARK_READ":
|
||||
if (action.request) {
|
||||
|
@ -35,31 +35,29 @@ export function unreads(state = {}, action: UnreadsAction): Unreads {
|
|||
return {
|
||||
...state,
|
||||
[action.channel]: {
|
||||
last_id: action.message
|
||||
}
|
||||
last_id: action.message,
|
||||
},
|
||||
};
|
||||
case "UNREADS_SET":
|
||||
{
|
||||
const obj: Unreads = {};
|
||||
for (const entry of action.unreads) {
|
||||
const { _id, ...v } = entry;
|
||||
obj[_id.channel] = v;
|
||||
}
|
||||
|
||||
return obj;
|
||||
case "UNREADS_SET": {
|
||||
const obj: Unreads = {};
|
||||
for (const entry of action.unreads) {
|
||||
const { _id, ...v } = entry;
|
||||
obj[_id.channel] = v;
|
||||
}
|
||||
case "UNREADS_MENTION":
|
||||
{
|
||||
const obj = (state as any)[action.channel];
|
||||
|
||||
return {
|
||||
...state,
|
||||
[action.channel]: {
|
||||
...obj,
|
||||
mentions: [ ...(obj?.mentions ?? []), action.message ]
|
||||
}
|
||||
}
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
case "UNREADS_MENTION": {
|
||||
const obj = state[action.channel];
|
||||
|
||||
return {
|
||||
...state,
|
||||
[action.channel]: {
|
||||
...obj,
|
||||
mentions: [...(obj?.mentions ?? []), action.message],
|
||||
},
|
||||
};
|
||||
}
|
||||
case "RESET":
|
||||
return {};
|
||||
default:
|
||||
|
|
|
@ -15,7 +15,10 @@
|
|||
"noEmit": true,
|
||||
"jsx": "preserve",
|
||||
"jsxFactory": "h",
|
||||
"jsxFragmentFactory": "Fragment"
|
||||
"jsxFragmentFactory": "Fragment",
|
||||
"types": [
|
||||
"vite-plugin-pwa/client"
|
||||
]
|
||||
},
|
||||
"include": ["src", "ui/ui.tsx"]
|
||||
}
|
||||
|
|
|
@ -1,10 +1,38 @@
|
|||
import { resolve } from 'path'
|
||||
import { defineConfig } from 'vite'
|
||||
import preact from '@preact/preset-vite'
|
||||
import { VitePWA } from 'vite-plugin-pwa'
|
||||
|
||||
// https://vitejs.dev/config/
|
||||
export default defineConfig({
|
||||
plugins: [preact()],
|
||||
plugins: [
|
||||
preact(),
|
||||
VitePWA({
|
||||
manifest: {
|
||||
name: "Revolt",
|
||||
short_name: "Revolt",
|
||||
description: "User-first, privacy-focused chat platform.",
|
||||
categories: ["messaging"],
|
||||
start_url: "/",
|
||||
display: "standalone",
|
||||
orientation: "portrait",
|
||||
background_color: "#101823",
|
||||
icons: [
|
||||
{
|
||||
"src": "/assets/icons/android-chrome-192x192.png",
|
||||
"type": "image/png",
|
||||
"sizes": "192x192"
|
||||
},
|
||||
{
|
||||
"src": "/assets/icons/android-chrome-512x512.png",
|
||||
"type": "image/png",
|
||||
"sizes": "512x512"
|
||||
}
|
||||
]
|
||||
},
|
||||
workbox: { }
|
||||
})
|
||||
],
|
||||
build: {
|
||||
rollupOptions: {
|
||||
input: {
|
||||
|
|