From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server-vie001.gnuweeb.org X-Spam-Level: X-Spam-Status: No, score=-1.2 required=5.0 tests=ALL_TRUSTED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,URIBL_DBL_BLOCKED_OPENDNS, URIBL_ZEN_BLOCKED_OPENDNS autolearn=ham autolearn_force=no version=3.4.6 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gnuweeb.org; s=default; t=1737249162; bh=dSJ9MI4auCtIeo613YPX2V7zjeR8t+eE57KGLnioYRI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Transfer-Encoding:Message-ID:Date:From: Reply-To:Subject:To:Cc:In-Reply-To:References:Resent-Date: Resent-From:Resent-To:Resent-Cc:User-Agent:Content-Type: Content-Transfer-Encoding; b=cHZmJm94awHzpMTg/98+93OtaXxfUvZ2QsAZ9yf1vJF3swBUwK8v9BKLPyR1ISziM BLoPE9uj64WNKMQFCYeDLwJFs76qIiTQ6ZlJTlyLGg56cA8zrENpP/sD2GQL5ZVyC5 roq2etrLMa/SdsOY23/Owmy8cUdU/8N6totiCCo0KNk9ngwzhLok+NQS5AQMc1eVyi Q8M6yUYy3tGdUsQwG6JH8GKPGZIsqbiF1swpnSK29+2Db/JEYQI/sZcXCiwv3EZxzF Om5RlWWI3+H0AIgG5r0Jjzh8wKGFrq00qzixGQ2M98G+LYB3vTAGgLB+ycFxcMSGUM 6yf13Q1D9kZSA== Received: from localhost.localdomain (unknown [101.128.125.239]) by server-vie001.gnuweeb.org (Postfix) with ESMTPSA id 313DE2061C22; Sun, 19 Jan 2025 01:12:41 +0000 (UTC) From: Muhammad Rizki To: Ammar Faizi Cc: Muhammad Rizki , Alviro Iskandar Setiawan , Dwiky Rizky Ananditya , GNU/Weeb Mailing List Subject: [PATCH v1 15/17] feat(routes): add login page Date: Sun, 19 Jan 2025 08:11:32 +0700 Message-ID: <20250119011136.1254-16-kiizuha@gnuweeb.org> X-Mailer: git-send-email 2.45.2.windows.1 In-Reply-To: <20250119011136.1254-1-kiizuha@gnuweeb.org> References: <20250119011136.1254-1-kiizuha@gnuweeb.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: this page includes login form and its page authentication handler. Signed-off-by: Muhammad Rizki --- src/routes/+page.svelte | 124 +++++++++++++++++++++++++++++++++++++++- src/routes/+page.ts | 17 ++++++ 2 files changed, 139 insertions(+), 2 deletions(-) create mode 100644 src/routes/+page.ts diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index cc88df0..46ef170 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,2 +1,122 @@ -

Welcome to SvelteKit

-

Visit svelte.dev/docs/kit to read the documentation

+ + +
+ +
+ + GNU/Weeb Mail Login + Proceed login to manager your email account + + {#if isError()} + + {$message} + + {/if} + + + + + + {#snippet children({ props })} + Username or Email + + + {/snippet} + + + + + + {#snippet children({ props })} + Password + + + {/snippet} + + + + + + + +
+
+
diff --git a/src/routes/+page.ts b/src/routes/+page.ts new file mode 100644 index 0000000..99ac97a --- /dev/null +++ b/src/routes/+page.ts @@ -0,0 +1,17 @@ +import { loginSchema } from "$lib/schemas/login"; +import { superValidate } from "sveltekit-superforms"; +import { zod } from "sveltekit-superforms/adapters"; +import type { PageLoad } from "./$types"; +import { useAuth } from "$lib/hooks/auth.svelte"; +import { redirect } from "@sveltejs/kit"; + +export const load: PageLoad = async () => { + const auth = useAuth(); + + if (auth.isValid()) return redirect(307, "/home"); + + const data = { email: "", password: "" }; + const form = await superValidate(data, zod(loginSchema)); + + return { form }; +}; -- Muhammad Rizki