import { useEffect, useState } from 'react';
import { Button, Spin } from 'antd';
import type { DouyuTaskItem } from '../api/types';
import { getExchangeImage } from '../utils/exchangeImage';
interface Props {
task: DouyuTaskItem;
onClick?: (task: DouyuTaskItem, url: string) => void;
}
export default function ExchangeResultImage({ task, onClick }: Props) {
const [url, setUrl] = useState('');
const [failed, setFailed] = useState(false);
const [gen, setGen] = useState(0);
useEffect(() => {
let alive = true;
setFailed(false);
getExchangeImage(task)
.then(({ url }) => { if (alive) setUrl(url); })
.catch(() => { if (alive) setFailed(true); });
return () => { alive = false; };
}, [task, gen]);
if (failed) {
return (
);
}
if (!url) return