import React, { useState, useEffect } from "react"; import ReactGA from 'react-ga4'; import 'react-alice-carousel/lib/alice-carousel.css'; import TrendingFlatIcon from '@mui/icons-material/TrendingFlat'; import theme from '../theme.jsx'; import CheckBoxSharpIcon from '@mui/icons-material/CheckBoxSharp'; import { Checkbox, Button, Collapse, IconButton, FormGroup, FormControl, InputLabel, FormLabel, FormControlLabel, Select, MenuItem, Grid, Paper, Typography, TextField, Zoom, List, ListItem, ListItemText, Divider, Tooltip, Chip, ButtonGroup, Dialog, DialogTitle, DialogActions, DialogContent, } from "@mui/material"; import { useNavigate, Link } from "react-router-dom"; import WorkflowTemplatePopup from "../components/WorkflowTemplatePopup.jsx"; const ExploreWorkflow = (props) => { const { userdata, globalUrl } = props const [activeUsecases, setActiveUsecases] = useState(0); const [modalOpen, setModalOpen] = React.useState(false); const [suggestedUsecases, setSuggestedUsecases] = useState([]) const [usecasesSet, setUsecasesSet] = useState(false) const [apps, setApps] = useState([]) const sizing = 475 let navigate = useNavigate(); const imagestyle = { height: 40, borderRadius: 40, //border: "2px solid rgba(255,255,255,0.3)", } const loadApps = () => { fetch(`${globalUrl}/api/v1/apps`, { method: "GET", headers: { "Content-Type": "application/json", Accept: "application/json", }, credentials: "include", }) .then((response) => { return response.json(); }) .then((responseJson) => { if (responseJson === null) { console.log("null-response from server") const pretend_apps = [{ "name": "TBD", "app_name": "TBD", "app_version": "TBD", "description": "TBD", "version": "TBD", "large_image": "", }] setApps(pretend_apps) return } if (responseJson.success === false) { console.log("error loading apps: ", responseJson) return } setApps(responseJson); }) .catch((error) => { console.log("App loading error: " + error.toString()); }) } // Find priorities in userdata.priorities and check if the item.type === "usecase" // If so, set the item.isActive to true if (usecasesSet === false && userdata.priorities !== undefined && userdata.priorities !== null && userdata.priorities.length > 0 && suggestedUsecases.length === 0) { var tmpUsecases = [] for (let i = 0; i < userdata.priorities.length; i++) { if (userdata.priorities[i].type !== "usecase" || userdata.priorities[i].active === false) { continue } tmpUsecases.push(userdata.priorities[i]) } setSuggestedUsecases(tmpUsecases) setUsecasesSet(true) loadApps() } const modalView = ( // console.log("key:", dataValue.key), //console.log("value:",dataValue.value), ); return (