/** * Analyst reports display component */ "use client"; import ReactMarkdown from "react-markdown"; import remarkGfm from "remark-gfm"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; import type { Reports } from "@/lib/types"; import { useLanguage } from "@/contexts/LanguageContext"; interface AnalystReportProps { reports: Reports; } export function AnalystReport({ reports }: AnalystReportProps) { const { t } = useLanguage(); const hasAnalystReports = reports.market_report || reports.sentiment_report || reports.news_report || reports.fundamentals_report; const hasResearchReports = reports.investment_debate_state?.bull_history || reports.investment_debate_state?.bear_history || reports.investment_debate_state?.judge_decision; const hasRiskReports = reports.risk_debate_state?.risky_history || reports.risk_debate_state?.safe_history || reports.risk_debate_state?.neutral_history; if (!hasAnalystReports && !hasResearchReports && !hasRiskReports) { return null; } return ( {t.results.title} {t.home.professionalAgentsDesc} {t.tabs.analysts} {t.tabs.researchers} {t.tabs.trader} {t.tabs.risk} {reports.market_report && ( )} {reports.sentiment_report && ( )} {reports.news_report && ( )} {reports.fundamentals_report && ( )} {reports.investment_debate_state?.bull_history && ( )} {reports.investment_debate_state?.bear_history && ( )} {reports.investment_debate_state?.judge_decision && ( )} {reports.trader_investment_plan && ( )} {reports.risk_debate_state?.risky_history && ( )} {reports.risk_debate_state?.safe_history && ( )} {reports.risk_debate_state?.neutral_history && ( )} {reports.risk_debate_state?.judge_decision && ( )} ); } function ReportSection({ title, content }: { title: string; content: string }) { return (

{title}

{content}
); }