36 lines
912 B
TypeScript
36 lines
912 B
TypeScript
import { clsx, type ClassValue } from "clsx"
|
|
import { twMerge } from "tailwind-merge"
|
|
|
|
export function cn(...inputs: ClassValue[]) {
|
|
return twMerge(clsx(inputs))
|
|
}
|
|
|
|
export function formatNumber(num: number): string {
|
|
return new Intl.NumberFormat('fr-FR').format(num);
|
|
}
|
|
|
|
export function formatDate(date: Date | string | number): string {
|
|
// Convertir en objet Date si ce n'est pas déjà le cas
|
|
const dateObj = date instanceof Date ? date : new Date(date);
|
|
|
|
// Vérifier si la date est valide
|
|
if (isNaN(dateObj.getTime())) {
|
|
return 'Date invalide';
|
|
}
|
|
|
|
return new Intl.DateTimeFormat('fr-FR', {
|
|
year: 'numeric',
|
|
month: 'short',
|
|
day: 'numeric',
|
|
hour: '2-digit',
|
|
minute: '2-digit'
|
|
}).format(dateObj);
|
|
}
|
|
|
|
export function formatCurrency(amount: number): string {
|
|
return new Intl.NumberFormat('fr-FR', {
|
|
style: 'currency',
|
|
currency: 'EUR'
|
|
}).format(amount);
|
|
}
|