매매 시그널 디테일 팝업 기능 적용

This commit is contained in:
Macbook
2026-06-10 21:13:53 +09:00
parent bf5554d375
commit 0ff1992b64
19 changed files with 1507 additions and 58 deletions
@@ -0,0 +1,46 @@
/**
* 타임라인 카드 — 매매 시그널일 때 상세 버튼 포함 래퍼
*/
import React from 'react';
import type { LiveTimelineEvent } from '../../utils/liveTradeTimeline';
import TimelineSignalDetailButton from './TimelineSignalDetailButton';
interface Props {
ev: LiveTimelineEvent;
className: string;
onSignalDetail?: (ev: LiveTimelineEvent) => void;
children: React.ReactNode;
tag?: 'article' | 'div';
}
const TimelineSignalCardShell: React.FC<Props> = ({
ev,
className,
onSignalDetail,
children,
tag = 'article',
}) => {
const Tag = tag;
const showDetail = ev.kind === 'SIGNAL' && ev.signalMeta && onSignalDetail;
return (
<Tag
className={[
className,
showDetail ? 'arp-timeline-signal-card-wrap' : '',
].filter(Boolean).join(' ')}
>
{showDetail && (
<TimelineSignalDetailButton
onClick={e => {
e.stopPropagation();
onSignalDetail(ev);
}}
/>
)}
{children}
</Tag>
);
};
export default TimelineSignalCardShell;