Die grundlegenden HTML-Dateien sind vorhanden.

This commit is contained in:
2021-04-08 12:30:36 +02:00
parent 9b99c6a4dc
commit f36324bfbd
6 changed files with 162 additions and 0 deletions
+66
View File
@@ -0,0 +1,66 @@
<Nav {active} />
<main>
<svelte:component this={Route} {params} />
</main>
<script>
import Navaid from 'navaid';
import { onDestroy } from 'svelte';
import Nav from './Nav.svelte';
let Route, params={}, active;
let uri = location.pathname;
$: active = uri.split('/').pop() || 'home';
function run(thunk, obj) {
const target = uri;
thunk.then(m => {
if (target !== uri) return;
params = obj || {};
if (m.preload) {
m.preload({ params }).then(() => {
if (target !== uri) return;
Route = m.default;
window.scrollTo(0, 0);
});
} else {
Route = m.default;
window.scrollTo(0, 0);
}
});
}
function track(obj) {
uri = obj.state || obj.uri || location.pathname;
}
addEventListener('replacestate', track);
addEventListener('pushstate', track);
addEventListener('popstate', track);
let r = {
"Zeitraum": "2020#01",
"Arbeitstage": 20,
"Arbeitsstunden": "99:00:00",
"Unterstunden": "10:22:00"
};
let weekly = {
"title" : "Wochenansicht",
"records" : [r, r]
};
const router = Navaid('/')
.on('/', () => run(import('../routes/Home.svelte')))
.on('/views/weekly', () => run(import('../routes/Views.svelte'), weekly))
.on('/views/monthly', () => run(import('../routes/Views.svelte'), weekly))
.on('/views/yearly', () => run(import('../routes/Views.svelte'), weekly))
.on('/working-hours', () => run(import('../routes/WorkingHours.svelte'), weekly))
.listen();
onDestroy(router.unlisten);
</script>