equationSymbol.tsx 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import {forwardRef} from 'react';
  2. import {hasMetricsNewInputs} from 'sentry/utils/metrics/features';
  3. import useOrganization from 'sentry/utils/useOrganization';
  4. import {DeprecatedSymbol, Symbol} from './querySymbol';
  5. interface EquationSymbolProps extends React.ComponentProps<typeof DeprecatedSymbol> {
  6. equationId: number;
  7. }
  8. export function getEquationSymbol(
  9. equationId: number,
  10. metricsNewInputs?: boolean
  11. ): string {
  12. if (metricsNewInputs) {
  13. return `Ƒ${equationId + 1}`;
  14. }
  15. return `ƒ${equationId + 1}`;
  16. }
  17. export const EquationSymbol = forwardRef<HTMLSpanElement, EquationSymbolProps>(
  18. function EquationSymbol({equationId, ...props}, ref) {
  19. const organization = useOrganization();
  20. if (hasMetricsNewInputs(organization)) {
  21. return (
  22. <Symbol ref={ref} {...props}>
  23. <span>
  24. Ƒ<sub>{equationId + 1}</sub>
  25. </span>
  26. </Symbol>
  27. );
  28. }
  29. return (
  30. <DeprecatedSymbol ref={ref} {...props}>
  31. <span>
  32. ƒ<sub>{equationId + 1}</sub>
  33. </span>
  34. </DeprecatedSymbol>
  35. );
  36. }
  37. );