diff --git a/backend/src/controllers/ContactController.js b/backend/src/controllers/ContactController.js
index a5fdf57..a50ba0b 100644
--- a/backend/src/controllers/ContactController.js
+++ b/backend/src/controllers/ContactController.js
@@ -61,14 +61,18 @@ exports.store = async (req, res) => {
exports.show = async (req, res) => {
const { contactId } = req.params;
- const { id, name, number, extraInfo } = await Contact.findByPk(contactId, {
- include: [{ model: ContactCustomField, as: "extraInfo" }],
- });
+ const { id, name, number, email, extraInfo } = await Contact.findByPk(
+ contactId,
+ {
+ include: [{ model: ContactCustomField, as: "extraInfo" }],
+ }
+ );
res.status(200).json({
id,
name,
number,
+ email,
extraInfo,
});
};
@@ -93,3 +97,23 @@ exports.update = async (req, res) => {
res.status(200).json(contact);
};
+
+exports.delete = async (req, res) => {
+ const io = getIO();
+ const { contactId } = req.params;
+
+ const contact = await Contact.findByPk(contactId);
+
+ if (!contact) {
+ return res.status(400).json({ error: "No contact found with this ID" });
+ }
+
+ await contact.destroy();
+
+ io.emit("contact", {
+ action: "delete",
+ contactId: contactId,
+ });
+
+ res.status(200).json({ message: "Contact deleted" });
+};
diff --git a/backend/src/routes/contacts.js b/backend/src/routes/contacts.js
index 74255d7..64aff36 100644
--- a/backend/src/routes/contacts.js
+++ b/backend/src/routes/contacts.js
@@ -13,4 +13,6 @@ routes.post("/contacts", isAuth, ContactController.store);
routes.put("/contacts/:contactId", isAuth, ContactController.update);
+routes.delete("/contacts/:contactId", isAuth, ContactController.delete);
+
module.exports = routes;
diff --git a/frontend/package.json b/frontend/package.json
index 4916b2b..c9e0c07 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -22,7 +22,6 @@
"react-modal-image": "^2.5.0",
"react-router-dom": "^5.2.0",
"react-scripts": "3.4.1",
- "shortid": "^2.2.15",
"socket.io-client": "^2.3.0"
},
"scripts": {
diff --git a/frontend/src/components/ConfirmationModal/ConfirmationModal.js b/frontend/src/components/ConfirmationModal/ConfirmationModal.js
new file mode 100644
index 0000000..1a48158
--- /dev/null
+++ b/frontend/src/components/ConfirmationModal/ConfirmationModal.js
@@ -0,0 +1,43 @@
+import React from "react";
+import Button from "@material-ui/core/Button";
+import Dialog from "@material-ui/core/Dialog";
+import DialogActions from "@material-ui/core/DialogActions";
+import DialogContent from "@material-ui/core/DialogContent";
+import DialogTitle from "@material-ui/core/DialogTitle";
+import Typography from "@material-ui/core/Typography";
+
+const ConfirmationModal = ({ title, children, open, setOpen, onConfirm }) => {
+ return (
+
+ );
+};
+
+export default ConfirmationModal;
diff --git a/frontend/src/components/Navbar/DefaultNavbar.js b/frontend/src/components/Navbar/DefaultNavbar.js
deleted file mode 100644
index abb42f2..0000000
--- a/frontend/src/components/Navbar/DefaultNavbar.js
+++ /dev/null
@@ -1,37 +0,0 @@
-import React from "react";
-
-import { Navbar, Nav, Container } from "react-bootstrap";
-import { LinkContainer } from "react-router-bootstrap";
-
-const LogedinNavbar = () => {
- return (
-
-
-
-
- EconoWhatsBot
-
-
-
-
-
- Login
-
-
- Signup
-
-
-
-
-
- );
-};
-
-export default LogedinNavbar;
diff --git a/frontend/src/components/Navbar/LogedinNavbar.js b/frontend/src/components/Navbar/LogedinNavbar.js
deleted file mode 100644
index cecdf77..0000000
--- a/frontend/src/components/Navbar/LogedinNavbar.js
+++ /dev/null
@@ -1,52 +0,0 @@
-import React from "react";
-import { useHistory } from "react-router-dom";
-import { Navbar, Nav, Container } from "react-bootstrap";
-import { LinkContainer } from "react-router-bootstrap";
-import "./Navbar.css";
-
-const DefaultNavbar = () => {
- const username = localStorage.getItem("username");
- const history = useHistory();
-
- const handleLogout = e => {
- e.preventDefault();
- localStorage.removeItem("token");
- localStorage.removeItem("userName");
- localStorage.removeItem("userId");
- history.push("/");
- };
-
- return (
-
-
-
-
- EconoWhatsBot
-
-
-
-
-
- Logado como: {username}
-
-
- Logout
-
-
-
-
-
- );
-};
-
-export default DefaultNavbar;
diff --git a/frontend/src/components/Navbar/Navbar.css b/frontend/src/components/Navbar/Navbar.css
deleted file mode 100644
index e69de29..0000000
diff --git a/frontend/src/pages/Contacts/ContactModal.js b/frontend/src/pages/Contacts/ContactModal.js
index c44888c..2bd89fa 100644
--- a/frontend/src/pages/Contacts/ContactModal.js
+++ b/frontend/src/pages/Contacts/ContactModal.js
@@ -12,6 +12,8 @@ import DialogTitle from "@material-ui/core/DialogTitle";
import Typography from "@material-ui/core/Typography";
import IconButton from "@material-ui/core/IconButton";
import DeleteOutlineIcon from "@material-ui/icons/DeleteOutline";
+import CircularProgress from "@material-ui/core/CircularProgress";
+import { green } from "@material-ui/core/colors";
import { makeStyles } from "@material-ui/core/styles";
@@ -34,6 +36,20 @@ const useStyles = makeStyles(theme => ({
justifyContent: "center",
alignItems: "center",
},
+
+ btnWrapper: {
+ // margin: theme.spacing(1),
+ position: "relative",
+ },
+
+ buttonProgress: {
+ color: green[500],
+ position: "absolute",
+ top: "50%",
+ left: "50%",
+ marginTop: -12,
+ marginLeft: -12,
+ },
}));
const ContactModal = ({
@@ -82,17 +98,12 @@ const ContactModal = ({
handleClose();
};
- console.log(contact);
- console.log("id", contactId);
-
return (