forked from canada-ca/tracker
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathStatusIcon.js
More file actions
23 lines (21 loc) · 803 Bytes
/
StatusIcon.js
File metadata and controls
23 lines (21 loc) · 803 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import React from 'react'
import { string } from 'prop-types'
import { Spinner } from '@chakra-ui/react'
import { CheckCircleIcon, WarningIcon, InfoIcon } from '@chakra-ui/icons'
export function StatusIcon({ status, ...props }) {
status = status?.toUpperCase()
if (status === 'PASS') {
return <CheckCircleIcon color="strong" size="icons.sm" aria-label="passes" {...props} />
} else if (status === 'FAIL') {
return <WarningIcon color="weak" size="icons.sm" aria-label="fails" {...props} />
} else if (status === 'LOADING') {
return <Spinner color="accent" size="sm" {...props} />
} else {
return (
<InfoIcon color="info" size="icons.sm" aria-label="Information not sufficient, please view guidance" {...props} />
)
}
}
StatusIcon.propTypes = {
status: string,
}