import styled from '@emotion/styled';
import NavTabs from 'sentry/components/navTabs';
import Placeholder from 'sentry/components/placeholder';
import {t} from 'sentry/locale';
import useUrlParams from 'sentry/utils/replays/hooks/useUrlParams';
import ReplayReader from 'sentry/utils/replays/replayReader';
import Breadcrumbs from './breadcrumbs';
import TagPanel from './tagPanel';
const TABS = {
breadcrumbs: t('Breadcrumbs'),
tags: t('Tags'),
};
type Props = {
replay: ReplayReader | null;
};
function renderTabContent(key: string, loadedReplay: ReplayReader) {
if (key === 'tags') {
return ;
}
return ;
}
function AsideTabs({replay}: Props) {
const {getParamValue, setParamValue} = useUrlParams('t_side', 'breadcrumbs');
const active = getParamValue();
return (
{Object.entries(TABS).map(([tab, label]) => {
return (
setParamValue(tab)}>{label}
);
})}
{replay ? renderTabContent(active, replay) : }
);
}
// FYI: Since the Replay Player has dynamic height based
// on the width of the window,
// height: 0; will helps us to reset the height
// min-height: 100%; will helps us to grow at the same height of Player
const Container = styled('div')`
width: 100%;
display: grid;
grid-template-rows: auto 1fr;
height: 0;
min-height: 100%;
@media only screen and (max-width: ${p => p.theme.breakpoints.large}) {
height: fit-content;
max-height: 400px;
}
`;
export default AsideTabs;