aktueller stand
This commit is contained in:
@@ -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 }) => {
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user