DropMediaFiles.jsx 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import { useRef, useState } from "react";
  2. import { DropAudioPlayer, DropAudioTitle, DropAudioWrap, DropImgWrap, DropVideoWrap,
  3. DropFileWrap, DropFileIcon, DropFileTitle, DropFileIconWrap, DropFileHeader, DropFileInfo, DropFileSize
  4. } from "./DropMediaFiles.style"
  5. import FileIcon from './icons8-File.svg';
  6. import MusicIcon from './icons8-music.png';
  7. export const DropImg = ({url}) => {
  8. const image = useRef(null);
  9. return (
  10. <DropImgWrap src={url} ref={image}/>
  11. )
  12. }
  13. export const DropVideo = ({url}) => {
  14. return (
  15. <DropVideoWrap src={url} controls/>
  16. )
  17. }
  18. export const DropAudio = ({url, name, size}) => {
  19. const [isOpen, setIsOpen] = useState(false);
  20. const handleOpen = () => setIsOpen(!isOpen);
  21. return (
  22. <DropAudioWrap>
  23. <DropFileWrap>
  24. <DropFileIconWrap isAudio={true} onClick={handleOpen}>
  25. <DropFileIcon src={MusicIcon}/>
  26. </DropFileIconWrap>
  27. <DropFileInfo>
  28. <DropFileTitle>{name}</DropFileTitle>
  29. <DropFileSize>{size}</DropFileSize>
  30. </DropFileInfo>
  31. </DropFileWrap>
  32. {isOpen && <DropAudioPlayer controls src={url}/>}
  33. </DropAudioWrap>
  34. )
  35. }
  36. export const DropFile = ({size, name}) => {
  37. return(
  38. <DropFileWrap>
  39. <DropFileIconWrap>
  40. <DropFileIcon src={FileIcon}/>
  41. </DropFileIconWrap>
  42. <DropFileInfo>
  43. <DropFileTitle>{name}</DropFileTitle>
  44. <DropFileSize>{size}</DropFileSize>
  45. </DropFileInfo>
  46. </DropFileWrap>
  47. )
  48. }