diff --git a/frontend/app/components/Session_/Player/Overlay.tsx b/frontend/app/components/Session_/Player/Overlay.tsx
index 09e1036a6..ca4384ccb 100644
--- a/frontend/app/components/Session_/Player/Overlay.tsx
+++ b/frontend/app/components/Session_/Player/Overlay.tsx
@@ -2,6 +2,7 @@ import React, {useEffect} from 'react';
import { connectPlayer, markTargets } from 'Player';
import { getStatusText } from 'Player/MessageDistributor/managers/AssistManager';
import type { MarkedTarget } from 'Player/MessageDistributor/StatedScreen/StatedScreen';
+import { ConnectionStatus } from 'Player/MessageDistributor/managers/AssistManager';
import AutoplayTimer from './Overlay/AutoplayTimer';
import PlayIconLayer from './Overlay/PlayIconLayer';
@@ -17,6 +18,7 @@ interface Props {
loading: boolean,
live: boolean,
liveStatusText: string,
+ concetionStatus: ConnectionStatus,
autoplay: boolean,
markedTargets: MarkedTarget[] | null,
activeTargetIndex: number,
@@ -33,6 +35,7 @@ function Overlay({
loading,
live,
liveStatusText,
+ concetionStatus,
autoplay,
markedTargets,
activeTargetIndex,
@@ -53,7 +56,7 @@ function Overlay({
<>
{ showAutoplayTimer && }
{ showLiveStatusText &&
-
+
}
{ messagesLoading && }
{ showPlayIconLayer &&
@@ -74,6 +77,7 @@ export default connectPlayer(state => ({
autoplay: state.autoplay,
live: state.live,
liveStatusText: getStatusText(state.peerConnectionStatus),
+ concetionStatus: state.peerConnectionStatus,
markedTargets: state.markedTargets,
activeTargetIndex: state.activeTargetIndex,
}))(Overlay);
\ No newline at end of file
diff --git a/frontend/app/components/Session_/Player/Overlay/LiveStatusText.tsx b/frontend/app/components/Session_/Player/Overlay/LiveStatusText.tsx
index e3eb7fc20..b642a8a7c 100644
--- a/frontend/app/components/Session_/Player/Overlay/LiveStatusText.tsx
+++ b/frontend/app/components/Session_/Player/Overlay/LiveStatusText.tsx
@@ -1,11 +1,64 @@
import React from 'react';
import stl from './LiveStatusText.css';
import ovStl from './overlay.css';
+import { ConnectionStatus } from 'Player/MessageDistributor/managers/AssistManager';
+import { Loader } from 'UI';
interface Props {
text: string;
+ concetionStatus: ConnectionStatus;
}
-export default function LiveStatusText({ text }: Props) {
- return
+export default function LiveStatusText({ text, concetionStatus }: Props) {
+ const renderView = () => {
+ switch (concetionStatus) {
+ case ConnectionStatus.Connecting:
+ return (
+
+
+
Connecting...
+
Establishing a connection with the remote session.
+
+ )
+ case ConnectionStatus.WaitingMessages:
+ return (
+
+
+
Waiting for the session to become active...
+
If it's taking too much time, it could mean the user is simply inactive.
+
+ )
+ case ConnectionStatus.Connected:
+ return (
+
+ )
+ case ConnectionStatus.Inactive:
+ return (
+
+
+
Waiting for the session to become active...
+
If it's taking too much time, it could mean the user is simply inactive.
+
+ )
+ case ConnectionStatus.Disconnected:
+ return (
+
+
Disconnected
+
The connection was lost with the remote session. The user may have simply closed the tab/browser.
+
+ )
+ case ConnectionStatus.Error:
+ return (
+
+
Error
+
Something wrong just happened. Try refreshing the page.
+
+ )
+ }
+ }
+ return
+ { renderView()}
+
}
\ No newline at end of file
diff --git a/frontend/app/components/shared/Filters/LiveFilterModal/LiveFilterModal.tsx b/frontend/app/components/shared/Filters/LiveFilterModal/LiveFilterModal.tsx
index 2757ca53e..c75d0f4ca 100644
--- a/frontend/app/components/shared/Filters/LiveFilterModal/LiveFilterModal.tsx
+++ b/frontend/app/components/shared/Filters/LiveFilterModal/LiveFilterModal.tsx
@@ -38,7 +38,7 @@ function LiveFilterModal(props: Props) {
{ showSearchList && (
- { filterSearchList && Object.keys(filterSearchList).map((key, index) => {
+ { filterSearchList && Object.keys(filterSearchList).filter(i => filtersMap[i].isLive).map((key, index) => {
const filter = filterSearchList[key];
const option = filtersMap[key];
return (