From 4c5175834820160875053e52a3f10c900c70e270 Mon Sep 17 00:00:00 2001 From: Woody Date: Fri, 24 Apr 2026 16:24:30 +0800 Subject: [PATCH] feat(frontend): replace KeywordsDisplay with ExtractedQuestionsDisplay (sub-phase 2.3) Delete KeywordsDisplay (blue pills) and create ExtractedQuestionsDisplay (numbered list). Rename keywords to extracted_questions in types and LTTPage. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus --- .../components/ExtractedQuestionsDisplay.tsx | 47 +++++++++++++++++++ frontend/src/components/KeywordsDisplay.tsx | 46 ------------------ frontend/src/pages/LTTPage.tsx | 4 +- frontend/src/types/index.ts | 2 +- 4 files changed, 50 insertions(+), 49 deletions(-) create mode 100644 frontend/src/components/ExtractedQuestionsDisplay.tsx delete mode 100644 frontend/src/components/KeywordsDisplay.tsx diff --git a/frontend/src/components/ExtractedQuestionsDisplay.tsx b/frontend/src/components/ExtractedQuestionsDisplay.tsx new file mode 100644 index 0000000..41b61b5 --- /dev/null +++ b/frontend/src/components/ExtractedQuestionsDisplay.tsx @@ -0,0 +1,47 @@ +import React from 'react' + +export interface ExtractedQuestionsDisplayProps { + extractedQuestions?: string[] + isLoading: boolean +} + +export const ExtractedQuestionsDisplay: React.FC = ({ extractedQuestions, isLoading }) => { + if (!isLoading && (!extractedQuestions || extractedQuestions.length === 0)) { + return null + } + + if (isLoading) { + return ( +
+ Extracted Questions: +
+ {[1, 2, 3].map((i) => ( +
+ ))} +
+
+ ) + } + + return ( +
+ Extracted Questions: +
    + {extractedQuestions?.map((question, index) => ( +
  1. + {question} +
  2. + ))} +
+
+ ) +} diff --git a/frontend/src/components/KeywordsDisplay.tsx b/frontend/src/components/KeywordsDisplay.tsx deleted file mode 100644 index 5982cca..0000000 --- a/frontend/src/components/KeywordsDisplay.tsx +++ /dev/null @@ -1,46 +0,0 @@ -import React from 'react' - -export interface KeywordsDisplayProps { - keywords?: string[] - isLoading: boolean -} - -export const KeywordsDisplay: React.FC = ({ keywords, isLoading }) => { - if (!isLoading && (!keywords || keywords.length === 0)) { - return null - } - - if (isLoading) { - return ( -
- Extracted Keywords: -
- {[1, 2, 3].map((i) => ( -
- ))} -
-
- ) - } - - return ( -
- Extracted Keywords: -
- {keywords?.map((keyword, index) => ( - - {keyword} - - ))} -
-
- ) -} diff --git a/frontend/src/pages/LTTPage.tsx b/frontend/src/pages/LTTPage.tsx index 86d26d9..ebeebb3 100644 --- a/frontend/src/pages/LTTPage.tsx +++ b/frontend/src/pages/LTTPage.tsx @@ -2,7 +2,7 @@ import React from 'react' import { Film } from 'lucide-react' import { useQueryDocument } from '../lib/queries' import { QueryInput } from '../components/QueryInput' -import { KeywordsDisplay } from '../components/KeywordsDisplay' +import { ExtractedQuestionsDisplay } from '../components/ExtractedQuestionsDisplay' import { ResponsePanel } from '../components/ResponsePanel' const VideoPlaceholder: React.FC = () => { @@ -30,7 +30,7 @@ export const LTTPage: React.FC = () => {
- +