From 713696760e6ce97d6d0bc49f6b02f06812e2e78f Mon Sep 17 00:00:00 2001 From: shafin-r Date: Sun, 10 Aug 2025 19:25:25 +0600 Subject: [PATCH] fix(api): fix api endpoint logic #1 --- .gitignore | 2 + app/(auth)/register/page.tsx | 106 ++++++++++++++++++++++++----------- app/(tabs)/paper/page.tsx | 57 +++++++------------ bun.lockb | Bin 209434 -> 209837 bytes capacitor.config.ts | 9 +++ components/FormField.tsx | 33 +++++++---- package.json | 1 + types/auth.d.ts | 14 +++-- 8 files changed, 138 insertions(+), 84 deletions(-) create mode 100644 capacitor.config.ts diff --git a/.gitignore b/.gitignore index 5ef6a52..9c8a03f 100644 --- a/.gitignore +++ b/.gitignore @@ -39,3 +39,5 @@ yarn-error.log* # typescript *.tsbuildinfo next-env.d.ts + +.vercel diff --git a/app/(auth)/register/page.tsx b/app/(auth)/register/page.tsx index 7a44260..93192d3 100644 --- a/app/(auth)/register/page.tsx +++ b/app/(auth)/register/page.tsx @@ -22,13 +22,17 @@ export default function RegisterPage() { const { setToken } = useAuth(); const router = useRouter(); const [form, setForm] = useState({ - name: "", - institution: "", - sscRoll: "", - hscRoll: "", + full_name: "", + username: "", email: "", - phone: "", password: "", + phone_number: "", + ssc_roll: 0, + ssc_board: "", + hsc_roll: 0, + hsc_board: "", + college: "", + preparation_unit: "", }); const [error, setError] = useState(null); @@ -44,8 +48,8 @@ export default function RegisterPage() { }; const validateForm = () => { - const { sscRoll, hscRoll, password } = form; - if (sscRoll === hscRoll) { + const { ssc_roll, hsc_roll, password } = form; + if (ssc_roll === hsc_roll) { return "SSC Roll and HSC Roll must be unique."; } const passwordRegex = @@ -93,11 +97,11 @@ export default function RegisterPage() { return (
-
+
Logo
+

Personal Info

setForm({ ...form, name: value })} - /> - - - setForm({ ...form, institution: value }) + setForm({ ...form, full_name: value }) } /> - - setForm({ ...form, sscRoll: value }) + setForm({ ...form, username: value }) } /> - - setForm({ ...form, hscRoll: value }) + setForm({ ...form, phone_number: value }) } /> - setForm({ ...form, email: value })} /> - setForm({ ...form, phone: value })} - /> - +

Educational Background

+ + + setForm({ ...form, college: value }) + } + /> + + setForm({ ...form, preparation_unit: value }) + } + /> +
+ + setForm({ ...form, ssc_board: value }) + } + /> + + + setForm({ ...form, ssc_roll: Number(value) }) + } + className="max-w-26" + /> +
+ +
+ + setForm({ ...form, hsc_board: value }) + } + /> + + setForm({ ...form, hsc_roll: Number(value) }) + } + className="max-w-26" + /> +
{error && } diff --git a/app/(tabs)/paper/page.tsx b/app/(tabs)/paper/page.tsx index 26ce11e..3e8123b 100644 --- a/app/(tabs)/paper/page.tsx +++ b/app/(tabs)/paper/page.tsx @@ -2,7 +2,7 @@ import { useSearchParams } from "next/navigation"; import { useRouter } from "next/navigation"; -import { Suspense, useEffect, useState } from "react"; +import { useEffect, useState } from "react"; import Header from "@/components/Header"; import DestructibleAlert from "@/components/DestructibleAlert"; import BackgroundWrapper from "@/components/BackgroundWrapper"; @@ -14,8 +14,7 @@ interface Mock { title: string; rating: number; } - -function PaperPageContent() { +export default function PaperScreen() { const router = useRouter(); const searchParams = useSearchParams(); const name = searchParams.get("name") || ""; @@ -23,6 +22,7 @@ function PaperPageContent() { const [questions, setQuestions] = useState(null); const [errorMsg, setErrorMsg] = useState(null); const [refreshing, setRefreshing] = useState(false); + const [componentKey, setComponentKey] = useState(0); async function fetchMocks() { try { @@ -44,29 +44,31 @@ function PaperPageContent() { const onRefresh = async () => { setRefreshing(true); + await fetchMocks(); + setComponentKey((prevKey) => prevKey + 1); + setTimeout(() => { + setRefreshing(false); + }, 1000); }; if (errorMsg) { return ( -
-
-
-
- -
-
- -
+
+
+
+ +
+
+
- {/* */}
); @@ -118,20 +120,3 @@ function PaperPageContent() { ); } - -export default function PaperScreen() { - -
-
-
-

Loading...

-
-
- - } - > - -
; -} diff --git a/bun.lockb b/bun.lockb index ff2e50db4d0439bfd9bfa31f563fecd98c4c821b..df874496b90f65c0f921c1609758eb7e5e95502a 100644 GIT binary patch delta 37474 zcmeI5d3a4{_xI1<$sq?pjfseeIY^MmKqSXhQ^ZUX1VKm;Q_LEPsv1g5xAqpQrVg~F zRc+B$i?&bEYU|NKXsSA)sx2K*#rs)%kkq5k?{{7A`~KH+`JQ#J@4fDM-NW8z$6oVI zg>7dltcVD^9JJ&9@gMxw`Q~Fw7ai+;dG_L!k9T?P#flYt`h8t6v-{C8!BIXg`RFTC zLh|SQshNuPRoUe#Xbj;&PR-01H4S>atxwFHC92Dh)U}BJQMcqL$UyYH$N=P%wtNs- z6MYu4268mA8ZtL4W9nq`>F4Ki)ys#7Bv2Pw6&Zs3t*pyc2l<&T_t^3=WH5XIvNm$G zEqfrPLXk+RKoC+2b|aEVNaS7c3o5x>{41E2 zJ0W`{HBW&rkDi;EGb3}V%Qb4!gh>e3n{=N)d_@wKL+(VcfLw)M5&0cb(xuW9!h3aB zz8Q$Ji7=!j46AAx)+W+Nj)IS9NMB1(ZjM-NcNEld?y1d- zrE6EC*G0}pitc3m80o4Qd-Z1d3UjIAA4u`437In{66yNc=8J841}RM(otZf~JUiF5 z7+tEEZ}Z<%yy(5^S^2d`N?+y@FHP))Y>3Rx4IevU(n#07`lemef=)z8XJ?O{IB9C8 z%N1wqW3nfX4xc{Rb-95R|AVp8r)K^STFkoCRV!4+{sfjDYXoC3}(T4cxh(Fs7X_$AO66> zrTYI0Gx=r(-$BTbjLsZ6eJln!xl)|VbrN1G_FGe{z#h$ve!h*umNmD!AuA&{oH~x3 zk1l2zyJr5XR#xocNK5WTN-3#PR-0v9GUy{G7ca@hxtbxR$s1Z*&Q}FpobOjA zIl%&_?`EKj6K;*M=J#Vr$-jPE77(Uz!LtO!duzm7)hdUS>aIsh0WRWki-J>atc>;` z8Q+2xNcz7Z3(5EtbhP=J$Y$sl;#@Aez2IL+#=T&@EoUPo{Xk>`rf@+N0cuiE5h>32 zeXK;d3f@MF;X0&bFbgU1SxE7+hwPRtKuU#|cDDFg=rWoUk<#DkcUwI|@pNTJKvE zW714!+KRrGvpDmro^%=ZN7zB60H@`zpw~p-fUJR>KftnUJyyGiho#J8RZ?JA-#AK*l%+UA($`ij}@R zdKL6q#7n*(47GZ6GrUy1MY`qOJMuB80pT5HP5B(VhGm9ZvqB*ygQ>JgD#l7VHFIp{ ztR@sB{37CI$YvnfpbBzq`)lMUPB?`8q#|cCtaAE~wDdoblFl=1l+}U(Mwllg-%GaA zo-;&OM}CBqjy-@B*V%!TVt!_I6nzlwk@(ePtoGEWITAmHe5CkRNU`foHN@^U?4{b_ zwjN|xPeay{)!-Zn0x(*siR)3!W{lzbjVito=uN&`nQpkm)2DGl2?6+WLp7n_*O%$10t$ZE(+(<~P{ z)8A@oJa*E>O^{WQwUE*S8M89O*{3oq*!pkS*Mu)dO2wBkN2(#4&$R4!Bc*}QBaP1G zYvY-3-%#pNS;Otf40CH zlFZyu851%_XP!it9()%m_Kz8DDm2dTyTG!JAU9!s?z2kUwa{AbS0QD;nPSV{$a?4z zNLiKrZFzxobLOm5w9NK) zq^xi4mRru!5LpxbDR_|y4_bEd=;Bn~aP1*$S^5Sk6&RO2O-8}>6&0_H4$QIJ_lRY` z3RxZgz@ygKK93Y1=%6gQ8NGr`vv(mRL&uBv*a-^l1ZP)UEqM@KT9${Dp4v(QlCI4f zs|On*WfXr#%6u=j`5H*^jWN05T=`7RsPLHO3oc}Z(L{{PoiuSw_JqtmYb`@x63Bd9 zN&!;i=hj&Xt|6rY8*Q1JF-tnYH7#rEr0HX`BF{Z;rSG}k>WM^Ker24i7~(m$!D_}~ zi&(EG{cB*SWWeY#c=v%2~;O5Pi_4o;y)5UdWP?!QIgxs}HaugwhC)h3*s*5jPN2gq|97q0*|+jc-7o28%xg<; zemZ04!77z2YAubTx?cA*&E<+RitEN}PaA2WUhOBNFx2Z_;lo9nu`V>;eZ~oS5`A5+ zfn;9E2<;r_i_+gT`0iGyjoanwYjR5o^)^FAgpwqrH86_mdp*_#(GYo zjk={JQuT~m+IqC%x3n97(bDmjlDOB=(r;M?;yFWZY12w;?hnyYjpF+8?#4{n0cL0} zp?+rQ2%$b^D3~S83gz4i?IqO92yWcY7x(F9nxzryX@;J>6}osUl)zl*BC*=TMp~Fx z`^YE^^XhtK<3w1ZmTUwz^=k8tG``C}YB5GpORxJ1+s6o_I6U5y%IY?hSeJ~o_MTDL%Iof4%jFs- zvF@h{^)!N8#%sSAX^~!c1Z!UhBRw)+n`;zCdbM3f5#PTXfl*#}bJojb(~I6T3ZuN* zMx!XotCy>5)M}mR=~vgPINj7DR=d|IZ0&Ww0oTr07ap(uVFX5dJ*`7st{AH-O=CUd z(5wb+Y#r-)0j(`@K1OKESnaA27~}P%vir0%?KjfoRYqZqS37PL5ff0KGdMAtAu&sh zv{6qy0(E=aGz-45F(Lyv?P%T&b(n#y%)f=}o)^tkrWH1vg!_bbgo=s?- z&15VDp6}4wm|AE;tRB+JSQC}#8PLk=Wm-*wooF&D^vKvaKbkD#=_~Hyz8fvhSl2Y( zlSfDv0V~O;wr00H%IZ?HYMu-KC2F4;f!)1&qgZ2b_eA&IlsCpm z?;fx1Gm5%4$0^q>mG|1XQYS4yLS@mW~_^ecV8ovB`Msa@cGeZ=v_h+%}{g# zyP+A{N@%JX3c{hR*d>H!nVjZzxn`K5nS>^rp);vGWc%-9x;lUY;uBZMYc zx!{gg?07;}iXuW*e%(9ScG{apT5qqXEMrTgcsg#`9ZiOw;p!IaS%W4MnzfhC{>n(} z3!qf{kqC>E1^FL4K_oA$S>6l zZ70;l4E;)IfP_5Vx?5hsTEPV-wkM#^hlUkYElV>d&<0YL*jZdKAu99OXW-C4?Gr>H3 z=$(2QgZn1B3nBZMop6qj*&Uu1y{%@GjMXL^O{!H^veecYfoWd7S|4L@TB2t4sd ztx4GqO{Nu1V?kML1P=AO_YIJNWCH8nfySDliQ00b2>MK_RGx|82~V^7%{pR@M`OW| zEaGdT&g*t*An6o z)->LIo)Cw%w0KY2Fl+U-+V(Pja?^i@GDswGWF_LZ*fL zVM5(3TS7RjRS!>t45vqA9t=YhUo^{gKZeG+FD+iXVHAz_x-&!L!{R+pNQmUR5qe*oABwmW9?Gn!HoCOd4b9$r`^4(=MjI!>6Fsj&;vjb66*6Tw zWY9(uk||_$##3lged`c%<5nDwsdpS>49-gQJcp~|u+l0z+=@dzd*5s$FpqwM8$fyZKVCg#zSUrQt$nO!7)5zr?NcLgo>y;juQ7NY$Af#V znpc(MmuCx_RJN*-krnIt3M~eW#KZ+Gunv^fWRuj=jlz7d`*FC=MsZ}kyZU|N>k=wn zC?_ll-F-hlp_-wmZ-qRI%q6!lTAZbEeHHb9rE$%`d>)TxS;`Wz z9!(Yu^U}!uEgB0TWsO*7@vPJw`9C!Z7kb?(%gy=ND&Dh|P!BVI85XWv@Atamlnn!j$PAt7RC4i@e%qqiB)WeQAZum1Yz#igzcirDS6i!ybuBs-tz@=5hbAk7HFthRlU;x=V`y3zTIsmFP2<`W ztbm(hBgB}hGbu5r1#nwl)w2AT{GL&xA>MU(Q(Q-vpLtz~Imi+JXsd2gjVh!%(D zF=R&ye9W3Q<}TwNg2qBm+tv~it1_n5F*M16w$Wu()>*5XnY%j^je8HI*+Zx!R^|;H zz0BiAt%q4<9=DpurBcgS_X4yCSr9xs2uT5WB-OuyCjLn$#Kh`@*BfhM5VN?NP61L6l`{`yE75vkX{|56q4h+gwJ~vi zPdh#=S1^lhjT;+OGkl8`=VxX)7EPMRwGO?x+14!IIfW+PZeG`T!nayuiaRh0Q_!TE zG>8(ON9%@WT?|~dylo`f+TVQKeN4U(y|763zPl7lL6$xf?$41NnDFhDdK=OCR)fleML> zd{g6mA%+9VWrQs=kYYU=NN!_*8;rN*WTXeo1`DcaRsgF&1F##E0dD~Lh?I=?0m*Pbkk5aUVs`*Yy0?LRN~BeODZ|AF}0PTfT>sk4TAsA4s|nfP6lX@+IO!(fHg+O8iG=tRl@R0o zr~LkJkuN1Qv~zAG3ZK$aYTCr+MM^M?FPT5l$g;?G$nwapNEw_YB>!AJ<;#|mPcNJA zZOc9y6H{#Z^5sSjLW*IkkhYXy8ebv@+j58~d`e59hVmuphuLxjQuqw{x=ji-QtM>$ z1gwOkk+Kquv*l#5;!|46SmeTsoFVas|CSKb)n=gyG251NY&jPx%`1>dTUJJ{K$lz$ zB^|N9LOueFh;0MYh2S+d!o7pCiT9zO(t#QU>mO zcxnF6NHMv{msIdqTmMZ+J|e~bDpDGDL#t{TYLp@ge38CJ_|}^FQfx)OBxNO0Y$?T5 zNB2VpBmI$0k&D{M{K+N4+zK@e~OgP|3*rNCv1C> zvKsz~6#kOU-$_cvezD_4(i8cv-w8;>Wm{fBO3Q8{cn2|D0sm3r{7b&HULRLghvHAZOQao{{4}B^h0=J|@7u#~FZC_dnwcO^H`%u0lc*rJ7OUZZzyzEA6?fC!aQfe+A$@nhhb4a0{=Sxl! zyKVh7q*Um2iL|8z-?a5RNr^gO$KOfHRLVb$f%L%pNa^~2+X+Mp|1nZL>9{RFx8qAo zvHJpEDtHPh`e~%}+z&Q?0VyAmV)vt^=bHf`eu5D0k`-Y};eWC9J4q?%H#=UW*#B

tVq%Qkz!R9DdpF& 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 delta 37423 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 { +interface FormFieldProps + extends Omit, "value" | "onChange"> { title: string; + value: string | number; placeholder?: string; - value: string; handleChangeText: (value: string) => void; } -const FormField = ({ +const FormField: React.FC = ({ title, - placeholder, value, + placeholder, handleChangeText, + type, ...props -}: FormFieldProps) => { +}) => { const [showPassword, setShowPassword] = useState(false); - const isPasswordField = title.toLowerCase().includes("password"); + const inputId = useId(); - const inputId = `input-${title.replace(/\s+/g, "-").toLowerCase()}`; + const isPasswordField = + type === "password" || title.toLowerCase().includes("password"); + + const inputType = isPasswordField + ? showPassword + ? "text" + : "password" + : type || "text"; return (

@@ -31,9 +40,10 @@ const FormField = ({
handleChangeText(e.target.value)} className="flex-1 bg-transparent outline-none border-none text-blue-950 text-[16px] font-inherit" {...props} @@ -43,8 +53,9 @@ const FormField = ({ diff --git a/package.json b/package.json index b13ab8c..be800ec 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "lint": "next lint" }, "dependencies": { + "@capacitor/android": "^7.4.2", "@capacitor/core": "^7.4.2", "@radix-ui/react-avatar": "^1.1.10", "@radix-ui/react-label": "^2.1.7", diff --git a/types/auth.d.ts b/types/auth.d.ts index 7bba937..0705609 100644 --- a/types/auth.d.ts +++ b/types/auth.d.ts @@ -8,13 +8,17 @@ export interface UserData { } export interface RegisterForm { - name: string; - institution: string; - sscRoll: string; - hscRoll: string; + full_name: string; + username: string; email: string; - phone: string; password: string; + phone_number: string; + ssc_roll: number; + ssc_board: string; + hsc_roll: number; + hsc_board: string; + college: string; + preparation_unit: "Science" | "Arts" | "Commerce" | string; } export interface LoginForm {