feat: premium redesign — DM Serif, refined palette, flat score badges
- Design tokens (ds.ts, theme.ts, scoreTheme.ts): new warm palette (#152642 navy, #f9f8f6 warm white, #e8e7e4 borders, #b8975a gold accent), flat score tier badges replacing CSS gradients, Inter + DM Serif Display typography - Card components: white-background cards, DM Serif score numbers, max-2 badge chips with +N overflow tooltip, editorial score badge positioning - Layout shell: gold left-accent nav active state, 64px top bar, outlined workspace chip, DM Serif page titles - Shared atoms: GenericBadge (outlined/solid variants), ResultFilterBar (simplified chip styles), DecisionContextPanel (dot metrics, no left accent) - Global replacement (118 files): #1e3a5f→#152642, #e2e8f0→#e8e7e4, #f4f6f9→#f9f8f6 — all handled via Node.js for proper UTF-8 safety Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -67,7 +67,7 @@ export function CompareColumnHeader({ item, onRemove }: Props) {
|
||||
sx={{
|
||||
fontWeight: 700, lineHeight: 1.3, mb: 0.25,
|
||||
cursor: 'pointer',
|
||||
'&:hover': { color: '#1e3a5f' },
|
||||
'&:hover': { color: '#152642' },
|
||||
}}
|
||||
onClick={() => navigate(`/demand/results/${item.matchId}`)}
|
||||
>
|
||||
|
||||
@@ -38,7 +38,7 @@ export function CompareCriteriaCard({ compareItems, relevantCriteria, overallWin
|
||||
<TableCell sx={{ ...LABEL_SX, bgcolor: '#f8fafc', fontSize: 11 }}>Kriterium</TableCell>
|
||||
{compareItems.map(item => (
|
||||
<TableCell key={item.matchId} sx={{ ...DATA_SX, bgcolor: '#f8fafc' }}>
|
||||
<Typography variant="caption" sx={{ fontWeight: 700, color: '#1e3a5f' }} noWrap>
|
||||
<Typography variant="caption" sx={{ fontWeight: 700, color: '#152642' }} noWrap>
|
||||
{getTitle(item)}
|
||||
</Typography>
|
||||
</TableCell>
|
||||
|
||||
@@ -15,7 +15,7 @@ export function CompareEmptyState() {
|
||||
Fügen Sie 2–4 Ergebnisse aus dem Feed, Match Detail oder Match Center zum Vergleich hinzu.
|
||||
</Typography>
|
||||
<Button variant="contained" size="small" onClick={() => navigate('/demand/results')}
|
||||
sx={{ bgcolor: '#1e3a5f', '&:hover': { bgcolor: '#162d4a' } }}>
|
||||
sx={{ bgcolor: '#152642', '&:hover': { bgcolor: '#162d4a' } }}>
|
||||
Zu den Suchergebnissen
|
||||
</Button>
|
||||
</Box>
|
||||
|
||||
@@ -208,7 +208,7 @@ export function CompareTableBody({
|
||||
+ {fitOutMonthlyLabel} CHF/Monat (Ausbau ÷ {FITOUT_AMORTIZATION_YEARS} J.)
|
||||
</Typography>
|
||||
)}
|
||||
<Typography variant="body2" sx={{ fontWeight: 700, color: '#1e3a5f', borderTop: '1px solid #e2e8f0', pt: 0.5, mt: 0.25 }}>
|
||||
<Typography variant="body2" sx={{ fontWeight: 700, color: '#152642', borderTop: '1px solid #e2e8f0', pt: 0.5, mt: 0.25 }}>
|
||||
= {totalMonthly.toLocaleString('de-CH')} CHF/Monat
|
||||
</Typography>
|
||||
{fitOutLabel && (
|
||||
|
||||
Reference in New Issue
Block a user