6aa4f96bd2
- Auto-collapse sidebar at <1536px (all laptops), expand at ≥1536px - Responsive drawer/panel widths across Pipeline, Properties, MyListings, Anfragen, MatchDetail, AISearch - Reminder Manager: dot+label priority badge, Fläche column removed, status only for non-active rows - ReminderKpiBar: focal Überfällig card, three secondary KPIs - ReminderDetailDrawer: Task Panel redesign — Finanzen removed, Notiz promoted, Pre-Market as inline badge, full create form - useCreateReminder hook wired to reminderService.create with cache invalidation - Mock data: contract-derived reminders (LEASE_EXPIRY, BREAK_OPTION, RENT_REVIEW, INSURANCE_RENEWAL, SCHATTENMARKT_RELEASE) now show auto-creation note in Verlauf Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
26 lines
877 B
TypeScript
26 lines
877 B
TypeScript
import { Box, Typography } from '@mui/material'
|
|
import type { ReminderPriority } from '../../domain/reminder'
|
|
|
|
const CONFIG: Record<ReminderPriority, { color: string; label: string }> = {
|
|
URGENT: { color: '#dc2626', label: 'Dringend' },
|
|
HIGH: { color: '#ea580c', label: 'Hoch' },
|
|
MEDIUM: { color: '#ca8a04', label: 'Mittel' },
|
|
LOW: { color: '#94a3b8', label: 'Niedrig' },
|
|
}
|
|
|
|
interface Props {
|
|
priority: ReminderPriority
|
|
}
|
|
|
|
export function ReminderPriorityBadge({ priority }: Props) {
|
|
const { color, label } = CONFIG[priority]
|
|
return (
|
|
<Box sx={{ display: 'flex', alignItems: 'center', gap: 0.6 }}>
|
|
<Box sx={{ width: 7, height: 7, borderRadius: '50%', bgcolor: color, flexShrink: 0 }} />
|
|
<Typography sx={{ color, fontWeight: 600, fontSize: '0.7rem', lineHeight: 1, whiteSpace: 'nowrap' }}>
|
|
{label}
|
|
</Typography>
|
|
</Box>
|
|
)
|
|
}
|