diff --git a/part2/phonebook/src/App.js b/part2/phonebook/src/App.js
index 71aef48..137fdea 100644
--- a/part2/phonebook/src/App.js
+++ b/part2/phonebook/src/App.js
@@ -30,6 +30,16 @@ const App = () => {
});
};
+ const deletePerson = (id, name) => {
+ if (window.confirm(`Delete ${name}?`)) {
+ personService.deletePerson(id).then((response) => {
+ const newPersons = persons.filter((person) => person.id !== id);
+ setPersons(newPersons);
+ setShowedPersons(newPersons);
+ });
+ }
+ };
+
const handleChange = (event) => {
const { name, value } = event.target;
setNewPerson({ ...newPerson, [name]: value });
@@ -47,13 +57,14 @@ const App = () => {
- {person.name} {person.number}
+
+ {person.name} {person.number}{" "}
+
);
};
diff --git a/part2/phonebook/src/components/ShowPersons.js b/part2/phonebook/src/components/ShowPersons.js
index e0d74d5..0df56ce 100644
--- a/part2/phonebook/src/components/ShowPersons.js
+++ b/part2/phonebook/src/components/ShowPersons.js
@@ -1,10 +1,10 @@
import Person from "./Person";
-const ShowPersons = ({ showedPersons }) => {
+const ShowPersons = ({ showedPersons, deletePerson }) => {
return (
{showedPersons.map((person) => (
-
+
))}
);
diff --git a/part2/phonebook/src/services/personService.js b/part2/phonebook/src/services/personService.js
index 53acc3e..b0e21db 100644
--- a/part2/phonebook/src/services/personService.js
+++ b/part2/phonebook/src/services/personService.js
@@ -1,11 +1,9 @@
import axios from "axios";
const baseUrl = "http://localhost:3001/persons";
-
const getAll = () => {
const request = axios.get(baseUrl);
return request.then((response) => response.data);
};
-
const create = (newObject) => {
const request = axios.post(baseUrl, newObject);
return request.then((response) => response.data);
@@ -16,4 +14,9 @@ const update = (id, newObject) => {
return request.then((response) => response.data);
};
-export default { getAll, create, update };
+const deletePerson = (id) => {
+ const request = axios.delete(`${baseUrl}/${id}`);
+ return request.then((response) => response);
+};
+
+export default { getAll, create, update, deletePerson };