Skip to content

Commit 02e8991

Browse files
committed
refactor: move ContractMethodArrayButton to shared forms components
1 parent 2202295 commit 02e8991

File tree

3 files changed

+9
-9
lines changed

3 files changed

+9
-9
lines changed

ui/address/contract/methods/form/ContractMethodFieldAccordion.tsx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ import { Box } from '@chakra-ui/react';
22
import React from 'react';
33

44
import { AccordionItem, AccordionItemContent, AccordionItemTrigger, AccordionRoot } from 'toolkit/chakra/accordion';
5-
6-
import ContractMethodArrayButton from './ContractMethodArrayButton';
5+
import ArrayButton from 'ui/shared/forms/ArrayButton';
76

87
export interface Props {
98
label: string;
@@ -33,8 +32,8 @@ const ContractMethodFieldAccordion = ({ label, level, children, onAddClick, onRe
3332
<Box textStyle="sm" fontWeight={ 700 } mr="auto" color={ isInvalid ? 'text.error' : undefined }>
3433
{ label }
3534
</Box>
36-
{ onRemoveClick && index !== undefined && <ContractMethodArrayButton index={ index } onClick={ onRemoveClick } type="remove"/> }
37-
{ onAddClick && index !== undefined && <ContractMethodArrayButton index={ index } onClick={ onAddClick } type="add" ml={ 1 }/> }
35+
{ onRemoveClick && index !== undefined && <ArrayButton index={ index } onClick={ onRemoveClick } type="remove"/> }
36+
{ onAddClick && index !== undefined && <ArrayButton index={ index } onClick={ onAddClick } type="add" ml={ 1 }/> }
3837
</AccordionItemTrigger>
3938
<AccordionItemContent display="flex" flexDir="column" rowGap={ 1 } pl="18px" pr="6px">
4039
{ children }

ui/address/contract/methods/form/ContractMethodFieldInputArray.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ import { useFormContext } from 'react-hook-form';
44

55
import type { ContractAbiItemInput } from '../types';
66

7-
import ContractMethodArrayButton from './ContractMethodArrayButton';
7+
import ArrayButton from 'ui/shared/forms/ArrayButton';
8+
89
import type { Props as AccordionProps } from './ContractMethodFieldAccordion';
910
import ContractMethodFieldAccordion from './ContractMethodFieldAccordion';
1011
import ContractMethodFieldInput from './ContractMethodFieldInput';
@@ -151,9 +152,9 @@ const ContractMethodFieldInputArray = ({
151152
isOptional={ registeredIndices.length === 1 }
152153
/>
153154
{ !hasFixedSize && registeredIndices.length > 1 &&
154-
<ContractMethodArrayButton index={ registeredIndex } onClick={ handleRemoveButtonClick } type="remove" my="6px"/> }
155+
<ArrayButton index={ registeredIndex } onClick={ handleRemoveButtonClick } type="remove" my="6px"/> }
155156
{ !hasFixedSize && index === registeredIndices.length - 1 &&
156-
<ContractMethodArrayButton index={ registeredIndex } onClick={ handleAddButtonClick } type="add" my="6px"/> }
157+
<ArrayButton index={ registeredIndex } onClick={ handleAddButtonClick } type="add" my="6px"/> }
157158
</Flex>
158159
);
159160
}) }

ui/address/contract/methods/form/ContractMethodArrayButton.tsx renamed to ui/shared/forms/ArrayButton.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ interface Props extends Omit<IconButtonProps, 'type'> {
99
type: 'add' | 'remove';
1010
}
1111

12-
const ContractMethodArrayButton = ({ type, index, onClick, ...props }: Props) => {
12+
const ArrayButton = ({ type, index, onClick, ...props }: Props) => {
1313

1414
const handleClick = React.useCallback((event: React.MouseEvent<HTMLButtonElement>) => {
1515
event.stopPropagation();
@@ -30,4 +30,4 @@ const ContractMethodArrayButton = ({ type, index, onClick, ...props }: Props) =>
3030
);
3131
};
3232

33-
export default React.memo(ContractMethodArrayButton);
33+
export default React.memo(ArrayButton);

0 commit comments

Comments
 (0)