Skip to main content
Glama
ChooseProfileForm.stories.tsx2.33 kB
// SPDX-FileCopyrightText: Copyright Orangebot, Inc. and Medplum contributors // SPDX-License-Identifier: Apache-2.0 import type { ProjectMembership } from '@medplum/fhirtypes'; import type { Meta } from '@storybook/react'; import type { JSX } from 'react'; import { Document } from '../Document/Document'; import { ChooseProfileForm } from './ChooseProfileForm'; export default { title: 'Medplum/Auth/ChooseProfileForm', component: ChooseProfileForm, } as Meta; export function FewMemberships(): JSX.Element { return ( <div style={{ minHeight: '100vh' }}> <Document width={400} px="xl" py="xl" bdrs="md"> <ChooseProfileForm login="x" memberships={[ makeMembership('prod', 'Prod', 'Homer Simpson'), makeMembership('staging', 'Staging', 'Homer Simpson'), ]} handleAuthResponse={console.log} /> </Document> </div> ); } export function ManyMemberships(): JSX.Element { const memberships = []; for (let i = 1; i <= 30; i++) { memberships.push(makeMembership('membership' + i, 'Project ' + i, 'Profile ' + i)); } return ( <div style={{ minHeight: '100vh' }}> <Document width={400} px="xl" py="xl" bdrs="md"> <ChooseProfileForm login="x" memberships={memberships} handleAuthResponse={console.log} /> </Document> </div> ); } export function MultipleMembershipsInProject(): JSX.Element { const memberships = []; for (let i = 1; i <= 3; i++) { memberships.push(makeMembership('membership' + i, 'Project ' + i, 'Profile ' + i, 'Label ' + i)); } return ( <div style={{ minHeight: '100vh' }}> <Document width={400} px="xl" py="xl" bdrs="md"> <ChooseProfileForm login="x" memberships={memberships} handleAuthResponse={console.log} /> </Document> </div> ); } function makeMembership(id: string, projectName: string, profileName: string, label?: string): ProjectMembership { return { resourceType: 'ProjectMembership', id, project: { reference: 'Project/' + projectName, display: projectName }, user: { reference: 'User/x', display: 'x' }, profile: { reference: 'Practitioner/' + profileName, display: profileName }, identifier: label ? [{ system: 'https://medplum.com/identifier/label', value: label }] : undefined, }; }

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