Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 5e21b4c

Browse files
committedFeb 28, 2025·
Fix header update bug on fresh login
1 parent 00ea79b commit 5e21b4c

File tree

2 files changed

+24
-10
lines changed

2 files changed

+24
-10
lines changed
 

‎src/routes/+layout.svelte

+5-1
Original file line numberDiff line numberDiff line change
@@ -124,10 +124,14 @@
124124
if (user) {
125125
let now = Date.now() / 1000;
126126
if ((user.expires_at ?? 0) < now) {
127-
return user ?? undefined;
127+
return user;
128128
}
129129
}
130+
return undefined;
130131
}).then(async (user) => {
132+
if (!user) {
133+
return undefined;
134+
}
131135
window.dispatchEvent(new CustomEvent('userFound', {
132136
detail: { message: 'Hello from another component!' }
133137
}));

‎src/routes/auth/+page.svelte

+19-9
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,35 @@
22
import {
33
Styles
44
} from 'sveltestrap';
5-
import { onMount } from 'svelte';
5+
import { onMount, getContext } from 'svelte';
66
import { goto } from '$app/navigation';
7-
import { page } from '$app/stores';
7+
import { page, type Writable } from '$app/stores';
88
import AuthService from '$lib/utils/AuthService';
99
import type { User } from 'oidc-client-ts';
10+
import type { SHLAdminParams, SHLClient } from '$lib/utils/managementClient';
11+
12+
let shlStore: Writable<SHLAdminParams[]> = getContext('shlStore');
13+
let shlClient: SHLClient = getContext('shlClient');
1014
1115
let authService = AuthService.Instance;
1216
onMount(async () => {
1317
let newUser: User | undefined;
1418
try {
1519
newUser = await authService.signinCallback();
1620
if (newUser) {
17-
let redirectUrl = authService.getRedirectUrl();
18-
// avoid redirecting to the same page
19-
if (redirectUrl && !redirectUrl.includes($page.url.pathname)) {
20-
goto(redirectUrl);
21-
} else {
22-
goto('/home');
23-
}
21+
setTimeout(async () => {
22+
window.dispatchEvent(new CustomEvent('userFound', {
23+
detail: { message: 'Hello from another component!' }
24+
}));
25+
$shlStore = await shlClient.getUserShls();
26+
let redirectUrl = authService.getRedirectUrl();
27+
// avoid redirecting to the same page
28+
if (redirectUrl && !redirectUrl.includes($page.url.pathname)) {
29+
goto(redirectUrl);
30+
} else {
31+
goto('/home');
32+
}
33+
}, 100);
2434
}
2535
} catch (error) {
2636
console.error("No authentication parameters found.");

0 commit comments

Comments
 (0)
Please sign in to comment.