diff --git a/src/lib/components/lnv/sidebar/UserSidebar.svelte b/src/lib/components/lnv/sidebar/UserSidebar.svelte index 28064bf..32b4ecf 100644 --- a/src/lib/components/lnv/sidebar/UserSidebar.svelte +++ b/src/lib/components/lnv/sidebar/UserSidebar.svelte @@ -5,7 +5,7 @@ import { getAuthURL, getOIDCUser } from "$lib/services/oidc"; import * as Avatar from "$lib/components/ui/avatar"; import { m } from "$lang/messages"; - import { refreshToken, uploadID } from "$lib/services/lnv"; + import { fetchMyUser, followUser, refreshToken, unfollowUser, uploadID } from "$lib/services/lnv"; interface OIDCUser { sub: string; @@ -25,6 +25,8 @@ ); } }); + + let testInput = ""; {#if !user} @@ -74,6 +76,22 @@ refreshToken(); }}>refresh + + {#await fetchMyUser() then u} + Followers: {u.followers} + Following: {u.following} + Reviews: {u.reviewsCount} + Hazards: {u.hazardsCount} + {/await} + + + + +
{user.sub}
{JSON.stringify(user, null, 2)}
{/if}
diff --git a/src/lib/services/lnv.ts b/src/lib/services/lnv.ts
index ec2a7b7..c41a8f1 100644
--- a/src/lib/services/lnv.ts
+++ b/src/lib/services/lnv.ts
@@ -280,3 +280,48 @@ export async function ping() {
const res = await fetch(LNV_SERVER + "/ping").catch(() => ({ ok: false }));
return res.ok;
}
+
+export interface UserInfo {
+ username: string;
+ createdAt: string;
+ reviewsCount: number;
+ hazardsCount: number;
+ followers: number;
+ following: number;
+}
+
+export async function fetchMyUser(): Promise