mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-10-21 03:51:07 +08:00
45 lines
1.0 KiB
TypeScript
45 lines
1.0 KiB
TypeScript
import {
|
|
IIntervalUnit,
|
|
resolveTimeFromInterval,
|
|
} from 'container/TraceDetail/utils';
|
|
import useThemeMode from 'hooks/useThemeMode';
|
|
import React from 'react';
|
|
import { toFixed } from 'utils/toFixed';
|
|
|
|
import { SpanBorder, SpanLine, SpanText, SpanWrapper } from './styles';
|
|
|
|
interface SpanLengthProps {
|
|
width: string;
|
|
leftOffset: string;
|
|
bgColor: string;
|
|
inMsCount: number;
|
|
intervalUnit: IIntervalUnit;
|
|
}
|
|
|
|
function SpanLength(props: SpanLengthProps): JSX.Element {
|
|
const { width, leftOffset, bgColor, intervalUnit, inMsCount } = props;
|
|
const { isDarkMode } = useThemeMode();
|
|
return (
|
|
<SpanWrapper>
|
|
<SpanLine
|
|
isDarkMode={isDarkMode}
|
|
bgColor={bgColor}
|
|
leftOffset={leftOffset}
|
|
width={width}
|
|
/>
|
|
<SpanBorder
|
|
isDarkMode={isDarkMode}
|
|
bgColor={bgColor}
|
|
leftOffset={leftOffset}
|
|
width={width}
|
|
/>
|
|
<SpanText isDarkMode={isDarkMode} leftOffset={leftOffset}>{`${toFixed(
|
|
resolveTimeFromInterval(inMsCount, intervalUnit),
|
|
2,
|
|
)} ${intervalUnit.name}`}</SpanText>
|
|
</SpanWrapper>
|
|
);
|
|
}
|
|
|
|
export default SpanLength;
|