Upload 2.15

This commit is contained in:
AndrewTrieu
2023-03-23 15:41:37 +02:00
parent d4506db50a
commit 19573d026d

View File

@@ -20,14 +20,36 @@ const App = () => {
const addPerson = (event) => { const addPerson = (event) => {
event.preventDefault(); event.preventDefault();
if (persons.find((person) => person.name === newPerson.name)) { if (persons.find((person) => person.name === newPerson.name)) {
alert(`${newPerson.name} is already added to phonebook`); if (
return; window.confirm(
`${newPerson.name} is already added to phonebook, replace the old number with a new one?`
)
) {
const person = persons.find((person) => person.name === newPerson.name);
const changedPerson = { ...person, number: newPerson.number };
personService
.update(person.id, changedPerson)
.then((returnedPerson) => {
setPersons(
persons.map((person) =>
person.id !== returnedPerson.id ? person : returnedPerson
)
);
setShowedPersons(
persons.map((person) =>
person.id !== returnedPerson.id ? person : returnedPerson
)
);
setNewPerson({ name: "", number: "" });
});
} }
} else {
personService.create(newPerson).then((returnedPerson) => { personService.create(newPerson).then((returnedPerson) => {
setPersons(persons.concat(returnedPerson)); setPersons(persons.concat(returnedPerson));
setShowedPersons(persons.concat(returnedPerson)); setShowedPersons(persons.concat(returnedPerson));
setNewPerson({ name: "", number: "" }); setNewPerson({ name: "", number: "" });
}); });
}
}; };
const deletePerson = (id, name) => { const deletePerson = (id, name) => {