| export function formatDate(dateString) { |
| const date = isNaN(new Date(dateString).getTime()) |
| ? new Date() |
| : new Date(dateString); |
| const options = { year: "numeric", month: "short", day: "numeric" }; |
| const formattedDate = date.toLocaleDateString("en-US", options); |
| return formattedDate; |
| } |
|
|
| export function getFileExtension(path) { |
| return path?.split(".")?.slice(-1)?.[0] || "file"; |
| } |
|
|
| export function middleTruncate(str, n) { |
| const fileExtensionPattern = /([^.]*)$/; |
| const extensionMatch = str.includes(".") && str.match(fileExtensionPattern); |
|
|
| if (str.length <= n) return str; |
|
|
| if (extensionMatch && extensionMatch[1]) { |
| const extension = extensionMatch[1]; |
| const nameWithoutExtension = str.replace(fileExtensionPattern, ""); |
| const truncationPoint = Math.max(0, n - extension.length - 4); |
| const truncatedName = |
| nameWithoutExtension.substr(0, truncationPoint) + |
| "..." + |
| nameWithoutExtension.slice(-4); |
|
|
| return truncatedName + extension; |
| } else { |
| return str.length > n ? str.substr(0, n - 8) + "..." + str.slice(-4) : str; |
| } |
| } |
|
|