import React, {useCallback, useState} from 'react'; import PlayDisplay from "../components/PlayDisplay"; import {recentIncludes} from "../../core/Atomic"; import {useSearchParams} from "react-router-dom"; import { useGetDeadQuery, useRemoveDeadSingleMutation, useProcessDeadSingleMutation, useLazyProcessDeadQuery, useLazyRemoveDeadQuery, deadAdapter, clearDead, } from "./deadLetterDucks"; import dayjs from "dayjs"; import type {RootState} from "../store"; import {connect, type ConnectedProps} from "react-redux"; import { faBug } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import clsx from "clsx"; import { useCopyToClipboard } from '../components/copyToClipboardHook'; import { messageWithCauses } from '../../core/ErrorUtils'; const displayOpts = { include: recentIncludes, includeWeb: true } const dead = (props: PropsFromRedux) => { const { data = [], } = props; const [searchParams, setSearchParams] = useSearchParams(); const { isLoading, isSuccess } = useGetDeadQuery({name: searchParams.get('name'), type: searchParams.get('type')}); const { copy, isCopied } = useCopyToClipboard(); const [copiedIndex, setIndex] = useState(null); const copyActionCB = useCallback((obj, index) => { copy(JSON.stringify(obj, null, 2)); setIndex(index); },[copy, setIndex]); const baseClass = ['mr-3']; const [removeDeadFetch, removeResult] = useRemoveDeadSingleMutation(); const [retryDeadFetch, processResult] = useProcessDeadSingleMutation(); const [removeAllDeadFetch] = useLazyRemoveDeadQuery(); const [retryAllDeadFetch] = useLazyProcessDeadQuery(); const retryDead = useCallback((id: string) => retryDeadFetch({name: searchParams.get('name'), type: searchParams.get('type'), id}), [retryDeadFetch, searchParams]); const removeDead = useCallback((id: string) => removeDeadFetch({name: searchParams.get('name'), type: searchParams.get('type'), id}), [removeDeadFetch, searchParams]); const removeAllDead = useCallback(() => removeAllDeadFetch({name: searchParams.get('name'), type: searchParams.get('type')}), [removeAllDeadFetch, searchParams]); const retryAllDead = useCallback(() => retryAllDeadFetch({name: searchParams.get('name'), type: searchParams.get('type')}), [retryAllDeadFetch, searchParams]); return (
{errorSummary}