import React from 'react'; import type { IField } from 'types'; import LoadingButton from '@mui/lab/LoadingButton'; import Alert from '@mui/material/Alert'; import Dialog from '@mui/material/Dialog'; import DialogContent from '@mui/material/DialogContent'; import DialogContentText from '@mui/material/DialogContentText'; import DialogTitle from '@mui/material/DialogTitle'; import CircularProgress from '@mui/material/CircularProgress'; import { FieldValues, SubmitHandler } from 'react-hook-form'; import type { UseFormProps } from 'react-hook-form'; import type { ApolloError } from '@apollo/client'; import useFormatMessage from 'hooks/useFormatMessage'; import InputCreator from 'components/InputCreator'; import Switch from 'components/Switch'; import TextField from 'components/TextField'; import { Form } from './style'; type AdminApplicationAuthClientDialogProps = { title: string; authFields?: IField[]; defaultValues: UseFormProps['defaultValues']; loading: boolean; submitting: boolean; disabled?: boolean; error?: ApolloError; submitHandler: SubmitHandler; onClose: () => void; }; export default function AdminApplicationAuthClientDialog( props: AdminApplicationAuthClientDialogProps ): React.ReactElement { const { error, onClose, title, loading, submitHandler, authFields, submitting, defaultValues, disabled = false, } = props; const formatMessage = useFormatMessage(); return ( {title} {error && ( {error.message} )} {loading ? ( ) : (
( <> {authFields?.map((field: IField) => ( ))} {formatMessage('authClient.buttonSubmit')} )} >
)}
); }