minor fixes

This commit is contained in:
rngsurrounded
2025-03-03 07:04:35 +09:00
parent a8f5185d26
commit 6c4d5e34b7
@@ -4,6 +4,7 @@ import CompetitionHeader from "./components/CompetitionHeader";
import TaskContent from "./components/TaskContent";
import TaskSolution from "./modules/TaskSolution";
import { getCompetitionTasks, submitTaskSolution } from "@/shared/api/session";
import { getCompetition } from "@/shared/api/competitions";
import { Loader2 } from "lucide-react";
import { useQuery, useMutation, useQueryClient } from "@tanstack/react-query";
import { TaskType } from "@/shared/types/task";
@@ -15,6 +16,12 @@ const CompetitionSession = () => {
const competitionId = id || "";
const queryClient = useQueryClient();
const competitionQuery = useQuery({
queryKey: ["competition", competitionId],
queryFn: () => getCompetition(competitionId),
enabled: !!competitionId,
});
const tasksQuery = useQuery({
queryKey: ["competitionTasks", competitionId],
queryFn: () => getCompetitionTasks(competitionId),
@@ -46,9 +53,12 @@ const CompetitionSession = () => {
}
});
const competition = competitionQuery.data;
const tasks = tasksQuery.data || [];
const isLoading = tasksQuery.isLoading;
const error = tasksQuery.error ? "Не удалось загрузить задания. Пожалуйста, попробуйте позже." : null;
const isLoading = tasksQuery.isLoading || competitionQuery.isLoading;
const error = tasksQuery.error || competitionQuery.error
? "Не удалось загрузить данные. Пожалуйста, попробуйте позже."
: null;
const currentTask = tasks.find((t) => t.id === taskId) || null;
@@ -77,10 +87,12 @@ const CompetitionSession = () => {
submitMutation.mutate();
};
const competitionTitle = competition?.title || "Загрузка соревнования...";
return (
<div className="flex min-h-screen flex-col">
<CompetitionHeader
title="Олимпиада DANO 2025. Индивидуальный этап"
title={competitionTitle}
tasks={tasks}
competitionId={competitionId}
/>
@@ -106,6 +118,7 @@ const CompetitionSession = () => {
selectedFile={selectedFile}
setSelectedFile={setSelectedFile}
onSubmit={handleSubmit}
isSubmitting={submitMutation.isPending}
/>
</div>
) : (