hyper-tuner-cloud/src/components/StatusBar.tsx

40 lines
1007 B
TypeScript

import { Layout, Space, Row, Col } from 'antd';
import { CarOutlined, InfoCircleOutlined } from '@ant-design/icons';
import { connect } from 'react-redux';
import { AppState, ConfigState, StatusState } from '../types/state';
const { Footer } = Layout;
const mapStateToProps = (state: AppState) => ({
status: state.status,
config: state.config,
});
const firmware = (signature: string) => (
<Space>
<InfoCircleOutlined />{signature}
</Space>
);
const StatusBar = ({ status, config }: { status: StatusState, config: ConfigState }) => (
<Footer className="app-status-bar">
<Row>
<Col span={8}>
<Space>
<CarOutlined />
default
</Space>
</Col>
<Col span={8} style={{ textAlign: 'center' }}>
{config.megaTune && firmware(config.megaTune.signature)}
</Col>
<Col span={8} style={{ textAlign: 'right' }}>
{status.text}
</Col>
</Row>
</Footer>
);
export default connect(mapStateToProps)(StatusBar);