40227-vm/frontend/src/components/director-dashboard/directorDashboardViewConfig.ts
2026-06-19 16:43:41 +02:00

81 lines
2.2 KiB
TypeScript

import {
AlertTriangle,
ArrowRight,
ClipboardCheck,
Clock,
Eye,
Shield,
TrendingDown,
TrendingUp,
Users,
} from 'lucide-react';
import type { LucideIcon } from 'lucide-react';
import type {
DirectorDashboardRiskSeverity,
DirectorDashboardTrend,
DirectorFrameSectionLetter,
DirectorOverviewIconId,
DirectorOverviewTone,
} from '@/business/director-dashboard/types';
import type {
DirectorQuickActionIconId,
DirectorQuickActionTone,
} from '@/shared/constants/directorDashboard';
export const directorOverviewIcons: Record<DirectorOverviewIconId, LucideIcon> = {
clock: Clock,
shield: Shield,
eye: Eye,
users: Users,
clipboard: ClipboardCheck,
};
export const directorTrendIcons: Record<DirectorDashboardTrend, LucideIcon> = {
up: TrendingUp,
down: TrendingDown,
};
export const directorRiskIcon = AlertTriangle;
export const directorNavigateIcon = ArrowRight;
export const directorQuickActionIcons: Partial<Record<DirectorQuickActionIconId, LucideIcon>> = {
clipboard: ClipboardCheck,
};
export const directorOverviewToneClasses: Record<DirectorOverviewTone, string> = {
orange: 'from-orange-400 to-orange-600',
blue: 'from-blue-400 to-blue-600',
amber: 'from-amber-400 to-amber-600',
purple: 'from-purple-400 to-purple-600',
emerald: 'from-emerald-400 to-emerald-600',
};
export const directorTrendClasses: Record<DirectorDashboardTrend, string> = {
up: 'text-emerald-600',
down: 'text-red-600',
};
export const directorRiskSeverityClasses: Record<DirectorDashboardRiskSeverity, string> = {
high: 'bg-red-100 text-red-700 border-red-200',
medium: 'bg-amber-100 text-amber-700 border-amber-200',
low: 'bg-blue-100 text-blue-700 border-blue-200',
};
export const directorFrameSectionClasses: Record<DirectorFrameSectionLetter, string> = {
F: 'text-violet-600',
R: 'text-amber-600',
A: 'text-emerald-600',
M: 'text-blue-600',
E: 'text-pink-600',
};
export const directorQuickActionToneClasses: Record<DirectorQuickActionTone, string> = {
indigo: 'bg-indigo-100 text-indigo-700',
amber: 'bg-amber-100 text-amber-700',
blue: 'bg-blue-100 text-blue-700',
orange: 'bg-orange-100 text-orange-700',
rose: 'bg-rose-100 text-rose-700',
red: 'bg-red-100 text-red-700',
};