index.tsx 1001 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import type { FC } from 'react'
  2. import {
  3. Csv,
  4. Html,
  5. Json,
  6. Md,
  7. Pdf,
  8. Txt,
  9. Unknow,
  10. Xlsx,
  11. } from '@/app/components/base/icons/src/public/files'
  12. import { Notion } from '@/app/components/base/icons/src/public/common'
  13. type FileIconProps = {
  14. type: string
  15. className?: string
  16. }
  17. const FileIcon: FC<FileIconProps> = ({
  18. type,
  19. className,
  20. }) => {
  21. switch (type) {
  22. case 'csv':
  23. return <Csv className={className} />
  24. case 'htm':
  25. case 'html':
  26. return <Html className={className} />
  27. case 'json':
  28. return <Json className={className} />
  29. case 'md':
  30. case 'markdown':
  31. return <Md className={className} />
  32. case 'pdf':
  33. return <Pdf className={className} />
  34. case 'txt':
  35. return <Txt className={className} />
  36. case 'xls':
  37. case 'xlsx':
  38. return <Xlsx className={className} />
  39. case 'notion':
  40. return <Notion className={className} />
  41. default:
  42. return <Unknow className={className} />
  43. }
  44. }
  45. export default FileIcon