Skip to main content
Glama
ChatModal.stories.tsx3.44 kB
// SPDX-FileCopyrightText: Copyright Orangebot, Inc. and Medplum contributors // SPDX-License-Identifier: Apache-2.0 import { Text } from '@mantine/core'; import { createReference, getReferenceString } from '@medplum/core'; import { DrAliceSmith, HomerSimpson } from '@medplum/mock'; import type { Meta } from '@storybook/react'; import type { JSX } from 'react'; import { Document } from '../../Document/Document'; import { withMockedDate } from '../../stories/decorators'; import { BaseChat } from '../BaseChat/BaseChat'; import { ChatModal } from './ChatModal'; export default { title: 'Medplum/Chat/ChatModal', component: ChatModal, decorators: [withMockedDate], } as Meta; export const ChatClosed = (): JSX.Element => { const sent1 = new Date(); const sent2 = new Date(sent1); sent2.setSeconds(sent1.getSeconds() + 1); return ( <Document> <Text>Click on the button in the bottom right corner to open the chat!</Text> <ChatModal> <BaseChat title="Chat with Homer Simpson" query={`sender=${getReferenceString(HomerSimpson)},${getReferenceString(DrAliceSmith)}&recipient=${getReferenceString(HomerSimpson)},${getReferenceString(DrAliceSmith)}`} communications={[ { resourceType: 'Communication', sender: createReference(DrAliceSmith), recipient: [createReference(HomerSimpson)], status: 'in-progress', payload: [ { contentString: 'Hi, Homer. Can you come in to discuss treatment for your radiation poisoning?' }, ], sent: sent1.toISOString(), }, { resourceType: 'Communication', sender: createReference(HomerSimpson), recipient: [createReference(DrAliceSmith)], status: 'in-progress', payload: [{ contentString: 'Aww, not again... Doh!' }], sent: sent2.toISOString(), }, ]} setCommunications={() => undefined} sendMessage={() => undefined} /> </ChatModal> </Document> ); }; export const ChatOpen = (): JSX.Element => { const sent1 = new Date(); const sent2 = new Date(sent1); sent2.setSeconds(sent1.getSeconds() + 1); return ( <ChatModal open={true}> <BaseChat title="Chat with Homer Simpson" query={`sender=${getReferenceString(HomerSimpson)},${getReferenceString(DrAliceSmith)}&recipient=${getReferenceString(HomerSimpson)},${getReferenceString(DrAliceSmith)}`} communications={[ { resourceType: 'Communication', sender: createReference(DrAliceSmith), recipient: [createReference(HomerSimpson)], status: 'in-progress', payload: [ { contentString: 'Hi, Homer. Can you come in to discuss treatment for your radiation poisoning?' }, ], sent: sent1.toISOString(), }, { resourceType: 'Communication', sender: createReference(HomerSimpson), recipient: [createReference(DrAliceSmith)], status: 'in-progress', payload: [{ contentString: 'Aww, not again... Doh!' }], sent: sent2.toISOString(), }, ]} setCommunications={() => undefined} sendMessage={() => undefined} /> </ChatModal> ); };

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/medplum/medplum'

If you have feedback or need assistance with the MCP directory API, please join our Discord server