badguardhome/client/src/components/Header/Version.js

50 lines
1.7 KiB
JavaScript
Raw Normal View History

2018-08-30 14:25:33 +00:00
import React from 'react';
import PropTypes from 'prop-types';
2018-10-29 03:26:19 +00:00
import { Trans, withNamespaces } from 'react-i18next';
2018-08-30 14:25:33 +00:00
2019-06-25 14:56:50 +00:00
const Version = (props) => {
const {
dnsVersion, dnsAddresses, processingVersion, t,
2019-06-25 14:56:50 +00:00
} = props;
2018-08-30 14:25:33 +00:00
return (
<div className="nav-version">
2018-09-21 12:20:41 +00:00
<div className="nav-version__text">
2019-06-25 14:56:50 +00:00
<Trans>version</Trans>:&nbsp;<span className="nav-version__value" title={dnsVersion}>{dnsVersion}</span>
<button
type="button"
className="btn btn-icon btn-icon-sm btn-outline-primary btn-sm ml-2"
onClick={() => props.getVersion(true)}
disabled={processingVersion}
title={t('check_updates_now')}
>
<svg className="icons">
<use xlinkHref="#refresh" />
</svg>
</button>
2018-09-21 12:20:41 +00:00
</div>
<div className="nav-version__link">
<div className="popover__trigger popover__trigger--address">
<Trans>dns_addresses</Trans>
</div>
<div className="popover__body popover__body--address">
<div className="popover__list">
{dnsAddresses.map(ip => <li key={ip}>{ip}</li>)}
</div>
</div>
2018-09-21 12:20:41 +00:00
</div>
2018-08-30 14:25:33 +00:00
</div>
);
2019-06-25 14:56:50 +00:00
};
2018-08-30 14:25:33 +00:00
Version.propTypes = {
dnsVersion: PropTypes.string.isRequired,
dnsAddresses: PropTypes.array.isRequired,
dnsPort: PropTypes.number.isRequired,
2019-06-25 14:56:50 +00:00
getVersion: PropTypes.func.isRequired,
processingVersion: PropTypes.bool.isRequired,
t: PropTypes.func.isRequired,
2018-08-30 14:25:33 +00:00
};
2018-10-29 03:26:19 +00:00
export default withNamespaces()(Version);