Feat: commit antes de mostrar el codigo.

- Añadido alta propiedad
- Arreglado alta inq/prop
- Añadida pantalla de menu
This commit is contained in:
2024-11-26 08:36:03 -03:00
parent e9b3baa9ca
commit 29f7dc4efe
17 changed files with 164 additions and 83 deletions

View File

@@ -7,10 +7,10 @@
import InqPage from "./paginas/inquilino.svelte";
import PropPage from "./paginas/propietario.svelte";
import FrontAdmin from "./paginas/grupos/AdminG.svelte";
import FrontEstadistica from "./paginas/grupos/EstadisticaG.svelte";
import FrontInformes from "./paginas/grupos/InformesG.svelte";
import FrontInquilino from "./paginas/grupos/InquilinoG.svelte";
import FrontPropietario from "./paginas/grupos/PropietarioG.svelte";
import PublicarPropiedad from "./paginas/PublicarPropiedad.svelte";
import PublicarPropiedad from "./paginas/PublicarPropiedad.svelte";
</script>
<Router>
@@ -52,8 +52,8 @@
<Route path="/grupo/Admin">
<ProteRoute componente={FrontAdmin}/>
</Route>
<Route path="/grupo/Estadistica">
<ProteRoute componente={FrontEstadistica}/>
<Route path="/grupo/Informes">
<ProteRoute componente={FrontInformes}/>
</Route>
</Router>

View File

@@ -18,16 +18,24 @@
let domicilio: string = $state("")
let celular: string = $state("")
const token = sessionStorage.getItem("token");
async function submitForm(event: any) {
event.preventDefault();
try {
let response = await fetch(url, {
method: 'POST',
headers: {
'Auth' : String(token),
'Content-Type' : 'application/json',
},
body: JSON.stringify({dni, nombre, apellido, domicilio, celular, email, contraseña})
});
if (response.ok){
const errorData = await response.json();
errorMessage = errorData.message;
showAlert = true;
}
if (!response.ok) {
const errorData = await response.json();
errorMessage = errorData.message;

View File

@@ -0,0 +1,13 @@
<script lang="ts">
import { Button, Modal } from '@sveltestrap/sveltestrap';
let {payload} = $props();
let open = $state(true);
const toggle = () => (open = !open);
</script>
<div>
<Modal body isOpen={open} {toggle}>
{payload}
</Modal>
</div>

View File

@@ -1,5 +1,8 @@
<script lang="ts">
import { writable } from "svelte/store"; // Importar writable para los estados
import ModalEstatico from "../Componentes/ModalEstatico.svelte";
import NavBarAutocompletable from "../Componentes/NavBarAutocompletable.svelte";
type Propiedad = {
ubicacion: string,
canthabitaciones: number,
@@ -7,26 +10,50 @@
letra: string,
email: string,
idtipropiedad: number,
}
};
let propiedad: Propiedad = {
ubicacion: "",
canthabitaciones: 1,
piso: 0,
letra: "",
email: "",
email: localStorage.getItem("email") || "",
idtipropiedad: 1,
};
const submitForm = () => {
console.log("Formulario enviado:", propiedad);
};
let token = sessionStorage.getItem("token");
let mostrarModal = $state(false);
let datosModal = $state("");
const submitForm = async (e: Event) => {
e.preventDefault();
try {
const response = await fetch("http://localhost:5007/api/propiedad", {
method: 'POST',
headers: {
'Auth': String(token),
'Content-Type': "application/json"
},
body: JSON.stringify(propiedad),
});
const json = await response.json();
datosModal = json.message;
mostrarModal =true;
} catch (e) {
console.error(e);
}
};
</script>
<NavBarAutocompletable/>
<NavBarAutocompletable />
<div class="container mt-4">
<h2>Registrar Propiedad</h2>
<form on:submit|preventDefault={submitForm}>
<form class="card card-body" onsubmit={submitForm}>
<div class="form-floating mb-3">
<input
type="text"
@@ -72,7 +99,6 @@
/>
<label for="letra">Letra</label>
</div>
<div class="form-floating mb-3">
<select
id="idtipropiedad"
@@ -81,11 +107,17 @@
required
>
<option value="1">Casa</option>
<option value="2">Departamento</option>
<option value="3">Oficina</option>
<option value="2">Piso</option>
<option value="3">Departamento</option>
<option value="4">Galpon</option>
<option value="5">LocalComercial</option>
<option value="6">Oficina</option>
</select>
<label for="idtipropiedad">Tipo de Propiedad</label>
</div>
<button type="submit" class="btn btn-primary">Enviar</button>
</form>
</div>
{#if mostrarModal == true}
<ModalEstatico payload={datosModal} />
{/if}

View File

@@ -7,7 +7,7 @@ import NavBarAutocompletable from "../../Componentes/NavBarAutocompletable.svelt
<NavBarAutocompletable/>
<div class="container mt-5">
<div class="text-center mb-4">
<h1>Perfil del Administrador</h1>
<h1>Menu del Administrador</h1>
<p>Gestiona las cuentas de usuarios, propiedades y permisos desde aquí.</p>
</div>
<ListaAcciones/>

View File

@@ -1,5 +0,0 @@
<script lang="ts">
import NavBarAutocompletable from "../../Componentes/NavBarAutocompletable.svelte";
</script>
<NavBarAutocompletable/>

View File

@@ -0,0 +1,13 @@
<script lang="ts">
import ListaAcciones from "../../Componentes/ListaAcciones.svelte";
import NavBarAutocompletable from "../../Componentes/NavBarAutocompletable.svelte";
</script>
<NavBarAutocompletable/>
<div class="container mt-5">
<div class="text-center mb-4">
<h1>Menu Informes</h1>
<p>Visualice estadisticas e informes aqui.</p>
</div>
<ListaAcciones/>
</div>

View File

@@ -7,7 +7,7 @@ import NavBarAutocompletable from "../../Componentes/NavBarAutocompletable.svelt
<div class="container mt-5">
<div class="text-center mb-4">
<h1>Perfil del Inquilino</h1>
<h1>Menu del Inquilino</h1>
<p>Gestiona tus Pagos y Busca Propiedades desde aquí.</p>
</div>
<ListaAcciones/>

View File

@@ -6,7 +6,7 @@
<NavBarAutocompletable/>
<div class="container mt-5">
<div class="text-center mb-4">
<h1>Perfil del Propietario</h1>
<h1>Menu del Propietario</h1>
<p>Gestiona tus propiedades y servicios desde aquí.</p>
</div>
<ListaAcciones/>

View File

@@ -1,6 +1,15 @@
<script>
import NavBarAuto from "../Componentes/NavBarAutocompletable.svelte";
import BarraHorizontalConTexto from "../Componentes/BarraHorizontalConTexto.svelte";
import NavBarAuto from "../Componentes/NavBarAutocompletable.svelte";
</script>
<NavBarAuto/>
hol
<div class="container d-flex justify-content-center align-items-center h-50 text-center">
<div>
<br><br>
<BarraHorizontalConTexto text={"¡Bienvenido a AlquilaFacil!"} />
<p class="lead mt-3">Por favor, elige una de las opciones disponibles en la barra de navegación superior.</p>
<BarraHorizontalConTexto text={""}/>
</div>
</div>