d902feb6c0
- Domain: PropertyUnit extended with propertyId + schattenmarktRelease per unit
- Domain: FutureAvailabilityResult carries resolved property + unit
- useSchattenmarktSignals: generates unit-level signals (schattenmarkt-{propId}-{unitId})
- useUnifiedResults: resolves backing property + unit on FUTURE_AVAILABILITY fast path
- IUnitProvider + MockupUnitProvider: first-class unit access and mutation
- matchCardAdapter: maps preMarketUnit, preMarketAllUnits, propertyId, unitId to ViewModel
- IntelligenceMatchCard: PRE-MARKET VERIFIED shows unit info strip + "Zur Einheit →" button
- PropertyDetailView: unit-level toggles + date pickers inside PreMarketPanel
- New page: /demand/property/:propertyId with unit table, status chips, inquiry form
- App.tsx: demand route /demand/property/:propertyId registered
- Mock data: prop-001/007/037 units updated with correct lease dates + unit-level schattenmarktRelease
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
8 lines
287 B
TypeScript
8 lines
287 B
TypeScript
import type { PropertyUnit } from '../domain/property'
|
|
|
|
export interface IUnitProvider {
|
|
getByPropertyId(propertyId: string): Promise<PropertyUnit[]>
|
|
getById(unitId: string): Promise<PropertyUnit | null>
|
|
update(unitId: string, data: Partial<PropertyUnit>): Promise<PropertyUnit>
|
|
}
|