diff --git a/frontend/app/components/Session_/ScreenRecorder/ScreenRecorder.tsx b/frontend/app/components/Session_/ScreenRecorder/ScreenRecorder.tsx index f1f01e5b1..5031d2cca 100644 --- a/frontend/app/components/Session_/ScreenRecorder/ScreenRecorder.tsx +++ b/frontend/app/components/Session_/ScreenRecorder/ScreenRecorder.tsx @@ -3,12 +3,13 @@ import { screenRecorder } from 'App/utils/screenRecorder'; import { Tooltip } from 'react-tippy'; import { connect } from 'react-redux'; import { Button } from 'UI'; -import { requestRecording, stopRecording, connectPlayer } from 'Player'; -import { SessionRecordingStatus } from 'Player/MessageDistributor/managers/AssistManager'; +import { SessionRecordingStatus } from 'Player'; let stopRecorderCb: () => void; import { recordingsService } from 'App/services'; import { toast } from 'react-toastify'; -import { durationFromMs, formatTimeOrDate } from 'App/date'; +import { formatTimeOrDate } from 'App/date'; +import { PlayerContext } from 'App/components/Session/playerContext'; +import { observer } from 'mobx-react-lite'; /** * "edge" || "edg/" chromium based edge (dev or canary) @@ -32,14 +33,15 @@ const supportedBrowsers = ['Chrome v91+', 'Edge v90+']; const supportedMessage = `Supported Browsers: ${supportedBrowsers.join(', ')}`; function ScreenRecorder({ - recordingState, siteId, sessionId, }: { - recordingState: SessionRecordingStatus; siteId: string; sessionId: string; }) { + const { player, store } = React.useContext(PlayerContext) + const recordingState = store.get().recordingState + const [isRecording, setRecording] = React.useState(false); React.useEffect(() => { @@ -82,13 +84,13 @@ function ScreenRecorder({ }; const stopRecordingHandler = () => { - stopRecording(); + player.assistManager.stopRecording(); stopRecorderCb?.(); setRecording(false); }; const recordingRequest = () => { - requestRecording(); + player.assistManager.requestRecording() }; if (!isSupported()) { @@ -116,9 +118,7 @@ function ScreenRecorder({ ); } -export default connectPlayer((state: any) => ({ recordingState: state.recordingState }))( - connect((state: any) => ({ +export default connect((state: any) => ({ siteId: state.getIn(['site', 'siteId']), sessionId: state.getIn(['sessions', 'current', 'sessionId']), - }))(ScreenRecorder) -); + }))(observer(ScreenRecorder)) diff --git a/frontend/app/components/shared/DevTools/TimeTable/TimeTable.tsx b/frontend/app/components/shared/DevTools/TimeTable/TimeTable.tsx index 8271a6561..2fa0343e3 100644 --- a/frontend/app/components/shared/DevTools/TimeTable/TimeTable.tsx +++ b/frontend/app/components/shared/DevTools/TimeTable/TimeTable.tsx @@ -2,7 +2,7 @@ import React from 'react'; import { List, AutoSizer } from 'react-virtualized'; import cn from 'classnames'; import { Duration } from 'luxon'; -import { NoContent, Icon, Button } from 'UI'; +import { NoContent, Button } from 'UI'; import { percentOf } from 'App/utils'; import BarRow from './BarRow'; @@ -222,8 +222,8 @@ export default class TimeTable extends React.PureComponent { > {columns .filter((i: any) => !i.hidden) - .map(({ dataKey, render, width }) => ( -
+ .map(({ dataKey, render, width, label }) => ( +
{render ? render(row) : row[dataKey || ''] || {'empty'}} @@ -327,6 +327,7 @@ export default class TimeTable extends React.PureComponent {
{columns.map(({ label, width, dataKey, onClick = null }) => (