feat: Marktsignale KPI panel with adjustable radius (5/10/15/20 km)
Adds MarketKpis domain type with formula-based radius scaling, a MarketKpiPanel component (vacancy rate, platform searches, avg vacancy duration, demand/supply ratio — color-coded with interpretation badges), and integrates it at the top of PropertyMarketSignalsTab. Demand/supply section labels now update with the selected radius. Mock data covers all 5 existing market reports. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -4,6 +4,14 @@ export const mockPropertyMarketSignals: MarketReport[] = [
|
||||
{
|
||||
propertyId: 'prop-001',
|
||||
generatedAt: '2025-05-18T08:00:00Z',
|
||||
assetTypeLabel: 'Büro',
|
||||
kpis: {
|
||||
vacancyRatePct: 4.2,
|
||||
activePlatformSearches: 14,
|
||||
avgVacancyMonths: 4.2,
|
||||
demandSupplyRatio: 2.3,
|
||||
comparableListings: 3,
|
||||
},
|
||||
signals: [
|
||||
{
|
||||
id: 'sig-001-1',
|
||||
@@ -44,6 +52,14 @@ export const mockPropertyMarketSignals: MarketReport[] = [
|
||||
{
|
||||
propertyId: 'prop-007',
|
||||
generatedAt: '2025-05-18T08:00:00Z',
|
||||
assetTypeLabel: 'Büro',
|
||||
kpis: {
|
||||
vacancyRatePct: 3.8,
|
||||
activePlatformSearches: 11,
|
||||
avgVacancyMonths: 3.5,
|
||||
demandSupplyRatio: 2.8,
|
||||
comparableListings: 1,
|
||||
},
|
||||
signals: [
|
||||
{
|
||||
id: 'sig-007-1',
|
||||
@@ -83,6 +99,14 @@ export const mockPropertyMarketSignals: MarketReport[] = [
|
||||
{
|
||||
propertyId: 'prop-008',
|
||||
generatedAt: '2025-05-18T08:00:00Z',
|
||||
assetTypeLabel: 'Büro',
|
||||
kpis: {
|
||||
vacancyRatePct: 7.1,
|
||||
activePlatformSearches: 7,
|
||||
avgVacancyMonths: 6.0,
|
||||
demandSupplyRatio: 1.4,
|
||||
comparableListings: 4,
|
||||
},
|
||||
signals: [
|
||||
{
|
||||
id: 'sig-008-1',
|
||||
@@ -123,6 +147,14 @@ export const mockPropertyMarketSignals: MarketReport[] = [
|
||||
{
|
||||
propertyId: 'prop-012',
|
||||
generatedAt: '2025-05-18T08:00:00Z',
|
||||
assetTypeLabel: 'Büro',
|
||||
kpis: {
|
||||
vacancyRatePct: 2.9,
|
||||
activePlatformSearches: 22,
|
||||
avgVacancyMonths: 2.8,
|
||||
demandSupplyRatio: 3.4,
|
||||
comparableListings: 2,
|
||||
},
|
||||
signals: [
|
||||
{
|
||||
id: 'sig-012-1',
|
||||
@@ -172,6 +204,14 @@ export const mockPropertyMarketSignals: MarketReport[] = [
|
||||
{
|
||||
propertyId: 'prop-014',
|
||||
generatedAt: '2025-05-18T08:00:00Z',
|
||||
assetTypeLabel: 'Lager / Logistik',
|
||||
kpis: {
|
||||
vacancyRatePct: 5.5,
|
||||
activePlatformSearches: 11,
|
||||
avgVacancyMonths: 5.8,
|
||||
demandSupplyRatio: 1.9,
|
||||
comparableListings: 2,
|
||||
},
|
||||
signals: [
|
||||
{
|
||||
id: 'sig-014-1',
|
||||
|
||||
Reference in New Issue
Block a user