summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorErnst Widerberg <ernst@sunet.se>2022-04-25 16:34:27 +0200
committerErnst Widerberg <ernst@sunet.se>2022-04-25 16:34:27 +0200
commit8f68fd5c6afa73fa86b8257c675614825ff17c5d (patch)
tree46ffa80a6a4ad9a86cdeb2b9eb68498d9fff1b16 /src
parentd816f2ba179696634131748818b9fbc0890e724c (diff)
Format
Diffstat (limited to 'src')
-rw-r--r--src/components/ScanView.js193
1 files changed, 100 insertions, 93 deletions
diff --git a/src/components/ScanView.js b/src/components/ScanView.js
index ce4901b..a6d5bb0 100644
--- a/src/components/ScanView.js
+++ b/src/components/ScanView.js
@@ -70,105 +70,112 @@ class ScanView extends React.Component {
}
render() {
- return this.state.loaded && (
- <Card className="scan-detail" variant="outlined">
- <div className="id">
- <a href={`/${this.state._id}`}>#{this.state._id}</a>
- </div>
- <h2>General info</h2>
-
- <table>
- <tbody>
- <tr>
- <td>Domain</td>
- <td>{this.state.domain}</td>
- </tr>
- <tr>
- <td>Endpoint</td>
- <td>{`${this.state.ip}:${this.props.port}`}</td>
- </tr>
- <tr>
- <td>Hostname</td>
- <td>{this.state.ptr}</td>
- </tr>
- <tr>
- <td>Owner</td>
- <td>{this.state.whois_description}</td>
- </tr>
- <tr>
- <td>ASN</td>
- <td>{`${this.state.asn} (${this.props.asn_country_code})`}</td>
- </tr>
- <tr>
- <td>Abuse mail</td>
- <td>{this.state.abuse_mail}</td>
- </tr>
- </tbody>
- </table>
-
- {this.state.description && (
- <>
- <br />
- <Alert severity="info">{this.state.description}</Alert>
- </>
- )}
-
- <h2>Custom info</h2>
- <Custom {...this.state.custom_data} />
-
- <h2
- style={{
- display: "flex",
- justifyContent: "space-between"
- }}
- >
- <div>
- Latest scan: &nbsp;&nbsp;&nbsp;
- {dateFormat(
- this.state.timestamp_in_utc,
- "isoUtcDateTime"
- )}
+ return (
+ this.state.loaded && (
+ <Card className="scan-detail" variant="outlined">
+ <div className="id">
+ <a href={`/${this.state._id}`}>#{this.state._id}</a>
</div>
- <div
+ <h2>General info</h2>
+
+ <table>
+ <tbody>
+ <tr>
+ <td>Domain</td>
+ <td>{this.state.domain}</td>
+ </tr>
+ <tr>
+ <td>Endpoint</td>
+ <td>{`${this.state.ip}:${this.props.port}`}</td>
+ </tr>
+ <tr>
+ <td>Hostname</td>
+ <td>{this.state.ptr}</td>
+ </tr>
+ <tr>
+ <td>Owner</td>
+ <td>{this.state.whois_description}</td>
+ </tr>
+ <tr>
+ <td>ASN</td>
+ <td>{`${this.state.asn} (${this.props.asn_country_code})`}</td>
+ </tr>
+ <tr>
+ <td>Abuse mail</td>
+ <td>{this.state.abuse_mail}</td>
+ </tr>
+ </tbody>
+ </table>
+
+ {this.state.description && (
+ <>
+ <br />
+ <Alert severity="info">
+ {this.state.description}
+ </Alert>
+ </>
+ )}
+
+ <h2>Custom info</h2>
+ <Custom {...this.state.custom_data} />
+
+ <h2
style={{
- width: "93px",
- height: "37px",
display: "flex",
- flexDirection: "vertical",
- justifyContent: "center",
- alignItems: "center"
+ justifyContent: "space-between"
}}
>
- {this.state.rescanInProgress ? (
- <CircularProgress size="37px" />
- ) : (
- <Button variant="contained" onClick={this.rescan}>
- Re-scan
- </Button>
- )}
+ <div>
+ Latest scan: &nbsp;&nbsp;&nbsp;
+ {dateFormat(
+ this.state.timestamp_in_utc,
+ "isoUtcDateTime"
+ )}
+ </div>
+ <div
+ style={{
+ width: "93px",
+ height: "37px",
+ display: "flex",
+ flexDirection: "vertical",
+ justifyContent: "center",
+ alignItems: "center"
+ }}
+ >
+ {this.state.rescanInProgress ? (
+ <CircularProgress size="37px" />
+ ) : (
+ <Button
+ variant="contained"
+ onClick={this.rescan}
+ >
+ Re-scan
+ </Button>
+ )}
+ </div>
+ </h2>
+
+ <div id="results">
+ {Object.entries(this.state.result)
+ // Sort by vulnerable, investigation_needed, reliability, name
+ .sort((a, b) =>
+ a[1].display_name > b[1].display_name ? -1 : 1
+ )
+ .sort((a, b) =>
+ a[1].reliability < b[1].reliability ? -1 : 1
+ )
+ .sort((a, b) =>
+ a[1].vulnerable || a[1].investigation_needed
+ ? -1
+ : 1
+ )
+ .sort((a, b) => (a[1].vulnerable ? -1 : 1))
+ .map(([id, res]) => (
+ <Result key={id} {...res} />
+ ))}
</div>
- </h2>
-
- <div id="results">
- {Object.entries(this.state.result)
- // Sort by vulnerable, investigation_needed, reliability, name
- .sort((a, b) =>
- a[1].display_name > b[1].display_name ? -1 : 1
- )
- .sort((a, b) =>
- a[1].reliability < b[1].reliability ? -1 : 1
- )
- .sort((a, b) =>
- a[1].vulnerable || a[1].investigation_needed
- ? -1
- : 1
- )
- .sort((a, b) => (a[1].vulnerable ? -1 : 1))
- .map(([id, res]) => (
- <Result key={id} {...res} />
- ))}
- </div>
- </Card>
+ </Card>
+ )
);
}
}