From b442c38f4148d0825189c646cfc249ec4a4c212e Mon Sep 17 00:00:00 2001
From: tamaina <tamaina@hotmail.co.jp>
Date: Sun, 8 Jan 2023 16:47:57 +0900
Subject: [PATCH] enhance: Push Notification badges to Tabler Icons (#9406)

* enhance: Push Notification badges to Tabler Icons

* add receiveFollowRequest icon
---
 .../assets/notification-badges/LICENSE        |   5 ---
 .../backend/assets/notification-badges/at.png | Bin 1752 -> 0 bytes
 .../assets/notification-badges/check.png      | Bin 577 -> 0 bytes
 .../clipboard-check-solid.png                 | Bin 1402 -> 0 bytes
 .../assets/notification-badges/clock.png      | Bin 1131 -> 0 bytes
 .../assets/notification-badges/comments.png   | Bin 1134 -> 0 bytes
 .../notification-badges/id-card-alt.png       | Bin 844 -> 0 bytes
 .../assets/notification-badges/plus.png       | Bin 507 -> 0 bytes
 .../assets/notification-badges/poll-h.png     | Bin 689 -> 0 bytes
 .../notification-badges/quote-right.png       | Bin 772 -> 0 bytes
 .../assets/notification-badges/reply.png      | Bin 930 -> 0 bytes
 .../assets/notification-badges/retweet.png    | Bin 798 -> 0 bytes
 .../assets/notification-badges/satellite.png  | Bin 1743 -> 0 bytes
 .../assets/notification-badges/user-plus.png  | Bin 991 -> 0 bytes
 packages/backend/assets/tabler-badges/LICENSE |  24 +++++++++++++
 .../backend/assets/tabler-badges/antenna.png  | Bin 0 -> 516 bytes
 .../assets/tabler-badges/arrow-back-up.png    | Bin 0 -> 952 bytes
 packages/backend/assets/tabler-badges/at.png  | Bin 0 -> 2909 bytes
 .../assets/tabler-badges/chart-arrows.png     | Bin 0 -> 829 bytes
 .../assets/tabler-badges/circle-check.png     | Bin 0 -> 2307 bytes
 .../backend/assets/tabler-badges/messages.png | Bin 0 -> 1056 bytes
 .../null.png                                  | Bin
 .../backend/assets/tabler-badges/plus.png     | Bin 0 -> 414 bytes
 .../backend/assets/tabler-badges/quote.png    | Bin 0 -> 1011 bytes
 .../backend/assets/tabler-badges/repeat.png   | Bin 0 -> 1206 bytes
 .../assets/tabler-badges/user-plus.png        | Bin 0 -> 1431 bytes
 .../backend/assets/tabler-badges/users.png    | Bin 0 -> 1911 bytes
 .../sw/src/scripts/create-notification.ts     |  32 +++++++++++-------
 packages/sw/src/types.ts                      |  15 ++++++++
 29 files changed, 59 insertions(+), 17 deletions(-)
 delete mode 100644 packages/backend/assets/notification-badges/LICENSE
 delete mode 100644 packages/backend/assets/notification-badges/at.png
 delete mode 100644 packages/backend/assets/notification-badges/check.png
 delete mode 100644 packages/backend/assets/notification-badges/clipboard-check-solid.png
 delete mode 100644 packages/backend/assets/notification-badges/clock.png
 delete mode 100644 packages/backend/assets/notification-badges/comments.png
 delete mode 100644 packages/backend/assets/notification-badges/id-card-alt.png
 delete mode 100644 packages/backend/assets/notification-badges/plus.png
 delete mode 100644 packages/backend/assets/notification-badges/poll-h.png
 delete mode 100644 packages/backend/assets/notification-badges/quote-right.png
 delete mode 100644 packages/backend/assets/notification-badges/reply.png
 delete mode 100644 packages/backend/assets/notification-badges/retweet.png
 delete mode 100644 packages/backend/assets/notification-badges/satellite.png
 delete mode 100644 packages/backend/assets/notification-badges/user-plus.png
 create mode 100644 packages/backend/assets/tabler-badges/LICENSE
 create mode 100644 packages/backend/assets/tabler-badges/antenna.png
 create mode 100644 packages/backend/assets/tabler-badges/arrow-back-up.png
 create mode 100644 packages/backend/assets/tabler-badges/at.png
 create mode 100644 packages/backend/assets/tabler-badges/chart-arrows.png
 create mode 100644 packages/backend/assets/tabler-badges/circle-check.png
 create mode 100644 packages/backend/assets/tabler-badges/messages.png
 rename packages/backend/assets/{notification-badges => tabler-badges}/null.png (100%)
 create mode 100644 packages/backend/assets/tabler-badges/plus.png
 create mode 100644 packages/backend/assets/tabler-badges/quote.png
 create mode 100644 packages/backend/assets/tabler-badges/repeat.png
 create mode 100644 packages/backend/assets/tabler-badges/user-plus.png
 create mode 100644 packages/backend/assets/tabler-badges/users.png

diff --git a/packages/backend/assets/notification-badges/LICENSE b/packages/backend/assets/notification-badges/LICENSE
deleted file mode 100644
index 841c4c682b..0000000000
--- a/packages/backend/assets/notification-badges/LICENSE
+++ /dev/null
@@ -1,5 +0,0 @@
-Font Awesome Icons
--------------------------
-
-â’¸ Font Awesome
-CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)
diff --git a/packages/backend/assets/notification-badges/at.png b/packages/backend/assets/notification-badges/at.png
deleted file mode 100644
index d1492856de2b2f837a24a439eaa13631283aa87a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1752
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

diff --git a/packages/backend/assets/notification-badges/check.png b/packages/backend/assets/notification-badges/check.png
deleted file mode 100644
index baeb76babfa3f9f8dff025f7a007a0be3eeb69b8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 577
zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>VB+v}aSW-L^Y%`>FSDaa>qq5<
zLK7NVv>7=q9Gz4{n1CD>l@O=O8~4~xeA;eYT=uPQf68I$xj*?Bojg>5#(+S*=%l_$
z^VZA1U%OoMiNZ^jmzzGx^gh>mxZtUFoo=0-{<h0+@8mx+c2ckJJkQblSKUt8q{zF*
zZAW1DkDd?yx{sfKw)w&){94d{etYBh8A0cN)M)>5eE&n-^LgU-nP)nHjQquVCX)j{
z{&d`vl=5fukM5W3iyzzb?Yyeek?&HY{772xe#Z~DBj!r`E?)WQeChI6rsdb>*ED24
zmf!Lx|8(WkR=>4zOE#~3Jio5u;Po*5YbVz|&aZ6|`ncW7Y2}Y->4hnO*7gKg?W=Cd
zeC&OC{VZL6i>j8DkL^pWUaSyY*0=s#`+M6%Up_8<8n0X>x92*??hgI0@(Yf0?C#Xx
z`k(PmbxZ8g^W42Ve7Xh8#O+;=cW;qO-2O56PQinF%5UuIy7Kv+NiFpGBXa8;$J0m4
zC)BrW`WSq|-09~JO_Ms7NA*Hd)=VG6TaNWQ{Lydu^YGL$f5rL(ASLpfa{h>XV%L?n
zZ~c>a8YKJxEW8UWtPc`?2oipDyR{=<Txnly$B#1noNM=aT7EFgZrLMy?(|nnuU*A*
d9FQ2ycq{w-4nxDepeZ{+0-mmZF6*2UngEjs688WA

diff --git a/packages/backend/assets/notification-badges/clipboard-check-solid.png b/packages/backend/assets/notification-badges/clipboard-check-solid.png
deleted file mode 100644
index d8cdfa9da4562d7a247ab7c734933be48bc68fc6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1402
zcmV-=1%>*FP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h000F+Nkl<ZcwX(D
zfpOD75JgD`(1FuIr~p#|p#qW)LIsct2o>N|03Bc|ARXWipaa;SIn5YH((PZJbbFfJ
znHvZ4Wu5-py*tU4a`vpPcrM+&l=e;<e%_?+ALJG7hqRrvKdl_rStA{V*&n1`CF675
zz7xUc1SO}f`ui3DY{j9kO5;z>d@KL)t*XPBoqGpxlQJI_V2$fEELpdobvw@hreuCI
zmEaWsGX9rw*y+nyOv*1k&Iw)tV8Z=axb}DQei)8ig+~C|?0-lZjqJWiEobhzw<_=m
z02A-05hr2ztu!n(kK;=I@g+mxeb06|XtVy_BLFNpak4cOV<uudY(ErOl45D<COiW8
zIWnAJ*ui8v7MQ#@0|Hdf3pegdM?3-;GjJz;&P}8kzA%jS#cBa;<!E0?!w`V%n{whb
zmY|v;WDLO6<Ojfmw7s-@X{g9aF|`7^YcxX{H>q<y8*4H+H;0t$6BYuPlgu#%0G56@
zSY-T?F?M|?Hwn+tPb3BUgsPy!3ILh^T^b-P9XMcQ-R@+^+msM<4S!?Dsj1A~?X3Xj
z9A~vaF&`X~80ObVhU30!=BFpeW&u#6%(YNz>*&kh765Zxr>SjRsr_SE%q^4u+m{8v
z*oji918Mbr=()fGVC+PxRpUzadl3MCOZ9f8??WXuB~FF~fbq<sJf*||KvlDpr<6DV
z1OSx-l|@uiQ{t!q6<W$uN*n+JfXac&A}XmVaa4c`E#)aC4gdi_<v?W-mDH3tDnNyn
z@{|$>fB>L!pt6WcYDydxph8P|N{ItN08lwlSwtl@C5{SEp`|>f!~q}xs2r#)qLP{t
zudo8}A$sX=(ovpL;uQga@wd`;((rT1Z~9T5QsR{WfZ^BD@KwU&C<TG?loGE1z>xVJ
zh!PMePbqQZ0CMJ+f<Spni5mu>HNOM|%2P_*C;-;{4gzj@y)rCmDNiYJg8;1NcfMP`
z2TOTMi5mkj)qEVT<$g2DQ%c+rfD-281kLim5Xw_Z+z5bD=3@@P-9T(mo>Jl&0F=HI
zP}_W1M0rYy3j^56`{B8657KU=jXj`4lZ774ZwA1f^z`%w=dJu7Zhf_c7xS9{&}V*U
zx&?wK^W6g&Gv5NioB6H*Xv}9Icr@QF0LFX`1h3}11OT(nrQwy0zB$3O`7QzAgO4eX
z2|I=W^UY5tN%V1sYdy)*BoMW<r^IRRmfKWO0S8U*2Q+|y>oTvU;k>~bbDQt70?;X#
zmV4Hl)l}_vOPKE#Ky3(1neQ3^I=4^5h&F3W=$16!J%FVlz<kUdm_wEdYF?$p=?E;7
z@ae%XQ3)`=#$(kePbqOh0CQJDE%Tcgf{v?Uj!LL$escgyS3+&`n*>k_f(P@P1uzwY
z7xSA2V1=+rs~x<02x?(Ni3_iShRk9nW^d*<UjZEy4Fr$ouLeMFIPz-#ssIc@@NE9-
z0CW&=N6SIlRvJD`@iO7|&12NON{JVmgoh?)e5P>WVVRTZ1LY|tt_+|7?;pEJc}j@`
zfGP(lPbqN#2mmSvDvPM3ro>SJDzucRlsEtc0F?ukMO0E#;-~->TFO&OoOb_PUUB_B
zqTd0^Q%aon7k|WOIQ0(lD|`)89Tos39%!NNU}Hl1i^vuLxE_Nlh<NJ2B7evYyS3aw
zzII?cIY3;srNUAH*a0SCRKbSY+j_<3n^3F(U?qm48h_5#8^%d@>`VdB8DV{_i#H=J
z{n^V#822r=Up?-x1OU9xrL;HFwksc&U^E&&9J-f=RnMgO2d_sLaN2p@od5s;07*qo
IM6N<$g3e8FJOBUy

diff --git a/packages/backend/assets/notification-badges/clock.png b/packages/backend/assets/notification-badges/clock.png
deleted file mode 100644
index 9323f8f3070dd4ef538f7df33d54975c449d7cf6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1131
zcmV-x1eE)UP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h000CsNkl<Zc%1EB
z(UGhm5bO{Pfe;LV5H<uuxC{tkLokFFf+1`OhF}Q3546tRLq!&u2JNc;ySi$+br?`w
z;KmJ4C;&Bp$HWG}&%|b;o~TlbD+v{>i3Y$w051RofH8pm^gqn>KX0r+!CuK7!p-*O
z9EeIVE^1V;W#ff&4c}r18~mkE19;;6EBz>+DEzL_;56P<qSPr42%&;CUfS5BY>{~o
zbB$-e;`f;498p7da*fT`G^Q+|k^fb{#z#Dx&cP4LHGigw=2k>hu#=XwIjPviu`LcN
z*w#(jl+=8Ipi8P@_gkdRkm3Nr$+<@P_1>4sL#S}=EB})N5|*Q@*8DxbzA^O(q_!0X
z*fw|Tc30EiNQKb(nivYn!I?~Sp0;(-Kz7nq2eej#I!BzaVrJ-gjzUuFh=`q01zX#s
z2XqwDdiwy)PDs|%oC6pUVLnihFFiR2@b&tjB^X4`0gSL~rXbV=;!6l%MBs$n5(qCP
zfWvoz0#EHPA%GDF=Yp0%aA^UwzQQZ;UHv5lFv9aLVCnly48Ut$&=CkNHGqCkG+XOg
zS^y(<$`EV$DJcN6C7St3*HK98UE}7OfU)~2Er1cW)BFQXAnYmuXqRB-`d?ZA#wD1!
z{+AYja~|jkgk2?o!6o<(KyW;YK+x3!czZ^m2?Sj&0KF8e2?Sj&fMzMSArN%60N!>+
z8v;R>4uE|TR$>5VDYnD_*vIr1KtmuXb^rkPdF8hf^dJzlN9PWrCm27K&@2V!5Wu%@
z8*73wtOmd)&czr9A1d&aq_;B!(gzxR*dK9v2Zmrg>QfZ+)3BMrFS<G)ea89EoW^o%
z?y>Q<cpp+HK6{rK_6IUc#y$v_dhDG`1Y@hVH;8Xq(<M^Rflrr+99q#&4v6<X(3HBJ
zrzmsigw|;MJYGfWi%+cy=@JWx$rr*(QtDHno1Zi=35A@&kdo9U*66JNGjc9NOPZ}g
zE+DaEs`o_og2u(<-WRPNNWb{>`l3ohU|uW^aCaOEGAn<x>HLIJ%FvQe*sX{8)A+rR
z4&@U7z<Ee7cOKfuQUroaqdwq2fcq|p$)H_aMIgKs>O;;ikkbw+E5CY%QDR4wl2JbF
z%Km;0GfjZsPV@wW$&EeYJ+GiXz|F|D75G=s1Ov;3O_0ML$nCME1UI*vW8iL0*V!Us
z-QPkkudt+K=o7ghuzu7@iXuPcaCb((=8OHh62mv8FKhk`rZ<jLlHx~vmbg-P)FI)7
zdjtmZ=A6wZNX?(2A#c(d9B|?aH#Vf-y^qZo2qxPQ<i3?X|8Nj>$=O4VJfAOj$ml0*
zeV~y?5XBk)3C25Ozy*x|L<L)4B^PlWZ0md}<6Y3OMs!GXrQfFS;DO&jdW0L^Pygcy
x8*<j&j5HK%FwI1>;LpSc*68^~+#5Hx@gEPy`5mNRh?f8W002ovPDHLkV1iQt4c7nw

diff --git a/packages/backend/assets/notification-badges/comments.png b/packages/backend/assets/notification-badges/comments.png
deleted file mode 100644
index bc8a1c35b4423bc08af88c3c72d4d29c6e81c6bf..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1134
zcmV-!1d;oRP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h000CvNkl<Zc%1E>
z>yfK4428cED1j1E0wtsbN=OHkuq9B!mOu%VKnawv_lMzz&0?N@2%|G|e(X#(v5$o;
z%ZdUDg+ifFC=?2XLZMJ7!XX24-~l{=V)#3YHlhTPVT64F4bTD|&;vg!?1$HW17Da$
z(#2W9D0qbtdyCL}*#R|XQFTEEWEjyq+zY<OZ_J|K5(UOR_^|Z7Y=P3}WF?`%OgOga
zHdfwd9vK<N;$sWE^@(`+ks%HW;`sQp{PLhhP-K{mF1C<o*mKd1I>W^8u?2L+!l^o*
zk#kL#v&Pb$ME>v~P4P#*+)3pgIWpq<TRsV?`TRAC3sWoNixQHZ8`<2T;2y5$liv=s
zJB<w4sRiGBo|o_(D&mU}ll^%K&!Ho}2(cM$Lw;@?VCt;T3V9S)&-1useoo5$$hl|a
zV`K0Wa_L~uDKU6R`f@bzR2V!OsvQkH71|b{!d&b)kCb!+{>!;im#L>{aky7>0wyet
z#f(n2Q2q2mXaw|^b7_gCvr@;2)b^e8KQ<OKI+Yv#ujRlwq7g7*X`B;rPqbLBX#NYe
zfC)>YEehHju5T`dxk`~$D7F@zjzo*ilJFxm5%-(6lW=$N{WdLvMnZ4SML^lf_q07#
z|4|E=xCHjhAHrOCiNzdKAz<<nSXuOOl`UAj_SEyheE6B+)<s)$NreCbV$$X!O2?nG
zxF6g#G1p_aOdp=X>WXp!V#J^=q2?<@?`#X;^FyW5=6ZbBNiA;3wE$s4u*3c}SKk?e
z)vM1=fIvRkW4FQ(USRR+GbioS@sjwi!_FmI-B8L2x{l?XeaN}bW=wO^wf?mWlh73+
zv-?1*XMu+0z7jFYbN(F4Qmhf`ST8+~HSb>=aZXyUr^oo%wQed^<Z%LNd=Y!fhHV8@
zvBm%Y1RUA<r;~gU|J=|If^HFBiovy`czY(fWL;0fpQ0P~HEt@A<7yjNx7<<mz1^vv
zyt`((8gM_n-;wrZ4`f*Vlr_Bl;5fN<7-%&N+Eq)iC&v0J%z`$U#h)6$*duNn!`LgX
z!rWIJ8B2yNtDjQzxAo6rY@sIkrZ4w3`IvYhr-j-QS1Tp1gt1d&gM8sfRz8FXg=uTd
zD~UeRR{kOmpPh9p{PiNemGu|Aqn!p5?bPh=tb0X@v3_YWc_@krJu~8`FG90+qMSn%
z#1|zLTZFitPu!slW~uN?1X8>R`dk3<NVyQ;2SJ<f5=!C=b?c`9((YGUIn>E3GSV%N
z6ulXLq9nbip>ruvC{)B3&LwNN@`Qtg%m0zhFrK3!bo4fvXHXKS#X^s<-Z?+McOk?d
z&bFe&Z(^^*oKXt4r4mZE8^>ir)2$dU{=Yc(gmk<M0bZQ5&}<mb(pZwZmb77dsZ;P?
zq+;NMa6g|oj$`_>jS7WAp-?Ck3WY+UP}~Ur0DhV)Yg-p@t^fc407*qoM6N<$f)7F>
A<^TWy

diff --git a/packages/backend/assets/notification-badges/id-card-alt.png b/packages/backend/assets/notification-badges/id-card-alt.png
deleted file mode 100644
index 67e1410e34cb2a6ec1a17ebd89dc15fdfff87205..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 844
zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>U>5dtaSW-L^LFmT-qi*IEz4QF
z7PL%p;M8msy42_mV`?-CRoLg;bL9{)Y>V9d+f#Y&BIh&jCdjn$vP-lj0@0cPrV7Rk
zhCTHcv~#juf)1G1G8o8B*nR6qY{kQf$GR=dQ!MJ9oDYqAVP732_jhvK^sot*`Ahg0
z?A_9IW+TIi2!<3L1|u;B$*YVu5BzUNG00vrPg<wCj_1LfU%xiwx65WvlzJ)daEp0H
zcB$<pp)(mg2`nFG&bCN?n#q{+`oHzUBVXmM#Tvpn3;OHcGFmizznRa-;=h;G;qn2q
z1-1==EsWd_aSWvy5nh(u3H1!&PV49AHSp}M+r?<~<=0EL6Bk}DmsW6IKR?%D_Y1Zy
z-Ff&Z1vlnDSK`?1lP`0BSfbRx|L5#1rqecu-*2eBr`Nz(SCh8(WATl}X4|<IG|Nl;
zo65dUQg2@=1M@feuihdP{(o=GOYr`>UN(M#P=Nb1#wCB8SgU{OpJq7K;kG`IV}<%^
zhFvSn@;?g(gqty%6x!Z9!ns0wHp8nGV)?<`AlA8xb<VmA^sX{`#L8ag)p^<T{)-vY
zt5a$XitCQg_SmcAXue_DjMw(rAxy7M>NVIcx(Kv%H=BU$few?`jOq*ea+oCw-z<K?
z_^y0GzTkn59hWajeVRSrmqGbYq|eU9A6Zl4|DG{x@Z|lo_r7M2(w`W`v(0h345^Ex
zFX-)Jd<&;$WH;<Dxo}|q|LZ@hJ09rY-n~9|_J>(Vj8%3uzCZSMW?gmLGpir%Ra<^=
zzuuW#o%x;h1>3O;CzP2Z4EG3Ep0{gYyKY|Z<iwFR+x{S5<F?0(i|4OQINyJ%?2V9#
zzNqOGR)wc8<|pjq*08os{_;UXUV|&4WzGMrkcRCZi&-xmj6a+n#KM0@+G30BY#jzc
zkgGN-S4&-CENTxkUBUX~+}Z32&I`m7+-6tR#PY6Sk+`%>J?#pUPv(V^=lK(3=B=Nw
z+U|yBPRzmm%2G?}`}UjpeqSv=p_KK80ncHBlF$6IQhO)62ZpQ%<`M=^S3j3^P6<r_
DXhU;v

diff --git a/packages/backend/assets/notification-badges/plus.png b/packages/backend/assets/notification-badges/plus.png
deleted file mode 100644
index 05362c122bd2162d5c5ed95c7e8f2d40d9e7eff4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 507
zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>U_9jM;uumf=k48txwjnz94=})
zs_syken99-qgNoOR-$(Rr;elQ4faWPGaJgLKZxi3$NX%X#N?k=5^iRl6I47e-Pou6
zNKo*6$B&ycEB~4bZ%*=?9?`d}{L9|Tb^F8TM)mFYW&Gxw+V$;mzVX~W#ag!W|K-Xp
z&!2lj<}YI$koI{0aeJUL^8p?PV}>&f2Bb1JR6Q?j*?dNZ-A*X8R_3A3<-Z<B9)I^=
zx$jq&RKiak<Ivc;r_2BE$gEN^;@?m)4M;ob&&^$Rkvn~M)|W#!mr3m{*tXJ5e-2dW
zGlO^f%w_q`@0oSxrFuPmtDN+cQ)6$%w4I^%{`pHL{PdqMBx^6Yw?(k3|9@!pm;W)>
z^}k6y;5YrX=UQ~E@<Drv(kp>iPLS>mnCG9pu;2H8Vsv};7j_L$APM%n<N;})&VBy>
zkN+1fjC!p+QHb5P@4}<G?n*1=+&w0#JpIaT{mt&>^TzTwz({5AboFyt=akR{03trk
AK>z>%

diff --git a/packages/backend/assets/notification-badges/poll-h.png b/packages/backend/assets/notification-badges/poll-h.png
deleted file mode 100644
index 3b7ded66597679a8d19ef9eccc09834fa7a4f222..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 689
zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>V5;zRaSW-L^LDOd;o|@S7wIMi
zjwVGN7Uu|#!~~8;Ale|nbWngr(bA)R&8e-?w)K<d*<W4%D%SY#a^d4$bA%Fl439}9
z|2wbGV9xNK!Hhv(O#ZmuJ;psuJ6xv!)}Qvcdo{mR_xg>d_RpCf1U?AZyfd->s6^7i
ze~XveomrFj=hXjW`qq#4U5vKhA;xk4sP@ikhTpqoOF!t{J9(G+Lw5bLh4)$enGWuj
z&~lL7HQVIXfxAlr+25)4S{0aQUTNIzxtQ;cuT<%Syh|&X%O|_Z?wD;7*=)|B|6`f8
ztNOL%X;n9ua_w+!;}6=%GHcDj?35o0-UivHnL<{Gzhmmsv~J+~dMMVxFqJ)EVcZUG
zjb(2bKuYSQe;u8E;)7$2V%ewVUJ(p`+|KgzU4~nL;fBekKh)oMq;6FDAJwFm{Xy4g
z564W^3n{#D%7?or{8Z<ay7?e!2ZN!WLl3vWW2PfO=4J5>Zf)WVkKPVAD!Wl9DyHLX
z#G&##k&9329AFE;>b(?Rxt+?}7Cl>jXPMRmG0D0`&YVD>UO(|cSkykp+LtkMh4>35
zweYeBI#;+$7$<967l^%L-PLe%s%%9skNv~#3z^gI^n7f+vEZVR*8lU@Ls)MxVE6+w
zEM?c(X?s3y|MBFfLOK5d{=(BHUktW;H$I5vu|2_iV|H-+{JYkBzv}CJ_<Y3ePM<8_
z!{axPO_#5GS$S;lfrV)w`Gxj<o?m!0?#SW;irPD6tt*{BmG1>57axB+#(+&H7xe92
SI188*89ZJ6T-G@yGywp^oij%O

diff --git a/packages/backend/assets/notification-badges/quote-right.png b/packages/backend/assets/notification-badges/quote-right.png
deleted file mode 100644
index 0fa483765481dd43d88a470c45614c6a782c748b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 772
zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>U^?yT;uumf=k46Y!rKl4ZuT5a
z2^?(-9Bl#|i9iyF0yx?dIGQH>n~-+t<BqN0N~){%@0xG^f9Yj)+|fdj$Z3;QJV7Ym
z&2#dS-Ai0AP5-QO`+w=wl7I7ex4rG&d-UGf(*8A!F4rS3EoMGx-#_o;UFF@(F4q@)
zjaH3%H}#F6L9A^}^}pOaYxy_f3cK`VPwbi9{WNfSsjqCup4m6Q-Qd1@^>Oi&&r|;B
z94N8168IRwuuMBD>3u}!x4U;mbtiB)^i0jTAH$Gxh_#4u!bYLDv$-35b~xxU7=<mW
zEoPj+DSm?0;h5K!e4xlfrkxBYfEv%TI;h1ch%-oPU)%>2Y2kjtq>!w7%UqmcW<ev+
zs5LIX-@VKF=+@f7ny`yw`iH4H441EdR=wjc*6`A*T;btHhLG!PnJ3=jb|~e2^*`&8
zP(bY7y))MyW10|K%pPPa-tcBu&LLY_OVb}KWB;=#XR%yv6*O&nd8k9`U`e7&Z^ABv
zMQ#SM5`oGy^m<kZ`iQ$-;aJ9vU70}aa<57J`GLynj=PR|Eh-1H7AwRCt6sbr4b=2H
z&~wYT-kAQT7pp3-A37O)g=5j`Z@j_YdC@N!mu0Wh*qQUtw&BIEH5xycCYPUE>-jyl
zxkm4AN8K;SlHN}{r7AD}^7a>5Z1qNJTfNPz--iXVxZQ02mfZfjux!4?N1Mg2K=ZUe
zy-GU2SpH(@@8$bS_t<%}T^6mJQt_{=?`2oj<k{b~<$c1h1U~w^Oa8K`;>|~E)R(Q^
z`Xojvl405ErB7nt`t3;E73DS0OO^XT$<_&bR{mX?<}-c!lai1P0zT8HKUnnD#z$m^
z9{<6}jmxL2285rzym9}N-<Ai(3}P=k?mQa3K_F!M*Nn(5`<Q+N*w=g1v#xsm*|Xwe
uRpO=E$-DC6jonVjK3HC+3Qm9wKX|7khxaGNYvce^H-o3EpUXO@geCwhN@g?w

diff --git a/packages/backend/assets/notification-badges/reply.png b/packages/backend/assets/notification-badges/reply.png
deleted file mode 100644
index 77021f71a7af666a33db652aaaf997508200c769..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 930
zcmV;T16}-yP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h000ANNkl<Zc%1E>
zO_i)L5QVP<Bp{(BL;@0!fCD771SGTsB(#J`K*G!-@HVd}ou5i7!2Qm-yIEA~hDs%Y
z9)J)+2qA>%(gBzNya8AMF94%vKzE{pOZd+Ry%giR1rN9x|0(&0X0_-pjsdX2pZuTw
zZ-_7x!jgZ82r?l&@iah?4#0x=<kJ8Fe4P#rC`?GFLjwvSk$f7E$bh&`hXx1|+h)=L
zAvyq0$R(ZzM3CF*(0~j&04vHQp9XwEs?(tX2^h#Owlp9D=}w0RL{OsBp#cHp9H`}J
zg1e#|;Wl_?*JD?|$JP}Ybt9B)Go@wsSQoe(wGqy+UN$B5sL|=v)(ftb4ru(zF{roL
zYHEWsW!}f!1T{OI7Nz=nOv=^aRkgvDt3D^8p=fnFXHn6o;!K^6wk%wg5aWuSP7S@`
zI;kv}{Cq9ZS>KVoI=s8yaFaQhp2;tw;F81zx17ch18f6<URhsFpaJFOEk{cO0bX4j
zJUi&VfdKEI^)CYeck-tl;2q@MH9r~%@apoGqQeB+K%iIF;xhnnhjH%)0==rfJ_QHd
zpq0}cVgOM8)swp@>Z?!Qij`3x;Q`y!0-9qC09=Q}Q&Tx5eSEIjAsuhM^}8N$Pv!u3
z;5EU`ss(P>X%&+jGo~a~g<x|S;0!v<(N6p!lQXEZznnYlW6&(C*%$hA#b8S^K<89=
zkqF*Y3bqEd--lYI0<X~_)#QOXYsFhK=pJP|Bn{@s7-MCn11|Zcq!z{#Q?82r5Y<v3
zSWO1VkEf^sfc)dDjr4e`j7xInw1CCQ3;^V=I$OX%Hu<(z;8*&=CdsEjv<>}6?m=EF
zjF2;6tsA-{^{TTKI>;IDtQ`A4QV#N3LTbaA{ZU5_u~(ffA$1bmSC0EX48j7nO7Z>0
zjQr$RU4VUr9OTVv(S1f@f1_6aKjG_;UTE)U1SAYFwSx{}f-5&0T#GiLz2pP=1~gNC
z&Wb^v0j-tP(=j4F`5W4Ns!v7E+k%|^0;KK(IQxZ2Jx<~57s4Vw`4*i0BBUP1sh;~>
ziIfW_{x38^Vmlx%yu!pRz#CY4#EDse+4Tq$Q~wvG7%xp|{a?YlUxbkQ&*T^6Tm5J9
z3*$532`0Zd2A^9^(ccawenz-bbKKgo&nJWsLI{cG7r>uR1s%&lUjP6A07*qoM6N<$
Ef-jw?4FCWD

diff --git a/packages/backend/assets/notification-badges/retweet.png b/packages/backend/assets/notification-badges/retweet.png
deleted file mode 100644
index dc6106048107a8459bd6efc921835d9bf2e25d9b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 798
zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>V0!B5;uumf=k4s=jh_qzTKid4
z6c!3;Efkv2z^oF(Ikf@IpK#%~@^<6e%HJDjr)=h(lb-hfV9qz2DgBceS_GUp6p;x@
z-iB+{g7-a`AMhp2xq7wKHQt3e;lTcf!A^?X4lQR%R(TlQBslAXrlPUo!{r_sj9(by
zCfe#||A>w@3_8?5@xr4S2lYD*)ZKqXaqj#zRpavZ8*?6Ji@lLuwXBZivrD4jK9@r$
zH>`L4y2+w6qD_Bdf#JK_3`W&M(>*Fgq7E-)nZolwSS3aH0Z^UO`z^~BG1(lR?(u@*
z&c8O@NLLma#hOkQ{xhs|7SzwL)tskXD|&Xdx1@&gGbXFV$(28N5B2k(e9XAFrTUb^
zOhfSkQL~wc=Eu#IVr+P)B^|_e>P+IghRPoeaSRI6KZJ%eY>+=w{lj4n149K@)z+2F
zsY^N<gs(MMD&7&RP!DtP(f9A-V3^i?lS>7{;heEUsioTa$F|LGT@9V5*Ic(uJUdN9
zTtT(HL23a*y2b%Xu7WnEISbL44Z??Xr%QkPU+XQp;N{XqVT`)}?tl61!jaV}!Z>%+
z^e!pZEfMz%|Hf4Mt!daBcTy-zxZv2ovhS*#hD=h9>)l^DY~`%5KdH&<rtKi~FJ$_Z
z#w_6t-@{+bV(De@{h@q_z1Re(z(MXzOjF1K$zNx4!745|iJ#;6*;D@Fu>6D{jxn<t
z6k<L_af)r-a@wUg<beOfU5VAv-P>Dq9x@j(#$C-{bJyEx+lR)-+!7oA#_rzIvgRRk
zDThT@%bSPHUpatcrRSrXJbyUEGR0YMj_@?#mS5q0pyTh{@|~(P+W24amsMO-n4>wJ
z<?{!1lked+-okFHT9O_zKU`iie@DXVS?4w$mHE{@HNfPLzq@whLurMn2R`uLoP6K|
z_Xf4bhvHBETD%v&t=`cgDC_hga@#cY6#41qA12wRZPvS3xb1=Ip25@A&t;ucLK6TV
C7*n4B

diff --git a/packages/backend/assets/notification-badges/satellite.png b/packages/backend/assets/notification-badges/satellite.png
deleted file mode 100644
index 0e1831e8a04a1c92fbcba2d48ee62a94c4ad0a3b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1743
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

diff --git a/packages/backend/assets/notification-badges/user-plus.png b/packages/backend/assets/notification-badges/user-plus.png
deleted file mode 100644
index 9d376d04d666f856fc927a82cf78ddadc4629e8b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 991
zcmV<510ei~P)<h;3K|Lk000e1NJLTq003kF003kN1^@s6aN?Cz000A~Nkl<Zc%1E>
zYq6_95QJL-5|Ds|NH`LZ5C=$z1SCWP5|DrdB;@{BwnF6sS=gQJ3Cvg3Rrzs}Gc(P;
zcr1Wn7=~dOhG7_nVHidM;11vcpaakY7$@}ro&ehEZ%R&x=cfSB;9dOJ4t3LajRbfj
z_L{J!N8a$y#SOrKG)Bxd0{F|9#yPknU8`7=bz=b(a09ZW5uf9Wu|ZBV%#<(Ok>3oj
zdxrdeia*GY8Q)|B{X_w`zF?a1f;%7#xY-Wd46jBwSM?O&cU7OQq?AlpJDOUDwGy}~
zC)<FfR&q&7@Qc5uQY>r5FxMU5bjfu|3x46(^c2inEl=<Zzot$wZ?$Mx46f;t1N#7e
z;mwd4nihmhlBC9Z4>5o=snFbI4T5=Bfic_!V_2jM42+>(Fz?Xmej^yeB9Fkp7-|Lc
zZUSS-Zb%&%7(<f9P-{pL7#Ks9VBTsC0d!7%CC3jyxgi?I5$QsxHbh&umE!`HYD4w}
zc!t&i{D2_^bc`kA6pJ+K4FTM$lx;{YoTKL_3<0<UeC%EEH@Fpe6QC|IrY`XJ8VF9)
z8P`Z!#C26UZVV4m9g)K(IZf#hKW+>e<K2?zC4(kI0uQ7a#Mws7CCUvlUBQU7&6{mP
zHbXqA?oJuuT3+g@E!%|bh5+wp4Tl3k_S1Juq1f0aPz;$<!L^zv+@S1D8mG_x(dY)U
zXKg)f6X=F$<4CKO&?RroSfU2sj29HF>@`s#d{x~ctiaul-^|f9pOyx8#H&KBA-<V^
zZXz=e>WOrVxB_mm*?#;VKRffA)<|~&stoZa9Jxu(o3m$Ow`M|!dboq7Jd)@JDhw&$
zl1q6i<nyS0OrO_UTZ~c~Lp4Og2&Pi(CPXu&fbM5Nj;cr8`7nwh74)oNB{bmpz@Oca
z3g_vfwlw0HDOnBCvQ0)#Q}%XW*$g@BnDI^B&N^j#J|xunGivYbYwN~{5ec54(za&_
zLuG6cQ=;*v>D+3gtC)xq);he(s7fZH0lyGh)JE1a2?O|r&?5R})X*v1l~l$QG#1S}
z`mjXZNvK^3>dK<-By`1<`8Rb@6^&$A3F^wC4(w)#GDFzOYZVQ4;#x(6ow!!fU?;9s
zG}wu26%BUcT1A7MxK`1)(hUuvlHT5F6T4FQzuKsZMsiyS=<1@sI>}BjzNKQ%crDv2
zv8C$mJh@*8sZAXenK7q^8|cqI`<lNhyiQOz!!QiPFbu;m48t%^$3I+7t|l<5&T9Yw
N002ovPDHLkV1n>o#FPL4

diff --git a/packages/backend/assets/tabler-badges/LICENSE b/packages/backend/assets/tabler-badges/LICENSE
new file mode 100644
index 0000000000..cab2551f67
--- /dev/null
+++ b/packages/backend/assets/tabler-badges/LICENSE
@@ -0,0 +1,24 @@
+Tabler Icons  
+https://github.com/tabler/tabler-icons/blob/master/LICENSE
+====
+MIT License
+
+Copyright (c) 2020-2022 Paweł Kuna
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
\ No newline at end of file
diff --git a/packages/backend/assets/tabler-badges/antenna.png b/packages/backend/assets/tabler-badges/antenna.png
new file mode 100644
index 0000000000000000000000000000000000000000..013c7f4e61cec955ccd453551b9c056ed9ed901b
GIT binary patch
literal 516
zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD0wg^q?%xcgI14-?iy0WWg+Z8+Vb&Z81_s7$
zo-U3d6}R5bcI-Q3z~gFr*GOpZfjbF#eMh!BBr)FIDB0yaalwMX+ec3JAKkuGC@JIf
zoKv2U-CCR$255+Qnf(kZ)$V=udATvax%p`?(?6>|K6@DOSv&gX>b$Kg8Z8$5{AcYw
z^u@2nc?+~u@V9?*ldhX)e|7UTvz-h@6&8QqN0*sr*W16_;<iRPNRPigZQWA~CW|az
z5r#vD(-<`P`M+I0Q5VJ6@Oc9#!==M)3=#a&j1O$)@HBh_3T$ee$#APWMM^2?cUj||
zZ$}v{_@%!d_`x#w&x?)=S%0JYwf|ld-Kx&WqyBQsvxRpj>u$fx!m!efVY+zjejh#S
z>W1wC`3wE|7r$dSS{}^#eX`~A%bC~tP2S0C=E}WV$RKuFE1}^^>)MxWY4J0=<D=HF
zDU=nK^EpgBdiRFhtZxYipMISoH;X;Mu}Qg1FEq4EQ*6O2mHT%zf^uh-dP=M@x|l0^
zJaN5L1fR=<>9#)ZL1$jGvM4YxayT$B2{bUEF#{M{gIrjCurthh>?K~%cbaWMQ*X{o
z4$&M{AIBAS#?MWfn%{1@EO_!`TN+nuki)udZl8DiUdh}Aj8+CuS3j3^P6<r_*}l#y

literal 0
HcmV?d00001

diff --git a/packages/backend/assets/tabler-badges/arrow-back-up.png b/packages/backend/assets/tabler-badges/arrow-back-up.png
new file mode 100644
index 0000000000000000000000000000000000000000..a253384c72bce2068c2b4518b7403b7dcce4cdaf
GIT binary patch
literal 952
zcmV;p14sOcP)<h;3K|Lk000e1NJLTq003YB003YJ1ONa4NRhv@00009a7bBm000XU
z000XU0RWnu7ytkRYDq*vRCwC$TD@))K@k4V4g^FjK#G8xA{F!`5NL^j8jz9)2|Xmx
zp(H#2X^<lso&#PWHU(4!u=0xn0mo-%_RiMXJ{yahU2esEBkP=4zMJ`Gc6WXZC=?2X
zLZMJ7{(A%@-l9N~yn3fTbAN_}{otJmWAwU$3O<um=pFnrfz`i`9kdXVv{3iU1XlkB
zc1iJHXp$V!yRtt9MC`NrO?tJA7h2fDgjow7v40$^@09`l?6Wj{386IhBU840Sj6e<
z^ZPyA^h5o0_V+Oxf9@&!xBO6F*;n?huz$kT16kxBu+Qi24yJ`R&LTaf=#qU_|2yu`
zXOlRaNlG}Kpr9yyjucYakK~9lp92b_Y*NQZyrUH45oT~IQ6h<{f0Yu1ZuafTdo1Cy
zNd}8@29!;{pZ>s5M4IH?21ytP<_laj!Iaq#e1i!JlPKa{NR!N9Uw_2|2@~8K5P7v>
zp0{S!LXbU#HU@@JC@8(2;3vMJ{V8K{<Z2POLnlcNn^4K_g<;$150PzjA3x*!9rqZ)
zCajvZVCf(`#GJrEHi;?R#$#-nyLQvWe=W$Eke*6x<C<6vc9M3UT3lHtv#l*$%HAgU
zQyG~pnJbt~h-oNcy@w_?XC=E2hNaVc^nZzTI*5&U+SjW2MnNXv=fPgsHC`AKIr*9C
zmt7{X50)i-;KB<L&*xE1(8Sjo#%0=NF1*0^nC}at8L7>}#aaNR)td>DIEWVI%GO~!
z(yRzi9PP`A4VAC2WLANj)*>r<H$f0T<!#417QMhn|Av48{QW62Z3sKme8`^IxofWn
zCP6vq7!aBYp(Ne5w>RK$WI+0e$(s;LdO>=~$BX!$-9_AOg7lcx`Zn6@aM?k3bdXi;
z9b{=HNdDA-)m*TbN(|;L5F&$<xmr&$SCvZUY$Hmi*Zb1xC3`DC(uYw&^UPL3BOh|3
zmXy!)#((-^AIHPgqW+WVlm>ZHKiYQBCE6-;6y?<cZI$_a@n7g1e4{nCR`RHRy{}zt
zv9%~~K-tW8nj<uKU)xFGY`5#%?e*2Xu|J9d?NIuH`w*GYxCx=|5z`^oa3P=S4_?G=
zso{z2kk7?7TBmA@$E=H(mLIdaILIsyx?QCb7Jq7BKbiCThvN!`LZMJ76bgkxp-?FP
a62Ae_OM*7Fm(cV80000<MNUMnLSTY&8N&wv

literal 0
HcmV?d00001

diff --git a/packages/backend/assets/tabler-badges/at.png b/packages/backend/assets/tabler-badges/at.png
new file mode 100644
index 0000000000000000000000000000000000000000..cbf8df4925a5211183e17e6d4f64e46d75300509
GIT binary patch
literal 2909
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
Hu0mjfQIC$?

literal 0
HcmV?d00001

diff --git a/packages/backend/assets/tabler-badges/chart-arrows.png b/packages/backend/assets/tabler-badges/chart-arrows.png
new file mode 100644
index 0000000000000000000000000000000000000000..b2b8a2d99367e27fc9eeb5a7ccd964a3a150b32b
GIT binary patch
literal 829
zcmV-D1H$}?P)<h;3K|Lk000e1NJLTq003YB003YJ1ONa4NRhv@00009a7bBm000XU
z000XU0RWnu7ytkQ?@2^KRCwC$oXt+cKoG~rf+tPn;MF(a?g7xF@l_?^5qup?jDeCE
z5rH~wk<X@ScmFd}YIh?vP3Z2g`!(~QU5T31q$breU2s0zas$r$-&zS&Zjii#E6(xz
z2o$RiDL4LMmqzr)dBj(wgm7AJ%l$F$6w#V<#8)~9$K`%dkMFeI9yH_!%xT4W&R0V<
zfR}B#3%;7tLwSU_4_?zac@NR%bIf;0ct$!dH)4p0Ce$yB5I^XKf4C1Y;XC>O5iOHe
z7?eY>0@!t-#TFoKg^~y<!1MrMss_;Ip_^7aI_O9x5bOX_gnrWc%ac|pJe(~7(kk{6
zgw+YcV=;tmfX-%>l+Tx3(jXHdEY=FPE%4Wo?vt^wc4>tyfROIkI_dCzoqWr6c&5(`
zgaWN_43I*Ed`C0Sct!ZytNadOMo;;6K^8!Da*Xhutj<9>fVD}^Lipjo*Srx~?G`9t
z8PpV@=|Z-HxJuJ#Saupc`-Q9)rbH2AuC-AR;%_NqZXjpOp>!lMb2=XYr03*1Gy^$@
z2BqiZxs)Ze2{!<Mo@3?Iqx2lGtl|UURxnuDa_K^zO^=ioT?VnYo`aeUT&GcQJtuQI
zcF?BX7BavBgjx_?O$l#32Nhy+H|9KzFjSDw$DH;ugONJDyF=rl=STvmxPr0(3eI@7
zTR<_=Q&WI{--V0^F=84Gt)|hlU&tg(3DJE>62{!VS0KI*N!FZJ*oTC6Xb#^#Mn6(?
zDf=hY2kZy3a_Uj~k&&zdlTECIEtqg+CoQ7%BQtRqr5~xt>upi}$S}Zx(vJ*7Oep=x
zFvy3~kIcfXqGq>Fpj%KsvfXL`a6L6Qdx$vy)|)-N<(HZQG+oGc5Nl4OA$l4;`-Q9)
zrUY{HxA%S^+ZHf0r!fGK{XljAp#4C_03;3psXFy|099E<;vk%wuqAgCQAt{qI}EBM
z?q=&efzWfsf=*I_2*rceQlTK#qwZ3{IIDj)(4;0csjBH0Uo$Sgqc*{V00000NkvXX
Hu0mjfq%C$X

literal 0
HcmV?d00001

diff --git a/packages/backend/assets/tabler-badges/circle-check.png b/packages/backend/assets/tabler-badges/circle-check.png
new file mode 100644
index 0000000000000000000000000000000000000000..6464d5133cc838edc4f68f9a98e711b0fae44fe5
GIT binary patch
literal 2307
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

literal 0
HcmV?d00001

diff --git a/packages/backend/assets/tabler-badges/messages.png b/packages/backend/assets/tabler-badges/messages.png
new file mode 100644
index 0000000000000000000000000000000000000000..fa5072ebba50da94e0ca42d23f5756579ec610ab
GIT binary patch
literal 1056
zcmV+*1mF9KP)<h;3K|Lk000e1NJLTq003YB003YJ1ONa4NRhv@00009a7bBm000XU
z000XU0RWnu7ytkR(n&-?RCwC$o6SxeF%W<!8)y!R#3If-K{)`YRwZrKWBYDR;4zBS
zQ+bG1eT@QA1W7oN9|y+XpKNyRjd$0x@v649IV8$>KL3pEnOOi=Tye#fOlcXewH6QB
z#$~oqYE3=wg%DjhFjTv-%vL?>pTQOUg<F^ys<$ZZ63*!nxbS@#!UA4kg^#()r7f{r
zI$<kh>c4>-(bNJThRvF(Oi1M2a)T|9A@GGe#75?Zdw)F&bNn2JEfH8Az*#yMJ@!IW
zR|4WZY>lY@7pVqK)U`w|eLyh=E%E$8@r<nhUqb1>;}#7A^w8WTt<MUkMvUk*A(I3A
z!+n7S-~bzo0Qlz=j<G4f(iY~UgkzMHlsm!ii2%mN8<KU*m=0i)0`SAVvwY>&#?Q#D
z4S;3@9DoCG01m(bH~<IW035*o1EA-rv=l(?<MdK~0Sf`tK2ATplX^A-<oh`9;U}DI
zcxNmF2%LmhuvGXs`FEoY1k+c_N&ssg=R)D*Wbll?{>T8ByVOT(tQ3HbkCXp$2fbL3
zNw-RJjg<h<^Kr@m%sIBAHP$WzpyT6|Pa$)zMXu%}^hLCxAb_4C*+mSnhtI%}bC(H6
z`UE}-$%O&7Plc=*h0yHIjJemDQ1uf^Jt_*YZ86F=vS{)R3<fxuX!|{M;HfCUc5~=S
zLJWcV{Z%={w2ANl-_TrC8Ufjcl(&OiRtoZE5ym(%ldG=;fc}OQOsrFcC>Lf8lx0dF
za)4@q?n9jKpV5G(5o!g<KZfgs3j1OWE|mtn1_1R%XnW=R$p?YJb_-CxaD)rRC^P~9
zaz?=l0G;d~)hO&7z>95^S85ct2Ki_Kf@GPl;wYjs3Ofbh3ZLLH@LqZt)EkBLJ)}l}
zK>bm?w~n+Cf>D?wL~swe&ifxNz%@#H)>9-k3Xi(rl<tvU>QtFK6;cS=Q;*iaGcK7j
zP+;-f2~fcN+UzFRN`G~J{w4r4I&H=)nJ>8G#HFaA$ej7Mr;f=1)*DL0lJ^3D{lu1T
zdHSRrAbF@Vlfe2tJSNlta1^W0jHM9I;0y>-h-Cmz(1Ca2yQRS-ZjuCIIlvu!73X+X
z*>TQ7uPI>~eHwt*ndD}=st~$Zz>w}O02zSHKgprWzDjZmgs+mQ0MdbnFSsraZG4$W
z4j_x0l(iqkuT$j%1TmAou-}%x(3S_V?)^Qmwx|ID_4{_KuLfXo*wbqDvzPDe+=u1?
zESoU*RSu{qPI%D_^|LO(c~j=T+6nuB*O&&WpLK)3ZJPSU0}+-Y=!Sx<wn!~-#T8dv
ap)aqtud1s^8Kjp00000<MNUMnLSTaM_2>Hl

literal 0
HcmV?d00001

diff --git a/packages/backend/assets/notification-badges/null.png b/packages/backend/assets/tabler-badges/null.png
similarity index 100%
rename from packages/backend/assets/notification-badges/null.png
rename to packages/backend/assets/tabler-badges/null.png
diff --git a/packages/backend/assets/tabler-badges/plus.png b/packages/backend/assets/tabler-badges/plus.png
new file mode 100644
index 0000000000000000000000000000000000000000..f13a86f4cdfad66e7b19b22d411d86335cf21e3e
GIT binary patch
literal 414
zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD0wg^q?%xcgI14-?iy0WWg+Z8+Vb&Z81_s6e
zPZ!6Kid%1IU*u{s5NY$jC-#K<3!81F<NDAGtyR~3Z$$>5QYqLmW%IuO?NW=M)SO%P
zH%Ey>u|>d%qxPa#ZrIFUfA7Zpe0OL4)jS!a>Zjdro~np{^^8v9J~+L8s#{j+V%=np
zbypUP)lJ_0YuVbxsto0C^Pl{&`S1I?>YCg}Bjue&+k?I^aJ^+rh-=uy9>4^2Co=f3
zo?$h^?jI`h3{M_i-u1C>#;26-9)~49TTfdQ>n6@A{`<vmm7K#;+l9wFCav6Obk68R
zXmri<sOm#~0;<8a=PhQ>lvNEbjknz*nJ)Vx(J}Gc%vXtA2hxx2JR;$9D&#EljQuS_
zKLlsbcN5+*QT2ny!~=(A{<9-H0K}dl+7Q}(nrTMdkF2_vg-qT1&+700&auqgp@QXd
nbigjjlONO+KmnroCE1oiRCd9k^K*jqK^i?>{an^LB{Ts5&U~dD

literal 0
HcmV?d00001

diff --git a/packages/backend/assets/tabler-badges/quote.png b/packages/backend/assets/tabler-badges/quote.png
new file mode 100644
index 0000000000000000000000000000000000000000..e0fc6f3fb42884f7a7a1f94b5706a4b2a2ea368b
GIT binary patch
literal 1011
zcmV<P0}T9$P)<h;3K|Lk000e1NJLTq003YB003YJ1ONa4NRhv@00009a7bBm000XU
z000XU0RWnu7ytkRrAb6VRCwC$n!RolK@i8su>(Q|5)^0<k*JUm2tf*J=;#nnK!rpD
z67U2_G*osdsHp>@B1qJP!iX23L@042knHdwh~u-F-8<Xo^VzpM{^yd2nbp}+y!V@(
z+1<I>xe%$SsHmu@sHmu@sHprGQpjj|bG&4RikW?i+$%4Rr{`xP<z<>1)5`rmg<a=}
zhJS^g(I?uV=9sp@zb@0#1l1^x_wb2ksY*N4r4C=?oB6fP!#f<^wL2Wa@DI_dMegtw
zFh0Enwuc$sD&LV*jpBHV*>F{cwKBXm@Lr2QtI?f!j(6lCUX3m5nXY5&SmjI6-B^y;
z|2qkAS{w8*y(>e$LvaM_zd#=u6FB>=8}+XB2{?|(fTJAN;!&eRTdBcsE7r#-Ugvlo
zHvqvA88FAto?`R4MT?A_AA0o6^IsPEmw3M>|2=L1f+IAbkqJy2U}MC9={b-YXtJNe
zXXK!nC^0|MZ}JRCI3NSuJeO^NKSvEv1JnRD;6R4a251Hv`(p+UTq+?+!qN;taB@qh
z(+ogx1XALw;(ZVqRgB`~a->XCjN%9nl@*V}_&CKVj<Brq#-SWCSuu(uHeuPJAT?Pr
ziX$#9US{RvOM))p55<8OcikUAC=R&1?w10fIKUSi{z({$12YTbxg2I-yyAt#+Wk()
zMFt=^A_Gp-ufAewMGeIfB^(!H@!cr?EU4|HIHGjpM(pv_=4(w*ltpnwIqUscu4%qk
z1Z8m)N3?`qMIP%Zei996FF2wYw4RvyTi%{SaYQ@dcFb=^{ZBgU{b~rs5#>p>m}2w&
zUa;{{98a0$>)z05*R0$J-YXZy5yXwF^gFh0!^gkx#G^Q#Q*OL=p1zLw?YY;+Lvg%Q
zYvY;gw%QX69YKE3IcLA2I9`4)u~M_Kj?q*5Ha$qZ*?sKfHx$Ry?=w+UI7JWXi;WaX
zwKY1D897iK@8KKVNxDfd=$oD9_R!%xu<sNvWllSaBg!~m+ZuCs#AjjD-sV&+YuZs9
z(eOim1w6&cvWS`VKkQSt;ZM&I8L-0ezbO@+z^bj&HHU`|iX$qs*Ha2oJukkaGY(!u
zaX<#Nqs_NTcWh0em>Wm9gkIXI52Akw3#*uQj@AqPz?dIrs!bgFZJR#OT{>a?T6B)r
zD9#jNbd$aHmLAcCNLf*IaG#zdevp-U6%Ueu!X9$Osf771O|@209C3AYKXFu4R8&+{
hR8&+{R8$VG`~!+s)<=HFD3t&J002ovPDHLkV1i|W+1>yE

literal 0
HcmV?d00001

diff --git a/packages/backend/assets/tabler-badges/repeat.png b/packages/backend/assets/tabler-badges/repeat.png
new file mode 100644
index 0000000000000000000000000000000000000000..ab548043f73bed11cce7cdad74a8f7bf0ab2fbf3
GIT binary patch
literal 1206
zcmV;n1WEgeP)<h;3K|Lk000e1NJLTq003YB003YJ1ONa4NRhv@00009a7bBm000XU
z000XU0RWnu7ytkSXh}ptRCwC$Tib3EK@4@aTd4)2zLd)k079Z%A1c%fyns}RcP<|Q
zv_De#11NuxO8p1Q3kAd<(8mS{ZIVj8sM&0=XE)K_Qgvs>vpXnbMU4XS`q&=ZV^07^
zYqUmdv^1;=lC{f0ivG1ueA4}SB(j5JpZEYbVFP|4ZQwhAG5f@CKo5MR9_+##e&X5%
zpoW4ULl@};-?d=T9th<77oaZm-xJiuR}<!Kfsh8!15a3C!4?R87djaL2&`ZYgkTfz
zhGO?(j${#pc@#Hrp12h(+0G>5oPf|xL3qdop`w+>k>f%pgtl%gR4`Av3}qKN(yZ7E
zKA#nwNRpp`DokmmY2>;D2N@9BI<_-up7eeRUcwrDhHXs$EzPu#8Q~}*d@{8;D!QjH
z-++%PBb%VEsF7ymA<);(!CS0XNO%uA`09${i-WQtbnvw<3xNFo8vGEN=or_2K=jl)
z79Eg3e31C}VMl187~z!wI70jN(1>xCCS8asrCNR$BD9n6H6^|mOZp|=#N<Bj65{(|
zuJkZEn+c<yY#62geoHX)6XI{dEBu#fV~MOOcg!UHuf_CFj1S>8OaCUjl<?%wXC&km
z_!D7Be-GfXVCITeh>2pZC40Oi{lAFS==5$GKONU@f$VZx@n}h3`Ves-V*Mp-L76(x
zG*w$Hn-Qjc{ksg}GaM-^qF~-0u=NFmJ8BhS&O^OYYlQ$*!+u#GKwAVly)MMoRw2ey
z$R-M)g`e;P(A3y61%R!!XchoNbJrYztoFLA$2Uy@U>R_j1#tR^Nosax8o)3?rDtbF
z0MP1MWdM-g+>T8ElHs+H4?+N-83WKX4q$zd;Ewb5g^C7{EHQGoRg@WM3FAr%R5W2Z
z04QvtG9*%^FjkIAptwsI+QPW@8l{Llq_svVM<V5SEmi=ofz8bbAn2m)F^5++0PdiR
zb}~qCHG2T0dzf4$1`7Z;qld`}U>f#g02)wLc}{i*xx?f_#P6<nl0Rs7{e%g509o4a
z&#pK&F+Fc3(OUkb)AyBTS7&k|2eu;5BTK&rg-OA%{yoR#ykK6lk{Yf&1F0LOr(H&(
z9_F~#QIjLaR{&4oFfrWv4VPthK(_XS9_B1lf$hL@Vm3++v?infZ0!fbz9kXpbPrl@
z!yEV}p64fKqY|Madv+Dj5k~)ghC#O%dc2<q)vNjSPvXy{W>@^wNvNwM2J4d`b<JZv
zF}pH<)q}*}fvX^O%_BLxGJnM;5dWUc_AMF!2~V#3U1)zywi>Aobs;V%>V_BEe9@6w
z6~3=<Pp*hf9N7FX#{KK6XYSL&=rKzeZD7T@i8ar2xF{qT({cXFPGpDhlp&E-MZpZA
z@LIC`@KRzA9x&CRuDa&WR?M~Gk@jMarByb(oNoUQ_xl%(Hhmeauxq$)t=S4(hk9dH
zFg<$GZUxH#m}@PvTVb!D*_k#7Ma|B%^$o240W*O0KOygzT^9d{f3!wxv`V!80VRT4
U7IWCp`v3p{07*qoM6N<$g1CPtg#Z8m

literal 0
HcmV?d00001

diff --git a/packages/backend/assets/tabler-badges/user-plus.png b/packages/backend/assets/tabler-badges/user-plus.png
new file mode 100644
index 0000000000000000000000000000000000000000..2ae96f0b7379d9896a6570c91b42c1c08f63b20b
GIT binary patch
literal 1431
zcmV;I1!($-P)<h;3K|Lk000e1NJLTq003YB003YJ1ONa4NRhv@00009a7bBm000XU
z000XU0RWnu7ytkTNl8RORCwC$TFXupK@`0`LlB}yh(y_t7>&5`2NXX*qI-p)-{B*1
z$3tBygL`3PAfn%)A0QwJxIu-5;4AW&8Sky?Vfr;)kM61(vHJ$->FFx&sk&8l>ec}$
zuHq`L|Nim<_K#g<=)j-!CvAF_0&bR|8&0Bi<6RR-shvZHJJ$_Y;2tc%dsv4pv~|3j
zhevP?x_n?>dxj0Ubsi>R73wYQBTT^s2DRL7ZBGuJg$n#cH*0A7Xa`Vb_f@>3&ou_(
zH@txUL%?n1{s??U_p0b<wPg=9zTJe;_JQEB*srjbPjkLuHNP)r*jVt~yHA7m4LY<J
zbG{a^Xix0n@3&YI+(O{3&)u&j220W>4vs@8yX^&v{Tb$d*!cthZWngYcKuHW5fD_W
z;@9HL{kzPupj!v5FP2~&uERw*jW&pP<M@QyJ^F4P?zn<L9p4Y1S&KJa+Q*+&xDB1L
z_dD_FivLEluj*JsznhUjtyYORL@hdt<bhV(4n`aJC?O_9tMo~ji}V<ko_5g(<jy63
z*$TS<l(l9@LW_Dnh{quaRQd-78QA7XW#5(kkozwMbd6KJ*$@P(Vaj$NQ2TZvvuVaZ
z{auD$VN24tz4&Ih<O&?KI}XT=q0sQ979GQ<9m2Bo##k(juG$SEa^hhifC$J3MwUIv
z-dhU5r&{hyfzNdWyb1uIzZ24NOm9s^O24u>3Ox4nJ`e`fmN%3D+zj*p)$;DJW-)om
ziNLKNx<E1f2UlI$D5kdtu|#7Erdrk{h+WCAzm#>fcx*}9I&^@3??9jQJVI~v!S_)4
zO}6}bsqWLa$I+Ub*IWUdHVS|oz6^`-1#J=UGR;}}gwU=+2yyqf{5?h;?=nG19>g~d
z4q|e3fi+VVjYiKxwmwLjMkkF;qXg>&<Gsz0`;1RAtlhNaJcul0OG*pbvcf_}B~HP&
z5P)y^Bm;n~RN{^jl`sH+x8jO6nTwZ9BXb<Ub_l?BHUO>Y^sE$}o{Q1x^zmZ^fc}Q&
ziSmZV2msz<(+OM3Ipr<ovxN2!o-I(xo)~~0e|6SAgW#L`jl@m;Xu_uc7>p!t>NntQ
zq%EUdN45u)IZ`>cH3_CwCSVvtgQr!7G0K-)q*cZu?cd-$J?J909{e<bWF<^p24e4M
zaHK|NLO-!J9dp0IdA38g6UqG5@JaX$Esn$^^tE<saWRtM4RW5kqG@s@PV5$QO77CX
zp7%LVEn@YQ+W9F2ain>5j>LQ6xpI2F5=*Z~Igd^sXmO<A0Y^>pfa6xe0f#dH4G3p&
zNQ#e`e!&czIFrt2oP<#LknbE$pC4Pc(F%ThKIM?l!5|LzL-3e&9=AMe?3i`UKV}`0
zIA*mxjkcm|jeDJgZmSDf>u|~<HLyk{WF}Z$v4;gRXEzsafKDGl0G@)i831)PkV**y
zoBFhA^OV5U^+U!0B<q8=1*WbaGLYD6QipVXkjP~9L%F9G)Ad0jQ`ZmWp4^qy2Z>Bx
zKa^v7T~!~HmwqUx0}fezkjQlOLpdBV$?Ah-Lq}ad<YmvsiS$9DY1E;9NJbyjCtS$-
zT<M2Y^+BS`x_(GrA0#p-`XTjny0}NJ>WB37L2^{kf__L}A0*SW7W6||4)tUX{fz5}
zvgm{4de^XiD4RY=rgo$Hp{)8K834NaAq4{WNn6|@Gs1NALrMU$=!0bHSJw}<QCh=z
z+N1zb04M+)2>^z2lNRbf8UPIBCau+PA~$Kd{=9RO*6W9yrN0j9hg`+iPU?po<?oK_
l&m%YKy#C@UuHyPvuD=)4f|M;X+^_%u002ovPDHLkV1lkst@r={

literal 0
HcmV?d00001

diff --git a/packages/backend/assets/tabler-badges/users.png b/packages/backend/assets/tabler-badges/users.png
new file mode 100644
index 0000000000000000000000000000000000000000..7862963327a034ab20da73c84ca18aea46080375
GIT binary patch
literal 1911
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

literal 0
HcmV?d00001

diff --git a/packages/sw/src/scripts/create-notification.ts b/packages/sw/src/scripts/create-notification.ts
index 4b006e0f5a..6744687fcc 100644
--- a/packages/sw/src/scripts/create-notification.ts
+++ b/packages/sw/src/scripts/create-notification.ts
@@ -3,14 +3,21 @@
  */
 import { swLang } from '@/scripts/lang';
 import { cli } from '@/scripts/operations';
-import { pushNotificationDataMap } from '@/types';
+import { badgeNames, pushNotificationDataMap } from '@/types';
 import getUserName from '@/scripts/get-user-name';
 import { I18n } from '@/scripts/i18n';
 import { getAccountFromId } from '@/scripts/get-account-from-id';
 import { char2fileName } from '@/scripts/twemoji-base';
 import * as url from '@/scripts/url';
 
-const iconUrl = (name: string) => `/static-assets/notification-badges/${name}.png`;
+const iconUrl = (name: badgeNames) => `/static-assets/tabler-badges/${name}.png`;
+/* How to add a new badge:
+ * 1. Find the icon and download png from https://tabler-icons.io/
+ * 2. vips resize ~/Downloads/icon-name.png vipswork.png 0.4; vips scRGB2BW vipswork.png ~/icon-name.png"[compression=9,strip]"; rm vipswork.png;
+ * 3. mv ~/icon-name.png ~/misskey/packages/backend/assets/tabler-badges/
+ * 4. Add 'icon-name' to badgeNames
+ * 5. Add `badge: iconUrl('icon-name'),`
+ */
 
 export async function createNotification<K extends keyof pushNotificationDataMap>(data: pushNotificationDataMap[K]) {
 	const n = await composeNotification(data);
@@ -75,7 +82,7 @@ async function composeNotification<K extends keyof pushNotificationDataMap>(data
 					return [t('_notification.youGotReply', { name: getUserName(data.body.user) }), {
 						body: data.body.note.text || '',
 						icon: data.body.user.avatarUrl,
-						badge: iconUrl('reply'),
+						badge: iconUrl('arrow-back-up'),
 						data,
 						actions: [
 							{
@@ -89,7 +96,7 @@ async function composeNotification<K extends keyof pushNotificationDataMap>(data
 					return [t('_notification.youRenoted', { name: getUserName(data.body.user) }), {
 						body: data.body.note.text || '',
 						icon: data.body.user.avatarUrl,
-						badge: iconUrl('retweet'),
+						badge: iconUrl('repeat'),
 						data,
 						actions: [
 							{
@@ -103,7 +110,7 @@ async function composeNotification<K extends keyof pushNotificationDataMap>(data
 					return [t('_notification.youGotQuote', { name: getUserName(data.body.user) }), {
 						body: data.body.note.text || '',
 						icon: data.body.user.avatarUrl,
-						badge: iconUrl('quote-right'),
+						badge: iconUrl('quote'),
 						data,
 						actions: [
 							{
@@ -171,7 +178,8 @@ async function composeNotification<K extends keyof pushNotificationDataMap>(data
 				case 'pollEnded':
 					return [t('_notification.pollEnded'), {
 						body: data.body.note.text || '',
-						badge: iconUrl('clipboard-check-solid'),
+						badge: iconUrl('chart-arrows'),
+						tag: `poll:${data.body.note.id}`,
 						data,
 					}];
 
@@ -179,7 +187,7 @@ async function composeNotification<K extends keyof pushNotificationDataMap>(data
 					return [t('_notification.youReceivedFollowRequest'), {
 						body: getUserName(data.body.user),
 						icon: data.body.user.avatarUrl,
-						badge: iconUrl('clock'),
+						badge: iconUrl('user-plus'),
 						data,
 						actions: [
 							{
@@ -197,14 +205,14 @@ async function composeNotification<K extends keyof pushNotificationDataMap>(data
 					return [t('_notification.yourFollowRequestAccepted'), {
 						body: getUserName(data.body.user),
 						icon: data.body.user.avatarUrl,
-						badge: iconUrl('check'),
+						badge: iconUrl('circle-check'),
 						data,
 					}];
 
 				case 'groupInvited':
 					return [t('_notification.youWereInvitedToGroup', { userName: getUserName(data.body.user) }), {
 						body: data.body.invitation.group.name,
-						badge: iconUrl('id-card-alt'),
+						badge: iconUrl('users'),
 						data,
 						actions: [
 							{
@@ -232,7 +240,7 @@ async function composeNotification<K extends keyof pushNotificationDataMap>(data
 			if (data.body.groupId === null) {
 				return [t('_notification.youGotMessagingMessageFromUser', { name: getUserName(data.body.user) }), {
 					icon: data.body.user.avatarUrl,
-					badge: iconUrl('comments'),
+					badge: iconUrl('messages'),
 					tag: `messaging:user:${data.body.userId}`,
 					data,
 					renotify: true,
@@ -240,7 +248,7 @@ async function composeNotification<K extends keyof pushNotificationDataMap>(data
 			}
 			return [t('_notification.youGotMessagingMessageFromGroup', { name: data.body.group.name }), {
 				icon: data.body.user.avatarUrl,
-				badge: iconUrl('comments'),
+				badge: iconUrl('messages'),
 				tag: `messaging:group:${data.body.groupId}`,
 				data,
 				renotify: true,
@@ -249,7 +257,7 @@ async function composeNotification<K extends keyof pushNotificationDataMap>(data
 			return [t('_notification.unreadAntennaNote', { name: data.body.antenna.name }), {
 				body: `${getUserName(data.body.note.user)}: ${data.body.note.text || ''}`,
 				icon: data.body.note.user.avatarUrl,
-				badge: iconUrl('satellite'),
+				badge: iconUrl('antenna'),
 				tag: `antenna:${data.body.antenna.id}`,
 				data,
 				renotify: true,
diff --git a/packages/sw/src/types.ts b/packages/sw/src/types.ts
index 2e23de8e1d..3b35de4079 100644
--- a/packages/sw/src/types.ts
+++ b/packages/sw/src/types.ts
@@ -36,3 +36,18 @@ export type pushNotificationData<K extends keyof pushNotificationDataSourceMap>
 export type pushNotificationDataMap = {
 	[K in keyof pushNotificationDataSourceMap]: pushNotificationData<K>;
 };
+
+export type badgeNames = 
+	'null'
+	| 'antenna'
+	| 'arrow-back-up'
+	| 'at'
+	| 'chart-arrows'
+	| 'circle-check'
+	| 'messages'
+	| 'plus'
+	| 'quote'
+	| 'repeat'
+	| 'user-plus'
+	| 'users'
+	;
-- 
GitLab