import React from 'react'; import Card from 'antd/lib/card'; import Icon from 'antd/lib/icon'; import message from 'antd/lib/message'; import Popconfirm from 'antd/lib/popconfirm'; import { PngDiffData, Viewport, PageData } from 'test-crawler-core'; import { cardStyle, iconTheme } from '../pages/pageStyle'; import { DiffImage } from '../diff/DiffImage'; import { Link } from 'react-router-dom'; import { getCodeRoute } from '../routes'; import { getViewportName } from '../viewport'; import { removePin } from '../server/service'; import { StorageType } from '../server/storage.typing'; const handleDelete = ( storageType: StorageType, projectId: string, id: string, setPins: React.Dispatch>, ) => async () => { const hide = message.loading('Delete in progress..', 0); const pins = await removePin(storageType, projectId, id); setPins(pins); hide(); }; interface Props { projectId: string; timestamp: string; storageType: StorageType; id: string; url: string; setPins: React.Dispatch>; viewport?: Viewport; onImg: () => void; png?: { width: number; diff?: PngDiffData; }; } export const PinPage = ({ storageType, projectId, timestamp, id, url, viewport, onImg, png, setPins, }: Props) => ( ) } actions={[ , , ]} >

{url}

{!png && (

No screenshot available

)} {viewport && (

{' '} {getViewportName(viewport)}

)}
);