From a7b570905a226ec21e27bb861b9479fc7221cbd3 Mon Sep 17 00:00:00 2001 From: Jesse Wierzbinski Date: Fri, 29 Nov 2024 22:39:42 +0100 Subject: [PATCH 01/87] refactor: :recycle: Initiate shadcn/ui refactor --- app.vue | 2 +- bun.lockb | Bin 497304 -> 503392 bytes components.json | 18 +++++++ components/modals/confirmation.vue | 2 +- lib/utils.ts | 6 +++ nuxt.config.ts | 5 ++ package.json | 8 +++ styles/index.css | 78 +++++++++++++++++++++++++++++ tailwind.config.ts | 73 ++++++++++++++++++++++++++- 9 files changed, 188 insertions(+), 4 deletions(-) create mode 100644 components.json create mode 100644 lib/utils.ts create mode 100644 styles/index.css diff --git a/app.vue b/app.vue index 36e1647..e70fb99 100644 --- a/app.vue +++ b/app.vue @@ -18,9 +18,9 @@ import "~/styles/theme.css"; import { convert } from "html-to-text"; import "iconify-icon"; +import ConfirmationModal from "./components/modals/confirmation.vue"; import NotificationsRenderer from "./components/notifications/notifications-renderer.vue"; import { SettingIds } from "./settings"; -import ConfirmationModal from "./components/modals/confirmation.vue"; // Use SSR-safe IDs for Headless UI provideHeadlessUseId(() => useId()); diff --git a/bun.lockb b/bun.lockb index 1a7a99bfb4a3063c9e38a0287d2e554a160920e3..2b1e5b4418c7be37a9e33b6345fcc206819a1833 100755 GIT binary patch delta 107421 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

HVN+Hs<-SMS9myW& zXXmz4ighsGQ`XVAgZVj|v#X;`2NRf`<*psJ*39l4=h^T-xA+<=(}3(D)cJnYwm}1q zgq{y(mhebG)AAT8+Rro1Ej;wv+V>CBdlvL?|6~p`emR*Wg~Hr(FMNBsl_e5I{Nc^< zjiMUvFw>A6Aq}h?`|i$MnJ!a}SMfQ*tdx+tC$=p4a?`N*lmTI8vC4iy4)t*9s!=^2 z`{ey4KF543CC2;v?(Nf*iHuMAKFmB)&we6@F5HhKZfL6CkJuld<6M}@k&D{zSvmH5 zJg$-NfumA?*w%`VFNwI@dg$}Y}YY{$6=om$7|7}(J~Rqd0=p=SpvGF5%Bc-`Q`@j1S+ zQr1)tZ`;3O{)O==TRNHwxvBjGIdlzlc1ddgg8>g3#OL55w0~}Au-{kV?rX7~=`*Hn zJAM8bZ%;0NOX(_UOSsuf9U;GvLw8<{7Ce4j>6^13;&VJB#gCNVf_HwL`n-i_d`gNQ zCS@MV7V6++cVYUb37u22Yk_Aj`nLcYVeDI_>|N=&2^Ox?CHJ+ zteCh_*Zwg_JICj!L5e?R{f9O1ygTB2bbLzZo~CeKdNzt2TJKc1&juBKcl=#^js-nU z2XZ(D4lwVO^VIRUI{K4*HZD{RdkAuI; zLMpd@u6ycl2b*a>(_1^7KX@)51^E5zLtEF0>D&<0D}aOSqDb>=0LQt2p(a-WXH}n4 zL*18kb8B*!;(EZav;g-Z?pqaZUJ7v3=0?i(QOSg1CSO5kRmaR>rdL5{QwI-%Q}?11 z=ZBfAe3asMYnXd=*N3k;ef{ukF zO<+xD4wLOI*Mh4@n%@gMH#zb|nFU2S+Rh(r9D!7mnFEJT#n-R@v}jH6?$WNEPdA?) zKXEt=WK9NIJ8sQ_yvwL#~K3`Jt<<9sV^TW(j)&4NbeK-tG zGqU-u9gRE2=lIuyt*d7Z!c2u?l&xd+?8wXL>?6KyHY>jD_tt3oq^VG7o9FBk@hM?p zW(sBfigJbIniPKFXKux`d(O16K2m!5h1pw-y@E$fd-+Jy(P4r~8AOS}6WpiL^{cwf zx|!kc#gyPeP**u)CYT)M$T@w2X``H9lT(NI&(p4Glr>~TI&x}8a}d}(!OS2>$VqZ! zA;*UKCMG&&!jl6sGaKddXoE?o$5k9zo5^RKcAjh=m!#@UQ%t#WG?jOX=^H}m&J@4= zKYa$XJ;Yhc{gsD$?jW;1QKwh&v$nu=^QbJn+*^txcmL_;YAFW!pN}r-B|DUQIk22b z%}V)=obEou9h#ABdd24VQ@V1vK3R4*;OlTt_Fyw3l#1bar-`rCRxvZB0(bFN$Nc{DS#->N_htB;`Q~~BCek-7>+)b^aA5ZR>AdtXOSh5C z)Cnd{MW?-?izIeUF86~5U%#jY?!D*Uk?V8&H_MrqQr0(SmMk!{D>@50{=eF;J0Pm# z`Ev*NP7xIdD#D=%f(AVVRK$j;C>BJpSCGyjO~8T$u_T(<6LpLgHL({|;@P5NY_Yf4 zuq(D$qlqO3f1iEt?VTQ=`Tp_y>+Ze%?Ck99?CkFB?7k*hw6~SYS>xAA>MP-wo_U7k zI(#D`Sy-I;0y+ivJy{2+EHq9FBt!8kc*axjJFW>vnB?@e*OcYP@Rc3TRV{qY8ZV&i z01Tb}pvJnt$DI~+Vy878Chk76g@oCF1#~O`dbb@5YFOl){5Lf&&&*l84eJ!q>}kD3 zXEXw1{uAG_BfW;NS&+H3s$0J_&^L0-jd`em>=cx|@z|vl>uWE2=Z(+%7m?S`VCmK( zX|g-`)z(J-f3}%qlqpK7(FWbL-eP*T3BR1;$KHMH6}Ew1@J)ffODKCEz?}ThCGd}; z#seBo_~z$%?@t-YFIYlWfhEY7+&&PU@#1!ZNx_=W)0S9fG)=@n>4ETDOWNY77X4{( zOD#_2ZmD|Ar~M>QwXC$w8H|UG;CGcKiavC$oyx)Y$}&llEbEL8ePF-hPjLl`w#6Yd zq_7p}>|PfSExR&&EmE*E&X&>mp0#ItnC&l?OPwKk(gd?Ro$}|32zaHT>_}lNp}I-W zItF=EjT2Mg!N=*9bu-gO#o2;WFjYbM{@KX4cRM*gBv+Wd7 zc*BO{Z}H29n4E|KGt|pZxgihuVPu!cd5%{1b9{Z#v$mMhkX3g5awILp zZ7Yss8xc#8QVS^!dR%RKy08tVn7rJ*tLPfbdjp7?K#W?psMCnvmp(wem#I2B?wYW) zZss;)UZ>SmKNy@fTP;mk+SNC6&%JbMkP(3%H3$f$?2^?S-XKl>Q*NE_@Ym6|p`wh% z$mz=)XhSe$3+K=+_8Z@pim}zh{ao$4s3t1m0X){lu+2yBx~Mer4jp-hV3UoNR%}tV zh96wOQd|CdA@I?-d!uTj9NEPiWKQEljP#YOH`1vPl}GvQ8zn<0Z=gAJ#g0r#KP>aX zvXIdZc{DQ}^@2Y(sVjcvXIk79YdVvczU=NI*66QKSbF>rvh_TeVG+8R$7+yb%Tj!c zuFubsfJfbdNLg3VT^xTP%U zkr(p^5C}$RIyDX{Y#!PCmzqnbHw+OS&DhUD68B#&1cG(c$`j^X@h&%!%`}CJfHr-TPl-=9X!ERXE9p6lz-BtH_TY2_Sh06UmSb2Uk zo#+91f4p@k?myl~wn>;SFG#a6mZ$ZXjbnh8qE^;>97A5?dJK23hF@}L%dRppdB^J&+6R3f}D zxGCHw$@5CMnca);I!*@jm~*fl=V#k!LtnJkKR~cjmUnqN?rM|O%x&p#Ec~3vwVC{0r}pm-_<9vmeGoX>-|``B!HmCllF#y3GSt)EmPB@8r1-JQCUc zQ0n6y(wgh95d*h5WcEEK(Pq=3H%MXgq-!^I%e$<5_(00b#+7nA=@{~AY<5c2e~gJ3 zvn)8ZI}psMfn%4QbNgdf;spR32NJTBt+t=OIS>FbR2x;&P)L6i?+=6}5HtV&DR+mH zIjgh}_9VDBwv!ejuhMB3ZS4=eh~6c2l^;E>O&Qwp z%T7Q_;XXX>k3t7PELpoLX@Dx&w~S3h6q&k5T8Cen>|X5Of3g&|g4E6kCwjoPSr?r1#I*r4X0QsB>HaS%pL7=|C`VvtzBoH(hG`ly`p{IB|JzP4EU#+Y(xKV4xo?(8S) z2+)i;qCYjy_iPY3;tpSFDC8t!YSMOu7tkNLr9vhixRo zG_oG`!vR`{yqe`eux9V){X!ElM8HO*ICX#=rJ~?6ER*_!17tS{djt!yoz4{Gd`SD1 zf6Tbq2sBu?1dY}QrSjMPBK+LfVIQXsG0Gv?pP>HzLCPDXit}9#8my&vp1B*fDkGoG zO|j9;)UV_gVYa-pbM_DgM?!3~4^s~N%|1Z+`1LK@p;&eup8Q6dDA15O{)Dtkkra~y z=Kgs{XmJ!~IJ=I}qbNwdRL;>dILmdAoTF9tUhZf%R_kRA&xb7e=}i+c$WxSQ>3PX2 z4ufmeV^lv5yyACI95kcXF{yR4jvsndbyQf6C_9nLAf%v(9GjlKSFEU2?YfvEjz~$z zXambzihEaH=1)B#_0G|aw09B$nlke*_C0TTMAE8RaFbc?3G#}E&gxH4r+5Swt)(&X zs)l7bb(ftn%*^c4gfnZ&?;=sS_X2zV366-2Z6y6LYZ1E0!wfC>(BYyOL4H&(G7hNeB*$4yScM zXzE;)l&pMei-Qlt<|Di$8&O)!GVQ)dHsgwlD#Nala~cLN=>QRROT&oS?<%FR zcVd?6AH`i+#$A;P#kSb_G$;6IC+*#0qJ0Z&!02XRkoHcH>IXEon%WP7**+VI>Hc+ z+$7r!Rh;G`z)Y818_nGpdUqO&Ebx{BuH;o4t;@hsk0QYA0lS#4nYUzXCpKDvE!Lp_ z-XyO~bl#q~Xde4rd3)|q^u&j^B@M{&@4EX{PFOc&kk@ivccdYyaj%2-+i!DXYZ$qY zdflNAXRJHy*c((EjID;!5LW~MjB7}mmK z1Dk2@l64kL)}p)QH4eUo#M&|M0a%n{?UeU4RE(%Rr5stO zDJ3XC9vTh>Q}8Gtr8qjHbhUmoe-v1*{Xh~}LdJ&oZ!53WiM|Z6EYAm|91X7EtqC2? zRlQn`M&gw!Hjtq4&>$vS;>ryEzQut0o&!;~nffHO_w@TVNz&|>`De^tBBd5m7O1T& zc+GybRa6ikHhCC3pB^EvvdTje#;80jn?ICjn7D|z=S-vhL+ZopFFBvt_ua@`i4t2i za1R;xjFmzmXBR?+89y?HT4W=<@PjjbMs1XXC(!{BWNI&KpND4lBWZa$^06ep(X$Hr zsrNcBQYw-jQ;)H#X3FpM`q(VAbGd%zB*up&j&_M(bnBD!Gawn*Q#Rx_Uxug;-yv^)iQ?5#|_g(s0Y6FG!!YOsu zz3DCGVuB;seKr9OJpbztclOwCL<-zxtde}U<#TMW%q+Dzd{FRBlw ztKzApMjAJYsnQD6<2X+U;Jna?W%xOwpe^C!bigw z@laOBa!~B=q2Y!GVM-POwfacO9E^(Z23m}fTp?AGxzsYf^Uee+P1G*zgS=Sy`!hSpAFG2 z0fgDl5!!lxjP`KgYi>v<4=Jp!qn3B=6uIFT+t-yfU=LX6G6!`%2M9B1X#u0x?j75l zO#~Rk5BG!uG7gX?LV1N~ea}7|e(|&9({?mJm1r=U?AlvmJ6 zmbty0S!J8KEq6hCu7qgaK1gBAJ+rEom~iH87bDqtWOkYh`Fy0OVRKcT&3{FbVj<>| zD4kmoCp4Vcc`96bIj7Io3PVIn;*}q_EEV*aQDTaIlNrFp6%)?a0dvd%8|nQjd{=E-`<_8`CHBm zZGs-qFUaiF3=pOexj$I?*4#doMWZnKP!-0)bHh{_6a zUX^%K~x5wxV7iHT2?QyOG9eYsy~3@KuK9J=I+S+I;2onO}JZuf`0%3ELQWy+Y+tZa+S$ zz{V2ta#mHVi7J+HH49SU&m6Q;^n+%tRMoQ#b(RK995~*9*S@7h53oG|$iS_ZWY53u z=-+wy%gO)3$Am*J?5Y;Y{Zf@|SE=j_1m$XcUH~+D6-brYoLV(7y7gH;u-7mD9?NiL-S{E)=pF~;rllbY+c{+cv#qg7dDcwRzx`9dSRCG&P==J&7&Z8 z1)5wh|Jw9~<&6Tu4G2H=^zGj_b{S_xOp;UD@7Vat??u6JW6HYP)M70-J1rx2&pMkG z(Ia=35%G6zN&~{z(M=&nr}ch3YqELwRZ@U5Jmp?yRp1nKN4bgRTI!ZRR3%DzSxRd+ z+RgID%Xt%?ESS)Gg0_i~`ZPI3)%K{@xFyGD7*n>mk<~hIb{U8|px)Yh_@ddTYW6T9 z6z&uNgl}DU3E|XptA1za--a6zU6E23dG}68n{wc~81g5}Y`8m3XL*;%h;dD{0pUJ* z7;Cvy56LNcOSX46+x*RHDTUSQsXJX^oY~h=un&9ZbbZtG$?{7s?A(P+y>%V3UJvSt zGGcdDT>h3dZ7&)T-y_8XdE*-OS2tAzt~93nQisA>-g`1){k82D_@s7`5n)qT%Illp zI{(eVGi;e8m)pE9twUZ-91!(E{pl~qZYL*1eGvTlU0u4tsP6&76Np-O%HO}+DEhFG z#$!2U%~1xUfvGiSTU9H*z- zW^Yz1M&J$W6UV-!(a5X$7tgR-Ij=$oE_&Ewf)rOK>URSV%45_cJrrgbP;z40IrKkp zSrc!hJ{u_*X>(qM4YbcLEO*P8a@d24S>AU*U{#XyByUz&u!YS5Bcf3~1^cLaj(^k1 zgE~L(V{2ErR>}1!cq2Gl1B5>ix3-Vk@mJIe=IoFW_v=v(L%7#huy3m8Jpb+I=s?f? zAIPk9r}l@jl*hGXy#uy_+t%Pb1ZAapN^8hUj~{uKw+UqzQo^vX^{yNe%HgnQyMSd* z!(s1|yx*@+Wq}m9%!o~H4|>v>JPcyDfne@|6Nh~K4;8j)3j`c5ki%w-d^f-}ewK&I@^o2z7N$X}Ow^ypnlwTQD#nOk(+1`3@wr_L6CN~a zev;8VS8cYN=BG6dkgKdzyaYLi26w%Pj+nKB^h2i|{yp1>iF6obDRkma}9iFeOXCtp=AwMqh!_FfQ$2dIS)Jz_1 z<(^SCUvf*8p>wQPa6aU_S^h&?@f>B zPd<^6Gg(#xe@>NoWj=$`9LJ|DndzAPOUtw?x*yt$D(3A67ceMbOV42Q{)g_ydFMQs zK7TCGl1gAAUOt}_708s<|N6|M_CJ@;gh$Qw&e9b3YDCfN8wa;kgPdTVnK#{}mcHGJ zrJaLz^0v zh}$)PSvAA|K}R+vVtzx+AT-^jWxMsvC8vMPzZWZ~u!UcDda@tg^7AXY&m;c(<{RJI za@r+re%e$&K=!Bn&Vw&G7)9HQ{ycz%bM!89KZp(0vZD~?S48l4?BY5|hfU%g`;he^G;m@cY2W2l|MQ(X?9QwL zggo;Z)0YAdfgc2>-T;zj9)ecZ>PPEXHul+2wnDe~L)~!5y|dDAEpClTaD=0X`|MTd z%fqTL!!AAFwdcF|;wF3*6&(LOz($UDF%&eezcfcodDHZDm&9&t1aE}!70mml^{3$9 zz{(;Z?7&Ly=^bgOE2S`V!H)33;e^v_IY2m+yn%QV@~}mfbiz))otFps&}>`ORKC|r z;Z4onS!ha$qJgZLAUWss_JnGyLb@be4xhL1_L0uMRHyeRRb5zwPRJ>2?<4GeD}JS* zV~0lJl2L1HHEWZb>(;tr3y8DeVMwtBmv;GHx3rcnE9AC;b{mR8ph9(8d|DNvJRD9> zPD8EFhf}#Ta3jmt3)xZF8C963j38<(G^$0=?lZ{e5SzgfCzD7hA zQkW&1c6~?3q4`JRj46|%D4gXbAgqD-IsH+i5&zc2T~yd`5~;70%eC8bT>n>M$0^2? zZBeuid6h?T+r$g}UX7v~jMj6RR`8T9&+od1V%5xPDWW9~ZR{(&sz$Y|8dL0|$@6z6 z=V%&K2(@hpB;%*y{NE0q312H1k!_=CG?1EJKvV@Hb7HNEBbzV&)rd%nraXqo27)O_ zqF?g3_ALvs^5=Za1dXRCZCNxG1L?Z~NY+VyS=+SEvW=Zv7?JyA8nwQ;xN+g_FR|X_ zG|oj+@OhL{1O(fJI(vEEhNlnK?l&S{MpF(Dz7{c3T|xtEp5402b*K?xhZL4K;-8VW zJ}&vajVZ1%bb{se1%h$*wIbDGn%lPvjfhT2VQt!5y;m{Eb+nB!rB4iLE`YOS8F6^a zyTeZ`7Jty{qhcr&2;V6(;^{Ki!c)8U+%eMl0V!+)Gwo18Oz%n+I~Y@bilN0UuO0}d zZ3Az_Y(N<0g{z=P!%<5#E=~mjmTDV%CCV% zV|Ik@+GeYehK47*>IUDrQ9WX0bH#)(@I_m zj^kZOX2^g)8&A2{jFmOyx|@f~RR_!P;+gvLzBdD!hFChuIsdC5al=@F2; zHA?hVE-Ox%=QHJqH@7KAyiaqEIUTOpru0nno95$fQC2>=P5+0sF{OAZjq2ZrSv0L7 z=Zx1t=0IZ|Cz;-_v(Ej~IA;%=KeIp>%y0f91%u2v#Ro$qKW6o9i&wW=S{K_GO{8fg zr>J=W1RHjqEiOv&ayeYV*si=brrdIQbK57ROSbRZGu92;9$kw-DO1gmDVXE_PCES% zlY8?&aFGJ96Q|Gh<9}@@E=A5SuY1XBN!bMijc}rXm&|kUk~t@w1KxMIhVYV1^YeVX zH`mLQCQ5Ift^Yf(xsRt&BAkMW47q9h#1xB{QC8WXp=^*guQR77Pu)IIGN;U?V9Eiv zsT{{CbE$G^@^<-u)Je_fbb`8G5$|k)laxj zhGEL^hquKi`X0A+ytO!2re$)O^D=oG@qE0tJRhgS+lJ?t+ekA7-<@UFK$jcTu1!Ig zEk@1dC2%?MlH~D$*U4akc!|6Oj^`Y44*x5T=a=!Hu*$q{T<rMCxc|x_ z$MNzxeYt$iwk&C)v!`-q)WHXOoS4pLcTvDk_gfa7dkr6q>qu#g%|4NvW!a+wwi-FY z)|^_r!6@7W2&RqhIk;5O?6+c!5I*dhSzq>PC0x>q?Lr{f^xZWqs<~Gzu~W({+#O>` zDIp!~%I${uSkXw@jl9a}k#zA5#;b{=$m%VATaKoHx1d>)FYyu$(2PcDY{9k1`R{el zCbg2*?xIHwcV$jT-bMq)NVPt*^r4T-ZSR)ghXu5t)RKOZWMDxwhcu430_f#i)mH8# z(U^iE8XUJ_H!8?CrTThiORU@p2%L82@Eoi;`F9;!B89DNZ{*MIf2N@38Bu6reCe@l z@_dJieA)DsDQ~7kbi5zVEPjh0@(R=y+Qe-p4=xg?eTuNMvoqHoku2=+G zY!eY&n{sHac$-bu|Kjp-oF`KjBc`V0MF9{6Ld|h#Z5%BwM)Q_LWHYyqk9bn_Offjb z6#~wC(O0LPn8KYlaX2`lk#g9yDZAQ z8cZUTP|V;wLE^%3(2H3U`&VTr+?b0HV{ZKkbdBZp2jUA9cC~HmD_6tbVxK=-JV6QO z5KqX0K3}PS8#d_Yb$#T#aMpDjK=qY^kMfTRG)O4~%k22>`ATY}%riRu?g#e)_g@lJ`VwD_8;nhSA^WVSh;`%j{I=0b2O4S=eNGcZX8zC$NVUV;k4;>Z4e zy|^B@#D^tV`v-m_MXt;WOtbTAVaME~^5iY{8wz3a+g^bZEWkf^0OI+S{GR=4PJSzO z?llR6t5x5qb^`@Df=WIYNWLne5x?MsCaMGnrF0I+M^jYhF-0Jr;G_^kmiDVTGF9pw zMQ<7ozT;|+ix1`RWt!c~A1gOmXEGG`FVz$y_6%BED&AkCay0)#VZ|*LZ47 zahpcFS>BdFu)v~U)^%v5>Fu|~i0FkBN2KhSA8Q{pJMmXz%8+Sfr55ZhLmdQ6*6@v5 zC-PJaZN_Fs>XL@*QeuMopK*UuZ&RJC=%TEbQgOpJNqL=ZO?#keddAS`^vH}@v#kfx zDlF(yCH)OpXNq6gbJUN$*E(0X0He%DGp<_CO7HC&U9-lsHJ%SNjp*KLSTn^1$}1;$ zja>khWUz^TjgKitR4P{Wl%7ZZ6=+}Up?-}Go|%e=&7qW2PW_wI#xt{#x1PM&>5>2E zu!eYM=IH6oU_*k^lN% zKSwMn?>}-27+|B^0Jj4OD(L%76xB81(+VrkJ6=hCT8Fe%cjeP z?iUnu98XH;h?ZUW*?QAiO|}o7Sn%I?&PQ-?shjFULpVnW_1+{xAA&IlpF$Y5E{1NtIL9>m4iw zYlRJK)WnPi(WyzP>DuJfm{@AiM_r8qDhR#pqmv>tGPJ`Y({+(4(Xradp_vJ(>AK7; zq6$Jix1^!bx|mq)Fnp&VC3Zw+a%8+NTALmlA3Guq1_#@d-i@33(1{8{aHI6d7~Kel z%t(lgiB8e7LU||BCda17$MUCW6d0MJOODLcSGN+Hm!rZy>I&`USFsJW4N3xIwanT! z@yv`L>EBYcbk3tkJL^(1z+HOA2Y3qb5!@KT+TG(KGcvXDNvTmux}@mTlsH{{j4mcC zb!c*IWJIa4v#!`l{PggK0uD`gXbCMF;z;H&W|t!Ok*0HZn#V9T}YvtDkgU zC|1nfC0Nkne(Hp|6NGXUK3?cRkK%+tO0iW7WYu3ijJ^vLMvIBx_E%4!1#N^{>NH(6 zW0JyJ3Qjbzp-@%-xQ);d=Wzz8`_o9h;7DoJ)hhCCgYuU)7o5p0P)MeY?FB2nLp$M| zg672u^=RwYYDZcV0un*K$l?_*yrhHy>Tp`*DO4+u5|SfRAVoSjKz+NSTyyAzE@(vWm+0|qFP~~6KX3|pau75%2u8NiGY6}W|+eSh;K_A&nSfHSQP_+e3DH81T4_gX7l(gPWXhJOmgtPkUt%WZX z^rXEI8elLWV9@X%{T_D(h+GE5C8b7YvKAkzYY>x~{LwS)4s}g~QS-`DS8o}Ri5AX` zj2_&8S*~Ha^vt1=NdfpjG$WP?Fg-Sg89Z%*E+!^6MKlyKv9W2|*df5tOF^d zuh&20@$hi9KW&Lo`_S}P=)hmS7Hm3;(igRqmBPN`qK(syz;Gaz%AYYd7?LxF>tJ#| zLP)Qu^?IR32**JH{4Z-_SXog3;`G)_n;z}y&FTVso($`y%haW&Xd}~f(hN}R#VjKx zlD@RGv$_V&cqORG-5h zOO27+0Y;>4kT6tV5G3?gmSbXMT2Efr(7TXop||ZU%vRz{w8C}$p%B5}j_Q3460j{6 zq>aYEx-n`eYPVT%wq%T;?=Vi*MGLq%yCE<=V}t;GwOC<-g4V{Wt*A?aP@Wog}5*+mhQiKbZ^fU{Gd1sc;(VRL~R6B|`ymq$WWa-&}v6wL| zK9z>F7Bu=%*}`pe{f6wDi2M%lTWjNWJilQ+<=M!w{|MsU@ieJSizR%8e70b@T}AGaP=)~f*`_5pF4mo z*$h^@GUan3kIHCYvDZM6dVlbUPUNdsy%F*vsQCn0aQ;}bLf1ukMs;;e{k)ke8(5WHn^7@5o yYUpHh%x?vmXA delta 103774 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 import { Dialog } from "@ark-ui/vue"; +import Button from "~/packages/ui/components/buttons/button.vue"; import { confirmModalService, confirmModalWithInputService, } from "./service.ts"; import type { ConfirmModalOptions, ConfirmModalResult } from "./types.ts"; -import Button from "~/packages/ui/components/buttons/button.vue"; const isOpen = ref(false); const modalOptions = ref({ message: "" }); diff --git a/lib/utils.ts b/lib/utils.ts new file mode 100644 index 0000000..e644794 --- /dev/null +++ b/lib/utils.ts @@ -0,0 +1,6 @@ +import { type ClassValue, clsx } from "clsx"; +import { twMerge } from "tailwind-merge"; + +export function cn(...inputs: ClassValue[]) { + return twMerge(clsx(inputs)); +} diff --git a/nuxt.config.ts b/nuxt.config.ts index 5580686..a452b7a 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -8,6 +8,8 @@ export default defineNuxtConfig({ "@vee-validate/nuxt", "nuxt-security", "@vite-pwa/nuxt", + "shadcn-nuxt", + "@nuxtjs/color-mode", ], vue: { compilerOptions: { @@ -20,6 +22,9 @@ export default defineNuxtConfig({ future: { compatibilityVersion: 4, }, + shadcn: { + componentDir: "./components/ui", + }, compatibilityDate: "2024-11-05", pwa: { manifest: { diff --git a/package.json b/package.json index 6d226ec..8476edb 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ "dependencies": { "@ark-ui/vue": "^4.4.2", "@nuxt/fonts": "^0.10.2", + "@nuxtjs/color-mode": "3.5.2", "@tailwindcss/typography": "^0.5.15", "@vee-validate/nuxt": "^4.14.7", "@vee-validate/zod": "^4.14.7", @@ -39,9 +40,12 @@ "@vueuse/core": "^12.0.0", "@vueuse/nuxt": "^12.0.0", "c12": "^2.0.1", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", "fastest-levenshtein": "^1.0.16", "html-to-text": "^9.0.5", "iconify-icon": "^2.1.0", + "lucide-vue-next": "^0.462.0", "magic-regexp": "^0.8.0", "mitt": "^3.0.1", "nanoid": "^5.0.9", @@ -51,7 +55,11 @@ "nuxt-shiki": "^0.3.0", "overlayscrollbars": "^2.10.1", "overlayscrollbars-vue": "^0.5.9", + "radix-vue": "^1.9.10", + "shadcn-nuxt": "0.11.3", "shiki": "^1.24.0", + "tailwind-merge": "^2.5.5", + "tailwindcss-animate": "^1.0.7", "vue": "^3.5.13", "vue-router": "^4.5.0", "zod": "^3.23.8" diff --git a/styles/index.css b/styles/index.css new file mode 100644 index 0000000..80b551c --- /dev/null +++ b/styles/index.css @@ -0,0 +1,78 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +@layer base { + :root { + --background: 0 0% 100%; + --foreground: 240 10% 3.9%; + + --muted: 240 4.8% 95.9%; + --muted-foreground: 240 3.8% 46.1%; + + --popover: 0 0% 100%; + --popover-foreground: 240 10% 3.9%; + + --card: 0 0% 100%; + --card-foreground: 240 10% 3.9%; + + --border: 240 5.9% 90%; + --input: 240 5.9% 90%; + + --primary: 240 5.9% 10%; + --primary-foreground: 0 0% 98%; + + --secondary: 240 4.8% 95.9%; + --secondary-foreground: 240 5.9% 10%; + + --accent: 240 4.8% 95.9%; + --accent-foreground: 240 5.9% 10%; + + --destructive: 0 84.2% 60.2%; + --destructive-foreground: 0 0% 98%; + + --ring: 240 10% 3.9%; + + --radius: 0.5rem; + } + + .dark { + --background: 240 10% 3.9%; + --foreground: 0 0% 98%; + + --muted: 240 3.7% 15.9%; + --muted-foreground: 240 5% 64.9%; + + --popover: 240 10% 3.9%; + --popover-foreground: 0 0% 98%; + + --card: 240 10% 3.9%; + --card-foreground: 0 0% 98%; + + --border: 240 3.7% 15.9%; + --input: 240 3.7% 15.9%; + + --primary: 0 0% 98%; + --primary-foreground: 240 5.9% 10%; + + --secondary: 240 3.7% 15.9%; + --secondary-foreground: 0 0% 98%; + + --accent: 240 3.7% 15.9%; + --accent-foreground: 0 0% 98%; + + --destructive: 0 62.8% 30.6%; + --destructive-foreground: 0 0% 98%; + + --ring: 240 4.9% 83.9%; + } +} + +@layer base { + * { + @apply border-border; + } + body { + @apply bg-background text-foreground; + } +} diff --git a/tailwind.config.ts b/tailwind.config.ts index 2417310..e982b6e 100644 --- a/tailwind.config.ts +++ b/tailwind.config.ts @@ -1,6 +1,7 @@ import forms from "@tailwindcss/forms"; import typography from "@tailwindcss/typography"; import type { Config } from "tailwindcss"; +import animate from "tailwindcss-animate"; const themeVariables = (color: string) => ({ 50: `var(--theme-${color}-50)`, @@ -17,14 +18,66 @@ const themeVariables = (color: string) => ({ }); export default ({ + darkMode: "class", + safelist: ["dark"], theme: { + container: { + center: true, + padding: "2rem", + screens: { + "2xl": "1400px", + }, + }, extend: { colors: { dark: themeVariables("dark"), - primary: themeVariables("primary"), + /* primary: themeVariables("primary"), */ + border: "hsl(var(--border))", + input: "hsl(var(--input))", + ring: "hsl(var(--ring))", + background: "hsl(var(--background))", + foreground: "hsl(var(--foreground))", + primary: { + DEFAULT: "hsl(var(--primary))", + foreground: "hsl(var(--primary-foreground))", + }, + secondary: { + DEFAULT: "hsl(var(--secondary))", + foreground: "hsl(var(--secondary-foreground))", + }, + destructive: { + DEFAULT: "hsl(var(--destructive))", + foreground: "hsl(var(--destructive-foreground))", + }, + muted: { + DEFAULT: "hsl(var(--muted))", + foreground: "hsl(var(--muted-foreground))", + }, + accent: { + DEFAULT: "hsl(var(--accent))", + foreground: "hsl(var(--accent-foreground))", + }, + popover: { + DEFAULT: "hsl(var(--popover))", + foreground: "hsl(var(--popover-foreground))", + }, + card: { + DEFAULT: "hsl(var(--card))", + foreground: "hsl(var(--card-foreground))", + }, + }, + borderRadius: { + xl: "calc(var(--radius) + 4px)", + lg: "var(--radius)", + md: "calc(var(--radius) - 2px)", + sm: "calc(var(--radius) - 4px)", }, animation: { like: "like 1s ease-in-out", + "accordion-down": "accordion-down 0.2s ease-out", + "accordion-up": "accordion-up 0.2s ease-out", + "collapsible-down": "collapsible-down 0.2s ease-in-out", + "collapsible-up": "collapsible-up 0.2s ease-in-out", }, keyframes: { like: { @@ -38,9 +91,25 @@ export default ({ transform: "scale(1) rotate(360deg)", }, }, + "accordion-down": { + from: { height: "0" }, + to: { height: "var(--radix-accordion-content-height)" }, + }, + "accordion-up": { + from: { height: "var(--radix-accordion-content-height)" }, + to: { height: "0" }, + }, + "collapsible-down": { + from: { height: "0" }, + to: { height: "var(--radix-collapsible-content-height)" }, + }, + "collapsible-up": { + from: { height: "var(--radix-collapsible-content-height)" }, + to: { height: "0" }, + }, }, }, }, - plugins: [forms, typography], + plugins: [forms, typography, animate], content: ["packages/**/*.{vue,js,ts}"], }); From 9ced2c98e42749fb28dcf37a7255bc16ddb53cb2 Mon Sep 17 00:00:00 2001 From: Jesse Wierzbinski Date: Sat, 30 Nov 2024 00:58:04 +0100 Subject: [PATCH 02/87] refactor: :recycle: Rewrite sidebar with shadcn --- app.vue | 1 + biome.json | 3 + bun.lockb | Bin 503392 -> 503392 bytes components.json | 2 +- .../composer/autocomplete-suggestbox.vue | 2 +- components/composer/button.vue | 2 +- components/composer/responding-to.vue | 2 +- components/composer/uploader/file-size.vue | 2 +- components/inputs/checkbox-input.vue | 2 +- .../notifications/notifications-renderer.vue | 2 +- components/settings/types/Enum.vue | 2 +- components/sidebars/sidebar.vue | 278 ++++++++++++++++++ components/sidebars/theme-switcher.vue | 35 +++ .../notes/interactions/row.vue | 4 +- components/social-elements/notes/mention.vue | 2 +- components/social-elements/notes/note.vue | 2 +- components/social-elements/users/Account.vue | 2 +- components/social-elements/users/Badge.vue | 4 +- components/social-elements/users/UserCard.vue | 2 +- components/ui/avatar/Avatar.vue | 24 ++ components/ui/avatar/AvatarFallback.vue | 11 + components/ui/avatar/AvatarImage.vue | 9 + components/ui/avatar/index.ts | 24 ++ components/ui/breadcrumb/Breadcrumb.vue | 13 + .../ui/breadcrumb/BreadcrumbEllipsis.vue | 22 ++ components/ui/breadcrumb/BreadcrumbItem.vue | 16 + components/ui/breadcrumb/BreadcrumbLink.vue | 22 ++ components/ui/breadcrumb/BreadcrumbList.vue | 16 + components/ui/breadcrumb/BreadcrumbPage.vue | 19 ++ .../ui/breadcrumb/BreadcrumbSeparator.vue | 21 ++ components/ui/breadcrumb/index.ts | 7 + components/ui/button/Button.vue | 26 ++ components/ui/button/index.ts | 34 +++ components/ui/collapsible/Collapsible.vue | 15 + .../ui/collapsible/CollapsibleContent.vue | 11 + .../ui/collapsible/CollapsibleTrigger.vue | 11 + components/ui/collapsible/index.ts | 3 + components/ui/dropdown-menu/DropdownMenu.vue | 19 ++ .../DropdownMenuCheckboxItem.vue | 42 +++ .../ui/dropdown-menu/DropdownMenuContent.vue | 40 +++ .../ui/dropdown-menu/DropdownMenuGroup.vue | 11 + .../ui/dropdown-menu/DropdownMenuItem.vue | 34 +++ .../ui/dropdown-menu/DropdownMenuLabel.vue | 33 +++ .../dropdown-menu/DropdownMenuRadioGroup.vue | 19 ++ .../dropdown-menu/DropdownMenuRadioItem.vue | 43 +++ .../dropdown-menu/DropdownMenuSeparator.vue | 24 ++ .../ui/dropdown-menu/DropdownMenuShortcut.vue | 14 + .../ui/dropdown-menu/DropdownMenuSub.vue | 19 ++ .../dropdown-menu/DropdownMenuSubContent.vue | 32 ++ .../dropdown-menu/DropdownMenuSubTrigger.vue | 35 +++ .../ui/dropdown-menu/DropdownMenuTrigger.vue | 17 ++ components/ui/dropdown-menu/index.ts | 16 + components/ui/input/Input.vue | 23 ++ components/ui/input/index.ts | 1 + components/ui/separator/Separator.vue | 35 +++ components/ui/separator/index.ts | 1 + components/ui/sheet/Sheet.vue | 19 ++ components/ui/sheet/SheetClose.vue | 11 + components/ui/sheet/SheetContent.vue | 56 ++++ components/ui/sheet/SheetDescription.vue | 24 ++ components/ui/sheet/SheetFooter.vue | 19 ++ components/ui/sheet/SheetHeader.vue | 16 + components/ui/sheet/SheetTitle.vue | 24 ++ components/ui/sheet/SheetTrigger.vue | 11 + components/ui/sheet/index.ts | 29 ++ components/ui/sidebar/Sidebar.vue | 94 ++++++ components/ui/sidebar/SidebarContent.vue | 17 ++ components/ui/sidebar/SidebarFooter.vue | 17 ++ components/ui/sidebar/SidebarGroup.vue | 17 ++ components/ui/sidebar/SidebarGroupAction.vue | 29 ++ components/ui/sidebar/SidebarGroupContent.vue | 17 ++ components/ui/sidebar/SidebarGroupLabel.vue | 26 ++ components/ui/sidebar/SidebarHeader.vue | 17 ++ components/ui/sidebar/SidebarInput.vue | 21 ++ components/ui/sidebar/SidebarInset.vue | 20 ++ components/ui/sidebar/SidebarMenu.vue | 17 ++ components/ui/sidebar/SidebarMenuAction.vue | 39 +++ components/ui/sidebar/SidebarMenuBadge.vue | 25 ++ components/ui/sidebar/SidebarMenuButton.vue | 58 ++++ .../ui/sidebar/SidebarMenuButtonChild.vue | 33 +++ components/ui/sidebar/SidebarMenuItem.vue | 17 ++ components/ui/sidebar/SidebarMenuSkeleton.vue | 33 +++ components/ui/sidebar/SidebarMenuSub.vue | 21 ++ .../ui/sidebar/SidebarMenuSubButton.vue | 40 +++ components/ui/sidebar/SidebarMenuSubItem.vue | 9 + components/ui/sidebar/SidebarProvider.vue | 94 ++++++ components/ui/sidebar/SidebarRail.vue | 32 ++ components/ui/sidebar/SidebarSeparator.vue | 18 ++ components/ui/sidebar/SidebarTrigger.vue | 26 ++ components/ui/sidebar/index.ts | 54 ++++ components/ui/sidebar/utils.ts | 19 ++ components/ui/skeleton/Skeleton.vue | 14 + components/ui/skeleton/index.ts | 1 + components/ui/tooltip/Tooltip.vue | 19 ++ components/ui/tooltip/TooltipContent.vue | 40 +++ components/ui/tooltip/TooltipProvider.vue | 11 + components/ui/tooltip/TooltipTrigger.vue | 11 + components/ui/tooltip/index.ts | 4 + layouts/app.vue | 42 +-- lib/utils.ts | 6 - nuxt.config.ts | 3 + pages/about/apps.vue | 4 +- pages/index.vue | 2 - pages/oauth/authorize.vue | 4 +- pages/oauth/code.vue | 2 +- pages/oauth/consent.vue | 6 +- pages/oauth/reset.vue | 2 +- styles/index.css | 18 ++ tailwind.config.ts | 14 +- 109 files changed, 2261 insertions(+), 72 deletions(-) create mode 100644 components/sidebars/sidebar.vue create mode 100644 components/sidebars/theme-switcher.vue create mode 100644 components/ui/avatar/Avatar.vue create mode 100644 components/ui/avatar/AvatarFallback.vue create mode 100644 components/ui/avatar/AvatarImage.vue create mode 100644 components/ui/avatar/index.ts create mode 100644 components/ui/breadcrumb/Breadcrumb.vue create mode 100644 components/ui/breadcrumb/BreadcrumbEllipsis.vue create mode 100644 components/ui/breadcrumb/BreadcrumbItem.vue create mode 100644 components/ui/breadcrumb/BreadcrumbLink.vue create mode 100644 components/ui/breadcrumb/BreadcrumbList.vue create mode 100644 components/ui/breadcrumb/BreadcrumbPage.vue create mode 100644 components/ui/breadcrumb/BreadcrumbSeparator.vue create mode 100644 components/ui/breadcrumb/index.ts create mode 100644 components/ui/button/Button.vue create mode 100644 components/ui/button/index.ts create mode 100644 components/ui/collapsible/Collapsible.vue create mode 100644 components/ui/collapsible/CollapsibleContent.vue create mode 100644 components/ui/collapsible/CollapsibleTrigger.vue create mode 100644 components/ui/collapsible/index.ts create mode 100644 components/ui/dropdown-menu/DropdownMenu.vue create mode 100644 components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue create mode 100644 components/ui/dropdown-menu/DropdownMenuContent.vue create mode 100644 components/ui/dropdown-menu/DropdownMenuGroup.vue create mode 100644 components/ui/dropdown-menu/DropdownMenuItem.vue create mode 100644 components/ui/dropdown-menu/DropdownMenuLabel.vue create mode 100644 components/ui/dropdown-menu/DropdownMenuRadioGroup.vue create mode 100644 components/ui/dropdown-menu/DropdownMenuRadioItem.vue create mode 100644 components/ui/dropdown-menu/DropdownMenuSeparator.vue create mode 100644 components/ui/dropdown-menu/DropdownMenuShortcut.vue create mode 100644 components/ui/dropdown-menu/DropdownMenuSub.vue create mode 100644 components/ui/dropdown-menu/DropdownMenuSubContent.vue create mode 100644 components/ui/dropdown-menu/DropdownMenuSubTrigger.vue create mode 100644 components/ui/dropdown-menu/DropdownMenuTrigger.vue create mode 100644 components/ui/dropdown-menu/index.ts create mode 100644 components/ui/input/Input.vue create mode 100644 components/ui/input/index.ts create mode 100644 components/ui/separator/Separator.vue create mode 100644 components/ui/separator/index.ts create mode 100644 components/ui/sheet/Sheet.vue create mode 100644 components/ui/sheet/SheetClose.vue create mode 100644 components/ui/sheet/SheetContent.vue create mode 100644 components/ui/sheet/SheetDescription.vue create mode 100644 components/ui/sheet/SheetFooter.vue create mode 100644 components/ui/sheet/SheetHeader.vue create mode 100644 components/ui/sheet/SheetTitle.vue create mode 100644 components/ui/sheet/SheetTrigger.vue create mode 100644 components/ui/sheet/index.ts create mode 100644 components/ui/sidebar/Sidebar.vue create mode 100644 components/ui/sidebar/SidebarContent.vue create mode 100644 components/ui/sidebar/SidebarFooter.vue create mode 100644 components/ui/sidebar/SidebarGroup.vue create mode 100644 components/ui/sidebar/SidebarGroupAction.vue create mode 100644 components/ui/sidebar/SidebarGroupContent.vue create mode 100644 components/ui/sidebar/SidebarGroupLabel.vue create mode 100644 components/ui/sidebar/SidebarHeader.vue create mode 100644 components/ui/sidebar/SidebarInput.vue create mode 100644 components/ui/sidebar/SidebarInset.vue create mode 100644 components/ui/sidebar/SidebarMenu.vue create mode 100644 components/ui/sidebar/SidebarMenuAction.vue create mode 100644 components/ui/sidebar/SidebarMenuBadge.vue create mode 100644 components/ui/sidebar/SidebarMenuButton.vue create mode 100644 components/ui/sidebar/SidebarMenuButtonChild.vue create mode 100644 components/ui/sidebar/SidebarMenuItem.vue create mode 100644 components/ui/sidebar/SidebarMenuSkeleton.vue create mode 100644 components/ui/sidebar/SidebarMenuSub.vue create mode 100644 components/ui/sidebar/SidebarMenuSubButton.vue create mode 100644 components/ui/sidebar/SidebarMenuSubItem.vue create mode 100644 components/ui/sidebar/SidebarProvider.vue create mode 100644 components/ui/sidebar/SidebarRail.vue create mode 100644 components/ui/sidebar/SidebarSeparator.vue create mode 100644 components/ui/sidebar/SidebarTrigger.vue create mode 100644 components/ui/sidebar/index.ts create mode 100644 components/ui/sidebar/utils.ts create mode 100644 components/ui/skeleton/Skeleton.vue create mode 100644 components/ui/skeleton/index.ts create mode 100644 components/ui/tooltip/Tooltip.vue create mode 100644 components/ui/tooltip/TooltipContent.vue create mode 100644 components/ui/tooltip/TooltipProvider.vue create mode 100644 components/ui/tooltip/TooltipTrigger.vue create mode 100644 components/ui/tooltip/index.ts delete mode 100644 lib/utils.ts diff --git a/app.vue b/app.vue index e70fb99..b049977 100644 --- a/app.vue +++ b/app.vue @@ -16,6 +16,7 @@ + + diff --git a/components/sidebars/theme-switcher.vue b/components/sidebars/theme-switcher.vue new file mode 100644 index 0000000..a0003d9 --- /dev/null +++ b/components/sidebars/theme-switcher.vue @@ -0,0 +1,35 @@ + + + \ No newline at end of file diff --git a/components/social-elements/notes/interactions/row.vue b/components/social-elements/notes/interactions/row.vue index 94f1603..ab92503 100644 --- a/components/social-elements/notes/interactions/row.vue +++ b/components/social-elements/notes/interactions/row.vue @@ -9,9 +9,9 @@ diff --git a/components/social-elements/notes/mention.vue b/components/social-elements/notes/mention.vue index 514bd9f..8eb42cb 100644 --- a/components/social-elements/notes/mention.vue +++ b/components/social-elements/notes/mention.vue @@ -1,6 +1,6 @@