diff --git a/frontend/src/components/TicketListItem/index.js b/frontend/src/components/TicketListItem/index.js index 7b525864..9736b40b 100644 --- a/frontend/src/components/TicketListItem/index.js +++ b/frontend/src/components/TicketListItem/index.js @@ -195,6 +195,7 @@ const TicketListItem = ({ ticket, filteredTags }) => { const [acceptTicketWithouSelectQueueOpen, setAcceptTicketWithouSelectQueueOpen] = useState(false); const [confirmationOpen, setConfirmationOpen] = useState(false); const [tag, setTag] = useState([]); + const [settings, setSettings] = useState([]); useEffect(() => { isMounted.current = true; @@ -226,6 +227,20 @@ const TicketListItem = ({ ticket, filteredTags }) => { }; }, []); + useEffect(() => { + const fetchSettings = async () => { + try { + const { data } = await api.get("/settings"); + setSettings(data); + } catch (err) { + console.error(err); + toastError(err); + setSettings([]); + } + }; + fetchSettings(); + }, []); + const filterTicketByTags = () => { if (!filteredTags || filteredTags.length === 0) return true; if (!tag || tag.length === 0) return false; @@ -338,6 +353,13 @@ const TicketListItem = ({ ticket, filteredTags }) => { handleClosedTicket(ticket.id); }; + const canTabsSettings = (ts) => { + return ( + (settings && settings.some(s => s.key === ts && s.value === "enabled")) || + (user && user.profile === "admin") + ); + }; + return ( { - )} + )} - {ticket.status === "open" && ( + {canTabsSettings("tabsPending") && ticket.status === "open" && (