import React, { useState } from 'react'; import PropTypes from 'prop-types'; import { Modal, ModalHeader, ModalFooter } from 'strapi-helper-plugin'; import { Button, Text, Padded } from '@buffetjs/core'; import { useIntl } from 'react-intl'; import Separator from './Separator'; import ActionRow from './ActionRow'; const ConditionsModal = ({ actions, headerBreadCrumbs, initialConditions, isOpen, onClosed, onSubmit, onToggle, }) => { const { formatMessage } = useIntl(); const [conditions, setConditions] = useState(initialConditions); const handleSelectChange = (action, conditions) => { setConditions(prev => ({ ...prev, [action]: conditions, })); }; const handleSubmit = () => { onSubmit(conditions); onToggle(); }; return ( {formatMessage({ id: 'Settings.permissions.conditions.define-conditions', })} {actions.length === 0 && ( {formatMessage({ id: 'Settings.permissions.conditions.no-actions' })} )} {actions.map((action, index) => ( handleSelectChange(action.id, val)} /> ))}
); }; ConditionsModal.defaultProps = { initialConditions: {}, }; ConditionsModal.propTypes = { actions: PropTypes.array.isRequired, headerBreadCrumbs: PropTypes.arrayOf(PropTypes.string).isRequired, initialConditions: PropTypes.object, isOpen: PropTypes.bool.isRequired, onClosed: PropTypes.func.isRequired, onSubmit: PropTypes.func.isRequired, onToggle: PropTypes.func.isRequired, }; export default ConditionsModal;