pslockout/webclient/src/Tool.js

79 lines
2.2 KiB
JavaScript
Raw Normal View History

2018-02-03 06:41:30 +00:00
import React, { Component } from 'react';
2018-02-03 08:48:49 +00:00
import { Breadcrumb, Button, Container, Dropdown, Header, Icon, Image, Item, Label, Menu, Segment, Table, Input } from 'semantic-ui-react'
2018-02-03 06:41:30 +00:00
import { Link } from 'react-router-dom';
class Tool extends Component {
render() {
const data = this.props.data;
2018-02-04 00:20:58 +00:00
const user = this.props.user;
2018-02-03 06:41:30 +00:00
const match = this.props.match;
const category = data.categories.find((x) =>
2018-02-04 00:20:58 +00:00
x.slug === match.params.category
2018-02-03 06:41:30 +00:00
);
const tool = category.tools.find((x) =>
2018-02-04 00:20:58 +00:00
x.id.toString() === match.params.id
2018-02-03 06:41:30 +00:00
);
2018-02-03 08:48:49 +00:00
const approved = user.authorizedTools.includes(tool.id);
2018-02-03 06:41:30 +00:00
return (
<div>
<Container>
<Breadcrumb size='large'>
<Breadcrumb.Section link as={Link} to='/'>Categories</Breadcrumb.Section>
<Breadcrumb.Divider icon='right angle' />
<Breadcrumb.Section link as={Link} to={'/' + category.slug}>{category.name}</Breadcrumb.Section>
<Breadcrumb.Divider icon='right angle' />
<Breadcrumb.Section active>{tool.name}</Breadcrumb.Section>
</Breadcrumb>
<Segment>
2018-02-03 08:48:49 +00:00
<Image src={tool.photo} size='medium' centered rounded />
2018-02-03 06:41:30 +00:00
<Segment textAlign='center' basic>
2018-02-03 08:48:49 +00:00
<p>Status: Off</p>
<div>
<Button color='green' disabled={!approved}>
2018-02-03 06:41:30 +00:00
<Icon name='lightning' /> Arm
</Button>
2018-02-03 08:48:49 +00:00
<Button color='red' disabled={!approved}>
2018-02-03 06:41:30 +00:00
<Icon name='stop' /> Disarm
</Button>
2018-02-03 08:48:49 +00:00
</div>
{approved || <Label basic color='red' pointing>
Not authorized! Please take the xyz course.
</Label>}
2018-02-03 06:41:30 +00:00
</Segment>
<Table basic='very' unstackable>
<Table.Body>
<Table.Row>
<Table.Cell>Cat</Table.Cell>
<Table.Cell>Meow</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>Dog</Table.Cell>
<Table.Cell warning>
<Icon name='attention' />
Bark
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>Bird</Table.Cell>
<Table.Cell>Chrip</Table.Cell>
</Table.Row>
</Table.Body>
</Table>
<Header as='h4'>Notes</Header>
<p>{tool.notes}</p>
</Segment>
</Container>
</div>
);
}
}
export default Tool;