Feat/800: Using renamed Dialog passed in from useProposalSubmit

This commit is contained in:
sam-keen
2022-09-13 20:44:42 +01:00
parent 9b9cd22b63
commit 1c5f44bb6c
7 changed files with 12 additions and 96 deletions
@@ -73,7 +73,7 @@ export const ProposeFreeform = () => {
handleSubmit,
formState: { isSubmitting, errors },
} = useForm<FreeformProposalFormFields>();
const { finalizedProposal, submit, TransactionDialog } = useProposalSubmit();
const { finalizedProposal, submit, Dialog } = useProposalSubmit();
const onSubmit = async (fields: FreeformProposalFormFields) => {
await submit({
@@ -152,7 +152,7 @@ export const ProposeFreeform = () => {
<ProposalFormSubmit isSubmitting={isSubmitting} />
<ProposalFormTransactionDialog
finalizedProposal={finalizedProposal}
TransactionDialog={TransactionDialog}
TransactionDialog={Dialog}
/>
</form>
</div>
@@ -120,7 +120,7 @@ export const ProposeNetworkParameter = () => {
handleSubmit,
formState: { isSubmitting, errors },
} = useForm<NetworkParameterProposalFormFields>();
const { finalizedProposal, submit, TransactionDialog } = useProposalSubmit();
const { finalizedProposal, submit, Dialog } = useProposalSubmit();
const onSubmit = async (fields: NetworkParameterProposalFormFields) => {
await submit({
@@ -280,7 +280,7 @@ export const ProposeNetworkParameter = () => {
<ProposalFormSubmit isSubmitting={isSubmitting} />
<ProposalFormTransactionDialog
finalizedProposal={finalizedProposal}
TransactionDialog={TransactionDialog}
TransactionDialog={Dialog}
/>
</form>
</div>
@@ -88,7 +88,7 @@ export const ProposeNewAsset = () => {
handleSubmit,
formState: { isSubmitting, errors },
} = useForm<NewAssetProposalFormFields>();
const { finalizedProposal, submit, TransactionDialog } = useProposalSubmit();
const { finalizedProposal, submit, Dialog } = useProposalSubmit();
const onSubmit = async (fields: NewAssetProposalFormFields) => {
await submit({
@@ -212,7 +212,7 @@ export const ProposeNewAsset = () => {
<ProposalFormSubmit isSubmitting={isSubmitting} />
<ProposalFormTransactionDialog
finalizedProposal={finalizedProposal}
TransactionDialog={TransactionDialog}
TransactionDialog={Dialog}
/>
</form>
</div>
@@ -86,7 +86,7 @@ export const ProposeNewMarket = () => {
handleSubmit,
formState: { isSubmitting, errors },
} = useForm<NewMarketProposalFormFields>();
const { finalizedProposal, submit, TransactionDialog } = useProposalSubmit();
const { finalizedProposal, submit, Dialog } = useProposalSubmit();
const onSubmit = async (fields: NewMarketProposalFormFields) => {
await submit({
@@ -201,7 +201,7 @@ export const ProposeNewMarket = () => {
<ProposalFormSubmit isSubmitting={isSubmitting} />
<ProposalFormTransactionDialog
finalizedProposal={finalizedProposal}
TransactionDialog={TransactionDialog}
TransactionDialog={Dialog}
/>
</form>
</div>
@@ -28,7 +28,7 @@ export const ProposeRaw = () => {
handleSubmit,
formState: { isSubmitting, errors },
} = useForm<RawProposalFormFields>();
const { finalizedProposal, submit, TransactionDialog } = useProposalSubmit();
const { finalizedProposal, submit, Dialog } = useProposalSubmit();
const hasError = Boolean(errors.rawProposalData?.message);
@@ -92,7 +92,7 @@ export const ProposeRaw = () => {
<ProposalFormSubmit isSubmitting={isSubmitting} />
<ProposalFormTransactionDialog
finalizedProposal={finalizedProposal}
TransactionDialog={TransactionDialog}
TransactionDialog={Dialog}
/>
</form>
</div>
@@ -146,7 +146,7 @@ export const ProposeUpdateMarket = () => {
handleSubmit,
formState: { isSubmitting, errors },
} = useForm<UpdateMarketProposalFormFields>();
const { finalizedProposal, submit, TransactionDialog } = useProposalSubmit();
const { finalizedProposal, submit, Dialog } = useProposalSubmit();
const onSubmit = async (fields: UpdateMarketProposalFormFields) => {
await submit({
@@ -311,7 +311,7 @@ export const ProposeUpdateMarket = () => {
<ProposalFormSubmit isSubmitting={isSubmitting} />
<ProposalFormTransactionDialog
finalizedProposal={finalizedProposal}
TransactionDialog={TransactionDialog}
TransactionDialog={Dialog}
/>
</form>
</div>
-84
View File
@@ -1,84 +0,0 @@
import {
Button,
FormGroup,
InputError,
TextArea,
} from '@vegaprotocol/ui-toolkit';
import { useForm } from 'react-hook-form';
import { useProposalSubmit } from './proposals-hooks';
import {
getProposalDialogIcon,
getProposalDialogIntent,
getProposalDialogTitle,
} from '../utils';
import { t } from '@vegaprotocol/react-helpers';
export interface FormFields {
proposalData: string;
}
export const ProposalForm = () => {
const {
register,
handleSubmit,
formState: { isSubmitting, errors },
} = useForm<FormFields>();
const { finalizedProposal, submit, Dialog } = useProposalSubmit();
const hasError = Boolean(errors.proposalData?.message);
const onSubmit = async (fields: FormFields) => {
await submit(JSON.parse(fields.proposalData));
};
return (
<form onSubmit={handleSubmit(onSubmit)}>
<FormGroup
label="Make a proposal by submitting JSON"
labelFor="proposal-data"
>
<TextArea
id="proposal-data"
className="min-h-[200px]"
hasError={hasError}
data-testid="proposal-data"
{...register('proposalData', {
required: t('Required'),
validate: {
validateJson: (value) => {
try {
JSON.parse(value);
return true;
} catch (e) {
return t('Must be valid JSON');
}
},
},
})}
/>
{errors.proposalData?.message && (
<InputError intent="danger">
{errors.proposalData?.message}
</InputError>
)}
</FormGroup>
<Button
variant="primary"
type="submit"
data-testid="proposal-submit"
disabled={isSubmitting}
>
{isSubmitting ? t('Submitting') : t('Submit')} {t('Proposal')}
</Button>
<Dialog
title={getProposalDialogTitle(finalizedProposal?.state)}
intent={getProposalDialogIntent(finalizedProposal?.state)}
icon={getProposalDialogIcon(finalizedProposal?.state)}
>
{finalizedProposal?.rejectionReason ? (
<p>{finalizedProposal.rejectionReason}</p>
) : undefined}
</Dialog>
</form>
);
};