46 lines
2.1 KiB
JavaScript
46 lines
2.1 KiB
JavaScript
import { useEffect, useState } from 'react'
|
|
import { Link } from 'react-router-dom'
|
|
import { api } from '../api.js'
|
|
import { useAuth } from '../context/AuthContext.jsx'
|
|
|
|
export default function AdminHomePage() {
|
|
const { session } = useAuth()
|
|
const [health, setHealth] = useState(null)
|
|
const [error, setError] = useState('')
|
|
|
|
useEffect(() => {
|
|
api('/api/admin/health', { token: session.token })
|
|
.then(setHealth)
|
|
.catch((e) => setError(e.message))
|
|
}, [session.token])
|
|
|
|
return (
|
|
<section className="card">
|
|
<h1>Admin</h1>
|
|
<p>Rahmen für Nutzer, Prompts, Platzhalter und Kontingente. Keine Reflexions-Prompts und kein Zahlungsabo.</p>
|
|
{error && <p className="error">{error}</p>}
|
|
{health && (
|
|
<>
|
|
<dl className="meta">
|
|
<dt>Nutzer</dt>
|
|
<dd>{health.inventory?.users}</dd>
|
|
<dt>Prompts in der DB</dt>
|
|
<dd>{health.inventory?.prompts}</dd>
|
|
<dt>Originalnachrichten</dt>
|
|
<dd>{health.inventory?.dialogue?.messages ?? 0}</dd>
|
|
<dt>Derived</dt>
|
|
<dd>{health.inventory?.dialogue?.derived_records ?? 0}</dd>
|
|
<dt>Sprachmodell</dt>
|
|
<dd>{health.inventory?.providers?.generate?.ready ? 'bereit' : 'nicht bereit'}</dd>
|
|
<dt>Maskierung</dt>
|
|
<dd>{health.inventory?.providers?.detect?.ready ? 'bereit (semantisch)' : 'nicht bereit, fail-closed'}</dd>
|
|
<dt>Debug-Schritte</dt>
|
|
<dd>{health.inventory?.debug_runs ?? 0}{health.inventory?.debug_persist_enabled ? ' · an' : ' · aus'}</dd>
|
|
</dl>
|
|
<p className="muted">Weiter: <Link to="/admin/users">Nutzer</Link> · <Link to="/admin/prompts">Prompts</Link> · <Link to="/admin/generation">Generierungsrichtlinien</Link> · <Link to="/admin/placeholders">Platzhalter</Link> · <Link to="/admin/features">Kontingente</Link> · <Link to="/admin/providers">Schnittstellen</Link> · <Link to="/admin/identities">Identitäten</Link> · <Link to="/admin/dialogue">Dialog</Link> · <Link to="/admin/debug">Debug</Link></p>
|
|
</>
|
|
)}
|
|
</section>
|
|
)
|
|
}
|