diff --git a/client/src/pages/settings.tsx b/client/src/pages/settings.tsx index b0e1640..8791986 100644 --- a/client/src/pages/settings.tsx +++ b/client/src/pages/settings.tsx @@ -31,6 +31,7 @@ export default function Settings() { const [ffmpegApiKey, setFfmpegApiKey] = useState(""); const [externalApiKey, setExternalApiKey] = useState(""); const [minimaxApiKey, setMinimaxApiKey] = useState(""); + const [minimaxGroupId, setMinimaxGroupId] = useState(""); const { toast } = useToast(); const { data: session } = useQuery<{ id: string; username: string; role: string }>({ @@ -264,6 +265,7 @@ export default function Settings() { const hasExistingExternalApiConfig = !!(externalApiConfig as any)?.configured; const hasExistingMinimaxConfig = !!(minimaxConfig as any)?.apiKey; + const hasExistingMinimaxGroupId = !!(minimaxConfig as any)?.groupId; const saveMinimaxMutation = useMutation({ mutationFn: () => { @@ -271,11 +273,15 @@ export default function Settings() { if (minimaxApiKey && minimaxApiKey.trim() !== "") { payload.apiKey = minimaxApiKey; } + if (minimaxGroupId && minimaxGroupId.trim() !== "") { + payload.groupId = minimaxGroupId; + } return apiRequest('POST', '/api/minimax/config', payload); }, onSuccess: () => { queryClient.invalidateQueries({ queryKey: ['/api/minimax/config'] }); setMinimaxApiKey(""); + setMinimaxGroupId(""); toast({ title: "Configuration sauvegardée", description: "Votre clé API Minimax a été enregistrée", @@ -680,6 +686,24 @@ export default function Settings() { )}

+
+ + setMinimaxGroupId(e.target.value)} + placeholder={hasExistingMinimaxGroupId ? "••••••••••••••••" : "1234567890"} + data-testid="input-minimax-group-id" + /> +

+ {hasExistingMinimaxGroupId ? ( + ✓ Group ID configuré - Laissez vide pour conserver + ) : ( + "Requis pour les quotas corrects — trouvez-le sur platform.minimaxi.com dans votre profil" + )} +

+

Voix françaises disponibles :

@@ -693,7 +717,7 @@ export default function Settings() {