output statusMessages

This commit is contained in:
Matthias Kretschmann 2022-10-18 18:58:05 +01:00
parent 574e6c7d30
commit b9f921ae46
Signed by: m
GPG Key ID: 606EEEF3C479A91F
4 changed files with 54 additions and 34 deletions

View File

@ -12,54 +12,46 @@ export interface Status {
network: string network: string
currentBlock: number currentBlock: number
market: State market: State
port: State
faucet: FaucetStatus | Record<string, never> faucet: FaucetStatus | Record<string, never>
aquarius: AquariusStatus aquarius: AquariusStatus
provider: ProviderStatus provider: ProviderStatus
subgraph: SubgraphStatus subgraph: SubgraphStatus
operator: OperatorStatus operator: OperatorStatus
dataFarming: State dataFarming: State
daoGrants: State
lastUpdatedOn: number lastUpdatedOn: number
} }
export interface ProviderStatus { export interface ComponentStatusBase {
status: State status: State
response?: number statusMessages: string
version?: string response: number
latestRelease?: string version: string
} }
export interface AquariusStatus { export interface ProviderStatus extends ComponentStatusBase {
status: State latestRelease: string
response?: number
validChainList?: boolean
version?: string
monitorVersion?: string
latestRelease?: string
block?: number
validQuery?: boolean
}
export interface SubgraphStatus {
status: State
response?: number
version?: string
latestRelease?: string
block?: number
} }
export interface OperatorStatus { export interface AquariusStatus extends ComponentStatusBase {
status: State validChainList: boolean
response?: number monitorVersion: string
version?: string latestRelease: string
latestRelease?: string block: number
environments?: number validQuery: boolean
limitReached?: boolean
} }
export interface FaucetStatus { export interface SubgraphStatus extends ComponentStatusBase {
status: State latestRelease: string
response?: number block: number
}
export interface OperatorStatus extends ComponentStatusBase {
latestRelease: string
environments: number
limitReached: boolean
}
export interface FaucetStatus extends ComponentStatusBase {
ethBalance?: BigNumber ethBalance?: BigNumber
ethBalanceSufficient?: boolean ethBalanceSufficient?: boolean
oceanBalance?: BigNumber oceanBalance?: BigNumber

View File

@ -85,8 +85,20 @@ export default function HomePage(): ReactElement {
: value.status : value.status
)}{' '} )}{' '}
{key} {key}
<code className={styles.version}>{value.version}</code>
</h2> </h2>
<code className={styles.version}>{value.version}</code>
{value.statusMessages && value.statusMessages !== '' && (
<ul className={styles.messages}>
{value.statusMessages
.split(',')
.map((message: string, i: number) => (
<li key={i} className={styles.statusMessage}>
{message}
</li>
))}
</ul>
)}
</div> </div>
))} ))}
</div> </div>

View File

@ -47,6 +47,7 @@
.card h2 { .card h2 {
margin: 0 0 1rem 0; margin: 0 0 1rem 0;
font-size: var(--font-size-large); font-size: var(--font-size-large);
margin: 0;
} }
.warning { .warning {
@ -59,6 +60,8 @@
.version { .version {
color: var(--color-secondary); color: var(--color-secondary);
font-size: var(--font-size-small);
margin-left: calc(var(--spacer) / 4);
} }
.logo { .logo {
@ -73,3 +76,16 @@
fill: var(--brand-alert-green); fill: var(--brand-alert-green);
margin-right: calc(var(--spacer) / 6); margin-right: calc(var(--spacer) / 6);
} }
.messages {
list-style-type: square;
margin-left: 1rem;
margin-top: calc(var(--spacer) / 4);
}
.messages li {
display: list-item;
margin-top: calc(var(--spacer) / 8);
list-style-position: outside;
color: var(--brand-alert-orange);
}

View File

@ -10,7 +10,7 @@ export async function getData(): Promise<{ [key: string]: Status }> {
// transform data into object with network names as keys // transform data into object with network names as keys
const output = Object.fromEntries( const output = Object.fromEntries(
response.data.map((item) => [item.network, item]) response.data?.map((item) => [item.network, item])
) )
return output return output
} catch (error) { } catch (error) {