diff --git a/src/lib/api.ts b/src/lib/api.ts index c08203e..4c6c7ee 100644 --- a/src/lib/api.ts +++ b/src/lib/api.ts @@ -215,3 +215,17 @@ export function syncProtocol(protocol: Protocol): Promise { export function pdfUrl(serverProtocolId: number): string { return `${serverUrl}${API_PATH}/pdf.php?id=${serverProtocolId}&jwt=${encodeURIComponent(token)}`; } + +export interface DebugLogUpload { + entries: { ts: number; level: string; msg: string }[]; + appVersion: string; + device: string; +} + +/** Debug-Log-Einträge zum Server übertragen (Endpoint applog.php) */ +export function uploadDebugLog(payload: DebugLogUpload): Promise<{ ok: boolean; stored: number }> { + return request<{ ok: boolean; stored: number }>('applog.php', { + method: 'POST', + body: JSON.stringify(payload), + }); +} diff --git a/src/lib/components/ToolDialog.svelte b/src/lib/components/ToolDialog.svelte index c35bb83..3956481 100644 --- a/src/lib/components/ToolDialog.svelte +++ b/src/lib/components/ToolDialog.svelte @@ -1,6 +1,7 @@ + + + +
+ + {uploadText} + +
+ +
+ {#if debugLog.entries.length === 0} +

Keine Einträge.

+ {:else} + {#each [...debugLog.entries].reverse() as e, i (i)} +
+ {fmtTime(e.ts)} + {e.msg} +
+ {/each} + {/if} +
diff --git a/src/routes/einstellungen/+page.svelte b/src/routes/einstellungen/+page.svelte index 95f9b29..64b4cfe 100644 --- a/src/routes/einstellungen/+page.svelte +++ b/src/routes/einstellungen/+page.svelte @@ -84,6 +84,20 @@

+ +
+

Diagnose

+

+ Bei Problemen (Scan/Sync schlägt fehl): Log öffnen und teilen. +

+ + Debug-Log öffnen + +
+