diff --git a/frontend/app/components/Session/LiveSession.js b/frontend/app/components/Session/LiveSession.js
index 54df7d5c7..19b7d8614 100644
--- a/frontend/app/components/Session/LiveSession.js
+++ b/frontend/app/components/Session/LiveSession.js
@@ -11,7 +11,6 @@ import LivePlayer from './LivePlayer';
function LiveSession({
sessionId,
loading,
- session,
fetchSession,
fetchSlackList,
hasSessionsPath,
diff --git a/frontend/app/components/Session/Session.js b/frontend/app/components/Session/Session.js
index dae27df35..e3801f84a 100644
--- a/frontend/app/components/Session/Session.js
+++ b/frontend/app/components/Session/Session.js
@@ -16,9 +16,7 @@ function Session({
sessionId,
loading,
hasErrors,
- session,
fetchSession,
- fetchSlackList,
}) {
usePageTitle("OpenReplay Session Player");
const [ initializing, setInitializing ] = useState(true)
diff --git a/frontend/app/components/Session_/HeaderInfo.js b/frontend/app/components/Session_/HeaderInfo.js
deleted file mode 100644
index e53bd0c07..000000000
--- a/frontend/app/components/Session_/HeaderInfo.js
+++ /dev/null
@@ -1,13 +0,0 @@
-import React from 'react';
-import { Icon } from 'UI';
-
-const HeaderInfo = ({ icon, label }) => {
- return (
-
- );
-};
-
-export default HeaderInfo;
diff --git a/frontend/app/components/Session_/Player/Player.js b/frontend/app/components/Session_/Player/Player.js
deleted file mode 100644
index 6fa429eed..000000000
--- a/frontend/app/components/Session_/Player/Player.js
+++ /dev/null
@@ -1,122 +0,0 @@
-import React from 'react';
-import { connect } from 'react-redux';
-import { findDOMNode } from 'react-dom';
-import cn from 'classnames';
-import { EscapeButton } from 'UI';
-import {
- NONE,
- CONSOLE,
- NETWORK,
- STACKEVENTS,
- STORAGE,
- PROFILER,
- PERFORMANCE,
- GRAPHQL,
- EXCEPTIONS,
- INSPECTOR,
- OVERVIEW,
- fullscreenOff,
-} from 'Duck/components/player';
-import NetworkPanel from 'Shared/DevTools/NetworkPanel';
-import Storage from '../Storage';
-import { ConnectedPerformance } from '../Performance';
-import GraphQL from '../GraphQL';
-import Exceptions from '../Exceptions/Exceptions';
-import Inspector from '../Inspector';
-import Controls from './Controls';
-import Overlay from './Overlay';
-import stl from './player.module.css';
-import { updateLastPlayedSession } from 'Duck/sessions';
-import OverviewPanel from '../OverviewPanel';
-import ConsolePanel from 'Shared/DevTools/ConsolePanel';
-import ProfilerPanel from 'Shared/DevTools/ProfilerPanel';
-import { PlayerContext } from 'App/components/Session/playerContext';
-import StackEventPanel from 'Shared/DevTools/StackEventPanel';
-
-function Player(props) {
- const {
- className,
- fullscreen,
- fullscreenOff,
- nextId,
- closedLive,
- bottomBlock,
- activeTab,
- fullView,
- isMultiview,
- isClickmap,
- } = props;
- const playerContext = React.useContext(PlayerContext);
- const screenWrapper = React.useRef();
- const bottomBlockIsActive = !fullscreen && bottomBlock !== NONE;
-
- React.useEffect(() => {
- props.updateLastPlayedSession(props.sessionId);
- if (!props.closedLive || isMultiview) {
- const parentElement = findDOMNode(screenWrapper.current); //TODO: good architecture
- playerContext.player.attach(parentElement);
- playerContext.player.play();
- }
- }, []);
-
- React.useEffect(() => {
- playerContext.player.scale();
- }, [props.bottomBlock, props.fullscreen, playerContext.player]);
-
- if (!playerContext.player) return null;
-
- const maxWidth = activeTab ? 'calc(100vw - 270px)' : '100vw';
- return (
-
- {fullscreen &&
}
-
- {!fullscreen && !!bottomBlock && (
-
- {bottomBlock === OVERVIEW &&
}
- {bottomBlock === CONSOLE &&
}
- {bottomBlock === NETWORK &&
}
- {/* {bottomBlock === STACKEVENTS &&
} */}
- {bottomBlock === STACKEVENTS &&
}
- {bottomBlock === STORAGE &&
}
- {bottomBlock === PROFILER &&
}
- {bottomBlock === PERFORMANCE &&
}
- {bottomBlock === GRAPHQL &&
}
- {bottomBlock === EXCEPTIONS &&
}
- {bottomBlock === INSPECTOR &&
}
-
- )}
- {!fullView && !isMultiview && !isClickmap ? (
-
- ) : null}
-
- );
-}
-
-export default connect(
- (state) => {
- const isAssist = window.location.pathname.includes('/assist/');
- return {
- fullscreen: state.getIn(['components', 'player', 'fullscreen']),
- nextId: state.getIn(['sessions', 'nextId']),
- sessionId: state.getIn(['sessions', 'current']).sessionId,
- bottomBlock: state.getIn(['components', 'player', 'bottomBlock']),
- closedLive:
- !!state.getIn(['sessions', 'errors']) ||
- (isAssist && !state.getIn(['sessions', 'current']).live),
- };
- },
- {
- fullscreenOff,
- updateLastPlayedSession,
- }
-)(Player);
diff --git a/frontend/app/components/Session_/Player/index.js b/frontend/app/components/Session_/Player/index.js
deleted file mode 100644
index 2b570d433..000000000
--- a/frontend/app/components/Session_/Player/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default } from './Player';
diff --git a/frontend/app/components/Session_/PlayerBlockHeader.tsx b/frontend/app/components/Session_/PlayerBlockHeader.tsx
deleted file mode 100644
index cd19712c7..000000000
--- a/frontend/app/components/Session_/PlayerBlockHeader.tsx
+++ /dev/null
@@ -1,185 +0,0 @@
-import React from 'react';
-import { connect } from 'react-redux';
-import { withRouter } from 'react-router-dom';
-import {
- sessions as sessionsRoute,
- assist as assistRoute,
- liveSession as liveSessionRoute,
- withSiteId,
- multiview,
-} from 'App/routes';
-import { BackLink, Link, Icon } from 'UI';
-import { toggleFavorite, setSessionPath } from 'Duck/sessions';
-import cn from 'classnames';
-import SessionMetaList from 'Shared/SessionItem/SessionMetaList';
-import UserCard from './EventsBlock/UserCard';
-import Tabs from 'Components/Session/Tabs';
-import { PlayerContext } from 'App/components/Session/playerContext';
-import { observer } from 'mobx-react-lite';
-import { useStore } from 'App/mstore'
-import stl from './playerBlockHeader.module.css';
-import AssistActions from '../Assist/components/AssistActions';
-import AssistTabs from '../Assist/components/AssistTabs';
-
-const SESSIONS_ROUTE = sessionsRoute();
-const ASSIST_ROUTE = assistRoute();
-
-// TODO props
-function PlayerBlockHeader(props: any) {
- const [hideBack, setHideBack] = React.useState(false);
- const { player, store } = React.useContext(PlayerContext);
- const { assistMultiviewStore } = useStore();
-
- const { width, height, showEvents } = store.get();
-
- const {
- session,
- fullscreen,
- metaList,
- closedLive = false,
- siteId,
- isAssist,
- setActiveTab,
- activeTab,
- location,
- history,
- sessionPath,
- isMultiview,
- } = props;
-
- React.useEffect(() => {
- const queryParams = new URLSearchParams(location.search);
- setHideBack(queryParams.has('iframe') && queryParams.get('iframe') === 'true');
- }, []);
-
- const backHandler = () => {
- if (
- sessionPath.pathname === history.location.pathname ||
- sessionPath.pathname.includes('/session/') ||
- isAssist
- ) {
- history.push(withSiteId(isAssist ? ASSIST_ROUTE : SESSIONS_ROUTE, siteId));
- } else {
- history.push(
- sessionPath ? sessionPath.pathname + sessionPath.search : withSiteId(SESSIONS_ROUTE, siteId)
- );
- }
- };
-
- const { sessionId, userId, userNumericHash, live, metadata, isCallActive, agentIds } = session;
- let _metaList = Object.keys(metadata)
- .filter((i) => metaList.includes(i))
- .map((key) => {
- const value = metadata[key];
- return { label: key, value };
- });
-
- const TABS = [props.tabs.EVENTS, props.tabs.CLICKMAP].map((tab) => ({
- text: tab,
- key: tab,
- }));
-
- const openGrid = () => {
- const sessionIdQuery = encodeURIComponent(assistMultiviewStore.sessions.map((s) => s.sessionId).join(','));
- return history.push(withSiteId(multiview(sessionIdQuery), siteId));
- };
-
- return (
-
-
- {!hideBack && (
-
(assistMultiviewStore.sessions.length > 1 || isMultiview ? openGrid() : backHandler())}
- >
- {assistMultiviewStore.sessions.length > 1 || isMultiview ? (
- <>
-
-
-
-
- Close
-
-
- >
- ) : (
- <>
- {/* @ts-ignore TODO */}
-
-
- >
- )}
-
- )}
-
- {isAssist &&
}
-
-
- {live && !isAssist && (
- <>
-
-
- This Session is Now Continuing Live
-
-
- {_metaList.length > 0 &&
}
- >
- )}
-
- {_metaList.length > 0 && (
-
-
-
- )}
-
- {isAssist && (
- // @ts-ignore TODO
-
- )}
-
-
- {!isAssist && (
-
- {
- if (activeTab === tab) {
- setActiveTab('');
- player.toggleEvents();
- } else {
- setActiveTab(tab);
- !showEvents && player.toggleEvents();
- }
- }}
- border={false}
- />
-
- )}
-
- );
-}
-
-const PlayerHeaderCont = connect(
- (state: any) => {
- const isAssist = window.location.pathname.includes('/assist/');
- const session = state.getIn(['sessions', 'current']);
-
- return {
- isAssist,
- session,
- sessionPath: state.getIn(['sessions', 'sessionPath']),
- local: state.getIn(['sessions', 'timezone']),
- funnelRef: state.getIn(['funnels', 'navRef']),
- siteId: state.getIn(['site', 'siteId']),
- metaList: state.getIn(['customFields', 'list']).map((i: any) => i.key),
- closedLive: !!state.getIn(['sessions', 'errors']) || (isAssist && !session.live),
- };
- },
- {
- toggleFavorite,
- setSessionPath,
- }
-)(observer(PlayerBlockHeader));
-
-export default withRouter(PlayerHeaderCont);