Skip to content

Commit

Permalink
feature: adiconando o dropdown para o status
Browse files Browse the repository at this point in the history
Refs: #5
  • Loading branch information
eliseukadesh67 committed Jul 28, 2024
1 parent 9043d3f commit a21c8f5
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 7 deletions.
13 changes: 11 additions & 2 deletions src/components/containers/StatusDropdown.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,17 @@
import React, { useState } from 'react';
import PropTypes from 'prop-types';

function Dropdown() {
function StatusDropdown({ onChange }) {
// Estado para armazenar o valor selecionado
const [selectedOption, setSelectedOption] = useState('');

// Função para lidar com a mudança de seleção
const handleChange = (event) => {
setSelectedOption(event.target.value);

if (onChange) {
onChange(event); // Passa o evento completo
}
};

return (
Expand Down Expand Up @@ -54,4 +59,8 @@ function Dropdown() {
);
}

export default Dropdown;
StatusDropdown.propTypes = {
onChange: PropTypes.func.isRequired,
};

export default StatusDropdown;
24 changes: 19 additions & 5 deletions src/components/forms/ContractForm.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,17 @@ import { toast } from "react-toastify";
import Navbar from "../navbar/Navbar";
import "../../style/components/contractForm.css";
import { createContract } from "../../services/contractService";
import Dropdown from "../containers/StatusDropdown";
import StatusDropdown from "../containers/StatusDropdown";
import encodeSpecialChars from "../utils/encode.js";

export default function ContractForm() {
const [numero, setNumero] = useState('');
const [nomeGestor, setNomeGestor] = useState('');
const [descricao, setDescricao] = useState('');
const [dataInicio, setDataInicio] = useState(new Date(Date.now()).toISOString());
const [dataTermino, setdataTermino] = useState(new Date(Date.now()).toISOString());
const ativo = false
const [ativo, setAtivo] = useState(false);



const handleSubmit = async (e) => {
Expand All @@ -23,7 +25,6 @@ export default function ContractForm() {
dataInicio: new Date(dataInicio).toISOString(),
dataTermino: new Date(dataTermino).toISOString(),
ativo

};
console.log("Form data:", formData);

Expand All @@ -32,7 +33,10 @@ export default function ContractForm() {
if(response.type === "success") {
toast.success("Contrato criado com sucesso!")
setTimeout(() => {
window.location = "/listagemContrato";
const encodedParam = encodeSpecialChars(formData.numero)
const encodedUrl = `/verContrato/${encodedParam}`;
console.log(encodedUrl)
window.location = encodedUrl
}, 1000);
} else {
if(response.error.response.status === 400){
Expand All @@ -48,6 +52,16 @@ export default function ContractForm() {
window.location = "/listagemContrato"
};

const handleStatus = (e) => {
console.log("value", e.target.value)
if(e.target.value === "ativo"){
setAtivo(true)
}
else if(e.target.value === "inativo"){
setAtivo(false)
}
}

return (
<>
<Navbar />
Expand All @@ -69,7 +83,7 @@ export default function ContractForm() {
onChange={(e) => setNumero(e.target.value)}
></input>
</label>
<Dropdown />
<StatusDropdown onChange={handleStatus} />
</div>
<label id="label">
Gestor do Contrato
Expand Down

0 comments on commit a21c8f5

Please sign in to comment.