Proyectos de Subversion LeadersLinked - Backend

Rev

Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

import React, { useEffect, useState } from "react";

import styles from "./fileModal.module.scss";

const FileModal = (props) => {
  // props destructuring
  const { file, onCancel, onSend } = props;

  const [fileUrl, setFileUrl] = useState("");

  useEffect(() => {
    const reader = new FileReader();
    reader.onloadend = () => {
      setFileUrl(reader.result);
    };
    reader.readAsDataURL(file);
     (file.type);
  }, []);

  // "video/mp4, video/mpeg, video/webm, application/pdf, image/jpeg, image/png, image/jpg";
  const filePreview = () => {
    switch (file.type) {
      case "video/mp4":
      case "video/mpeg":
      case "video/webm":
        return (
          <video
            className={styles.file}
            src={fileUrl}
            muted
            autoPlay
            controls
          ></video>
        );
      case "image/png":
      case "image/jpeg":
      case "image/jpg":
        return (
          <img className={styles.file} src={fileUrl} alt="uploaded-image" />
        );
      case "application/pdf":
        return (
          <object
            className={styles.file}
            data={fileUrl}
            type="application/pdf"
          ></object>
        );
      default:
        break;
    }
  };

  return (
    <div className={styles.fileModal}>
      {fileUrl && filePreview()}
      <div className={styles.buttonsContainer}>
        <button className={styles.button} onClick={onCancel}>
          Cancelar
        </button>
        <button className={styles.button} onClick={onSend}>
          Enviar
        </button>
      </div>
    </div>
  );
};

export default FileModal;