From a7da171b21109fcbc15cc17ab54fb2402d4d73f0 Mon Sep 17 00:00:00 2001 From: Wind-Explorer Date: Wed, 17 Dec 2025 20:10:51 +0800 Subject: [PATCH] ONEKO FTW!!!!!! --- src/assets/oneko/oneko.gif | Bin 0 -> 3310 bytes src/routes/scene/+page.svelte | 14 +-- src/routes/scene/DesktopPet.svelte | 193 +++++++++++++++++++++++++++++ 3 files changed, 200 insertions(+), 7 deletions(-) create mode 100644 src/assets/oneko/oneko.gif create mode 100644 src/routes/scene/DesktopPet.svelte diff --git a/src/assets/oneko/oneko.gif b/src/assets/oneko/oneko.gif new file mode 100644 index 0000000000000000000000000000000000000000..f55a42518672269e44f3ddbf4f711a2c2a6eb063 GIT binary patch literal 3310 zcmVSc<^~YfpXEHdaH6aRlIKpPQ$=Wpunjzaa>*?Bf5vwR#ih0+_ zyEjPLvGx#XjP?6#2b5cUi<`SlHRYp;(!6YuN;)m|idf93o9R>zO(DAD91gh7itWw4 zXz5(^ryR;=u7jr8HdCPlmUib@Gk;f>Lgmi|= zBieeNjS7h^!M2`3LF z+Ls(@ai>?&G8*J6=EWkxaU08)3*b#_aH1MsS&-{`@6tw|z1nV9Z@z5FvND=mt01*F z8lQ%)U`i~lydkze8r!`FK38Tj5; zr#YrwRtT|WQ)bhc7olouSq9s3ky+FY54=eg)>H@CXUkh|sN-3P+5HC?ha;j>AwTN9 zIMiGY>h~OB7VehZf(^7&QjC+R_+f`A3P>4z&N259Ruy6>SZzC=sNg$~h;iS3-1SIg z70zgO9C->JC1#0B3P)ZlWbydnnM{7<5q5d`H_(-w#N*|7TH2`RiE%1p|3$kAeDrgbkibaMEahK5*3JOYkCgZ*GO+_3K>c=0Rv`qJK`v2QPNEJ z*M7%585U5Ka+%|;qP|(#R;e;sD~yq{DxxKv!1@Ju-2Z{r7e2~vv1qgR8JCQ%Tyhv) zuzbk@t#(@`N=*&stx;U5$q?2eox-@9A)LXo>WFiNe#@A3+J>vvv!&^a9lzD`+poU= zDhme^@WMp!z>ea}aKjE06X?SdPfRhs3s;PB#<-*)(^HOItT9U=kBr6&9Uq+UxA&6# z$;vDs#_Z#h@=8Y>9gQ%A2Q14%q%}X!vB_McTVFs< zB`@xgFg2A+4GnP!!P@x=a{J?z*}5|x-2agzhtG=$@Al#b87>iBm(!j40F^xSb*G2I z`6BK5v$GY2s7k#7ntbH*x)x6AgpwOft=Lt^&e>~kaq}YxqqnW>n2>xEq+W@DG!Eg6 zkBCsDp&Y$OB19IEbev1kqj0Af;ux|lPij)lrWO}Lkp`2OdtzD21U{`y(v&0uB}&RQ z$_knm^UX*2TSO3)_`>QoKkl0JkC>2 zJIY8JWT~=U$e>@14kaE17Osu-3S!d6#xCEriIqMa7o%E9O|*!Unq2uC_V~0x3Nj}` zVi?sO{b@I@;Hg~1M8+0<7SJT>5dW2HT0$CH6bwRchlSNx)G#OY&azpFBuI43y#SaV zV)>0r^FxQ9p!N@OF-Dv)6y!;()sc`sO%=sCT7sNtEG&^pR$LR9OqCcxlNR(2CWD4C zcM3CV)eny8(&^2h`qX?C!DK4PDqiZQ1UEADn^(<9NiD`z2Q<)dSAEu=I9k@@WCN_M zNGn(A8rQt)m4GK>!CwCg*uY*vs!S8CVZ)@eb|y@wcs(ph@_jU68t#Jt2}uZJ4&XsCOTAb{?meIsY9m#dXb8xz2z;2$t~N><9^

!<|x z+Dvv+h*LBZA0f6lzuM=lb^nRkZQB{#PXafxKb_y7997w%r$YCl~7J21!r?Ik#&LDct!C@9|Z>88r@>#K&;~iqJG@0N!Ig7^@ z*0XhHJj({RQqXQ5uK$vgDd%Lut~NlPIsPf#NkSBd%oE8ibgduA1U8A z$!rX`g9_f}!XKCL!SEM zM~j~IbAm2wzN+X-Vv1g*P8`6p?6uQL=`l$RvbKn8+JHf0_iFR@Ztm^*(EJ59Af|+{ zNjMfAe5)p>D)+}m0#9Qp*lIA0D?>ESEZC-dcaCjLPSjnl=Pl+hfNl0=1?{WlF?%(X zIQFobSL@;}R^iplo~fCCeZzb^``qikjZDLRtadMn1zSpIcO$%9t2}xfoPPJES4!uV z(4QuAdimf5{!wd!xF6J&Hoh=^hil<`1pDr^ti|hMpAKHHjsg`AQC@l@5kA_sZEJX& z=JPuocK?#TXtI4SNi?()MlI7_2eL-|vqsYuVP5o7N^@_RwPm)Vb=@Qw*++qChj!@3 zbZllc1QK~bM|H)8M9wy6f@XH{BQI^&MaQ>7;Wu^E247V{U1nrBgOqc-L>)W=gYza? zGKhiF2Xx)XD+P9goR)FdmSJVaNka%cT}C($RD@ziDDh$?LS}6NXmLT;gEi-5&Y5Mkr>Lw-GLvW1fhb^dw z)&Ed;SY(I^GGVpFhJ%)bm)0C8xN)nsUNi__D@71AQ6<_GC6%^mEhAbg#)_>tP-CG} zzXK=wrE;^xUFp{zKi3p4W-I~(Yko8&&4pzi_;w=}V#>%FSJI3Jrie%QE~hAp(xi># zs7FBcE_UZ|Ib~})I5-*jIB=+cvM6jRa*5~0h17;#H|LHL2a3X&2_A%LaD^$zqK1$3 zJ%rYD@|JcHv`PeZT4eT*k+o1;r;! zk7XM3f=iO2H^0M(9^x+ES5r#jf0-6f`;=W>$$)_3iC`y|$23kQw_WMtJNPqsUIL3# z(^>t<8 literal 0 HcmV?d00001 diff --git a/src/routes/scene/+page.svelte b/src/routes/scene/+page.svelte index 7097727..c177c8b 100644 --- a/src/routes/scene/+page.svelte +++ b/src/routes/scene/+page.svelte @@ -5,6 +5,8 @@ } from "../../events/cursor"; import { appData } from "../../events/app-data"; + import DesktopPet from "./DesktopPet.svelte"; + function getFriendName(userId: string) { const friend = $appData?.friends?.find((f) => f.friend.id === userId); return friend ? friend.friend.name : userId.slice(0, 8) + "..."; @@ -56,13 +58,11 @@

{#if Object.keys($friendsCursorPositions).length > 0} {#each Object.entries($friendsCursorPositions) as [userId, position]} -
-
- {getFriendName(userId)} -
+ {/each} {/if}
diff --git a/src/routes/scene/DesktopPet.svelte b/src/routes/scene/DesktopPet.svelte new file mode 100644 index 0000000..3ccbddc --- /dev/null +++ b/src/routes/scene/DesktopPet.svelte @@ -0,0 +1,193 @@ + + +
+
+ + {name} + +
+ +