From 2aac7d136e98a3bd144ecca291f44a5a7915ecb3 Mon Sep 17 00:00:00 2001 From: Jasper van Merle Date: Tue, 2 Apr 2024 07:31:39 +0200 Subject: [PATCH] Fix log downloading --- src/pages/home/AlgorithmDetail.tsx | 30 ++++++++++--------- src/pages/home/AlgorithmList.tsx | 5 ++-- src/pages/home/LoadFromProsperity.tsx | 22 ++++++++++++-- src/pages/visualizer/AlgorithmSummaryCard.tsx | 15 ++++------ src/utils/algorithm.ts | 27 +++++++++++++---- 5 files changed, 65 insertions(+), 34 deletions(-) diff --git a/src/pages/home/AlgorithmDetail.tsx b/src/pages/home/AlgorithmDetail.tsx index 61d5d44..5d67f72 100644 --- a/src/pages/home/AlgorithmDetail.tsx +++ b/src/pages/home/AlgorithmDetail.tsx @@ -1,4 +1,5 @@ import { Accordion, Button, Group, MantineColor, Text } from '@mantine/core'; +import axios from 'axios'; import { ReactNode } from 'react'; import { useNavigate } from 'react-router-dom'; import { ErrorAlert } from '../../components/ErrorAlert'; @@ -7,16 +8,21 @@ import { useActualColorScheme } from '../../hooks/use-actual-color-scheme.ts'; import { useAsync } from '../../hooks/use-async.ts'; import { AlgorithmSummary } from '../../models.ts'; import { useStore } from '../../store.ts'; -import { downloadAlgorithmResults, parseAlgorithmLogs } from '../../utils/algorithm.ts'; -import { authenticatedAxios } from '../../utils/axios.ts'; +import { + downloadAlgorithmLogs, + downloadAlgorithmResults, + getAlgorithmLogsUrl, + parseAlgorithmLogs, +} from '../../utils/algorithm.ts'; import { formatTimestamp } from '../../utils/format.ts'; export interface AlgorithmDetailProps { position: number; algorithm: AlgorithmSummary; + proxy: string; } -export function AlgorithmDetail({ position, algorithm }: AlgorithmDetailProps): ReactNode { +export function AlgorithmDetail({ position, algorithm, proxy }: AlgorithmDetailProps): ReactNode { const setAlgorithm = useStore(state => state.setAlgorithm); const navigate = useNavigate(); @@ -32,14 +38,17 @@ export function AlgorithmDetail({ position, algorithm }: AlgorithmDetailProps): break; } + const downloadLogs = useAsync(async () => { + await downloadAlgorithmLogs(algorithm.id); + }); + const downloadResults = useAsync(async () => { await downloadAlgorithmResults(algorithm.id); }); const openInVisualizer = useAsync(async () => { - const logsResponse = await authenticatedAxios.get( - `https://bz97lt8b1e.execute-api.eu-west-1.amazonaws.com/prod/submission/logs/${algorithm.id}`, - ); + const logsUrl = await getAlgorithmLogsUrl(algorithm.id); + const logsResponse = await axios.get(proxy + logsUrl); setAlgorithm(parseAlgorithmLogs(logsResponse.data, algorithm)); navigate('/visualizer'); @@ -60,14 +69,7 @@ export function AlgorithmDetail({ position, algorithm }: AlgorithmDetailProps): {openInVisualizer.error && } - - {loadAlgorithms.success && } + {loadAlgorithms.success && } ); } diff --git a/src/pages/visualizer/AlgorithmSummaryCard.tsx b/src/pages/visualizer/AlgorithmSummaryCard.tsx index f25d023..616a11a 100644 --- a/src/pages/visualizer/AlgorithmSummaryCard.tsx +++ b/src/pages/visualizer/AlgorithmSummaryCard.tsx @@ -3,7 +3,7 @@ import { ReactNode } from 'react'; import { ScrollableCodeHighlight } from '../../components/ScrollableCodeHighlight.tsx'; import { useAsync } from '../../hooks/use-async.ts'; import { useStore } from '../../store.ts'; -import { downloadAlgorithmResults } from '../../utils/algorithm.ts'; +import { downloadAlgorithmLogs, downloadAlgorithmResults } from '../../utils/algorithm.ts'; import { formatTimestamp } from '../../utils/format.ts'; import { VisualizerCard } from './VisualizerCard.tsx'; @@ -11,6 +11,10 @@ export function AlgorithmSummaryCard(): ReactNode { const algorithm = useStore(state => state.algorithm)!; const summary = algorithm.summary!; + const downloadLogs = useAsync(async () => { + await downloadAlgorithmLogs(summary.id); + }); + const downloadResults = useAsync(async () => { await downloadAlgorithmResults(summary.id); }); @@ -58,14 +62,7 @@ export function AlgorithmSummaryCard(): ReactNode { -