(Fix) Feature/1558 Replace owner modal names (#1562)

* Types

* Uses addressBook when displaying the replace owner modal

Co-authored-by: nicolas <nicosampler@users.noreply.github.com>
Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm>
This commit is contained in:
Agustin Pane 2020-11-04 10:18:46 -03:00 committed by GitHub
parent 81192859e9
commit f69bffd089
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 8 deletions

View File

@ -4,6 +4,9 @@ import Close from '@material-ui/icons/Close'
import classNames from 'classnames' import classNames from 'classnames'
import React, { useEffect, useState } from 'react' import React, { useEffect, useState } from 'react'
import { useSelector } from 'react-redux' import { useSelector } from 'react-redux'
import { List } from 'immutable'
import { ExplorerButton } from '@gnosis.pm/safe-react-components'
import { fromTokenUnit } from 'src/logic/tokens/utils/humanReadableValue' import { fromTokenUnit } from 'src/logic/tokens/utils/humanReadableValue'
import { getExplorerInfo, getNetworkInfo } from 'src/config' import { getExplorerInfo, getNetworkInfo } from 'src/config'
import CopyBtn from 'src/components/CopyBtn' import CopyBtn from 'src/components/CopyBtn'
@ -23,9 +26,10 @@ import {
} from 'src/logic/safe/store/selectors' } from 'src/logic/safe/store/selectors'
import { estimateTxGasCosts } from 'src/logic/safe/transactions/gas' import { estimateTxGasCosts } from 'src/logic/safe/transactions/gas'
import { formatAmount } from 'src/logic/tokens/utils/formatAmount' import { formatAmount } from 'src/logic/tokens/utils/formatAmount'
import { getOwnersWithNameFromAddressBook } from 'src/logic/addressBook/utils'
import { addressBookSelector } from 'src/logic/addressBook/store/selectors'
import { styles } from './style' import { styles } from './style'
import { ExplorerButton } from '@gnosis.pm/safe-react-components'
export const REPLACE_OWNER_SUBMIT_BTN_TEST_ID = 'replace-owner-submit-btn' export const REPLACE_OWNER_SUBMIT_BTN_TEST_ID = 'replace-owner-submit-btn'
@ -37,6 +41,8 @@ const ReviewRemoveOwner = ({ classes, onClickBack, onClose, onSubmit, ownerAddre
const safeName = useSelector(safeNameSelector) const safeName = useSelector(safeNameSelector)
const owners = useSelector(safeOwnersSelector) const owners = useSelector(safeOwnersSelector)
const threshold = useSelector(safeThresholdSelector) const threshold = useSelector(safeThresholdSelector)
const addressBook = useSelector(addressBookSelector)
const ownersWithAddressBookName = owners ? getOwnersWithNameFromAddressBook(addressBook, owners) : List([])
useEffect(() => { useEffect(() => {
let isCurrent = true let isCurrent = true
@ -106,7 +112,7 @@ const ReviewRemoveOwner = ({ classes, onClickBack, onClose, onSubmit, ownerAddre
</Paragraph> </Paragraph>
</Row> </Row>
<Hairline /> <Hairline />
{owners?.map( {ownersWithAddressBookName?.map(
(owner) => (owner) =>
owner.address !== ownerAddress && ( owner.address !== ownerAddress && (
<React.Fragment key={owner.address}> <React.Fragment key={owner.address}>

View File

@ -1,17 +1,16 @@
import { List } from 'immutable' import { List } from 'immutable'
import { TableColumn } from 'src/components/Table/types.d' import { TableColumn } from 'src/components/Table/types.d'
import { SafeOwner } from 'src/logic/safe/store/models/safe'
export const OWNERS_TABLE_NAME_ID = 'name' export const OWNERS_TABLE_NAME_ID = 'name'
export const OWNERS_TABLE_ADDRESS_ID = 'address' export const OWNERS_TABLE_ADDRESS_ID = 'address'
export const OWNERS_TABLE_ACTIONS_ID = 'actions' export const OWNERS_TABLE_ACTIONS_ID = 'actions'
export const getOwnerData = (owners) => { export const getOwnerData = (owners: List<SafeOwner>): List<{ address: string; name: string }> => {
const rows = owners.map((owner) => ({ return owners.map((owner) => ({
[OWNERS_TABLE_NAME_ID]: owner.name, [OWNERS_TABLE_NAME_ID]: owner.name,
[OWNERS_TABLE_ADDRESS_ID]: owner.address, [OWNERS_TABLE_ADDRESS_ID]: owner.address,
})) }))
return rows
} }
export const generateColumns = (): List<TableColumn> => { export const generateColumns = (): List<TableColumn> => {

View File

@ -84,8 +84,8 @@ const ManageOwners = ({ addressBook, granted, owners }: Props): React.ReactEleme
const columns = generateColumns() const columns = generateColumns()
const autoColumns = columns.filter((c) => !c.custom) const autoColumns = columns.filter((c) => !c.custom)
const ownersAdbk = getOwnersWithNameFromAddressBook(addressBook, owners) const ownersWithAddressBookName = getOwnersWithNameFromAddressBook(addressBook, owners)
const ownerData = getOwnerData(ownersAdbk) const ownerData = getOwnerData(ownersWithAddressBookName)
return ( return (
<> <>