aktueller stand

This commit is contained in:
2026-01-04 00:11:29 +01:00
parent 41ef5107aa
commit 1c12bf6bd1
9 changed files with 1013 additions and 69 deletions

View File

@@ -135,6 +135,7 @@ const DebugPage = ({ authorizedFetch }) => {
durationMs: entry.durationMs ?? null,
timestamp: entry.timestamp,
profileId: entry.profileId || null,
profileName: entry.profileName || null,
sessionId: entry.sessionId || null,
target: entry.target || null,
error: entry.error || null,
@@ -241,12 +242,24 @@ const DebugPage = ({ authorizedFetch }) => {
sortingFn: 'alphanumeric',
filterFn: 'includesString'
}),
columnHelper.accessor('profileId', {
header: ({ column }) => <SortableHeader column={column} label="Profil" placeholder="Profil-ID" />,
cell: ({ getValue }) => <span className="text-xs text-gray-600">{getValue() || '—'}</span>,
columnHelper.accessor(
(row) => row.profileName || row.profileId || '',
{
id: 'profile',
header: ({ column }) => <SortableHeader column={column} label="Profil" placeholder="Profil-Name" />,
cell: ({ row }) => {
const name = row.original.profileName;
const value = row.original.profileId;
return (
<span className="text-xs text-gray-600" title={value || ''}>
{name || value || '—'}
</span>
);
},
sortingFn: 'alphanumeric',
filterFn: 'includesString'
}),
}
),
columnHelper.accessor('sessionId', {
header: ({ column }) => <SortableHeader column={column} label="Session" placeholder="Session-ID" />,
cell: ({ getValue }) => {

View File

@@ -54,6 +54,24 @@ const useConfigManager = ({ sessionToken, authorizedFetch, setStatus, setError,
[authorizedFetch, sessionToken, setError, setStatus]
);
const triggerImmediateCheck = useCallback(async () => {
if (!sessionToken) {
return;
}
try {
const response = await authorizedFetch('/api/config/check', { method: 'POST' });
if (!response.ok) {
throw new Error(`HTTP ${response.status}`);
}
const result = await response.json();
if (!result.success) {
throw new Error(result.error || 'Unbekannter Fehler bei der Sofortprüfung');
}
} catch (error) {
setError(`Sofortprüfung fehlgeschlagen: ${error.message}`);
}
}, [authorizedFetch, sessionToken, setError]);
const saveConfig = useCallback(async () => {
if (!sessionToken) {
return false;
@@ -74,9 +92,10 @@ const useConfigManager = ({ sessionToken, authorizedFetch, setStatus, setError,
if (!result.success) {
throw new Error(result.error || 'Unbekannter Fehler beim Speichern');
}
setStatus('Konfiguration erfolgreich gespeichert!');
setStatus('Konfiguration gespeichert. Sofortprüfung gestartet.');
setTimeout(() => setStatus(''), 3000);
setIsDirty(false);
triggerImmediateCheck();
return true;
} catch (error) {
setError(`Fehler beim Speichern: ${error.message}`);
@@ -85,7 +104,7 @@ const useConfigManager = ({ sessionToken, authorizedFetch, setStatus, setError,
} finally {
setLoading(false);
}
}, [authorizedFetch, sessionToken, setError, setLoading, setStatus]);
}, [authorizedFetch, sessionToken, setError, setLoading, setStatus, triggerImmediateCheck]);
return {
config,