Améliorations

This commit is contained in:
ocroguennec committed 2026-09-05 17:05:54 +02:00
1 parent 8d104f2058
commit bab7a79b63
4 files changed
+147 -5

No files matched your search

@@ -35,6 +35,7 @@ function SectionHeader({ title, description }) {
const DEFAULT = {
appName: 'Crowdlending Tracker',
appUrl: '',
environnement: 'developpement',
mcpUrl: '',
allowRegistration: true,
minPasswordLength: 8,
@@ -42,6 +43,12 @@ const DEFAULT = {
documentsQuotaCount: 500,
};
const ENVIRONNEMENTS = [
{ value: 'production', label: 'Production' },
{ value: 'qualification', label: 'Qualification' },
{ value: 'developpement', label: 'Développement' },
];
export default function GeneralSection() {
const [form, setForm] = useState(DEFAULT);
const [saved, setSaved] = useState(null); // 'ok' | 'err' | null
@@ -58,6 +65,7 @@ export default function GeneralSection() {
setForm({
appName: dd.appName || 'Crowdlending Tracker',
appUrl: dd.appUrl || '',
environnement: dd.environnement || 'developpement',
mcpUrl: dd.mcpUrl || '',
allowRegistration: dd.allowRegistration !== false,
minPasswordLength: dd.minPasswordLength || 8,
@@ -77,6 +85,7 @@ export default function GeneralSection() {
await api.patch('/admin/general', {
appName: form.appName.trim(),
appUrl: form.appUrl.trim(),
environnement: form.environnement,
mcpUrl: form.mcpUrl.trim(),
allowRegistration: form.allowRegistration,
minPasswordLength: form.minPasswordLength,
@@ -131,6 +140,18 @@ export default function GeneralSection() {
/>
</SettingRow>
<SettingRow label="Environnement" description="Identifie cette instance (affiché dans l'interface). Choisi manuellement par un administrateur : conservé tel quel lors d'une restauration de base copiée depuis un autre environnement.">
<select
value={form.environnement}
onChange={e => set('environnement', e.target.value)}
style={{ width: '100%' }}
>
{ENVIRONNEMENTS.map(({ value, label }) => (
<option key={value} value={value}>{label}</option>
))}
</select>
</SettingRow>
<SettingRow label="URL du serveur MCP" description={`Point d'entrée public du serveur MCP (endpoint /mcp inclus). Inclure le protocole (https://).${import.meta.env.DEV ? ' Valeur forcée en développement local (ignore celle de la base, potentiellement une copie de la prod).' : ''}`}>
<input
className="form-input"