29 lines
1022 B
TypeScript
29 lines
1022 B
TypeScript
import AiAdminClient from '../../admin/ai/AiAdminClient';
|
|
import type { AiModelInfo } from '../../admin/ai/AiAdminClient';
|
|
|
|
const API_BASE = process.env.NEXT_PUBLIC_API_URL_INTERNAL || 'http://recipe-api:8080';
|
|
|
|
export default async function AiTab() {
|
|
const key = process.env.MISTRAL_API_KEY ?? '';
|
|
const hasKey = key.length > 0;
|
|
const keyHint = key.length >= 4 ? key.slice(-4) : '????';
|
|
|
|
let aiFunctions: AiModelInfo[] = [];
|
|
try {
|
|
const res = await fetch(`${API_BASE}/api/ai/models`, { cache: 'no-store' });
|
|
if (res.ok) aiFunctions = await res.json();
|
|
} catch {
|
|
// backend ej nåbart
|
|
}
|
|
|
|
return (
|
|
<div>
|
|
<h2 style={{ fontSize: '1.1rem', marginBottom: '0.25rem' }}>🤖 AI-konfiguration</h2>
|
|
<p style={{ color: '#666', marginBottom: '2rem', fontSize: '0.9rem' }}>
|
|
Översikt över implementerade AI-funktioner och API-nyckelstatus.
|
|
</p>
|
|
<AiAdminClient keyHint={keyHint} hasKey={hasKey} aiFunctions={aiFunctions} />
|
|
</div>
|
|
);
|
|
}
|