From 87dc0c0625a69245e13cbad6dc47126888ed8efe Mon Sep 17 00:00:00 2001 From: canove Date: Tue, 4 Aug 2020 15:29:14 -0300 Subject: [PATCH] improvement: redirect to ticketId after new ticket --- backend/src/controllers/MessageController.js | 2 +- frontend/src/components/MessagesList/index.js | 6 ++++-- frontend/src/components/NewTicketModal/index.js | 5 ++++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/backend/src/controllers/MessageController.js b/backend/src/controllers/MessageController.js index a92f121..70a222a 100644 --- a/backend/src/controllers/MessageController.js +++ b/backend/src/controllers/MessageController.js @@ -61,7 +61,7 @@ exports.index = async (req, res, next) => { }); if (!ticket) { - return res.status(400).json({ error: "No ticket found with this ID" }); + return res.status(404).json({ error: "No ticket found with this ID" }); } await setMessagesAsRead(ticketId); diff --git a/frontend/src/components/MessagesList/index.js b/frontend/src/components/MessagesList/index.js index 843676e..8056fc7 100644 --- a/frontend/src/components/MessagesList/index.js +++ b/frontend/src/components/MessagesList/index.js @@ -1,6 +1,7 @@ import React, { useState, useEffect, useRef } from "react"; import { useParams, useHistory } from "react-router-dom"; +import { toast } from "react-toastify"; import { isSameDay, parseISO, format } from "date-fns"; import openSocket from "socket.io-client"; import InfiniteScrollReverse from "react-infinite-scroll-reverse"; @@ -263,13 +264,14 @@ const MessagesList = () => { } } catch (err) { console.log(err); - alert(err); + toast.error("Ticket não encontrado"); + history.push("/chat"); } }; fetchMessages(); }, 1000); return () => clearTimeout(delayDebounceFn); - }, [searchParam, pageNumber, ticketId, token]); + }, [searchParam, pageNumber, ticketId, token, history]); useEffect(() => { const socket = openSocket(process.env.REACT_APP_BACKEND_URL); diff --git a/frontend/src/components/NewTicketModal/index.js b/frontend/src/components/NewTicketModal/index.js index 249ffd6..090001e 100644 --- a/frontend/src/components/NewTicketModal/index.js +++ b/frontend/src/components/NewTicketModal/index.js @@ -1,4 +1,5 @@ import React, { useState, useEffect } from "react"; +import { useHistory } from "react-router-dom"; import Button from "@material-ui/core/Button"; import TextField from "@material-ui/core/TextField"; @@ -37,6 +38,7 @@ const useStyles = makeStyles(theme => ({ })); const NewTicketModal = ({ modalOpen, onClose, contactId }) => { + const history = useHistory(); const classes = useStyles(); const userId = +localStorage.getItem("userId"); @@ -77,11 +79,12 @@ const NewTicketModal = ({ modalOpen, onClose, contactId }) => { if (!selectedContact) return; setLoading(true); try { - await api.post("/tickets", { + const { data: ticket } = await api.post("/tickets", { contactId: selectedContact.id, userId: userId, status: "open", }); + history.push(`/chat/${ticket.id}`); } catch (err) { alert(err); }