feat: add new server log page

This commit is contained in:
Luis Félix 2019-11-12 11:15:00 +00:00
parent fc1951c4b2
commit 703c5d7c91
38 changed files with 2844 additions and 29 deletions

View file

@ -0,0 +1,60 @@
import React from 'react'
import { useSelect } from 'downshift'
import { startCase } from 'lodash/fp'
import classnames from 'classnames'
import { ReactComponent as Arrowdown } from '../../styling/icons/action/arrow/regular.svg'
import styles from './Select.styles'
import { makeStyles } from '@material-ui/core/styles'
const useStyles = makeStyles(styles)
function Select ({ label, items, ...props }) {
const classes = useStyles()
const {
isOpen,
selectedItem,
getToggleButtonProps,
getLabelProps,
getMenuProps,
getItemProps
} = useSelect({
items,
selectedItem: props.selectedItem,
onSelectedItemChange: item => {
props.onSelectedItemChange(item.selectedItem)
}
})
const selectClassNames = {
[classes.select]: true,
[classes.selectFiltered]: selectedItem !== props.default,
[classes.open]: isOpen
}
return (
<div className={classnames(selectClassNames)}>
<label {...getLabelProps()}>{startCase(label)}</label>
<button
{...getToggleButtonProps()}
>
{startCase(selectedItem)} <Arrowdown />
</button>
<ul {...getMenuProps()}>
{isOpen &&
items.map((item, index) => (
<li
key={`${item}${index}`}
{...getItemProps({ item, index })}
>
{startCase(item)}
</li>
))}
</ul>
</div>
)
}
export default Select