-
Keyboard Shortcuts
-
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
-
+
+
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
);
}
diff --git a/frontend/app/components/Session_/Subheader.js b/frontend/app/components/Session_/Subheader.tsx
similarity index 88%
rename from frontend/app/components/Session_/Subheader.js
rename to frontend/app/components/Session_/Subheader.tsx
index 9a65401e6..7bd1413e4 100644
--- a/frontend/app/components/Session_/Subheader.js
+++ b/frontend/app/components/Session_/Subheader.tsx
@@ -1,12 +1,11 @@
import { ShareAltOutlined } from '@ant-design/icons';
import { Button as AntButton, Switch, Tooltip, Dropdown } from 'antd';
import cn from 'classnames';
-import { useModal } from "Components/Modal";
-import IssuesModal from "Components/Session_/Issues/IssuesModal";
+import IssuesModal from 'Components/Session_/Issues/IssuesModal';
import { Link2, Keyboard } from 'lucide-react';
import { observer } from 'mobx-react-lite';
import React, { useMemo } from 'react';
-import { MoreOutlined } from '@ant-design/icons'
+import { MoreOutlined } from '@ant-design/icons';
import { Icon } from 'UI';
import { PlayerContext } from 'App/components/Session/playerContext';
import { IFRAME } from 'App/constants/storageKeys';
@@ -15,12 +14,14 @@ 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 { toast } from 'react-toastify';
import HighlightButton from './Highlight/HighlightButton';
import SharePopup from '../shared/SharePopup/SharePopup';
import QueueControls from './QueueControls';
-import { Bookmark as BookmarkIcn, BookmarkCheck, Vault } from "lucide-react";
+import { Bookmark as BookmarkIcn, BookmarkCheck, Vault } from 'lucide-react';
+import { useModal } from 'Components/ModalContext';
+import IssueForm from 'Components/Session_/Issues/IssueForm';
const disableDevtools = 'or_devtools_uxt_toggle';
@@ -31,11 +32,11 @@ function SubHeader(props) {
sessionStore,
projectsStore,
userStore,
- issueReportingStore,
+ issueReportingStore
} = useStore();
const favorite = sessionStore.current.favorite;
const isEnterprise = userStore.isEnterprise;
- const currentSession = sessionStore.current
+ const currentSession = sessionStore.current;
const projectId = projectsStore.siteId;
const integrations = integrationsStore.issues.list;
const { store } = React.useContext(PlayerContext);
@@ -43,7 +44,7 @@ function SubHeader(props) {
const hasIframe = localStorage.getItem(IFRAME) === 'true';
const [hideTools, setHideTools] = React.useState(false);
const [isFavorite, setIsFavorite] = React.useState(favorite);
- const { showModal, hideModal } = useModal();
+ const { openModal, closeModal } = useModal();
React.useEffect(() => {
const hideDevtools = checkParam('hideTools');
@@ -62,7 +63,7 @@ function SubHeader(props) {
const issuesIntegrationList = integrationsStore.issues.list;
const handleOpenIssueModal = () => {
- issueReportingStore.init();
+ issueReportingStore.init({});
if (!issueReportingStore.projectsFetched) {
issueReportingStore.fetchProjects().then((projects) => {
if (projects && projects[0]) {
@@ -70,13 +71,12 @@ function SubHeader(props) {
}
});
}
- showModal(
-
- )
+ openModal(
+
,
+ {
+ title: 'Create Issue'
+ }
+ );
};
const reportingProvider = issuesIntegrationList[0]?.provider || '';
@@ -90,10 +90,10 @@ function SubHeader(props) {
localStorage.setItem(disableDevtools, enabled ? '0' : '1');
uxtestingStore.setHideDevtools(!enabled);
};
-
+
const showKbHelp = () => {
- showModal(
, { right: true, width: 320 });
- }
+ openModal(
, { width: 320, title: 'Keyboard Shortcuts' });
+ };
const vaultIcon = isEnterprise ? (
@@ -115,7 +115,7 @@ function SubHeader(props) {
toast.success(isFavorite ? REMOVED_MESSAGE : ADDED_MESSAGE);
setIsFavorite(!isFavorite);
});
- }
+ };
return (
<>
@@ -126,13 +126,13 @@ function SubHeader(props) {
? props.live
? '#F6FFED'
: '#EBF4F5'
- : undefined,
+ : undefined
}}
>
@@ -164,7 +164,7 @@ function SubHeader(props) {
@@ -180,7 +180,7 @@ function SubHeader(props) {
Issues
,
disabled: !enabledIntegration,
- onClick: handleOpenIssueModal,
+ onClick: handleOpenIssueModal
},
{
key: '1',
diff --git a/frontend/app/mstore/issueReportingStore.ts b/frontend/app/mstore/issueReportingStore.ts
index b104548e1..8baf427f4 100644
--- a/frontend/app/mstore/issueReportingStore.ts
+++ b/frontend/app/mstore/issueReportingStore.ts
@@ -1,60 +1,66 @@
import { makeAutoObservable } from 'mobx';
-import ReportedIssue from "../types/session/assignment";
-import { issueReportsService } from "App/services";
+import ReportedIssue from '../types/session/assignment';
+import { issueReportsService } from 'App/services';
+import { makePersistable } from '.store/mobx-persist-store-virtual-858ce4d906/package';
-export default class issueReportingStore {
- instance: ReportedIssue
- issueTypes: any[] = []
- list: any[] = []
- issueTypeIcons: {}
- users: any[] = []
- projects: any[] = []
- issuesFetched = false
- projectsFetched = false
- projectsLoading = false
- metaLoading = false
- createLoading = false
+export default class IssueReportingStore {
+ instance!: ReportedIssue;
+ issueTypes: any[] = [];
+ list: any[] = [];
+ issueTypeIcons: Record