|
15 | 15 | import { provide } from '@gitbutler/shared/context';
|
16 | 16 | import { WebRoutesService, WEB_ROUTES_SERVICE } from '@gitbutler/shared/routing/webRoutes.svelte';
|
17 | 17 | import { type Snippet } from 'svelte';
|
18 |
| - import { get } from 'svelte/store'; |
19 | 18 | import '$lib/styles/global.css';
|
20 | 19 |
|
21 | 20 | interface Props {
|
|
30 | 29 | const authService = new AuthService();
|
31 | 30 | provide(AUTH_SERVICE, authService);
|
32 | 31 |
|
33 |
| - let token = $state<string | null>(); |
| 32 | + const persistedToken = authService.token; |
34 | 33 |
|
35 | 34 | $effect(() => {
|
36 |
| - token = get(authService.tokenReadable) || page.url.searchParams.get('gb_access_token'); |
37 |
| - if (token) { |
38 |
| - authService.setToken(token); |
39 |
| -
|
40 |
| - if (page.url.searchParams.has('gb_access_token')) { |
41 |
| - page.url.searchParams.delete('gb_access_token'); |
42 |
| - goto(`?${page.url.searchParams.toString()}`); |
| 35 | + if (page.url.searchParams.has('gb_access_token')) { |
| 36 | + const token = page.url.searchParams.get('gb_access_token'); |
| 37 | + if (token && token !== persistedToken.current) { |
| 38 | + authService.setToken(token); |
43 | 39 | }
|
| 40 | +
|
| 41 | + page.url.searchParams.delete('gb_access_token'); |
| 42 | + goto(`?${page.url.searchParams.toString()}`); |
44 | 43 | }
|
45 | 44 | });
|
46 | 45 |
|
|
49 | 48 | window.location.href = jsonLinks.legal.privacyPolicy.url;
|
50 | 49 | }
|
51 | 50 |
|
52 |
| - if (!token && page.route.id === '/(app)/home') { |
| 51 | + if (!persistedToken.current && page.route.id === '/(app)/home') { |
53 | 52 | goto('/');
|
54 | 53 | }
|
55 | 54 | });
|
|
69 | 68 | {/if}
|
70 | 69 | </svelte:head>
|
71 | 70 |
|
72 |
| -{#if (page.route.id === '/(app)' && !token) || page.route.id === '/(app)/home'} |
| 71 | +{#if (page.route.id === '/(app)' && !persistedToken.current) || page.route.id === '/(app)/home'} |
73 | 72 | <section class="marketing-page">
|
74 | 73 | <Header />
|
75 | 74 | <Hero />
|
|
0 commit comments