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