From ef9a6f1da4b62cf571483e77ef0e3bf2897f24fd Mon Sep 17 00:00:00 2001 From: Jesse Wierzbinski Date: Sun, 9 Jun 2024 17:24:55 -1000 Subject: [PATCH] feat: :sparkles: Add multi-account support, more options for posts, UI improvements --- app.vue | 38 +++- bun.lockb | Bin 667972 -> 667524 bytes components/buttons/DropdownElement.vue | 2 +- components/composer/composer.vue | 13 +- components/composer/emoji-suggestbox.vue | 11 +- components/composer/file-uploader.vue | 7 +- components/composer/modal.client.vue | 7 +- components/dropdowns/AdaptiveDropdown.vue | 24 ++- components/headers/greeting.vue | 20 +-- components/notifications/Renderer.vue | 73 ++++---- components/sidebars/account-picker.vue | 92 ++++++++++ components/sidebars/navigation.vue | 103 +++++------ .../social-elements/notes/attachment.vue | 2 +- components/social-elements/notes/note.vue | 142 +++++++++++---- .../social-elements/notes/reply-header.vue | 3 +- components/social-elements/users/Account.vue | 17 +- .../social-elements/users/SmallCard.vue | 6 +- components/timelines/Home.vue | 3 +- components/timelines/Notifications.vue | 3 +- composables/CacheRefresh.ts | 34 ++-- composables/CustomEmojis.ts | 6 - composables/EventBus.ts | 3 + composables/Identities.ts | 119 +++++++++++++ composables/Me.ts | 8 - composables/Megalodon.ts | 14 +- composables/NoteData.ts | 4 +- composables/Permissions.ts | 5 + composables/Relationship.ts | 3 +- composables/SignedIn.ts | 6 - composables/TokenData.ts | 8 - layouts/app.vue | 42 +++-- package.json | 2 +- pages/[username]/index.vue | 2 +- pages/notifications.vue | 4 +- pages/oauth/reset.vue | 4 +- pages/register/index.vue | 163 +++++++++--------- 36 files changed, 649 insertions(+), 344 deletions(-) create mode 100644 components/sidebars/account-picker.vue delete mode 100644 composables/CustomEmojis.ts create mode 100644 composables/Identities.ts delete mode 100644 composables/Me.ts create mode 100644 composables/Permissions.ts delete mode 100644 composables/SignedIn.ts delete mode 100644 composables/TokenData.ts diff --git a/app.vue b/app.vue index a33a17b..0a849df 100644 --- a/app.vue +++ b/app.vue @@ -13,13 +13,15 @@ diff --git a/bun.lockb b/bun.lockb index 0936e31ef0326fcde1990997c02cf4ae95c56e2e..859e0db4ea094ef0a8e6f75104818c798337f0c8 100755 GIT binary patch delta 41910 zcmeIbXLwcB*1x@1>fZEDLI}MI0YVEg1c(%A5h+qcRD=K#5TtmB7y>FvM+`6l1wo{D z5kruO*k}SGs30O$dPhoxz?ocA2F&sFv+J6|8G^ycA8 z?^LT?{EK~KhFTvbwp_RJy-S_iO#5SSk`4PG{jQD$hc&Ohbu2M)rsGO7j`ANMwZotbP}YZyu_tJ zcj$psbRH`O{i=2+R(kTubSc0!avoOvHo|2DmSUxx=~yYJ>I`Rue}7XO3YP|3Gx19z zFibP_Qrkgo3|0yb$4UbVV5MjG#yY&^drn2QutnjQ;No`>D;2-=zT>x5{Zp{gz(wk3 zut}0(ECDHam^#E`rH9@*_Ri&lbL?Fs-Z}QJ1@9X1uAK+xKHHQh*^BJ2=KR6A_O5~d zbk3c*c8&DTeb$sG{lA^_aZFj}Tr;8%PHnFw9AvS0*T92w?VV%qoIg0%-Z}Qp`QOd; z!=}3OAhvs%>y(w2%Y%JoXk1u)c)gboNjG9Np>1=adsWue_zV`ZQ6Ay(Gg@10!s=nNd(kFs2@bNI_XXmIyo zaf68u>))?OpYDSOA5lJ#a9kai>!p7U?mjTy<@y3%O7VD%WJs7DK~D|khqt6(pb1O z{9Oi1(tCX-9bzByIRP1^xWO+BjqlgfwJy!cI3Fu~irP_FsbGM{pT){ZwZck)b+OWs z(rR;JWp8?GqmzCLEB-%YrJOBds}lH_fMlGDl?o?dWuk^-B||Sw?~oi*rD)PRnk(b9 zfPRQ~^KUFyF>EAO7DGj>@G;*yrS^%F>2bL(6PJ9$u`-c^G~OL6wZvkj)*|GW_;ciu zZpC7yyjt6AUTox}ns5&w{adl!sd#?!l`7Q>%p@k$)OSGlu)z%cuJ4j-R(&FJ@@{8& z40x$u0{LB`8ZV%>#{i)&SH>=<)mO2yoMMtwtClQql9+6Yd$H1{&AXD%RxObN+dn&%ciZoj z+ZHR;HdR{-D??Ed%TN^?nU{cMyhBE5*J-SbVb|n&VMUYH{NjxGkb_P!&toOEzE2N0JEdd9sxv^$$^oMtGae8O?d6+(I*;?huGtc+Ls5vSm@ zSZUCU{o@7?>^`K=PsGJ48E+*?cP7GU;L|aX>b{@#aLeKe=>`hDkGs$!LyMns(EYUFyi$Y7^By zj}3)4!Aj|+u`-H2*pk@eHyry7R;F(;R{SSnWzRBD`AgIz%cC=v4L@mQ)w`CfBEXF; zhdrL*Oj9cM5#sM+CA}Y3rn3cBDlU%|e?P2D@8LU6zVsiR4)y307dI$=fXnjru^V{J z$HyM8!=%e_4DJ)(H{R9Wn;M?qImvzkAD`ry{t=#9V=Y%*V!p{S10sC( zjW>Ueu^RZ74cPjQNmuxmn zr*KZjTbO96m{7EdoNf*y#6_-d7I($fp{HsGU4cke1UDPtzIrI&(KT!kS=GsnvfgP&-+W zlX}h7IV(6jD|jp`SaDWny)O}@weQkeLfXIcS?SNb=PlMVk6>fF1*7gp_@5xAoh$#o zx0U{*2^B$eHv# z=mT+#{(zPfV&N@xLafV~%-nGx3r~V&=Gv=Og53y4I&^v#-9u1)^UbqYf%wJ}WNAon zIzcUW4?z~2(4Y@xVcNlXf=!*^N`mTeJu6s$ex}1Hf{`Y1F3lyRHTZs%S#KkPF-}>d z2&%*OEQi1avV!b-+YwZU_Xx6nrD6LCYHLClW;*mDs0~{|P^-9T2h--$nnjtT@Df3- zA(i0cCh;SyzO~pqI+OiH>9BriTNat8Xw_#W{u^lMJ&kn zY|Iy&*2Mhn*koeS#PZm&?=&sYjs>l?Ts1O1n-gnB%+F4nq%q%QYhZ+DAF-C1o+Uo9 zT#ancnBEaqZ)A#?K5IAq!D{9!gGh1tUy`Vluas*+0T6Zqjk_-=1c9dXAlTBRt!LZZWd2;wVQ3RYIB9bTKIsH666|2o)>%m`U%QO+Ut}iM-<+9c z48fL;!w*@(;$KSc#FVTSd=6>n_~rX5GxswD@uL;qmfnT1UzSF<`dYR>33{dytV1`g zWUE(%&$h44pQ-FrUiijxbu$^MIBX&)Yt^1-fB$bSS93eTnr+fIFeK@as>z9QQJ(T! zoI$mcH?x$UBPNT~C1*FDd79=jo4@AZL99t~#_A~ll3VGd9f~JpGtUY_vhVUFTcaa< z{@7|BO=H`BZkw}R(2na7o+ZS@heeza;dyjBoh8P36>ITlV$x#LMnqVlCgF1i;c1hK z@t?GVRg|3gW|Ze!Lb4h7no%8C&bKs55hlX($al`>8klSijqp58tUj*JLYz)a7NWmh z*)POo17$hSitsPClkF!tqi>X_Cn52&$JO&bu_ks*mg^Bs^GV*!&;;#r>SEXiM))@; z)*w0U$0+Mv6Zs{pveNEs$yR5R3iO`^Y>*t?KgzRTlUcM3y8C-)`(nnp>aE7yq0 zE`o0U65(I*2L>ZK`n4!eZ$fgW%LaBg!n2N;Y)ejo)?ROqWSb8sCdD&=@3J2uCL1Pm z$Cf-#W4Y|1K0{0fF(BFcD#8=C&zp~7^YkDl>mirD?Vcg_G%;U$fE)j4xt=Fxnaz<_ zJ(IeX6g}5O?%FsLRTVtO=AWE6J<7i;p?b*~Y)Hw3WLlhE|Ifr^K{#tW=W(YjwiR}wkDK&8RImsr zOV7ui$3Kb5@zvgdJS|T+3z7Ms9^pTRSpDS0@ll?y3CT9iK0Q9dljC=1GT65)i10Kf zCM5(U$NW;yO{6K2P!p4fl}xOsQ}{;_oT?`5qyC8}GdGeqIjj+Lj#aXb{7-r7k0Grw zF)1t{c{AVF<`9!(zthq^#G;(oYZ3mrPICmZ_kyv6`q_D`qY<7|V%?k)5+giOXDkzuQ0*ne!O z=O&`t2#&*vam`IehH=_TOnS<=$4B@VIM4QDx3~i#XNpG+qs7E@q(^gh@7M`l!xtzPSv>xPvt+H)o5=HR)R@A!lw0wZTthT+vnCt*ln~X7-`ZZ zIGSL*6TC=}Z&AlMm%HKglp3x^cn;lkmWmT=a4UQ4gZpBxbj#J%X&L#t66=x~`-E8U z%vi{umWvCs(g!?Wy)Slvm@Hc-t?upYWlkaXRA$;qVp*Pz?>L(_V|hEmGo4rqJe^qk zyOyi3H|GC2u{aZbik{wcTIG0+Blfb_%X6DpW*$#3mye4}W?J5EVm&frH7y@|({f5N z#H4Rd>;^IEw;i*(nS|5KYl@HAaGH57#f70>B--cczHj;ZBu5R5_H2jBiLigN^-6@N z2-k#khChz*G$-bKKakVuQN)@!h4+Z?>>}pu6*l*a@a*JTkPJU-hFFCFAA8`O*l=QP zGSjvbYn2%*9O&a}n;GjxOtxYt-&$gs`7EE5g!9(Ha!HoU<@y)b8Ra9kB6bee5Bnij z(&wxF2rD14KG=oW0PJ$*Vtt9P!b-l?%Cp-*c#8UM$ieklDQF`=3i=W&4%@KOfSv02 zJ(hp2U*x|BtW$*yQF~drSgw(}(lwr*BZ-&-VZL0;laE*_AcxxgSbyS0 zu+rcltoWC~N(0KOEr*qSRj}e;11l9qYWkyUqm(yEA|Rh8n$T2jGprO8tF{ByP5c?G z6c~r)qN8gNRvIu^?GUUqYy_5nuCdC;VWmNn)lS7q`AP37n5%XHR;FSZwk&p+#`j_6 zBUa}4XRK7bU+n=+&u(R;4r=6Te*ir&cQT z*SJ_IFqg)~O1z-jV#>wJh?UiNb}Q@86{ZPdrGVOMqp&h$jj+;_$FS0%)>vsstlB5A zlJ6<3_&<%63VUdJPmTA-%15mD4-qTtZ#V%d@HMrGSefh5SSe_d^2u14^Y=AA8!HW3 zr18aA2F0)J0FJZZ|?edpas+D|!8W$`1+#1Iw*}$U-Ij~Z39;{@{r;h)`O2PTnKf4uPKzVj6 zykPDsPRonnAfTu^KFs=j+@hVpQZeh7^=nCLJDL4mK z(sQcKr8c+PJXr3Rxk5Ew0xKV}_O_FUB_$P?Q-|_cSxVJ4UPEm-R`ybnSlLT8!irx@ ztjuIAwmfzaRz6~bvE#9VX7Zo-y^oa!&lV^)iGU2Y78R|7!@yF^YRvNSxD+PS2@f1xLE9vVs{WIla#s71xjPw^8{|d_#B)PUY z0oM+!6!4weomd&_eH#B!?N3r>QJjrDQc|Jj?zInDVnE34=d>0+;G$=B6CyOklh1s8i;{W8=~thD&9#>L9!kt461 zA~=En=T?TQkZddWS*QMoBs}Q&*YN@*RiI#*%P_2reRZrXvO3s;*ydOnffiW#h?RKD zMg(NLYo`hSu}wJ|>a*;>-!x=Uov$7;&;R|V@!xM6|NW-%-)|cK{ib2>79a9e=)d1I zIMe>`H;w;()8MTFGE69Qf*wFWaQ$ z?0;eRo{2vu9bMoP(JtwS7y0UAx$frWW|M20Nj>J<$*e!-o7;pQ_ibev6Mr1g=Qv=e zfSD%v1R&@HAn^p?J+n=~RsmtZ17@3q-vPsZ2OJXcfvJ2FQ0XLK;z__fb3nj;0nw)b z^Uc^(fH9{47X&OYk*5LmP6KA21}rjX1e_KSdj_z?%sc~_aR!hfV3}!g7SQ}GV8vO$ z3X?A2mVj>O0ISTBbAZL?0J+Zt)|f8m0iDkS(gdtEo(ll?1wj7`fORHSzu5SA5E%& z^#VfE0Y97gbU>eUz)k@NOz@w8pg#eLe*zAgZ34Cm2)hk9WD;%zhTR4n5^&g5z5}Rq z2Qcvt;HWtuV84Lq48U*d7WnGw-PVAN+LtzoUWR_Td421>A?E|=Cy7&M(`vB4eTr(bD zfZG?)-xqM*qzYIsAk+_V)5QA$`uG8M3P?A>{(vBVK%zh3w%I0NtAMZoK!!;O01OKN z90K^<^D~bG`gJsw0wEIvak0#SKwS0f%~&^Jj2m!4fWL|K0P1-Fvps-7b4I{v z0kJs%9y2osU`7r=hJc)=MNUBToPZTM0l7`OfLj8(fg#j4?s+bl<0L_a4Ruln*nREfS1avD3sBV@N1uQNK$Q=X- zH(i1Nor3^r0%{pgFu)xQ=pPKIV^RgI7Z6$u5Mknr0s0gJ>=Y1bf7mdUni@HIVz^9i7bg} zW~PXF+?)~9+{Bc^v@kQpv@}=5v@$J9V_KVeVq#6Ym?uozGMF}IiI^viRTk6MbP?0e ztP#`Rc*=ck-g2Mqp;ef<&z;Lroz*Yfa zH35kxp(bEhO~4@mNv3iwK&4uMiM0Tu%mD%W1w_{dykW-H28^i+yb5rF0qfE5vdi6&jZEdkx?0VbOz^#F_O0dhwI zrkE~~fXe|51tzi) zpk5=u>_&h^=8S;T0%BtTOU%p|z>F9`hJa6$QtubJgS<)D= zxG^Ai6TlkNr3s*O6F{1PwZ_vF;BE@&-xRRUqzYIsAha1E#l$xQ^l1jzDInDZKMn|b z9FX`p;4`yLz*Yfa%>ij9p*dg}hct6Yz$R0fL!7D90x+=!V6!N#3%Dhq z+Y^A@X2}zP#ZLfow*l-iUD^OTw*jOH*lRpb0^Cmm`acQy(WDAkFCern;Aa!x7SN|H zV5fisCb%6Ss2w1&9pIqZCSa?8u=apMCZRoGSbM-B0f$ZH4uDD>024a^j+z4k_6vx9 z3UJ(veF`w zGvI8nGKMhC|aLstS0^D5z{ksCLn^Xbo1%y5W zxM|{_0rYtWuv0*~3GN06>IO*c2Doju3D_zi>{&pDNqCn1>|L`5<8#m7Jo21hN1l}( z^&HeP2gLZ8@aHkUW~>-Lb5xAKiR?~E^}18i?Cz8lXwCpEw~2WH<1sTaX2uI7XS_gi zPSc_XJeQd#Cbvl!lgG5}iOFl0V9es4IOmSTIlt)=2QOgOh$(11y)cDLcQJ)cD#onu zg>z_coQs6dcxr2qM_98VUKTUXo_ zuVV@q4yYe`_nz|+)`Dwha^p(g!<0`8^K#*Uf=MkE%XN|Bc7n^*N}1d_+{o27`LtGs zaeb~VR+&_~N!b(1@{VtDU%6ERF;^eP#!55p>PCDS}2cEBq<#rR275!KMnWL-@F<$Jk z`|*JpB}L5FB;Jg0^+U4IK2pZ>-SX0h{aK)l2XkG`l`S-TC?aXGCh=UZtEDC_QN|PN zuGz|#DvKswSFg4$Q^vEvt|l6oQP&D(jR<$p%e*TcmLw0!yE-adrH+rm z;$gBcTCJ=x;pQ;e7p+m&gm7ie`?0d7uwa<%pVlgCM))UoBl1wyC(2}O*5zhh$Y-5G z8JtgbfAgub7O;3_DavG|UR1VTSu0pyWvR+q!}=-Ppez>FU)g7-dkB-TQIpz`R8f~x znlfJAa6O{zbC}FAk3YMbXc1qiUpv@gmYEF4W@YUOA651xOeUxUk_TU94!?!*FG-%f zcCApjLmfN9Rw~=AtP^aNvb`{wpw4KuvIFYJbKR~r$_^=e8uqcWqcE8a9>#aA&8d@c z7AR}}8T5%do>NDjqIa!R_6Llh>sged>>f;3#&c-BvH)5q?0FE4Sz7FCghSMQw)!Q)N+_FSN|&UFxtb*Fw6Z46Q#KM7rtCvyqhM>L*?i`km!*i0 zH0ce{r<$|?Ce!~WN>R2*{YJw!DqCzeOA$-d{cVyqY0@%v9|PN=Y`LPEVStCVkBuOeyM&mSTle$lZ$(~F;U%+I1rlB|ie7-bRX?B=jsk;Fk(;ea0>OKQ@ zT-mqkHxqV3*%oE9V81Kds(IgoT~M}N+551Y>{T0KzjN{?*@wj|va98@Qwy9!_^Ps9 z%07Vg*FNr6HWxNX+4suk!NzIcJ<2|W)m8R`viYzz-lNuDg&zSYXsh=rTL7D`>_=q_ zVFuO$`;)Rogomr&&&n3VTD9`lz2+eu|> z3ICw%l(J7?@>+l#>rOi?$+eD%yfYvNyEE$eDPeh^Kn`|im8B5gtn8e!^)Pw=Kn{TC zm8BAvcN63QctP0)!t&mN8~`sW`;73iTF3FVVXSZz%f;HbdD>WnaVIg2|Ehma=aM zPf(T)liB|kCBmM=-d4XYghwg6qbzPKP~H)F9-EsGdxu)HcGdn=E!eT3WP;utG1hr%BTH^#9SHm9uYi zBUo>2UiCXbSl;F7gUzSx7sB%NT|73wyo4izaS(+8cT2n&dX~G_$u#(Eo5SI6`xJ1s&C-%9?ZyCNHrK!9Jqw55hkvtD@{WEJ)T6pQ>gQ#YKl{(oN8dzIKYM znzCC&M-i4!b!F*<-%wV=?2#gB5|u)4qqjAwwz}Vey`!v-vJ6e3~oE z4U>yq@@ZkZOA#$KDKANKeM>&Al;wkUg2~p@T3LQrP1s0StXU&PJgG?qNgC`2=hGG@ zvs4IHQCWLsg<(~cJ!Pya6wy(WijwrFu8Ynv@d|=1g^eTp3``ms3|ppt-A!95;sq@t zgrrTl$fqZasH-^tg<&V6IQ0vK)ge9^^)~Y;BB_tMmn4Zdxn1v)6tAolao%0FKQAgP z4U;3KeEKRY1G}BuVf~bqg=Hw~udE#GuCkXL_N=Qs@Sef}KyGe|R6gjt-c z8Q5TDm0-Rw`3zB38RoBSsF_lgVR}WAs*u!L*Yv-XRfWlyI{6G!76xmlEWsR=B8F>H zb&|Sh(re0Uz`80+R2B|z!~ktBmzizNAaC?DDOiMnd@pS*M;C%CUGs{@;% z9g+Qk_|@gVMGV#g!fz^zfF;5f!A2{q2OFV-`j*4;xFUhCv%2I&^KG+7+B8P}qeyy6 zm*-ez^J;&wCbc5ztR}s$tTpVWvf0XFVg4Sch&iUa6!8H` z($+R4Eyw*&!t<0p3Hyey?8@gWYYQvGDv_P-0<%VnSV$5vS9|{RkR>1c|%GN5A3kcnnePZTG5$iPRIg&zkkM^mu=V9fQrNAU8$17QNvTxpCu1FCZ)x8I3 zBAu1}aGJ87geU1@{#;ocECwd~=1nFhoFcx^q~4&K>b_Z7A6Ok_Un+}-Raf?vnIc7e ztx0`Jk`qMv$VAFS_k+oV7Q=2)Klz?IL09Znb5x4hrbz=xnyE?Kl?{X~Qno|c%dm#9 zQrPcIcuh9qotiWlB;R7?vkN9eHv}f9y7JkhenVmMbx%G&D0>AaFR{vwW3T4@7vZP1 z!#}|!%P`ndm~3ai!e~hzR|1g>y4-&=duUViVJ&w!Nn1&3i9Mq1HNvaZ{iw1;SZkPU zO~*{>S`_g+Nzw)TU1{o;C4O4nM-ui`c1GDKSfH}A=4C13oF=_NQWeUQ#dRJgoqCh- zbnV?`^&1VFq3nv;EJa+^q_;`>m25KA*I?4JF@*or`MIHfV__?m-8A`YQ^YMz8c$L| z!ZIi6SpK;t5PpUlWvt~QqL_*N*G-vax=RthnlzcD=QYVs**mcA%KTwc`4rf1I>doy zjTGTl_hgcuAxUP&qiibSk6|)1Ih0K!{1i-PCa1CLP(&_GGN8qTM__X+n?ZO9Vfo}y zHWRi~{qmZ&QbayYdXJ>TxXQ5RSN1;Pqsj^>n+;p1!&%VGlOhUf(g!3>WWMDBS7Bvy z2~UE_r--t7u(y>JHCLpFAWfQ2(m+a=Aq-ab5#h=@bj6e{fE|O$u!fkJx)f1dlNNzw zIHzMnl`STGoEAtYODJ1HIEAXDLnX}=iYQP@llIqfTK7yx^J1rf3g*|k0mB|?nU`}? z)EdR2Cr}&oBx;M~&1<>YoR-@RiU_FCvMb?d(6i_{B=>{m{;%BcmHWGKNM48kkt6lb zXg@lDenE1tSAMlcZsjKAFvlVSCRwkfjII~Z$x4ztQT0$1s*jqXU{nkhNAkY(6R0g} zhuR~#10^?{I-@SAD|!ZXLvg4#>Vx{C{%9b288t=~klb*}%LbOu*JZjs8W37qUPG6g zM!isPBsYuX=8)VBlAAyM&CEvw8Yh({SPl)~a5E6Sj2aV{8#zr;GbF!GaR~i}j-ln8 ze5^&EqJ?NNT8d_(QAjSAzm0~XS5O@4gXAYvdZ3P|A>ub$LR@tT5^y(sc z9k&XqisZ@soG6z`j}9p5k#~>pA(tuLAfRII8wBO`X1Sz#)pQ3HmRI9Tppr=5u|9x) zF;f}@6wNKKa1TO*(Gat)K|oilt_f`z5R$Zp)_jcCqEC<?_t9)L2YrC%qTxt>jbR9qtD!HWQS_n&+fAb!E|bzQpnQz{B8FTK z?TA{S)+iP|fu2Og(Rn8K0=kG!px=@FzD<1^JU=D0QNRa2!ME{~FDZAC{T+nv%J&I> z^W$Ry)sy7q<{Bs*m1EoegCscs%JEJPnDUzfXV6(B@1CDR@~X)1NM2Syj^riy?PwEP zg;t|9v=qsk_Pc4$_ec)TaxgAKJs-i}$-{wl3W0agbTq?EX&g|rvixGhDzpMEK?~6W zG#|M+3e3ZfKts*W#sTe%wIkRbl|ZGC{J6?xbS0Om)+C^qC!O%0=(cIwBp@WWFD~*s zEuXPyA59tEBw&$mn7qEf8-0)VpdZj)G?l&9d~8`pqBN4*KugV2%>%0Bs7^68PzK+{lgmQ!X?Qh_XCI2k?@6a{54{{kvSR|*9 zp&FN8-H>14kUI?W3ncPuB!iLMNrs2&=oK^!C7@SPfAkU>fCi#LNG^Z(L~*E> zTx0G{KrV8>i29;_=xNjyJ%gS_&!Oj0ck}|1i`X4eC)5Q!f!d%a5f`pq?NJBR7&Spn zQ8UyWwLmRVE7VACXT%VY3(@saG-`BJ(YZENTygCBKf@jN#ZCOq@|K5&XOojG9r>L zE&U#epHwWqvY@;T5`Xc_-rI*UN%vN)YbMDq#9O&H)4wZN8YX$9(t_;Q4q@eSto$e+ z%8T-#+$a~yi9E=S0#N|+MLzNHcg^zX`g zFikpiR`&l7Ykl_K%I29pv$p}_b6YF^6D#rT`5s&Y(#Y)P$n+gZdIww=Sdt+4iO9QhxRZc^iFL=0E%P`XA5VUlx3S zx!#^PW4mueqgrF-u`>R`$+&>Pq^_XCs3EG4ilbsE1{YSJs|evBY!J365*Dmsz5v@y z9zBghkD^c%iRz&UR13*n{T-ZcZb#vSYoO|=nm-$1RRUE|c~lOSLS<1IR1%FLlRU>N zFAbH(O1fOO{8;%T8kYxJE1*iKB9ez$`A%b(RhMvWRFr&mu->w(`7;`$fdz4lCZQLD zD)+zQh&LcETm~%$ji4cie+;4$6E1D}HiIPyFOI-t$Pf_)9)Xk2e_;0?LLb6YPtmsWM3m(L2N^qeZmq zHSAzC2=zz(OxuY81#`<)TDe;L5*lD$2DO#w5G2nG4#y5fub}cY>Q!t48ixLbB)*k_ z*@7f4FLg}9%3~wr(Kz(B`Eg=E$!?1n8TXOcJ(_(4;Y5^#WK!P1itpEi z-@;1%ZTODCjz!l9i{C`kb`sAHiR-&)3YvzdBDq&4(phq+BeLELV^`y|5-maV z(M)8_ib(+_^Uoj{gBumN-lp@j%%MpEWn&Cjl0HQ9&|LHZl9K0O>)<~d8;gAcHA9V2 zU(_4DZ(=3~6y!bNrzQuOu!VTqbz&P*LId;>;VD%3Az^920^*C&A`|>hKuG!J1f}_t z(Hm$f@$5xNmSv_3uGR`O^qqhzNwe^f=B>g$PZP3xH-SrKlIulmUzCG^k(=DoYsq(q ze78|Lx`CuCSFzHHO(-2dDOXx@1!eEl=S-(d?s2Wd(c8nzI6VqGhCPbBjTl5BAL6$k zCJlN7eN1=_`WgL%_MvTPFWQ5)qHoamXczhp?L_hj&)3+m&cR+V8UU!%jlcXajsbNF<1Ch8OFgV2fSKNEfZ+Lw6(K)4ktQyto)UL*b zoUvvN4*X8R4oq?HpMhUD=zQ&A86}rx`K64VzA!MTuJ><=4}Ry^w;8^hH)c6_|Jr!7 zX6d=+HyT?xE9KHy^8|TAynnAee^AbwMNPRPSsn$IQ0$-f3i^>-%G8e*m_1&%i1%d?fOb?8j<7pU@oj+17&znt3U9*e=7_R!+Y zon?W=ydHKZtuK#B1)rrxmynmpySf>*2czL%GtwnQa{`+^% z&OnE}#G`I}BODn&_wlBWZH`@=wZ+&a7qgF1-s1me&vpL{YsG)N3jTqQw_fkw|NimS z5pZhGbbaVz{$IDwsWG!~r^<()P=;3vmkoU0R<=R=ys}U!8=0}r`Al%ro?-j;Cmpdz z*iKnw!oCR%uA72`oOTsjyEEnbi!H`yIXv`y)6RNuta_tw4?%3rB_peR8mG*Q|Q&Gg58-L(fO;{Py{1Fuw`c>RV2<9(s~#``IU%g`({6 zQce@4&eCJ|uX_J@<=$C!KJ?_%&cn&)u5bV9Pt${(DC6)e_^%iH2?&p9Kvz>4$b96^G4=3uJ zY;qty#DUa7rsFmaC`HZqZ8U2ZPycemdgNOP`)=16xoL;&5o^ddBp$eZScSDsZmH{k z)~hWtleXI@r_vO5N)IdIA$k9?V*}IuFa>Mxhh*=#bDCNxz#h|wI{f2W`kC;()Y8n1 z+KI6b2Eq3guVed<3mj)!NrC^^UmNg`{q3`d|Ga$rtTWi>Ub1=iH`dg{tNY6t_eq~> z@<~2zt(Q`%@igb^SNPm_5h+tuV#*u`2Ip-bIwzzwFuV!*np`LbBXK z9(s0ZuQP4mf4Uz2gRVck(SJRhx)iFKu0M0u@$lT4U4C%q5n}PYyzHjaFR!?2hKi`47TiZ$U^4ufy{l?edytx`Rk#uPd5vh!utYC{>4Dt z-->@a>Gm1jUu|ufL-9Yx_OB1S_isSDzp>9db;n)Hlt1*J&t~QZdSA!>x0}0e<_|w{ zv^NHw@azr$t0~LAPW~@G4-T?-U-W+|^PjZs!FtWbW9(qwH3!cI2AeX+1N-n>q~njX z>quE?$^ER6F(d1an_Rn8J|FAZ8rAAm3$MX5@|(n=*ed5d{OKZRR^LrO5okNqs8*MI zbmrRe!1t_I&EyjtJ0_Sazf<gI6gz$&6MTwgSviPM-lb$hf~^L6hblosxMJN}RqIs3YDx%{RNYt@xz)~sf)sMVjCi>Cuy zYYnEunZRN`*ZAUgCa`8m^Yu=yLc>Ocl$(2m%Zekyoz6K8k#1Z)L*|C2;aSGfnH+W~ z*U!?|l$EB*Ir_NnGpAKkpDWt%g~-|Q_7yA4jZ~kXUY;%5~xqyXGe3=#aB@mV0-z=VD;2HOQ2_#Bv*M zE=exUJjT2Y^tt@4*?5V|w@zZ6?vy3nYcS%((?gG~Yw2TAt-YlFXD!|oEwGm9bUCn! zyU8|-w`p7>%@=;|AoJnnz&XV)gLp)KT76k7&O*Jn%{+4@u$MK-e03$T zH@|jVUFM@3YylbMkc(b71Gl~M z{JQ0xH3!e77BE+CFhrpy=gq)%{G#*bn+%@=O{H6GpD`(oZv{qJUN$wI4eQ`uvpSux zmP_|puF@1crOCiT_39UT&MuZsi#u=o%!%~CSw4q@te{|;F%$yox_pMY#kuW!A4;9|+9Pg7h? z_EF*Cu0+%3cHnNGV?UWvcbJ;DjpcUNG8^s$e#&oeznsCuI7vapPyg&xytn7J`Gr2~ z$1l0EX9}-YE8KPGXY)mde2d)g)Y7y5y=T{_-7cUWHEZx5-L(v+x|XSU7t_>qy~}{N zHTmxaj=wZ1t`GZc20_p|aef#VZ z_HDGNMzz{C>JBjz{oL#LA@;`p?%w=D`Z9la@ZS}jLczY4RVn3ofIHOEQSjMt$kcVa zYyMqEBP}w&lyDa|JKXO6A)SA-%ojP_LH~9nYC5yVZL*y1H+{DJW|ro3xAytzH~w^id!*0N z-^{DI+^y@Jr75x;zAt>|?W$dO?qzgpRI6Ew{mLCu&oZ&-$^V zr8)5%VywdMLIE|Uls8Rq9(OJ7$;IZOrCZ4(2gQBS*H_f^xps&=H6yFhSl3TS%mHqD6XG1y9%*-v^(}% zxUV~2Pw!BbGE|^FDimmUU(5R2O7|4@W(qcbMcl$7l>I6NpSo!B1i5Sa-1*Hs7UZ7AUsyO4ESK!;i(JpMczce0IsB}eEcBXOq?%-6L)^i2 z7vm6$!-|@>{CD_2HY>~F8_hc5!*!3oyk>No@5=G0UMJDHTY$wLkUhi61_#o0amexgc3nap0k%k^TNWbGGv2 zCiSu$j+0WJloM+vj{5NSjvZMkZW9&C0;+1B3S~{$htoo4cBnhfXSt8@E8%|WAx9JY zP|Q3z2VAqTgu9O%b@P>E?yvcnCMB7BE9G!WIYecZ*xs}(?XJxa(kGSvn}b{Cv0{5^ z_j+%srn8^Bi21IJy97UEf36JKOZxlBBbp=k)Lr}7rd?N`_2W#io~%Jvgeh5;v3LRp zxoMZSym`aoo$7s%<%_V;*yxrN7 zThz>G+%@Qz-ld7lpj_^Ht;^b!TIMM}~j=_R|BFBzpFyJ{qupedOs3b94LBpu}I6)g0fU>ML(_$-BI2E{AO8C$ul+ z%3U~p@RCQ9PmFXr3OF1o-(f?rqe;(=E%BbyviY%r#CxkfueLKb5B!hOcK$tMY`-m7 zDX;rjr=tjV;JbEw6+9pDi};HjInL?G>u@BeWaf1`@&oph5QN=20t#+Q;iCAgCaI7?-2UdF4R{4yncK#9AqVUG*R|P8-e>Kg{UtIljW2J$& zMmZhHQs7wvVh>=Y;P0^FunsFd^vtHHTzlu( zJLeCZ>xWHsNAFw@V855S&b`>_@L*pZ6c>>YRr{60#D#y4mDSvTiM@)G;uCr&kY^PK z3)x+VkuHm^S5o)BiSXg6{liN|y}H!S-BayzSXo(5Vr4v*F1Ks*U19I^*HSlx7fo(J zsvLuox(<#@qO8G*eY(YW9gtK*c|XE&H64yuUQ6oQk46N+OXL4Xy1ge}!%82Tt+Z>O zhLv^QHEGBz-FhbsJV!c5!jxm`*DWb2Y2c7PadYi>a*81!qxA}%l07eVwOw%B;DK?k zbayzqz@@;Gi|q8(YwYG1Tx$6MCxjo50_$H*z;+xA<#d(LfkE!R^sD^)3&1(j*)-M4E*665~J_SA}% zpQ>|ghrK%bzS3uiRNY_WJ=AvVE7aj=LtOgWRQbfz^vb1@A0s9!uRK<&E{v594e2vr zkmTyxty^5bfk}?_4INeoj?xHOi&cKIr#vxkV0_>1NscCP8IV#xI~^slcS#QuKgtmQ zUBB2JuJx0BKhGZoA;wSZUB?wIi_7pd_q}SU0RpacitJxUTZW6lnQ9 zup|2IvqydlR?1zDm2$>g4PtF&?6-%t|Dd=*GJErh%VK`>fSutr9HnP@584&w-VO6+`xHPz1-|le{1LC@GBrfH5kLy3EYjPhB8Jgi$ zO*nka=?KN)W#ZD(_E;IhSoN!ql?L@nj7#d*bzpo&^(&5*g6|%-r(hsfD*ol9oqs!4 z)?hcdticFuvQ&_H%1+pim7Zf zg~3>v(iUg!ihYSoJ?9uHxpb+Cm4@_7ibx(fATG`^?VLT-cd^p5q<(!8q`-mk1Nsi? z8Sl8P>8G)>2lNpLmo3yC>2XX^QgVU z+K~9g)R3wTlFt#70Y0F#zzwH$Jic_@w!73W$Ckiv5>`qdgq3l94qFNvtu_QJ`_%1g zw*OJA9E85c3jd0FWWg-Na#T!CNxAEEln1YpXW2djj$^=ixO2tF4 z;@<%)6J8xF`C?h}(xGngad86@`a0VAxU2>?!^&_~C*7JiYu{^|eHMJt*LGkvSdPB_ zF003xelDxUyRfn%)?np${xR0N>c+~YTau=CS~fpw@uTiJD=H0*sQ6`*e|C5-qr-E~ zkD^j*_pIu<#-(~=oL#Ax21R@7aFO6F@DSL1wFS2K5n^Q8W-(XkL&X~w$G~s8{5H?1Y=CZ1ZQ2}vG?HX1Y_;=%{CoF z`Z%Yffel+^2R|fO&!WyBP3CB41HZgn&bP4r+7r}f%_i8)roI!Ljy86%9lscyrv>e3PlDQ{h1tPN*}+;~U7YCe0<*+9q>CStU+uA7i7G8WR^XjkoN=FC`4zCb5QZ z6O6Hg(I3h1TJ%+dO4A9}vFVv?T6Wew-|hsNRVi#1!4~REP)jKLv2@9D=tHoL9b8B7 z2|MWejDth&D0=_O}Ndg5dtp_X=4a|mh+ zFIeeTvntQI*OvYSS&q}mMM#_NoU7%>_&uH-{3k&judfJd4T1Bl37q4s>zrqex}Sk) zPxlkFtM`17`e{{5G39;(Lf>SyCddyO%qZKhfD|U=n zJz{ySSm|YUT7VVnL#*mO&uPS(67#jvj%v&&^-|wxPle@92iNsl<^W<1EzhW)(atp{ zVIc>T0xLKNSdD8-NIFB~;%E*radt?|?^j}xsaXqRJbs^hchyVj(VoV{s^R5tRX&JV z?RzDpsV618674xltOjWTspY1LtM_0hHV+)-v?v|m4BwN2JCX9MT6CT$sqp8;QR_O^rTvx9lRWaezz zfuK6fA=t{MmkG8uX)Bz`-h$4ocRHT46B}-@5~cX@1U1Wkf?8&|uOyh5k==~1AzDkp zjf}rtP)ilPOLaJ=BmcWu2za&CWre+aZ=Vcz}R*nOd<4L{rcC@ScR&!=8yYw=s>=w?{ zsH@SQJL=<~+J8v2XDpxUo+XXFfaOtXo84g2-imhiH{o9}5{pa%#_uR;wNn${j`0-x z&fW`rO#f$D&8;-*N{uqnp0|j}-pal^Fxs<-SY2Y)TJ$?Zj3WBScp|skyBq6zO0?fA z#OkMJ^^WnZBqXcV8dA?iVoj`=tkxRe+i9-UbcUr5F{y_k>lf`ejadEEw4Y<-Y`TF( z`R0xs$5BX+B{ zdzaI}#jlLyq-aljVv>#6YAZ>4%09h@5=oM)QiqA^%n%j$!H(idN173neTq)*iS~Pg zSi{taH)A|&2+4&lGkrJO-UqyR{5wr4{^zUdSF@ob{dkOu{zkGBY3Jmv^6>TBPWPgzCr+V-mh& zl7Au^P5HjE23)!K8x~l7jt}A6N&I2Iz4RDmmP_6P-Xk}Am|sI;byL%B$9P5(vXA@H z#4W^{rY25^@hg2$T8M|UyUF~X;yNAj?v&}TL_24igdH^SZ8IO^IeWye%08-=KWZ1r zNU}5cB-Y#-SNYJfm{{%9EOw$(gk){oNBv62^aNpzerIC#Uc)ieIn~VHMJ2a@vi4Y{ z%;ZzY?Nh6@19@f;la*+lm;Ckr-x!rq@bq{l~lULq#b;Yf{|%^8naYb%ee zuT#XHAXXyvQtxO_<&#cFcVd+OX|!{^3IB-(90A&UN&mMwrJb@Doi+BJj>PN+M3H8Q zNn!q}>3l-FOia%Ec2moq=9<%vy&3J-g;*n*TF)#(+$xbS9FFz`W^xd zo;!%eS}_@^;^*wHGV<}!em#iQvYI@PkgOd(F$|{3S@*`8A!tiX+QCVYtAXLfWWVDm zEBh-kIqj16X|(4yF=->S!hx*zdG_6)OOQe-`QBn4i_u$KlaCS2D z4^ZPLK)E`xn&-S~!VdyFU$zeq6wV}mNvuX{+Ts}J6_ZJ_>#-|_8#nbmpIxzAYwv>2 z-|W+neX40mOegA0v}Y(WS&Y`+;M{H!4pU6fRnzM*XVe$2$`x|rVGbN05v*ee_Yh35 zf}Y2(*;g)1(4}a<;l%g^dW4U3H|&*SanJkr#je~Jd-kT&@dEYRo{Ncfyccu-?sW9L z7wb!`^S#*j_r)S^*{jwrgKO!h3hgtNq?Z+7fS zmn*w;XSxYL&79=+F}+SRwF9{^)B{)R65VI7k1MrOzj~gM+zpa7%jupQHNA-G6sJdf zrV*2)4~v1=&%~P8RdtK@Ji=Wd`=F5CC)yLnJtP@^_Do{06O)0nV>^gFeJ@rrz~yLp zFP1>8&Ar%aVzLk0`2yTI@;RT&2tViC_h_=O!{Kw?e6`ePR>7wbcODOU0=Q=ZcXz*pzuxraEe!$AuA5-SC5!ivLpSZTmctoZ$i<)7n# z{CU7iMF-)M?}Vm{mH0WeSCot8o~h$@u4MjNfov;2{@ihuO{^3Us5S`eM?3^84GzVM ze_5BhUK5*J>_Gt(xCU%CL01$!3+hTsGWzEsaS+9gWaX^U$L@@l_}Ya zm5TSN-LL66t&G$`O+SQ{`c7iWpX|saAQfHEglkxt^WSX;#~rNnBp?re)JlbJjf<56 z^J!eH#EYmcp9ZQeh8G@2T;ASlPq|$ohLt0@$~(Qed*$6s*kkNURhzLHYYwne&+%{|GA$`b^^s zund~xbF4IEjoS5Csb{mszr!Yr!!80c1;1jY!b4bbJc*U5ID?fL*t6mBdOpVOZ%vSxpx!>E*C8;+3%C7nw{z3apBi zA!~}2?f)yA{NJodde%}qkkiWIY^NP;|rQmtc+MEjf<7_ zmw=VMWB^u%c97b^SSe=+RyMH`f8Dao{~H9Pz@choN~C~)X#8!g%;iX|Y=32C1jgXU za~;R0>MvHxpQG`d)+OtIo+jk9(!%+gae=0bm4ec+lDA5frJ!|czre~6e~Xpl#7?Xf_=EC;SXsQkVI|*HtoYr+^61Rr;g6IX zh?VrbYV+l#egXLv6u|O~%~4w8VOZJ3TDucgDlV_-6|l0ns%gBs+8S6nkk!S?fvhoB z{9>^(wXLybv4iqj{g(jyK42`Ce~xMV5yzQWY2Zf!)ymM#Rz63$Sn->ycAoNoYm@)N zQ5vv-bg_%n?_pMkdO7LRfEDT|R^p#yCI2douhw+2lAgRq9lp>6v65i}R)%_`#=pVJ z6nv}pd#n_&L+wti4E3)X->r5JRyMKXzgOdG%UM7Y_K_fSbOI|CpHfG$E|V7ODw-_q zI;Z%rtYkm0eh;(KkISTsy(YzDZ>WDxEA`!ii@hsrRUEAas#e^MB zN+scpe&?JY{O=Qs4267j$+i;w-zS#;ePa3FCzk(xV)@@EmcR3fMy};@eo~QRs>J1p z`oB*sIX|h$$VmKupIEGGod11ddDurAxlsP!Czk(xVv&P|d=mQq-zS#4`FL1$ZyT}m zDObkMr+iMlpIo5WuR&dAK9TGES8rY$a4EL@*^IgehIOuXeDymC0gcYAUh3-n)%lh? zYaYx!_*Vap!(5l|PQFuZ?2xdd*S|U*n6Tv0ij?Yf*riXD&#k)oPP|&X?^^+nt^8uV zf1PKFE(+Q-F3-{WwXc`-3)@q1#=4YNsa0;yDL;S>jbPap7Vf}0us*y)|gcS z;x7P7TmY;y2^Rpt7XjM^d}%^10=5VkdJ(X}Y!xv05+LFdV51pw2~goO;DCTlCj2sB zw}3I10h`Sp0VA&f>RkbBHKVQoYX1hv60ptG`3-Pd!1Uh$+fAl`Nml`}R{=ZB@qE`0d5FLy9W5t+!QeHI-t{az|Us>bwGz3fWRAoUromw0QXJ6Isto(=O$pK zfW(`CeP)$__}>8~eg_;d3BLn^ZvnOoIAlU@0k#MjdJAyGY!xv0HX!0Q;FuY58&Kg6 z;DCS=Cj1Uyw}3Hs0H@3z0VD4M>fHrono)NFwf_KQ2{>!&`~f&EVEP|`ERzYCILS9~ zVytgV=Y@%reHjcV(K|#hnHEmsH;9`wC*X>?DPW!p(8&e3YUaBD9ee7>L1jPFRO85cpm;^sSus>kCfIm!#KVXZ1q5c4;*(zXg03ad& z;A4ga04lfv2L$+;a5rGLfH7`BfY~Epqz6#X1Mrwp9zg9}fGh#IO`TkT(*maF0tA{& z0h4kAVsiuXnaQ~U&GP{62q<7$&91u{}gckzr7BHp|puE{5U}O-WUJxMMj0ytOE)2*LP|4IO3^*-d zdSO6>$rLcD2q3lypo*DX1kk)F;EsSO)1oNghJdu9fa>O^fO)}yPQiehW_~cBLkJ)+ z1Q2aHh5+2f0P6(QF`i<8l>!or0be(Bgnb zW~+d~B>)j60FBL%629%7P0TJaPnhtMn5Jf!m}X{=nC2#`6sCn4CFV(UL`+Llr!=OO znIIu82Gh>W7xSEPK8k5?I*RFF z(#3Q%p0b$dO;<55m{k}PUrzd3j)r$K3FV}(<)yCzI-8L4(pLdP%LBTatpWyDkiJ#` zbTdOL04jt74hV=d;o*SY0>*>`dYU}~MpgvWs|ZLiqbdSwR{~@S=xyp$0-P2wy%HeN zWD1y684z0;(AP|^3}_w!xFevyX%PXqAs{URkYsKOm=_7?6bTq)=0^fLQ~?B50la29 zRsp!H0@eu_Vmws=D+MH01-xNa35bsZl!yWhH3?CG;A(*F0+LNgHNX}DL#qLXnXLi_ zR|iB?2mI3vsSc=618_jVa1&kwuv@^G8h{aIkARUi0rhGEMwwAH0kvxZvILAab!q`l z3z%LDFvesGm=q0&jRuS}lcNF6YXj~Gm|$Ae2HX&kRvVCNZVH%J2hgbwV4|5{2hia$ zK;UBlV>&(taK`}F37Bj=F@Ti<5@P^U%_;%$bpa*n0;ZdUx`5z%fb9Zinvi;cEdqwt z1I#j81q`kah^P4FPFS0e&<$ z1-E@2b;C>OXPQXp$c@eNuK;nylTV|Dj z_)dTlod9=CLMM*1cg+Sdf0&S$eA~Mm{${{SzR$^J1yQHVgmuRFm?2_(%`P#1CcFzJ z?e0QJW4cgMfY}3Zx=mD9jK_?^nA$IsoYj@&+@{XU@H}RMm_U;$Ca-DK4U^AI#+c^a zalX?H=K`ihcX&ZFOH3hiQ%sO)6Nf2m=3`8U9ykZ~z`3aD*aP7130Nl}#CUoFRtiY$ z2?#Z-1jNS!O2h+7n1pzWDrq)|DP=+uFr`g@F=1w_m`6-lFH9LTM9iaRmzc69yf>y? z#<1SLSK?AHz8qvq_wn`37`)4OyuY9Irn)Kcwr?qmnyR~fgZ!-5)J@m9zNJ!2C-`Rc z+3mZ;H_-c9^#;CZT_B_X0Nyf`R6px2W^uliQT1(KUkiG86WDqY__>T-hkZ9X{jB$E zt!gAs;4r=^D(|1Zj}6Y~`jKx-AB(@7&^IxTPkSMJL6A3+2KX);vHPTN#_p4TwIa;n z-o8<}S{Ih5at_DBS|&Kiziw%QcmJ?A!B29NQ$CZ*`>C=$Y5E8G7fNoaSnk;rw-R`Q zr%XOze#y-~*e9fTH}*zNE7AoV5(vD^@Io_lxYe2XxjHqLgvWA4) z>lZW@+bmh$A8>S3xI`TvhxLKUfhk>CW5O+Aa$s7jtO?=Dns=G9Ct$^4a_$t2R zxU!8fnV@Hpd>dHia5Id5$?~;y#}b9#spE67bY(l0wTCTL_7hAdr~_K2Y_Iz9rFX}2 zWe1ha8?us%=?P1c9 zM6^{|XU+Qx?AzSTzbuA0g?$NcQ^(%Q`oX?a)*mL7^hev3y{>)(VBafCfiY8#B(y`> zaP=Dq+o^1{KWAQX9E3&zWgBmXmEZt30e`u&c?}Jb`DOb6CId7Wb&~bMHVG!dAt;xW z#WtC{DHJh9limOoBuS3MQ?=MP35Tlt4D}ldE2(Uz2`fnvvouN8X}BhRtSki00c2uti9=Wy;17egw&>XNBo1MSM<@jQ%+Es3xt} zV#gCNt89(33B-AM(%ROVbSYvTNm6+#dRLRytNRBqIg-h?0Vd-!5yc5$+i0AnIbeRR z?gn&14}_c4eG=@Xvd!u@8Fot97G+alr0?bmjim<$}At%7|%2pGWmpSAFctP13!i(f5Bn4hnxR&s8b-bi(9qc2R zoD?rB`-1Q%%C0E;5;j}eZ_3ug<}16ZYy(W*JdqRXH97IgLi`F%RCrz4M%YwkHUXn+dgca*CrsV| z>V^$awu^9AWo~6Zz~qgg?pTkq9|_CbL~`uPrR*od?Udz~*M_7gKcl9=9@sqU_zU3{ z$^w=B3X4^i7bZR4jpUW4p4j~Aw}-I2?i7zLplmN;`C?%LwxF_o)Nj2nCD#>&6z(Tn z14m&&$_@}N2kVV3tn47+aAif59fDO-R#e$xSQTZ#%8tO~MK1YCIY)@XqlCkN!ip(7 zMp)heOT>mMJ1*(UiYq$-%LjV}TSD1M!iAKTRCWp`Z<@(9PN@LqUxxoQ%A>HfI%dM; zl{LBW2~&24uoFLFk0?7!SYCPSk1eC@9N{a<9#xhFyQ-|Lvh&n$y*DRUP306`Ae@Dx zu=2_-5|$V4lCTw&T_Su`S-7&xu;a=qD!T%cm;MG~D=GVp@Xx}62~<{im2j}ED7FYQ ztUL$!NKLv9>g8jlII1YSL39{l*{UkLN%)`2qRcKSqB>D2^cEVSNj25|Hf+4ITFUOg zQk6xUunH7WN0a^_sjJKv+hfXP{vP8PF$5N)%n6e#YuW0W{!&CeP4Xd0ZsW*SUzsmV z?%2rIK$#ybMOj0$L5gUkNdY9ujT_k>hsm(GVRD~EwkOoj1Cx6tvNbgY!YQJeCgmnc z?v%;aTv;BN+$oc-g|a}H+$odoNz+w|XsJp0NRpdlvb9o{A0{`)WT%c*RsdEFmI8aq zq)QQPG^r3tNxpElXJ9f*L9p`5o>f*DR!JF;2rE)Vdrc}z((k%1I>N*&81@mZX%V3$eTj=~aWJBe;{1ugjzK-tuLP_n@o^~L%%X_o1a&V(60g8J z-Y2P-veLwP1>D+tD+`0kSyZ+@${vB;4YXOJvNAC1Q#9rkWsgdEdMVb|W-mF)0$mFG z0i}oKU_Q!{G;?{FFU*iWP+0|-zxoYQ77lYOd(}*+#4x?4NtH-yrE7YyvdXYnW%AjG zs3U?u&nSD{9FZd4)TAmTb=0Jx%BsR%Q1+IxDAZr+|soIgZmDPfM#z@a5eYmn{SPE<|>>XvbVZ(GrOF)cwE^w!XGGWtV~Yc6O}cA71!nYp|U4ngL2`- zX3T~Nrf!lZH6tlblO`*Z8;re`O;OeY_KVvtVyY<+NfFaDsU=BgG-2#787aTc0LrA@08u{#aRS*e1eqDF0Mh8<^ZFk%R3VlP*QfC5f1$Eq^>D z$?fRnCch_WFtgHh}?ykwUL|I4JVP)y2 zjTEs|lU^X{m?kY#_9CpavgOL;=0aCxE6gk@;&V;vOi~FwqGc%S0xPR*B}{^HzLHfZ z$L2NWk`%E{-MfLt&{;VSf1#{9;jy}yzf=|nYXp;H^Lo>$Dn)G2q@JK^>i(6ocvwwk z8%an@vSEHC26uI zZBy0{Hdonq%KF0^z)EAco2V#u;_o#n2_&C-W!nLhp&JOxLs+&S)Nc^%xcdF5>{Xb& z<0}V_pEU1lgrC6i(tMiD1Tk}f2Jq;6T_nd+WG*hkqJWy4@{vr_!dn*LJ6IZgT} zs1jv$!DhjvQ*RUgPT>Yinyssqe&`6Smxw+EdLzu5q^;xWvrbX7BG%6{OP33Wx7fczM3?Sq%NA|r))f| zt1^F>R6YTAP>0xU(xnKGx~G!#B1tkcxs-iCcqvR~CbzPQgxkSnX7U(k4T=cVBmuY@@ko9oU^ge|y=WiWj}D-NdCd7*{$mTvMJ z`&WJ+hiO~KzeJe4iZ9QTWxltZ;lOdFsy5;8TRnv}S zkNhlv{B*!0WCLy_RIu%VvGtf-*5t@ZQMxUU!&>-|0lKY|q(J=O$lI$f7 zb2-d{`u=4bRRYSL(T=DUdK$GxZBSbzcSA2Qmlx3`bPAnD^7B7+Y4Dtk0uB6Ux~ncZgP5*-%~h;vQQ>EgXHa& z(@5UaKZ)cA0JfvA&{DJvtw(7{eq}&T%RA97B&Xv?sAn!bH7}2iKOis>O-6FzUy4dg zBe?|3%>h0TEu{}j&_XmH%|mmLn>6`tjbUi8+4Q)7+cQ8P${_h6nk(oxbQN7g z*U=4h6a9{EqdVv>vaadL=R_{#gM5)ck{`eMf>m8FV`yXlxjy0Yg9ksLAJI?fXY>n_ zr%ZFOW#~c}N;7Sm`ByR{oB1~hZ%jE&&=W|0a;7Nym0h+FHW1}Uxsf{~vzdR4(-T6t z04kUf(ZYY9vynV2muKUBC|@3F%j4=jq(9Cqug3O96=&dSqRdHTA{ zv}x&I$i%nwZ=Ebp+vMq*JWZ2Vr{#yA{mySj3le>?gf?L=~ie+$}*wjsH@zX5%P}R2mk=&`5JM(kUTr>~OM{*ZF z6@7pvB7-KODM)U-Peaqu3^WS8i$$qn}5$^3Z-jX)D3k7!^aIs5r`p z@}mN%5DG$tW&Yg+JSZ2+g91@rB)63BqCb$6xC{9pU*w1U(FM{jqDx3_Bmaiv)^R2} zgU%wkLwp{|UE#y%2$H+Oa`*Q{Fn{Eh?+@rlB)58hL90#S*8V^G-DXenHCe6wLtETt zM;yd~TyEgJ&WSBc@Fo|5C{Z zsALZk>(zttQ>5M0bO}p(&bT)$w^qDi@$r@?d2*)ZC?nZ&%IWM4KbXl|nAn^?627UG zdHH{0?L0;QwJ@uKjN#AtcXmE8gF%&n6v+qH#~I87)SkhtN<0chGMH6Sz8v9b;?f99 zCj43dTb{Q`9**A0h-l|u#hH7&e943D_y;+z!%I3!LggE6y-@;+M}-j;I!wmw=ls`% z7myE<@+RUSE?bMD-KJ}be`w*IpdIKtv<=Nd-PfI+~2+V`~U4nueXCOyUL5RO0(tl)^to_#|6xnMq^@k^)51 zzK_(ZqvKPJ=k%SeO!9W4yWNraOMb7PG(^humLqBN?xnMLOX7T#GgHp6WK2U+koYY` z-t+~8y$u(Zv+~87_OJ#>|cp@H1UxUk#uS3E|e^eQn5J8g7WrEGKk}YBk>@UbZ^DpH6vwsEBBW3C*_v9 zH~i8v$s`p7aacQuE#zk&8}45+T)qV6L2eX)e31`wqCfDvi|(M`&9LDd(|#j(30*+v z(K&P)oj}LYQM3mgMhDO#B-QOhdyz1)`_;;^OO9Jdh|4i7XTD>^bLOS2WQQD=q=1}` zIi3EDpCpeo#@mon55)g0-&y?5piFeimo@!Ym1p7fR|Wl9+Qom9?+WRc#V46R-eG-k zc&?Hrt(BhsSw)imV48GD_`@2Xv$L|}CFjiSZGbr4MpE%DB=MXXA6x@})`*;C=bTdU zml1OKG5@lM=5+Kn!aJ`n*6o8M;PsJ4J(wmH3HK+TACj=xoONV3hWVG)$l{UVc+g2Q z=Nt(+q~!GRHpJUl+3}=2X_PE5*(-9x{MD{}!c{i9G-R0YXbR4b!$ zs4NOYkD@ZDw7f+zl1!zD$O}i0V8uahWiC}-N#hl<<&k_3wgQSod}y%>izZwX$#rBc ztX;U>fZ?!0_|=E^U7*@2pP^6D6g0_99^+rCz+{4raHCYm2#TF* zwvO>HQ+5(ql0HEnqgm)9B>UJ*Y)$-Um;z(@v@)HjR3rzl0mu(cGmXajo8-A9S#@C> z;8GvWCM$`VG4S zdlf6I?IyaR;aeJ)DUmdh$KSm5zJH{vu)kUKzJIwE)?N#jg)OU;|M108l$HDrOHCGe zJd*rV@R8kGmZvOB?{bvgyb&zKgr)iy3am;rnC$XAysBxG>R*aq7U-JlU({0qY87IJ z5iJ%y{2Q`DEmK-U05XUc;mFTzu;Cq zvRWi}YrZp4p9X~RE_+K%=vn;oQ(VXs-6MY5oqX8ktQuLfhWOnw$vD)?&0}AwFKF5J zjH|s`jLvrO{?G48k(!UM}ddzChM9SifoHA~5-|^MmJ|AZ1@ctL~HTNDV zJ!gOAud-8Co9R;4cP4B#=AhXnu`}i@rubdTD@b`^qjoQzb}YPScCP%RP3buS!L`Ep z9s!R9QhwY!Y0-tu1z%@-R3%0FwX|Y-$NVi{7?7RPaI|@ayrHe}kkVQiLPB@o%zd_$__|ep?H(8UR<`qg(;o-tMKc;x{15zOPA~3y@*fEwl#0*x z%m1EPKQ|!QRpLFfcWyv6ejsJo0y6aG>l0G&#wI6*u5P{d^MA=;o}U*`!+G9}n-@?$ z^v}IlnIrRQhFvOiTtH%5O#cm-J?2tcK#0rR0<~VJ?j}uqHOu|wj5J->Wv4x~IP)Q^ z$(!4*$sGTTCTmF#Yl=40+aj;){f&R$M1ApReQ=&Led&_7+WQ*zaHy@BVqzqp)}*DR znF(wErLgtJ`CUMenYkgr?|}jIR`Adc9yDVXQI-%=rDM@uV)D@>;C2`{LB0g&7tQUE!)n2uP^uK z(EVHMxUWk&m*?M~?|+%-5$4N%0fqf)aA9$O6ZF`k2if~~fY2Fyy-J34PD(`Z@_oH? z>~DYCR$Xb{1I!4MxHllgELz7gSSz+y>%HAj*Sj7~?=M#eMi;Ml)-;C}r#T*WG|oAO z&acdo1KyLS9vAFRd*{ZbM;UKB|8hsXe-O0|e>Kc<6Pbl~Vj&b9*D#NL9E3ljC^PrZ@9^(r{FGc3x|iLLPqkXch6$%SS6^ zh8g-b4evqO((nSGKR^G4qaExk9Lr(2TvLYdb79-W@1fU@mY;RC7!+fL&uB~6EvQre z^k-L*md8V{BCQmzBBzn};a8EChjkSh^q3WXO)nAK2dsBa zEc0f8?AAT>>e9-SYD#=V_aAz7X*pO|mm&NDSa0!r=!K=_XI)roLoU(~xnREY`V)H> zMf+UHZpcF~IIa9F>>uo_zLag8j`x_b&DJ?WmLFG!UBAT)H2uHN;bTYn|6$jOs~s~J zHwV;s_=Trcjdf*eT~R%xHVy>8{z;|UAX8zhb@?dmkjtfq6k_i&_c!_PxV~@t@1t-X zfctvRb>!3E{aM=IXpMDt4RKB}p;DT4%;(Z^AD50=fsX9oDDt2wwf*l6i8kVI)UnEp z{+q+Db;O$&cCdKca=plH*p%{bjj9?t^z)yxm*vA7@fXV>G?s5`%ek=dXPvheDfh+o z?6R~@oyLck{LnS>?+2uqwf^n%n0$==cSElJ_qV|;|A8fZKl84(oITdeS4}BS*-pDV zav|~2kL;ehK>q$Z`HwsK@CN?X!0Ga^t}Y9kT)zaA{11Bhz_EoN6+QIJz3%=8`E`{3 z{cNkFbvYPhI`0nf3tg>u9(vVI9M-hnzSpwXkUg${;qdoI$KJF5YVxhI{mWUmFW>%y zQF(Aw?US*0;p$-JJnrZ*+`2BU{`V{Ri{0_Q_50sE1bBO6U!&*_;yoGt#r)_9|3C70 zaD4w8d)2>h*8{bhkw-X?oHU;t2^d!V<|6xexFB}l@h+EhaXfq}DzbKDwP;7~#irp= z?g4gLY+s2rZthcj^fNzQak=_*9T=B1kmpdO$UU;>i)1djd-Hezd8P~e&D9$F`zH^ta@>A|-4^AJC(kBKq2qkMJZ8Ec=Rk1IynzY5hCA<^ zaMQ6_{N>Qks^HH3Hn}_chgpofD`=^?dpw|(tHx5(>O?>_SA(S{r8v>O6%q%T92QtS1g~t@LIm-^GKI-pH^TVqL1dYMdu&$Z+%Y$$+W0 z2{FE>0-g$8y4-Hfj9T5EPXD^+K=MRI)|5i8nZ#3EA^EN_BTogi;wOoJJ{3^i)oi87 zb($Ll)A&7m`eYScU7GsdX`E8cp3@BSNoG)H;cCk}xld178B3v6nZc+Ud;xP@CSBBt zG}kf%iWT>)wVUuk=b{Z>-XHjc)r9Jib)p;v*P6;_0;Yt{!$T%**~~EqKfS%}qAxd; zqiRM*)uy~7XK2O_a|;uC7(coCuTlBKTlK2Uzn<;)o2hb^j~4#x?9=wnMwd&r^n0^# zwnHc>a{G1mf=7ovlT^9K$!XKD#&x;S5RjsCuSw!>1bb?mkgvC-!6 zqU@B7CiWa<|BQn)eAefOVsrJ)m6Yvp!VJT~dEHDEKhGC-*8{I6m3^u}-t#|MeKT~6KW9Aik4b@gTGYYQ)qXi(LfAZ9?GFqX&)sLn4Kx5=WW z6{dF6;DbtqO3(c z%d9*9mj#Y6m(B-Na!%quFbG)ZYVxhwe}OwvZND|wE(G*&9yOgV2K3~2ZZ};Fs9yZ~ zw@&%Lky46(KVsXd<@IZ8pQ_bz@KeD-mjWuf@^8y%cq!mLr|XgJ=KIS53!Mwi8&@b` zuQ_%lAjVaAhbjFVcMi+*)JP`(K;uUH548DxzRUR*`+j6K9`Ech&;Ay0+SPQ2sed(~ zT4)yuE-7JDG@(hqpxSkVI$IS*$q}a1&*rTg z0aIMne=)^w22`sV`-?r;JAN8`wCgkNySto^L-?j`N-wP3ouAsZ`Hh+@#>Y?wL=Hc% znPE3sF5`*HzLr1YscG-L5tre2(o-jQGywtR`J!Q0wkC4R5nI zw%%bK867;UVyY3cS##nQ>m=_4|#sv~FPcQ}{xpC`EGELPsf zy@H?LKH%f-$sicKCM&=l%k#AuH|3u*?cCIM$E?evS(HzD~-vJQLqbA01qZ3K^%GROoxyEWx8z@L_ww7d-l9 z_|owDGM2SC)3HJ$NRh>JA&Dokn|sJ9Q^uI2Mu*K^@`kp-Ll#k?w7&jD?yUOR@~9~% z@@^(74}&n!w8VtIjb9mQ#fcsT$3ygTX2x&Fw_0Z&UTURVK_wD4=s0_ zWqI7yYu&}6Bn~f}eCFnj^}Wtm4xFxdzu}0zhy7IVYFahdl>?+ytHWZb?x=Xg6c2P) zbJag$S_d*Fu}4fV;{4A6(*tSS%O)exU7eHT*+3S@Dl;oDaHCn1m+4~h=OgWi>7UP? zX`2u;Fu%J-&BMo>j!+tsT%+6b3Db)EN_Di9MgQP%<(J{ABRh0Ab09yR9H^cAcEayP zGhTk?Ez2P)n(^#r3KXF7?dC`UcaUjN!0i|M%Sn50Jh%I;jP&FG_(AKbA*H1kd`M|H zaAc9CwBHOXJr*!>)+K zrfNZVaLsPCT@Lu~UVkFU=hsRjthQSPJhWFQ&1OYxE6B*+7n53c7GgcM zIBR#hcAn%Jo5PYOWH-}lpX|xfo#KDq9W9CStr4|q^Y$*l8j)-d8AjUEI|!4b|7J#z zyBL>FtAf~lPn)p9Bwsc$g=zI&)3>mDSmlgqguB8T1ECU+6q zSKxxZCIgyxeKmdZk<)T|WJn^aJ4#(J4U4d!R=Z%v7GX`sTrl&ButwQm_ZM+b;WzSM zE9#Cd-uSXpekD8QdeOaoYutKfJp)nIK5f`L_;TmPjETW+PBveg?IBF?(Q8geF){?@ z3+~%GJ-n(f$6}TP_xo=fXEAq(E9AN$a~ z;UN2J#d8Tkg(kWCXFE(HMH=;5_d3VUeRAY@cFJ-yovfj|a43yKe9+cqK?mpT&33qC zc1a@&+%V^)5!LTF9c6J`>lak!ovGt*SeH50F|>mz6-pz9;P5C8*UG*4!uy4b)ya04 zPKq>dZn?l-b({1Ylby2OB$Bn(NgT@KuraFpPsd+*eSWq>;9aMDfheWV@0n-9$2F;) zof3W5tPQ1IFXAE9)>)mnX!E+XQ`sIV=0Ye7z&Zg2ndsu~IG4l6%qZ@Dh0{Y|36_X` zQZx-qxZ~w~Su%`SZRTSRmS9%fWeh3l_R$lImA$PwUdmk~^hIBnb+`JR)c%FCLhiV% zdFJaHd@)JR!uO8)JG96ip`H9(*6C;A-Xb+OTzhJluXO>)j?9U3W*9>^8VA09l#=g? z`LI;|9Uo;od`yabURt-Xd4uBZYjbfa*N&2PjmaWw=q?=OWYHjEzPs1nk{7ZaGELYc z%%88nsr!gKIG6iTUaV&uS>C+#i2L!38IQO>b|vTLQ=5EdYLrsz-ElQa=MN$-$BZvW zm+n3KojpFU4vI_cn$XAb`nEkaR)(dVdocaq<*%~FzS{Z5XY8il`Pw=k$e;XgD`?B* zq@21BFaPj`A2yWwA%VE;wJoaMY5YR)-kyVq%K%+`;Y!D4zkIgr!St2o?QVCh$`uq_ zuDXM2*DoDaIw|4xxV}9`)Gz1Gs9(;rXQW^C$bmgyH?0?YLUK18IHX@(QkBGn#5jH> t!X0L29B~Jj*pi;&=J+4((iu2)O3pP&OI%*nWJKl)vwxppcVw=G{|8gQ#HRoN diff --git a/components/buttons/DropdownElement.vue b/components/buttons/DropdownElement.vue index d4288c1..0cb7889 100644 --- a/components/buttons/DropdownElement.vue +++ b/components/buttons/DropdownElement.vue @@ -1,5 +1,5 @@ \ No newline at end of file diff --git a/components/dropdowns/AdaptiveDropdown.vue b/components/dropdowns/AdaptiveDropdown.vue index 2eb3b03..a32b510 100644 --- a/components/dropdowns/AdaptiveDropdown.vue +++ b/components/dropdowns/AdaptiveDropdown.vue @@ -39,20 +39,18 @@ const id = useId(); // HACK: Fix the menu children not reacting to touch events as click for some reason const registerClickHandlers = () => { - const targetElement = document.querySelector(`.${id}`); - if (targetElement) { - for (const el of targetElement.children) { - el.addEventListener("touchstart", (e) => { - e.stopPropagation(); - e.preventDefault(); - // Click all element children - for (const elChild of Array.from(el.children)) { - if (elChild instanceof HTMLElement) { - elChild.click(); - } + const targetElements = document.querySelectorAll(`.${id} [data-part=item]`); + for (const el of targetElements) { + el.addEventListener("touchstart", (e) => { + e.stopPropagation(); + e.preventDefault(); + // Click all element children + for (const elChild of Array.from(el.children)) { + if (elChild instanceof HTMLElement) { + elChild.click(); } - }); - } + } + }); } }; diff --git a/components/headers/greeting.vue b/components/headers/greeting.vue index ed383c5..9113735 100644 --- a/components/headers/greeting.vue +++ b/components/headers/greeting.vue @@ -1,27 +1,27 @@ \ No newline at end of file diff --git a/components/notifications/Renderer.vue b/components/notifications/Renderer.vue index 0ab9669..f9a5291 100644 --- a/components/notifications/Renderer.vue +++ b/components/notifications/Renderer.vue @@ -1,43 +1,46 @@ \ No newline at end of file diff --git a/components/sidebars/navigation.vue b/components/sidebars/navigation.vue index d414159..8f90fbf 100644 --- a/components/sidebars/navigation.vue +++ b/components/sidebars/navigation.vue @@ -1,6 +1,6 @@ @@ -109,10 +172,8 @@ useListen("composer:send-edit", (note) => { } }); -const tokenData = useTokenData(); -const isSignedIn = useSignedIn(); -const me = useMe(); -const client = useClient(tokenData); +const client = useClient(); +const identity = useCurrentIdentity(); const { loaded, note: outputtedNote, @@ -126,7 +187,16 @@ const { reblogDisplayName, } = useNoteData(noteRef, client); +const openBlank = (url: string) => window.open(url, "_blank"); + const { copy } = useClipboard(); +const isMyAccount = computed( + () => identity.value?.account.id === outputtedNote.value?.account.id, +); +const isRemote = computed(() => + outputtedNote.value?.account.acct.includes("@"), +); +const permissions = usePermissions(); const numberFormat = (number = 0) => new Intl.NumberFormat(undefined, { notation: "compact", @@ -137,7 +207,7 @@ const numberFormat = (number = 0) => const likeFn = async () => { if (!outputtedNote.value) return; if (outputtedNote.value.favourited) { - const output = await client.value?.unfavouriteStatus( + const output = await client.value.unfavouriteStatus( outputtedNote.value.id, ); @@ -145,7 +215,7 @@ const likeFn = async () => { noteRef.value = output.data; } } else { - const output = await client.value?.favouriteStatus( + const output = await client.value.favouriteStatus( outputtedNote.value.id, ); @@ -158,7 +228,7 @@ const likeFn = async () => { const reblogFn = async () => { if (!outputtedNote.value) return; if (outputtedNote.value?.reblogged) { - const output = await client.value?.unreblogStatus( + const output = await client.value.unreblogStatus( outputtedNote.value.id, ); @@ -166,7 +236,7 @@ const reblogFn = async () => { noteRef.value = output.data; } } else { - const output = await client.value?.reblogStatus(outputtedNote.value.id); + const output = await client.value.reblogStatus(outputtedNote.value.id); if (output?.data.reblog) { noteRef.value = output.data.reblog; diff --git a/components/social-elements/notes/reply-header.vue b/components/social-elements/notes/reply-header.vue index 7bd1402..c905f97 100644 --- a/components/social-elements/notes/reply-header.vue +++ b/components/social-elements/notes/reply-header.vue @@ -15,7 +15,6 @@ const props = defineProps<{ account_id: string | null; }>(); -const tokenData = useTokenData(); -const client = useClient(tokenData); +const client = useClient(); const account = useAccount(client, props.account_id); \ No newline at end of file diff --git a/components/social-elements/users/Account.vue b/components/social-elements/users/Account.vue index 8dc3eed..588a48d 100644 --- a/components/social-elements/users/Account.vue +++ b/components/social-elements/users/Account.vue @@ -9,18 +9,18 @@ class="h-32 w-32 -mt-[4.5rem] z-10 shrink-0 rounded ring-2 ring-dark-800" /> - Edit Profile + Edit Profile + v-if="account && account?.id !== identity?.account?.id && relationship && !relationship.following && !relationship.requested"> Follow + v-if="account && account?.id !== identity?.account?.id && relationship && relationship.following"> Unfollow + v-if="account && account?.id !== identity?.account?.id && relationship && !relationship.following && relationship.requested"> Requested @@ -103,14 +103,13 @@ const props = defineProps<{ }>(); const skeleton = computed(() => !props.account); -const tokenData = useTokenData(); -const me = useMe(); -const client = useClient(tokenData); +const identity = useCurrentIdentity(); +const client = useClient(); const accountId = computed(() => props.account?.id ?? null); const { relationship, isLoading } = useRelationship(client, accountId); const follow = () => { - if (!tokenData || !props.account || !relationship.value) return; + if (!identity.value || !props.account || !relationship.value) return; relationship.value = { ...relationship.value, following: true, @@ -118,7 +117,7 @@ const follow = () => { }; const unfollow = () => { - if (!tokenData || !props.account || !relationship.value) return; + if (!identity.value || !props.account || !relationship.value) return; relationship.value = { ...relationship.value, following: false, diff --git a/components/social-elements/users/SmallCard.vue b/components/social-elements/users/SmallCard.vue index 99f9a06..1a887c6 100644 --- a/components/social-elements/users/SmallCard.vue +++ b/components/social-elements/users/SmallCard.vue @@ -1,5 +1,5 @@ \ No newline at end of file diff --git a/pages/oauth/reset.vue b/pages/oauth/reset.vue index 574e982..c5574dd 100644 --- a/pages/oauth/reset.vue +++ b/pages/oauth/reset.vue @@ -67,8 +67,8 @@ import { toTypedSchema } from "@vee-validate/zod"; import { z } from "zod"; import LoginInput from "../../components/LoginInput.vue"; -const tokenData = useTokenData(); -tokenData.value = null; +const identity = useCurrentIdentity(); +identity.value = null; const schema = toTypedSchema( z diff --git a/pages/register/index.vue b/pages/register/index.vue index 0030028..11a64a0 100644 --- a/pages/register/index.vue +++ b/pages/register/index.vue @@ -1,86 +1,89 @@