From c5614ffcd61bea472962bd6dc6c57e606db25062 Mon Sep 17 00:00:00 2001 From: Sendou <38327916+Sendouc@users.noreply.github.com> Date: Sun, 28 Jun 2020 17:41:33 +0300 Subject: [PATCH] plus voting for calendar --- .../public/locales/en/translation.json | 3 +- frontend-react/src/assets/plusServer.jpg | Bin 0 -> 13489 bytes .../src/components/calendar/CalendarPage.tsx | 90 +++++++++++++++--- .../src/graphql/queries/upcomingEvents.ts | 1 + 4 files changed, 81 insertions(+), 13 deletions(-) create mode 100644 frontend-react/src/assets/plusServer.jpg diff --git a/frontend-react/public/locales/en/translation.json b/frontend-react/public/locales/en/translation.json index a8c0b5cd8..1a8737341 100644 --- a/frontend-react/public/locales/en/translation.json +++ b/frontend-react/public/locales/en/translation.json @@ -1240,7 +1240,8 @@ "Hide info": "Hide info", "Show info": "Show info", "Edit": "Edit", - "footer": "All events listed in your local time: {{timeNow}}<2>If you want your event displayed here message Sendou#0043 on Discord" + "footer": "All events listed in your local time: {{timeNow}}<2>If you want your event displayed here message Sendou#0043 on Discord", + "plusVotingInfo": "<0>Plus Server voting of the month starts and lasts for the weekend" }, "builds": { "Default to Ability Point view": "Default to Ability Point view", diff --git a/frontend-react/src/assets/plusServer.jpg b/frontend-react/src/assets/plusServer.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4ccb024a687207ca6a3b02e49a574ba765740c67 GIT binary patch literal 13489 zcmch72UHVn+vWfQ0wU6-Mg;`~q!(!sk!C}rDJ>#O6%nKag+!@Ji=cvn5(R0}M0$}( z4G0?P2qFo+Nklk_xrx{@4x5l?m4@|nPD>Zxyy4s*L^+19AV;t182=F%>Wh_ z7T_BA2QUeMmnq!a0{|{u0FDCyuou|FA`Y;Fdo18;#3J#peKQt$fbGw5R`8@60B!+( zaJ>kwyUR6j-M#0}|2uBpw}VdHz8Q2#^Mv{dH8t=}V}J?33ci?yWp~TEyX;}x-Lmi5 z!?uTmorB}g%E`5tgOiJsgJUnxUM}w41>D=m!@Y0!$L>S^x|Nlkjg6g~lY{fmCI3eo z=4XI^FAEzB8ym}EfR&$xjh}_t20*~pv;S${t`UD07FM=B>>Qk6GkCxYst$n7XJZ2! z%?`F0ygC9r5A5M*7dWhD%pqv)#(5+_Nc~~T+r2WU%bSHS_Y!3_t_MbPaf^r^6cays zOio_mxTco2j_yf4lQX7f<`$M`ZEWrA9j;t;biZ-a!_&*#=WbANNGLq)UQ~2UY}}*A z@u^RrJx@!2@iHSj=Ur}IenH{;j}?_w)it$s^)0P!?H$<8t}lK41A{}uBR@t7lT*_( zvvczci=?&njZN|vWqW7WE*608FSEeye`^;%Xcy~l3^;e~VqpyhS2q4V?1$Aj1dOdY z-2w!Us6X5*bUNj2c{7)c#$}@L^}t?k5m`;bQPQqye=PgoGc5A|%CdhM_HVmJfqiT& zVDQ-Z0VqK0&Te|JeJA??w>0&>b0AH05B=huf=eLl@BYm1a=Wa}NKE2EY zB7K-Zvx(*t@h!46<%3Sp8jY>Mk_o(N^Nk^)mglI(;rfsBDN#hZ4oB`|Ce>Ah`we!I zQ^hIC8~4vzc^`T%{{5HAZ%?r(Q|lMjr`Uyn|J8=25RYMl4^NsuUI`Z_uD6KieJX}o ze(bjFt=v9Q>gj(bUiB*KyEt{7?8pS7e3^hhBw1~2X+rF_rhiO^=EyDI)QAcj`THgB zcw>x;l*&~%iWlvZjuuu)DxW`7TzRf=hlR+=;C%^NgrKR!N=ziw{5noS6&#P!TdXhg zCY#0u#o}%}Kz>};Ez3Skv0(yxis>=RZ&SBgVC+WXUHigf*RQx}e#|=(E_#`l&Ugal4@pVjqcorRZYbX>`75g$m)Ys|90;d zgA6^sp5)Ki?*KOBy0@$6h=KW(%Q<&9L_2{?6j{5TWn@&VY0l&7!g^&{Q;*)Jr$du$ z1{>2o@J%IHMQY*a6kVgm2?H5FyE*U54L*d7Y*uLWKQcDP82G+Wq2aeyh2izFe-kv_ zFt&Z|E`1et7HQiSa^z&PhzsoJw@HmZhSg(#Ofi8N2uW{tTGE^e2z)wCvg&`C7&Oan?0-&_s8BaV50i0sZU7r$6w{wChj3&K|WO7O>hhq?TASk#0F zf`iiJ&qDK{_?5yP9BY`s)x4!q=jsZ-Z#wKL#y52dvBt|6?g{yty$i=d_@iD!H1BHK zV-NoK2_#bKCwhe>UFQ1+jR-vjkiaZy{_$vR@%&*HnEl?DjEibdPc{~`?(s-uo z2c+IA|jep+g-YcJ$IPtd3-luPyP%fG1U`iQtVROsmNROTnPFy~l7k9?PuJYat_IOU?4 z)A7~i{`5ozei1rBoeErug^7BWonIgYddy-fnKe_K+ zi)0Zz9*{Nrq~tQXWf>8R_yQ#cAKmHpCE&)O_Y@wRal^KAtyx zT7`&%J59o9f^iJ)L1LNfG1vhUYI zGuvEv)(}M4N}%p&-8PPj0PiUmZ%X1_Z9`Gym_YpWz+0ETF5*^OP5cR9srnn~L)p9x z+8cZI3f^J548@R!uM(^hwfN#D1P!DLy~JnJPsUmIX(hs6Oc%x(MFV zZxt49O44X+(KUT%Z25GV`mI|Y7=PMupRZ{dV4KEJ6?t!^vphv~=p1Jz=gg&n%@>M!Mls}hEzv#OK;f)Sy5?t7Ay zb*+}C`!rT&Phs#j?wi*5#q2_foX(Pqww_;h*u_frosI|O-?08`!t6JdO z9LSp|Bja;+ImWz^6itqjOA593<0M$MCWW@u^p-9t2T2|CtvevST&^fAJr{5I>utVG z0cm3SKGmM4+MC&iK7jF9mGs)V1$t_kq40YQYg^^_6Wq`i%_Yughu(Ttiu$CQde~^qa!!Qwb2S) zA`Y3S?4Iz|9b^5%a!8TGl<;O;FZmV9Mr!ZSoA+&$ruYp$$^Q&9>!%7b2R)Xd1ft9- zjF+DV9@e_o@s}91FWkJWiv_OfXJ{ed484GTQYdX4db|!uyZY?ekulBO3j+nI(Cmbz ziIFA7UJP}A;o9&SA~MF0+$yjVVbUi4G#TAGH~y`=i(qF?G>3H4*18}xW^XsVpCgS;$HQ)^ba*w zd$hu2eb?RNn|S?wfaE=u1SuxrO%9GsnE^ukvfh&=B%?)UnJfHD;@&W z?6y5Q>I(H+r zFCG|KxEJy6er{du^A>aQf>D!b|n-sKK~+Wu@uNx>!Z`BP#Sw4aV~w{jrQ~+Ksw$zUlC9 z`p&kIAB>Jukd`D^3rHK`POcSB2~y`;x6*2=SNkm9JscdM8*9ZtlO*%k)g)tb>}66b z8F?9$k9Y}$UMn7 zt3jD2;zZ&`?tp9u@uD6XXcTJY(qxW84k{?!IyElz$o|Z&@Xp2i!y>|~qTe^lNqt%}1Cy;!RM{m) z8%o2%TW)JMd==gArUO}%f2a7^l$BeaZF7min+kT0`=*ny13pmVB}lxU$kGLA@5-{c zJ3p~&UBNYegA~q6pN>7Z&E_(5%y?bEQYIawl^zZScT$hksjXs&Of z@R390bFY+?pmT4ci8@a=9cYr}U^KT9CNa%Ru(79vyvJyMxb(Q6fxA>AQtNjjZtYvZ zR>r7V7j*rLgY4u{;bz%|>w>@U3o(I+hXE@)kQhyeu&J28OGO74q97iV$OODFNk*a+ zQ6jnj+mL}nsnbIB$;GXDHvo#oL1Mg~Fy4wk<(0dodd zSHOEpNDFk?KekCA!HPH&jrH{jo!Cv>hN#2VQCiVj-_;3LM8tEyx!52hbDNbQ*v{UECx>#U`s+pniXqfSTdLOgq4?6&2 zyh&Ra6ZkA&v|%zLzWwt*{7*-oTKVb$$1%>Vz);(<&dB+^Vt10vGsblgS8XxBzz#xA>apXUpQjI)AByV3<&dt z;KnC+vJAZ}+?%SmXmt0-g80kyQw=Zf2IrkO7`u9Rys_Hu)*V@MsiO9!Jb~GGPj(Bc zUh-j6>%ZCvdk-P{qLy<+QAjV82x15!+b?ns!m{9-2lihXT}J;WdjX5MA^n>{GK{Q& zp@WYD`#tUVOHyKH3VV^w{gA32#vuv{j~OXz6))S_|Io+4e6nE5J?_&B&5#rws&(^h zSMub7l@Bc`KMtiVL`6xQxMi}&t?2&b@8O$o*ovZah6!{S(M~}&^}t&8UCQu$`pGgh zSY>=Vw=<8*z#>1Lo7p~uGZ^wr;-gvb)IisHYMDTX<=K_4@}(2uHS$7bosPGcG2?(&ukw!Z0vR;2?{3|7cfw2;ez+yJ7IkzrsU^H z9_5PRZ%TSO#=8tTN2aQAdAxz{(Abpuo8_N8s4_%8GM=7&f(iJnj?PVruCN8%Su>f0 z2|7D_H@OF<9sgzb4oQ>Krs!+3E z!!AWU_@`j^qiK_vz+)pJ+Uf5IIk+CFWYd5Dl6HMo`kj2bOPfG(c@6%Hyd**vX$7q+ ziwf5PxrP7;r!aU%e=|8Dn6C{I>s>-|)oz7UWd=2Ulx{m;&i3=}M%heR*3^2bfpkjh zx}j3H16QcAX^8Z--PeMmQW@7`lOZYXDc+CUaCmem-`~xn_S-^Uio0<#6VTvhyvE>j zn$-K4fIE(I)W7X&qcpf1)r#T85Tw6fz1YuYC3(-UVqd6zhB|b-)WD&A&%LYnXYwz* zq;I3U%Whe_#AW>Hs(%4+J+iqTy5^5L0A0Qd0cbdkZYkjIjq>w`ErP+na24z;JK^YC z#=bZj7gs9l(baZ0B3pPzNmR9f>_`)&e=<5?N)#jyQVNNY-*C(1dk~bCZqP{eO8d*& z(3&YmZKX%;eAD?ey$h37&HV^;%5=&;ZBjloYg^(eJXlz7&JLEuRH+{{8Yci)UQOGX`B_2{_K}){$z<;Pskl@ zb@%hE{pS+HAMID?5!xg8+A$@U^Vm(tVz1Vh=ukM4!P`x_y8pQVyo{ViV*mOZ8gb(F z+vYvsFm=;q`c{M!+6PpT4$OsfL)HVN!TfKID5E&MrsqmOT9XdAtY@~@iV~-ThruXb zXi+4-ei+Qg9LC|V6jAiHZrQ(%P|tNC4$~`awhy35`~5#RVTir1yAKO40~y{q@CCCp zZm@1~NWc(Xd>KMW@32FRABD6>J5gj_dUUuHl>-iOChA0m2fz3IzLZfv@ztnsUqI#g zBUi`;iGiwhb3>ozx~KGuB0pJq+jWCKOI8;3(yBho6}}&BdX`cBH2B?D4YL}19FO|u zr7yNq6B+GdkStJh<(Q%EwHQ*Po}o0%T!KzRd~plbOrY%~nl%8uYZ4ferhd?-vU5ue z^AdWA^3F$2m>A?s}hmeX7!&UShLt4f5S8f7$`3DNGA5$5O`x(C7|n z<2CBjPMflzvQ!Q7b3z*uHF7(E`QlPIccL%84xcsZSzQ;Cld7#K8>q0ac>mr*8%G+5 zn}cxYjXSk5kMh6z@@CiQS&gA6TAbKa*YKm1c4FP!wkD2$;a+8c$o#PV`l;!CJ6GlW z88vNS^%tP>(4FW>6F%25`b>4(dr}!%t26s2H2KU%SS=6!a=FM;1^IHv818O#~aAfmv{gg4) zDEugKIE!^0-bbFt)~trvXKGNw=GIH~(5u!PhUcNQggMaNgmK}KFi$(82H|!N2{WY= zgW&UaFgnAKBeCbbs9_I0BzU&qhS3);_hrQ$O^P+K>@%8;AqkQzZX>aI>xFvhnCsQ` z5yfzVxr00HB37v<%;UP%vBsZYE}T~T4gXPPdH;iJzO@;A$@Szkr)Eg=8`k6>LO|iN z0v*orkcCaZ;Ag-oezcGN^@njrmF|5H_TTGW$pAE>U?9p7T~~kHZAEf7>CGdh4TRsB zd-_gMPC%H>Ires|}0KRQ=OP_6mW)~|nH&S(U@H%x19F$P}@-H(6%;dXIw z?Ne|@;>I{;%>;HE**r4pevX)qANmNHsUeA!aKT{eJRvxS3Eek2pE`gnoy!Fu+P}#J zWJo9Cmks&{k!~3AdDwo;E&o^}ZIbEe*g`!rX=ARbE~KTIzt+_IAlZ&HfXso(rZmlI zP0zw4Bl!5V7)lXP>yfE=-7=-M)?CRsAs|TTeg+T}Udpa78T7_@-8}=~`~;Yp>uLs^ zYKaGQbACPGrnQ5OPi*vjt5w#r8mBt0=;Jk-mLIU6@S>zMR`$A~RP+Pn@UhY!K57f2 zUg`y8tAGYJbFH_DwA1I%7;$)~3hdW;3mvf0yOYVqU>PLMV5^BqXVkmq@X{G**RR!8JfqRb^2$-KfD$rg?q^85wSwJ?ZY)FN23_=re{~X%H+1CUh zh7reI6tDE*&$)XyMnoJ;KLx z2RUg+T_q%$K#TG23DAfn1rjulWe!#jvhGfh6Td$RIknZmNt0zrNh1BPfN6OHNwZ^X zV@R%+{qqazdHDYLOMfd&|E8?Bl8W1FTYRN@EU+Uf{^8DkpQEBu2U+K8-^pE@rvKV_ z@Gjh%fZ5>#a}|FXnFP{IE@&(X3?(m$!7fMnuF3?W(XDVSO;#I95kgOygKrk^;Cpln zNmPJ#Jm8~P(zJ#d0z42Jw-xCP9K4hXq{L#uS)`{lFSb^wk3U5reL01yFz*mZ$(g*F zTsOJb-OZN(-S2XAaQfp^%u_eT+f5}3t{RnUpP`RnRmhc-BpEV>LMRFkpd|LT-;Jo2 zkkT7}9Cxwu{I)&m>41EfQb66y7Z0usm#6i8yo;0>?f%e*T9pm^B)lM9PCW|dT_#1( zs*-kx^3dRlOZ|TIZR)-C2-zs;*3vq;44mb_&rFE6Pl64r`jsSwdl9aWcagc663RAH z!Bt9HY5#7pvva+6m^x*6av=>nyy-c&0%G7p${*r2j_832A_-?1ebOwHmi|g#0!-Zd zUS(nlD)ram$t#HC?+{vaA!IY$NEFkKp&UiFb#8QqFD32o!?{*@5l@|Ss?B}LKzpti zC1V;K_icPYkj392OHi{RUn|A6OfR-99M&%zg9$UrQq2S%3?txm$4~jUmKaDlK&e zVjx$i4kC_>kEwS}SwUbfPMs52KYtnD9JzYgQ0d|eao_LTrSU7fc7h1GXD*(RgKoIK5Ll!33jOiy7#nQiJPT?kXC6-3SHqdgu$xqhG8f(H6`j zz13ET=;#YA|NXwAj;@6~e4C*nYn7K(@SVOQ4SLeIi~c=7&9*tr;Qh`7o`zB$f{d*a zxnnMjc(hfo@gOrQcR^8G1t{xm_h)--AL8mAzNAMw+szrdLZl^sW? zPb-tCyZUE211(lz-8JzBrbU$2w)(gPnsJ~9X0R-;vFXKTs<(4P`Ib`K@Ui^{>(5X& zs$1SIQW(6Dd}&4ZU-X&&2}Dl^q<1BWuSErd=+c|bsb6os_Z}W+9B;Or^!odiQhxI- z_bg5K)lg?j?meaD&*#zw((j`oAlm~IDR>u^j5Y?Wm|{=| zeqpngon^srz)m-@mdN8W63>@g&$L;F#R$Lsr{aN>qKUU3Fo8tSk2u=5UM8?0X}5FK zb-xasK*Pv_Y8rhJHhc<~>jB3?iI08IWL`8AFwL0xqsYXg=%AziQe?XCWIy~%m5Bfg z_B}!L=ehJ!B>t^53z3(MCMWTk4y3mk9oyIN zH0V``xqfPp6>_kg`%90B;0Iq{OfS1Z2i5o6D(vC622>oS*vpU~8=c=KOPs4~yQ|MK za3)cK(=3$hQ1|=9)zpJANbOIGXimj`-|`AiaW3W4B;GQCVZ@Wi&LZv+s`4-M9j3!;9l^1g8eNH!4NV+&hM zr}thgD=_MCiV@oTM@dlJYGv?d(&KMZ)Trt{n5wuWO_ZDqB~u-n9agm7nmty&w^c@Q z?rW2knFZc$s4n1gl}3X~oc0lV%JvdSml^aAlk_5Re$Wrrl67zp(Mv$as@BA5mMM27 zJ5>hy=SzL`>~V_QS3U1bNIR%oQh-g%*idgjmsN>=VeKf{{I}wRJOd;8LswS)srHD@ zOSFBYriwZEFu_@MAze}PWh&LOV@y8_K_0YW+dR~k__I@St%1Sw7z_%zmL9_de3!

>dSO;C4-+YnSvu@IvZ*$t>e z|0$-JFfL3?vOqWV|HjPpd&B_DDj%q%yabgLtDSkttzw+mU4pU=s9)hg3Gr)S>!i7g z`*s4#=&}GZ`ttAq#9g^1e$St1MX-R4>!HUPSc6Ui=p_bFBJ@J+q%yYxN6wVtWnu7Z z1F7T3V7k9oWTT7KHn(Rko3Zgz3E;(7=pPLfz?=K&QNK$O5?J5drQwWlgc!y1-B^KL zb!OMd$Lx^gQDOC1y`-#|7Vmvty8+*X?b?8k$?`m8tq7VY1hI zdM;YZu2~J`lrqu`o@77yt49g3tiV2SuDqT?kI0a7h^s5S_%iibo|6~K9#uv^^;yig zk$Z-Wt+rtKo+V;2bvp#Cd(ObBLYLR6Am?qqhIHE-gxe2K9$LCU($18w!Se}YrDyy7 zBXyoDz#3K0wQ8F06Mkn>^*|;;sLsdCYx9FTx$>qdx@V#T69omklP4-ce5)CnkR_36 zNfM3S3Bniesd^%l?hnOHT|c;!{UJXnN1qPj1!c<=F3hZ4ncT)JP-Dt6lvv$oqlg`o3*c>fJ6r`qpB}$Q=e(K$19KE1XWrnhPxndkY!8>8H zP6-(@ot?CETO04pXR+v!x6lo}d0tKUr1#G2T5hAh8Xfme44$w`QM{QCe!GFhqcIie z$7eDkiW#uB6-39alD5ttj4w%Xc4lI)l8g7ah}ijevfj0e%kQ#;73zNZHPleueQGjU ze`x1b(|mxrkPkFScOyH=Wc*(p0{lcIQW)9ne~TvN_YToEQEi?OUZSjhmBQJv^BmiK zy;132@L2iei3FjxNhAJ87jliVz&qNI%>o8e)Zm3-7zF7_DGpLe&>nj8P1a2q{dmf> zrTxx5^E*Q9mOK2>PiMGE+iPHtEkh)d7nne`+sS)nJv0^yiZ})`dCtbWh2ff%Tmr9& z@$iOkUiHAn>x<*r8C;y#`L3%POR64+}o z42Ye*-$th3Yh4{zDsG~*<@hAe*zHKx7Hb9^*f7)wc||~3B;or_2rts3alMTEnqFk2jTpx8Pg62UHSMt54WrjTl-HO@<-O(zJRGU? zBw^7~37h6&Fm&aXl2`Z3hL?mp0dM7w{SNyo{4*3pQoB!lXNG7OibpA-tr-`F-WI@| zWks~LFKJddpI;W10YAa|@#29HtEH|GdnxXxKShR*cEDo{ue1YOaiIFZ5x-VD%AYk5 zF_9i)N_uQ}E>F&hT|I%dyJ#5#R4Am;WJ|_uR{*a!arU`yUN3V6u_Eq*ZXlRIdxTjh! zUeNv|)Anzf^>4;#1}20tnB|CICh+5nvI^OYUQxChjACi89y2E0vCrCSC2d^Eb9J2T zHB(FMIzTWf9XRi6Lw>e0u+TD07A_^(1Nv ztdcc#NBy*y1=otIHT=OLG3#=SY*b}^5*E$l_-i_u76Qo{JQ7YY4VBjYM{M7nJ(KRD zN-#i*UM0FRF@>g_#&{xQx5T6Gd?|WQiCk4($Z$kY*4E1Syb6?Y=~LzO(N=?fnjl^P zV*^_Tg`7R(-$f_m9+xiD>_`Ioa!+kZ9VOgYj-d$7fxv#220W6=(_Am~HcmetkEHHZ1n9?gRkzN>j!$sIwz@prZoG0cZQ>R;uD?X2kd3z zDkJ%z=11iL!+fss7(ybKo}4*(;c`!F5jbj8256?AHOEQnH^(zHa9n9)-5oF6?@Si@ z;vg@Vt_7&gkOQ|NhK!#u;w{|r3MuVAP6~l#D1y4GZ|T>1Gvdm$|J`iolXKi09+h3t z&o@p1JOabh6DuGm-&0Mm!(3lVNI)eaS+$HoMv0BDl>f>|ThvpleZ;@lFuFw>6us;S zByQK`L=s%Vw64`|tbBb%cqr`c-}Lal=<+8j3u6RYeKA)Gy-XsCx(*lra!K_?-=rF4 za;-M~_Inbkw=z*n-h+2otXT#r9LJ|{L*lbEgbuwPA%kqOg6G~a;vv3T8(UZ$55a|; z{;Imk|LBhSM1XS@Niu6up9t4+nn=TrLMl-!Agb+Q0-$fL!Y78z%z`drTIp()+ zb!-}csoKCR)ETf<@EkaFASQM_Sv>Lmx!14ZJ!ia|`(x)iGL!dizRkSrDLgMN|7^Fy z{+sguYma(AGvVY^L*?tqGzB)S>@B;Lzu@xM1EW=X0yx6>kD#cK6-dapo2?O2@B28~?eTIy zI3vXY&cQTWS7{_n#5IZZH(i7F8@S(^K>bb_eoK*K@Ve9MHXmQMlAyU$Zf3VQ3GhUi z?X2CD3>0$A2FJ<{Xo*fj?)P)bW#iIY#HS2iD8((mTWT1K99?o9OfRlR2og8M5r)yj zd;uw|Gx0m1e^E641P0ebs^S%t&=?Kq4L+A-1XV{K2tU=Jm!4jUEKv-+(0C^JXG)%8 zR^G8((;K0eKKJJoS9v(BfJn#w4YbXN(Y50~FCN-ngcS3!w+;*WB}MUPg&kix$Te4_ zTzoA^arQS`_N(g{P=vdMqnw12TPR!X6VXV|h!gz;tGHQSvHJd5s%wS1G<0g=nUa_! zV@7yj^xvNjE;58^A(UaFih~~LaacmuQR4F@ zRdpA*zjIdCG6uLbSDt2{7>tB~@eF(>~D0V50DQqxh7Gpk5^# zovFj^o|lvKGIO%Cj#oiqXsB=^4CFXeEAQ{`!%x%GXrDBy4r`K8oKF@6>1*~pU z@6PL4(WG*3wTiDUA3pLbV#(?;%SS{~K5EXnjPu9q?>$+4kF`PAV!+`qd11vFl8D4FO^ohm9D@Oft}NcZcU_}99d)4v@^iJ1{iyeMXOe8z1-~Bc zgP>?^EsW!!866O!4LC`pX6g5qb_tY { + const today = new Date() + const month = + today.getDate() < 7 && today.getDay() > 5 + ? today.getMonth() + : today.getMonth() + 1 + + let day = 1 + while (day <= 7) { + const dateOfVoting = new Date( + Date.UTC(today.getFullYear(), month, day, 15, 0, 0) + ) + + if (dateOfVoting.getDay() === 5) return "" + dateOfVoting.getTime() + + day++ + } + + console.error("Couldn't resolve first friday of the month for voting") + return "" + new Date(2000, 1, 1).getTime() +} + +const PLUS_VOTING_TEMPLATE: CompetitiveFeedEvent = { + name: "", + date: getFirstFridayDate(), + description: "", + message_url: "", + message_discord_id: "", + discord_invite_url: "", + poster_discord_user: { + username: "", + discriminator: "", + discord_id: "", + }, + isVotingTemplate: true, +} const CalendarPage: React.FC = () => { const { darkerBgColor, grayWithShade } = useContext(MyThemeContext) const { t, i18n } = useTranslation() const location = useLocation() const matchingRef = useRef(null) + const { data, error, loading } = useQuery(UPCOMING_EVENTS) + const { data: userData } = useQuery(USER) + const [filter, setFilter] = useState("") const searchParamsEventName = new URLSearchParams(location.search).get("name") @@ -52,6 +96,13 @@ const CalendarPage: React.FC = () => { .includes(filter.toLowerCase()) ) + const isPlusServerMember = !!userData?.user?.plus?.membership_status + + if (isPlusServerMember) { + filteredTournaments.push(PLUS_VOTING_TEMPLATE) + filteredTournaments.sort((a, b) => parseInt(a.date) - parseInt(b.date)) + } + const timeNow = new Date().toTimeString() return ( @@ -72,6 +123,11 @@ const CalendarPage: React.FC = () => { const thisDay = time.getDate() const thisMonth = time.getMonth() const printWeekHeader = weekNumber !== lastPrintedWeek + + /*const isFriday = time.getDay() === 5 + const isFirstFridayOfTheMonth = isFriday && thisDay <= 7 + const displayPlusServerVotingInfo = isPlusServerMember && isFirstFridayOfTheMonth*/ + const printDayHeader = thisDay !== lastPrintedDay || thisMonth !== lastPrintedMonth if (printWeekHeader) { @@ -114,17 +170,27 @@ const CalendarPage: React.FC = () => { })} )} -

- -
+ {event.isVotingTemplate ? ( + + {" "} + + Plus Server voting of + the month starts and lasts for the weekend + + + ) : ( +
+ +
+ )} ) })} diff --git a/frontend-react/src/graphql/queries/upcomingEvents.ts b/frontend-react/src/graphql/queries/upcomingEvents.ts index 4e53c6705..6e7d2687a 100644 --- a/frontend-react/src/graphql/queries/upcomingEvents.ts +++ b/frontend-react/src/graphql/queries/upcomingEvents.ts @@ -15,6 +15,7 @@ export interface CompetitiveFeedEvent { discord_id: string avatar?: string } + isVotingTemplate?: boolean } export interface UpcomingEventsData {