replayLink.tsx 978 B

1234567891011121314151617181920212223242526272829303132333435
  1. import Link from 'sentry/components/links/link';
  2. import {t} from 'sentry/locale';
  3. import {Event, Organization} from 'sentry/types';
  4. import getRouteStringFromRoutes from 'sentry/utils/getRouteStringFromRoutes';
  5. import {useRoutes} from 'sentry/utils/useRoutes';
  6. import LinkContainer from 'sentry/views/issueDetails/linkContainer';
  7. type Props = {
  8. organization: Organization;
  9. projectSlug: string;
  10. replayId: string;
  11. event?: Event;
  12. };
  13. function ReplayLink({organization, projectSlug, replayId, event}: Props) {
  14. const routes = useRoutes();
  15. const replaySlug = `${projectSlug}:${replayId}`;
  16. const fullReplayUrl = {
  17. pathname: `/organizations/${organization.slug}/replays/${replaySlug}/`,
  18. query: {
  19. referrer: getRouteStringFromRoutes(routes),
  20. t_main: 'console',
  21. event_t: event?.dateCreated,
  22. },
  23. };
  24. return (
  25. <LinkContainer>
  26. <Link to={fullReplayUrl}>{t('View Replay')}</Link>
  27. </LinkContainer>
  28. );
  29. }
  30. export default ReplayLink;