From c779ed36d01735e95155cdd9c686acd5231fcf14 Mon Sep 17 00:00:00 2001 From: Nils Pukropp Date: Wed, 18 Feb 2026 15:43:35 +0100 Subject: [PATCH] added hextech banner --- 1000X1000-AnomalyCore4.jpg | Bin 0 -> 92012 bytes backend/banners/hextech-corruption.json | 50 ++++ frontend/src/components/DynamicBanner.tsx | 5 + .../components/HextechCorruptionBanner.tsx | 258 ++++++++++++++++++ 4 files changed, 313 insertions(+) create mode 100644 1000X1000-AnomalyCore4.jpg create mode 100644 backend/banners/hextech-corruption.json create mode 100644 frontend/src/components/HextechCorruptionBanner.tsx diff --git a/1000X1000-AnomalyCore4.jpg b/1000X1000-AnomalyCore4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6778cb938a4885212e9867bc26f3fd6a278ba658 GIT binary patch literal 92012 zcmb5VXIN9u6F(Xd1W^&BR}~PDD$=9`L4*iM?=2{u(1g&Nh=nFWdQX4=p+|ZL73n4P zUPK@Xy(CmYZ~XqA`+sxqi+krh&z#+C&d%)Y%%0sn`}sTbcLl(s7U1Ft0BC3k0jL20 z02$ym*%cE1m--+5od>)JT&1AAN=b3`D&1D-4T5#D){ie-~&N2Dk>@(Y8nO_8U{gjW_H2<-}Lu8 zfS&pao^+A%0LbaduF#YH{Q;07sYyvj_J6DTPhm3hDiUhEa?vt2~p^qXVeu0shqnpaB5xGP;wg(D%}J@!8kvJ-x{~ z@lr^N!gcN=a*okQSZC$?11&J?o~U|jTqdaka{j^SK3?!=ns5La8J&JEHjZ9dy@~bP zR}03`ySd*~XsDS0dU^m#Bcqhw@@L-HDuSOyL`!r3bS6^w044*vk>72h+1dR!zfM<| z7&D?oB#R>6(W~$jQ^#D(50A(PkkR*2U$GTTq=_I?C(olMSZx(+^SlGlu%5o}F1;Oo z#SD9|;`L3nd|?-z{lxcd#t5Aa_FCsJC@nP`gMFWQ5McBxPm{V(go?fdBLyj^Os_{r zM}IZq6I+0n9f;K6d^(c#m>4OU1Oy*a-j?1J?6VePN{3M7(9`rjlIUbDC4c-{P9MbR zT@@vyFyx+@@^Mu2VmBgYRQWl~Ie{s61wf(a!S8gf2t3ky%P(uS0wX|sQ+_(F((ltbESHFX|b4GA18`V^fnKR>N$5s zF#(PdXfyv34l;PcICV#S9)%^M_!kRU+fvQk_lb?>zIoH?{MNcxwOw6hn(o2n(yd z7cI-kBA2Yi3pESQ5TTTebb1ut_jnQ+pOx-A|J3HZ!qk5g#LFr~4qzTND0!ymjr^+j zl$HZhd{d9oTalAo86YI2Oi_B5oEmUXnC~`4G158aEvGFhPyu^S_F4%V`I-JffnL13 zXCXk5%K>kK-_h2$>2{r@)G`EA$*R%f^~AmLP??AF2*pCpH4jXwZAwvzWC0syx{1>y zq6-P(F!phRD^kW}`R|^+mgqg8xyDn>$8?*Fg8X(=)O~j9+Y&bHID7AB zbkw;NJSi7Lma!Lg>HZtDAHlWbaUF|Bxad_eFqkIF)KcV3A@g;ObO!c(9YpndA;5Fd& zqzyD}wCg->w9>SGB7rO-$`yQ{!5-pH8fNa2JdwVaUwY^&a_$BvWeQ|5X8PSas30cy z+gEj%vYIzwMZHu`OO1>Iq8T%$UV3|~iDFcR*DBf~_>KkNYkRpQ-4A{lM;DAuuBAtV zz^o(TbLP}HGQsH!7eP?%$eO`v@VVE*GU$nE=WN=Gz|-bF+s5gmraDaGre|y!LYj57 zS}hl0aA|YjvvO#tRzo;>^6Z#;EIa9oIxHm9p-#+rk>|)F`CiZ-@?x^%W7s94#|Q3b zMJ2JhJyxoP+ABx%JyS2`@75goQX>C*$ z`Q4ktabGuB_k&`R^m~~;tI>?hbw_lUT1lxUkwO<-X71q8HUJW z;*i$7A4fIi&1F&#PJ?SfBw-7c6Y0HB){PC1E?1o&ulL{+3tN)wOOfou9*;d#sH>h@ zmhGF=_SiJZ%-Ah9f#-88Gs;Z)>@fHfvzlR_wDp3K z0r>^ZW6#34gwk}m5+pb(j?a0OJIeN-3((iA=M`fk0CM4@&1=jIj7DUvNaygG~0c8_aG>( zm@vzxYZyJ~da`c#rXJ7#x<0q7UzYH2hM1@rj4Sw+2bnVx;#raZ3lJQz3M#QdQMi7* zY1WfB?&Vk0-VZbWBxdA8!(9F`W(lrj(&%BBo6@!x)BQ|5k#qaGjroU)w0OmNDRp8~ zj(vTN=)|_GMh*Pbd1L_|i^{NbPNAM~jhfnYq17;YeCgEJzS_n&SMge<7Z+O)OzC3C z1#bW-)vhhyi27_B{W9bI_xPuBg7v4g?ba5uk6e6Pl-vzPfzaODR~N5K`sXZ)@zlG1 z$%}71@on=Mlj`4l#PeNN!sT`*@PQQ5lv+2xQYW&G^5-PtvnQM|#2M!uC*muO;k2WsX?OUh67T3rt3=B!p)H^33J^c=CMe&HlYdnGF7-303cVoB z=~ow94kk}1(=8Lh`P;RcJmJM9;pBqk1J@&7#n3v3htnGlhk|0~Y1J1sxg=#&(RSk| z;+ls)%0_{j(gc~lDs!zF-HD;5x>UKy?jkXIbsFYxKUF}c;&%+SqldR;2c)#UaLqP4 zL@~&(7U9}6tp{%{mi`#arl{4to?-;yXY4*koiUwUX;!#0fSg>P(F4j!Qw*Tt>zP^G z;x_$^_pbK?UQtNI?rQ6*9IQvG#=nzUq}_b5YbtK`?y#4LXW?I^vW~F)MHj~ilst9X_LFhdK%n@XDDRn+y_0W^>eJN1@*mkJoW^B zJ!xvaP3uRn(n8DhaO;Jp(Cs5wNJ`EN2%$r@=P1>&QCryR#8a$wL<#A!r%+jq4Y2W8 z1H*ksZGN3QjRqm;j%3;EBoV1u=8xHTO_o01Hj#4cburOkuYZZ;EEaklLnEych0Qf$ z@UB%&U<3e+C`u>nk^~UDn3g&809~gw=gNJ}s}z7Ypyoc?h`Yj=& zsX>A@_j3R5vzF_ePt5l56)PJU*=x8v%BM>?60WawCt5_^Hc-G!-3{Brx;vPz&0*~D z=V}-bq;t34yUw^6kbBoP+*Xb*Mu_g}!hKm5^Pykv@vq{B_)nenJKD=I#Xi|!pbP=- zyd7kN_zlX~(;ytRE1+>d7r*Zaqjk%=_8Nho+Ct*o6~Bh&gk*NZf)*)3nQ~1ja1_U| z_xWUl>Ly_ng}+(xzH`{AIk-8Cjh+7e=A&Qj=B8O%29LB$ueQfSGlpA)NU>rmy6rq} z?`>6LaE(@=k+2Y|1645Om~6$Wh|L6FUGqOvtbYz0N=9UQ^f{mr+Vb)`oul_g8@*lt zgDx7}Uuh_2$H!k9<64*ECGiNwbN-AVK5qdQMUfoTi(3Yn5T`7qoTgy93)5T6A-p4) z5&1WWOYXB!UYhQOvp=5QJ{L`kqg_9=TYpz#5Pp*C2)QPByztV4g#K}LT80n$>iI$d zRv~JG8$BEk`t_%?&}d7D6ixzol^yI!WjN>umCXG{Y@8Y|TiHL>KdkJO&6miVUH5HU z=x0zr6PwIK-3R{#ByC;n`4?|iOMfA(^0_-f!G)zmrwTJkDFJeoR|0n*D{AFJ;sIY&@4)2*Kc zanRJdjfXo+VS}K1t2U+qyP;o#SR(u_#Gl4(6RKTTQy@QrWp27 zdQrR5c>;D`s`5B+@pB38yjSSPdQiO!A}z=?$7&lpOL$^@xD>j*yYvPGg2RYGR&h(; zxuNfV1|t;n_uRkwwYI@qhdpf&nAQxUFQ#Pta93q(^N)3xot0Z>hTBx|+4YZ#Ec6W=b$PbJX za1xj$%*sQ9=%bl|0X|%=HIcvj@m^oZR%!S4(F4DLivb|H8+c>-Ny5UJ#3#0GH~c|aocyAKyR%O~7)ong zW^nh0bAHFjx&s&Ol_!Q!I~KdJMuYX|hY)ZvFn_rdUyUE5@1gbNnh*TFT-u^DSOCei zpD;>@Ab6t0L@Gir+ih5&+z%@@{&;Q%pIWdKy%7_dFmzCJW$(@Tm<$JR8!tOF^jP_@ zGCNktKHlf#|3LM0=@6q=IX$@V!-)W)@nI>1v|Oj54Zp3~pD%F1@%&rM)ni!S^Yez? z6<3Us6WLanz4u8-*q=Xg0ara61F$<&zx)<*dh$aqm$isa5?`^! zLL0lVRA~a&LVawXPQtiqAx4a6lSAgr*=McWMFt%kSp0mOCr_+{_bbEBM_?D1H(mdOj$cs)VhQHw>!ZccRB0^<3+{Jx^J^ucjU zQ(4sDA&kjW{MopZWjVTB*DB_1W?R|Y7Pi2>h)WHEldeC|>G5>KWSil7{naVdIW<{M9`7xgX zL$Rblfe$i*=syN)PZ9!}`^hB1W z#W3g8flX@-(-bW~1|ASIT!F>dNNy`nAaR+i;)~a=-Lb--l(kE2deFK%d!yHsh8^rj znMX;%!k=!jP?iR$l!79D3!}yAcFo|NXQFEi;~s6Bc1P}O)62}$lYEf?s*XS%)JKes zD{5Y{ZHp=i8Fl;yUMqjv9#;|vO?$d)of8zSCAG8HwXV2l=iTIWE)y8Wgv`(xKEr}b ze<{74{rP))y|}<9m%OvAnrT3?qO4MJN#_^@l2kw_)N{XmnjF#=QZ-7C7Ku~!B_Gs>jU97 z<$)(Qs8z-wI9QHZUFjtec54*B``bg|P5gL|6)@DFr}-jBPNYR~qc3Rud+d>O_Wo=| zTdPB7i;`wPUf8qMrijlNWe$R?x?sj+ zPj&u;Y|71NaJGMv76VyWbnY}Y8W$uYY!F-^$Cas-De<7pp(eiSs)4t|b~Wq#(X(p9 zyiKc1ccd-Km(aQA4X$0Gc3q$D*X+Op>u8|?geCzftrNCz zLoB{$uQW|$Mxkk;sxY+zXO^-Fo+Q|eOk*uEW~aZ4-Jqe#K7B)OD@tlZ=0erw_x+~> z`>GG>$|UzYd3h^w7L~;fz4EdS10~(Z;E?LG^^!Ml@|w03Q!6dcH`a)c_g4=59swWl zeIS}AOsExIWSQsqI^(4wh3R4q#b&+JN$77S?z(l`hw^L=ufN^6>AWjo_ypz4(+IDk6>}nUi|BmF66xG_dmXEqYi$RiChB5Hb{dFxjWo< zKWi1JX>lI6IIg)tCH8Y}G1MFTxCC>a!=-V5x>lhWP|dI758Kwb&*zciwL_^I=;89X zERSF@TKCARxtnD!Fu77|b)`ju$DzeR@&z_WDHN8JJ>Tv!%ORdPuK#FKGGqN#z$u$# zP%wQ$jYg1!n#g29O7Pr;fPLr2ZdlucxLss&)6m>gA9P{`PRMGAJMET7lBc9w?90|u z*57Q%u4meEi+qMXw1~LhpuwxHHm=?0lfS{SZQ0BGY(IjmHCnYgp5M{TWIr=P^MHdy6b)U&wp0f=lkqz5Pwi zIGd#34FyFU$K=I)ORSijnPczIJF4+wF&ZU4T@l0&gRb zbEZ7s&3~q{=~DE+?4X}wD8tcF%co#Po8CVaXHHgv+U!Jll>MIZky89mcnU7KtspAx zP)1;=sdfAQ(`}js~bkRwItIRFwiTvBWpho;w zi?tVWzSs%=LS3(EjX{et3R8Nbn|ji)b`Cp%`zPukt7pC~_4#Mj#8tJq2#JfSi(ww4 z#MtuWZxA)W`ow3`Qi?htLFTss(SOyd2e z>{ov`iU3Th}uu z!y9E<;JkiRdkO@85{pgdr|OaAYZwSs9X=P%9-SWE%4!Lz%f93u(~)7qjITKK)fagX zKX@4j4NmuD%tB2G1C_*E++~>Yv4GU2TTe@4y6O>j-*zXCd~q?rHyV3k!F#Q{d&;h` z_{5B(qSntarED=Q7+1Z!p#IY7BU-NaF#VkUB1fq0N?xLgicH5Fg|m7@-6k&V32Nhu z_P(TFmFVO0Tjn7hfT43;+OzgIPAI5_U4Q%H^RBw>Jeg3c;le4U)Qvy-JN4L;e#LgI zg~0@-&ceO?0VXSO=tT*x92+?3)zMu(zH{s_hN|drgf$rA!A`m{$6kl>y2T^Ccpag| z_b3^7YK(W?SH7);alG6R$_jvUQRQdz0{_8Cj zWwomSa-ImyG&-=ypN{uCgiE1YN;_5fjmFBJkC^RhH`eC@txk@ztnyu zS@2OQ%??E%q>UVldQwXfLie6@+n@vrZ4VAwk01R)hcJDS4;m0N-<`!k+CPl=X<1+j z7UI;WW~N0@8wyq>_fLK}nNC;4oAM}7d7xEFz7ks(X0pZG^fp(|x`4uOF=l+x8_y@C z8t@KAP<*Iv^Z@H6*OTE?Z`?Tz>Vw1eMnXDUgA4DS`Z4#F&GGXqy24IFzgpInN-$?& zOuVz>&r4dRzOj(y+k{I*9~2oEWqch5{RJY8rd~o9FHGHW`r^YSqnR$p z^-#t3_a^8jwO`oY)aF9!m zvg~-;2c_cmZNudz%%;`$_Hpx8QXe$*&R}KnZ)U3EwGFK1#eVL5#`va2*~g~6d07rS z583-gt~miX*LL32y~m27EiHjs5iY4Q*H z`>sge>wK0zGuQ%L_wNj}*|;@Ow=D#<6>^~ztuvr_v(+EdvUGiMt9C)5JauH<_koRQkm``W8$m_r!WW zN*3cE<*n3ui-QMl{{c-lWaIW;mDvKTbX!dQgrQZajZ@G5L#6t~CM8HGQ5@JtKh;ng zI2)vRFgcUwiw0fc3Ueu>lON(u@HcNee(#B@Dqech_3;S?TL2RY`jI%0E(LUWFq ze6kx5Oe>3F^p@@z^Ukq4AGK?_9T*BS?RCfDz~%jm?33MX>aT)y9Cje~7#j(D`})z| zGY9NU`7$KsQqH!q8TN1uhGluZp|yVU_63m6Eb}uGj0A~upv$i@@fO6&CQe^x6_2fn z3$^SIHH@#XROk6Xy*Zs|hV1I%X4_7`6Laa`bi-FQdph z$2qz${d@e!<8bv}ztX4g8SFvN)lR}je}$&WBJpR$Gk6CFCSWlbo!{d>=4)jdJ$#fV zSAF&i)p9xwEfiz&h@K#dix7R&(1i2TkQPmBD*63pBNx*avQz{#mqw_Z5xH>M)xWD4H zqJPPn0UF6~r*UMeLSV_v*wU?Ua$z+YJ(HPOo$__= zu!=A%!Z}RSqi&*b+T|O3{-^$r_Vu;-)lsmZkUo1W+x@_3vYxJL1@dm?}N+dLs ztBj}X%rQ!daiSm?@S1HVSDx96xA7lgP9QIgoV$=aER8(h$#4X!a%rO3t?r{Z7b=6h zvRLjD^SyKYhHAb%+|Zb5MP@K)mE2=W_?|$hko%Xp;@f^Q@Ms)q3zZ78zHRSNzU#(- z;&K%(9d5-`tt)s8-_(gusq2|XNzP(-yMb+|-%R!wWPW~!HuaeF?DojRai(Zpn869+ z0S^9@i=D}Q|WxL&W4H|$h6IMnPAs&zW?&=QftcOugM;taK3JGXn|^HI?8jtoZphT2E(!%-9p zeC`t@b_c3s-KxzVs^m}q{k$X1I}}0H@S$NVWGA)BQ>MSb+C^X_vC{gJu=m$;MuTcR zqAjh%EO3>(ujR&vohqv@s#0QJkVzNk(Gre@ItvwaOV`r)&FzLq9N3S$uDSfQZw&DH zlareH>$C9*=pmw)|3^O^%XPo7FwcS7bb35QEpvc&K62~yyxyz+psE47$U@<2qmr3* zxaQ+g2dw*9#Vs{pw7COYJ)>FJ`_lWh1R7M}I{N9gd?6;^Ik3a4bH1+Ehm!>)3t!)H zSavrsG3qXjvh*p;+-lzA-*rMw5f#HQ2>ki9?rLWGe$X4?@2@R!pqxZ8c;NjHE8+!# zoz5pwO-kQ_B|)|XJu_`dp?G{Tr`(zBe9@`#xnk!Fca9#Jk*V>lq|8spyaTCM6IRP# zFSwNFpsv3`%Le=fxO^jovRrG3Y}vi|v6=v9@)b1#5 zJ(O=Eo)_24oj>Ra`_up07_Vzf(o{>mN~{p}y9H{vHlO zCKPPvG{9JRmju@xisyN6zdX`NEgFLm&qmhk*Fx4gWyS}ir#^Hg0n11aQP8!VC@zNiWnQ}h(rywZEsgv z>hw1TEqLmN0I%xoArE#yAkix1O@|0ag9f6_(4S(Pyo>2gxLPz=)JnU)q9I!J&{r|J z>alAyw1Otdh(%3Raon9Is2|5B=F5P%U&UG55SUShOD`N;9TPp6Ry8Z~J8M75D$Q<> z2eN3ISUp?RVOnW%LR7)0H=OEMOP^T<0~nk{r$z$3n=_J>W$~ErEoYTOP2#TRS472a7;*+c*!zb37z|Fw3}K8+M$uYQ z;;%Hkng;`G_-%!U{{mF{iPP|M|LRqRx>`wr%u%xxVlLCh-FyIzk@0PiVE-eF{KIBj zynstx9<5W()|cUXU(Dlz11z7g6lSi>|D3;xu&Chk7M?Nk%V^;6t`57_)`Hthnw4!G z7!3&WsIuQ`MerZrk*)}FY@3tL;!SAKFDUc6^~|9n^cI>hBrdrHe7aKjs_*+{VF)Hd{@(nv2o#)*O{Vhegp_l;0+?EdOu>$g>mojM&ZG^5*d;z> z3Xto%TPb+9-K3%~|4@x2k>Xxfv)GVGrH#zuL1mfR!s zvUXBZYMy9gwsFuFT zxN9Zi{VvdZ zRl!>MiR(sK+-m!WE|jUPG~;Q`lT4S_mNpC)YvO(j5k!NzFl71VpXH96R-Av}tatl% z*#y!wMFM26_FT#+`v!bMpzjP5l=}q!;J1K`JMQBjv*L-440;{Pm=g84COV(um3m}q zB=dIX@I=z1{5_|IV{^=4z-12`N_B2dk`7#0R8^NT_DaglQA4L%J!boQ>pre)e7J

28}R+`qj9AY?6+7t36EKzjhdisj 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 z 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�Q75A{d19Z5<<|^3v9E$>ehKbe z(pT4+WV1bVk<@0^%0(PiwTD#t>2>Ait!^#{I*9ckGLpqJ>=H`LjQ(pev~Eo?m-5Z8 zwK6*9022zHExfO3n4@W>W$2D1$@s0ExN^)(yjM?(&b5vl`?6j7k*6ek+r@&(= zgEqrK4$D_;t0qyxx*p^F=0Jj7Ig!o(^>Rr;kgYBe$Z3rIoT-CwhAN zl_i_U>oHiNa-HZbrVa*FN&@5k-+NvBpus+{5;GFP_@9K@_NVw?^Zx+m4SX!;xXqFd ze1g@NoyiAXB{vH+U3B^Q*C2%)$&lVjk|jBMg`KQh%ER@ZK8{Fnaqoy@nQn_0H`EvW&>IFM+z zv0M^;oXL>8E&8Q%x-+58opP+FK0jOKR%e^zNmZy%_S>^Uhm?{ca5(9P;yt!?#U`$5 z<@^@j&v8{qKB*#e_OzK@#&>mDYK~hX5=CaFyEk_4+Ic$%Abk|^nX{?QIPuA8AEAIo zE5Y>70l~^~@^bhxl56&LZ0z4>7XXO_%{(&4Gs?`^p(XNM`1CgEYwLP={j8=7)SCuZ zwHDIe$4?y8ufw2AZDJ+0LQxYPRcXsIA>?4-ozvVyS*u8+C_Qs?h$^B0i^HUl%>Z~B zBh`)}!|0gI*|4>K#E-}-brvf~%XDa#yq7PJaDojH$>n7PW3!5@gr6WwkG zG<-nJfxsxG@)>;eTN`^S)_rV4RAF0@o;&Ut;oC_2OB8k2^wJ_Kj~X?$IT~^}?6G@N zG<9g~DB9yyCca3GSolyq2z9egGhSaijB*@2fN-03wl^n~p8M=zF~7&Ql4izTVmnCc zkXJckKNMI8Hv#56QS-YAnrJE18Dmee*4(Qkd_vARg28B|`vSN*0@Fw}V^8fo(b^JP zKSL=T9Hz5pi$3bCF-Z=&GIsYlv6e|Pv|lZ?KN`tt&#jRctWRbGELS;RTdZ;s*gin9 zyKiHD%;d54292FI!tzteC9aXhom@_%$h|IM&hap3%B@5`FpZtXE2h^~dZRB`eHjJ< zwpH69ii20%{{Y$cnkAj?(x_vSh026*nX0QH?`aO6J;eV29?3}k5xb(XQm5e@ab zF9`Ufo+HTF*J(oaVm$^*+;v?7yU{WaUbvpD_3F11MP@U`z9J?$BG4wYPG` zlfYhpXv`l^T!N=G`&w4w^ciR_R`j}9jErt>T$VWcg|+kIpSF~vHr4G$;|6|59Vnvn zWm&9hh2+DFtThN6Z7_Gr79w364zX}WFbMh7X zs$#SjlG|OEWi^J$41lZ!8&Nmk@(rZi42i2q>l11Acvlqg4o2NJFt@b3dTS2d1yxue z*F~XEj}MOzkIC`-8aZe@1$yXX4;u4px70T1`EU%bc$mmSvv0Q3Ng9D(ztW4WyD-S{ za>jg>8JidknK-L1+Ny2DD>K_7)~Q6EfM-Th&cM zTKtR|1p58;J>yyNfcgElBx56PcDAf!IRMj8{2i{bvt6-xAyvzH@)?Qqc0%%Y4lASL zi4#(le`T0#Lr!A!-Llb(hs}yCTYN=0(%0A4)&%IsHA!nt2@^E(J2Bv5HA#VWSAy+* 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

  • 0VP?xlLu6x~+&X*;Oi#YS=0?N2XI+ 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

    +meWBvruaXv>PxSQm4#YI# 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 = (props) => { return ; } + if (banner.slug === 'hextech-corruption') { + return ; + } + // Fallback return ; }; diff --git a/frontend/src/components/HextechCorruptionBanner.tsx b/frontend/src/components/HextechCorruptionBanner.tsx new file mode 100644 index 0000000..1dce03f --- /dev/null +++ b/frontend/src/components/HextechCorruptionBanner.tsx @@ -0,0 +1,258 @@ +import React, { useRef, useEffect, useMemo } from 'react'; +import { alpha, useTheme } from '@mui/material'; + +interface HextechCorruptionBannerProps { + username: string; + palette: string[]; + ratingsCount: number; + followersCount: number; + settings?: { + cellCount?: number; + shimmerSpeed?: number; + glowIntensity?: number; + instability?: number; + shellDarkness?: number; + }; +} + +const HextechCorruptionBanner: React.FC = ({ username, palette, settings }) => { + const canvasRef = useRef(null); + const theme = useTheme(); + + const cellCount = settings?.cellCount ?? 40; + const shimmerSpeed = settings?.shimmerSpeed ?? 0.015; + const glowIntensity = settings?.glowIntensity ?? 0.9; + const instability = settings?.instability ?? 0.6; + const shellDarkness = settings?.shellDarkness ?? 0.85; + + const getSeed = (str: string) => { + let hash = 0; + for (let i = 0; i < str.length; i++) { + hash = str.charCodeAt(i) + ((hash << 5) - hash); + } + return hash; + }; + + const seed = useMemo(() => getSeed(username), [username]); + + const brightColors = useMemo(() => { + const colors = palette.length >= 2 ? palette : [theme.palette.primary.main, theme.palette.secondary.main, theme.palette.info.main]; + const getBrightness = (hex: string) => { + const r = parseInt(hex.slice(1, 3), 16) || 0; + const g = parseInt(hex.slice(3, 5), 16) || 0; + const b = parseInt(hex.slice(5, 7), 16) || 0; + return (r * 299 + g * 587 + b * 114) / 1000; + }; + const sorted = [...colors].sort((a, b) => getBrightness(b) - getBrightness(a)); + return sorted.slice(0, 3); + }, [palette, theme]); + + useEffect(() => { + const canvas = canvasRef.current; + if (!canvas) return; + + const ctx = canvas.getContext('2d', { alpha: true }); + if (!ctx) return; + + let animationFrameId: number; + let time = 0; + + interface ControlPoint { + x: number; + y: number; + ox: number; + oy: number; + vx: number; + vy: number; + phase: number; + color: string; + } + + let points: ControlPoint[] = []; + + const pseudoRandom = (offset: number) => { + const x = Math.sin(seed + offset) * 10000; + return x - Math.floor(x); + }; + + const initPoints = (width: number, height: number) => { + const newPoints = []; + for (let i = 0; i < cellCount; i++) { + const rx = pseudoRandom(i) * width; + const ry = pseudoRandom(i + 500) * height; + newPoints.push({ + x: rx, y: ry, + ox: rx, oy: ry, + vx: 0, vy: 0, + phase: pseudoRandom(i + 1000) * Math.PI * 2, + color: brightColors[i % brightColors.length] + }); + } + return newPoints; + }; + + const resize = () => { + const parent = canvas.parentElement; + if (parent) { + const rect = parent.getBoundingClientRect(); + const dpr = window.devicePixelRatio || 1; + canvas.width = rect.width * dpr; + canvas.height = rect.height * dpr; + ctx.scale(dpr, dpr); + canvas.style.width = `${rect.width}px`; + canvas.style.height = `${rect.height}px`; + points = initPoints(rect.width, rect.height); + } + }; + + const resizeObserver = new ResizeObserver(() => resize()); + if (canvas.parentElement) resizeObserver.observe(canvas.parentElement); + resize(); + + let mouse = { x: -1000, y: -1000, down: false }; + const handleMouseMove = (e: MouseEvent) => { + const rect = canvas.getBoundingClientRect(); + mouse.x = e.clientX - rect.left; + mouse.y = e.clientY - rect.top; + }; + const handleMouseDown = () => { mouse.down = true; }; + const handleMouseUp = () => { mouse.down = false; }; + + const parent = canvas.parentElement; + if (parent) { + parent.addEventListener('mousemove', handleMouseMove); + parent.addEventListener('mousedown', handleMouseDown); + parent.addEventListener('mouseup', handleMouseUp); + parent.addEventListener('mouseleave', () => { mouse.x = -1000; mouse.y = -1000; mouse.down = false; }); + } + + const draw = () => { + const width = canvas.width / (window.devicePixelRatio || 1); + const height = canvas.height / (window.devicePixelRatio || 1); + if (!width || !height) { + animationFrameId = requestAnimationFrame(draw); + return; + } + + ctx.clearRect(0, 0, width, height); + time += shimmerSpeed; + + // 1. Draw Under-Glow (Inner Cores) + ctx.globalCompositeOperation = 'source-over'; + points.forEach((p) => { + // Harmonic motion + mouse interaction + const dxMouse = mouse.x - p.x; + const dyMouse = mouse.y - p.y; + const distMouse = Math.sqrt(dxMouse * dxMouse + dyMouse * dyMouse); + const mouseForce = Math.max(0, (300 - distMouse) / 300); + + const driftX = Math.sin(time + p.phase) * 20 * instability; + const driftY = Math.cos(time * 0.8 + p.phase) * 20 * instability; + + p.x = p.ox + driftX + (mouse.down ? -dxMouse * mouseForce * 0.5 : 0); + p.y = p.oy + driftY + (mouse.down ? -dyMouse * mouseForce * 0.5 : 0); + + const pulse = 0.7 + Math.sin(time * 3 + p.phase) * 0.3; + const glowSize = 60 + (mouseForce * 40); + + const grad = ctx.createRadialGradient(p.x, p.y, 0, p.x, p.y, glowSize); + grad.addColorStop(0, alpha(p.color, 0.8 * glowIntensity * pulse)); + grad.addColorStop(0.5, alpha(p.color, 0.3 * glowIntensity)); + grad.addColorStop(1, alpha(p.color, 0)); + + ctx.fillStyle = grad; + ctx.beginPath(); + ctx.arc(p.x, p.y, glowSize, 0, Math.PI * 2); + ctx.fill(); + }); + + // 2. Draw Dark "Void" Shell (Voronoi-based cutout) + // We use a temporary canvas to draw the shell then mask it, or just use a heavy overlay + ctx.globalCompositeOperation = 'source-over'; + + // Create the "holes" effect by using a pattern of circles that are actually transparent + // Actually, to get the specific look from the image, we can use a simpler approach: + // Layer a dark color over everything, but with 'destination-out' circles at the point locations. + + const offCanvas = document.createElement('canvas'); + offCanvas.width = canvas.width; + offCanvas.height = canvas.height; + const offCtx = offCanvas.getContext('2d'); + if (offCtx) { + const dpr = window.devicePixelRatio || 1; + offCtx.scale(dpr, dpr); + + // Draw full dark shell + const shellColor = theme.palette.mode === 'light' ? alpha('#1a0a2a', shellDarkness) : alpha('#05020a', shellDarkness); + offCtx.fillStyle = shellColor; + offCtx.fillRect(0, 0, width, height); + + // Cut holes + offCtx.globalCompositeOperation = 'destination-out'; + points.forEach(p => { + const holeSize = 15 + Math.sin(time + p.phase) * 5 + (instability * 10); + + // Main hole + offCtx.beginPath(); + offCtx.arc(p.x, p.y, holeSize, 0, Math.PI * 2); + offCtx.fill(); + + // Add secondary smaller holes for that "punctured" look + for(let j=0; j<3; j++) { + const angle = p.phase + (j * Math.PI * 0.6); + const hx = p.x + Math.cos(angle) * (holeSize * 1.5); + const hy = p.y + Math.sin(angle) * (holeSize * 1.5); + offCtx.beginPath(); + offCtx.arc(hx, hy, holeSize * 0.4, 0, Math.PI * 2); + offCtx.fill(); + } + }); + + ctx.drawImage(offCanvas, 0, 0, width, height); + } + + // 3. Add Iridescent Edge Highlights + ctx.globalCompositeOperation = 'screen'; + ctx.lineWidth = 2; + points.forEach(p => { + const pulse = 0.5 + Math.sin(time * 2 + p.phase) * 0.5; + ctx.strokeStyle = alpha(p.color, pulse * 0.4); + ctx.beginPath(); + ctx.arc(p.x, p.y, 20 + pulse * 5, 0, Math.PI * 2); + ctx.stroke(); + }); + + ctx.globalCompositeOperation = 'source-over'; + animationFrameId = requestAnimationFrame(draw); + }; + + draw(); + + return () => { + resizeObserver.disconnect(); + if (parent) { + parent.removeEventListener('mousemove', handleMouseMove); + parent.removeEventListener('mousedown', handleMouseDown); + parent.removeEventListener('mouseup', handleMouseUp); + } + cancelAnimationFrame(animationFrameId); + }; + }, [seed, brightColors, cellCount, shimmerSpeed, glowIntensity, instability, shellDarkness, theme]); + + return ( + + ); +}; + +export default HextechCorruptionBanner;