diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx
index 5731189..bf2e353 100644
--- a/frontend/src/App.tsx
+++ b/frontend/src/App.tsx
@@ -418,7 +418,7 @@ function App() {
{/* Streaming Progress Bar */}
-
+ abortControllerRef.current?.abort()} />
{processedListingData && processedListingData.features.length > 0 ? (
@@ -595,7 +595,7 @@ function App() {
{/* Streaming Progress Bar */}
-
+ abortControllerRef.current?.abort()} />
{/* Map/List Container */}
diff --git a/frontend/src/components/StreamingProgressBar.tsx b/frontend/src/components/StreamingProgressBar.tsx
index fd28105..74da47c 100644
--- a/frontend/src/components/StreamingProgressBar.tsx
+++ b/frontend/src/components/StreamingProgressBar.tsx
@@ -1,12 +1,13 @@
-import { Loader2 } from 'lucide-react';
+import { Loader2, X } from 'lucide-react';
import type { StreamingProgress } from '@/services';
interface StreamingProgressBarProps {
progress: StreamingProgress | null;
isLoading: boolean;
+ onCancel?: () => void;
}
-export function StreamingProgressBar({ progress, isLoading }: StreamingProgressBarProps) {
+export function StreamingProgressBar({ progress, isLoading, onCancel }: StreamingProgressBarProps) {
if (!isLoading) return null;
return (
@@ -41,6 +42,15 @@ export function StreamingProgressBar({ progress, isLoading }: StreamingProgressB
)}
+ {onCancel && (
+