import React, { useContext } from 'react'; import { useTranslation } from 'react-i18next'; import { Grid, TextField, Checkbox, Tooltip, FormControlLabel, Select, MenuItem, } from '@mui/material'; import { LoadingButton } from '@mui/lab'; import { FederationContext, type UseFederationStoreType, } from '../../../contexts/FederationContext'; import type { Contact } from '../../../models'; export interface DisputeForm { statement: string; contactMethod: string; badContact: string; contact: string; attachLogs: boolean; badStatement: string; } export const defaultDispute: DisputeForm = { statement: '', attachLogs: false, contactMethod: '', contact: '', badContact: '', badStatement: '', }; interface DisputeStatementFormProps { loading: boolean; dispute: DisputeForm; shortAlias: string; setDispute: (state: DisputeForm) => void; onClickSubmit: () => void; } export const DisputeStatementForm = ({ loading, onClickSubmit, dispute, shortAlias, setDispute, }: DisputeStatementFormProps): JSX.Element => { const { federation } = useContext(FederationContext); const { t } = useTranslation(); const contactMethods: Contact = federation.getCoordinator(shortAlias)?.contact ?? {}; return ( { setDispute({ ...dispute, statement: e.target.value }); }} /> { setDispute({ ...dispute, contact: e.target.value }); }} /> { setDispute({ ...dispute, attachLogs: !dispute.attachLogs }); }} /> } label={t('Attach chat logs')} /> {t('Submit')} ); }; export default DisputeStatementForm;