import React, { useState, useEffect, useContext } from "react"; import { toast } from 'react-toastify'; import { getTheme } from "../theme.jsx"; import ReactGA from 'react-ga4'; import { useNavigate, Link } from "react-router-dom"; import { findSpecificApp } from "../components/AppFramework.jsx" import { Context } from "../context/ContextApi.jsx"; import { Paper, Typography, Divider, Button, Grid, Card, } from "@mui/material"; // import magic wand icon from material ui icons import { AutoFixHigh as AutoFixHighIcon, ArrowForward as ArrowForwardIcon, } from '@mui/icons-material'; //import { useAlert const Priority = (props) => { const { globalUrl, clickedFromOrgTab,userdata, serverside, priority, checkLogin, setAdminTab, setCurTab, appFramework, } = props; const { themeMode, supportEmail } = useContext(Context); const theme = getTheme(themeMode); const isCloud = (window.location.host === "localhost:3002" || window.location.host === "shuffler.io") ? true : (import.meta.env.VITE_IS_SSR === "true"); let navigate = useNavigate(); if (window.location.pathname === "/workflows") { const hidePriorities = localStorage.getItem("hidePriorities", "true") if (hidePriorities === "true") { return null } } var realignedSrc = false var realignedDst = false let newdescription = priority.description const descsplit = priority.description.split("&") if (appFramework !== undefined && descsplit.length === 5 && priority.description.includes(":default")) { if (descsplit[1] === "") { const item = findSpecificApp(appFramework, descsplit[0]) if (item !== null) { descsplit[1] = item.large_image if (descsplit[0].includes(":default")) { realignedSrc = true } descsplit[0] = descsplit[0].split(":")[0] } } if (descsplit[3] === "") { const item = findSpecificApp(appFramework, descsplit[2]) //console.log("item: ", item) realignedDst = true if (item !== null) { descsplit[3] = item.large_image if (descsplit[2].includes(":default")) { realignedDst = true } descsplit[2] = descsplit[2].split(":")[0] } } newdescription = descsplit.join("&") } const changeRecommendation = (recommendation, action) => { const data = { action: action, name: recommendation.name, }; fetch(`${globalUrl}/api/v1/recommendations/modify`, { mode: "cors", method: "POST", body: JSON.stringify(data), credentials: "include", crossDomain: true, withCredentials: true, headers: { "Content-Type": "application/json; charset=utf-8", }, }) .then((response) => { if (response.status === 200) { } else { } return response.json(); }) .then((responseJson) => { if (responseJson.success === true) { if (checkLogin !== undefined) { checkLogin() } } else { if (responseJson.success === false && responseJson.reason !== undefined) { toast("Failed change recommendation: ", responseJson.reason) } else { toast("Failed change recommendation"); } } }) .catch((error) => { toast(`Failed dismissing alert. Please contact ${supportEmail} if this persists.`); }); } const srcSize = realignedSrc ? 35 : 30 const dstSize = realignedDst ? 35 : 30 return (
{priority.type === "usecase" || priority.type == "apps" ? : null} {priority.name} {priority.type === "usecase" && priority.description.includes("&") ? {priority.name} {newdescription.split("&")[0]} {newdescription.split("&").length > 3 ? {priority.name+"2"} {newdescription.split("&")[2]} : null} : {priority.description} }
{priority.active === true ? : null }
) } export default Priority;