InstallModal.tsx 758 B

12345678910111213141516171819202122
  1. import React from 'react';
  2. import { InstallForm } from '../InstallForm';
  3. import { AppInfo } from '../../../../generated/graphql';
  4. import { Modal, ModalBody, ModalHeader } from '../../../../components/ui/Modal';
  5. interface IProps {
  6. app: Pick<AppInfo, 'name' | 'form_fields' | 'exposable'>;
  7. isOpen: boolean;
  8. onClose: () => void;
  9. onSubmit: (values: Record<string, any>) => void;
  10. }
  11. export const InstallModal: React.FC<IProps> = ({ app, isOpen, onClose, onSubmit }) => (
  12. <Modal onClose={onClose} isOpen={isOpen}>
  13. <ModalHeader>
  14. <h5 className="modal-title">Install {app.name}</h5>
  15. </ModalHeader>
  16. <ModalBody>
  17. <InstallForm onSubmit={onSubmit} formFields={app.form_fields} exposable={app.exposable} />
  18. </ModalBody>
  19. </Modal>
  20. );