diff --git a/src/components/anfragencenter/InquiryDetailPanel.tsx b/src/components/anfragencenter/InquiryDetailPanel.tsx index 2c197fc..1253a6e 100644 --- a/src/components/anfragencenter/InquiryDetailPanel.tsx +++ b/src/components/anfragencenter/InquiryDetailPanel.tsx @@ -1,6 +1,6 @@ import { useEffect, useState } from 'react' import { Box, Button, CircularProgress, Typography } from '@mui/material' -import { ArrowRight, Building2, ClipboardList, MapPin, Ruler } from 'lucide-react' +import { ArrowRight, Building2, ClipboardList, MapPin } from 'lucide-react' import { useNavigate } from 'react-router' import { useInquiryById, useMarkThreadAsRead } from '../../hooks/useInquiries' import { usePropertyById } from '../../hooks/useProperties' diff --git a/src/components/anfragencenter/LatentInquiriesTab.tsx b/src/components/anfragencenter/LatentInquiriesTab.tsx index dcb5fa5..644869d 100644 --- a/src/components/anfragencenter/LatentInquiriesTab.tsx +++ b/src/components/anfragencenter/LatentInquiriesTab.tsx @@ -5,6 +5,7 @@ import { usePublicNeeds, useLatentNeedById } from '../../hooks/useLatentNeeds' import { EmptyState } from '../ui' import { PublicNeedList } from './PublicNeedList' import { PublicNeedDetail } from './PublicNeedDetail' +import { OwnPropertyMatchList } from './OwnPropertyMatchList' type MobileView = 'list' | 'detail' | 'properties' diff --git a/src/components/demand/PropertyMatchRow.tsx b/src/components/demand/PropertyMatchRow.tsx index 84f95c1..735c4bf 100644 --- a/src/components/demand/PropertyMatchRow.tsx +++ b/src/components/demand/PropertyMatchRow.tsx @@ -2,7 +2,6 @@ import { memo } from 'react' import { Box, Button, Typography } from '@mui/material' import { Ruler } from 'lucide-react' import { useNavigate } from 'react-router' -import { ROUTES } from '../../lib/constants' import type { Property } from '../../domain/property' import type { VerifiedPortfolioResult } from '../../domain/unifiedResult' import type { Match } from '../../domain/match' diff --git a/src/components/demand/SavedNeedDetail.tsx b/src/components/demand/SavedNeedDetail.tsx index ea93016..2da54a9 100644 --- a/src/components/demand/SavedNeedDetail.tsx +++ b/src/components/demand/SavedNeedDetail.tsx @@ -32,7 +32,7 @@ interface Props { onUpdate: (data: UpdateNeedInput) => void } -export const SavedNeedDetail = memo(function SavedNeedDetail({ need, properties, onStart, onEdit, onArchive, onUpdate }: Props) { +export const SavedNeedDetail = memo(function SavedNeedDetail({ need, properties, onStart, onEdit, onUpdate }: Props) { const statusCfg = statusConfig(need.status) const conf = need.confidenceInCriteria ?? 0 const confColor = confidenceHex(conf) @@ -69,7 +69,6 @@ export const SavedNeedDetail = memo(function SavedNeedDetail({ need, properties, return true }) }, [matches, properties]) - const topScore = scoredProperties.length > 0 ? scoredProperties[0].score : 0 const topProperties = scoredProperties.slice(0, 3) const topWeights = useMemo( @@ -235,7 +234,7 @@ export const SavedNeedDetail = memo(function SavedNeedDetail({ need, properties, placeholder="name@firma.ch" value={notif.emailAddress ?? ''} onChange={e => handleNotifChange({ emailAddress: e.target.value || undefined })} - inputProps={{ type: 'email' }} + slotProps={{ htmlInput: { type: 'email' } }} sx={{ '& .MuiOutlinedInput-root': { fontSize: '0.85rem' } }} helperText="Im Produktivsystem wird bei neuen Treffern eine E-Mail ausgelöst" /> diff --git a/src/components/demand/SavedProfilesTab.tsx b/src/components/demand/SavedProfilesTab.tsx index 2acab85..7b0af07 100644 --- a/src/components/demand/SavedProfilesTab.tsx +++ b/src/components/demand/SavedProfilesTab.tsx @@ -10,7 +10,6 @@ import { ROUTES } from '../../lib/constants' import { EmptyState } from '../ui' import { SavedNeedCard } from './SavedNeedCard' import { SavedNeedDetail } from './SavedNeedDetail' -import { needToParsedCriteria } from '../../services/aiSearch/needSearchMapper' interface Props { onNewSearch: (prefillNeedId?: string) => void diff --git a/src/components/match-detail/MatchDetailPropertySections.tsx b/src/components/match-detail/MatchDetailPropertySections.tsx index 991444a..8311567 100644 --- a/src/components/match-detail/MatchDetailPropertySections.tsx +++ b/src/components/match-detail/MatchDetailPropertySections.tsx @@ -1,5 +1,5 @@ import { Box, Button, Chip, Paper, Typography } from '@mui/material' -import { Building2, Clock, ExternalLink, HardHat, Info, Layers, Tag, Train, TrendingUp } from 'lucide-react' +import { Building2, Clock, ExternalLink, Info, Layers, Tag, Train, TrendingUp } from 'lucide-react' import { useMatchDetail } from '../../hooks/useMatches' import { ResultType } from '../../domain/enums' import type { Property } from '../../domain/property' diff --git a/src/components/results/UnifiedResultFeed.tsx b/src/components/results/UnifiedResultFeed.tsx index 5047934..dec139f 100644 --- a/src/components/results/UnifiedResultFeed.tsx +++ b/src/components/results/UnifiedResultFeed.tsx @@ -52,7 +52,9 @@ function TierHeader({ label, sublabel, tierKey, count, isFirst }: TierHeaderProp }} /> - + {/* SCORE_THEME.text is '#ffffff' for every tier, so the former ternary always + resolved to this one value — collapsed, rendering is unchanged. */} + {label} {sublabel} diff --git a/src/components/review/ReviewPriorityBadge.tsx b/src/components/review/ReviewPriorityBadge.tsx index b349472..7b5f717 100644 --- a/src/components/review/ReviewPriorityBadge.tsx +++ b/src/components/review/ReviewPriorityBadge.tsx @@ -15,5 +15,5 @@ interface Props { export function ReviewPriorityBadge({ priority, size = 'small' }: Props) { const { label, color } = CONFIG[priority] ?? CONFIG.MEDIUM - return + return } diff --git a/src/components/review/ReviewStatusBadge.tsx b/src/components/review/ReviewStatusBadge.tsx index 84fb96e..94f7a18 100644 --- a/src/components/review/ReviewStatusBadge.tsx +++ b/src/components/review/ReviewStatusBadge.tsx @@ -17,5 +17,5 @@ interface Props { export function ReviewStatusBadge({ status, size = 'small' }: Props) { const { label, color } = CONFIG[status] ?? CONFIG.PENDING - return + return } diff --git a/src/components/supply/PreMarketPriceAdvisor.tsx b/src/components/supply/PreMarketPriceAdvisor.tsx index 52cdf6d..43c9a76 100644 --- a/src/components/supply/PreMarketPriceAdvisor.tsx +++ b/src/components/supply/PreMarketPriceAdvisor.tsx @@ -6,7 +6,7 @@ import { usePreMarketRentRecommendation } from '../../hooks/useAI' import { useUpdateUnit } from '../../hooks/useProperties' import { resolveUnitFacts } from '../../lib/unitFacts' import { FIT_OUT_LABELS } from '../../lib/constants' -import { DS_BORDER, DS_PRE_MARKET, DS_SURFACE, DS_TEXT } from '../../lib/ds' +import { DS_PRE_MARKET, DS_SURFACE, DS_TEXT } from '../../lib/ds' const NEEDS_BUILD = new Set(['SHELL', 'BASIC']) const VERDICT_META: Record = { diff --git a/src/pages/supply/Properties.tsx b/src/pages/supply/Properties.tsx index fb3b6a3..1c29ebb 100644 --- a/src/pages/supply/Properties.tsx +++ b/src/pages/supply/Properties.tsx @@ -78,7 +78,7 @@ export default function Properties() { const filtered = useMemo(() => applyFilters(properties, filters), [properties, filters]) // Decision-relevant aggregates — single pass over the full list - const { matchReady, criticalGaps, lowConfidence, staleOrOutdated, allMissingFields } = useMemo(() => { + const { matchReady, criticalGaps, staleOrOutdated } = useMemo(() => { const matchReady: typeof properties = [] const criticalGaps: typeof properties = [] const lowConfidence: typeof properties = [] diff --git a/src/services/unitService.ts b/src/services/unitService.ts index 05f9363..3a06aca 100644 --- a/src/services/unitService.ts +++ b/src/services/unitService.ts @@ -9,7 +9,7 @@ export const unitService = { const unit = await MockupUnitProvider.update(unitId, data) return { data: unit } } catch (err) { - throwServiceError('unitService.update', err) + throwServiceError(err) } }, }