import { ShareAltOutlined } from '@ant-design/icons'; import { Button as AntButton, Switch, Tooltip } from 'antd'; import cn from 'classnames'; import { Link2 } from 'lucide-react'; import { observer } from 'mobx-react-lite'; import React, { useMemo } from 'react'; import { PlayerContext } from 'App/components/Session/playerContext'; import { IFRAME } from 'App/constants/storageKeys'; import { useStore } from 'App/mstore'; import { checkParam, truncateStringToFit } from 'App/utils'; import SessionTabs from 'Components/Session/Player/SharedComponents/SessionTabs'; import KeyboardHelp from 'Components/Session_/Player/Controls/components/KeyboardHelp'; import WarnBadge from 'Components/Session_/WarnBadge'; import Bookmark from 'Shared/Bookmark'; import SharePopup from '../shared/SharePopup/SharePopup'; import Issues from './Issues/Issues'; import QueueControls from './QueueControls'; import NotePopup from './components/NotePopup'; const disableDevtools = 'or_devtools_uxt_toggle'; function SubHeader(props) { const { uxtestingStore, integrationsStore, sessionStore, projectsStore } = useStore(); const currentSession = sessionStore.current const projectId = projectsStore.siteId; const integrations = integrationsStore.issues.list; const { store } = React.useContext(PlayerContext); const { location: currentLocation = 'loading...' } = store.get(); const hasIframe = localStorage.getItem(IFRAME) === 'true'; const [hideTools, setHideTools] = React.useState(false); React.useEffect(() => { const hideDevtools = checkParam('hideTools'); if (hideDevtools) { setHideTools(true); } }, []); const enabledIntegration = useMemo(() => { if (!integrations || !integrations.length) { return false; } return integrations.some((i) => i.token); }, [integrations]); const locationTruncated = truncateStringToFit( currentLocation, window.innerWidth - 200 ); const toggleDevtools = (enabled) => { localStorage.setItem(disableDevtools, enabled ? '0' : '1'); uxtestingStore.setHideDevtools(!enabled); }; return ( <>
{!hideTools && (
{enabledIntegration && }
} /> {uxtestingStore.isUxt() ? ( ) : (
)}
)} {locationTruncated && (
{locationTruncated}
)} ); } export default observer(SubHeader);