AudioItem.jsx 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. import { FileWrap, FileIconWrap, FileIcon, AudioPlayer, FileTitle, DownloaderFile } from "./AudioItem.style";
  2. import MusicIcon from '../../DropMediaItem/DropMediaFiles/icons8-music.png';
  3. import { useState } from "react";
  4. import { backendURL } from "../../../helpers/gql";
  5. import DownloadIcon from './icons8-download.png';
  6. import { saveFile } from "../../../helpers/saveFile";
  7. export const AudioItem = ({url, name}) => {
  8. const [isOpen, setIsOpen] = useState(false);
  9. const handleOpen = () => setIsOpen(!isOpen);
  10. return (
  11. <div>
  12. <FileWrap>
  13. <FileIconWrap isAudio={true} onClick={handleOpen}>
  14. <FileIcon src={MusicIcon}/>
  15. </FileIconWrap>
  16. <div>
  17. <FileTitle>{name}</FileTitle>
  18. <div style={{display: 'flex', justifyContent: 'right'}}>
  19. <DownloaderFile onClick={() => saveFile(`${backendURL}/${url}`, name)} src={DownloadIcon}></DownloaderFile>
  20. </div>
  21. </div>
  22. </FileWrap>
  23. {isOpen && <AudioPlayer controls src={`${backendURL}/${url || ''}`}/>}
  24. </div>
  25. )
  26. }