import { useState } from "react"; import { api } from "../api"; import type { KeywordAnalysisResponse } from "../types"; import { useApiCall } from "../hooks/useApiCall"; import ScoreBar from "./ScoreBar"; import StatusMessage from "./StatusMessage"; export default function BatchAnalysis() { const [keywordsText, setKeywordsText] = useState(""); const [topK, setTopK] = useState(5); const [threshold, setThreshold] = useState(0.4); const { data: results, loading, error, run } = useApiCall>(); async function handleAnalyze() { const keywords = keywordsText.split("\n").map((s) => s.trim()).filter(Boolean); if (keywords.length === 0) return; await run(() => api.batchAnalyze({ keywords, top_k: topK, cluster_threshold: threshold, compare_across: true })); } return (

Batch Keyword Analysis

Analyze multiple keywords at once and compare their semantic relationships.