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);