Spaces:
Sleeping
Sleeping
File size: 1,751 Bytes
2857363 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
// Format confidence as percentage
export const formatConfidence = (confidence: number): string => {
return `${(confidence * 100).toFixed(1)}%`;
};
// Format processing time
export const formatProcessingTime = (ms: number): string => {
if (ms < 1000) {
return `${ms}ms`;
}
return `${(ms / 1000).toFixed(2)}s`;
};
// Format relative time (e.g., "2 mins ago")
export const formatRelativeTime = (dateString: string): string => {
const date = new Date(dateString);
const now = new Date();
const diffInSeconds = Math.floor((now.getTime() - date.getTime()) / 1000);
if (diffInSeconds < 60) {
return 'just now';
}
const diffInMinutes = Math.floor(diffInSeconds / 60);
if (diffInMinutes < 60) {
return `${diffInMinutes} min${diffInMinutes > 1 ? 's' : ''} ago`;
}
const diffInHours = Math.floor(diffInMinutes / 60);
if (diffInHours < 24) {
return `${diffInHours} hour${diffInHours > 1 ? 's' : ''} ago`;
}
const diffInDays = Math.floor(diffInHours / 24);
if (diffInDays < 7) {
return `${diffInDays} day${diffInDays > 1 ? 's' : ''} ago`;
}
return date.toLocaleDateString();
};
// Truncate text with ellipsis
export const truncateText = (text: string, maxLength: number): string => {
if (text.length <= maxLength) {
return text;
}
return `${text.substring(0, maxLength)}...`;
};
// Format memory size
export const formatMemory = (mb: number): string => {
if (mb < 1) {
return `${(mb * 1024).toFixed(0)} KB`;
}
return `${mb.toFixed(2)} MB`;
};
// Get confidence level label
export const getConfidenceLevel = (confidence: number): string => {
if (confidence >= 0.9) return 'High confidence';
if (confidence >= 0.7) return 'Medium confidence';
return 'Low confidence';
};
|