1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- import {Fragment} from 'react';
- import styled from '@emotion/styled';
- import moment from 'moment-timezone';
- import AutoSelectText from 'sentry/components/autoSelectText';
- import {t} from 'sentry/locale';
- import {space} from 'sentry/styles/space';
- import type {FeedbackIssue} from 'sentry/utils/feedback/types';
- import {useUser} from 'sentry/utils/useUser';
- type Props = {
- feedbackItem: FeedbackIssue;
- };
- export default function FeedbackTimestampsTooltip({feedbackItem}: Props) {
- const user = useUser();
- const options = user?.options ?? {};
- const format = options.clock24Hours ? 'HH:mm:ss z' : 'LTS z';
- const dateFirstSeen = feedbackItem.firstSeen ? moment(feedbackItem.firstSeen) : null;
- const resolvedActivity = feedbackItem.activity.find(
- activity => activity.type === 'set_resolved'
- );
- const dateResolved = resolvedActivity ? moment(resolvedActivity.dateCreated) : null;
- return (
- <DescriptionList>
- <dt>{t('Created')}</dt>
- <dd>
- {dateFirstSeen ? (
- <AutoSelectText>
- {dateFirstSeen.format('ll')} {dateFirstSeen.format(format)}
- </AutoSelectText>
- ) : (
- <NotApplicableText>{t('n/a')}</NotApplicableText>
- )}
- </dd>
- {dateResolved && (
- <Fragment>
- <dt>{t('Resolved')}</dt>
- <dd>
- <AutoSelectText>
- {dateResolved.format('ll')} {dateResolved.format(format)}
- </AutoSelectText>
- </dd>
- </Fragment>
- )}
- </DescriptionList>
- );
- }
- const DescriptionList = styled('dl')`
- display: grid;
- grid-template-columns: max-content 1fr;
- gap: ${space(0.75)} ${space(1)};
- text-align: left;
- margin: 0;
- white-space: nowrap;
- `;
- const NotApplicableText = styled('span')`
- color: ${p => p.theme.subText};
- `;
|