MessageMediaItem.jsx 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. import { AudioItem } from "../MessageMediaItems/MessageAudioItem/AudioItem"
  2. import { FileItem } from "../MessageMediaItems/MessageFileItem/MessageFileItem";
  3. import { MessageImgItem } from "../MessageMediaItems/MessageImgItem/MessageImgItem";
  4. import { MessageVideoItem } from "../MessageMediaItems/MessageVideoItem/MessageVideoItem";
  5. import { MessageMediaItemWrap } from "./MessageMediaItem.style"
  6. export const MessageMediaItem = ({file}) => {
  7. const url = file.url;
  8. const name = file?.originalFileName?.length > 22 ?
  9. file.originalFileName.slice(0,10) + '...' + file.originalFileName.slice(-10) :
  10. file.originalFileName
  11. const checkType = (type) => {
  12. if (type.includes("image")){
  13. return <MessageImgItem url={url}/>
  14. }else if (type.includes("audio")){
  15. return <AudioItem url={url} name={name}/>
  16. }else if(type.includes("video")){
  17. return <MessageVideoItem url={url}/>
  18. }else {
  19. return <FileItem url={url} name={name}/>
  20. }
  21. }
  22. return (
  23. <MessageMediaItemWrap>
  24. {checkType(file.type)}
  25. </MessageMediaItemWrap>
  26. )
  27. }