feat: Grundriss-Feature, Listenansicht mit Bildern, Gewerbe-Label, Image-Pool
- Grundriss (FloorPlanSection): PropertyUnit.floorPlanUrl?, Property.floorPlanUrl?; FloorPlanSection in MatchDetail + PropertyDetail; FloorPlanUrlSection in NewListing-Formular - Listenansicht (MatchCardCompact): horizontales Layout mit 120px Bildstreifen, Score-Badge, Asset-Label-Overlay, alle 3 grünen Punkte, Anfrage-Button - Light Industrial → "Gewerbe" überall (NeedInput, NeedCardPreview, CriteriaReviewPanel, newListingConstants, MyListings, propertyHelpers) - "Zum Originalinserat"-Button nur bei Maison-Work-Objekten - Image-Pool: propertyImageResolver mit sequentiellem Pool-Index (keine doppelten Bilder), nur Innenaufnahmen, rotate()-Trick für Sub-Pools - Overlay-Labels (Objekttyp + Stadtteil) in LocationPreview + IntelligenceMatchCard Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import { AssetType, ResultType, AvailabilityStatus, DataFreshness, RiskLevel } from '../domain/enums'
|
||||
import type { Property } from '../domain/property'
|
||||
import { resolvePropertyImage, getPoolKey } from '../lib/propertyImageResolver'
|
||||
|
||||
export const mockProperties: Property[] = [
|
||||
|
||||
@@ -4487,3 +4488,23 @@ export const mockProperties: Property[] = [
|
||||
},
|
||||
|
||||
]
|
||||
|
||||
// Assign images sequentially per pool so no two properties ever share the same image
|
||||
// (until pool wraps, which happens after ~12 properties per pool type)
|
||||
const _poolCounters: Record<string, number> = {}
|
||||
mockProperties.forEach(p => {
|
||||
const district = (p.location.district ?? '').toLowerCase()
|
||||
const prestige = p.softFactors?.prestige ?? 60
|
||||
const key = getPoolKey(p.assetType, district, prestige)
|
||||
const poolIndex = _poolCounters[key] ?? 0
|
||||
_poolCounters[key] = poolIndex + 1
|
||||
p.images = [resolvePropertyImage({
|
||||
assetType: p.assetType,
|
||||
city: p.location.city,
|
||||
district: p.location.district,
|
||||
prestige: p.softFactors?.prestige,
|
||||
floorLevel: p.floorLevel,
|
||||
propertyId: p.id,
|
||||
poolIndex,
|
||||
})]
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user