import * as qs from 'query-string';
import Link from 'sentry/components/links/link';
import {useLocation} from 'sentry/utils/useLocation';
import {OverflowEllipsisTextContainer} from 'sentry/views/insights/common/components/textAlign';
import {useModuleURL} from 'sentry/views/insights/common/utils/useModuleURL';
interface Props {
domain?: string;
project?: string;
transaction?: string;
transactionMethod?: string;
}
export function TransactionCell({
domain,
project,
transaction,
transactionMethod,
}: Props) {
const moduleURL = useModuleURL('http');
const location = useLocation();
if (!transaction) {
return NULL_DESCRIPTION;
}
// TODO: This checks if the transaction name starts with the request method so we don't end up with labels like `GET GET /users` but any transaction name with an HTTP method prefix is incorrect, so it's not clear that we should cater to this
const label =
transactionMethod && !transaction.startsWith(transactionMethod)
? `${transactionMethod} ${transaction}`
: transaction;
const pathname = `${moduleURL}/domains/`;
const query = {
...location.query,
domain,
project,
transaction,
transactionMethod,
};
return (
{label}
);
}
const NULL_DESCRIPTION = <null>;