From 909eb1e7e83015ba885b2223bcf2e6853e75fa20 Mon Sep 17 00:00:00 2001 From: Pihkaal Date: Mon, 17 Nov 2025 00:33:37 +0100 Subject: [PATCH] feat(contact): intro animation --- .../contact/bottom-screen/background.png | Bin 197467 -> 148233 bytes .../contact/bottom-screen/bottom-bar.png | Bin 0 -> 24838 bytes .../images/contact/bottom-screen/buttons.png | Bin 0 -> 98879 bytes .../images/contact/bottom-screen/top-bar.png | Bin 0 -> 24838 bytes .../images/contact/top-screen/background.png | Bin 197467 -> 197467 bytes .../contact/top-screen/left-bar-things.png | Bin 0 -> 15145 bytes .../images/contact/top-screen/left-bar.png | Bin 0 -> 15145 bytes .../images/contact/top-screen/title.png | Bin 0 -> 20839 bytes app/components/Common/ButtonSelector.vue | 16 ++-- .../Contact/BottomScreen/Background.vue | 23 +++++- app/components/Contact/BottomScreen/Bars.vue | 32 ++++++++ .../Contact/BottomScreen/BottomScreen.vue | 8 ++ .../Contact/BottomScreen/Buttons.vue | 20 +++++ .../Contact/TopScreen/Background.vue | 23 +++++- app/components/Contact/TopScreen/LeftBar.vue | 29 +++++++ app/components/Contact/TopScreen/Title.vue | 24 ++++++ .../Contact/TopScreen/TopScreen.vue | 5 ++ app/stores/contact.ts | 74 ++++++++++++++++++ 18 files changed, 240 insertions(+), 14 deletions(-) create mode 100644 app/assets/images/contact/bottom-screen/bottom-bar.png create mode 100644 app/assets/images/contact/bottom-screen/buttons.png create mode 100644 app/assets/images/contact/bottom-screen/top-bar.png create mode 100644 app/assets/images/contact/top-screen/left-bar-things.png create mode 100644 app/assets/images/contact/top-screen/left-bar.png create mode 100644 app/assets/images/contact/top-screen/title.png create mode 100644 app/components/Contact/BottomScreen/Bars.vue create mode 100644 app/components/Contact/BottomScreen/Buttons.vue create mode 100644 app/components/Contact/TopScreen/LeftBar.vue create mode 100644 app/components/Contact/TopScreen/Title.vue create mode 100644 app/stores/contact.ts diff --git a/app/assets/images/contact/bottom-screen/background.png b/app/assets/images/contact/bottom-screen/background.png index 0845d480174b6b7d6e809335750dd1ceb53cadcf..be60a8367e0c3434c71496badb0d3a86a97e0b03 100644 GIT binary patch literal 148233 zcmeI4Pl%UA7{}))hNT!A8wf%X7#&KaKc^N$)>hnwloAuX86iSl1p6aJx@$&tkcc2W zNJJ4!ze7-mf;tp*5<1C3MTe-9)y3)%L}9N6Uf#iHezWsD^UlmC2;AA{eV&=mXI{P% zFTMWg-rXD5Z(i@5+qf`4x6ipz_eb~Djcd9;O~1Bzx%**sY~SvkqwmjeJ=y)R_Q>p> zS?4}}W5YjB+|d1e$CLB>_Bi*#UCu3@cJA+PY4M_S&))0YuZNtQIqTe}qvt+9sgj*bKT;)XBPJCTKCI_sp&gs{=D%1!LFrSn48^yeB^Fh{Q2Z) zJRWyddjE6>)%}M7B3}@JNF*Q@aEm}B5)ccxMIaIhhz07mh`$%*cc3nr0Z0}Jhy~mt z5QzlD0&WqAL;_-g`Ylrbdy#m=RTiidTIK%4$2owANVxz5%7Df87!VOD7hpgcu-G00 zA|mAi3@8H@+hagPq+EajWx!(lNCRi?Tk5_q`2Sk~afVqzD+n;f-5-X4J`>Xw1eoIP4{J}r%Jj@1tN9k7&oJ3adoq%tOVbDeX*foAK|nOR zG!G&m4aev%2#7|P=0OCc;TYWo0nzBvJcxia9HYA+AR1ko2N95lV{{h;M59adAOg~G zjP8PfXmn{FL_ivj(OnP_jV{fD2uQ;*x(foL(WQA10cki!cR@fjx-<_WAPvXpE(nN5 zCqH;@(}8y<`WE28(uXH7B7;?}K!7S1Y{;Y|_XXZ6D;@6DNi3xEv2 z46{`Pn4$I$LV%x(*(w6eQ2PfVz|X~O6#-_b{euwT=VG>s05jD7K?v}3FvIc#6YT+ebiOkLrfPl;dGLPpCKtN^!naA@6ARse= z%;R|j5RjQb=JC7%2*^wz^LX9>1Y{jzG<;{oVz6Br+n!Pj}{0afm zfP2t10TQ5T{T!YI;0`oRfCOk-KZhp)xC2cSAOV`z&*4b`?m*K7NPwpGb9fSfJJ2)% z5}*$K^Up6Y$9)S>$N7_-f;32iktW3wxMykQ1d&jzJ~p0$05On)B0Y*FKmru2j*X`v zKmw$oNRMI(kO0N1W8*0ZkN_zt(xX@cBtWt1*mw#8BtQy^^eC192~ey$HlBh&sR^*< z{vD_J79hn9pvN@=q`@^5{GmkxrKUlPt~j#-0TMs~DlN+)KmwHGik&JDAORGh(y|-^ zBtSW?*r@^m5GbcnJfQe30BOJ#YnlLQ z(6oLIPXcfUnkGO3G_9Y*lK|X-rU{S$P3!0IiV1M}^5xNJq=dNK=1M^H+LnttWalJ+ z-p!$N0R$8ipn%h}#pVf+0L@>4wgHd;gZKZQX892MSuiIMUp;65+DJJ)W)V$5g-9lk)%(N z1W14)wXx|`1W15XBX4n20J-iJ za|b~{F#!f~J~jb?>k=RVu8W6X)=q!~$Z2@x?BN;bMz1c+&F;^+4`yE_@Y&ld<44Xu S^~IGR7Iy8O`)KE(Q~v?$jY7-- literal 197467 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 IeENm|2lA6j>Hq)$ diff --git a/app/assets/images/contact/bottom-screen/bottom-bar.png b/app/assets/images/contact/bottom-screen/bottom-bar.png new file mode 100644 index 0000000000000000000000000000000000000000..ca1bfd5372a5391d957d5dbeb34133ce7e5999cd GIT binary patch literal 24838 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 literal 0 HcmV?d00001 diff --git a/app/assets/images/contact/bottom-screen/top-bar.png b/app/assets/images/contact/bottom-screen/top-bar.png new file mode 100644 index 0000000000000000000000000000000000000000..b9c29c14ef4d4e111a6d2662a9bedf21fe534288 GIT binary patch literal 24838 zcmeI5F=$gk7{|XWr>!Z42OW$KrP$KRilc~7Qc{`>DQ$3(E>Q>9O05(Zs}_nb1*Z-L zA>b;si;%5k5OFBjL8L<~B0gQ3F<2qqB?byjsIj?sclrJg!h7%D%YEPdzVF@LyZbJA zK0P(r7rPiEqP}!0nI#hHkm5aO)zO`m{!Miv=ChOI;`95V@SqLZw3bD?+^03EjqjG9_EojYc(Yy$*=8@d z_x5e;U{$`AI>2O!TdiNZOe*6;-qzb;+mK|bRJN^yRr#XuVTW}`$SQpYgv;>2?%R+9 z3|OnsalL?M)@-$R&@3Mt=_Yk&-wU!~P?u!Ny%0@+O9qKr7g;Xz?gd8;+%a}fk!Q_IP+|v9t&`iY}5uP5$f>kY#cxjtYAA%fX%4j z@uDL|6W}v7sB3^W#58r9+puW@VEo3et40MIUqC7k0vHzNVdti$^!(W5!XnSn z7**d_?p^gC&%wU-4(vOJP|fUUXY{=szUi;I>&-X4#r>Cg^Z<;u4agh>+$DgpFn4VO z%|O670YrrvM+^ZV;4T5g1-ok-Xa)kt35XyFFa}^8GX#Kuc>=4;--=4gHT@p}|0C^i VZ8(Tee_7DqO;1cE-;C#;{sA~fT+3%!;;453=9eko-U3d6^slW4dwNWt5&U=?3k!J@j%382Z4Te zAi=@Hf?ss<2e})Y6#`DMvCLLK@@w-vg%I9NHq6X$T~K)*o=rAOm{^Yex@(+OSR>{ahFPT{Mj+)Hg zuD6g;iIGF0;XXWQwr`llIG=gq0ZT@f?Tq?NTYyX-AoJiQMi`Ss(OXO`ilOHtL00KA zQeY0udQ_KOVq)Q4>T_ayoFbDMBSr4SZvH8t>pv_s0GV$`3-b>#v6OG^)&QCB&d3Ui z2ui{lyC1ePu|z&`D+SpRLj4$6%f#}&d+UqseG8eQX%Rw8nOIy6#6Ez`Po{`Z3VK#L_Bs%p7ET1>?j695l!V4NNS*>_Z>GtPr4q y6%|Yz`87gP3=E7Dx6eDsR0H&hfFvUW!~g$beM=Xc>1~r{00K`}KbLh*2~7at$0x}E delta 3298 zcmcImVQ5=b6u$Sq+a)&Hn$c!$*g_M`Tt~HQl};uy66qXqNo}NqZDO}L#%L>TL97#W z8_KE<+42%y$G~nGI4rWY&rGuHPt&2`rkfy&8)Znv{SZWo;*YLkJ?Fl6^IqEKhpc(< z@^0=u_nhy1=iYP9)R1#($eB34Vdd&T>$NlYekH_5!fm0>LzKLC^z|cjZft8YMd3g^xHF81KcBh){enkvlau#%fo>U8eEfaL9_Dr*#Gha!K z1x<0#9BQbGo(@l|~A-GBZ}-8y#=ASPX@8SfDo zR93D9gawL)bwrlW=ZQf6%eqh~v=}i8CK3r%b1#8R^2pq0gfZ|N7_eYuu9z5&;2TsD^RfXpUzl?zJ>Fjru zHrA{8ZJ8VAuDAjssHlJY-hRny;fp@z(kiICOZg%Ll&e~^4LML%l$oRtfo-uFRvvXA z?|ASaIIw!10`%yU7(HtQQC$9)U+bJP1_f_XG#IHxwiZ4x2NEBfARUOr2t2IZG*_x5 zM$`fDVAV~z(h%$({?|t@JCRF#40rtopLdG*+^X=?S4X;V$G29VH&uM`2YqV4U9kFW zS06-Pxq3bcHl_;*iZn7VSX5%M7zj;L7oOw-1o{Gnkov1ecZ~{6rbE}MHR%3IbV@&s znNa)&wc!PVxs;!7-e9E_)hzWN=2Wf4hD&1TR^S7OcB0$QF$XRfdtvq>#xm@XkI2GCSDt6fz#y_WW_&;Y)Fs@B$2hjE=3TG`VR7J(zx9zf#*-vN5gM9Cg-X}Uz zd7B>8k0Hi`YqqS;cKO+6{eI|}mywjij3GM8;dhs#L6~1y#EE+#1q(wE|T+$U6_fNtPPpM5v zQkqp*Nr_lX6_8W40H&&KLE3QV->k^7NKxY^40{X8V2i4?8VIF=yTzshdOY0qR+Cm1 z3}#eqy-EL0V-u=IP&sBtwvCn~TrI029wz87u{T7qj}!;ieWQiIgH$aK7IqE;0|VHp zp`@zRNJ%_`R^@A@aw|wQWNbaA)LDBJDJ8MVE3lE-qvunXppR0sBa`e+xPUGXC2*3j X-ENKUx%JaY+!@~1-gfDkeQ*B0fb=%f@u(ifTxEgD?9RUE8aAu8fxks>&Wi|yd5 zZi1`e%b2ad}4tLbTuMDYBzAP8XVu6XA{Pgd_vL_YkFJ<@USvBiQmu)+=}`4qWMfL? zwIq^khzwVbFBj+ZgT9JcbVMe{+@iKl<~MaPxNhaM!Iwz?P&_ex6`IvUij^^z$^lhQ z*6(!>E(8!j009ILKmY**5I_I{1UeQ_-Uvo=`&vh5bzUd4$SO{#2oi5fM1`s5+6}{BFXXf|V^~&Qqn`Pj|#dmjD0& literal 0 HcmV?d00001 diff --git a/app/assets/images/contact/top-screen/left-bar.png b/app/assets/images/contact/top-screen/left-bar.png new file mode 100644 index 0000000000000000000000000000000000000000..3736b3418d934b74ec4cd5584a14f563d50b3f7d GIT binary patch literal 15145 zcmeI&ze_?<6bJD0A~O{sXpkHt2!bFY8YKut(KjgdXsO9)$WbsOT9RmK%BFtM>Ke2* zwKPOSG&D&6fb}P2QTImPBXNy`+l#Lt@B8jMUA&)nu3~t&RLDld@h}lZ-CWvJ$5HjX z86F~Xjz3Dz>cpvd*_6|~o7qz*gPX~GlIZFv^1dEW=Mx(_FHf{PMN~T=dQ(HS7EyJM z=(R|cI3#h5cnv&dfa-|e- zN{N$Or`>LUs`*g~3MCY9nkn6ZU4!AvT}bueQKX@Z$litAv;7SaSWsT9}2j4h-IW>P7x sgBe>$6U?MiTn96@kS3T(rMM1eY#~kc>G8G4M)h3RyO~1zGF9CF0==$JH2?qr literal 0 HcmV?d00001 diff --git a/app/assets/images/contact/top-screen/title.png b/app/assets/images/contact/top-screen/title.png new file mode 100644 index 0000000000000000000000000000000000000000..d211daaca2ee9837af800a75ff8a868a8d8076be GIT binary patch literal 20839 zcmeHPO=uHA6n+z$R9gx~(SoOf*po=lB1lR~lS4|4QqYT45lIe7uqve&i+J&5l0zaY zo~$SF=V-5aPbAeLiP2*l}l1^yqdkf4RGNse#FlH1#Veyxh3^QAiai7K>dhCv~-2Es-ddO1(}?w{HyeZN?i=a>?j) zI^BfYrupWbN*Z-D-hh$^hL|+W=wsh#Rj0=RFWI;3bX?G4#{zFCd65&5EgOx7x3H=q zSL!bT5F z`!o=o_Ng8=r@i&8 zZO3*02pG@QcDvoJR4V?hv4v0|U<4IC31TxV6bMAf3H%z4!!f?NVWviCY_S~*C8pr1 zH+uI#-$F@W$fz_9U0wVjt;>;Tc40eJSEsR!ZrjWb^PC|tG*c-UW}u^t_*QjiZm`xU z5$MZQGs6@#GnpNaZU)rxYQxSx%d8O?8dM67+rYThw|3E~Bz5)uCprt@v`zH&`T|VB z#9?EAR2u7kf~MN?V<-9{@jt?$&sYClu!Tt@5S!y3lLj`3{(5h0uycHCQ?J*9@Pqpt zAp-ac4$bwp43XgAA_{yl0>LAI2Onq)7`-tP6%({ps{y~X2|hsV0V6;N;1Y=v)>!*; zk`gprG6La3fRc6KL@c?fZvPNZEuG3y&q{YxeDsTKQK|ZBS9hy#XNzTwz_<{wOjI`= z(#=k#-j?=xt>n5s(~JNk(2s!cM8)KzM8wiA8A;Dhr{6uM7y(8A5%8U;lzarIP7_}( zo#?3gTsIK7zj^a7!2CY`F91UlV+43(DaOI)p@$!Vp&Lu#9|C*G2*d}0M6=lxsZ>hH z3;0w^d;-rS4L1V#B*hC)DH(r9qq|GLqtf|IGXjjjJ{$$u+1MK=Hd literal 0 HcmV?d00001 diff --git a/app/components/Common/ButtonSelector.vue b/app/components/Common/ButtonSelector.vue index a94f522..597d76d 100644 --- a/app/components/Common/ButtonSelector.vue +++ b/app/components/Common/ButtonSelector.vue @@ -5,15 +5,17 @@ const props = withDefaults( y: number; width: number; height: number; - animationSpeed?: number; + opacity?: number; }>(), { - animationSpeed: 0.25, + opacity: 1, }, ); const cornerImage = useTemplateRef("cornerImage"); +const ANIMATION_SPEED = 0.25; + let currentX = props.x; let currentY = props.y; let currentWidth = props.width; @@ -38,10 +40,10 @@ useRender((ctx) => { currentWidth = props.width; currentHeight = props.height; } else { - currentX += dx * props.animationSpeed; - currentY += dy * props.animationSpeed; - currentWidth += dw * props.animationSpeed; - currentHeight += dh * props.animationSpeed; + currentX += dx * ANIMATION_SPEED; + currentY += dy * ANIMATION_SPEED; + currentWidth += dw * ANIMATION_SPEED; + currentHeight += dh * ANIMATION_SPEED; } const x = Math.floor(currentX); @@ -49,6 +51,8 @@ useRender((ctx) => { const w = Math.floor(currentWidth); const h = Math.floor(currentHeight); + ctx.globalAlpha = props.opacity; + ctx.drawImage(cornerImage.value, x, y); ctx.save(); diff --git a/app/components/Contact/BottomScreen/Background.vue b/app/components/Contact/BottomScreen/Background.vue index cdd3352..e6266c5 100644 --- a/app/components/Contact/BottomScreen/Background.vue +++ b/app/components/Contact/BottomScreen/Background.vue @@ -1,16 +1,31 @@