diff options
author | polwex <polwex@sortug.com> | 2025-05-21 14:00:28 +0700 |
---|---|---|
committer | polwex <polwex@sortug.com> | 2025-05-21 14:00:28 +0700 |
commit | e839a5f61f0faa21ca8b4bd5767f7575d5e576ee (patch) | |
tree | 53e5bcc3977b6ebef687521a7ac387a89aeb21c8 /src/actions/login.ts | |
parent | 4f2bd597beaa778476b84c10b571db1b13524301 (diff) |
the card flip animation is legit
Diffstat (limited to 'src/actions/login.ts')
-rw-r--r-- | src/actions/login.ts | 57 |
1 files changed, 32 insertions, 25 deletions
diff --git a/src/actions/login.ts b/src/actions/login.ts index 4ceb13f..ee15fe6 100644 --- a/src/actions/login.ts +++ b/src/actions/login.ts @@ -1,9 +1,7 @@ "use server"; -import { AsyncRes } from "@/lib/types"; +import type { AsyncRes } from "@/lib/types"; import db from "../lib/db"; -import cookie from "cookie"; -import { cookies } from "../lib/server/cookiebridge"; -import { unstable_redirect, unstable_rerenderRoute } from "waku/router/server"; +import { useCookies } from "../lib/server/cookiebridge"; export type FormState = { name?: string; @@ -11,21 +9,30 @@ export type FormState = { error?: string; success?: boolean; }; -async function call(formData: FormData, register: boolean) { +async function call( + formData: FormData, + register: boolean, +): AsyncRes<number | bigint> { const nam = formData.get("username"); const creds = formData.get("password"); const password = await Bun.password.hash(creds!.toString()); const name = nam!.toString(); - const res = register - ? db.addUser(name, password) - : await db.loginUser(name, creds!.toString()); - return res; + try { + const res = register + ? db.addUser(name, password) + : await db.loginUser(name, creds!.toString()); + return res; + } catch (e) { + console.error(e); + return { error: `${e}` }; + } } export async function postRegister( prevState: FormState, formData: FormData, ): Promise<FormState> { + // "use server"; const res = await call(formData, true); console.log("reg res", res); if ("error" in res) return { error: "Something went wrong" }; @@ -37,15 +44,15 @@ export async function postRegister( export async function postLogin( prevState: FormState, formData: FormData, -): Promise<FormState> { - return prevState; - // const res = await call(formData, false); - // if ("error" in res) return { error: res.error }; - // else { - // setCookie(res.ok as number); - // return prevState; - // // return { success: true }; - // } +): Promise<any> { + console.log(formData); + const res = await call(formData, false); + console.log({ res }); + if ("error" in res) return { error: res.error }; + else { + setCookie(res.ok as number); + return { success: true }; + } } async function setCookie(userId: number) { const COOKIE_EXPIRY = Date.now() + 1000 * 60 * 60 * 24 * 30; @@ -54,13 +61,13 @@ async function setCookie(userId: number) { const { randomBytes } = await import("node:crypto"); const cokistring = randomBytes(32).toBase64(); const res = db.setCookie(cokistring, userId, COOKIE_EXPIRY); - const { setCookie } = cookies(); - setCookie("sorlang", cokistring, COOKIE_OPTS); + const { setCookie } = useCookies(); + setCookie(cokistring); // unstable_redirect("/"); } -export async function postLogout(prev: number) { - const { delCookie } = cookies(); - const rest = delCookie("sorlang"); - return prev + 9; -} +// export async function postLogout(prev: number) { +// const { delCookie } = cookies(); +// const rest = delCookie("sorlang"); +// return prev + 9; +// } |