diff --git a/assets/images/icon-chevron-down-9x6@2x.png b/assets/images/icon-chevron-down-9x6@2x.png new file mode 100644 index 0000000000..46c0151dfe Binary files /dev/null and b/assets/images/icon-chevron-down-9x6@2x.png differ diff --git a/frontend/pages/hosts/HostDetailsPage/HostDetailsPage.jsx b/frontend/pages/hosts/HostDetailsPage/HostDetailsPage.jsx index 948b20846e..98a989fcf1 100644 --- a/frontend/pages/hosts/HostDetailsPage/HostDetailsPage.jsx +++ b/frontend/pages/hosts/HostDetailsPage/HostDetailsPage.jsx @@ -3,6 +3,7 @@ import PropTypes from "prop-types"; import { connect } from "react-redux"; import classnames from "classnames"; +import { Link } from "react-router"; import ReactTooltip from "react-tooltip"; import { noop, pick } from "lodash"; @@ -29,6 +30,8 @@ import { import helpers from "./helpers"; import SelectQueryModal from "./SelectQueryModal"; +import BackChevron from "../../../../assets/images/icon-chevron-down-9x6@2x.png"; + const baseClass = "host-details"; export class HostDetailsPage extends Component { @@ -192,7 +195,7 @@ export class HostDetailsPage extends Component { You can’t
query an
offline host. - @@ -219,7 +222,7 @@ export class HostDetailsPage extends Component { }); return ( -
+

Labels

{labels.length === 0 ? (

No labels are associated with this host.

@@ -344,6 +347,12 @@ export class HostDetailsPage extends Component { Object.keys(object).forEach((key) => { if (object[key] === "") { object[key] = "--"; + } else if ( + key === "logger_tls_period" || + key === "config_tls_refresh" || + key === "distributed_interval" + ) { + object[key] = `${object[key]} sec`; } }); }); @@ -356,6 +365,12 @@ export class HostDetailsPage extends Component { return (
+
+ + back chevron + Back to Hosts + +
@@ -395,22 +410,20 @@ export class HostDetailsPage extends Component {
{renderActionButtons()}
-
+

About this host

- Last seen - Enrolled - Uptime -
-
- - {humanHostLastSeen(aboutData.seen_time)} - + Created at {humanHostEnrolled(aboutData.last_enrolled_at)} + Updated at + + {humanHostLastSeen(aboutData.seen_time)} + + Uptime {humanHostUptime(aboutData.uptime)} @@ -419,33 +432,27 @@ export class HostDetailsPage extends Component {
Hardware model - Serial number - IP address -
-
{aboutData.hardware_model} + Serial number {aboutData.hardware_serial} + IPv4 {aboutData.primary_ip}
-
-

Osquery configuration

-
-
- Config refresh +
+

Agent Options

+
+
+ Config TLS refresh {osqueryData.config_tls_refresh} -
-
Logger TLS period {osqueryData.logger_tls_period} -
-
Distributed interval {osqueryData.distributed_interval} diff --git a/frontend/pages/hosts/HostDetailsPage/_styles.scss b/frontend/pages/hosts/HostDetailsPage/_styles.scss index 126722c77e..f56ed3adba 100644 --- a/frontend/pages/hosts/HostDetailsPage/_styles.scss +++ b/frontend/pages/hosts/HostDetailsPage/_styles.scss @@ -1,17 +1,34 @@ +a { + font-size: $x-small; + color: $core-vibrant-blue; + font-weight: $bold; + text-decoration: none; +} + .host-details { display: flex; - flex-direction: column; + flex-wrap: wrap; + flex-grow: 1; + align-content: flex-start; padding-bottom: 50px; min-width: 0; + background-color: $ui-off-white; + gap: $pad-large; .section { + flex: 100%; display: flex; flex-direction: column; - margin: $pad-xxlarge 0 0; + background-color: $core-white; + border-radius: 16px; + border: 1px solid $ui-fleet-blue-15; + padding: $pad-xxlarge; + box-shadow: 0px 3px 0px rgba(226, 228, 234, 0.4); &__header { - margin: 0 0 $pad-medium; font-size: $medium; + font-weight: bold; + margin: 0 0 $pad-medium 0; } .info { @@ -94,7 +111,8 @@ } } - .about { + .about, + .osquery { .info { &__item { &--about { @@ -107,18 +125,25 @@ display: flex; flex-direction: column; margin-right: $pad-xxlarge; + } + &__data { + margin-bottom: $pad-medium; - span { - margin-bottom: $pad-medium; - - &:last-child { - margin-bottom: 0; - } + &:last-child { + margin-bottom: 0; } } } } + .col-50 { + flex: 2; + } + + .col-25 { + flex: 1; + } + .status { color: $core-fleet-black; text-transform: capitalize; @@ -224,4 +249,9 @@ white-space: nowrap; } } + + #back-chevron { + width: 12px; + margin-right: 10px; + } }