import { useState, useEffect } from "react"; import { useQuery, useMutation } from "@tanstack/react-query"; import { useToast } from "@/hooks/use-toast"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Input } from "@/components/ui/input"; import { Button } from "@/components/ui/button"; import { Label } from "@/components/ui/label"; import { Save, Loader2 } from "lucide-react"; import { queryClient, apiRequest } from "@/lib/queryClient"; interface UtilitiesConfig { id?: number; salesAnalysisUrl?: string | null; createdAt?: Date; updatedAt?: Date; } export default function SalesAnalysisConfig() { const { toast } = useToast(); const [salesAnalysisUrl, setSalesAnalysisUrl] = useState(""); // Récupérer la configuration existante const { data: config, isLoading } = useQuery({ queryKey: ['/api/utilities'] }); // Mettre à jour l'état quand les données sont chargées useEffect(() => { if (config?.salesAnalysisUrl) { setSalesAnalysisUrl(config.salesAnalysisUrl); } }, [config]); // Mutation pour sauvegarder la configuration const saveMutation = useMutation({ mutationFn: async (data: { salesAnalysisUrl: string | null }) => { return await apiRequest('/api/utilities', 'POST', data); }, onSuccess: () => { queryClient.invalidateQueries({ queryKey: ['/api/utilities'] }); toast({ title: "Configuration sauvegardée", description: "L'URL d'analyse des ventes a été mise à jour avec succès.", }); }, onError: (error: any) => { toast({ title: "Erreur", description: error.message || "Impossible de sauvegarder la configuration", variant: "destructive", }); } }); const handleSave = () => { saveMutation.mutate({ salesAnalysisUrl: salesAnalysisUrl.trim() || null }); }; if (isLoading) { return (
); } return ( Configuration Analyse des Ventes Configurez l'URL ou l'adresse IP pour accéder à l'interface d'analyse des ventes. Cette page sera accessible via le menu "Analyse Vente".
setSalesAnalysisUrl(e.target.value)} data-testid="input-sales-analysis-url" />

Exemple : https://votre-domaine.com/analyse ou http://192.168.1.100:8080

{config?.salesAnalysisUrl && (

URL configurée : {config.salesAnalysisUrl}

Cette URL sera affichée dans le menu "Analyse Vente"

)}
); }