Neah/lib/utils/status-utils.ts
2025-05-02 18:19:46 +02:00

55 lines
1.8 KiB
TypeScript

/**
* Task status labels
*/
export function getTaskStatusLabel(status: number): string {
switch (status) {
case 1: return 'New';
case 2: return 'Blocked';
case 3: return 'In Progress';
case 4: return 'Waiting for Approval';
case 5: return 'Done';
default: return 'Unknown';
}
}
/**
* Task status colors (tailwind classes)
*/
export function getTaskStatusColor(status: number): string {
switch (status) {
case 1: return 'bg-blue-500'; // New - blue
case 2: return 'bg-red-500'; // Blocked - red
case 3: return 'bg-yellow-500'; // In Progress - yellow
case 4: return 'bg-purple-500'; // Waiting for Approval - purple
case 5: return 'bg-gray-500'; // Done - gray
default: return 'bg-gray-300';
}
}
/**
* Task status badge classes
*/
export function getTaskStatusBadgeClass(status: number): string {
switch (status) {
case 1: return 'bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-300';
case 2: return 'bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-300';
case 3: return 'bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-300';
case 4: return 'bg-purple-100 text-purple-800 dark:bg-purple-900 dark:text-purple-300';
case 5: return 'bg-gray-100 text-gray-800 dark:bg-gray-900 dark:text-gray-300';
default: return 'bg-gray-100 text-gray-800 dark:bg-gray-900 dark:text-gray-300';
}
}
/**
* Email status colors
*/
export function getEmailStatusColor(status: 'read' | 'unread' | 'draft' | 'sent' | 'flagged'): string {
switch (status) {
case 'read': return 'text-gray-400';
case 'unread': return 'text-blue-500';
case 'draft': return 'text-amber-500';
case 'sent': return 'text-green-500';
case 'flagged': return 'text-red-500';
default: return 'text-gray-400';
}
}