import React from 'react';
import { observer } from 'mobx-react-lite';
import { TextEllipsis, Input } from 'UI';
import { PlayerContext } from 'App/components/Session/playerContext';
import useInputState from 'App/hooks/useInputState';
import { useModal } from 'App/components/Modal';
import TimeTable from '../TimeTable';
import BottomBlock from '../BottomBlock';
import ProfilerModal from '../ProfilerModal';
import { useRegExListFilterMemo } from '../useListFilter';
import { useTranslation } from 'react-i18next';
const renderDuration = (p: any) => `${p.duration}ms`;
const renderName = (p: any) => ;
function ProfilerPanel({ panelHeight }: { panelHeight: number }) {
const { t } = useTranslation();
const { store } = React.useContext(PlayerContext);
const { tabStates, currentTab } = store.get();
const profiles = tabStates[currentTab].profilesList || ([] as any[]); // TODO lest internal types
const { showModal } = useModal();
const [filter, onFilterChange] = useInputState();
const filtered = useRegExListFilterMemo(profiles, (pr) => pr.name, filter);
const onRowClick = (profile: any) => {
showModal(, { right: true, width: 500 });
};
return (
{t('Profiler')}
{[
{
label: t('Name'),
dataKey: 'name',
width: 200,
render: renderName,
},
{
label: t('Time'),
key: 'duration',
width: 80,
render: renderDuration,
},
]}
);
}
export default observer(ProfilerPanel);