openreplay/frontend/app/components/shared/SessionsTabOverview/SessionsTabOverview.tsx
Andrey Babushkin fd5c0c9747
Add lokalisation (#3092)
* applied eslint

* add locales and lint the project

* removed error boundary

* updated locales

* fix min files

* fix locales
2025-03-06 17:43:15 +01:00

62 lines
1.8 KiB
TypeScript

import { Input } from 'antd';
import React from 'react';
import { useStore } from 'App/mstore';
import { observer } from 'mobx-react-lite';
import NoSessionsMessage from 'Shared/NoSessionsMessage/NoSessionsMessage';
import MainSearchBar from 'Shared/MainSearchBar/MainSearchBar';
import usePageTitle from '@/hooks/usePageTitle';
import withPermissions from 'HOCs/withPermissions';
import SearchActions from '../SearchActions';
import SessionList from './components/SessionList';
import SessionHeader from './components/SessionHeader';
import LatestSessionsMessage from './components/LatestSessionsMessage';
function SessionsTabOverview() {
const [query, setQuery] = React.useState('');
const { aiFiltersStore, searchStore } = useStore();
const appliedFilter = searchStore.instance;
usePageTitle('Sessions - OpenReplay');
const handleKeyDown = (event: any) => {
if (event.key === 'Enter') {
fetchResults();
}
};
const fetchResults = () => {
void aiFiltersStore.omniSearch(query, appliedFilter.toData());
};
const testingKey =
localStorage.getItem('__mauricio_testing_access') === 'true';
return (
<>
<NoSessionsMessage />
<SearchActions />
<MainSearchBar />
<div className="my-4" />
<div className="widget-wrapper">
{testingKey ? (
<Input
value={query}
onKeyDown={handleKeyDown}
onChange={(e) => setQuery(e.target.value)}
className="mb-2"
placeholder="ask session ai"
/>
) : null}
<SessionHeader />
<div className="border-b" />
<LatestSessionsMessage />
<SessionList />
</div>
</>
);
}
export default withPermissions(
['SESSION_REPLAY', 'SERVICE_SESSION_REPLAY'],
'',
false,
false,
)(observer(SessionsTabOverview));