From 7f80b048545c17bbd42c9ff572b3db503466c280 Mon Sep 17 00:00:00 2001 From: Aditya Mathur Date: Fri, 21 Mar 2025 10:30:19 +0530 Subject: [PATCH 1/2] feat(example): created a new example using user-profile --- examples/user-page/.gitignore | 24 ++++ examples/user-page/index.html | 16 +++ examples/user-page/package.json | 28 ++++ examples/user-page/public/tsky-logo.png | Bin 0 -> 27632 bytes examples/user-page/src/App.tsx | 172 ++++++++++++++++++++++++ examples/user-page/src/index.css | 1 + examples/user-page/src/main.tsx | 16 +++ examples/user-page/src/vite-env.d.ts | 1 + examples/user-page/tsconfig.app.json | 22 +++ examples/user-page/tsconfig.json | 7 + examples/user-page/tsconfig.node.json | 20 +++ examples/user-page/vite.config.ts | 9 ++ 12 files changed, 316 insertions(+) create mode 100644 examples/user-page/.gitignore create mode 100644 examples/user-page/index.html create mode 100644 examples/user-page/package.json create mode 100644 examples/user-page/public/tsky-logo.png create mode 100644 examples/user-page/src/App.tsx create mode 100644 examples/user-page/src/index.css create mode 100644 examples/user-page/src/main.tsx create mode 100644 examples/user-page/src/vite-env.d.ts create mode 100644 examples/user-page/tsconfig.app.json create mode 100644 examples/user-page/tsconfig.json create mode 100644 examples/user-page/tsconfig.node.json create mode 100644 examples/user-page/vite.config.ts diff --git a/examples/user-page/.gitignore b/examples/user-page/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/examples/user-page/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/examples/user-page/index.html b/examples/user-page/index.html new file mode 100644 index 0000000..69b426b --- /dev/null +++ b/examples/user-page/index.html @@ -0,0 +1,16 @@ + + + + + + + + Tsky - User Page Example + + + +
+ + + + \ No newline at end of file diff --git a/examples/user-page/package.json b/examples/user-page/package.json new file mode 100644 index 0000000..2c760aa --- /dev/null +++ b/examples/user-page/package.json @@ -0,0 +1,28 @@ +{ + "name": "examples-user-profile", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc -b && vite build", + "preview": "vite preview" + }, + "dependencies": { + "@tsky/client": "workspace:*", + "react": "^19.0.0", + "react-dom": "^19.0.0" + }, + "devDependencies": { + "@tailwindcss/vite": "^4.0.12", + "@tsky/lexicons": "workspace:*", + "@types/react": "^19.0.10", + "@types/react-dom": "^19.0.4", + "@vitejs/plugin-react": "^4.3.4", + "globals": "^15.15.0", + "tailwindcss": "^4.0.12", + "typescript": "~5.7.2", + "typescript-eslint": "^8.24.1", + "vite": "^6.2.0" + } +} diff --git a/examples/user-page/public/tsky-logo.png b/examples/user-page/public/tsky-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..0781db5433b591456b6984a6b0173953fead4eeb GIT binary patch literal 27632 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�vB4gG5~PQB@AqtWiVR}) zr0wla4|%LrlE?KsH>@?iH#4b7gl7^Rpnd7BBmWAAiq4^rlpB=MScYu<*YAk1h%I*# z0fZZ-DEbsv{+7+82)8xbpyC0mR>t@9r{)^}XFSXuejG-^v_=SairJl*72)#7Iv>R&y<5UI#EZ)QUbVs(^P5(W-0n4X=D-w> zZMODk4$E9qPcG;z?JLDjehM;NESTSEH|az$EzW|C@v!d25EEASd&kGWv4O2z1Ey2M zn&c{e!8g&8TYtoFz+7TS-8 z=thLkOBISO+YXL3kU#ig(AtIlamDq`iCv71&3Olx+*P1h{ZG%Tl+s|uQRvf)iZMIS z2|)%?KcUnR2YUwn6APP4T@H~wAdes!t`23Zh2AfWY=2YA%={^4lk)y~lLro$-sJ#E zs*I@X(~IdMhPs{OC5PCpuVt2kuqY}=E5PNNx*WPTNVBR-Hf#6Bi<{3%mYTUR`U6NX z1|kP%cqy#Kw2HqioLw4Pukl4h#I=S-u>0nn_qBs=#}N7xK+j*Op9E}m7|q{5JK3q* z3kIxh%&K0l?I<;V-(i^3{~Xs}mc#zN&im>`XdyyalYWmZrWJAPT<*#T4Mg4T+WiBe zufi1>UZ%?99E%vlvMoKC<}*FH+SgOAH=5tSQ*}nEJXiLZZWK-#Re~p5`)4I$2f8b*T zm{bP!aK;Z%FW5A)#S*{Y)q0H2;X36*Qp!r25pA6q|N4_Z8LP9pPNbIk+djtBTZ}5` zcVv5>u?SkEUFA4n7jTya@#>ISjblhA1nYykn{pMO1DmPVjqXx(8a6r&%{9Dn8HgR~ z)0V^`wVwZg|<$yEwwwjzVj8_0fl} zJ=*aZXbzS9u4E zF^%YG6_Tk;90B(j68-VUr_*u)V!d?%Y5BhQJTzUj$J><6Xb?b+r7#wq{UZ{qax*7u z9m_df(_c3xcy3!Qe&CV**{ic6uT7Tu)Awu#deCp1k37!%9$Xy_jtRb9#}5yC-pZ7( z(Z0mV8=973U&*62==wj6-E~}4UAs4MLO>Z1L||wUlpGpCX$esV=@gI_kdZ-2sS%Ja zK^kd^p&N!4$sv`H25CmRqrJ);y_*H^&gs%>6|3@yoEcOOol`tiJRdx`$~hS86~>*2|Mzde=?dyS=! z_P^#F9iZfUZG%!^W`$u?tk;6ps=xab#$x+!sP2T6D{1nPMEc^4b;6`Nvq6%ECFUJV z{q-9+X5Iw0ct?|Y{hZ{xSd`o$AbL|{5=&nl(=h(|ZDWWJta9L&)ngrKUK}Jb zhQtWym!fovL`_13Eu{~lpiR3$l*ZhPs?zRDGoEuLdb4-MOETQMPs(Mz??k4@beLze z@cY7ecDbs6crCDK`Y=q*lbrM!w%$QGSYRv-)%~-_(gP&$Pt6Ry+zGmTO;(wv=R8(hV zO|6ho;+fGkJ5exX64EVwE=LD+;xt$oyV}m#j(I*E_R+75Wi~1iZrI5fyVxm%0-x9I zC6>lis9!5b#^)=g#S$f!z3*Zm3upx{I){Q7C;cW_L8Gqe?EWDdJpO}2xg@yfSQe$} z)S@~Ve!AtrM;;(A)Bd@(hs(d^Ng}pP_cHjoIFTV%_uFhNLVJNU{qsw#8 zF2d9?iuqD~9G-d(ev@({)~sc0?Z}1e8~y}aayn4BSNd1jsZxYDu0u&ODK)Zz?|ucM zBR@rA>S@{bVpxBzJY=-fpX5q4@_7=8X_6!jr)2eI+8OA&E6d1mFD~HM*{a}P9n#}_ z+aA;9VpyjeP8A(W7|j-?Mf~a!Gi?L^FWOLnbANlbh-50bl8j7|A>uC2=uS+Ww9N&P zop{Xt)`zbBD|3s_M`UxO0xT%*KKW_YMKj;`r=6LTSMPlfP}veD@aNPF3hVy#TGtN< zG1aMcB<5=RUQs5a?2N=q4nQW*9CShtLZv(H`22Yvev~+7acym@)4rGcL*sGZKJj(Q zaGbAI&c!-bKb;-YujoF+K2=xRJoqb9H1rRs^v^fPbPx1ORNm|fpN@AhG1XG`?l8`j zUBeI+eO6T`r<2T$mA8ZQFOlw3FTwcAu_+^^su#4oAEO=tstUhyf)dQo@h_f9mT^QQ zM}#hhni(3YTFDP>KYw-c-81I`+umbe25*hI z_nAdW*q=_mnz=9J_!_fth)Rd@Q~h~n>zi9gghV_)pYQDehfoSUi8^9$dgHM&H`En( zixQuX`|G;3A8?^7J<*rA_i=;KY1ZfWq@!Lv9W}Z1;gO~sI7h{<{!H(7mg7}L8_E!F zg;$SqrQOEwsy_673DSO>XP-VUd&iK&0X2b~x{QKx3~l$f(GQAOhs_+#55En9|`%oz-B19z5AQ@?McSxDo zp5_%b#VT6e0}J)D9GdL)IPL|$7$O%48zy>^OoqVlExf1d-CdWMQ>k>niFSf=oV!h? z)<*_QvgJ*+WvjogjDAu)nZ4ZT&entDsD$2+VYR>Y8^t$4>lWDzYH!{ z2_$&Ca>B|^lX^s@_J`*NmS^8wJaN4!%u%c7oSX%R>ax%f(cIS>TLB`fJ5{{#1RM(q z_)FIwg}k9hv6Y7;Ump{TE-VL9+T0gUt>HpxAk92M$eoZ(rFf4v-4^i*iAG*`Qje9b z-QOv7^Bi?<%IwZF?s!tCZRTCD*mY98Z_-wXEo6Z4Q8b8<*Z8^D@AiQ3PZE64d}9&c zu}%8u#uR6z!oFP%DZuc!mv9;E(Xrlq%HyQmfd8fDj+izV`IgKH=oZb7#^IUz?JIYL zK1goL?~~o&f6!1_v+gD0h%1EpeWh;ImYrX~izI%d>SZ6O@*O|S_BY%qtD2}KE2x-F zbH65Ec8d7v!~2>!Ddv_L8!sRFkbQbQ<1%4G6Tl!zDvCHdm#IdPgjXWmcIA8r)RA)9X~b9m;t;$v z>G2z-xvU=*SUrpxHpqpBf8dr53b~`a|7!KtnL!XjEiq8=Fj%OLW_G)L;^HTKgZ}u0 zV1m=*G=G^n(i6_6C{i|kpUimoVkfIyF3yoN^$=sz`hFYN?i}8g!{I=+yH~t@tKspt zOI5=b&QQK`<>h&jw3n~OVdl|VNWhr5w40gjz|Atm#b8H2oR8cpz9$yp$D#x7jJVbp zWw7~RyR`T^gB9Y)oLy>XQIn&tG>A!DM6AN?tv9NGP^T7KF;7nX^*Uzud{pppN#LJO z@xGWISgXw4z#{IC#%GoR+yu%r=0ZgfO{wFyfK6$))8)pKNXtHjxIu%h^#0VxFM>{S zab|r9-E7!c5c;=2-%px{d#tSxB!Q*&(WcbBjq`GfcD3^rG$XTFF_zSkI%Jdx8D%Qg6g~==9(FS2m~=iH74uUpgbm2Jw6>xzETk^NA|$QfQW)9QrFtHUyk+Rw zDb|oj#vUtEYDgxrcL6iOZx?Thq#IXP;GS#tf~mfS7inltVw*mfRbJTE3$jN_{n*O% zx|W8#lYZH3QJVI#?7vcb&h3j{blcL8L;0lXZq5af)UnL6?e_k-z%W)%56)y1W#;^x z@j9KhsJfkzLwp>>ps3yvODFdtH&Rlj6P1*ns+wc zfr1#}D{PkHjm*VyQjJ4vki7mSd?38h(X+u@;j_EvLJn@x(dPzxB;no?5Dw>4zu`@E z?|h(+#KP>D4Vbt)*RNJ@dTjErqm=`q$vn>&j6Jut1PAl4?j;g2Jqg>Wz7NBVN?;Ob zwm8_7_FQwA3H16fifCMH-9#K8!un21?$6&grqn*C8runY8J}74=zX#bmW-W`Igk1U89_+ zBf?vCYMHe9@3n(nM-@7+`$uXxJL5j_>q*)1uO>Ajq@dvA+{|XqB@aFBgx^>SPkBDM zKX3qI0(&uCRKZhDdLtzHli*uSc`4#bp|dfh_Gn2;i0+$h7hCu3)#7B21M}bOVv566@_fWoY*Xu z;oefWA3e+^Kpx*gyyb;PO`dFx@VF$`%*{?ioryxg0jghAn=ZU}VQh+oIAQm4tm}=M z?-!|4hA#puT;$^Aq^XVb3z>W=jN`Y~?vaUl?eD3cZW}4~y$ZaVlzSso-nl|RfSQWt zZq!4O`N?tpx?1d2w>gw_@tzD^(E4q#>JkAJOdgk%#l-7f2PqeYX!{Z|`-9|-b)@`- z?)f)&kZM$oHd?6e;P=;^qI3!3&(Ds(t}RcyY|2^PHjs;5I4Lo+<$2-T*}{FVB{KL% zgyom-eveI8=jNu$5!+~JaV>u{-S=>2qj*0>>)NWp)4}c|w<~ASVeP+vKrGM*kwda~$J%pVne4l9mBV zP|$;TQnJ}ld+esdOuMH`>!QBU0PAGf>}8c_2~9d6b9J1CrYl0Ak?FQ$R*PJl zTs|aaowqt48dNLh-^X!CZ)6F`G z?>j}QS9=FOMT5z^Vy2r}%B>PV%Rao^O4RopeS-bQtk>*Lfhgz)mzi5{N{I~5LX35r zLn$+>IgGz>xP=sa4&atuH%sEFGTvM8g?qJoolpfVgY75IR^eU?(;t$^yG{nzJTMj zpyHS`6@NV@i$(VIP8r+QGU7Ip))0k6-d2yHbf68vT9n}dDVda`@&;Xe?|@!K#G4Q; zvrt%u*Ph5oyP1Ah0;UI@`Fj5fqXjk>z;J7jMLPPc!a}tuwspYQdO4K~@?B_4Y~X z(g$v)+*I6bLf*11;-&8EWxsC^D(ku?2ysUj&&f5b)d)YERb>QO8#2)4ijkj2(A?`3 z+=c|Xil<#o=}z+ts!}|eo={cD@D6YjoW+cusZYUu|U;GNjE>eE^(NDz3chx^|iKCnhT_n_gil%+ruE?Xhd)dOvT!^b4T&p&0@}! z4Mg4{T5D!lS*z&^*W_~X5~d}%goi8r=?l+p;_6z#q~m!8#}INd@=#08GS1R^Gvn`^ zBX^Aq)zcxyZlXyTml-6ix%nj>s-?m?y$Awbwdnca+=p zQ-Y-Lhgbpw;TscZulz_sAdPt^FlW{5iCP;Rl_u=Y3c?KH9JQ@UMqtz%zx&CPXv##H zBnHZ0_tee0 zHqjrq)mH3SfG6iVk?*nTh-Me&^(W^IG2NqBEzDc|rpdjTK4FiLtos|5N{ z*PvdZ>VBNr_z4?c7!`Bp9cg?W>USkusUF28Y+kpcN%n3h8tL8JY$drT+Sj}{V4FXe z@TDO;wGLyd;sa+fJ2ZhE>Fr))lLGM5yV9 ziws93@0RV)?nCRMrnCJuK+ zEnzFGQ77(g0%@2rL8i1$>%CxIS-AOFu-!dWiBDk>MVq*qJ!fdwxHRs)rt9~bz?a_F z#o|lL@>gT=PB!-7Y%R-lqXEz0$sVb}kgfF3%X+6eV@m~4R9BYBqD6bN>_~;9O zopYH4Q*b`3QrlMke0hI`LGp5z8QPFN^L4}P&MdYFkCLUh_#?hy(TSAbWu0L<-P4V%W&Td zkyv$zL5EvcLwQb%UodpaP%q{W@N9hzd@Tr-kw0NBvsQKui4j_DF_ALhYh$&cAO@D9 zWG7SOFz)W#pB;>2EgoOnB7Sh`uyfsj)|4gRF)Iz6{uwaV7xl?(nUllKsq*=v~g!8|; zH-BeadqP4I%^|(-Fn`(t|EX?H*Q|A6Hh47MfTq+Atu^{}Xqf#h3DMh=Fkrk#jEURy z?ttC$%O15)B6pWdl0d9T!8ojNkUk3xX%!COCu7Mw0O_tL9ze`+GuicPi@X5?%ompb zK)Thaam>S<3f06Yf#A>nk>o-8#}p;P@Wr6W=xO^PF$5;#Kl5Yjl#Pp$d&jhYWUoIa zBulWNQ3*xP$zP1kRBTr`R!8cP0k{DMS00PAx*dOfmMPvc;(dl=9!dW~Mas^Up{EX+r`(Gr~p!{c=whYe%Q z4(Yr6bSwedy^_Pgbgo;Zm4SC`F8)Du@9~Ro=)V`Im5~4<;*-;>Q^@Pz6h1amh<+9w zrt_B*39w)}9)0DadAIQ+z?MXB$fO()8#26M{d6Y#`I0dto&5hZikwKF-3x+z zFr$Y&B`G2a1bRXITh_lIZ8ZO+u*L6|yaw85FGJh%9~Aa=$=Kg(0MFc~p`Z8sq5mQ& z!vj~bneS1~#KRq6;dr)OR6vadrKYAF_%Js!s2I!6{7jzvLq^_Fmxn!)F;RXro7JM( zimD7mQRX&kCF=LjcWo8$tTc0 z!N5>yk1IKt_)-=?p_MT>p|I>G0Q9)D1+)QM;A7lpkV81f^N8lp4lI7F!RVYJ!!iwF zqwlU>gsQVu?*NS4E0#*Yfs0$29*hynfAQh1uHBcZnQ5b|#+I{MmWg8Pa1LWa;}!BZL!VzeXbg$l7XB8%q@N0+6+LZa1gVpLiA{2J6#6G=l;GQTfQ-5UKktJt=|Z18^J-V4c~!Z= z7|_6DBdeMc-Wu){>=ppDPNeOgc?Aynzi_N%_XaVOS{7I1*!ztO;!HEKLC2La!p=)V66!^#yqXyno|XBIzCoX%ZZvh6v3fG zfH?2PF$hhpZcrN%zoS;O2NQGpL9_l(OnB81MT>jeo#!+9tLydFvc3{eq;R=6k5;Tp z&6v;It}Gm-uI+b^Ovh^nt`J#EWNYioKxrcYC5FU6D*bI7XWX}%>aBvz+)WvV@M5VX6?u!9{o*Y z{dHD2P|OA%vi$D#!~b|c&_9bKbTL)Z7QqEeysCQXByj4~Q)Q<;k_U6Jg=Oq8Wkk$D z+QuTaXxqjBou~m;#-0xriqEHu$L@9Tzd%&^e9c#|@0`%WVePCd+i@bSu1EQy(9JwZ z=v&K^_*lQe7gxqZ2Y?kK9pK@`4SV!hnQUF9GRKSswfFPiY-@6X0a zR{rs>{1yLdDz89$j3TZa+`CsLH6(#6Og$vEUi$54d(SJQ+*1918nNcFxlLJQZ(cNT zj#p$krPH4!zbco@x9u_1tY^lab|tuDfUUM=;UA7yOuQTvP>83{!WZl^kcLJ1%Opm! zxCp57Bd)Hqy({>M1(B3&d)8KV*yumqP*G$?=kRqIJl)-cluY zxk(6)_DJKfX^Pn3j2-W&_DI(7J`-R^T@s*udq6j>;vojlU8naGha5L-B2Gz2SAT`@ z-xNYwD#dbn{&m(KDkza77UK(41mSYrfPeG=2!I;u7a zF1~doXl-h=pHdEB3yvQf3}bfAt8BZ5<1%VYjC}HV>tPd z4s$NQNnRwp>uP8n^R}5Q*8X-F7>?Bn^zS01Lui?ihPl* HiO>H7-UdxB literal 0 HcmV?d00001 diff --git a/examples/user-page/src/App.tsx b/examples/user-page/src/App.tsx new file mode 100644 index 0000000..8d23a57 --- /dev/null +++ b/examples/user-page/src/App.tsx @@ -0,0 +1,172 @@ +import { type ActorProfile, createAgent } from '@tsky/client'; +import type { At } from '@tsky/lexicons'; +import { useEffect, useState } from 'react'; + +async function getUserProfile(identity: string) { + try { + const agent = await createAgent({ + options: { + service: 'https://public.api.bsky.app', + }, + }); + + let did = identity; + + if (!did.startsWith('did:')) { + const _id = await agent.resolveDIDFromHandle(identity); + did = _id.did; + } + + const actor = await agent.actor(did as At.DID); + + return actor.profile(); + } catch (err) { + console.error(err); + } +} + +function App() { + const [search, setSearch] = useState(); + const [user, setUser] = useState(); + + useEffect(() => { + if (search) { + getUserProfile(search).then(setUser); + } + }, [search]); + + return ( +
+
+
{ + const value = values.get('search'); + + if (value) { + setSearch(value.toString()); + } + }} + className="flex gap-3 items-center" + > + + tsky logo + + + +
+ {user && ( +
+ banner +
+ +

{user.displayName}

+

+ @{user.handle} +

+
+

+ {user.followersCount} + + {' '} + Followers + +

+

+ {user.followsCount} + + {' '} + Following + +

+
+

{user.description}

+
+

+ Made with Tsky +

+ + + Bluesky Icon + + + +
+
+
+ )} +
+
+ ); +} + +export default App; diff --git a/examples/user-page/src/index.css b/examples/user-page/src/index.css new file mode 100644 index 0000000..f1d8c73 --- /dev/null +++ b/examples/user-page/src/index.css @@ -0,0 +1 @@ +@import "tailwindcss"; diff --git a/examples/user-page/src/main.tsx b/examples/user-page/src/main.tsx new file mode 100644 index 0000000..a0a3f66 --- /dev/null +++ b/examples/user-page/src/main.tsx @@ -0,0 +1,16 @@ +import { StrictMode } from 'react'; +import { createRoot } from 'react-dom/client'; +import './index.css'; +import App from './App.tsx'; + +const root = document.getElementById('root'); + +if (!root) { + throw new Error('No root element found'); +} + +createRoot(root).render( + + + , +); diff --git a/examples/user-page/src/vite-env.d.ts b/examples/user-page/src/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/examples/user-page/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/examples/user-page/tsconfig.app.json b/examples/user-page/tsconfig.app.json new file mode 100644 index 0000000..1903283 --- /dev/null +++ b/examples/user-page/tsconfig.app.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + "jsx": "react-jsx", + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + }, + "include": ["src"] +} diff --git a/examples/user-page/tsconfig.json b/examples/user-page/tsconfig.json new file mode 100644 index 0000000..1ffef60 --- /dev/null +++ b/examples/user-page/tsconfig.json @@ -0,0 +1,7 @@ +{ + "files": [], + "references": [ + { "path": "./tsconfig.app.json" }, + { "path": "./tsconfig.node.json" } + ] +} diff --git a/examples/user-page/tsconfig.node.json b/examples/user-page/tsconfig.node.json new file mode 100644 index 0000000..1dba6de --- /dev/null +++ b/examples/user-page/tsconfig.node.json @@ -0,0 +1,20 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + "target": "ES2022", + "lib": ["ES2023"], + "module": "ESNext", + "skipLibCheck": true, + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/examples/user-page/vite.config.ts b/examples/user-page/vite.config.ts new file mode 100644 index 0000000..32faff6 --- /dev/null +++ b/examples/user-page/vite.config.ts @@ -0,0 +1,9 @@ +import tailwindcss from '@tailwindcss/vite'; +import react from '@vitejs/plugin-react'; +import { defineConfig } from 'vite'; + +// https://vite.dev/config/ +export default defineConfig({ + plugins: [react(), tailwindcss()], + base: '/examples/user-page/', +}); From 5eb40d9b357c6028f3e0d39691625fd155c2d21c Mon Sep 17 00:00:00 2001 From: Aditya Mathur Date: Fri, 21 Mar 2025 10:40:56 +0530 Subject: [PATCH 2/2] chore(example): updated the name in package.json --- examples/user-page/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/user-page/package.json b/examples/user-page/package.json index 2c760aa..d138726 100644 --- a/examples/user-page/package.json +++ b/examples/user-page/package.json @@ -1,5 +1,5 @@ { - "name": "examples-user-profile", + "name": "examples-user-page", "private": true, "version": "0.0.0", "type": "module",