All files / libs/lti/components/src/lib/tracing LtiTracingButton.tsx

0% Statements 0/30
0% Branches 0/1
0% Functions 0/1
0% Lines 0/30

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31                                                             
import { IconInfoCircle } from '@tabler/icons-react';
import { Fragment, memo } from 'react';
import { FormattedMessage } from 'react-intl';

import { IconButton } from '@allshares/studio-design-system';
import { useBoolState } from '@amalia/ext/react/hooks';

import { LtiTracing, type LtiTracingProps } from './LtiTracing';

type LtiTracingButtonProps = Omit<LtiTracingProps, 'isOpen' | 'onClose'>;

export const LtiTracingButton = memo(function LtiTracingButton({ ...tracingProps }: LtiTracingButtonProps) {
  const { setOpenTrue, setOpenFalse, isOpen } = useBoolState(false, 'open');
  return (
    <Fragment>
      <LtiTracing
        isOpen={isOpen}
        onClose={setOpenFalse}
        {...tracingProps}
      />

      <IconButton
        icon={<IconInfoCircle />}
        label={<FormattedMessage defaultMessage="Understand calculation" />}
        size="small"
        onClick={setOpenTrue}
      />
    </Fragment>
  );
});