diff --git a/src/routes/protokoll/[id]/+page.svelte b/src/routes/protokoll/[id]/+page.svelte index 9125d67..2a8653e 100644 --- a/src/routes/protokoll/[id]/+page.svelte +++ b/src/routes/protokoll/[id]/+page.svelte @@ -20,6 +20,7 @@ saveScan, deleteScan, } from '$lib/protocols'; + import { scanner } from '$lib/scanner'; import { resumeFinishedStressSessions } from '$lib/stresstest'; import { sync } from '$lib/sync.svelte'; import { toast } from '$lib/toast.svelte'; @@ -39,6 +40,20 @@ let saveScanOpen = $state(false); let expandedScan = $state(null); let deleteScanId = $state(null); + /** Kopfdaten sind zugeklappt, solange nichts eingetragen ist (siehe Kommentar im Markup) */ + let kopfdatenOffen = $state(false); + /** vom Adapter erkanntes Subnetz — als antippbarer Vorschlag im Eingabefeld */ + let erkanntesSubnetz = $state(''); + /** Menü hinter den drei Punkten (selten gebrauchte, gefährliche Aktionen) */ + let ueberlaufOffen = $state(false); + + /** Kompakte Zusammenfassung für die zugeklappte Kopfzeile */ + const kopfZusammenfassung = $derived( + [protocol?.location, protocol?.subnet, protocol?.note?.split('\n')[0]] + .map((t) => (t ?? '').trim()) + .filter(Boolean) + .join(' · '), + ); let appStateListener: PluginListenerHandle | null = null; @@ -102,6 +117,19 @@ await persist(); } + // Kopfdaten offen lassen, solange noch nichts eingetragen ist — dann ist + // das Ausfüllen der nächste sinnvolle Schritt. Sind sie gefüllt, bleibt + // der Platz für die Werkzeuge frei. + kopfdatenOffen = !(p.location || p.subnet || p.note); + + // Erkanntes Subnetz als Eingabevorschlag bereitstellen (best effort) + try { + const local = await scanner.getLocalSubnet(); + erkanntesSubnetz = String(local.subnet ?? '').trim(); + } catch { + /* kein Adapter aktiv — dann gibt es eben keinen Vorschlag */ + } + // App wechselt in den Hintergrund (anderer App-Wechsel, Display aus) → // sofort sichern, bevor Android den Prozess evtl. beendet. appStateListener = await App.addListener('appStateChange', ({ isActive }) => { @@ -284,35 +312,81 @@ />
- -
-