import { clsx, type ClassValue } from 'clsx' import { twMerge } from 'tailwind-merge' export function cn(...inputs: ClassValue[]) { return twMerge(clsx(inputs)) } export function slugify(str: string) { if (!str) return "" return str .toLowerCase() .replace(/a|á|à|ả|ã|ạ|ă|ắ|ằ|ẳ|ẵ|ặ|â|ấ|ầ|ẩ|ẫ|ậ/gi, 'a') .replace(/e|é|è|ẻ|ẽ|ẹ|ê|ế|ề|ể|ễ|ệ/gi, 'e') .replace(/i|í|ì|ỉ|ĩ|ị/gi, 'i') .replace(/o|ó|ò|ỏ|õ|ọ|ô|ố|ồ|ổ|ỗ|ộ|ơ|ớ|ờ|ở|ỡ|ợ/gi, 'o') .replace(/u|ú|ù|ủ|ũ|ụ|ư|ứ|ừ|ử|ữ|ự/gi, 'u') .replace(/y|ý|ỳ|ỷ|ỹ|ỵ/gi, 'y') .replace(/đ/gi, 'd') .replace(/[^a-z0-9]+/g, '-') .replace(/^-+|-+$/g, ''); } export function formatViews(views: number): string { if (views >= 1000000) return (views / 1000000).toFixed(1) + "M" if (views >= 1000) return (views / 1000).toFixed(1) + "K" return views.toString() }