Skip to content

Commit

Permalink
fix: transaction id copy issue
Browse files Browse the repository at this point in the history
  • Loading branch information
jainpawan21 committed Oct 24, 2023
1 parent bfa60d2 commit a637368
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 4 deletions.
Expand Up @@ -74,5 +74,5 @@ export class MemberResponseDto {

@ApiProperty()
@IsString()
_organisationId: string;
_organizationId: string;
}
2 changes: 1 addition & 1 deletion apps/api/src/app/organization/organization.controller.ts
Expand Up @@ -42,7 +42,7 @@ import { UpdateMemberRolesDto } from './dtos/update-member-roles.dto';
import { ExternalApiAccessible } from '../auth/framework/external-api.decorator';
import { ApiResponse } from '../shared/framework/response.decorator';
import { OrganizationBrandingResponseDto, OrganizationResponseDto } from './dtos/organization-response.dto';
import { MemberResponseDto } from './dtos/member-repsonse.dto';
import { MemberResponseDto } from './dtos/member-response.dto';
@Controller('/organizations')
@UseInterceptors(ClassSerializerInterceptor)
@UseGuards(JwtAuthGuard)
Expand Down
30 changes: 28 additions & 2 deletions apps/web/src/components/execution-detail/ExecutionDetailsModal.tsx
@@ -1,12 +1,14 @@
import { useEffect, useState } from 'react';
import { Center, LoadingOverlay, Modal, UnstyledButton, useMantineTheme } from '@mantine/core';
import { ActionIcon, Center, LoadingOverlay, Modal, Tooltip, UnstyledButton, useMantineTheme } from '@mantine/core';
import { useClipboard } from '@mantine/hooks';
import { useQuery } from '@tanstack/react-query';
import { JobStatusEnum } from '@novu/shared';

import { ExecutionDetailsAccordion } from './ExecutionDetailsAccordion';
import { ExecutionDetailsFooter } from './ExecutionDetailsFooter';
import { getNotification } from '../../api/activity';
import { colors, shadows, Text, Title } from '../../design-system';
import { Check, Copy } from '../../design-system/icons';
import { When } from '../utils/When';
import { useNotificationStatus } from '../../pages/activities/hooks/useNotificationStatus';

Expand All @@ -31,6 +33,7 @@ export function ExecutionDetailsModal({
refetchInterval: shouldRefetch ? 1000 : false,
}
);
const transactionIdClipboard = useClipboard({ timeout: 1000 });

const status = useNotificationStatus(response?.data);

Expand All @@ -48,10 +51,33 @@ export function ExecutionDetailsModal({
_digestedNotificationId: digestedNotificationId,
to: subscriberVariables,
template,
transactionId,
} = response?.data || {};
const { triggers } = template || {};
const identifier = triggers ? triggers[0]?.identifier : undefined;

const ModalTitle = () => {
return (
<div>
<Title size={2}>Execution Details for {template?.name ?? ''}</Title>
<div style={{ display: 'flex', alignItems: 'center' }}>
<Text color={colors.B80}>Transaction Id: {transactionId}</Text>
{!isInitialLoading && (
<Tooltip data-test-id={'Tooltip'} label={transactionIdClipboard.copied ? 'Copied!' : 'Copy Key'}>
<ActionIcon
color={colors.B80}
variant="transparent"
onClick={() => transactionIdClipboard.copy(transactionId)}
>
{transactionIdClipboard.copied ? <Check /> : <Copy />}
</ActionIcon>
</Tooltip>
)}
</div>
</div>
);
};

return (
<Modal
opened={modalVisibility}
Expand All @@ -67,7 +93,7 @@ export function ExecutionDetailsModal({
paddingInline: '8px',
},
}}
title={<Title size={2}>Execution Details for {template?.name ?? ''}</Title>}
title={<ModalTitle />}
sx={{ backdropFilter: 'blur(10px)' }}
shadow={theme.colorScheme === 'dark' ? shadows.dark : shadows.medium}
radius="md"
Expand Down

0 comments on commit a637368

Please sign in to comment.