src/widgets/ManageArgoCD/index.tsx (59 lines of code) (raw):

import { Grid } from '@mui/material'; import React from 'react'; import { MultiFormContextProvider } from '../../providers/MultiForm/provider'; import { Actions } from './components/Actions'; import { QuickLinkForm } from './components/QuickLink'; import { SecretForm } from './components/Secret'; import { useQuickLinkEditForm } from './hooks/useQuickLinkEditForm'; import { useSecretCreateForm } from './hooks/useSecretCreateForm'; import { useSecretEditForm } from './hooks/useSecretEditForm'; import { DataContextProvider } from './providers/Data'; import { FormNames, ManageArgoCDCIProps } from './types'; export const ManageArgoCD = ({ quickLink, secret, mode, ownerReference, permissions, handleClosePanel, }: ManageArgoCDCIProps) => { const secretCreateForm = useSecretCreateForm({ handleClosePanel, permissions }); const secretEditForm = useSecretEditForm({ handleClosePanel, secret, permissions }); const quickLinkEditForm = useQuickLinkEditForm({ quickLink, permissions, }); const secretForm = secret ? secretEditForm : secretCreateForm; return ( <div data-testid="form"> <DataContextProvider secret={secret} quickLink={quickLink} mode={mode} ownerReference={ownerReference} permissions={permissions} handleClosePanel={handleClosePanel} > <MultiFormContextProvider<FormNames> forms={{ quickLink: quickLinkEditForm, secret: secretForm, }} sharedForm={null} > <Grid container spacing={3}> <Grid item xs={12}> <QuickLinkForm /> </Grid> <Grid item xs={12}> <SecretForm /> </Grid> <Grid item xs={12}> <Actions /> </Grid> </Grid> </MultiFormContextProvider> </DataContextProvider> </div> ); };