User page
This commit is contained in:
parent
b36379c044
commit
f98583a77d
22
src/routes/(app)/users/[name]/+page.server.js
Normal file
22
src/routes/(app)/users/[name]/+page.server.js
Normal file
@ -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
|
||||||
|
};
|
||||||
|
}
|
||||||
20
src/routes/(app)/users/[name]/+page.svelte
Normal file
20
src/routes/(app)/users/[name]/+page.svelte
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<script>
|
||||||
|
import { gotoNamedId } from "$lib/util";
|
||||||
|
import { onMount } from "svelte";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @type {{
|
||||||
|
* user: import("$types/base").User
|
||||||
|
* }}
|
||||||
|
*/
|
||||||
|
export let data;
|
||||||
|
|
||||||
|
$: user = data.user;
|
||||||
|
|
||||||
|
onMount(() => {
|
||||||
|
gotoNamedId(user.id, user.name);
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<h1>{data.user.name}</h1>
|
||||||
|
<p>{data.user.joinDate}</p>
|
||||||
Loading…
x
Reference in New Issue
Block a user