web-react/: SPA Vite+React+TS, nginx раздаёт статику и проксирует /api на api:8000 по локалке. docker-compose: web(Flet)->web-react на :80. transfer_crud.backup_restore: чистим содержимое data/radar вместо rmtree точки монтирования (EBUSY).
20 lines
832 B
TypeScript
20 lines
832 B
TypeScript
import { radarImageUrl } from "../api/client";
|
||
import { Button } from "./ui";
|
||
import { IconDownload } from "./icons";
|
||
|
||
// Блок с паутинной диаграммой: картинка + кнопка скачивания.
|
||
// SVG тянется напрямую с того же origin через nginx-прокси (/api/.../radar/image).
|
||
export function RadarBlock({ responseId }: { responseId: string }) {
|
||
const url = radarImageUrl(responseId);
|
||
return (
|
||
<div className="center-col" style={{ width: "100%" }}>
|
||
<img className="radar-img" src={url} alt="Паутинная диаграмма результата" />
|
||
<a href={url} download="diagram.svg">
|
||
<Button variant="info" icon={<IconDownload />}>
|
||
Сохранить диаграмму
|
||
</Button>
|
||
</a>
|
||
</div>
|
||
);
|
||
}
|