+
+
+
-
-
-
-
+
-
);
}
-function CodeStringFormatter({ text }: { text: string }) {
- const parts = text.split(/(`[^`]*`)/).map((part, index) =>
- part.startsWith('`') && part.endsWith('`') ? (
-
- {part.substring(1, part.length - 1)}
-
- ) : (
-
{part}
- ),
- );
-
- return <>{parts}>;
-}
-
const summaryBlockStyle: React.CSSProperties = {
background:
'linear-gradient(180deg, #E8EBFF -24.14%, rgba(236, 254, 255, 0.00) 100%)',
diff --git a/frontend/app/components/shared/MDRenderer/MDRenderer.tsx b/frontend/app/components/shared/MDRenderer/MDRenderer.tsx
new file mode 100644
index 000000000..339153196
--- /dev/null
+++ b/frontend/app/components/shared/MDRenderer/MDRenderer.tsx
@@ -0,0 +1,4 @@
+export default function MDRenderer(props: any) {
+ console.warn('saas comp')
+ return null;
+}
diff --git a/frontend/app/components/shared/ProjectDropdown/ProjectDropdown.tsx b/frontend/app/components/shared/ProjectDropdown/ProjectDropdown.tsx
index 47818773e..fc31b7340 100644
--- a/frontend/app/components/shared/ProjectDropdown/ProjectDropdown.tsx
+++ b/frontend/app/components/shared/ProjectDropdown/ProjectDropdown.tsx
@@ -17,7 +17,7 @@ const { Text } = Typography;
function ProjectDropdown(props: { location: any }) {
const mstore = useStore();
const { t } = useTranslation();
- const { projectsStore, searchStore, searchStoreLive, userStore } = mstore;
+ const { projectsStore, searchStore, searchStoreLive, userStore, aiFiltersStore } = mstore;
const { account } = userStore;
const sites = projectsStore.list;
const { siteId } = projectsStore;
@@ -32,6 +32,7 @@ function ProjectDropdown(props: { location: any }) {
const handleSiteChange = async (newSiteId: string) => {
mstore.initClient();
+ aiFiltersStore.clearFilters();
setSiteId(newSiteId);
searchStore.clearSearch();
searchStore.clearList();
diff --git a/frontend/app/components/shared/SessionFilters/AiSessionSearchField.tsx b/frontend/app/components/shared/SessionFilters/AiSessionSearchField.tsx
index 247cd42b5..96cc8e0a8 100644
--- a/frontend/app/components/shared/SessionFilters/AiSessionSearchField.tsx
+++ b/frontend/app/components/shared/SessionFilters/AiSessionSearchField.tsx
@@ -1,100 +1,5 @@
-import { CloseOutlined, EnterOutlined } from '@ant-design/icons';
-import { observer } from 'mobx-react-lite';
-import React, { useState } from 'react';
-import { useStore } from 'App/mstore';
-import { Input } from 'UI';
-
-const AiSearchField = observer(() => {
- const { searchStore } = useStore();
- const appliedFilter = searchStore.instance;
- const hasFilters =
- appliedFilter && appliedFilter.filters && appliedFilter.filters.length > 0;
- const { aiFiltersStore } = useStore();
- const [searchQuery, setSearchQuery] = useState('');
-
- const onSearchChange = ({ target: { value } }: any) => {
- setSearchQuery(value);
- };
-
- const fetchResults = () => {
- if (searchQuery) {
- void aiFiltersStore.getSearchFilters(searchQuery);
- }
- };
-
- const handleKeyDown = (event: any) => {
- if (event.key === 'Enter') {
- fetchResults();
- }
- };
-
- const clearAll = () => {
- searchStore.clearSearch();
- setSearchQuery('');
- };
-
- React.useEffect(() => {
- if (aiFiltersStore.filtersSetKey !== 0) {
- searchStore.edit(aiFiltersStore.filters);
- }
- }, [aiFiltersStore.filters, aiFiltersStore.filtersSetKey]);
-
- return (
-
-
-
- {hasFilters ? : }
-
-
- ) : null
- }
- />
-
- );
-});
-
function AiSessionSearchField() {
- const { aiFiltersStore } = useStore();
-
- return (
-
- );
+ return null;
}
-export const gradientBox = {
- border: 'double 1.5px transparent',
- borderRadius: '100px',
- background:
- 'linear-gradient(#ffffff, #ffffff), linear-gradient(-45deg, #394eff, #3eaaaf, #3ccf65)',
- backgroundOrigin: 'border-box',
- backgroundSize: '200% 200%',
- backgroundClip: 'content-box, border-box',
- display: 'flex',
- gap: '0.25rem',
- alignItems: 'center',
- width: '100%',
- overflow: 'hidden',
-};
-
-export default observer(AiSessionSearchField);
+export default AiSessionSearchField;
diff --git a/frontend/app/components/shared/SharePopup/SharePopup.tsx b/frontend/app/components/shared/SharePopup/SharePopup.tsx
index f34d99488..93ca7a94c 100644
--- a/frontend/app/components/shared/SharePopup/SharePopup.tsx
+++ b/frontend/app/components/shared/SharePopup/SharePopup.tsx
@@ -7,6 +7,7 @@ import { useStore } from 'App/mstore';
import SessionCopyLink from './SessionCopyLink';
import IntegrateSlackButton from '../IntegrateSlackButton/IntegrateSlackButton';
import { useTranslation } from 'react-i18next';
+import { signalService } from 'App/services';
interface Channel {
webhookId: string;
@@ -126,7 +127,19 @@ const ShareModalComp: React.FC
= ({ showCopyLink, hideModal, time }) => {
);
const sendMsg = async () => {
- shareTo === 'slack' ? await shareToSlack() : await shareToMSTeams();
+ if (shareTo === 'slack') {
+ await shareToSlack();
+ } else {
+ await shareToMSTeams();
+ }
+
+ signalService.send(
+ {
+ source: 'share',
+ value: shareTo,
+ },
+ sessionId,
+ );
};
const hasBoth = slackOptions.length > 0 && msTeamsOptions.length > 0;
diff --git a/frontend/app/mstore/aiFiltersStore.ts b/frontend/app/mstore/aiFiltersStore.ts
index 96417104a..37526de30 100644
--- a/frontend/app/mstore/aiFiltersStore.ts
+++ b/frontend/app/mstore/aiFiltersStore.ts
@@ -49,6 +49,11 @@ export default class AiFiltersStore {
console.log(r);
};
+ clearFilters = (): void => {
+ this.filters = { filters: [] };
+ this.filtersSetKey = 0;
+ };
+
setLoading = (loading: boolean): void => {
this.isLoading = loading;
};
diff --git a/frontend/app/mstore/clipStore.ts b/frontend/app/mstore/clipStore.ts
index 33ea78b19..d91af3d1f 100644
--- a/frontend/app/mstore/clipStore.ts
+++ b/frontend/app/mstore/clipStore.ts
@@ -1,2 +1,9 @@
-export default class ClipStore {}
+export default class ClipStore {
+ prevId = undefined;
+ nextId = undefined;
+ currentId = undefined;
+
+ next() {}
+ prev() {}
+}
// SAAS only