This commit is contained in:
2026-03-08 10:04:14 +01:00
parent 7967f63fea
commit 14636bd58f
74 changed files with 14180 additions and 4453 deletions

View File

@@ -3,6 +3,7 @@ import { computed, onBeforeUnmount, onMounted, ref, watch } from 'vue';
import { RouterLink, RouterView } from 'vue-router';
import AppHeader from '@/components/AppHeader.vue';
import AppDrawer from '@/components/AppDrawer.vue';
import ToastNotification from '@/components/ToastNotification.vue';
import { meteoApi } from '@/api/meteo';
import { settingsApi } from '@/api/settings';
import { applyUiSizesToRoot } from '@/utils/uiSizeDefaults';
@@ -158,44 +159,48 @@ if (__VLS_ctx.debugMode) {
__VLS_asFunctionalElement(__VLS_intrinsicElements.span, __VLS_intrinsicElements.span)({});
(__VLS_ctx.debugDiskLabel);
}
/** @type {[typeof ToastNotification, ]} */ ;
// @ts-ignore
const __VLS_0 = __VLS_asFunctionalComponent(ToastNotification, new ToastNotification({}));
const __VLS_1 = __VLS_0({}, ...__VLS_functionalComponentArgsRest(__VLS_0));
/** @type {[typeof AppHeader, ]} */ ;
// @ts-ignore
const __VLS_0 = __VLS_asFunctionalComponent(AppHeader, new AppHeader({
const __VLS_3 = __VLS_asFunctionalComponent(AppHeader, new AppHeader({
...{ 'onToggleDrawer': {} },
...{ class: "lg:hidden" },
}));
const __VLS_1 = __VLS_0({
const __VLS_4 = __VLS_3({
...{ 'onToggleDrawer': {} },
...{ class: "lg:hidden" },
}, ...__VLS_functionalComponentArgsRest(__VLS_0));
let __VLS_3;
let __VLS_4;
let __VLS_5;
const __VLS_6 = {
}, ...__VLS_functionalComponentArgsRest(__VLS_3));
let __VLS_6;
let __VLS_7;
let __VLS_8;
const __VLS_9 = {
onToggleDrawer: (...[$event]) => {
__VLS_ctx.drawerOpen = !__VLS_ctx.drawerOpen;
}
};
var __VLS_2;
var __VLS_5;
/** @type {[typeof AppDrawer, ]} */ ;
// @ts-ignore
const __VLS_7 = __VLS_asFunctionalComponent(AppDrawer, new AppDrawer({
const __VLS_10 = __VLS_asFunctionalComponent(AppDrawer, new AppDrawer({
...{ 'onClose': {} },
open: (__VLS_ctx.drawerOpen),
}));
const __VLS_8 = __VLS_7({
const __VLS_11 = __VLS_10({
...{ 'onClose': {} },
open: (__VLS_ctx.drawerOpen),
}, ...__VLS_functionalComponentArgsRest(__VLS_7));
let __VLS_10;
let __VLS_11;
let __VLS_12;
const __VLS_13 = {
}, ...__VLS_functionalComponentArgsRest(__VLS_10));
let __VLS_13;
let __VLS_14;
let __VLS_15;
const __VLS_16 = {
onClose: (...[$event]) => {
__VLS_ctx.drawerOpen = false;
}
};
var __VLS_9;
var __VLS_12;
__VLS_asFunctionalElement(__VLS_intrinsicElements.div, __VLS_intrinsicElements.div)({
...{ class: "lg:flex" },
});
@@ -205,40 +210,40 @@ __VLS_asFunctionalElement(__VLS_intrinsicElements.aside, __VLS_intrinsicElements
__VLS_asFunctionalElement(__VLS_intrinsicElements.div, __VLS_intrinsicElements.div)({
...{ class: "px-5 pt-6 pb-4 border-b border-bg-soft" },
});
const __VLS_14 = {}.RouterLink;
const __VLS_17 = {}.RouterLink;
/** @type {[typeof __VLS_components.RouterLink, typeof __VLS_components.RouterLink, ]} */ ;
// @ts-ignore
const __VLS_15 = __VLS_asFunctionalComponent(__VLS_14, new __VLS_14({
const __VLS_18 = __VLS_asFunctionalComponent(__VLS_17, new __VLS_17({
to: "/",
...{ class: "text-green font-bold text-xl tracking-wide flex items-center gap-2" },
}));
const __VLS_16 = __VLS_15({
const __VLS_19 = __VLS_18({
to: "/",
...{ class: "text-green font-bold text-xl tracking-wide flex items-center gap-2" },
}, ...__VLS_functionalComponentArgsRest(__VLS_15));
__VLS_17.slots.default;
}, ...__VLS_functionalComponentArgsRest(__VLS_18));
__VLS_20.slots.default;
__VLS_asFunctionalElement(__VLS_intrinsicElements.span, __VLS_intrinsicElements.span)({});
var __VLS_17;
var __VLS_20;
__VLS_asFunctionalElement(__VLS_intrinsicElements.nav, __VLS_intrinsicElements.nav)({
...{ class: "flex-1 py-4 px-3 flex flex-col gap-0.5 overflow-y-auto" },
});
for (const [l] of __VLS_getVForSourceType((__VLS_ctx.links))) {
const __VLS_18 = {}.RouterLink;
const __VLS_21 = {}.RouterLink;
/** @type {[typeof __VLS_components.RouterLink, typeof __VLS_components.RouterLink, ]} */ ;
// @ts-ignore
const __VLS_19 = __VLS_asFunctionalComponent(__VLS_18, new __VLS_18({
const __VLS_22 = __VLS_asFunctionalComponent(__VLS_21, new __VLS_21({
key: (l.to),
to: (l.to),
...{ class: "flex items-center gap-3 text-text-muted hover:text-text py-2 px-3 rounded-lg text-sm transition-colors group" },
activeClass: "bg-bg-soft text-green font-medium",
}));
const __VLS_20 = __VLS_19({
const __VLS_23 = __VLS_22({
key: (l.to),
to: (l.to),
...{ class: "flex items-center gap-3 text-text-muted hover:text-text py-2 px-3 rounded-lg text-sm transition-colors group" },
activeClass: "bg-bg-soft text-green font-medium",
}, ...__VLS_functionalComponentArgsRest(__VLS_19));
__VLS_21.slots.default;
}, ...__VLS_functionalComponentArgsRest(__VLS_22));
__VLS_24.slots.default;
__VLS_asFunctionalElement(__VLS_intrinsicElements.span, __VLS_intrinsicElements.span)({
...{ style: (`font-size: var(--ui-menu-icon-size, 18px); line-height: 1`) },
});
@@ -247,20 +252,42 @@ for (const [l] of __VLS_getVForSourceType((__VLS_ctx.links))) {
...{ style: (`font-size: var(--ui-menu-font-size, 13px)`) },
});
(l.label);
var __VLS_21;
var __VLS_24;
}
__VLS_asFunctionalElement(__VLS_intrinsicElements.div, __VLS_intrinsicElements.div)({
...{ class: "px-4 py-4 border-t border-bg-soft text-text-muted text-xs" },
});
__VLS_asFunctionalElement(__VLS_intrinsicElements.main, __VLS_intrinsicElements.main)({
...{ class: "pt-14 lg:pt-0 lg:pl-60 min-h-screen w-full bg-bg" },
...{ style: {} },
});
const __VLS_22 = {}.RouterView;
/** @type {[typeof __VLS_components.RouterView, ]} */ ;
const __VLS_25 = {}.RouterView;
/** @type {[typeof __VLS_components.RouterView, typeof __VLS_components.routerView, typeof __VLS_components.RouterView, typeof __VLS_components.routerView, ]} */ ;
// @ts-ignore
const __VLS_23 = __VLS_asFunctionalComponent(__VLS_22, new __VLS_22({}));
const __VLS_24 = __VLS_23({}, ...__VLS_functionalComponentArgsRest(__VLS_23));
const __VLS_26 = __VLS_asFunctionalComponent(__VLS_25, new __VLS_25({}));
const __VLS_27 = __VLS_26({}, ...__VLS_functionalComponentArgsRest(__VLS_26));
{
const { default: __VLS_thisSlot } = __VLS_28.slots;
const [{ Component }] = __VLS_getSlotParams(__VLS_thisSlot);
const __VLS_29 = {}.transition;
/** @type {[typeof __VLS_components.Transition, typeof __VLS_components.transition, typeof __VLS_components.Transition, typeof __VLS_components.transition, ]} */ ;
// @ts-ignore
const __VLS_30 = __VLS_asFunctionalComponent(__VLS_29, new __VLS_29({
name: "fade",
mode: "out-in",
}));
const __VLS_31 = __VLS_30({
name: "fade",
mode: "out-in",
}, ...__VLS_functionalComponentArgsRest(__VLS_30));
__VLS_32.slots.default;
const __VLS_33 = ((Component));
// @ts-ignore
const __VLS_34 = __VLS_asFunctionalComponent(__VLS_33, new __VLS_33({}));
const __VLS_35 = __VLS_34({}, ...__VLS_functionalComponentArgsRest(__VLS_34));
var __VLS_32;
__VLS_28.slots['' /* empty slot name completion */];
}
var __VLS_28;
/** @type {__VLS_StyleScopedClasses['fixed']} */ ;
/** @type {__VLS_StyleScopedClasses['top-2']} */ ;
/** @type {__VLS_StyleScopedClasses['right-2']} */ ;
@@ -341,6 +368,7 @@ const __VLS_self = (await import('vue')).defineComponent({
RouterView: RouterView,
AppHeader: AppHeader,
AppDrawer: AppDrawer,
ToastNotification: ToastNotification,
drawerOpen: drawerOpen,
debugMode: debugMode,
debugCpuLabel: debugCpuLabel,