|
15 | 15 | import { provide } from '@gitbutler/core/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