import { ShareAltOutlined, MoreOutlined } from '@ant-design/icons';
import { Button as AntButton, Switch, Tooltip, Dropdown } from 'antd';
import cn from 'classnames';
import {
Link2,
Keyboard,
Bot,
Bookmark as BookmarkIcn,
BookmarkCheck,
Vault,
} from 'lucide-react';
import { observer } from 'mobx-react-lite';
import React, { useMemo } from 'react';
import { Icon } from 'UI';
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 { ShortcutGrid } from 'Components/Session_/Player/Controls/components/KeyboardHelp';
import WarnBadge from 'Components/Session_/WarnBadge';
import { toast } from 'react-toastify';
import { useModal } from 'Components/ModalContext';
import IssueForm from 'Components/Session_/Issues/IssueForm';
import QueueControls from './QueueControls';
import HighlightButton from './Highlight/HighlightButton';
import ShareModal from '../shared/SharePopup/SharePopup';
import { useTranslation } from 'react-i18next';
const disableDevtools = 'or_devtools_uxt_toggle';
function SubHeader(props) {
const {
uxtestingStore,
integrationsStore,
sessionStore,
projectsStore,
userStore,
issueReportingStore,
settingsStore
} = useStore();
const { t } = useTranslation();
const { favorite } = sessionStore.current;
const { isEnterprise } = userStore;
const currentSession = sessionStore.current;
const projectId = projectsStore.siteId;
const integrations = integrationsStore.issues.list;
const { player, store } = React.useContext(PlayerContext);
const { location: currentLocation = 'loading...' } = store.get();
const hasIframe = localStorage.getItem(IFRAME) === 'true';
const [hideTools, setHideTools] = React.useState(false);
const [isFavorite, setIsFavorite] = React.useState(favorite);
const { openModal, closeModal } = useModal();
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 issuesIntegrationList = integrationsStore.issues.list;
const handleOpenIssueModal = () => {
issueReportingStore.init({});
if (!issueReportingStore.projectsFetched) {
issueReportingStore.fetchProjects().then((projects) => {
if (projects && projects[0]) {
void issueReportingStore.fetchMeta(projects[0].id);
}
});
}
openModal(