Rev 16267 | Rev 16272 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React, { useState, useEffect } from "react";
import { axios } from "../../../../utils";
import { useDispatch } from "react-redux";
import { useForm } from "react-hook-form";
import { Modal } from "@mui/material";
import Datetime from "react-datetime";
import FormErrorFeedback from "../../../../shared/form-error-feedback/FormErrorFeedback";
const ConferenceModal = ({
isShow = false,
timezones = {},
zoomUrl = "",
onClose = () => null,
onCreate = () => null,
}) => {
const { handleSubmit, register, errors } = useForm();
return (
<Modal show={isShow} onHide={onClose}>
<Modal.Header closeButton>
<Modal.Title>Crear Conferencia</Modal.Title>
</Modal.Header>
<Modal.Body>
<form onSubmit={handleSubmit} autoComplete="new-password">
<div className="form-group">
<label htmlFor="first_name">Título</label>
<input
type="text"
name="title"
className="form-control"
maxLength={128}
ref={register({ required: "Por favor ingrese un título" })}
/>
{errors.title && (
<FormErrorFeedback>{errors.title.message}</FormErrorFeedback>
)}
</div>
<div className="form-group">
<label htmlFor="first_name">Descripción</label>
<input
type="text"
name="description"
className="form-control"
ref={register({ required: "Por favor ingrese una descripción" })}
/>
{errors.description && (
<FormErrorFeedback>
{errors.description.message}
</FormErrorFeedback>
)}
</div>
<div className="form-group">
<label htmlFor="timezone">Tipo de conferencia</label>
<select name="type" className="form-control" ref={register}>
<option value="i">Inmediata</option>
<option value="s">Programada</option>
</select>
</div>
<div className="form-group">
<label htmlFor="timezone">Zona horaria</label>
<select
className="form-control"
name="timezone"
ref={register({ required: "Por favor elige una Zona horaria" })}
>
<option value="" hidden>
Zona horaria
</option>
{Object.entries(timezones).map(([key, value]) => (
<option value={key} key={key}>
{value}
</option>
))}
</select>
{errors.timezone && (
<FormErrorFeedback>{errors.timezone.message}</FormErrorFeedback>
)}
</div>
<div className="form-group">
<label htmlFor="timezone">Duración</label>
<select className="form-control" name="duration" ref={register}>
<option value={5}>5-min</option>
<option value={10}>10-min</option>
<option value={15}>15-min</option>
<option value={20}>20-min</option>
<option value={25}>25-min</option>
<option value={30}>30-min</option>
<option value={35}>35-min</option>
<option value={40}>40-min</option>
<option value={45}>45-min</option>
</select>
</div>
<div className="form-group">
<label htmlFor="first_name">Contraseña de ingreso</label>
<input
type="password"
name="password"
className="form-control"
ref={register({
required: "Por favor ingrese una contraseña",
maxLength: {
value: 6,
message: "La contraseña debe tener al menos 6 digitos",
},
})}
/>
{errors.password && (
<FormErrorFeedback>{errors.password.message}</FormErrorFeedback>
)}
</div>
<button className="btn btn-primary" type="submit">
Crear
</button>
</form>
</Modal.Body>
</Modal>
);
};
export default ConferenceModal;