feat: show day timestamp instead of hour if not today

This commit is contained in:
canove
2020-08-06 19:08:33 -03:00
parent 5929c1bc3f
commit c56a9cf0c2
4 changed files with 13 additions and 26 deletions

View File

@@ -102,10 +102,9 @@ const useStyles = makeStyles(theme => ({
}, },
})); }));
const MessageInput = ({ searchParam }) => { const MessageInput = () => {
const classes = useStyles(); const classes = useStyles();
const { ticketId } = useParams(); const { ticketId } = useParams();
// const userId = localStorage.getItem("userId");
const username = localStorage.getItem("username"); const username = localStorage.getItem("username");
const mediaInitialState = { preview: "", raw: "", name: "" }; const mediaInitialState = { preview: "", raw: "", name: "" };
@@ -309,7 +308,7 @@ const MessageInput = ({ searchParam }) => {
</label> </label>
<div className={classes.messageInputWrapper}> <div className={classes.messageInputWrapper}>
<InputBase <InputBase
inputRef={input => input && !searchParam && input.focus()} inputRef={input => input && input.focus()}
className={classes.messageInput} className={classes.messageInput}
placeholder="Escreva uma mensagem" placeholder="Escreva uma mensagem"
multiline multiline

View File

@@ -234,7 +234,6 @@ const MessagesList = () => {
const [ticket, setTicket] = useState({}); const [ticket, setTicket] = useState({});
const [messagesList, setMessagesList] = useState([]); const [messagesList, setMessagesList] = useState([]);
const [hasMore, setHasMore] = useState(false); const [hasMore, setHasMore] = useState(false);
const [searchParam, setSearchParam] = useState("");
const [pageNumber, setPageNumber] = useState(0); const [pageNumber, setPageNumber] = useState(0);
const [drawerOpen, setDrawerOpen] = useState(false); const [drawerOpen, setDrawerOpen] = useState(false);
const lastMessageRef = useRef(); const lastMessageRef = useRef();
@@ -242,17 +241,13 @@ const MessagesList = () => {
const [anchorEl, setAnchorEl] = useState(null); const [anchorEl, setAnchorEl] = useState(null);
const moreMenuOpen = Boolean(anchorEl); const moreMenuOpen = Boolean(anchorEl);
useEffect(() => {
setMessagesList([]);
}, [searchParam]);
useEffect(() => { useEffect(() => {
setLoading(true); setLoading(true);
const delayDebounceFn = setTimeout(() => { const delayDebounceFn = setTimeout(() => {
const fetchMessages = async () => { const fetchMessages = async () => {
try { try {
const res = await api.get("/messages/" + ticketId, { const res = await api.get("/messages/" + ticketId, {
params: { searchParam, pageNumber }, params: { pageNumber },
}); });
setContact(res.data.ticket.contact); setContact(res.data.ticket.contact);
setTicket(res.data.ticket); setTicket(res.data.ticket);
@@ -273,7 +268,7 @@ const MessagesList = () => {
fetchMessages(); fetchMessages();
}, 1000); }, 1000);
return () => clearTimeout(delayDebounceFn); return () => clearTimeout(delayDebounceFn);
}, [searchParam, pageNumber, ticketId, token, history]); }, [pageNumber, ticketId, token, history]);
useEffect(() => { useEffect(() => {
const socket = openSocket(process.env.REACT_APP_BACKEND_URL); const socket = openSocket(process.env.REACT_APP_BACKEND_URL);
@@ -297,17 +292,11 @@ const MessagesList = () => {
return () => { return () => {
socket.disconnect(); socket.disconnect();
setSearchParam("");
setPageNumber(1); setPageNumber(1);
setMessagesList([]); setMessagesList([]);
}; };
}, [ticketId]); }, [ticketId]);
// const handleSearch = e => {
// setSearchParam(e.target.value);
// setPageNumber(1);
// };
const loadMore = () => { const loadMore = () => {
setPageNumber(prevPageNumber => prevPageNumber + 1); setPageNumber(prevPageNumber => prevPageNumber + 1);
}; };
@@ -613,7 +602,7 @@ const MessagesList = () => {
> >
{messagesList.length > 0 ? renderMessages() : []} {messagesList.length > 0 ? renderMessages() : []}
</InfiniteScrollReverse> </InfiniteScrollReverse>
<MessageInput searchParam={searchParam} /> <MessageInput />
{loading ? ( {loading ? (
<div> <div>
<CircularProgress className={classes.circleLoading} /> <CircularProgress className={classes.circleLoading} />

View File

@@ -50,8 +50,8 @@ const useStyles = makeStyles(theme => ({
}, },
tab: { tab: {
minWidth: 120, // a number of your choice minWidth: 120,
width: 120, // a number of your choice width: 120,
}, },
halfTicketsList: { halfTicketsList: {
@@ -84,13 +84,10 @@ const useStyles = makeStyles(theme => ({
ticketsListHeader: { ticketsListHeader: {
display: "flex", display: "flex",
// flexShrink: 0,
// -webkitBoxAlign: "center",
alignItems: "center", alignItems: "center",
fontWeight: 500, fontWeight: 500,
fontSize: "16px", fontSize: "16px",
height: "56px", height: "56px",
// backgroundColor: "#eee",
color: "rgb(67, 83, 105)", color: "rgb(67, 83, 105)",
padding: "0px 12px", padding: "0px 12px",
borderBottom: "1px solid rgba(0, 0, 0, 0.12)", borderBottom: "1px solid rgba(0, 0, 0, 0.12)",
@@ -391,8 +388,6 @@ const Tickets = () => {
); );
}; };
console.log(tickets);
return ( return (
<Paper elevation={0} variant="outlined" className={classes.contactsWrapper}> <Paper elevation={0} variant="outlined" className={classes.contactsWrapper}>
<NewTicketModal <NewTicketModal

View File

@@ -1,5 +1,5 @@
import React from "react"; import React from "react";
import { parseISO, format } from "date-fns"; import { parseISO, format, isSameDay } from "date-fns";
import { makeStyles } from "@material-ui/core/styles"; import { makeStyles } from "@material-ui/core/styles";
import { green } from "@material-ui/core/colors"; import { green } from "@material-ui/core/colors";
@@ -146,7 +146,11 @@ const TicketsList = ({
variant="body2" variant="body2"
color="textSecondary" color="textSecondary"
> >
{format(parseISO(ticket.updatedAt), "HH:mm")} {isSameDay(parseISO(ticket.updatedAt), new Date()) ? (
<>{format(parseISO(ticket.updatedAt), "HH:mm")}</>
) : (
<>{format(parseISO(ticket.updatedAt), "MM/dd/yyyy")}</>
)}
</Typography> </Typography>
)} )}
</span> </span>