aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/components/AppHeader.svelte10
-rw-r--r--src/lib/store.js1
-rw-r--r--src/routes/+layout.server.js7
-rw-r--r--src/routes/+layout.svelte3
-rw-r--r--src/routes/[username]/+page.svelte10
5 files changed, 17 insertions, 14 deletions
diff --git a/src/components/AppHeader.svelte b/src/components/AppHeader.svelte
index 1ac72f87..04426bd3 100644
--- a/src/components/AppHeader.svelte
+++ b/src/components/AppHeader.svelte
@@ -1,6 +1,6 @@
<script>
import OutClick from 'svelte-outclick';
- import { user, newPayment, colorTheme, tempProfileFiles } from '$lib/store';
+ import { subject, user, newPayment, colorTheme, tempProfileFiles } from '$lib/store';
import { goto } from '$app/navigation';
import { Icon } from '$comp';
import { t } from '$lib/translations';
@@ -29,8 +29,8 @@
$: background =
$tempProfileFiles && $tempProfileFiles.banner
? `url(${$tempProfileFiles.banner})`
- : $user?.banner
- ? `url(/api/public/${$user.username}-banner.png)`
+ : $subject?.banner
+ ? `url(/api/public/${$subject.username}-banner.png)`
: undefined;
</script>
@@ -114,14 +114,14 @@
</a>
{/if}
</nav>
- {#if $user.profile}
+ {#if $subject?.profile}
<div
class="absolute {avatarPosition} rounded-full overflow-hidden text-center w-24 h-24 my-auto"
>
<img
src={$tempProfileFiles && $tempProfileFiles.profile
? $tempProfileFiles.profile
- : `/api/public/${$user.username}-profile.png`}
+ : `/api/public/${$subject.username}-profile.png`}
class="absolute w-full h-full object-cover object-center visible overflow-hidden"
/>
</div>
diff --git a/src/lib/store.js b/src/lib/store.js
index 3cbd9038..95494f52 100644
--- a/src/lib/store.js
+++ b/src/lib/store.js
@@ -31,6 +31,7 @@ export const rate = writable();
export const rates = writable();
export const selectedRate = writable();
export const user = writable();
+export const subject = writable();
export const invoiceAmount = writable();
export const invoiceAmountFiat = writable();
export const token = persistSession('token');
diff --git a/src/routes/+layout.server.js b/src/routes/+layout.server.js
index 9edc43e1..b9df94c1 100644
--- a/src/routes/+layout.server.js
+++ b/src/routes/+layout.server.js
@@ -9,6 +9,11 @@ export async function load({ request, setHeaders, url, params }) {
let { token } = cookie.parse(request.headers.get('cookie') || '');
let user;
let rates;
+ let subject;
+
+ if (params.username) {
+ subject = await get(`/users/${params.username}`);
+ }
if (token) {
try {
@@ -32,5 +37,5 @@ export async function load({ request, setHeaders, url, params }) {
rates = await get('/rates');
- return { user, token, rates };
+ return { subject, user, token, rates };
}
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
index b6e100c0..e260af38 100644
--- a/src/routes/+layout.svelte
+++ b/src/routes/+layout.svelte
@@ -3,7 +3,7 @@
import '../app.css';
import { onMount } from 'svelte';
import { connect } from '$lib/socket';
- import { user, token, rate, rates, selectedRate } from '$lib/store';
+ import { user, subject, token, rate, rates, selectedRate } from '$lib/store';
import { page } from '$app/stores';
import { browser } from '$app/environment';
import { goto } from '$app/navigation';
@@ -15,6 +15,7 @@
export let data;
+ $: $subject = data.subject;
$: $token = data.token;
$: $user = data.user;
diff --git a/src/routes/[username]/+page.svelte b/src/routes/[username]/+page.svelte
index b84959f5..de8c3a26 100644
--- a/src/routes/[username]/+page.svelte
+++ b/src/routes/[username]/+page.svelte
@@ -2,7 +2,7 @@
import { browser } from '$app/environment';
import { onMount } from 'svelte';
import { AppHeader, Icon, PageNotFound } from '$comp';
- import { user } from '$lib/store';
+ import { subject, user } from '$lib/store';
import { copy } from '$lib/utils';
import { t } from '$lib/translations';
export let data;
@@ -35,15 +35,14 @@
let followed = false;
</script>
-{#if data?.username}
<AppHeader avatarPosition="left-[calc(15vw-48px)]" />
<div class="flex xl:block justify-center items-center my-20 px-3">
<div class="space-y-10 xl:space-y-0">
<div class="xl:ml-[calc(15vw-48px)] space-y-2 w-full md:w-72">
- <h1 class="text-3xl font-bold">{data.username}</h1>
+ <h1 class="text-3xl font-bold">{$subject.username}</h1>
- <p class="text-secondary">{$user.address ? $user.address : ''}</p>
+ <p class="text-secondary">{$subject.address && $subject.address !== "null" ? $subject.address : ''}</p>
<!-- TODO
we need to hook this up
@@ -76,6 +75,3 @@
</div>
</div>
</div>
-{:else}
- <PageNotFound />
-{/if}