diff --git a/src/pages/supply/MarketLeads.tsx b/src/pages/supply/MarketLeads.tsx
index 8663c6b..3929d96 100644
--- a/src/pages/supply/MarketLeads.tsx
+++ b/src/pages/supply/MarketLeads.tsx
@@ -1,7 +1,6 @@
import {
Box,
Chip,
- CircularProgress,
Divider,
Paper,
Skeleton,
@@ -283,8 +282,8 @@ export default function MarketLeads() {
>
) : leads.length === 0 ? (
-
- Keine aktiven Markt-Leads gefunden.
+
+ Keine aktiven Markt-Leads gefunden.
Signale werden laufend aus öffentlichen Quellen erkannt.
) : (
diff --git a/src/provider/MockupFutureSignalProvider.ts b/src/provider/MockupFutureSignalProvider.ts
index 1143780..9815d67 100644
--- a/src/provider/MockupFutureSignalProvider.ts
+++ b/src/provider/MockupFutureSignalProvider.ts
@@ -3,11 +3,21 @@ import type { FutureSignal } from '../domain/futureSignal'
import type { ReviewStatus } from '../domain/enums'
import { mockFutureSignals } from '../mock-data/futureSignals'
-const store: FutureSignal[] = [...mockFutureSignals]
+// Mutation overrides — applied on top of the live mockFutureSignals import.
+// Reading directly from mockFutureSignals (not a copied store) ensures that
+// Vite HMR changes to the mock data are always reflected immediately.
+const mutationOverrides = new Map>()
+
+function resolve(): FutureSignal[] {
+ return mockFutureSignals.map(s => {
+ const override = mutationOverrides.get(s.id)
+ return override ? { ...s, ...override } : s
+ })
+}
export const MockupFutureSignalProvider: IFutureSignalProvider = {
async getAll(filters?: FutureSignalFilters) {
- let results = [...store]
+ let results = resolve()
if (filters?.signalType) results = results.filter(s => s.signalType === filters.signalType)
if (filters?.minProbability !== undefined) results = results.filter(s => s.probability >= filters.minProbability!)
if (filters?.organizationId) results = results.filter(s => s.organizationId === filters.organizationId)
@@ -18,19 +28,19 @@ export const MockupFutureSignalProvider: IFutureSignalProvider = {
return results.sort((a, b) => b.probability - a.probability)
},
async getById(id) {
- return store.find(s => s.id === id) ?? null
+ return resolve().find(s => s.id === id) ?? null
},
async getByProperty(propertyId) {
- return store.filter(s => s.propertyId === propertyId)
+ return resolve().filter(s => s.propertyId === propertyId)
},
async verify(id, verifiedBy) {
- const idx = store.findIndex(s => s.id === id)
- store[idx] = { ...store[idx], isVerified: true, verifiedBy, verifiedAt: new Date().toISOString(), updatedAt: new Date().toISOString() }
- return store[idx]
+ const existing = mutationOverrides.get(id) ?? {}
+ mutationOverrides.set(id, { ...existing, isVerified: true, verifiedBy, verifiedAt: new Date().toISOString(), updatedAt: new Date().toISOString() })
+ return resolve().find(s => s.id === id)!
},
async updateReviewStatus(id, status: ReviewStatus) {
- const idx = store.findIndex(s => s.id === id)
- store[idx] = { ...store[idx], reviewStatus: status, updatedAt: new Date().toISOString() }
- return store[idx]
+ const existing = mutationOverrides.get(id) ?? {}
+ mutationOverrides.set(id, { ...existing, reviewStatus: status, updatedAt: new Date().toISOString() })
+ return resolve().find(s => s.id === id)!
},
}