commons/client/src/components/molecules/VersionNumbers/VersionTable.tsx

113 lines
3.1 KiB
TypeScript
Raw Normal View History

2019-06-18 16:08:37 +02:00
import React from 'react'
import { VersionNumbersState } from '.'
2019-06-18 16:08:37 +02:00
import VersionTableRow from './VersionTableRow'
import styles from './VersionTable.module.scss'
import VersionNumber from './VersionNumber'
2019-06-19 11:50:28 +02:00
import {
serviceUri,
nodeUri,
aquariusUri,
brizoUri,
brizoAddress,
secretStoreUri,
faucetUri
} from '../../../config'
const commonsConfig = {
serviceUri,
nodeUri,
aquariusUri,
brizoUri,
brizoAddress,
secretStoreUri,
faucetUri
}
2019-06-18 16:08:37 +02:00
export const VersionTableContracts = ({
contracts,
network,
keeperVersion
}: {
contracts: {
[contractName: string]: string
}
network: string
keeperVersion?: string
}) => (
<table>
<tbody>
<tr>
<td>
<strong>Keeper Contracts</strong>
</td>
<td>
<VersionNumber
2019-09-02 13:25:46 +02:00
name="Keeper Contracts"
version={keeperVersion}
/>
</td>
</tr>
{contracts &&
2019-06-18 13:28:35 +02:00
Object.keys(contracts)
// sort alphabetically
.sort((a, b) => a.localeCompare(b))
2020-05-19 10:36:18 +02:00
.map((key) => {
const submarineLink = `https://submarine.${
network === 'pacific'
? 'oceanprotocol'
: `${network}.dev-ocean`
}.com/address/${contracts[key]}`
2019-06-18 13:28:35 +02:00
return (
<tr key={key}>
<td>
2019-06-19 12:26:46 +02:00
<code className={styles.label}>{key}</code>
2019-06-18 13:28:35 +02:00
</td>
<td>
<a href={submarineLink}>
<code>{contracts[key]}</code>
</a>
</td>
</tr>
)
})}
</tbody>
</table>
)
2019-06-19 11:50:28 +02:00
export const VersionTableCommons = () => (
<table>
<tbody>
{Object.entries(commonsConfig).map(([key, value]) => (
<tr key={key}>
<td>
2019-06-19 12:26:46 +02:00
<code className={styles.label}>{key}</code>
2019-06-19 11:50:28 +02:00
</td>
<td>
<code>{value}</code>
</td>
</tr>
))}
</tbody>
</table>
)
2019-06-18 14:35:18 +02:00
const VersionTable = ({ data }: { data: VersionNumbersState }) => {
return (
<div className={styles.tableWrap}>
<table className={styles.table}>
<tbody>
{Object.entries(data)
2019-06-18 16:08:37 +02:00
.filter(([key]) => key !== 'status')
2019-06-18 14:35:18 +02:00
.map(([key, value]) => (
2019-06-18 16:08:37 +02:00
<VersionTableRow key={key} value={value} />
2019-06-18 14:35:18 +02:00
))}
</tbody>
</table>
</div>
)
}
export default VersionTable