import { FileIcon } from '@/components/icons/FileIcon'
import clsx from 'clsx'
type Props = {
file: { name: string }
}
export const FilePreview = (props: Props) => {
const fileColor = getFileAssociatedColor(props.file)
return (
{props.file.name}
{formatFileExtensionHumanReadable(props.file)}
)
}
const formatFileExtensionHumanReadable = (file: { name: string }) => {
const extension = file.name.split('.').pop()
switch (extension) {
case 'pdf':
return 'PDF'
case 'doc':
case 'docx':
return 'Word'
case 'xls':
case 'xlsx':
case 'csv':
return 'Sheet'
case 'json':
return 'JSON'
case 'md':
return 'Markdown'
default:
return 'DOCUMENT'
}
}
const getFileAssociatedColor = (file: {
name: string
}): 'pink' | 'blue' | 'green' | 'gray' | 'orange' => {
const extension = file.name.split('.').pop()
if (!extension) return 'gray'
switch (extension) {
case 'pdf':
return 'pink'
case 'doc':
case 'docx':
return 'blue'
case 'xls':
case 'xlsx':
case 'csv':
return 'green'
case 'json':
return 'orange'
default:
return 'gray'
}
}