This commit is contained in:
rngsurrounded
2025-03-03 22:04:25 +09:00
parent 70cf208877
commit 664ded152a
2 changed files with 14 additions and 4 deletions
@@ -24,7 +24,6 @@ const CompetitionHeader: React.FC<CompetitionHeaderProps> = ({
const handleTaskSelect = (taskId: string) => {
setAnswer("");
setSelectedFile(null);
console.log("SETTER ERROR")
navigate(`/competition/${competitionId}/tasks/${taskId}`);
}
@@ -81,13 +81,24 @@ const TaskSolution: React.FC<TaskSolutionProps> = ({
useEffect(() => {
const loadSolutionContent = async () => {
// Clear previous inputs when task changes
if (prevTaskIdRef.current !== task.id) {
setAnswer("");
setSelectedFile(null);
setSelectedSolutionUrl(null);
prevTaskIdRef.current = task.id;
}
if (!displayedSolution || !displayedSolution.content) return;
try {
// Only load content for the appropriate task type
if (task.type === TaskType.FILE) {
// For file tasks, we just set the URL - don't touch the answer field
setSelectedFile(null);
setSelectedSolutionUrl(displayedSolution.content);
} else {
} else if (task.type === TaskType.CODE || task.type === TaskType.INPUT) {
// For non-file tasks, fetch and set the answer text - don't touch file fields
const response = await fetch(displayedSolution.content);
if (!response.ok) {
throw new Error(`Failed to fetch solution content: ${response.status}`);
@@ -101,7 +112,7 @@ const TaskSolution: React.FC<TaskSolutionProps> = ({
};
loadSolutionContent();
}, [displayedSolution, task.type, setAnswer, setSelectedFile]);
}, [displayedSolution, task.id, task.type, setAnswer, setSelectedFile]);
const handleOpenHistory = () => {
setIsHistoryOpen(true);