receptor/src/ui/server.js

44 lines
1.2 KiB
JavaScript
Raw Normal View History

2017-08-25 04:49:24 +02:00
import React, { Component } from 'react';
import { connect } from 'react-redux';
2017-09-08 09:47:09 +02:00
import moment from 'moment';
2017-08-25 04:49:24 +02:00
import { formatBitrate } from '../bitrate';
2017-09-08 07:07:31 +02:00
import { ws_disconnect } from '../socket';
2017-09-08 09:47:09 +02:00
import date from '../date';
2017-08-25 04:49:24 +02:00
2017-09-08 07:07:31 +02:00
const throttle = _ => _ === null ? "Unlimited" : formatBitrate(_);
2017-09-08 06:57:21 +02:00
2017-08-25 04:49:24 +02:00
function Server({ server }) {
if (!server.id) {
return null;
}
return (
<div>
2017-09-08 07:07:31 +02:00
<h3>
Server
<button
className="btn btn-sm btn-outline-danger pull-right"
onClick={() => {
localStorage.removeItem("autoconnect");
ws_disconnect();
}}
>Disconnect</button>
</h3>
2017-08-25 04:49:24 +02:00
<dl>
<dt>Running since</dt>
2017-09-08 09:47:09 +02:00
<dd>{date(moment(server.started))}</dd>
2017-08-25 04:49:24 +02:00
<dt>Rate up</dt>
<dd>{formatBitrate(server.rate_up)}</dd>
<dt>Rate down</dt>
<dd>{formatBitrate(server.rate_down)}</dd>
{/* TODO: Editable */}
<dt>Throttle up</dt>
2017-09-08 06:57:21 +02:00
<dd>{throttle(server.throttle_up)}</dd>
2017-08-25 04:49:24 +02:00
<dt>Throttle down</dt>
2017-09-08 06:57:21 +02:00
<dd>{throttle(server.throttle_down)}</dd>
2017-08-25 04:49:24 +02:00
</dl>
</div>
);
}
export default connect(state => ({ server: state.server }))(Server);