From e9c71c1e58e5da96d976f428fc6cb9a58af44a97 Mon Sep 17 00:00:00 2001 From: i701 Date: Wed, 27 Nov 2024 14:13:44 +0500 Subject: [PATCH] add non stretched favicon --- actions/auth-actions.ts | 79 +++++++++++++++++++++------------------- app/favicon.ico | Bin 15406 -> 15406 bytes package-lock.json | 25 +++++++++++++ package.json | 1 + 4 files changed, 68 insertions(+), 37 deletions(-) diff --git a/actions/auth-actions.ts b/actions/auth-actions.ts index 7957dac..8281e72 100644 --- a/actions/auth-actions.ts +++ b/actions/auth-actions.ts @@ -13,10 +13,7 @@ const formSchema = z.object({ .regex(/^[7|9][0-9]{2}-[0-9]{4}$/, "Please enter a valid phone number"), }); -export async function signin( - previousState: ActionState, - formData: FormData, -) { +export async function signin(previousState: ActionState, formData: FormData) { const phoneNumber = formData.get("phoneNumber") as string; const result = formSchema.safeParse({ phoneNumber }); console.log(phoneNumber); @@ -55,19 +52,16 @@ type ActionState = { payload?: FormData; }; -export async function signup( - _actionState: ActionState, - formData: FormData, -) { +export async function signup(_actionState: ActionState, formData: FormData) { const data = Object.fromEntries(formData.entries()); const parsedData = signUpFormSchema.safeParse(data); // get phone number from /signup?phone_number=999-1231 - const headersList = await headers() - const referer = headersList.get("referer") - const number = referer?.split("?")[1]?.split("=")[1] - let NUMBER_WITH_COUNTRY_CODE: string + const headersList = await headers(); + const referer = headersList.get("referer"); + const number = referer?.split("?")[1]?.split("=")[1]; + let NUMBER_WITH_COUNTRY_CODE: string; - console.log(data) + console.log(data); if (!parsedData.success) { return { @@ -76,25 +70,19 @@ export async function signup( errors: parsedData.error.flatten(), }; } - if (parsedData.data.name.includes("a")){ - return { - message: "ID card already exists.", - payload: formData, - db_error: "id_card", - }; - } if (number) { - NUMBER_WITH_COUNTRY_CODE = `+960${number.split("-").join("")}` + NUMBER_WITH_COUNTRY_CODE = `+960${number.split("-").join("")}`; } else { NUMBER_WITH_COUNTRY_CODE = `+960${parsedData.data.phone_number.split("-").join("")}`; } - console.log({NUMBER_WITH_COUNTRY_CODE}) + console.log({ NUMBER_WITH_COUNTRY_CODE }); const idCardExists = await prisma.user.findFirst({ where: { id_card: parsedData.data.id_card, }, }); + if (idCardExists) { return { message: "ID card already exists.", @@ -102,21 +90,38 @@ export async function signup( db_error: "id_card", }; } - // const newUser = await prisma.user.create({ - // data: { - // name: parsedData.data.name, - // islandId: "1", - // atollId: "1", - // house_name: parsedData.data.house_name, - // id_card: parsedData.data.id_card, - // dob: parsedData.data.dob, - // phoneNumber: NUMBER_WITH_COUNTRY_CODE, - // }, - // }); - // await authClient.phoneNumber.sendOtp({ - // phoneNumber: newUser.phoneNumber, - // }); - // redirect(`/verify-otp?phone_number=${encodeURIComponent(newUser.phoneNumber)}`); + + const phoneNumberExists = await prisma.user.findFirst({ + where: { + phoneNumber: NUMBER_WITH_COUNTRY_CODE, + }, + }); + + if (phoneNumberExists) { + return { + message: "Phone number already exists.", + payload: formData, + db_error: "phone_number", + }; + } + + const newUser = await prisma.user.create({ + data: { + name: parsedData.data.name, + islandId: parsedData.data.island_id, + atollId: parsedData.data.atoll_id, + house_name: parsedData.data.house_name, + id_card: parsedData.data.id_card, + dob: parsedData.data.dob, + phoneNumber: NUMBER_WITH_COUNTRY_CODE, + }, + }); + await authClient.phoneNumber.sendOtp({ + phoneNumber: newUser.phoneNumber, + }); + // redirect( + // `/verify-otp?phone_number=${encodeURIComponent(newUser.phoneNumber)}`, + // ); return { message: "Post created" }; } diff --git a/app/favicon.ico b/app/favicon.ico index 34f1657fd5001e655ed769a66ba35325b08a8fd6..45767d427cc943d6bb17386f1793e8da214f1735 100644 GIT binary patch literal 15406 zcmeHN=aXec6@Qlg0s6rz{k9(rSXzoz=1_tO5XGF(6-)?%h*?xrFbj)f1{FjURDvji zt~nrVoVc^QlXqrz!kgKdoq6HD`@((4-|zJ8d;5m>=53%XtL)u3xBKKyr@K#gq42Q6 z!wZjmWC7nTg$o~1C_JlBC~Vnc%BMW4P`DAWQ%?=?Pbd@~cyys~3TVIr4g<$0H%VJG z=_mdp7Vcn?4T%X1Y1_!?KbCX(EsvoiD^otXr6r#KOp0?U6(E?deL+_0cgc~)@50}` zvf8wHe(#l8ZyUb9m(|97vQWQC+Oc3+@P8!bR-aWADqt}r!siI&*+e}CW$;HJbEST} z$_%6?^`I!FU>8Ul`de@Q3$R6%M?FjRU&_(uUyTgPhJE$mu*}x3mAQ@YOR;{dR9ho5 zQ{E;srERiS|Ff$0S`)I?{D(B!M`fn=6{)qRRpxTzZv7Tl?v+Dx*UO>OHIQ+eOfPMd z$(e1^Xs$#4lD19I_EFy-EBzwBXozO}2ylN;*m`LQu%_DP*O$bv7bTD? zVOurk(t4B8t-qR)6d%bpxOgy9RF+>AaKIXr7R{efkn;(%px+y_Ydxks%0DTV31-W^ZZUOe2RM~SW!5)vT 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 L|7ZT+?}7gUW1vjt diff --git a/package-lock.json b/package-lock.json index d16d4e0..c8960bc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,6 +20,7 @@ "@radix-ui/react-separator": "^1.1.0", "@radix-ui/react-slot": "^1.1.0", "@radix-ui/react-tooltip": "^1.1.4", + "@tanstack/react-query": "^5.61.4", "better-auth": "^1.0.0", "class-variance-authority": "^0.7.0", "clsx": "^2.1.1", @@ -2369,6 +2370,30 @@ "tslib": "^2.4.0" } }, + "node_modules/@tanstack/query-core": { + "version": "5.61.4", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.61.4.tgz", + "integrity": "sha512-rsnemyhPvEG4ViZe0R2UQDM8NgQS/BNC5/Gf9RTs0TKN5thUhPUwnL2anWG4jxAGKFyDfvG7PXbx6MRq3hxi1w==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tanstack/react-query": { + "version": "5.61.4", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.61.4.tgz", + "integrity": "sha512-Nh5+0V4fRVShSeDHFTVvzJrvwTdafIvqxyZUrad71kJWL7J+J5Wrd/xcHTWfSL1mR/9eoufd2roXOpL3F16ECA==", + "dependencies": { + "@tanstack/query-core": "5.61.4" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^18 || ^19" + } + }, "node_modules/@tybys/wasm-util": { "version": "0.8.3", "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.8.3.tgz", diff --git a/package.json b/package.json index 38c68b2..8125018 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "@radix-ui/react-separator": "^1.1.0", "@radix-ui/react-slot": "^1.1.0", "@radix-ui/react-tooltip": "^1.1.4", + "@tanstack/react-query": "^5.61.4", "better-auth": "^1.0.0", "class-variance-authority": "^0.7.0", "clsx": "^2.1.1",