From bed444e5f4c1771c58a138d1e0790cc65db32606 Mon Sep 17 00:00:00 2001 From: Matt Date: Tue, 17 Feb 2026 16:51:23 +0100 Subject: [PATCH] Move AI document parsing toggle from Config to Filtering tab Removes duplicate: the setting was in Config tab (General Settings) AND inside Advanced Settings in the Filtering tab. Now it lives only in the Filtering tab as a prominent standalone toggle, since it's directly related to AI filtering behavior. Co-Authored-By: Claude Opus 4.6 --- .../(admin)/admin/rounds/[roundId]/page.tsx | 18 ----------- .../admin/round/filtering-dashboard.tsx | 32 +++++++++++++++++++ 2 files changed, 32 insertions(+), 18 deletions(-) diff --git a/src/app/(admin)/admin/rounds/[roundId]/page.tsx b/src/app/(admin)/admin/rounds/[roundId]/page.tsx index 1797999..7850009 100644 --- a/src/app/(admin)/admin/rounds/[roundId]/page.tsx +++ b/src/app/(admin)/admin/rounds/[roundId]/page.tsx @@ -1824,24 +1824,6 @@ export default function RoundDetailPage() { /> -
-
- -

- Allow AI to read the contents of uploaded files (PDF/text) for deeper analysis during filtering and evaluation -

-
- { - handleConfigChange({ ...config, aiParseFiles: checked }) - }} - /> -
-

diff --git a/src/components/admin/round/filtering-dashboard.tsx b/src/components/admin/round/filtering-dashboard.tsx index 11c2446..f68e2a9 100644 --- a/src/components/admin/round/filtering-dashboard.tsx +++ b/src/components/admin/round/filtering-dashboard.tsx @@ -116,6 +116,15 @@ export function FilteringDashboard({ competitionId, roundId }: FilteringDashboar const utils = trpc.useUtils() // -- Queries -- + const { data: round } = trpc.round.getById.useQuery({ id: roundId }) + const roundConfig = (round?.configJson as Record) ?? {} + const aiParseFiles = !!roundConfig.aiParseFiles + + const updateRoundMutation = trpc.round.update.useMutation({ + onSuccess: () => utils.round.getById.invalidate({ id: roundId }), + onError: (err) => toast.error(err.message), + }) + const { data: latestJob } = trpc.filtering.getLatestJob.useQuery( { roundId }, { refetchInterval: pollingJobId ? 3_000 : 15_000 }, @@ -525,6 +534,29 @@ export function FilteringDashboard({ competitionId, roundId }: FilteringDashboar + {/* AI Document Parsing — prominent toggle */} +

+
+ +

+ Allow AI to read uploaded file contents (PDF/text) for deeper analysis +

+
+ { + updateRoundMutation.mutate({ + id: roundId, + configJson: { ...roundConfig, aiParseFiles: checked }, + }) + }} + /> +
+ {/* Job Progress */} {isRunning && activeJob && (