import * as React from 'react'; import { useQuery } from '@apollo/client'; import { Link } from 'react-router-dom'; import { useTheme } from '@mui/material/styles'; import useMediaQuery from '@mui/material/useMediaQuery'; import DialogTitle from '@mui/material/DialogTitle'; import DialogContent from '@mui/material/DialogContent'; import Dialog from '@mui/material/Dialog'; import SearchIcon from '@mui/icons-material/Search'; import InputAdornment from '@mui/material/InputAdornment'; import List from '@mui/material/List'; import ListItem from '@mui/material/ListItem'; import ListItemButton from '@mui/material/ListItemButton'; import ListItemIcon from '@mui/material/ListItemIcon'; import ListItemText from '@mui/material/ListItemText'; import InputLabel from '@mui/material/InputLabel'; import OutlinedInput from '@mui/material/OutlinedInput'; import FormControl from '@mui/material/FormControl'; import type { IApp } from '@automatisch/types'; import * as URLS from 'config/urls'; import AppIcon from 'components/AppIcon'; import { GET_APPS } from 'graphql/queries/get-apps'; import useFormatMessage from 'hooks/useFormatMessage'; function createConnectionOrFlow(appKey: string, supportsConnections = false) { if (!supportsConnections) { return URLS.CREATE_FLOW_WITH_APP(appKey); } return URLS.APP_ADD_CONNECTION(appKey); }; type AddNewAppConnectionProps = { onClose: () => void; }; export default function AddNewAppConnection(props: AddNewAppConnectionProps): React.ReactElement { const { onClose } = props; const theme = useTheme(); const matchSmallScreens = useMediaQuery(theme.breakpoints.down('sm')); const formatMessage = useFormatMessage(); const [appName, setAppName] = React.useState(null); const { data } = useQuery(GET_APPS, { variables: { name: appName } }); return ( {formatMessage('apps.addNewAppConnection')} {formatMessage('apps.searchApp')} setAppName(event.target.value)} endAdornment={ theme.palette.primary.main }} /> } label={formatMessage('apps.searchApp')} /> {data?.getApps?.map((app: IApp) => ( theme.palette.text.primary } }} /> ))} ); };