Skip to content

Commit

Permalink
Merge pull request #15 from iic2154-uc-cl/jose-desarrollo-copy-2
Browse files Browse the repository at this point in the history
Jose desarrollo copy 2
  • Loading branch information
luzmagurzua authored Nov 2, 2024
2 parents 5d750c3 + a43141d commit 3143d95
Show file tree
Hide file tree
Showing 16 changed files with 2,917 additions and 323 deletions.
43 changes: 38 additions & 5 deletions src/pages/users/publicar.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,18 @@ import TurismoForm from './zturismo.jsx';
import CentrosDeportivosForm from './zcentros.jsx';
import EventosForm from './zeventos.jsx';
import HospedajeForm from './zhospedaje.jsx';
import CampingForm from './zcamping.jsx';
import GastronomiaForm from './zgastronomia.jsx';
import ServiciosForm from './zservicios.jsx';

import NegociosForm from './znegocios.jsx';
import CulturaForm from './zcultura.jsx';
import TourForm from './ztours.jsx';
import DeporteForm from './zdeporte.jsx';
import HolisticoForm from './zholistico.jsx';
import MascotaForm from './zmascota.jsx';
import EntretenimientoForm from './zentretenimiento.jsx';
import OficioForm from './zoficio.jsx';
import FamiliarForm from './zfamiliar.jsx';
import Prueba from './zprueba.jsx';
import '../../styles/users/publicar.css';

const steps = ['Tipo de publicación', 'Información', 'Imágenes', 'Publicar y Pagar'];
Expand Down Expand Up @@ -128,10 +137,34 @@ function Publicar() {
</Box>
);
case 1:
if (selectedType === 'propiedad' || selectedType === 'camping') {
return <HospedajeForm formData={formData} errors={errors} onInputChange={handleInputChange} />;
if(selectedType === 'propiedad') {
return <HospedajeForm formData={formData} errors={errors} onInputChange={handleInputChange} />
;
} else if (selectedType === 'camping') {
return <CampingForm onNext={handleNext}/>;
} else if (selectedType === 'servicios') {
return <ServiciosForm />;
if(selectedSubCategory === 'negocios-tiendas') {
return <NegociosForm />;
} else if (selectedSubCategory === 'restaurantes-comida') {
return <GastronomiaForm />;
}else if (selectedSubCategory === 'cultura') {
return <CulturaForm />;
}else if (selectedSubCategory === 'tours-transporte') {
return <TourForm />;
}else if (selectedSubCategory === 'tiempo-libre-deporte') {
return <DeporteForm />;
}else if (selectedSubCategory === 'entretencion') {
return <EntretenimientoForm />;
}else if (selectedSubCategory === 'mundo-holistico') {
return <HolisticoForm />;
}else if (selectedSubCategory === 'mundo-familiar-salud') {
return <FamiliarForm />;
} else if (selectedSubCategory === 'mascotas') {
return <MascotaForm />;
} else if (selectedSubCategory === 'oficios') {
return <OficioForm />;
}

} else if (selectedType === 'eventos') {
return <EventosForm />;
} else if (selectedType === 'notificaciones') {
Expand Down
145 changes: 6 additions & 139 deletions src/pages/users/zcamping.jsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import '../../styles/users/zhospedaje.css';
import '../../styles/users/zcamping.css';
import { useState, useEffect } from 'react';
import PropTypes from 'prop-types';
import {
Expand Down Expand Up @@ -27,16 +27,7 @@ const center = {
//-----------new


const subcategories = [
{ label: 'Arriendo', value: 'arriendo' },
{ label: 'Cabaña', value: 'cabaña' },
{ label: 'Departamento', value: 'departamento' },
{ label: 'Casa', value: 'casa' },
{ label: 'Hospedaje', value: 'hospedaje' },
{ label: 'Hotel', value: 'hotel' }
];

function HospedajeForm({ onNext }) {
function CampingForm({ onNext }) {
//-----------new
const [markerPosition, setMarkerPosition] = useState(center); // Estado para la posición del marcador
const [userLocation, setUserLocation] = useState(null); // Estado para la ubicación del usuario
Expand Down Expand Up @@ -88,21 +79,14 @@ function HospedajeForm({ onNext }) {
descripcion: '',
ubicacion: '',
numeroUbicacion: '',
dormitorios: '',
camasSimples: '',
camasDobles: '',
cantidadMinima: '',
cantidadMaxima: '',
nombreContacto: '',
celularContacto: '',
mailContacto: '',
instagram: '',
facebook: '',
paginaWeb: '',
precioPorNoche: '',
disponible: false,
incluyeDesayuno: false,
incluyeToallasSabanas: false
disponible: false
});

const [errors, setErrors] = useState({});
Expand All @@ -119,7 +103,6 @@ function HospedajeForm({ onNext }) {
const validateForm = () => {
const newErrors = {};

if (!formData.subcategoria) {newErrors.subcategoria = 'Selecciona un tipo de acomodación.';}
if (!formData.titulo) {newErrors.titulo = 'Escribe un título.';}
if (!formData.descripcion) {newErrors.descripcion = 'Escribe una descripción.';}
if (!formData.ubicacion) {
Expand All @@ -128,12 +111,6 @@ function HospedajeForm({ onNext }) {
newErrors.ubicacion = 'Debes seguir el formato de dirección: Calle 123, Comuna, Ciudad.';
}

if (!formData.dormitorios) {newErrors.dormitorios = 'Ingresa cantidad de dormitorios.';}
if (!formData.camasSimples) {newErrors.camasSimples = 'Ingresa cantidad de camas simples.';}
if (!formData.camasDobles) {newErrors.camasDobles = 'Ingresa cantidad de camas dobles.';}
if (!formData.cantidadMaxima) {newErrors.cantidadMaxima = 'Ingresa cantidad máxima de personas para la acomodación.';}
if (!formData.cantidadMinima) {newErrors.cantidadMinima = 'Ingresa cantidad mínima de personas para la acomodación.';}

if (!formData.celularContacto && !formData.mailContacto) {
newErrors.contacto = 'Debes incluir al menos el número de celular de contacto o el mail de contacto.';
} else {
Expand All @@ -155,15 +132,6 @@ function HospedajeForm({ onNext }) {
return Object.keys(newErrors).length === 0;
};

//const handleSubmit = (e) => {
// e.preventDefault();
// if (validateForm()) {
// console.log('Formulario válido, proceder...');
// handleNext();
//} else {
// console.log('Errores en el formulario:', errors);
//}
//}
const handleSubmit = (event) => {
event.preventDefault();
if (validateForm()) {
Expand All @@ -174,30 +142,12 @@ function HospedajeForm({ onNext }) {
}
};



return (
<form className="form-container" onSubmit={handleSubmit}>
<h1>Propiedad</h1>
<h1>Camping</h1>
<h2>Ingresa la información de tu publicación</h2>


<FormControl fullWidth>
<InputLabel id="tipo-acomodacion-label">Tipo de Acomodación</InputLabel>
<Select
labelId="tipo-acomodacion-label"
id="tipo-acomodacion"
value={formData.subcategoria}
label="Tipo de Acomodación"
onChange={(e) => handleInputChange('subcategoria', e.target.value)}
>
{subcategories.map((type) => (
<MenuItem key={type.value} value={type.value}>{type.label}</MenuItem>
))}
</Select>
{errors.subcategoria && <Typography color="error">{errors.subcategoria}</Typography> || 'Campo Obligatorio'}

</FormControl>

<TextField
fullWidth
Expand Down Expand Up @@ -255,65 +205,6 @@ function HospedajeForm({ onNext }) {
</LoadScript>


<div className="personas-container">
<TextField
fullWidth
label="Cantidad Mínima de Personas"
type="number"
value={formData.cantidadMinima}
onChange={(e) => handleInputChange('cantidadMinima', e.target.value)}
margin="normal"
error={Boolean(errors.cantidadMinima)}
helperText={errors.cantidadMinima|| 'Campo Obligatorio'}
/>

<TextField
fullWidth
label="Cantidad Máxima de Personas"
type="number"
value={formData.cantidadMaxima}
onChange={(e) => handleInputChange('cantidadMaxima', e.target.value)}
margin="normal"
error={Boolean(errors.cantidadMaxima)}
helperText={errors.cantidadMaxima|| 'Campo Obligatorio'}
/>
</div>

<div className="bedroom-container">
<TextField
fullWidth
label="Dormitorios"
type="number"
margin="normal"
value={formData.dormitorios}
onChange={(e) => handleInputChange('dormitorios', e.target.value)}
error={Boolean(errors.dormitorios)}
helperText={errors.dormitorios|| 'Campo Obligatorio'}
/>

<TextField
fullWidth
label="Camas Simples"
type="number"
value={formData.camasSimples}
onChange={(e) => handleInputChange('camasSimples', e.target.value)}
margin="normal"
error={Boolean(errors.camasSimples)}
helperText={errors.camasSimples|| 'Campo Obligatorio'}
/>

<TextField
fullWidth
label="Camas Dobles"
type="number"
value={formData.camasDobles}
onChange={(e) => handleInputChange('camasDobles', e.target.value)}
margin="normal"
error={Boolean(errors.camasDobles)}
helperText={errors.camasDobles|| 'Campo Obligatorio'}
/>
</div>



<div className="contacto-container">
Expand Down Expand Up @@ -400,27 +291,6 @@ function HospedajeForm({ onNext }) {
label="Actualmente Disponible"
/>

<FormControlLabel
control={
<Checkbox
checked={formData.incluyeDesayuno}
onChange={(e) => handleInputChange('incluyeDesayuno', e.target.checked)}
className='checkboxs-orange'
/>
}
label="Incluye Desayuno"
/>

<FormControlLabel
control={
<Checkbox
checked={formData.incluyeToallasSabanas}
onChange={(e) => handleInputChange('incluyeToallasSabanas', e.target.checked)}
className='checkboxs-orange'
/>
}
label="Incluye Toallas y Sábanas"
/>
</div>

<button type="submit">Siguiente</button>
Expand All @@ -430,11 +300,8 @@ function HospedajeForm({ onNext }) {
);
}

/*HospedajeForm.propTypes = {
handleNext: PropTypes.func.isRequired,
};*/

HospedajeForm.propTypes = {
CampingForm.propTypes = {
onNext: PropTypes.func.isRequired,
};
export default HospedajeForm;
export default CampingForm;
Loading

0 comments on commit 3143d95

Please sign in to comment.