diff options
| author | crupest <crupest@outlook.com> | 2021-06-15 18:25:17 +0800 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-15 18:25:17 +0800 | 
| commit | 4645761c2090aeaf8c26789155b342c048f44535 (patch) | |
| tree | 1aab5ce94549f3f8b3fd1a31c84fb2dd8b6b2511 /FrontEnd/src/views/timeline-common/ConnectionStatusBadge.tsx | |
| parent | 485ef185153890b7c6ac4ed9798a3f2db80c8845 (diff) | |
| parent | b6afd5e8161126522bdfff876f5483fa97e94797 (diff) | |
| download | timeline-4645761c2090aeaf8c26789155b342c048f44535.tar.gz timeline-4645761c2090aeaf8c26789155b342c048f44535.tar.bz2 timeline-4645761c2090aeaf8c26789155b342c048f44535.zip | |
Merge pull request #620 from crupest/vite
Migrate to vite!
Diffstat (limited to 'FrontEnd/src/views/timeline-common/ConnectionStatusBadge.tsx')
| -rw-r--r-- | FrontEnd/src/views/timeline-common/ConnectionStatusBadge.tsx | 39 | 
1 files changed, 39 insertions, 0 deletions
| diff --git a/FrontEnd/src/views/timeline-common/ConnectionStatusBadge.tsx b/FrontEnd/src/views/timeline-common/ConnectionStatusBadge.tsx new file mode 100644 index 00000000..df43d8d2 --- /dev/null +++ b/FrontEnd/src/views/timeline-common/ConnectionStatusBadge.tsx @@ -0,0 +1,39 @@ +import React from "react"; +import classnames from "classnames"; +import { HubConnectionState } from "@microsoft/signalr"; +import { useTranslation } from "react-i18next"; + +export interface ConnectionStatusBadgeProps { +  status: HubConnectionState; +  className?: string; +  style?: React.CSSProperties; +} + +const classNameMap: Record<HubConnectionState, string> = { +  Connected: "success", +  Connecting: "warning", +  Disconnected: "danger", +  Disconnecting: "warning", +  Reconnecting: "warning", +}; + +const ConnectionStatusBadge: React.FC<ConnectionStatusBadgeProps> = (props) => { +  const { status, className, style } = props; + +  const { t } = useTranslation(); + +  return ( +    <div +      className={classnames( +        "connection-status-badge", +        classNameMap[status], +        className +      )} +      style={style} +    > +      {t(`connectionState.${status}`)} +    </div> +  ); +}; + +export default ConnectionStatusBadge; | 
