- Sparkline 컴포넌트를 PriceHero 내부에서 web/components/Sparkline.tsx 로 분리·재사용 - /api/markets/indices: macro_daily 의 kospi/kosdaq N일 시계열 + 최신값/전일대비 - 홈 IndicesPanel: 두 인덱스 카드(현재값/등락/우측 sparkline) - /api/symbols/search?with_sparkline=true: 결과 한 번에 최근 30 종가 batch 조회 - SearchBox 결과 행에 mini sparkline + 현재가/등락률 인라인 표시 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
46 lines
1.4 KiB
TypeScript
46 lines
1.4 KiB
TypeScript
import { IndicesPanel } from "../components/IndicesPanel";
|
|
import { MarketsOverview } from "../components/MarketsOverview";
|
|
import { SearchBox } from "../components/SearchBox";
|
|
import { SeedTiles } from "../components/SeedTiles";
|
|
import { ThemeTiles } from "../components/ThemeTiles";
|
|
|
|
export default function HomePage() {
|
|
return (
|
|
<main className="mx-auto max-w-5xl px-6 py-12">
|
|
<h1 className="text-3xl font-bold tracking-tight text-zinc-50">종목 검색</h1>
|
|
<p className="mt-2 text-sm text-zinc-400">
|
|
종목을 골라 차트를 보고, <b className="text-rose-300">예상차트 보기</b> 버튼으로
|
|
15일·30일·1년 예측 캔들을 같은 차트에 이어 붙입니다.
|
|
</p>
|
|
|
|
<div className="mt-6">
|
|
<SearchBox autoFocus />
|
|
</div>
|
|
|
|
<div className="mt-8">
|
|
<IndicesPanel />
|
|
</div>
|
|
|
|
<div className="mt-8">
|
|
<SeedTiles />
|
|
</div>
|
|
|
|
<div className="mt-8">
|
|
<ThemeTiles />
|
|
</div>
|
|
|
|
<div className="mt-6">
|
|
<MarketsOverview />
|
|
</div>
|
|
|
|
<div className="mt-6 rounded-lg border border-zinc-800 bg-zinc-900/30 p-4 text-xs text-zinc-500">
|
|
<div className="font-medium text-zinc-300">매칭 · 재학습</div>
|
|
<div className="mt-1">
|
|
평일 16:30 KST 예측↔실제 매칭, 일요일 02:00 KST LGBM 재학습.
|
|
앙상블은 Chronos(zero-shot) + LightGBM.
|
|
</div>
|
|
</div>
|
|
</main>
|
|
);
|
|
}
|