From 52f42708876bc110bdb5ebb970131c27d623cb3c Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Fri, 31 Oct 2025 09:35:31 +0000 Subject: [PATCH 1/6] Update webhook configuration and error logging for improved diagnostics N/A Replit-Commit-Author: Agent Replit-Commit-Session-Id: 1e4433b5-47ab-464c-b663-fea2e53367dd Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: 35e1cde2-4481-4c54-b19c-bd5aef6f0500 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/1e4433b5-47ab-464c-b663-fea2e53367dd/7RN8LqE --- attached_assets/image_1761903272202.png | Bin 0 -> 6355 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 attached_assets/image_1761903272202.png diff --git a/attached_assets/image_1761903272202.png b/attached_assets/image_1761903272202.png new file mode 100644 index 0000000000000000000000000000000000000000..720d613f480bc8efb716e7c21bbe7ad3750f5284 GIT binary patch literal 6355 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 literal 0 HcmV?d00001 From 9750bb1139d4fd9b3b19109e6aac90b2c2d2bb62 Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Mon, 3 Nov 2025 11:10:00 +0000 Subject: [PATCH 2/6] Transitioned from Plan to Build mode Replit-Commit-Author: Agent Replit-Commit-Session-Id: 1e4433b5-47ab-464c-b663-fea2e53367dd Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: f9327213-9523-4efb-b054-63694be068f7 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/1e4433b5-47ab-464c-b663-fea2e53367dd/7RN8LqE From ae80aa3f0f658b9a677e1be5ec9005fab35008ec Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Mon, 3 Nov 2025 11:12:04 +0000 Subject: [PATCH 3/6] Add a refresh button to reload the sales analysis iframe Adds a refresh button to the Sales Analysis page that allows users to force a full reload of the embedded sales analysis iframe by incrementing a state key which is used as the iframe's `key` prop. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 1e4433b5-47ab-464c-b663-fea2e53367dd Replit-Commit-Checkpoint-Type: intermediate_checkpoint Replit-Commit-Event-Id: 514e3cfa-4217-4b22-ae44-47651cf2b253 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/1e4433b5-47ab-464c-b663-fea2e53367dd/7RN8LqE --- client/src/pages/SalesAnalysisPage.tsx | 29 ++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/client/src/pages/SalesAnalysisPage.tsx b/client/src/pages/SalesAnalysisPage.tsx index 1b64665..c942eb1 100644 --- a/client/src/pages/SalesAnalysisPage.tsx +++ b/client/src/pages/SalesAnalysisPage.tsx @@ -1,6 +1,7 @@ +import { useState } from "react"; import { useQuery } from "@tanstack/react-query"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; -import { Loader2, TrendingUp, AlertCircle } from "lucide-react"; +import { Loader2, TrendingUp, AlertCircle, RefreshCw } from "lucide-react"; import { Link } from "wouter"; import { Button } from "@/components/ui/button"; @@ -12,10 +13,18 @@ interface UtilitiesConfig { } export default function SalesAnalysisPage() { + // State pour forcer le rechargement de l'iframe + const [iframeKey, setIframeKey] = useState(0); + // Récupérer l'URL configurée const { data: config, isLoading } = useQuery({ queryKey: ['/api/utilities'] }); + + // Fonction pour recharger l'iframe + const handleRefresh = () => { + setIframeKey(prev => prev + 1); + }; if (isLoading) { return ( @@ -52,8 +61,24 @@ export default function SalesAnalysisPage() { } return ( -
+
+ {/* Bouton de rechargement flottant */} +
+ +
+ + {/* iframe avec clé pour forcer le rechargement */}