feat: move nav bar to the side (#6)

Co-authored-by: terraputix <terraputix@mailbox.org>
Reviewed-on: useweb/ombrella#6
This commit is contained in:
2026-02-16 01:23:52 +01:00
co-authored by terraputix
parent 53e5fb6538
commit 9a7e66d5d9
29 changed files with 831 additions and 975 deletions
@@ -1,5 +1,5 @@
<script lang="ts">
import { onDestroy, onMount } from 'svelte';
import { onMount } from 'svelte';
import { SvelteDate } from 'svelte/reactivity';
import { storedLocation } from '$lib/stores/settings';
@@ -31,38 +31,19 @@
let loading = $state(true);
const selectedDay = new SvelteDate();
let selectedDayIndex = $state(1);
let fetchedHourly: FetchedHourly | null = $state(null);
let fetchedDaily: FetchedDaily | null = $state(null);
let meteogramCharts: MeteogramCharts | undefined = $state();
const switchDay = (date: Date, index: number) => {
const switchDay = (date: Date) => {
selectedDay.setTime(date.getTime());
selectedDayIndex = index;
meteogramCharts?.scrollToDay(date);
};
onMount(() => {
mounted = true;
document.onkeydown = (e) => {
if (!fetchedDaily) return;
const days = fetchedDaily.dailyDates;
if (e.key === 'ArrowLeft') {
const i = selectedDayIndex - 1;
if (i >= 0 && i < days.length) switchDay(days[i], i);
} else if (e.key === 'ArrowRight') {
const i = selectedDayIndex + 1;
if (i >= 0 && i < days.length) switchDay(days[i], i);
}
};
});
onDestroy(() => {
document.onkeydown = null;
});
$effect(() => {