Browse Source

probably fixed blank page issue upon logout

module/search
Stephan Richter 2 months ago
parent
commit
cc81b0909a
  1. 15
      frontend/src/App.svelte
  2. 6
      frontend/src/Components/Menu.svelte
  3. 5
      frontend/src/Components/TimeRecorder.svelte
  4. 2
      frontend/src/user.svelte.js

15
frontend/src/App.svelte

@ -3,7 +3,7 @@ @@ -3,7 +3,7 @@
import { Router, Route } from 'svelte-tiny-router';
import { loadTranslation } from './translations.svelte.js';
import { user } from './user.svelte.js';
import { checkUser, user } from './user.svelte.js';
import AddDoc from "./routes/document/Add.svelte";
import AddTask from "./routes/task/Add.svelte";
@ -46,12 +46,17 @@ @@ -46,12 +46,17 @@
fetch(url).then(resp => resp.text()).then(css => document.getElementById('usercss').innerText = css);
}
async function testGuard({to, from, next}){
await checkUser();
next();
}
$effect(() => loadTheme(user.theme));
</script>
{#if translations_ready }
<Router>
{#if user.name }
{#if user.name}
<Router beforeEach={[testGuard]}>
<!-- https://github.com/notnotsamuel/svelte-tiny-router -->
<Menu />
<Route path="/" component={User} />
@ -85,14 +90,16 @@ @@ -85,14 +90,16 @@
<Route>
Not found!
</Route>
</Router>
{:else}
<Router>
<Route path="/user/reset/pw" component={ResetPw} />
<Route path="/oidc_callback" component={Callback} />
<Route>
<Login />
</Route>
</Router>
{/if}
</Router>
<Footer />
{:else}
<p>Loading translations...</p>

6
frontend/src/Components/Menu.svelte

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
<script>
import { onDestroy, onMount } from 'svelte';
import { onMount } from 'svelte';
import { useTinyRouter } from 'svelte-tiny-router';
import { logout, user } from '../user.svelte.js';
@ -37,10 +37,6 @@ async function search(e){ @@ -37,10 +37,6 @@ async function search(e){
}
onMount(fetchModules);
onDestroy(() => {
if (interval) clearInterval(interval);
});
</script>
<style>

5
frontend/src/Components/TimeRecorder.svelte

@ -1,4 +1,5 @@ @@ -1,4 +1,5 @@
<script>
import { onDestroy } from 'svelte';
import { useTinyRouter } from 'svelte-tiny-router';
import { api } from '../urls.svelte';
@ -44,6 +45,10 @@ @@ -44,6 +45,10 @@
interval = null;
}
});
onDestroy(() => {
if (interval) clearInterval(interval);
});
</script>

2
frontend/src/user.svelte.js

@ -15,6 +15,8 @@ export async function checkUser(){ @@ -15,6 +15,8 @@ export async function checkUser(){
for (let key of Object.keys(json)) user[key] = json[key];
url = `${location.protocol}//${location.host.replace('5173','8080')}/api/time/started`;
resp = await fetch(url,{credentials: 'include'});
} else {
user.name = null;
}
if (resp.ok){
const track = await resp.json();

Loading…
Cancel
Save