From f98583a77d5ca977b8b0f8eb9f65a28d20a5a988 Mon Sep 17 00:00:00 2001 From: bloodwiing Date: Fri, 10 May 2024 10:53:04 +0300 Subject: [PATCH] User page --- src/routes/(app)/users/[name]/+page.server.js | 22 +++++++++++++++++++ src/routes/(app)/users/[name]/+page.svelte | 20 +++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 src/routes/(app)/users/[name]/+page.server.js create mode 100644 src/routes/(app)/users/[name]/+page.svelte diff --git a/src/routes/(app)/users/[name]/+page.server.js b/src/routes/(app)/users/[name]/+page.server.js new file mode 100644 index 0000000..f34d297 --- /dev/null +++ b/src/routes/(app)/users/[name]/+page.server.js @@ -0,0 +1,22 @@ +import { getUser } from "$lib/server/db/user"; +import { getIdFromName } from "$lib/util"; +import { error } from "@sveltejs/kit"; + +/** @type {import("@sveltejs/kit").ServerLoad} */ +export async function load({ locals, params }) { + const user_id = getIdFromName(params.name); + + if (user_id === null) { + return error(404, `Invalid Name ${params.name}`); + } + + const user = await getUser(locals.sql, user_id); + + if ('error' in user) { + return error(404, `No User of ID ${user_id}`); + } + + return { + user: user + }; +} \ No newline at end of file diff --git a/src/routes/(app)/users/[name]/+page.svelte b/src/routes/(app)/users/[name]/+page.svelte new file mode 100644 index 0000000..59380bf --- /dev/null +++ b/src/routes/(app)/users/[name]/+page.svelte @@ -0,0 +1,20 @@ + + +

{data.user.name}

+

{data.user.joinDate}