mirror of
https://github.com/hanzoai/sentinel.git
synced 2026-10-30 14:49:14 +00:00
60 lines
1.6 KiB
TypeScript
60 lines
1.6 KiB
TypeScript
import {Fragment} from 'react';
|
|
|
|
import DetailsSplitDivider from 'sentry/components/replays/virtualizedGrid/detailsSplitDivider';
|
|
import type {SpanFrame} from 'sentry/utils/replays/types';
|
|
import type {useResizableDrawer} from 'sentry/utils/useResizableDrawer';
|
|
import useUrlParams from 'sentry/utils/useUrlParams';
|
|
import NetworkDetailsContent from 'sentry/views/replays/detail/network/details/content';
|
|
import type {TabKey} from 'sentry/views/replays/detail/network/details/tabs';
|
|
import NetworkDetailsTabs from 'sentry/views/replays/detail/network/details/tabs';
|
|
|
|
type Props = {
|
|
isSetup: boolean;
|
|
item: null | SpanFrame;
|
|
onClose: () => void;
|
|
projectId: undefined | string;
|
|
startTimestampMs: number;
|
|
} & Omit<ReturnType<typeof useResizableDrawer>, 'size'>;
|
|
|
|
function NetworkDetails({
|
|
isHeld,
|
|
isSetup,
|
|
item,
|
|
onClose,
|
|
onDoubleClick,
|
|
onMouseDown,
|
|
projectId,
|
|
startTimestampMs,
|
|
}: Props) {
|
|
const {getParamValue: getDetailTab} = useUrlParams('n_detail_tab', 'details');
|
|
|
|
if (!item || !projectId) {
|
|
return null;
|
|
}
|
|
|
|
const visibleTab = getDetailTab() as TabKey;
|
|
|
|
return (
|
|
<Fragment>
|
|
<DetailsSplitDivider
|
|
isHeld={isHeld}
|
|
onClose={onClose}
|
|
onDoubleClick={onDoubleClick}
|
|
onMouseDown={onMouseDown}
|
|
>
|
|
<NetworkDetailsTabs underlined={false} />
|
|
</DetailsSplitDivider>
|
|
|
|
<NetworkDetailsContent
|
|
isSetup={isSetup}
|
|
item={item}
|
|
projectId={projectId}
|
|
startTimestampMs={startTimestampMs}
|
|
visibleTab={visibleTab}
|
|
/>
|
|
</Fragment>
|
|
);
|
|
}
|
|
|
|
export default NetworkDetails;
|