import { useState, FunctionComponent, MouseEvent } from 'react'; import Message from '@patternfly/chatbot/dist/dynamic/Message'; import PreviewAttachment from '@patternfly/chatbot/dist/dynamic/PreviewAttachment'; import AttachmentEdit from '@patternfly/chatbot/dist/dynamic/AttachmentEdit'; import userAvatar from './user_avatar.svg'; interface ModalData { code: string; fileName: string; } export const AttachmentMenuExample: FunctionComponent = () => { const [isPreviewModalOpen, setIsPreviewModalOpen] = useState(false); const [isEditModalOpen, setIsEditModalOpen] = useState(false); const [currentModalData, setCurrentModalData] = useState(); const onClick = (event: MouseEvent, name: string) => { setCurrentModalData({ fileName: name, code: 'test' }); setIsEditModalOpen(false); setIsPreviewModalOpen(true); }; const onClose = (event: MouseEvent, name: string, id: number | string | undefined) => { // eslint-disable-next-line no-console console.log(`Closed attachment with name: ${name} and id: ${id}`); }; return ( <> {currentModalData && ( { setIsPreviewModalOpen(false); setIsEditModalOpen(true); }} onDismiss={() => setCurrentModalData(undefined)} handleModalToggle={() => setIsPreviewModalOpen(false)} /> )} {currentModalData && ( { setIsEditModalOpen(false); }} onCancel={() => setCurrentModalData(undefined)} handleModalToggle={() => setIsEditModalOpen(false)} /> )} ); };