Skip to main content
Glama
KennanYang

Financial Report Generator MCP Server

by KennanYang
page.tsx4.32 kB
'use client'; import { useEffect } from 'react'; import { CompanySelector } from '../components/common/company-selector'; import { TimeRangeSelector } from '../components/common/time-range-selector'; import { ThemeToggle } from '../components/common/theme-toggle'; import { FinancialMetrics } from '../components/dashboard/financial-metrics'; import { ReportGenerator } from '../components/dashboard/report-generator'; import { AIEnhancedReportGenerator } from '../components/dashboard/ai-enhanced-report-generator'; import { AIStatusMonitor } from '../components/dashboard/ai-status-monitor'; import { useFinancialStore } from '../store/financial-store'; import { BRAND_CONFIG } from '../lib/constants'; export default function HomePage() { const { companies, selectedCompany, setSelectedCompany } = useFinancialStore(); // 确保有默认选中的公司 useEffect(() => { if (companies.length > 0 && !selectedCompany) { setSelectedCompany(companies[0]); } }, [companies, selectedCompany, setSelectedCompany]); // 如果公司数据还没加载,显示加载状态 if (!companies.length) { return ( <div className="min-h-screen bg-background flex items-center justify-center"> <div className="text-center"> <div className="animate-spin rounded-full h-32 w-32 border-b-2 border-primary mx-auto mb-4"></div> <p className="text-lg text-muted-foreground">正在加载财务数据...</p> </div> </div> ); } return ( <div className="min-h-screen bg-background"> {/* 头部 */} <header className="border-b bg-card"> <div className="container mx-auto px-4 py-4"> <div className="flex items-center justify-between"> <div className="flex items-center space-x-4"> <h1 className="text-2xl font-bold text-primary"> {BRAND_CONFIG.name} </h1> <p className="text-sm text-muted-foreground hidden md:block"> {BRAND_CONFIG.tagline} </p> </div> <div className="flex items-center space-x-4"> <CompanySelector /> <TimeRangeSelector /> <ThemeToggle /> </div> </div> </div> </header> {/* 主要内容 */} <main className="container mx-auto px-4 py-8"> <div className="grid grid-cols-1 lg:grid-cols-3 gap-8"> {/* 左侧列 */} <div className="lg:col-span-2 space-y-8"> <FinancialMetrics /> <div className="grid grid-cols-1 md:grid-cols-2 gap-6"> <ReportGenerator /> <AIEnhancedReportGenerator /> </div> </div> {/* 右侧列 */} <div className="space-y-6"> <AIStatusMonitor /> {/* 快速操作 */} <div className="bg-card border rounded-lg p-6"> <h3 className="text-lg font-semibold mb-4">快速操作</h3> <div className="space-y-3"> <div className="text-sm"> <div className="font-medium">当前公司</div> <div className="text-muted-foreground"> {selectedCompany?.symbol} - {selectedCompany?.name} </div> </div> <div className="text-sm"> <div className="font-medium">行业</div> <div className="text-muted-foreground"> {selectedCompany?.industry} </div> </div> <div className="text-sm"> <div className="font-medium">板块</div> <div className="text-muted-foreground"> {selectedCompany?.sector} </div> </div> </div> </div> </div> </div> </main> {/* 页脚 */} <footer className="border-t bg-card mt-16"> <div className="container mx-auto px-4 py-6"> <div className="text-center text-sm text-muted-foreground"> <p>{BRAND_CONFIG.copyright}</p> <p className="mt-1">版本 {BRAND_CONFIG.version}</p> </div> </div> </footer> </div> ); }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/KennanYang/financial-report'

If you have feedback or need assistance with the MCP directory API, please join our Discord server