Browse Source

fix(issue-details): Add back colored circles for error level (#79160)

this pr adds back the old error level indicator on issue details and
deletes the code for the now unused error text level
Richard Roggenkemper 4 months ago
parent
commit
76a9add81c

+ 0 - 57
static/app/components/events/errorLevelText.tsx

@@ -1,57 +0,0 @@
-import styled from '@emotion/styled';
-
-import {IconClose, IconFatal, IconInfo, IconWarning} from 'sentry/icons';
-import {t} from 'sentry/locale';
-import {space} from 'sentry/styles/space';
-import type {Level} from 'sentry/types/event';
-import type {IconSize} from 'sentry/utils/theme';
-
-const errorLevelMap: Readonly<Record<Level, string>> = {
-  error: t('Error'),
-  fatal: t('Fatal'),
-  info: t('Info'),
-  warning: t('Warning'),
-  sample: t('Sample'),
-  unknown: t('Unknown'),
-};
-
-interface IconWithDefaultProps {
-  Component: React.ComponentType<any> | null;
-  defaultProps: {isCircled?: boolean};
-}
-
-const errorLevelIconMap: Readonly<Record<Level, IconWithDefaultProps>> = {
-  error: {Component: IconClose, defaultProps: {isCircled: true}},
-  fatal: {Component: IconFatal, defaultProps: {}},
-  info: {Component: IconInfo, defaultProps: {}},
-  warning: {Component: IconWarning, defaultProps: {}},
-  sample: {Component: null, defaultProps: {}},
-  unknown: {Component: null, defaultProps: {}},
-};
-
-interface ErrorLevelTextProps {
-  level: Level;
-  iconSize?: IconSize;
-}
-
-export function ErrorLevelText({level, iconSize = 'xs'}: ErrorLevelTextProps) {
-  const Icon = errorLevelIconMap[level]?.Component ?? null;
-  return (
-    <ErrorLevelTextWrapper>
-      {Icon && (
-        <Icon
-          {...errorLevelIconMap[level].defaultProps}
-          size={iconSize}
-          color="subText"
-        />
-      )}
-      {errorLevelMap[level]}
-    </ErrorLevelTextWrapper>
-  );
-}
-
-const ErrorLevelTextWrapper = styled('div')`
-  display: flex;
-  align-items: center;
-  gap: ${space(0.5)};
-`;

+ 0 - 24
static/app/components/events/eventMessage.spec.tsx

@@ -1,6 +1,5 @@
 import {GroupFixture} from 'sentry-fixture/group';
 import {OrganizationFixture} from 'sentry-fixture/organization';
-import {UserFixture} from 'sentry-fixture/user';
 
 import {render, screen} from 'sentry-test/reactTestingLibrary';
 
@@ -10,7 +9,6 @@ import {EventOrGroupType} from 'sentry/types/event';
 import EventMessage from './eventMessage';
 
 describe('EventMessage', () => {
-  const defaultUser = UserFixture();
   const group = GroupFixture();
 
   beforeEach(() => {
@@ -56,28 +54,6 @@ describe('EventMessage', () => {
     expect(screen.getByText('Level: Error')).toBeInTheDocument();
   });
 
-  it('renders error level indicator text', () => {
-    ConfigStore.set(
-      'user',
-      UserFixture({
-        ...defaultUser,
-        options: {
-          ...defaultUser.options,
-          prefersIssueDetailsStreamlinedUI: true,
-        },
-      })
-    );
-    render(
-      <EventMessage
-        data={group}
-        message="Test message"
-        type={EventOrGroupType.ERROR}
-        level="error"
-      />
-    );
-    expect(screen.getByText('Error')).toBeInTheDocument();
-  });
-
   it('renders unhandled tag', () => {
     render(
       <EventMessage

+ 4 - 11
static/app/components/events/eventMessage.tsx

@@ -1,8 +1,6 @@
-import {Fragment} from 'react';
 import styled from '@emotion/styled';
 
 import ErrorLevel from 'sentry/components/events/errorLevel';
-import {ErrorLevelText} from 'sentry/components/events/errorLevelText';
 import UnhandledTag from 'sentry/components/group/inboxBadges/unhandledTag';
 import {t} from 'sentry/locale';
 import {space} from 'sentry/styles/space';
@@ -22,7 +20,7 @@ type Props = {
   /**
    * Size of the level indicator.
    */
-  levelIndicatorSize?: '9px' | '11px';
+  levelIndicatorSize?: '9px' | '10px' | '11px';
   showUnhandled?: boolean;
 };
 
@@ -63,15 +61,10 @@ function EventMessage({
 
   return (
     <LevelMessageContainer className={className}>
-      {!hasStreamlinedUI ? <ErrorLevel level={level} size={levelIndicatorSize} /> : null}
+      {showEventLevel && <ErrorLevel level={level} size={levelIndicatorSize} />}
+      {hasStreamlinedUI && showEventLevel ? <Divider /> : null}
       {showUnhandled ? <UnhandledTag /> : null}
-      {hasStreamlinedUI && showEventLevel ? (
-        <Fragment>
-          {showUnhandled ? <Divider /> : null}
-          <ErrorLevelText level={level} />
-          <Divider />
-        </Fragment>
-      ) : null}
+      {hasStreamlinedUI && showUnhandled ? <Divider /> : null}
       {hasNewIssueStreamTableLayout ? subtitle : renderedMessage}
     </LevelMessageContainer>
   );

+ 0 - 1
static/app/views/issueDetails/streamline/header.spec.tsx

@@ -122,7 +122,6 @@ describe('UpdatedGroupHeader', () => {
       );
 
       expect(screen.getByText('RequestError')).toBeInTheDocument();
-      expect(screen.getByText('Warning')).toBeInTheDocument();
       expect(screen.getByText('Unhandled')).toBeInTheDocument();
       expect(await screen.findByTestId('all-event-count')).toHaveTextContent(
         'All Events'

+ 1 - 0
static/app/views/issueDetails/streamline/header.tsx

@@ -121,6 +121,7 @@ export default function StreamlinedGroupHeader({
               type={group.type}
               level={group.level}
               showUnhandled={group.isUnhandled}
+              levelIndicatorSize={'10px'}
             />
             {firstRelease && lastRelease && (
               <Fragment>