From c483f35b9906a008917cb8bc12fc09b775ce3f9b Mon Sep 17 00:00:00 2001 From: Jesse Wierzbinski Date: Mon, 2 Dec 2024 17:20:27 +0100 Subject: [PATCH] refactor: :recycle: Rewrite authentication page --- bun.lockb | Bin 504976 -> 505008 bytes components/errors/ErrorBoundary.vue | 66 ------ components/oauth/login.vue | 141 ++++++++++++ .../social-elements/instance/Presentation.vue | 26 --- components/social-elements/users/Account.vue | 172 -------------- .../users/AccountActionsDropdown.vue | 164 -------------- components/social-elements/users/Badge.vue | 54 ----- components/social-elements/users/UserCard.vue | 125 ---------- components/ui/form/FormControl.vue | 16 ++ components/ui/form/FormDescription.vue | 20 ++ components/ui/form/FormItem.vue | 19 ++ components/ui/form/FormLabel.vue | 23 ++ components/ui/form/FormMessage.vue | 16 ++ components/ui/form/index.ts | 7 + components/ui/form/injectionKeys.ts | 3 + components/ui/form/useFormField.ts | 37 +++ components/ui/input/Input.vue | 2 +- composables/AccountAcct.ts | 6 +- layouts/default.vue | 8 +- nuxt.config.ts | 5 + package.json | 1 + pages/[username]/index.vue | 27 ++- pages/_test/demo.vue | 11 - pages/oauth/authorize.vue | 214 +++++------------- server/plugins/DocumentComment.ts | 3 +- styles/index.css | 4 + 26 files changed, 373 insertions(+), 797 deletions(-) delete mode 100644 components/errors/ErrorBoundary.vue create mode 100644 components/oauth/login.vue delete mode 100644 components/social-elements/instance/Presentation.vue delete mode 100644 components/social-elements/users/Account.vue delete mode 100644 components/social-elements/users/AccountActionsDropdown.vue delete mode 100644 components/social-elements/users/Badge.vue delete mode 100644 components/social-elements/users/UserCard.vue create mode 100644 components/ui/form/FormControl.vue create mode 100644 components/ui/form/FormDescription.vue create mode 100644 components/ui/form/FormItem.vue create mode 100644 components/ui/form/FormLabel.vue create mode 100644 components/ui/form/FormMessage.vue create mode 100644 components/ui/form/index.ts create mode 100644 components/ui/form/injectionKeys.ts create mode 100644 components/ui/form/useFormField.ts delete mode 100644 pages/_test/demo.vue diff --git a/bun.lockb b/bun.lockb index b37539f8503ccf64de471cc5ccbf2cbf9321123d..ce8b05f3293418031ac3e30c2ab4befad71e6b04 100755 GIT binary patch delta 87862 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/H6dHv@im+MX>p zV}8d*S}yBB92R$Yg=f^bfV1Fu&3MAt5Nhm)ljFpLMm5|-#K~nj?zpFi*;nh~W+1Mq zaP`H)_@aLAOjZsX?)z4hnj}Am8t);B%R@e4G^?x|P;9X=a1#*M&UD3wdBez=-s(hM z*_mMu7&aH9hjXVmkyoHQZI@5vRp>ZppOjCo*7?==5bjo_#8Wq3h`0Mv6zE8k@}*pO zxLj=G&;04oF<-#(;${BpsysU|Qrd^ZS*Hd28c)dh3L!ZOcq@(nO14byE_>kQ62vxO zdwKgbg- zN-oD<11I+yzQcU%2T{-%)4*{~o=>eCoGs>@2)GXPAyBr-8bbRQaA8*MEq|=HGHsDR ziU1!@H_*OFjn~KM+JkVBp1g+7Px5-u-dpi-05{Hh!@UO~4uBjE<7b&l_Q3==){X(d zDI)u45zrKUa29kDhtfW{8t!Sigd1tq#3}a@ z9Qz*A9_{%7?ndkVLZ=IIgwPLjLT&Rehyq`%r^hdt1^8!~qlg@ZOt@oD3AGRX#d?3rfZqHtSut*B^;ypMv&E^&PnYLvmT^U)Dl%Z}e<$69-beKZ_i zsv>XUZz7;I^8NtAQx;C9ci^e=vYc?z9fV`YOK1FEH>lXJ2K_E#+8}=}=pdxI&RX;D z!40c(jjz;?8wnTTiL=h5!T7`Ks(285ak~ zr6}EeUDw=JO5W7Jg_{Y7w=KWow-`3v>Urxnu6GgT0s2t8+e_zLm-ukw6@;ugXWeJd z!*SFx=Wyt{-W$$3sx6SA>EZT+2;tue=7iga+I74!DRd8UAi&;}6ZLC2_B`st>zx)2 zbpG>UVz?295N~KW^O|Aa664?Ud>iW4(<6?pNFEP2);i|Bju0OBuuf_a8qOa=8G{|V zwe4CJ*>W5rrUN?dTq9k(#j4PSt?lN=AU!QE)Zaied8pCk_PlxLp;7iJB{y$DUQc+n%F#tFFTmgBM;&_ee-HKBw|I5}+W zp|{{hqy~g)&@;1b$nUFS~3B;5u;n;yT;cAOx3>&<)w!? zVC2;?VT-o9wKZTqeh{X&6#*gK1>1@kYFS%R0JR(KI81EWFof7qa+Md>clKI3QP~2& z55v#WIhgXuw-2s29QG@`aySRa1%O*1dZ%l9IUVIQQk-(gheLc3Tt6$N>!C0Q3|lQL z?$tq#taK~kctU`~k!w2~=dX;r4968D-LQ`JOUZ|0H_NzlaLk9zZ4J)1K_aFf)^c`` zXNWixKZWB!Tf?Wf7XJM)GbVSEeT`c&CeI6Se^y^p-`Pjv2gx`!;aG7dMA!DnW5o@+ z_L%i{F{!t%Wm@kPs}bTX!3z*9!RPVQ_hqtSa6x@_ZIR_T{mbE&SdPuRxu34xX*mw< zM{vA-VrcPiOHKOMZ9MBkjnQy%h-+lkuoX@&N?f}A6r60)ssXx|E&^}D;Rm5dtyY@& z4e~=)sQZn&_MjCiL1?`w9FBCM2wChfLTjziv@l)0X2s9mRLC_**Y37r8xO`6SfPgy zvVKS#>Is#LMPHhdOGoSE5t?ykI}V6tE`9WLfTjl zOJqpIGOrb?3`gh|Of4(Ni*+HtaUOP8UFZjd5=7-Fyw)Bs3Pxgs*fZX`H%$>aDtq{IFUVwheiCzKgpV=CNll92c2<`tCKY?nHtG7!Sug zpWM*%;r`rhPX3GQI$hqyy0o63^y5X;hKt@3f!LuoL*7ZW*v(I4no|m@GOA$C7a3N4C`s)I~8Z0T#;%h?f_4!m)6f@>Muq0QPabplCc32Q({= zyGt}&gc&;}-0R7ix;b-7gxA;5!ZomX3tl@x@uy`uvk}X5db4SC!x&tG`_sAJdZCw^_4yM zBEGtacv^4cV)RS=gAbJ($g4E?P+43t4L($6-;FO@wFh5*>MQwPi%PYLZFlNzvWefs zm%1NceyA+|01ZA=R(}XzR`UVAOn(?(eyHRh)8JEIneGU_)T8+FLuLA7oav1C3}1ez zj3}qU=bx16zQC6aJ%KMj{~hH8eZ!f~f==Vhg3jX027QMwKlPRA@Xo}F|B;dSP?`QG z8hofM2X8K{9=il>OvXe?8IPw%>*HB*_DoPnNcWCWpIWM zN?#4-ozV)|Mbb8G2i%S?t8`R)R>ry5kd^)$WmF>-UtfuQ@Q3v^QStS)5xAe?P+AFe z5%MD1!$lK_cs7auSJC`XIhR9~|36f@J^UY5U=8G8Tu298P&AYmIupuko9%`A+4J#q zN;x8n;Mt>#6{j+|MDb+BsSKtnUtd{Ky5dxpmjNYTuK4on707~;-GM(Gk{p`9sF(0r zueT8`U(%a#SJO5k4fTGdxk^o?c~DmRFckl3`S`=K3zZfT;zMOQPeFO{TcC`3Ug?Wa zma|gN z<+QOP*nkr%;WtqFZ=t-M|ET=WP&TAm>3Jx7;#U=4qx3f@{?o4Tk5X>pEs>b04YWD5 zhqY`NP!ZR&G<@nSGxP>$#eGyfmAexUMHU-;3=|5da93jQxVkFwLy0QTq% zrO{9fVYW6G0bYpnQN;;EdXdKRl4VsnStd{(j}DoFng8 z9^)?q|2t&`@2U#^6J`2Rrk|?3Gxn)!RDpTLG)$OR9kXiL&7}DnFIJ7RnL* zLvbqm(+6rfUwLIC6{oV`QA$TE zUSAo1GdRb5B9!?j%k(1qRXxz!>Y`OfDih3v@=9kbUSC5G+? zsC*?{JdAiMQe~Q=DpT3(EicH_AEx8#v4R-LrVE0I;Hl zxLigUP$u+IzNu1QC_hxDZ>xNL<&!HklgW^>BKFa?Wn*A>cxqXBpBMS~w1=LsaK`MT*im$KCKTO3BSMgNxG0N9h{BLF9 zb-l`Pi%LM{uuW8a5|mdoMa9=wcI6BeAFbl4?6Fx;HaJ%C`bs_^Z=As_zsj6z6a%pO8=pXKcYC5=|6?CykpQCpk58JZ?QrLE{_q0(nh>oe5mA& zm8W`(%H4X0Y~nVs>=1vIEI=irvg(ddqVD*^Q_}z_+ZP69zQK(AFO>C!tMn02dS^rQ z8v{cXxJl_SC@UDH{Aeit)5hZuuX8e#9WhO5l+u|{=9{DZJmnWCT?A!)i=q51ZrERf zL;zmN5~V3nR*9bH?*K^804`s#Mq5RZWcJwPM{cBLxQvw|g zz1k2HoZ?Uill8@2B)eDDw}3vf{zYM?hJ@Q00d!KT_#vrGb$uFc!*!#w(o& z^%fiR)!U9(m28eum(n;Wvn_zKrx!!n-eeWORK=$&zfAcoMu?}TJ8$daB{2wgDe_C_=(M90fn9Fcl zD_9oO4$9;~P*&AbX@4j`R2Dlx=|Cv+4N>t_`Vmkz=N2f-nF{3z!3Aahc~JbPB{srb z=4*)MDk2lg2CPte7nB99SN?vb4?#IX1yE~bpseUwC_jIvy#B2!{!hjAvqjIT2r8$* zHsz_zxLtWFuVfFD6&{2#eW}v-p)BtMC_hyC!%9Ddvb>L#9?eF81sqf0b11LqIFz4% zQufrBNXNH>m!Pbu2FeP4Q~olPpTAS4%f6x#)K^AaRh&w%bDWgYd%?3pZ^fzP4V3>U zWy2fGbfY~1OL^r@RYAT`R?u8&3n(X7fQoMi<%f!Wxd^9LPL*JV|EJ0#d#kS}>``7{ zUwk?BLhCK- zI^h7mobQM5<=}pRFZ=W`zWh+h>;H&}oSx~f{g~<6kD0XvFqSt=R#Gb1EBPSk%ul<-wO`-qJkDAzV*M7|OPd{p64|#sX zDrH(@P3l7DzE*R>DrH(@F>lH2Ga4* zihSDhhVrE5fbx~(wI4HG`!SQ6BG-P*g!O<={U0@P>0J9U)3qNn)&CI_=LkLj5%5bW zKG%NCbnVAX{E-tM%dY*H>CYcCMf|UR%=B9HyZRnOoI0l8q6dn;pXoD1@e%y*edT=y z&_PrYBpd}8^*KP0$o(9^?-PKF1f9jOGJsNo&1C>xMKwX@rvTH+0lJH#a)97t0QL%i z9%51jKpDXD5j3875odnoY0kHZcz#wsiAnG{4z%K#9#mX-M9A5yOB8U)u zs{o1#@~QxaiYkJHN`O&c0SptlUjg`?0JumnLJa#Fpp;7ub`XSp1<>j=zy#qs4RD6wAi*Tz zdj??B*8mx30H%oj1d-nWbUh0&O)NbNP(yHxV1@|#4wXfTEK0OE0ufQ)B6{HWh@L4{ zeh=U{4RDGeR`mS=pqL=<2Y@-EiXh<(z^HQoE|Gf_>o7g3Uhy#EWWz z%xd^%lu;pif)fWM>#1Vq1 zYJh>i0^BZE{tDnY4{(ZLh3I<;pqL=<5P5dkG-^cYuvz2SHd3 zK&vYN_Y2n*fHMRK337$+9{`(b0W$soFvWg?$ln0EUIoY#ORoad5F8^Ac|kUG$7S6o zZ?)|fJwNXVY}D_F9;m}VB39}Ejw=AC2nt1C8$dBZo(koT z;3C0OVwg8TDZyrMfX$*BATQH~zOchTi~pZ*ND!<8*c$+B6_XkOlo9MAcwXoY0oK|8 z;u`{N6FUgPyZ~A`0JaO41K=gS6BJBWO8v*PROB(^y5F8_T zO$0Rt*wO%Cbz^`MafBeMA;7@v0CtO&*8w;j0H+A{ioQMo#RPdi0B?vYf&>F#R1<*x zBDV>EUn78v1P8>hrU0b`o0|e06x9TojRB@L19(>yH3JB~4#4gUa7aw@1t=rfMex4R zn**%%0f=u7a9Hdh2x|h+ss+GD!qo!c48cKyBf_^Oz^0}E87%=m5&H=un*nrf1#nC( zZ3R$6aE#z{5!4!Bi!Z?H)&S+=2tibHfPrlQj*FFT030mz(Ilw!nXrb zM79OU=wQ3Wc2N^=b+AnrH6&d-f?U!>YDbVQ?Ldx^)M}zr5J*%Y$m$@F%bGY!;%E;t zuoK7?P2AN9q?qIs$yH7C>kN|60VJ<8D%V9-XH@Rj5nxmo056f-1)!ARB7t2D>k5z= z1hBa)KtoYY5Zno1S~mbg6mAXp(1QWOx&Xun12h#o2+k0+ z>H**@Ts;6bbp<#`&_ek31c>YgkkJ#MmDo>EL(sJsKpU~N7r>V80LKXYMbPyCQNaMK zuLo!=ju1F{01ONP2ox(r0E!7t5p)oJZvaT>36OUKK#-^+@aqLIsy9Gqk=q-fl;9#k zS23&)K<4!ToBIHC7u5v8Apq0*0`w3?eF4e{?EL_GiAntc*4_ZHiy%bk{Q<&y1H|_S z=q+{-oFQm60HCjM4FK5G2jCz0k-r5I7To? z1cd@b^#@oT3J@-i5I6<^3=9K^5G%s~iV02;3>AF`*=FcBiFK4=qKYzH3>pj>A#y1r z#aYTIF)SQ1TI5r17S)tUF=hy4j3}av6}6OG#H0wwII)#7Uf_QmdWL?hh^9;sJ17%{ zF%&XMxG0lF31y1#y$Lc^xGB@be#&&=KMXQMETu$=LzHL{G#nBmvM4jf5y~vlV+15t ztfb5q<&-(1??}j8v5w*rRg`&R&?rcp$fe8|XDRVw*l5TCkxyADswoL#%*_zDD55M9 zwUotTQY0i%Y^5X#eGFuYh^8cq9h4MdjD;)}E=sB>p`;1lTOjGeP00}ZA)@AH3`N&* z7>ea$={SHbkpRaCvP95$fT%G5tH%S}E{+g5#sUny6<~!}c`HCM!6|}l(RTts!Yu%K z6986^T`Z#+69!G+Gqi$`bd7gYp)^8iLI05~9W7XXwJ zTqHOshAjlhj04!b5a3-=O%OaEU|IseAyJe7P)1;P1H3OLxdGP31MDI=Ec8VHVG97_ z7Xf@Eb`YE)XtfyNh;S_i*t8JfAi*cXHxVE*0U#q0;F#D?P(#o)3E*?FGznmf8{im0 zxd>VU5VZ(k^%8*N;s}9bF~GoNfJ(748K9Wp6v0W+Hw7Re5g;!Gph{E`_$2|1S_<&B z$XyChN^p_jlo*x@khuh4b1J}TQB4q>3@|MX;H)T011KY~rvrR1CZz+cO##?Na8BqM z0AWi3;xhn#5<3Xa5VTqbP%T``05+up93;3Pe3t`6rU7Iu$4&a8F5X&>n{*9H*G!O0 zx=76g*^&-&jHFfmfn3(bQ4+^8kb$>>T+zi{w}BLsoFciZi+;C*BrFHX zyB(G5qUv^3?#CnXs5=0>MD85`r34oV>|)pofXpm_%_{&JifV%3+W@BB31En#I|0fF z?AZW~#iVS2wYLN8BJdG<4(4bR5lv|-c2JrLVfCHh@})iafsqCg6@U{h%8E5afH%N^jHlE6e}t1MLDH|=(`5eQLLi`i7HAbG3Xvh zXOT8!#EY{8nFRpj9|Kq@@*e{TegxnOfm@7u9H5L~+v5O> zMJ>VFM*(7=07w#Bp8yCe1n?;WNEXpW0A~pH5-b(QlK`6@14w!jAWf7IL_Q7>_!K~f za6bi5LvWa2x$u7)V9OH#E1m|(5{C$)iU2}31KcjMHUl`G1gIofA$mLmP)xA#8Gvk2 zPLS{vK*X~EE5*8J0sNi@I7hHb4B7%vN>I23V6`|)khvLP{8oT_ME+KQ;Aa4?5Udkp zo&zW&*!CR2y`q+2?Xv)}&jV}}Tb~CA+XCS80>J$u`UQY91bYc`g|Q7_(^i0_Z2+by zA&7hqAn-+iJmG#3poZWufe`-N0k%93uwpwvzBoh>^#VZ1O8}3Etd{^B+W;yF3Pq0{ z0L26wcK|#t$_Wx)1c-PUph&EH8NhElz&V1a#Gsu3r38gL0XB=X1eq@ZjDH2-S&{z= zK=2NLD+F7`m|Xy61lx82JTGbq*1il7`zpXTvGrAeu$=%tuK{cq(XRoVA=pc>Lm0&X zn_dA(DhAjoN(dr%0R)x+>=N!0fEt3s1g{DI*8#S?3b5jJfD&Tr zM=?Mp!Cuj04?r=&#ytRUh;o925`c)k0Q<$dy#Ri%1Dqo`AO`INC?zP|2XIiFCCJVC`Oj*!=*9#n$}*Vfz4l-U9eYM85@a zhF~wj5n&tv*z^WK(gA=^Lq-Iq4g#Db_*x7)1W-y) zcnIK>I7^WE4#4>L08Wei_W*+51-L?RR*ZQcpp0PK`vBjIT7tEu0I?qcoD*9=00=t- z;By$@ClP%Z;0(cDf@)!W2(alrfTRxrE{GC>$oByPKf)p4qD?IN2#0_glEWmIY$D)e zkS!m8toRtD)+XK~i8>4tas=eEP26?_#PK0WCCL?==y?>Rm}KKokgGOPL6YzhNW>?o zTo>y;LFIlQ1Dqr95`#VkC?zQT6u>Ud5@a3$7=H|)p~yc55PTHi3V|WUdyg&6+J2eGQR-WSP9Tw zloJG30z{ku=pojf04O6kN66cZdK7%Kd~1xPpru;N>QVd4;h-?soErvXNYtkVFc1eFA%M2|B7 znWq6Zo&mU7loJG>0f;yYFh;C93s6RIj^GwC=sSS5X8{Vo0~jyP5`=vRF#dah2_pY{ zfHMSF2quX!KLBj{9$?!K08>OQLF5krvF8A$iLK`VY6yIO1ehVBe+1Za4qz`qv@m`G zi24yA=_i1hqJ+Tl6F}h40I|aTGe9xHVS+irzZxLnXMh#e04{Nez^@u0oB7OmIi*>&Mlo6aGSS$uz1X%kEK;cDz zBypA?>>|MUUjdRu{;vRM2(Az;6=N;|Z2A>o+a-WBQA-ec2_UuxAVX}e0jMGHsRdXr zqH6)R)Bx-y$P&hH08zC7NxuQyE=mX-zX1eZ23R57mjQ|i4ijVx|K9-;E(5Ii9blz6 zMBw*3K*$wlSa%hmjNlx>y?KMY z&>dH8K6!;+IEdt(^_r0v=7qk{Vec3DI{X>*=>Xeo0H&xVh_nI3dI98# ztzG~%1U}vXLPUE5Z1DovOOP)NJ3y2-K$0Ec5m7?mumc1(04Nmh1^~qbhY21R{tW>V z8UUloJFS01=GV&JbK7*dfOF0BpJrV4DxXPEkt`=>rhk z1Ynog+6176z^5s|Ya+TSz?LQedkIQ}(F`D}DL_&)fZd{mz|jmK&=+8@aQgxj6C5UZ zL-;obNbm(%(HvmEI7Hyr93Z3xzyXof0-%(jlHj1|(GnoD1;ECZ0Pl)&g5Z__5v>3Y ziFK_2$_UO8ye|f|23Xq)ps+Q-VR4oqtTn*+HUJ-q{5Ak*2(Azu5o7!SHnjoR<_GYJ zs3nN>1BmqpI3~9G1Jn@s1OR+4q5}Z7_yg=EC>KUsfT#d~q_zOZMG1kUEkIy9fJ)(R z2T)9KnBb)F4+KbP2e2X#ph_Gf@CyV8X%FzV$Z8KzN>E8~O7!Rekl7w!V+VlKqMRVO z13*MafU{yE{W)_09(2M>?NobMmK<{t^i5h04|FX0!KH1 z!0ui+f#9~^-3uoWlEWldy+lATNJ4jz6~V})i$lT4MbV2E|S0Llo?0oWRQi$+Iqa#-67|44fe_?nXU@jv(G-XL0#5OEQmAX13l+p^JF zJvytb&gzNPds`V@l+{-!+Ul$>Sgansm$i0v{_p3WIc_$~e!lX~-t zo@0$mp+0nWA8TEmDt1UO_q6VYS4=ne9ae9Lisr$#_ zKliEDr)AWTDegabcIwrxR~y_@msef;yRWww;l(tbs#SOQvePDq+fue_)2(M$yhl{x zJugpi(+(yDANJVE5ReK1jd&(!t z*!Jn+eofS@tuJmwSuZvw(tW%&83`haAK`vkRHe+k%*cG?YF>cmEGeh5 z*e*Z1^YlJ&gY)ILQCGH5O_K9MMsbW+6vwZ82`ZHYIVzeYi%IQ<;DSZ&Ev%kxdbSCb zSC@@C9D8+^`$UU%(FxUcj{6(W(Wi~%|9Dzj+c(b8$L6}nSSy@UUFW%XvQIrvqNIvC zIMdj>UC&c#Q>FUtu0;Y{89}3)ze-Qx{P+KuiYe;YTC_waXkg$_OFBj*_wPO5z(W%y_VwTuZxz=irxI8!FSrtAGZ&rP(-`pCSkLIyz)?LqPv#Mj=hIC zh>08joS(h5}9>!pbc6rs9yfR1r#%XcsWqODwf8(`VDE6^xim0gQ^x)O9+DqEX674okyM=K* z8>Ef=sNITUPpYnqiYNL$iPm0>dTvi~%ZRD8TM6ucX}KBNjUmzPlnUO6ij&%Fmi8)* zm%J%2Gv;jV#&G3!P`l01Ze?+MriO}&KXqlz(_ZEAT1LL5ZOz9`+Fk{ajQGQ5Ehh!w zr%s8Ael(fvTyE7~m9h8N&1f5LQi@ezoOaux<*MQ~NoCuFiYZ#fE-hXSui08$J_aF` zQyuo|TH34KzQ%2z>LDu3H+S#XUN!JagNj_32eeyF?BD4OAJlHOa0^m*~0M7!0)ZMI6Y85PdoSaW#{FUfZUkT3s8D?OpzzQMj8yZpsr zN{ej>vsEim!FNubf4|`+*2ci6L!EzTwF-IF++@+u-+3+96#EplPE<_AOB(A1E#4ga zOf7y%i$~zL0p#zpc4H3UwozGPQSpH$!@SJxs`hGy{S0o>`mSlW*4Tf;P5$DwTN~_U zRUJ_w?;(}H8``TK_5#?Y>Bt8yB;W0!EX7#~Q$AuL`Ro8Y)dEqmmO(+9$vrLJ5&JUS zzQTN{-8x}UuG`8Jt)eq-->W}FMNeH>&$QQfcvaVKe`vR^xP@!C=h{tr;j*gy7F1-? zUN5v)54_T7x4*PoPu!Adx4*SpFWkZFfmHS$|^~GLF3WdKn z+UMazFa5TOS_H4t(kU{q9))!~N4t&XdJ=6# zQYc>mkqnQ6$*PB_n4-PpgCOEH0bc25lu^4)#7$bKB;HTEO~M|b_MjqP3lb;^b!e|C z*yZC-B9d9VO~syDz29bgY4uO8{@!lOk|k?$<_O>oK9C+VfG@1^R3STTA!+4(sPfX) z*)Ru+BvXBN*!D)sONBik2_yqgNCBxJHF!Z~f)p@8`PN?=NC!S36TxI~o1ET(dvG5f!4t>bqfxJI86GRa(HLW5o$e<*HP(IwGzitN75x0a^&<5HchbaW2RgS=OocS=`vd&RvV^Hg~Qc2*MT57{6) z4uRa0_JS+zI#2AQO6-F3a?|8^|QR zhm8i<6H9N9IkHT}hd>kzgOMP!TA8s<0GW2q1ewXjz#@=|v3#0UUZnFCRD*Dk#g@#1 zt3VfS1X*Hq1DOT)g)uNzzC|Zr&CCvdkO>^%3l^}#M-<4XKjr(O_o=2o;WktRnGeZ0 zC{wH9Af333IC5hxh9$5RmcepZ0W)AO%!eBCDp~2OrH>r}GUBx&qSnv`lF;yzLNf3K zd2RevxCZe84fZJs@-DeNYGYx=H;#ymajX>>tI5m zFcg6jP!c|fz9Evg@DAR?2lxnX2w30&)`##2qTm9o1DSVkgiWv#R>99O24X-a z4b$KUXp0_M?(73u$H@D??O;tV_Y4+!p}4$td^eu*R&x2gi_FU973rlY?9xyU%7c8w zRAzY=a0fehz;2x7d&OHZw}DLE^FUt62l=4@6of!1LR`fn`L8&XfRa!ON<$ea3+13Z zRDg<52`WPf1i~y5IveJ|4Q|a_ARmQT0P`8!amra zL_I%f3ruqg`)N1>zrk4*{Hv{y<%VkhtF2q4d`v|?v?5=9i3SDo&7t{F6y!@y@`{$M z;19 z^3gU~X2^6o6{H543(MR$FXV#&kR`@x%I*yO2IoK)fWL#R>|`Y;Ysy_VRc5y>FjW;2 zRu#U2YVPXBAzO*aEZC1x$v0^X@}+t^74HE_ASomRPe=|azzXj01lggm2lm2h7z@$x zBgm`pT8P&Qhj7XX@`b;a&$FvhyiBo##mWa=4CMKWcLn9Krs|xvJnI1GVxJ z2if-c31-6_me!jxeX;ESNGiu@@!BQ;?Bu zplL82qM-_jS_=z6w#j6VM}89ijeOKXHh1LP(z4!tg76lE&ZA7eZN3pU!DfhsEwB}~ z!FJdIzraq|1-oI7Rjog6%N{9_6(F*LAiCvyJvTwVWhL7?8$iB`CEGglD2Ri^xgQ=O zn~m!pm^DGd${M^7h|aUE1NLaGs_A3dNk9DnrpCO_B4w3gGQN5u))B_2V6*H}TnK2obn*|JEZt-&Cri4_kO}-C1Ed4#B};(3slE^tgaVKsd_l&P;dDlB z!_=5K+rG%mT>k(=Aqr%Xod)uNECH)QSttXgp(vyUS%k}?JQ$=1azif23E3bE_(N96 z0omcB{u4imqmWGT3SyDS#32CkL0-rY1t1V4QL^$61Cc8Z(utISl28i1f(lR`%7G+Q z!c~TfPzgjv?$N3sIzoxxxm{3$3kmo&NN%cwbafJmAZ~+TAT)x8P#5YzZ7^3|^|061 z*KIMsg?7*ynm}V{22G(Qv><+Ge;R?=3M5b)Xb&Br6Lf^{p)2%(E+E}xXXpXqE^gmx zvpZ%t=n1`G07!TVD_fvq_J@8DDG3-1J}^X^V=za-WS9gaVFZZ#Sbc5EjOKbGOn`AP zUL*bz&Xk*iJ)thqPuNK3w0sp8D`5r900lDXnFdo~I{XL{XgMr{C9nWuU_Qt|G7}_0 zv$QF_kz5P&U~U4t;ZF7!8J9P6of=c- zB-gRW!!_6lDRH}jDYLzEm>Xa{Jdxsm45reD*yF(r_yD^Eybor;t=P9fDv*Ro#G61O zItgdt0Q?3blM>FraX17=;V_(r$W#1x5VnB?+6TYD4%iNRVGrzvov;hig2?O#QTQvQ z21%GiC~lIF6Z%>bAd#C9i|i3VPoy(-5=d?@X^6+bOtqvk4op9B7e)8r0^Eh$a0|S_ zEcQ#-%@VwV{UV$P3G+K#29f#rG4kWbt5|M=8CZnkK@>>Qi@VtGXp&Dq7Yi5=hn~l6xsqDbDkd0k^W4 z=`npkX5BLTmJQZCkQ;JBcE}1cOO+YAWJ+f1G9KBmJ1}JyFC`$?Vn;U8EgKep$N}P! z3sZ!}lt@G{F9c{)>>?+Fn%tUlyA8(-#1wnNb|9r7nGm@!{3KC@G2<~qF@r3TjAB@V zVJnW(LZ!7z3zkM^mVzjdz(tTN3dKR(;z4pQ2}}br~9>rar2;>E6N3um| zwxvI~mXer?+eS?3jHF+YJ0ntVjT?}MfYQlG4>b&A|M48xQhb@Qf51(8Ey-yq?C*gL zJ9{xHiIQAP-OArP>~BF94ENwJNNzV^N@f#eFw#xo7!8t3$yvfWOq_!>_>Vx&OuZyr z5-W);gBb;-K@up5lEjLP^dm!X8wk~~55Sa0-Pe+Z;gE|iT=d55E_Ub)oj{e3x8?K} z)eWI6ND``pnsU+R&q;h+fv~S}t`61UE2s)ppfXf~ickT{LphL+q`I3LaLMLpYs0m= zchOcL@;hv@@6{EghI)Xw^@I+D=!Mw=vp;4(_+BIS9=H#}91PN;egNr!hhoNKN(Q6? zr0|DhPpaJ~U>3t|yxfQ*xsci$hdCB@;n5YwU>^;mpflG}R^mRH>q#(Co6|9W1c^kN z^EB*Ifzs@x5~OuWWr;Zh^Ezfch+jY1FPq7`lWd{Ymf-gjEQUp}5EeiT%!hd}7v{ih z$WHi;m{K#pz#Z(j;kYV(#g-}Z3f9YT2`<3za30RVS@;dkz-c%Iac~k&z%e)kzrtqN z1QHFc#%UJ9jMZ-YG55l5*aKT3tqgEmuxtnM_yu;rHW0U6uoJ{xOw*nM#rwGS#5{m` zP}?O!GoOcX6Z=t2$@gA3f?Z^eYriza?{pBsgn>=_|J9W6{$S=@B1{<3#Y7RCdVe8) zH%X}kG*cy>S9JFeN*Jswj!;~OAPrsN5ggqN`K z@E(%l<{|DN&wo831%%4YQ4|4ryv2pno(a1=_R0wI$V;}2m%3?!U5O|dtf)nPR=_@NOpbh$<47A%OsGefls(LtMD=Qn;=Cg zU8_7Xl6H3VWx>6JmY2$Y8W zR?0sPPdTL^sV@n|p%@f}UkQUpbpfATJSYghiVWGl7pIlL>}*FKF}L_K@aE&-$P&M4-!sf8xf`-$rl}wFa*#O>GX`^VmL^F4}%||D8fTA zvl3A3_ySgAUkD38nq~~9RN#D=3sUg&v?<-NM7j)?!eUqiOW-GP#)+Ag_}zZS z(gkxB=1N!rUAbP4`3tH=>gRQU;q}6P}l!S(muua%wVKWTEZ7^)dE>$BX zvWXL{1h$(q%oz{slfTGTIR1g7 z4Ej>9NkC>V&v1JJGMjm<10|e=JjG3BAQCR2yIj8(Kae}ZIbvW+kxS`FyO7eAM7)yv zf62w)@D|=cGDr&V;T?PcQ-%OerB;emCiD^k^A9&0b}20nOxdHB>Xhp8!jyws60tlP zNd;*@4swZHJn=gZ`}=Sq?LdU2K}zawV@io!2RU2d3pcP!OBNXi*Ev9LC7EVt$1V?M zvqCoThn={aQ}Psq5xdCbf!rXcfj%9Wk~)&z`1~M^OCl*j0Dlm-f)YTxi)=hdf(qd- zbt$D$j>Jeq3&kx+yGv$5um{6vn2L-$imVVhgp27oism<%uR-eY73NEjfbxv|ZxDrl z!4!A_&tMMBhFLHfX2J$^{)jmZCc;#h0Ha_ejDX>=L+ZaUmZ2aMDS0Yc1WG|=s0JlL zo_)&^k8)5PszN2G0AV2VA}2EP=uGSd&?n#C6Z!nu%O-FaxzbQx?tfF*jGzo2A}rT} z8BiiG4DI|J@^({fs~3Qss~8Pbq6^#7ul8nzJo5%89ISH!)*k$ zp*ol;4#zHu_!^{GCDK|TxoHUERtLU;22dX)5p_ZQB%C1fViKl|^TJdtsTGBdL4*>v z0VxTIyovUc()n8LdBo3rB*T))mLTyr1xa@ch=AtM3`C`<5mQK<9y4ubv{K8T%fD2B zBvmIf(#=f2=^@Ic%0)=*qVTIP*rkn|eiBA9BVi<=QfQJXQ-@qjEy}g2yO^|LiJ+YJ z5G4{=YNs7Y>C3g`PTHdc78z+SU$RSEH6t}|LeU{jO`4YYi9HH_kTxt+$bs}T!?4R_ zN@ips*oE;h4#vW0kXh^)%%;dR(Q?wINcSP##UwDpCNw3UXqXPw$%t$$&A=Y1wBxTh zh=6p4(uawlC@__qie+~82=^VBPcUWtdW`uHw&V5y^FG{zyRZ$nTbMUt58Qz3a0M>A zyQx}FZ5boaa`79S0U0n)W1fOII0+}G|4CN+JfkY!!&iGVDuX3H$^LVF4_L zMQ}{ZNQp^;*?;(?`_o>;A%qf72@<=R2}mp_*OHjTQwuZvMk1Aj%JnAfX2N9^bX-Pr z@i23{MGK3kso=jNHp7W|91NVwEs z${ishag*zW8A)715=UfWM^XM?k(-g2rkNNsjF~9Ou_^NFUkxorm661f`nYd z9oQZ5gyF_vu88Ibt@t66{9o+I@CQQT$u8o9J|K`S5!W1WJrOv=||CNom>kJ}Bj7E3g!k|cK0tqRAZyU?!NO!~5Pd`v zOb@Vu9g+dw&gHq7$+=Dem5{}7OUZx9(Is=+beJ-)O^xXVDIrp(g||Qgrh~MQ2D~6M z?*5P!%<1Db?6RDYC5X7?K~7FP%fd_ceKKN~eID7{$v^}$AC_$#bG;+8{EN8Vfb=#_ zEXd^e0|KH%gyh(?>`vsyl;hK;l6c%CkjUr4Jtt&>T!hVmnH{o$pPKN(mWj7eGT-J> zOj&d1R$E`#uJO9YnSa@O@y4N)f7>Qma>vg7n?s_!SK;_eo_l0c!LMvZEjd-kSGKqI z+$heiI=;3&%q$sROT2P~ED2^G%w(9oG25vgZ)`cLbwWgbxhiEQ`In?hnWV-Zk11PF zvQ$e0Qf?x554YuniG(Ha6S%1>Z)_P-inq+VWrQ55EN}VcQ5;S(_nw54Jm46P^k|Sq zJ_&OSjD=~c^jlko??Mp`fpItmVHSqP*cX8WDaQ2z?DL=~_BoiPF-2ZB9m1dp%;H+q z&j1Alaf`;B3R9pBmE2S9dCQSPiDEuZF)$4lf<(0pvk-owVkxYGm9PS&Jp4i0m|P31 zK~{efR#uv~Ft3AysMg>o3wW_7WQWa7b$DmXoNVnoB>3B{CcLxdiQV$fw$75&5>YrX zxNu<6*d8BjKUq~sDZ8Jgtr}X&?yXu_>~>yo+|FVT@U%pP28M(N7IVwWD|76jyv^vi z#h#H@BWHET7^o~(jBzTH81q#Tt3A~Ex4Y_|6E$(}b{ntbcq)QkYF(f`gW71dJ9vrb zDUs%Fo8t3Ng(X!=`@bBuh!G&6`Yfh;tx^kiP=DmK`(zCZ408L~gIj_rR;~j}>gCDQ z$!4`g6b%e15?I{rkm_M0Ki5>NIYj7Gklq$d>r?Bz?cN?m2<)cyITKYwr!>9oTU64oFUiLa6Gm4tKFXT~y!8k|DY3o5X(3 zIwW~?A-iwbD16Zz)z8r}?)vD6=cF_wFj!JC86R%{sC6l`+!`}sc|m-F149BsXo$&G zdh^5Y7JN zDoZlLo<@RBJ1VH#$(d6!3@#$kkv~M@wNK-fIUb}O(RYVaYlwt>l3aBmtm6X`=?Giv z^}bCzY^`S@QP_w#O$rs0%pPJLl0y9^=BVT*JJ?-=#dn3x;^ zH5ZoA!HHmTDzzAK$1@}(af>?j?bH85)67UvO60)pLn@Ubx!u>AG_}f|oCqp-sYfgA zzN%+(dtpb#v_=tn&b@wdc#@l;MzBDt`#@T?H#zC3olbeBAostLd@1bGf9_s)#H+}+ zNERjYNTwuZ61A;SNd4m;D-Pg8BN3k#-YP=E*7aeKKw@0mAJ^@;c=(z#7H6rq);_xm z%)VH%fp2wuqzY*>tCOo$DM+qSl_Ay~>6Ld%GWu^_6m(z_?&4eN)u5DQG$@0LPHB(& zOkEF=>Y}dSWiV1)DfQZ=y(h$twOWSgCPiI`ry|yozA7pey2yR)1KcuXrZxp2?XW@1 zM<3rzZuPg$MBz^j#IYtLLl6?PePSQ@jo8r{iJ(Aw2__#Il{GbLPi9nMsmVka-bHdtBZjPRU?yKDVWQYF=s@%z8fx7KyrJ&aKYUsJbT-(qKr(EjI#dY8_gF_KGZzik`u+dD6HjNNLvg9{BaDp_`2(FsU+PKUO@@%KwL}h8ARQU2oWsb* zs&2s>yF6(#4@uo)1?E&Okq8@{)6jLQ(TccgFXrE-opZ-Zoqr~kVfZ*xsa6x#Y7~yI z<1^`z9+S#3B}$ME$?>DMO&VM&wYw7OC~kDan{ufjZ&I3sNwt*c^$*8a=PjIa1`=|Y zqr;I$?aXOU?_Ss#UNU43avP4Y)K1H4ZIWjn(?E(zny@5IMxcz=68Y3Iv|8)tQ*l0+ z&GSWLI6CEHMoGAobH3iUFo{2RA8}ChY#ZcLG3gPUl26r?09t|LBO#=v=ID6cBjsz) zFsmgfu&4z16e3Ynj-dfY73RMFF7^9>8&OsZ4$i-(`IRlbJ;c#5zoB#D^A5p#@(oWx z>I>5cpmb+`)kRWanx<|ub>_91EuVtw3G)9x@`q;-LVjrJl9(E(CZa>CP*Uuu zN%_dFu`#;d^!=NU6+%+qG);okWpr741SzkKqV9 zTjX#*`=(a-$c=;R@*owF5gkUk_*x$Zsa5FubX_7?#V5QrKfRMkK7VrRbMVT|2pd&m(STy z^?_Kerg^8Z3duxie!1~k`Fr#9GR>{*nF4d-V*8^l8!S-NK1WqZ`Q1Oh4zKJ%IkIs6_gEK zZ%U}Bt4vTuf5wukz&YkPgRe)dGFFu>y)`|=<-88n;L36cP`rc{|YSwMuH}1W@1J~wRR5GeleHbFVo73 zMtw|Nu)e|j!6zjrx<7DNJ&G}o?5e1aEg~m+3DzXHJxu0%5ff=l#!VAqJycP}=a!qX zqI#2?*|2XV^;I6a5-sOQJSp_1JMtei$UmYm<+L`BeU{ebtJ>zZ7d9`fEvu>%c~PrP zy;{>+1FU7fQi1vG&#ZH+DgS^^sqs;@0_!4;^X-W9aZBDqq4M!|(T-q$gfl6|usA3Xkc*2l=}*|c*77h?6T zs|pvghlFLTYbb7ZpuoM1gY(oxkcosOVRk*^{%=+1(wrL?hm^%9I4~@*C~NwdsZZ5b;(rbbUhV^g!N%P^?+EcyhbKV5Z9^dt71W1XRNQf1lgm! z?=&#l!^;l#6*K*gUG%nGY7iZa;F|`@FPM9bfTg&0RN+{JbVj%LzpUQOy0sA#3FnkD z*zKEdRCftcwxJpu%oMyqLqqaqL$&sS-AA1XrULYZOo?aLQz=47!Y_?fxezp0Z*1IL z%WGvmHD~H+=b%b9k<=2Vq*@X}Yccxs^y+zty_4BW&&AjsYI3OEPilQtD9Q~fU+di_ z>Wy6g(L@Cn#(djEwZ?QDWKtyE-?>!9yQcN|x|*|kLRgr%6>qB67A9F=>heR}j9wwV z&Fs~Uy$ju|q_>5-8F!oy0=$ybxs%bl2p^0iO;JU-T~;(xCyEe5@#e;?Xm{|BDd!w0 z!GeqWW%*dlO{ZS@h1vZwJfxCkP%IEP{?8Hlmz1Tn)yVO^7g$nyYzXOdZ}LA$P#fmDA^XTWW04M=h0;Mt(_iesz!=`GZ85~U?g^x_AyFL59Qu?v= z-RTW=Pp};yDZeR&noP*OsdRB~%Mx7VN7YeYEmW4$R8Q^}hT8M#4(6$O{1=%66k(A- zT8rT$%g>HW>KD44{-$ga=&q|~3pFpDhp!r5+Wy1;D*BApCM{H{GTgrHTBz`j_CV!v z&z@23>TUN>i^`bYSq4ST)J|9#<;qg>y<4cLzDQ3f%fMj_3O?$Wvi8nl=G#~I_KV+s zH2i%Z5+`|PpqoyzrIx-=ZM`_`?vb|6!e`ma<7A_HGJK(oo$X!yRL-8&@!8=xmFi&I!cOXK$1ce>i-!q4OA*qGWm z2k>6n=bl^IZONbHx$E*7-BNuJbt_sb-wO8j){QMyR0Xbgwv3%s!9Ltl``rEE3Xt&dU_E?aci)Oy)R_WNhXW2Y+ToS3;sL3LcvyCwTpIYFRd4JyfwOkTRV)j>Ic>lAbF%Q`8ojz^z zNi%=2SqcY+6qO-5RVQQCy6NMi=bnB?a=Cm0I;jFx(OykUoD13hal-S47MDc3PO2pm zVZ)HfN**@kvNaF7HzJ)&Vxjga_H1CSR9>S_xqS9?QmZBGO(fW)hnrTs3SoSoG>Nm(T%*hYz(I@Hm4NZ-Hmx+K2stb)Em`$!~YDvR0--OcjOv zjSf4(&YNry(e>+{H|vu=YECt}nLqlfXCsV_zIT09mg;l?+6?=nuhF*`tA6B3$ZS9E z8E5w#_Ssz~-Ersdr@B<9xB9D}im8tJsQ&6nb$g|xllmJos%VG3u_I-^zyH#Bj>A;6S6_DcvEi?VwSea!QXZ zxe9hGj*pB_YdWqxdo10~^x{K-(5rkkP+cah<1;&cx{EaWQ{S-9?&3LzsaJ!Hv=7+j z9q*mS=e5>Og(MxUB5IIZ%-ud7zA{-@Rl^>T^u=JK2374KG8aP*t=1vRyQY1kbx@=_ zQj`8xm%FN3i^l*xbkBD6>aMvfLw+glya%0ITp3!cs9NOxvv;~v;b@_i!mJjt9;vM^?KgDqkTOH1`}0=!{nh0|&*rF2xqY_3c51KJTGdA4^L?&U;U79U*B3e{+3X-PSH0pY3yO4vm@WrzNb$~tIqgK4g?Hhg4^Nt&ii z{wR}Pm%b$qfA_R4~0&6=&ObJpea z?HE;{J}HYrB0Cb-x-^P7d}D8fOJd;|)e?!Y?MO(;1P)$if7!_H?vjYZNBZ&G-!*PE zu0$t!zNh<*M`P4#32Pl|l-b{<3cWcp#N(-!2%$9akzDm&x4%aAX&ub`Qr^L1)jPsk zOOI9Q8_*t%XM(;et~ou$-s@2KFC{d}fiyuAK}9dBzzVrm4^8c0@i@qTP6C z$&*nwo%9Y)@HqADH}u2n$ElcxC_V8FG3*$p9(+Tz-NvgdI9dmfS1lJ}8bUtyP>wNZ zC(|^%!g*{w@(ZwlU{~TdK!Ey zhw*HiXGcZ#Mzw5!7+clp-NTHH#|*YGw+XY=fL4@9^lY`d6}R|C)JO;N?B<|YONIla zU7m6=yKqaq!@^R?**z2tlKpMMCQg#MN$X!EFwA+(O;+(gFQ^pOYH<7vXO$O`hva14 zYqpV*$!9SWUpwZhiR=bjOU#RIgVA`Nia^{kY#!%*Q25i6Z1-o6{mJNyoQFS9;2+P8 z%MQP5^LSPpN?C8!Ti4B3aiYsqeSE%p(w6H#=c_E3|E>EoThn?USR0?BNu<`?*On?v zm{ZlYojt9t*G&GL{V2kglraSDJ74M1(7OX=`llbD>K&@z+S$Eji}gV}o_+8PdSZK$ zZ%i{o)W!BZF(|yqXb+xw2GzdryX3iZ6s{>Wt7>Tr$pkvSUwbg(0-X{_~ z>8G7`#zz|PccX^6-KxGZ8Xw)04OpZi2-|525;8`f89uM^vWKOfNmxmFV9;WGWL(YP zV`0e)tG(CZBU5^+>Nk9(k5dujy5*>S>_>0QHeCF0xq&HTQdEm(laefo%O%8LNateZ{Vlz|ImaIGEtyZei9`8?1Tt;s7}sL8 z_FLNflEv!Qw@lXmF@4p$Dk0Xji&a!dl>V|f_C!Z}n8lHEiILx$DQ>Hm0mIv&P;O~T zbL$f2-TLg^8Tq746&AM4D1rPn?%x=)_P4_} z3pbmnb*qh!jK-U8-)nU9!^#gXpDxQ(nJ$DKfkY-GqE}Bp-uL0D;Vy|7t@Vdge=fUn z;Fde)!iAPD zALEIft+2TrD|^rWYt&@)Swq&S72i>&#%U_`_jlaOJo&i#qwC2>g|7DDjU0Y-FJ_;qAR%W$8hsj6^~f5yx9J4l5irN2Uq-G2kqGGT`H0V#B&pouaQwiSnL&aS_Je&%)ZRORH^BH3j#yolchmA$9^gkBzIQYm}cH&|CzRC{}|5X`kf z1@yMxGxv`J`mjrB+_&M@zzyn1AL=;47BY`~eXZp-sF1$gipK6`xHWu(I?)&R<{Q+# zzAQ4GyTu_Y?t4yxtsq&+NchHOHwL6Gy84ClOq6q;wP8c7e?N{VT32jPW%?6*!v=+e zuj45}WE8J4b7#?;p5s?rY0Sn3#G4Ijyhz$NswMqNynT~OHGl-B+oUQCAVHy9)#L%x z$yZwq4YA8}-&Z!pE8FiZZz0}16A6A?0S0D)`OI zc4MjaSHI?4{CYQ*logY98RAxFyIL(_TOuK0lYN{rzh&?179?c2=Z5KskBrxg+qM|I zFuYqmeDoq{z;^YHlvzjfakN3`_{3!;fapPfBzJ-Ewj7iKZHj`q%3B;8bVmd zawKG+$q{(FZn?JB%5r*zrbgNI*`d}CqLjDqh#pKO6!KSogNgLiPE~U-&O8vCBksTM zQfv2NUfQMNxOP0*WfbW8K2ZfrU0jjdnIY#mp?d(kJa02@cb>l*M@t=p_86JHkTEpa zGub4b6G(HGgihF_x(u<0hs{Mo5;`!&$I@A9ZLuN2#-J3`Dtyx7<2d*3QqhK+B&}JAaC2Z zE{PonREj8KIdVXii=q_I9Z;7s9k&S~DbC)^ugmP1Jo2DY$|Hp1$p_R#B*NYzAywNX z_)kZR9v*TmMn-u`Y==(I_J9&)GMD+K_;$^q!TRX8UqFs~k}u zBxIsgInGfA(pru_wl^xDdsmpw8B>9zM^)4?+OPLfbz&Ih_}SDsTi(BOG(@*aPT4w! zQ(HWk3>!}DU5}|w+MI`b*y>|O-Sj{H>!b7o>qI%r!db3c@R4#&)1cv!CD}4ubNV=E zG5e3HM}+;{cB@`#-#VfEM-Xd*^9eploX>q<@qIe+Nqtg{9>GBnceQ;41E*1fzUD+I zYcX~RP8zk81me zVU+!Z;|rY(%P^*01x6F1<91bLH04C!F<>+gCF}gA-r??O{+qGa+2M4d&9_FRF`jxk zTk3besh}}PWIt=P&}u6KYxiA0*k6|x-!*fVs5P6e&MV${ds2Y+9CK7PS(#u}Y_M4w;aOoMT@C%|(j zqB1Sy`PS5l_JB_jUcBmjM{JbWgBg>yWv#?71?b+LLv!F~1OP$wpHg9qI(+HQ`*(R*v(nIMn- z`2m8o3}XQmErr(?$a&DCY_p%$boZ*W6Bn!>IB^9@yhD(1(VYR6P=(+anY z786yb*3Oqvb?OpAZ(NSPrJf;SHB28nWfXf`4dQ&2KHlN$*mv7#kW=?|XrNZ6oM5#S zrL{3fb31!m^_)i1@7z|qr%@75Z>tw#+U}^lKVtF-zL}V5?x@MEM8Y!NF{aHIi%*%F z@_Nx%k~L?}+=B3t8+KHtq_2;S$krU6kig>7s~M|{s6?|~A2n&Zy^gi?9d%`0OQBI|EUP5-9n%q%sqdB+U3kkWq*8R~q$(#XMd0a0?kfddd zxTB6m)A{{%N7Ynh$~66Wq1}#M0#}pkCRx^ zNs*NQ!$~ZCnAkXp^{FPTBZ{eSW|E0P_l?-U?X~*jo75{iI#+Sd@oVILwG#>1NJ%m4 z)7p=DTqjj_mOW$GYj)3M;d14hT6?!Xnjl9-WXxpTE%3lt%|5B!aN@l*U5x20&m9W8 zg+EXe(e;I$H>P7nzI&kd&Y~xurgbFRzA?9R93vhYJ;2Ww{7>(lIv|GF_1>M{v-;Q8 zmfq@eG@Whi0u0_!FRJ98QCFNHovA}2ezrY|lZx_7ChMohs}I%b!C0E+kvaAN$D>Ea z3i9-0qX-90+0!J+ZvVMf%l^m8Yp%V7b@LMyK9}r%=0TqxW!TV&noDb|_tfZ1gC>8| zwMd8+QswTJtCE;getRZ)ZO8M0FTJDwSH(7I*Dc9^^5_dL30 zXqj=()bM%c@lo$=&hdBOA4b%kf!>i{RjW71Db3P_9}qj6udg-Yx$>A#7m(qF>N=n7 z_`fhhj1Bjy+AsUH2noT$pCIOXGXD#;LnM2)Z`+3Z!EJZT`?KS7C;#Bo?c5p){YwQU zv4^Os9z4i=GN1Ki(BH;9Zpn&CYgf;hAqRG)D`I&<-%uuoBG6h@_ZWMDWFrt~5ROWC zv@nB`({2v)Gr4n`ObUD$ut65?B#xs6Ze?DoR13&S_g5++GtX6DzfzMIkj|$JN3t}l zbZ+0wTf2N^f*|(|WuPBrSbWr#1@;b(sjrQ?-cY;iUGE2rE;&`p-r1)I8~Ry?nzYbf z)O_%vt}Nu7U$M99ojeVx@>Zo^L{GzYbusC+hhTp07@^Ek&}|$%4Y%s!g#RJQk;Iyd zxoOck2h;KEd!ta>U)xfq$oxl~gxZ0N%!SUqS1~{F;KuP2zXB?^!5C2PEL|5nINQdI zWJ|Uy$p6`jMutOsZ}&cxK94-3mRbo8ax3~lbwPon(g&mYEv+-YcrEV$S$GyTe!yTv z5#U)D2{{q5?Sm?}lma;TK|T4&exlC5Cm%n3H2UuKn6lz2(B)=yozeT|$vEL$VEk)i z+!-4??}goVd~{POm)bKpK9d>tzNH*>0>XYpz05w+f5={W*P1gEol2Z*^|RV1B7L2y zRR%>8u{l$$^g&G|@tJQTAzEuPEHPN6U)WIMK4Qyh6=59%37ejt&@+FeP?tpI2EkHgT+pV0~@+{O+a#mve;hITEtZJiP30nX1Pf zk~O+sXQxoDmUC<_w;G6HH8#S$J>(WIXHjdH+ry2$D(`HvwawczEzYN$3-{dUpZmjN+mvil{DryC8-K=WJTFfEV=$*9kV=I_L zjk7BMRpdXK*HOs~A%ESi^K0iGAO~D!?!b7u$f_Lt)X}jOi8M&8O@8saej_%Yapu7} zJw0MowUMxzX)xn6;&G&Rw>Vo?<^C0BZQoNlrBgK<{lT9SrhiT8Sc#-`Ihh^rBd4sm zdsrueTh2&kh&9HhcK=LNW)wQ4&XRS#P3<5zmUJrRYKrsoQqGK9@~9f?5HS_%v<}h5 z@Mulx1>Tz)$gk*R0H>jtf?B6~{xjRQ|BNTo&mKkt?D=8kn{zkD%fmC-%_6jp%`73a zmb9`=UoP8p>Iyk=Y$#DO!NuuUZn`T~Br8U$lHPUj8%h9nb zsS&)=fp^8r9_?Wq9d^!W&L>r?Me=!4Rc<4uPN5~Kdb@^reR;2&Olac59$9K0^^sGf z(k!Tvg2_~nG^Rx5Vm7j{3WSs!IaRsn2bl)elXH^Nb5j=e@sZx*aobz>{~kS11~n-q zbhb&Rj=37BbwIM{b;K|^neto50Bw}vml_F*jYd)^D?{LyoAaz>Do(U6Po`paVQx&O zy6?u^olIp}&xjL8>ZBv^9dT&p&PK~`>Kvo~PBPVHJ(5q8sma?h-=l%+FShScvu-R& z)Z_JZev4>aqB=)pm3)6b^7nSCc0PjiR@pYt3*=HIF&u?GjY41cyx*usGqcI;R|=>& zZ`<-z-8aw|wL(Jr6W`o-vt6A$D~C>GG2UN*j}-fv2jBmG)326{+EQT@$plZeQ^GDr zLRMr$7w=1Z(Kex!OJchYYfsyIOU&#la{fZX(z_h@R4Jr&T=rD{TQL*07FBLLPZNqI zSB@=s>Mlh}__73Qm_mKnj7ih-+C+J!<~ZRP#-Y1tSoY z?%+YI)%Mc8mz>ptG?a<>q`@cojgk+(o;F2yDKebRPpMW(BzLGr3G4ma_=-E19F^Zw zNM4u;u1TrlkKU6F`b}Z$emfT zpnmO8Wp=?7l2P~J*2i9|D{a8>5=ohld}uzY;ltBa&g*1wqnH^sGG*5LC(|rt(=^4+ zYtzJC+KVnX=OJukRP%LwxuZ2wnV!dZpKGK4(Rt|l{NMHHtp5M4$ZRcU$NZ_=Ftclp z0p_Uue|2|_>_NQt)fmx@qVloR+RX9k$S;forcPZG`ul&> zYc_Nv4n2Et?quj3sIXlL)R|+hj?(OAbZSzeY|1Uy zv+@cIWgK!>!w%TC$+F(J!z<9DdOjx|Wg^ksCP9l5MuCHc;3iN+-( zF6JJ}{v4{zuZ)Vkhyk@K0_o8PqpK9>NNW^jj@C2Jj^sHm%1tm+n^=Rr%d8=XXY~5T+|6Wk54YN z7E3a5>$D=-IYMvxyvwBu947nOc(s#AOkd^~v(-O)ewRd*+^QuKVV$)^)!7s3)_QwI z9-nFLlkv$-*oKd%jCQZLY^LEO&wbbyTTR#^o3+H!Zw{}0xOCt%SJ=zi=i4WwUj_2KVbKKt{iA%xBJ2#LICuXCZ*?xM$vEOkkEt93`1P?XB6jv?r1o7W=W zJd2ueG}V?3_A7^6f)nyaAC)X>finjq-TLkHx$6?RrhRtyZ@+QFii*Fxe3J6nN$NZ# zpGCf@7PY-;`Kfy*FXE|!l&q9rGwt*9)vY!@D{|WvbYwm?hiDyZk;qTj$~U@(jK7j% zrAy)xuZ=(=EJ=VxzTOrUZ5ix+XZ(Q#SuBiCAU@e{CA)X0aGL~qY8{}m9ODSrWGxY2 zH2>J@v2A2gqU(GoK7|N-_w~C9e(g&qD0Hv<7Wv#<)YgFMnV)X?alO^@7+Gob<+YC^ zeZJOL8n72f=t?bwIz(q#~mrpYF z_!xy)x`0JKJ{Q&2F{I0~^$n$W&_R3P!?Zi<$=WG(!fj~|xO|ouP^FI33T_}#8i~#& zz2@!su4o>YL{`=9ILezBw8*FRqFSExoAKf215;cAv+=2c&mV_3wW$=iKS3Gljazf; z*X%_ zjNi;o;^gEjrJhM}-2Zh*^-~@a^5Xt6PB-#0Z>_*HIEGwlf~_#Y+kC3iE8?`o-3H|V+(ADs8H zWUp<^f-{yhp28O%G-1Z`LF=y?jfyjJl3Gsnd#f4Ocn!|7+G@)+_Qt-f$V@6x)2oF1 zt1~l;)9kd&X|I`79sd8&o&Vn@M>9RYPWIo`GG>swp6|Vz^J0l)&MM*j2uJQ%%E(TX zYj`mWX5Ocl+Ju-dwP8~}%*`m$|4|anD0HJc_EuwV*t2^7JDykd)Q%f0wWicpSCMwi zs&C9if?K@P^Egqu%`zNf9D~*gt2LVMdd2CGbwgrJ@tBu_z9_JssMc}{sMc<|( zCO0+&Pd7Y!IclQ=%&U*=FEVl z-KOkr#KT4&oyw0)oF8?NJwe;UB%wX-o?$1Sxq{qyZk%CE>wylQnO5=ONvD1y`ybD2 z^;2DWy86z8J5dgi6v5PIvE509vfr_{lVARHxr0YQay9Y}cgPS?ei_!mJksp-z&=mEJ*B;VYm2W6dT5_x<+S06ha@roA>+Aj!@6_a zK0JMM#F<3)m)SJmt{jg@$o6`%VUO%FNv*T%#s2=nzQkQzqF&j{dGbD(*u7SdP8RFw zda;2vkG39oDZC_*m?5$8o*up)yutOgmxsL1mG^q2R~6HEWR~rb)@eNM$x9Hz(|UwR zkwvBDS{IBX@jFa8n8nd^Im2$eprXCJrNP77VPjo+CJvX!*Nb+-|;2! z#ORk1eVoz$HY56seO2d?$Ojoo;?oVWF@BOn1Q%!Wh?0hq+u;%Z9}NVFi4LOBrrPcB z@RRcvmkFjDUPiT{BMruQQXldk2bGYBmuLB3Fjd+t9&w&tSv}+&g4?rf>QNStN|BuM zZ`HBO_Z_>ot=jZ-?kD-zlxE zlR-*aEKJWZR`C6c4TbQlzq&{$zS_Pj6UY|^$_GxJo_9eu+PntH2TdkDdiQg;)|O9Y z-9SEQ82)|7!L)rc)<^S7D>6Zz%+utQRk^>TVPY)AJd0W0FZ?$4vjXKyK=QR+^*W(G zGW8qL735?Vm!#$ax5KC(&ArUGZnN(a=#q@3RSnmVy?+Oi&j2d0cy#hZQkZxgx;(lA z&TWJ^VA`#IrOY|sRY3B(dFc%GzSpbWH`T}Q#i9V&g&VQS>n7)9zPH%3;k3qPW(@hv zlA?T|5AT278b6=Yu8MmTWQkUcs$9#an!q2%agg#LpyZ|vPyKD5`{)YL7tJPR=ILb> z18=I>cb;ha1=NZ7W4U4XC71(%LrmhRf2gUlt+dF5;%;^-F3gm;L?Coj}p~Bp! zzgGbHpsD8PL8p#q-R3Oc1U!=;6lD*#OpBg=N0H5hQ$Y!mG8b=`RATF4+P+bRt)650 zeLpsi?Qad(e%Vg1GGMcq{ydMZe!8h1o51u-mTc0~8}r!`rZX9^d2D}}&(^BPQBqlu zs+*QtJpEuWyUg?|T{f}p)90~0bpSD~x7XZfYtxo;C@W3XPf0B+$K1)0y?z4ovqlU^4*g+pZwV-kZu@mYS+tmY9>7l2|hRq9vQm zbOT*Bwdrr_fX;JJXJeWEK?f+dUXKkpXb81Tb@~oHpx3(V*!i|!t7HFb!u?<~J1DsV Tk2qzYzW+Rn;`INU**5|JV2Ym2 diff --git a/components/errors/ErrorBoundary.vue b/components/errors/ErrorBoundary.vue deleted file mode 100644 index dd5d512..0000000 --- a/components/errors/ErrorBoundary.vue +++ /dev/null @@ -1,66 +0,0 @@ - - - - - \ No newline at end of file diff --git a/components/oauth/login.vue b/components/oauth/login.vue new file mode 100644 index 0000000..4bf775b --- /dev/null +++ b/components/oauth/login.vue @@ -0,0 +1,141 @@ + + + \ No newline at end of file diff --git a/components/social-elements/instance/Presentation.vue b/components/social-elements/instance/Presentation.vue deleted file mode 100644 index 26d951a..0000000 --- a/components/social-elements/instance/Presentation.vue +++ /dev/null @@ -1,26 +0,0 @@ - - - \ No newline at end of file diff --git a/components/social-elements/users/Account.vue b/components/social-elements/users/Account.vue deleted file mode 100644 index b15ab9d..0000000 --- a/components/social-elements/users/Account.vue +++ /dev/null @@ -1,172 +0,0 @@ - - - \ No newline at end of file diff --git a/components/social-elements/users/AccountActionsDropdown.vue b/components/social-elements/users/AccountActionsDropdown.vue deleted file mode 100644 index acc486f..0000000 --- a/components/social-elements/users/AccountActionsDropdown.vue +++ /dev/null @@ -1,164 +0,0 @@ - - - \ No newline at end of file diff --git a/components/social-elements/users/Badge.vue b/components/social-elements/users/Badge.vue deleted file mode 100644 index a53c1a6..0000000 --- a/components/social-elements/users/Badge.vue +++ /dev/null @@ -1,54 +0,0 @@ - - - \ No newline at end of file diff --git a/components/social-elements/users/UserCard.vue b/components/social-elements/users/UserCard.vue deleted file mode 100644 index 34c2c02..0000000 --- a/components/social-elements/users/UserCard.vue +++ /dev/null @@ -1,125 +0,0 @@ - - - \ No newline at end of file diff --git a/components/ui/form/FormControl.vue b/components/ui/form/FormControl.vue new file mode 100644 index 0000000..39ceec8 --- /dev/null +++ b/components/ui/form/FormControl.vue @@ -0,0 +1,16 @@ + + + diff --git a/components/ui/form/FormDescription.vue b/components/ui/form/FormDescription.vue new file mode 100644 index 0000000..5bf2b09 --- /dev/null +++ b/components/ui/form/FormDescription.vue @@ -0,0 +1,20 @@ + + + diff --git a/components/ui/form/FormItem.vue b/components/ui/form/FormItem.vue new file mode 100644 index 0000000..da875ca --- /dev/null +++ b/components/ui/form/FormItem.vue @@ -0,0 +1,19 @@ + + + diff --git a/components/ui/form/FormLabel.vue b/components/ui/form/FormLabel.vue new file mode 100644 index 0000000..4da9c2c --- /dev/null +++ b/components/ui/form/FormLabel.vue @@ -0,0 +1,23 @@ + + + diff --git a/components/ui/form/FormMessage.vue b/components/ui/form/FormMessage.vue new file mode 100644 index 0000000..2377e43 --- /dev/null +++ b/components/ui/form/FormMessage.vue @@ -0,0 +1,16 @@ + + + diff --git a/components/ui/form/index.ts b/components/ui/form/index.ts new file mode 100644 index 0000000..ff08c0b --- /dev/null +++ b/components/ui/form/index.ts @@ -0,0 +1,7 @@ +export { default as FormControl } from "./FormControl.vue"; +export { default as FormDescription } from "./FormDescription.vue"; +export { default as FormItem } from "./FormItem.vue"; +export { default as FormLabel } from "./FormLabel.vue"; +export { default as FormMessage } from "./FormMessage.vue"; +export { FORM_ITEM_INJECTION_KEY } from "./injectionKeys"; +export { Field as FormField, Form } from "vee-validate"; diff --git a/components/ui/form/injectionKeys.ts b/components/ui/form/injectionKeys.ts new file mode 100644 index 0000000..bb97756 --- /dev/null +++ b/components/ui/form/injectionKeys.ts @@ -0,0 +1,3 @@ +import type { InjectionKey } from "vue"; + +export const FORM_ITEM_INJECTION_KEY = Symbol() as InjectionKey; diff --git a/components/ui/form/useFormField.ts b/components/ui/form/useFormField.ts new file mode 100644 index 0000000..fe33234 --- /dev/null +++ b/components/ui/form/useFormField.ts @@ -0,0 +1,37 @@ +import { + FieldContextKey, + useFieldError, + useIsFieldDirty, + useIsFieldTouched, + useIsFieldValid, +} from "vee-validate"; +import { inject } from "vue"; +import { FORM_ITEM_INJECTION_KEY } from "./injectionKeys"; + +export function useFormField() { + const fieldContext = inject(FieldContextKey); + const fieldItemContext = inject(FORM_ITEM_INJECTION_KEY); + + if (!fieldContext) { + throw new Error("useFormField should be used within "); + } + + const { name } = fieldContext; + const id = fieldItemContext; + + const fieldState = { + valid: useIsFieldValid(name), + isDirty: useIsFieldDirty(name), + isTouched: useIsFieldTouched(name), + error: useFieldError(name), + }; + + return { + id, + name, + formItemId: `${id}-form-item`, + formDescriptionId: `${id}-form-item-description`, + formMessageId: `${id}-form-item-message`, + ...fieldState, + }; +} diff --git a/components/ui/input/Input.vue b/components/ui/input/Input.vue index 770afee..53a87ce 100644 --- a/components/ui/input/Input.vue +++ b/components/ui/input/Input.vue @@ -19,5 +19,5 @@ const modelValue = useVModel(props, "modelValue", emits, { diff --git a/composables/AccountAcct.ts b/composables/AccountAcct.ts index da87dff..4863c21 100644 --- a/composables/AccountAcct.ts +++ b/composables/AccountAcct.ts @@ -4,14 +4,16 @@ import type { Account } from "@versia/client/types"; export const useAccountFromAcct = ( client: MaybeRef, acct: string, -): Ref => { +): { account: Ref; isLoading: Ref } => { const output = ref(null as Account | null); + const isLoading = ref(true); ref(client) .value?.lookupAccount(acct) .then((res) => { + isLoading.value = false; output.value = res.data; }); - return output; + return { account: output, isLoading }; }; diff --git a/layouts/default.vue b/layouts/default.vue index 351ed97..6bce066 100644 --- a/layouts/default.vue +++ b/layouts/default.vue @@ -1,10 +1,8 @@ \ No newline at end of file diff --git a/nuxt.config.ts b/nuxt.config.ts index 324146d..9986777 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -19,6 +19,11 @@ export default defineNuxtConfig({ components: { dirs: [], }, + tailwindcss: { + // Don't inject the default @tailwind utilities CSS + // To avoid conflicts with our own styles + cssPath: false, + }, future: { compatibilityVersion: 4, }, diff --git a/package.json b/package.json index e283541..a8b99de 100644 --- a/package.json +++ b/package.json @@ -61,6 +61,7 @@ "shiki": "^1.24.0", "tailwind-merge": "^2.5.5", "tailwindcss-animate": "^1.0.7", + "vee-validate": "^4.14.7", "vue": "^3.5.13", "vue-router": "^4.5.0", "vue-sonner": "^1.3.0", diff --git a/pages/[username]/index.vue b/pages/[username]/index.vue index d449de6..5e2f524 100644 --- a/pages/[username]/index.vue +++ b/pages/[username]/index.vue @@ -1,16 +1,25 @@ \ No newline at end of file diff --git a/pages/oauth/authorize.vue b/pages/oauth/authorize.vue index f424a97..dd1814d 100644 --- a/pages/oauth/authorize.vue +++ b/pages/oauth/authorize.vue @@ -1,165 +1,59 @@ + + - - \ No newline at end of file diff --git a/server/plugins/DocumentComment.ts b/server/plugins/DocumentComment.ts index 7d4f508..913c2ec 100644 --- a/server/plugins/DocumentComment.ts +++ b/server/plugins/DocumentComment.ts @@ -12,8 +12,7 @@ const art = ` * Join development at https://github.com/versia-pub * * With ❤️ from us: -* - @jessew@social.lysand.org -* - @aprl@social.lysand.org +* - @jessew@beta.versia.social `; export default defineNitroPlugin((nitroApp) => { diff --git a/styles/index.css b/styles/index.css index 5d6a199..30f61c5 100644 --- a/styles/index.css +++ b/styles/index.css @@ -1,5 +1,9 @@ @tailwind base; +@tailwind components; + +@tailwind utilities; + @layer base { :root { --background: 0 0% 100%;