import { Fragment, useState } from 'react'; import { connect } from 'react-redux'; import classes from './CustomQueries.module.css'; import Modal from '../../../UI/Modal/Modal'; import Icon from '../../../UI/Icons/Icon/Icon'; import { GlobalState, Query } from '../../../../interfaces'; import QueriesForm from './QueriesForm'; import { deleteQuery } from '../../../../store/actions'; import Button from '../../../UI/Buttons/Button/Button'; interface Props { customQueries: Query[]; deleteQuery: (prefix: string) => {}; } const CustomQueries = (props: Props): JSX.Element => { const { customQueries, deleteQuery } = props; const [modalIsOpen, setModalIsOpen] = useState(false); const [editableQuery, setEditableQuery] = useState(null); const updateHandler = (query: Query) => { setEditableQuery(query); setModalIsOpen(true); }; const deleteHandler = (query: Query) => { if (window.confirm(`Are you sure you want to delete this provider?`)) { deleteQuery(query.prefix); } }; return ( setModalIsOpen(!modalIsOpen)} > {editableQuery ? ( setModalIsOpen(!modalIsOpen)} query={editableQuery} /> ) : ( setModalIsOpen(!modalIsOpen)} /> )}
{customQueries.length > 0 && ( Name Prefix Actions
)} {customQueries.map((q: Query, idx) => ( {q.name} {q.prefix} updateHandler(q)}> deleteHandler(q)}> ))}
); }; const mapStateToProps = (state: GlobalState) => { return { customQueries: state.config.customQueries, }; }; export default connect(mapStateToProps, { deleteQuery })(CustomQueries);