v0.1.4-pre.010

This commit is contained in:
2026-08-16 15:04:58 +02:00
parent cb10fd354b
commit f0f2954236
17 changed files with 1007 additions and 22 deletions

View File

@@ -1,5 +1,5 @@
// file: crates/ksp-app-config-desk/frontend/ts/main.ts
// version: 4
// version: 5
import "bootstrap";
import ResizeObserver from "resize-observer-polyfill";
@@ -8,6 +8,7 @@ import { getCurrentWindow } from "@tauri-apps/api/window";
import type { AppSnapshotDto } from "./bindings/ksp_app_config_desk/dto_common/AppSnapshotDto.ts";
import { frontendDebug, frontendInfo, frontendTrace, installFrontendConsoleBridge } from "./frontend_log";
import { initializeDocumentsPanel } from "./documents";
import { initializeProfilesPanel } from "./profiles";
import { invokeKsp } from "./invoke";
(window as Window & typeof globalThis & { ResizeObserver?: typeof ResizeObserver }).ResizeObserver = ResizeObserver;
@@ -26,7 +27,7 @@ const viewCopy: Record<ViewId, { title: string; description: string }> = {
},
profiles: {
title: "Profils",
description: "Sélection et provenance des profils Config — surface fonctionnelle prévue en pre.010.",
description: "Sélection default/explicite, vues global/profil/effective sûre et provenance Config.",
},
environment: {
title: "Environnement / .env",
@@ -74,9 +75,13 @@ function activateView(viewId: ViewId, source: "startup" | "user"): void {
if (documents) {
documents.hidden = viewId !== "documents";
}
const profiles = document.querySelector<HTMLElement>("#profilesPanel");
if (profiles) {
profiles.hidden = viewId !== "profiles";
}
const placeholder = document.querySelector<HTMLElement>("#placeholderPanel");
if (placeholder) {
placeholder.hidden = viewId === "overview" || viewId === "documents";
placeholder.hidden = viewId === "overview" || viewId === "documents" || viewId === "profiles";
}
frontendTrace("main", "Main view DOM updated", { viewId, source });
}
@@ -136,6 +141,7 @@ async function initializeMain(): Promise<void> {
frontendInfo("main", "Config Desk main frontend loaded", { windowLabel });
bindNavigation();
initializeDocumentsPanel();
initializeProfilesPanel();
activateView("overview", "startup");
try {
await loadSnapshot();