From de0fd2d2e459aec24dae1293cc1f8f04069dedac Mon Sep 17 00:00:00 2001
From: Caesar Schinas <caesar@caesarschinas.com>
Date: Sun, 25 Dec 2022 02:35:04 -1000
Subject: [PATCH] [BRANDING] Custom loading animation for Forgejo

(cherry picked from commit a3b3b8a2dfb31f3b8000f1bfeae63ef3190c211f)
---
 public/img/failed.png                 | Bin 11009 -> 0 bytes
 public/img/forgejo-loading.svg        |  14 ++++++++++++++
 public/img/loading.png                | Bin 12629 -> 0 bytes
 templates/install.tmpl                |   2 +-
 templates/post-install.tmpl           |   2 +-
 templates/repo/migrate/migrating.tmpl |   4 ++--
 6 files changed, 18 insertions(+), 4 deletions(-)
 delete mode 100644 public/img/failed.png
 create mode 100644 public/img/forgejo-loading.svg
 delete mode 100644 public/img/loading.png

diff --git a/public/img/failed.png b/public/img/failed.png
deleted file mode 100644
index b37545f90ca3b304357516661efb9e1431fa96aa..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

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

diff --git a/public/img/forgejo-loading.svg b/public/img/forgejo-loading.svg
new file mode 100644
index 0000000000..919552ebb5
--- /dev/null
+++ b/public/img/forgejo-loading.svg
@@ -0,0 +1,14 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 212 212">
+  <style>
+    @keyframes draw-orange{0%{stroke-dashoffset:200}25%{stroke-dashoffset:200;stroke-width:0}50%{stroke-dashoffset:0;stroke-width:25}to{stroke-dashoffset:0}}@keyframes draw-red{0%{stroke-dashoffset:130;stroke-width:0}25%{stroke-dashoffset:0;stroke-width:25}50%,to{stroke-dashoffset:0}}@keyframes red-circle{0%{opacity:0}20%{opacity:0;stroke-width:0}25%{opacity:1;stroke-width:15}to{opacity:1}}@keyframes orange-circle{0%{opacity:0}45%{opacity:0;stroke-width:0}50%{opacity:1;stroke-width:15}to{opacity:1}}@keyframes fade{0%,90%{opacity:1}to{opacity:0}}circle,path{fill:none;stroke:#000;stroke-width:15}path{stroke-width:25}.orange{stroke:#f60}.red{stroke:#d40000}
+  </style>
+  <g transform="translate(6 6)">
+    <g style="animation:fade 2000ms ease-in-out 5ms infinite">
+      <path d="M58 168V70a50 50 0 0 1 50-50h20" class="orange" style="stroke-dasharray:200;stroke-dashoffset:200;animation:draw-orange 2000ms ease-out 5ms infinite"/>
+      <path d="M58 168v-30a50 50 0 0 1 50-50h20" class="red" style="stroke-dasharray:130;stroke-dashoffset:130;animation:draw-red 2000ms ease-out 5ms infinite"/>
+      <circle cx="142" cy="20" r="18" class="orange" style="opacity:0;animation:orange-circle 2000ms ease-out 5ms infinite"/>
+      <circle cx="142" cy="88" r="18" class="red" style="opacity:0;animation:red-circle 2000ms ease-out 5ms infinite"/>
+    </g>
+    <circle cx="58" cy="180" r="18" class="red"/>
+  </g>
+</svg>
diff --git a/public/img/loading.png b/public/img/loading.png
deleted file mode 100644
index c5ba3d9cd79960a3990d5c61fa68c98c632a1a50..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 12629
zcmZviRZtv&vZe>O;O_430|X83?vlaXgC}Tk2|f&Ng9W!>f#4II!8N#t;0{}7_iojB
zxc$`C{n9UA)mMLYoVKPCHYNoo006*NQI^*Q01(sx0Kg<V5&!_O?j8Hj0v%+d|DPc;
z0001lOxRBY0Elkd>iP-*0Kn_JzI(Nnd$qPlwYEcrihH$=P1y&hN;RiSHQRD|+j0fx
zYF)<)Rh2Au#|l;RB5`}Dl3lr?UAdxtg}Ql>gdJ4T9;##yRkp9tvMX0IEd<(@E7(BQ
zRkPR~D%I^PRCRL&?4io0g<|F<vY;|$%VNoorE<3AN=ErY7A5iy6&iNs3RWeu)@2H(
z*GF18JjO**c2H%j5*h0<g}1jiqXKdJ3QhY84U1w)P^r9pI+JyovTmO6$5PpkrE;c)
zK(j(I-CRM7VrfvBk`|c9szk;Xs$m0F*M$guELG41b6XTkX@I#*3xVdvQd(dhP??He
zK2SA_T?ZmyS@OZ8P)sX_$D}~iC|}sJSXv#-ZBig+S)yQ7s;CL(GAoiWE&y7V$e0(s
zHz|@)&*s#H2<Ybum=(*J6iHha%jo9`>gS1=76J_l#C0J2+BrNbS?p$o66)EUiWw|=
zxx!jGyoLo5#s#8UIebbPtU3?@gFHc#0-#a8uv#{UNujs~m|Gjdua_%iQ~=b?6V(KB
z8RQD;<_f8UxpnhIbaMp_^F?$Z0*aX|>R>K)FpoBbUq4So2g0wLE2NmgteY#OlEtB!
z!=shMr;{tJlEto;&7}?D(}wV?gSj=qJnG>8oTQk^qLRg~oXKVhAsgQ4d3$>kPNtAa
zqlF(#=x1QCMxw|k0Q9pd)=n3?mz&fxsqUU`d@DsyulGY6R3Jm~>R{fMxyp}aO3o!5
zCBq>py<a}JI>)!0q;}aD7D!Z#=QvmERsW8I{POf|u<T!{?pY|>`?t|Nomn?s6y51l
z1WQxMVE&`*I|Bd!puW1AdH`$+W@c7CVM$pnJyTP2O9w|sH_w3J;4h(}kueF0NlD4c
zX_;ABd3lA!C8bqWbqx&-&CP9X?d=^Mon2jBT|GU$eSQ4{gM&lEBcm|b#KhF}%*-r&
zZhn4YadByBd1ZBVZR5|@*4Ebc&hGC1{{F$?(b37t$?4hI+1cOofB!BnE-$aHuCA_c
zZf<UFZ}0Bz?(ZKS9v>ecpPrtco}XV{USD5nqV^C0004#k|HB9H|JnLa_kRoFKS&ko
z5KIFA_;3|@S^WTnQ+Q*1sSIHFLYPiA_2U)^!%7rUV~4SM=A@Ly%KNXp+cvI~sUYEz
zG#zC+3@)nW&lOL@Grw~CnLLNqy+YfTCs=YGE*`EOA)tT+g}gF$dZ#p|lOb!V8|pE>
z;m$hAm-9)X^@4f=xh5Vtw)!WOAGz}!$#RQrZev2e8c(dBylPXWMAXMx0w3W62u(gr
zj_s>GKhwTTSsoMGJfp1Cyi^DcdG9#VeC%BMOSVe=V$dxEzqwdypc=V>%Hk<r1VxVU
zGc)|c&&5^c!N5=E3prxAzRx;%@G~=9yn6M#2mZ7=#%ZtMj8QjEbIlqfJGrq47U0)_
zlbx*4ZVk6bvk;El46wy#j}b3{g?47XoaO&h+TM5*_FD@n@Xf#v3f~nWC4TR|I$+?N
zIe@1FDY~KPhxc7|JA7Y?@Pa#*IrSd=qB>%DUqH4Z_>&FYUdHUI7S`xR)#{FZ>RWv>
z_Vjdd?**i~Ej+ktt^R$&Uz!toz}6$LjHv6T<T72g=hkn?m3{I>)$%A|&SwnWnrq9=
za0%x9E1`rhZz5#V-y+6=9{#X$I}|vq*3389Lh`<w+tQ1B5ZsrxZrz36Cb{$jB9P1A
z@uY(fF}c&8d`fffN_3MIHr|jxe3M-dsu4sZ>8EZC`F?m-hVis;>v!ITZk<Fvoza-N
z$D2MH?7l5-R$js+H1DpfNvX<Sbqh&#2KW@28w#mdOId#>`<+KV85VtwvTzs$jvYmp
zR8a>FN(gJ$5;q`|7Md`!z~=On+tD~~g>u&$uA|v?vOY^Ci}8WxjV-l0K+F2A`C~X&
z65pcIGSY~@UKS&n1-FzyZ9O6O{p?n#jMA$T+4;knJeb*x3OWqFgLLn-2c^Z1WrL7+
z1jq6);P1a$F{R-98+7Ce(3?9Jb%<W?<$pm`TZcxr|Nf)V@yo><r#4Zl*5XN*G}nf*
zF>W|N^#$dMKj`Cjwxnp2+HUX92u>&PqR1uh3zq$^l4)TMcWQ;7a%mLNY=>3(21xNX
zMkg?TI-Y?cPx;_AKS$BBtaq#%XjS2+QsL9fCpr8O9UzyaA!^2uzbZa{URJNcMl%0y
z-Gm{35k#}RQ$aGZul)P0QDWT1LgGsE(fl{Fe-^Rkfk9XfM+XB<jch~NY#_GaifE{B
zhOBb)cYATIp1PcGQbI@<%19B+^ZAP|_GP@|+P3qom%yCK6TXyF*v?9&-Zy4H9%ry4
zTQeVJHJjS0`J4+2rpAR?uC6BLz?z7|Cy_$6b32e97IPuYwn;KO?f6M@f&!{Pg?<V1
z^D|S;>3JwIakwfBi>r3rM!lq=$MJk8Vuvyt$b3A0waK^2Bm46O;7xS<w&>PMqv=4G
zzX&P_7nA=+7(~~xe1gnSI{jA3SW7mJ<ECDuA33C_YPP&m8GU3u?#8}Xxk-?)5};2x
z@4{lJzLHhFNu*WfK{J(fEbJpg;lof))iMY-P3M^C`##WJwJSot?X0ltr1IN!-f}VL
zbCq%y$ZWUzg)gdRQQcQYmW_DGdkOEsnce4mY0$(RnXhkI9^Q!^8M<7Or)BFR$Q{8a
zpAVW*8cipB9lB8|#}}#d<xxks6}dKC?E9j+`U;F~a~Oj{mGVli8ONuO$-5&X7xA~j
zVx|5fDEW&2p(Dg>dlaqQj(y4ne6<eauC^{zUPj}WJKNmZ3fc@YsaC1uPld6gFkTHT
zu!@%mHp_D7sMcYjfl5qhQ%rI_RIANxN|L?@xMdjb|1td5Wy?X1N&1qoawxf&1B_YM
z^-e=;W;Jh#A22(Y7!OtLV9L7ssF_zn<-_>2F|hWRe4dE&L2aK6kH<Mkx_gh3<!_zP
zWd)V0J0>eiaYx<aI3XdbH5m8G3gJQPzyQ}rNM@khHn|5A?eo9<$r`}b^mi=$-)G&=
zaC~>utjnk1=s3trDW1H52c~FiYWRkiM;&g)DI$w7zxVN^)~SU5en&<=!N={`afz5f
zSN+@wa*?P~DF&pT9nM)+`=3ToZ<kv>yyWAO;*j1?&>oQwTR6>fS6dljN1ueuRl%aS
zaqk8{2-NC>cbaGse0u5E1gDF?P^Ya-Lj55o)aCPDEF6sDxkj8w<*E5!9?RK1gRBI-
zoLy9aq-QOi^)pE26l|nknvxQPMtAIBZhDS6r1D#M1e65$EAZIIUcQe?ZJt=OpJ-B`
zxf`XA)eD+h@DLUEG}D2WlyQvVfIXhGe`iNCseHnwaR4lxGZHw*3dg77pYqj9X>?V(
z`Eckh+7$H4c*2`gKg+iV^)!s>axK*5lV;t4k2=?PIh_TA2Wh@}8iqBkC-C>O?A+t9
zGOXDMj3{7<=Ra+9Dm&TyW!kx*o+K0M@!h94l*kM&@H7FsV54EZkonZvI*2Fe*2B!X
z2$hl^`%S1}KODu$e5hDw*55Xd=f-Bpnr{K=z!`i@2Vt^`vlf0vG9Oajz2mu67qh_&
zvQCK#2kL@ESW5c1^x&`B#*B5jg#GYa$8qXs?7XU!XT}IVQfOKv2N$F&l7EB`N}4w+
zy~|CPC*r+X(%mMNNX|<}2rRw+bTwuEx%|?jg8Rv1%E{)heG)7seNy@ds{BaDlntbX
z|I-4vz?0!^`Y3Po;94CX$=|!5lo6KxhKiROPRAasU=JZ(NavT{@!$mtdWfb^(N&%{
z42<>k`escXEf5Sdc?wKyR{o`8AMKet^)@#c6NdJz#O(yUH+p9i)E9@els|4Aqj2?=
z+fFZs_O>-KkcgGvI62)zNbS^}uOLwtMa4WdTG%M6CVJ05LtOL%u$ymP=B)+1p_g)z
z<%Jjve@@y$xA~$n+)JF|A>FaP8`=@5@S7hr5&Cjw;n;K*u5B08@1)c8;acszYBjVT
zd(&6(W(V());}+A(~RCduXKUxkt111$HG1{g#I2MXkz*6ugarEX+g|(EZ@G}Ft{=a
zT8N1b9P1|kLv(<C-R9z@|M!O^+VBzL_!2qG@np*`dyH8gV<{TV@EIRV{usj5z8?Q_
zh67Aqs_+}`iJLfyk}i#-l#QHHSWa=ysk5}u%~rpE7{!BEvYpS%JgbtE`%OT4BB|4`
zl`B0&e9uHcr=3u@Zr<M5I`6<6T%2OwXEK^kr3SrnDU)n>$>5j|8IG#^IDwL<5b+|y
zUBN$6%IAw&(gUMC&=+~7k}kP_pZ6|FY)%2Q#Ia6rM9hmOU0K$Pij_PMmQ8MiQ*t+(
zSBn8b0z#%onzr-46ONb!Db2X24Ut=k8|Ide3)m^iOwQvwM!RhQ{rOl->B7{v^TqsL
z_EIJM*9d~eMsN{jP1B32f}XwpI*$XTdLE${9wG^XalPUOO3XxxORw~X8kZ)gETK~V
zg7)6=y`)~lusxRy$RpLNc#E);&*jL&+z>dFV6jVR!W&e=_xr+d<j9O(_ctg;Y|_c*
zi<<X=yVXcvoSv6DUtE9Xl94NmkB_@wB{0-0w17mEMW{!WU^>xZ%>^oD%$A55D(@DY
z>@!`wLD5c=h@oHu7VOxb+`nDI8-NibcM?u+sYY^6!j6~{b9V6yzo=NVx@eNKD4Jm7
zA8G>k9D4}gOU69aEhh%1OMcS0Rf35Q<Dj2SDLLyW%lHpf^?#|*x$TxL=hglNhKK_w
zOMMxJ=3i|SG=%-;kl&+?)k+_nIY2H7Fx}MEGh;Vpny>fFoQmmMEl(rkRAFe5x2C<+
zo$<hfZk(bcvDg6>TxxzrF(T__u6?blx!2H>bxpnTuP$6a6IBMdhQOnH)Uq|jj*!7S
z!UN?2Q12qfM9#u%VjQ(7<j4NRo_4OL9MO!Ga%1S^=kRz<85psf`f&XEi_I+43|iUo
z!-1{&c@<t~679#0>EYd)rGyG!#3T8fX60t9q7u>tU|S1+M=8~DPZWzgNg3n`k+{cp
z_CYE8BI6$72^9;B6D?nBekQFPRZ;dHa#UB}Tx+?MgE&Tjd9`Qu^ajO3;11xQ9gZgW
z^IfZ=yTWfM91(%<3%n@^1^tvhWn>&PdwnS)=hen<;xEY?123uQVQ<yh-xEN{oSQ6)
zN>*t*>k6Uj5>8POH>6y7zp0J|c(qNiZCFG#k61TA!utiOY9-(xf_+=wWJjCH<X9|y
zvB-P16|lJiOR?X*tB>knAjWWaT)Gt(j93ufGa|@iQ<C{ihsk+Z<FKv2-=F0Zek>3i
z?yMd@E~HZ7IxL^MOfaP#%ofKGmw2U|?G^ox)7X0IViX3BgC@buYzdAhCQQf<%Kqh2
z>t(0cdTnQ1`kSP<<WqKzmd%-m;!KvLGoJZ{QRf{-NX9KC#xV%uO&JDjQysK%`3`W*
z528}Ymys;8IGIi&u~Kd`AHV;@l@=dA6zClH1(o4aY^H~B*f!5r{0Cu9K7C<D*65@O
z{_0lNIygX)fr!_zMjEoCPnaC?7w0OC%64|R#fg0}z(@hZ`TM&}`5)PtQ%Ayj(wIJ-
zg)RKO{0UP)w$`U&@9PSVYdcDf))l-SO0Q#Eb=;#E?P(L-%qUs4)2RyiL%FhZ`@h52
zsbA0wKL6`R5@)ZF*7B$-Lj>iiOl*LY;;!|YOgSU9Rq)mezWMwhsP^l$FI31@vRT+i
zYm%OM$*3#pX`<o4>rr}Kf)Z{A0<E3pyNS}@caVd$&OI87)@^%WF1-K#;Uq-tdwbv|
zXGG2A9ZN320(AeCmv#?cV(B+M5&iR6Hsdtv7TymRqD5(@$PaydbNkC#E<^lrB8LYg
zPIWd2%iqrT&`OE4iD4!lwq4q?(`{ZpzI|P!jRsZzWj+G>_rhE}l9PWrRnx|7d%2%j
z&fZ*x2YeD<&7YKhyEea@IuePUJBTXa$aEgJIeiJ3$y#3QyhqExWK*R|cx2nIO}L-W
zgf7MG!ef85Xp!Fdo`1>B@`-Eb>}Dq`F1H=%XrAs01$9@abdIJ=Z96Kd0FO4P6IinO
zZ^SfzJ`j9P`TCe_)xlRvV9U$LdkGEyrJs&*Fxd|Y{OzTWh4K{ruR2+tbTI0Q!z*V{
zi5XiUx4%9*pz|9>g{F1TK&_As^!K|c2W}AF$XB1cl#-X&F)%BcZIA)Fi@;XikO>5K
zz@E;}XxA3y&n;F9LDtmRnd@~LhNahb@Qi?)xSu)Y<qrCt{L`3{M=nC-MPII?lQ3LL
z7Iymsn<WaSg#7vO?F8(V^kvNyq2ks<V(|N4tHLaEhRh)!kT*qmc=CUy5)-cQ?XM|5
z12^0Fi=+F^(`gUPH21W#CuRSt>S40l7$xslaEKlDDbjczx8&7zGgp^F`%(G?^Z^Gg
z@3J=ed8!i^rqTHS?216827gqFQ-~u69qrsZsYpoE%D2wRD?0SSoYiaZ8n5)2YgN~J
z+3+hqqu9LuYhzY%@ZDzPAB(ChOBsnS335*4liD7DX_Ht?-*ir0%oH!+BWeCb;y*yO
z)7iVmPr^geM9mtNs-~~5qGzFb23Cl3SFxYR$5&T1xC-p#9ap|vMmqXzD$kqi$Vu+$
zERnn6WUuy^_kF?P@H0m>uCa(ohW)Fa?zj3lOssj9?Aaz|>pp&>Ohcb2mYx+k7LR!6
z8pfG2BV({Nfv6_uT$z=zMPOF&@H_b%;Xc>q-%V9QrO}l?Bc{QHZI@Uqn$-Fh8U`0k
zWoHUQ)eLfKSDKamLT4((r0Uk^{?fAsno=OTSBhGL78$u#%OTA4Y1GbZ4i;}aeRfy{
z)QRzHhndEeWE1kl%cx<}-WL@G9Su0N`jRV7gWjP0c%9}OSB(`ttkBS?{QQBvMw*>r
z&S3bt5>>-3l&th{P48uL*4)wT>zt2cqA5XWt7);&6WY&-s<RFO?<Jzpj)-uf%O#H?
zr<*t-Z$`Y(Uc*fO7@7&En~k6RrF8*>&M~v2gl?_083!@Lf5y%{<Y+VapMvXC^vqta
zv?<8_hA4G|)hK-0NKI<3(rtr6>=UVO5HH&1u*><MST|cgQ#*b33@P4clNK7v)oTzR
zVV|l?xwDiVS&Z>Xb9QN^-zbaN3s2jh_kAOGy@;Ma#*w?>z(niuR(YlEUYcd<No%V5
zuMh~~e+z*S5o8Ig@c;nyM0;CVeE<M}7=UoL-snLIBObXp@8?0T?BtviUndUdB#sE@
zBmgSlkvpJIlC!&_vxoTE86EU3B4ZZyFB<2E$L5FSbeqUErv;`_V=DD$&>xkpZ4$*t
zp^DESs(Ag7=z`$7B9U-uKVS3&Ha9bkFa3;S)dK28vW{)ezCFHUOt9a=Mo;$K2uAXF
zMR_K_r#8q0h$8$@&_s54K;X&{7O_9-z`~{J<LE=}MU3?nuE(1+&Lfn8w`0kSC<Nw&
z{@kW*@U2@*kBVT9Q^Ph!wEP*QfE|$HAWa8AMePt0ysN<SPdv6uDp0tm_?TQk9)`?o
z4<KD$Y(P)xP>!M(|GRAQi=p56x`Fo-*<wn~wd4W00|^OP!#^}*#DHO+yNNv3cl7V>
zfyN@QCeiRRQ+T$lAOG6=uh_5eKZO<Ya<*|XKArg>Oej#i8yM$H^dx4d$Ugu0LemA-
z0&aEx5?1d7Dv^y>BlW>dENRhb1t=38sFdE_Ran7NrAYa6Y7#FBOMadf;wnOqX4Kbv
z5xBOd*&QbwTl}cMrJzVtQ#qk3%#a|c6%ZsTx$s<|Hh2wDsG&0HZM2SvjNmEgtT`z*
zaz)rz{bY-u_JT{1*YwRY$`?3jQti`v1;E&d9FX6A@8(x$X?wVgT)k%QS9u3d9~>09
zbKs5+RIK*oYd82w|I$t_<scS)G-YLz`*ih0w*M6ebqu*_X&;ADoh2G$nWwaJC_Rhn
zQ*4MkolUM!1lrWIsOfvR1m`UruyJ_mAc7D-_WQ^^=LHwn*B?%AB5fUu{fQuZ+6!x*
zwvIQ7#DHX6a+H->`He%&iNcY0gu&))@-1pD+Hv^33Yp)%*6q6fmG=f`JqF=k5qe<v
zgbj+^5wpk@_<jS`ZP!m=eV5l5^4(s?++JWCERAzyu|(Q4%xNcIMwRyIsYN7{n(DXC
z;rL*5P`$-_fofa0MIb#KC<%E7E~UVU><|czBdtLZ32fHfa>m$D$imbv)~cpp>{8Le
z3Bi3;#_wLWTkmtEUQ<lZMwSUq7VHM2<wP{;f3*^EGA{8j`KLf?1V$Sg%GvV7vMOun
z|4wMI6U&H15N{OMKbOcAr$lYj<W)*D+7SEI>G>Rwv9M;JAhlOP&zm9xjqQCLVI}$H
z6RvZ(d($Ts+%+y8DG(;3M4ZxqFi#9||7?MCmQIg?toR&RLU;wThO7iL9&blHTg|`s
z9;xl=)zn3m;Xo`uiIx;hDlg$1k*{hZZ1slust`g3f^Oxa51K^5c`B<0-OG32h_Wya
zc)pf|96pxpeK`|l>5UBU%vOWS<U;?lx}u+B9xG90T!|~wMspDohQV}+=gKOp9(Nc(
zl=tZBP{fAs?>*12(s6jM=<!#p<M+(26XIbUuwY`B#35?{Uclbln?XXm2x%1p<Ol=G
zN2vIb6$a-MMnkrXD|Sc7s%bE;!-v%$eF~v%w846?PeOC6-VcS3>JAap7vgG*#fbTa
zEu6!W5NZ?F34~dv1ipkFv(=+@!pNM%CVUW`QjFH(|0$mW>RtB=N_Y;9e+<u`1$|D&
z1PpEcvngL{EO)*nR6X|m-qC~<hIuou%toy6r@)&zzZ!MrqH%j=JGeql{g2z)?;|{u
zeeg6cay<<vyesm@Q&&M0O|T@E-p(Q+UA@dIvXW{rQCf1~x4PdyD46qXShR#D^TZ|v
zBkedkx+SjA4RW|AXe(x4Q%8k@f51Fr^atNH0Lx+RT6Bgmle8ZwMY`uxuW=Dh7UBE_
zP^YZ&!#jP`;74}9&?``AeGj~$pE};=p0|S6nRIW<xiNS9!m?}LvHFo6|3mmI&P4t~
z#mf%&9S0f>=&ju0<cCqh3sIMT_SYC9N0QW6T)69Li}V?F=n{j5<bpHYDEdY2)NuQ?
z;!7-#f`b{jSh*hM)9)A8imEoLvoqRIU`^EZoG)%vid1f4@Tn!WpWvDkn}KvGDp{cH
zufb}c<7DT8;g!F8oeI*6buG9_4o+5n3&du$K^Sd*6m>XSRcdZn%|tF1iH~`YV%4Os
z(#tP9mTh60n=fd*8%_Wz-<^}aMcjY=DSSjta=(7ceWxgSrL4|&v#F?Q4UIypRTS-p
z2Gc1e*_cIbV`uCi!ra{#R>{-F*QmxlLPjZ&Eg>J~y1bx-8))wC)i5_KA7mMA=M^sw
zqHN&5Z*~`7k4D=de3OR1Glkz1+mkH}8XL&uWpb$xP86wZug!cV*{1>p&|A+Biip+|
zRMhE%I?r?vybK%ows4wip9hzLY(;!Y-7Hid>+de{4(Ll)FZ95dC|lr9f^3^WJuS}t
zyQp0$>&#wYZtt!!SP^}^Geyz=cpbR8X8`VJ42u`(Oc1Q-7mC`aX{vo5uDadCW*_f_
zfQk1pCLyr~8#~W&W5OrS-stoK5xN^YYh6N<eyz7BNUXVvd!z>iDO|OqSP|FxW+IX!
z4@ZYSpG@kv+eTFuKJ(`ORX(!LbF$HUaJrO;Qbpd|?DGm)`J3f(U!j1&lgl$Xydev*
zJKC}=eInh9#Lr<iPg!d^vN*T5f6Ibi4q)D4ESuriK%pDuA&sNrAVKTznCABye`9s*
z8o1Y(eeZs!LWu)4?hWzGqFF>UBBBbR_z?$_B5waoHY%9p(Let(FXr0EC-lq87#%2r
z3-xm`Uo!j=!vB>5W|2Dzp>>1=NDL%8QEbs$4hpe5W&NX$NHPgpqesbr3inH@o+QUE
zh20(tXvKYIW?;!cQpf*&hK1<#DeA^V^)D)YVzFBkseYeDYD5B@0$)&zd7OCdSTQQo
zgo7ba|DzX0R8k;^tvfcU!v=Qp!#?V~KyP^La$5&W9Qyl`Aon#CeE5VQ>FNv9=0<*T
ziJ^>UPSx8nVwOr}L!ij$*DcCkl~>wC*A%>kZmq@tvKOTP&0YWq1<jPf008FP|JVz1
z0K(}?uNEbYa^ylZpSe>gqhq`5gZPZn=CL?tJdt^sesR=q?Ah!~dH<4aTu%olrIZoI
zRjOZ2iO8ejRMKg^N8?=I{Tj#XCc;Rsx=qI&?*^`xa}?|;a&y;ebk=v_9F{1;^jih!
zfJw30pMbI6f9`*qKleUgQ+<7pgItg5`n?&mdneP(iq-Idm5xFEfEQVD9e{eSB%0ev
z*-IqRhjve#Wn9KYViIvzHrHe@n7W@<h%v<dMoVAFT!Ur)tuJ+NHgt7GYJ-BDI1DAC
z@>^^4ooF0CeBWHW9>Fr(={tSmr{NDI13;B-hocj!4`GT_Lcy*c9v@mw?XWyD`3=K)
z8}_76L)|<IjT!yp%_q^`O;zlT+F&n$m3XQXM3oh|!Wav?K5VCjxVx5Fc!Tf#$msQm
zY&s3t#CxKbZU%xW6R(SA=vY3Kp(mxTy!(Ub4(L=+nlO&<LRLzCd)XZ_R%fxMEV7Fh
za#6|>iRR-9bOvy%{u=gj_$$pDXv2;zOKc}s78r&(qJv2N`#WX?B#eI?<AWF%Ui`xQ
zLfy{%6CX2eaS~>x!8wId1$~PH^+MyTPmU?R5L$23BnJ$iibEO9Fgn0#+B5_UZem5>
zMrZ2;hMQHoOhkT#Nnv37khJU<a_++UZXESVdR@RKh4|2emi;5D<M%ny%jK~YLrxPl
z?<e|7<o@27UQr@0ap()pGZbQWba0jWA{Gt^^y?j=+J<p2p|_;g7!1466E&8`+<Hnm
zO?;qPR2X=doeGDb(Xt!t&7Y7(%$(Pgt7^T<5c}N*jM%AcPCAs--~)$Uj=BPY+?B{r
z@rj1blT7ap?Rn$?mkTaZ=%mm?K|%8gO2MQl?JwAKT%A=)jI5QO90;uKW9pyF*KC>R
z?91gB0xWnA_G*7!41fOP6->n14RTvsqf&jd%lh8>hPOiAJnM0J$+Zx<(Y_;SJRMrB
zHGtDv+uF`vKtp|-I{_Va|1+|lQokS|h+hzRtJAVpK_+aY6BY9A`E26X9nKP&vE``0
z01vjTi7ve*bzvbDwW3PAzv(|p`m+R~($}pS*u#ZEePqv_T>XX)$7Gn#(k;0qF6+f^
z<+;*KLX&AfLx&;TX{qv+rEm6e`w7hwva#y8eSIsutJBR#_dq??1WlKf&q=`_5?2{Y
zd2)2&X&QX-p~#}dmfQIIqWcKOhUV785sa^Y-0giGeOJ`{w@5Zl${JcD+EdSu5@8b&
zM~KNR@i@8RQy##Gc1ca<Lj?u;P=eKOd@-dKPVy;^(1*C2nF8GAp3c8^vp0HaeCZw^
zFs?qzh6D^8Q9}J`Miyy1T2#JnhQ7L-KU=IiF0h3}QAWlmP`0z{m3vbx@(^xMuJvpD
zvHoEYpU}JQ#{=*1*;>W0^imx7ZUT!)c&7`Z9}Ar)&8?5S6tg@l$f3rNj>6+(@eJ6=
z_dgin@<cXOc;>JVEte?JbeKZelva9X+<m*_j6J%zyFTBS_728$7s*d9Y|ice_a<6I
zxBKnu{6KHt)zqV-Oej^v8wy;PfLebGivw=sB=;-`nv)r4MYW;rRv5Z4|H648mJh>t
z8P=nYblL@mGd?^oBWRB{Q?U<U<eH2Fu?X-#rdp2Q?r_CX>+dpFdvn+ONJqr)y*JED
z&c^@iElodX%>w}CkuYnHz=`j!CsF~@fmI*cgS<9`WA)%odec-+LwQ9!?T<jL;f~qe
zJf5%MF#19ub-e_@+atLj$(pbGPL^VS**WVgblOCbSkLy@n=6Abpx5*O!o{2UiH7E@
zNgZEyxd~n>5H-pgM~A%k3#5rdiEEVMCzwEVM3#8pXi(1ZU?VyfHXVG%s5ix4OmIbW
zBB=0*Ch{<~BSHBzUBR2b)-dnGRiov&w2WNEh%TEw_WP{L;e0ubf5456O~I0{tWYIv
zRH?CHWvhcNoEdUWNQFsLd!(sz7VLQKsrV;t+9xIAtWc@L5uYCLY(T}t05T56M&Dwb
z#lglV141*Maiin!)}J1Wv2igfrh?S<(?rK7=B&^~X~7y%#be+d#bO}16oJsVdZwH1
zt~hMwc<pJ=gRzq1<Fiz=ZGGeqDkMby+&_dp2;o+odFr(?7bOK24Mee3N>+OjpBKFj
zRtMfubcZakea=Kul9`bi&t1gTCWpX{)sd#Q%|$djGpUz_G4z<W=-EVE6%Ghrl`4pR
zP(D~O+COu!#<rSJr^K^a^AuUr2k;)KJfB=)G`QzKc}6lNHr054-lQ3Jocut*Po0_w
z0pW-!s3Rq(TexWt;=zlGX^F5%EcAD5;6f(Dgg!Grek;lT;3B8(Y#YiOBqjvPh_8s_
zG^jV->j`YdWREgTYX8lxN5zh~r89U2#cDD^3mR?jRTBOHGBJC=#FosN-c8@)orq(K
z;<V_X;T6V(p#lazyXkR9C<c>~WeUw5H=x>m$3)iglfgOBoQ#EzFRdj(YoeC)EI6qo
zS#Aa$7=AS9$pxzOz7cWb#eX2`tzguGQgURn#>oNmAEGYwBznDfe{etLpZME8E?TB#
zZ8&(F+IgHsq<pj&<adzuO_C2XZt3NyB5h`h!kZ$R6~8M*ww{c1il(JL*Usto8(Ish
zr~GoQZG4cT{V_~Nefb|_H^$ex!2GG)%r;APDh8V8q*DD&cY%(fdM*%5Qzz3mcBIbv
z=lUw&1fgE9nc7t7ADK&5ha;j~3{q?!@zewuPg+BQWQb{1=zKUVSl^cX;m?tO%P)yP
z@SysPpTiP+c%14s@g{f-+a3(JpdikZ>7Cd($HVN12uU3L$lz2knj@}~gUi;yt|du@
zrFsmB7?P_-2;b*Ch#FHEVT*D$SFK{6e|zOHQ!$viF+t=(6Fig%XC+E^q$DvEoGkwb
zm{$}&eSEU~+|a=`iIxf`b<DY|3=Iwb2LT#bmwY}PKOPb5f+>!x(U}R~c$w<+H>SL!
z8;1;uRemeQn5;S+nj4s<7#5>05@AdQTVKPe=Xa=jDGuC{t&i!|2nUxJX^U1`SfQtB
zvv|jY%Zmv)p}}P-K59dQ^!i4!(K98){Jo5{b?D6^+f*)tyEK=@YU1#rha!oJ5@|W&
zLYoFYVkvbR!uTWQ-63HROOg**RehW2VuqyCxlx%Hx+-fQQpZ=4K$?L1D<O-id8bM4
zgvWSYTZ=S&6kiF<oaoag`_lQUpxk9Fw0J7<N33aglb9yAX{f{m&n*^~G5P812-LpO
zkq;Bfe)(Y+6Qfz#3+Kyg+4ntBvob3@ZxYVQnf2`>v;Bmw)Z@tf<WmN#SClLgwDS-D
zULQQ*+5{t`Ih;)mj*ik+IF^haRG_m`uFKo5iD&jWMs&wF=AO@(mxvEO2qamOMFWa`
z&v4&C`)Ov-S<!j?O3dIYlHL%);pHR&<)F%fQ^X+41-7q;Ni}dvL<5guV;0%#J`0Mf
zlqb_~23eZs3KzulFu{~yBFe%>iJe+9#!(?5zd0Ucxhk-AGSN;Ov~SKHbLEdc3H>;*
z+%dZK%Ov7Hn)^?ztI1@4>R*7_FR7JGc<PTsYqi6?G+*waBbn<4jZ>?VOdyt0|L5gj
zeqPf^N55NCB9Jv3Kc7+|FqxY$75mcts$q2HBn7B+GKI>xiU!9VhW|OSa%HxRGJiSX
z?UlWLeL|r|e;`!Av}h7{Q40Al3r6|hE!Zc}2>}2=`};o@j2eJ&wz}>@xlBHCabDDf
zp2#~JVWP^@8LVS*>c_jFJ*}`RQw8$kxh)AevL5|Q(mmZ`i-BLpt3hGf1a?)K712mI
z8Z-RuI=KT%*4|qK(vcEu@7Gt`!U~+Z#~3GaNKK|<=nxIHudf6T-XDyUL%p6v(8?@5
z)}G*JYQ5d2wS665hX|Za8SMY?ng207YbOQmb#?zl51?^SxlWqo)_K^#>_dd79=2+k
z&LVw$Eu_1iqr?@h?+cc$<uS61LHW&`lCzchn~MvOxpyp4bN(x)bt1-WP8NWVfZ)!b
z)BdVB=sjxOJ9XRIS%!r`xD~7XIU%?G)qK_X3H|34g$GZMD(r+o+EOddD0^eK)dPui
zQN+2`YOOo4U56AQ3PJE49)iuiRAa4YM3&P-slpZw=Xxw%zf7rFe`}II=+lkdr-!89
zvtmIcV|%(7yiUd$s(Y6Vl33b-HXT8rPsGOc^CE9Io(YT$5n?#VW%cuRj6dDtKuG~S
zJ_3wi)J5Wr9%B({ECv7!x)qH#5Brg5xOEm?p>MC55|orDCoV2Vyq4b$YsSVh>pZ?B
ze3+*-w=gq%n;0I>=Uf-H>RNblXqWPE)scRbrxy@tO}D<%vgOxT9*>olq;$fz;|j|e
z3?*CQ=kNPtQ!*ay;^u8#HposAI><iwIJrz;i*(6MmBurG_mE~-NWI@>n`Gj^bw1Kx
z^}UdB6<5ktu)zjNn$((&Uo#R;esaJY+kfqY38$z|q#yifO0gfF6{y@VG!z>hXbg#S
z0>>2nX4`NWtN`7{Rq_9}=p#s<=fiDz7e|f_pD!ZUIG|wB^%6pI0!x`s^I70GYs$?W
zn-8op@nbjF+qEeV$ItLl-zwG$5<z*`gw?SHtr3Dl#25MUdD(==r3unKWn`xL7)d~X
zYSilzqscMwpj$~tNi704!6(Lb*o+kW2vKEqRJeMaaPN4^ghX$c1=uu48X3EJWIJk}
zFZi$vVL@lHPUDFY>hGS$_epH|V_uVd5;Pj)PH<&r?l+O9m&-Jz6ZjLsQ)KkfX&cHI
zYOm6O>$j!&kHX`JQT7aKIv!<r6GqBVCJOr$uteTCrdPnt7mqT~Ym`?M@O9f!d@<6j
zuU>eZCqZB3FZG}^SV|Z4F6X28;%}h{LW=#5POs#!oUG_&@ja6{e^xP%GSJ2qFpjzH
z6C(u_{DiYlYm86>f?%5)_m6)Dljsd$!)F~>wHlSxu^Aurd6PpN<p(kZ(6h>_WAmS4
z?%DyrCKo8!4%t6~bNOrpweg}s)APX^((2i`PnmJBE(fMuw#ZvJ>FUJ(?JL|54|NCw
zj=5vZ(vYeG1~s%#q@MK*00$7GoXR2ut>L_5w;~@PkwB#0oKP^AKr)dtDrWz|yM*m`
z5tDvDL2ZeD_{I%aOr&fw-lWcl$fLH>Ngtv+U}T0r)LnC(a3MMtG%3y5A4Ml`rFMy-
zU^Rdl&aEJ5{+oN2n`RqaEVhC20G`+1@(+LKCH;PINuT$U#pXQ*SvPlY<^#cG#w@ka
zfaLJi=V!Xb<{T_w>T3}>vc|Au44T(t7fAchP88>0n|(tEk^L?Pum8aGRHUae7Y|u3
zJeGWGGiNw%Q>pAem>LvwZ`r1ol0K)K7^{{1m3&!?TeAcRXL+R`E#+h6T^o)I4T_~f
zim-XbHz(Q`*~MeMSMrpl8phNk*(ZcvY^#u=#t~e{of{1{L~y?1>2i*bl3r{hhoTSB
z`89oHlqu<d#~SN%eL$K7tX@Hv`JsWhnqMTd{F1mtv!&mCP7R1kocTrHs#MMOVX#Di
z{Lgz#k3y3RsRs-%sEVnnkhar&L3wPyi00Whj4@c5XCx>W(S=W`AXPkpQB`}{{GiQo
zXNbl}j%)J0eaitAp&yu@)<M$Ju_vffZt{Q^7JiF@ptsB&lKzTLZxt+Idn`T@km9+m
z*VHifO><Nq(c+qToKxKZqT2uxWYcsgyN%yOh-*t1Txvg`c!j|HyQKU#X`^kAf@Yk}
zFpiev8Z(J>kyDflHA1;g^1hUxr`IU3+!6bOjx#N#MZSv0dj&A6Kas^UEhE#^tCOsZ
z<JJH2jVcuUbClfC{ID;8J=>;X4Px=>2-5(@q95HyJb)}%tGF<Hh0+oq)${x3p4cQM
zDzCojX~b8i(&2MD)e?W0q%n}K!tk41q5t~ngEk|&PmzWe9<=A9+abaNLkkjZ>7*R(
zE3iK1)_3&m$EuDl=-TwUb^k%ms4^>`AWz4mLa<j<u-A89$|2?82bzHzK!8P`9!mqU
zi9w9|LkoKP(r5E$tj)C4F1o5$lGO)R7yPEi(TC^7D~UYrf&&DP0XyA0;0YQ!XHcmn
zvAg8o0krX~?8;Orl(90u{GUet3I$t+7Xpivw!-!c$u%f5HtQiwGIqgo4Fgmc+CGvh
zRUdg4hBv4CxmN01O0|rD^}GhT33Ynxb`FnJ{eeWtOb%>WCxViVY8P3DhEGgx5?jQR
zKP}94rwFp^b%`adcBjuBY&i9VRpJW7SKw~r3_R<-ie4}7S&soHuH@gj{&;1vm%kRj
zDV3)+5J3*JMnWC|!qUhw8M><MXB(NiV=MHep2amt2a7qMLX{@8y*SFVqaNk46o?aL
za+)WUA436K1T+qLbQN#vz|_&oUIuyOhZ9!djdY)3l-jJNYVCg>x>Xc3<?G}=M*JW0
CkrlrH

diff --git a/templates/install.tmpl b/templates/install.tmpl
index 2e10b006b2..7d78882b8a 100644
--- a/templates/install.tmpl
+++ b/templates/install.tmpl
@@ -346,5 +346,5 @@
 		</div>
 	</div>
 </div>
-<img class="gt-hidden" src="{{AssetUrlPrefix}}/img/loading.png"/>
+<img class="gt-hidden" src="{{AssetUrlPrefix}}/img/forgejo-loading.svg" width="256" height="256"/>
 {{template "base/footer" .}}
diff --git a/templates/post-install.tmpl b/templates/post-install.tmpl
index 0d6cd3082c..ebd9e4e610 100644
--- a/templates/post-install.tmpl
+++ b/templates/post-install.tmpl
@@ -7,7 +7,7 @@
 					<div class="ui stackable middle very relaxed page grid">
 						<div id="repo_migrating" class="sixteen wide center aligned centered column">
 							<div>
-								<img src="{{AssetUrlPrefix}}/img/loading.png"/>
+								<img src="{{AssetUrlPrefix}}/img/forgejo-loading.svg" width="256" height="256" />
 							</div>
 						</div>
 					</div>
diff --git a/templates/repo/migrate/migrating.tmpl b/templates/repo/migrate/migrating.tmpl
index a3552610c4..e108ecc097 100644
--- a/templates/repo/migrate/migrating.tmpl
+++ b/templates/repo/migrate/migrating.tmpl
@@ -9,12 +9,12 @@
 					<div class="ui stackable middle very relaxed page grid">
 						<div id="repo_migrating" class="sixteen wide center aligned centered column" task="{{.MigrateTask.ID}}">
 							<div>
-								<img src="{{AssetUrlPrefix}}/img/loading.png"/>
+								<img src="{{AssetUrlPrefix}}/img/forgejo-loading.svg" width="256" height="256" />
 							</div>
 						</div>
 						<div id="repo_migrating_failed_image" class="sixteen wide center aligned centered column gt-hidden">
 							<div>
-								<img src="{{AssetUrlPrefix}}/img/failed.png"/>
+								<span class="red">{{svg "octicon-git-pull-request-closed" 256 "ui red icon"}}</span>
 							</div>
 						</div>
 					</div>