diff --git a/packages/app/constants/settings/about/index.jsx b/packages/app/constants/settings/about/index.jsx index 610c0f02..a675dbf2 100755 --- a/packages/app/constants/settings/about/index.jsx +++ b/packages/app/constants/settings/about/index.jsx @@ -1,6 +1,5 @@ import React from "react" import * as antd from "antd" -import moment from "moment" import { Icons } from "components/Icons" @@ -8,7 +7,13 @@ import config from "config" import "./index.less" -const Footer = (props) => { +const connectionsTooltipStrings = { + secure: "This connection is secure", + insecure: "This connection is insecure, cause it's not using HTTPS protocol and the server cannot be verified on the trusted certificate authority.", + warning: "This connection is secure but the server cannot be verified on the trusted certificate authority.", +} + +const Footer = () => { const isDevMode = window.__evite?.env?.NODE_ENV !== "production" return
@@ -39,6 +44,8 @@ export default { const [serverManifest, setServerManifest] = React.useState(null) const [serverOrigin, setServerOrigin] = React.useState(null) + const [serverHealth, setServerHealth] = React.useState(null) + const [secureConnection, setSecureConnection] = React.useState(false) const checkServerVersion = async () => { const serverManifest = await app.cores.api.customRequest() @@ -51,12 +58,30 @@ export default { if (instance) { setServerOrigin(instance.origin) + + if (instance.origin.startsWith("https")) { + setSecureConnection(true) + } + } + } + + const featchServerHealth = async () => { + const response = await app.cores.api.customRequest({ + method: "GET", + url: "/server/health", + }).catch(() => null) + + console.log(response.data) + + if (response) { + setServerHealth(response.data) } } React.useEffect(() => { checkServerVersion() checkServerOrigin() + featchServerHealth() }, []) return
@@ -83,23 +108,59 @@ export default {
+

Server information

-

Server info

-
- Powered by Linebridgeâ„¢ +
+

Origin

-
- v{serverManifest?.LINEBRIDGE_SERVER_VERSION ?? "Unknown"} + + : } + > + { + secureConnection ? " Secure connection" : "Insecure connection" + } + + +
+ +
+ {serverOrigin ?? "Unknown"}
- Server origin - -
- {serverOrigin ?? "Unknown"} +
+

Version

+ +
+ {serverManifest?.version ?? "Unknown"} +
+
+ +
+
+

Instance usage

+
+ +
+ +
+
+ +
+ { + serverManifest?.LINEBRIDGE_SERVER_VERSION &&
Powered by Linebridgeâ„¢
+ }
diff --git a/packages/app/constants/settings/about/index.less b/packages/app/constants/settings/about/index.less index c975b1f5..7790a2e2 100755 --- a/packages/app/constants/settings/about/index.less +++ b/packages/app/constants/settings/about/index.less @@ -71,22 +71,75 @@ margin-bottom: 10px; + background-color: var(--background-color-primary); + + border-radius: 12px; + + padding: 15px; + + h1, + h2, + h3, + h4, + h5, + h6 { + margin-top: 0; + margin-bottom: 5px; + } + .field { display: inline-flex; flex-direction: column; margin-bottom: 10px; - font-size: 0.9rem; + .field_header { + display: flex; + flex-direction: row; + + align-items: center; + justify-content: space-between; - .value { font-size: 0.8rem; + margin-bottom: 8px; + + h3 { + margin: 0; + } + } + + .field_value { + font-size: 0.9rem; + display: inline-flex; flex-direction: row; margin-left: 10px; - margin-top: 5px; + + font-family: "DM Mono", monospace; + + background-color: var(--background-color-accent); + border-radius: 7px; + padding: 7px; + + .ant-progress { + margin: 0; + } + } + } + + .group_footer { + display: flex; + flex-direction: row; + + justify-content: center; + align-items: center; + + margin-top: 10px; + + .button { + margin-left: 10px; } } }