/** * 설정 화면 — 매매 알림 팝업 배치 미리보기 */ import React from 'react'; import { type TradeAlertPopupLayout, type TradeAlertPopupPosition, tradeAlertPopupClassNames, } from '../utils/tradeAlertPopupLayout'; interface Props { position: TradeAlertPopupPosition; layout: TradeAlertPopupLayout; gridCols: number; enabled?: boolean; } const MOCK_ITEMS = [ { id: '1', side: 'BUY' as const, title: 'KRW-BTC 매수', price: '98,500,000' }, { id: '2', side: 'SELL' as const, title: 'KRW-ETH 매도', price: '4,620,000' }, { id: '3', side: 'BUY' as const, title: 'KRW-SOL 매수', price: '245,000' }, { id: '4', side: 'SELL' as const, title: 'KRW-XRP 매도', price: '890' }, ]; const PreviewCard: React.FC<{ side: 'BUY' | 'SELL'; title: string; price: string; compact?: boolean }> = ({ side, title, price, compact, }) => (
{side} {title}
{!compact && (
₩{price}
)}
); export const TradeAlertPopupPreview: React.FC = ({ position, layout, gridCols, enabled = true, }) => { const { stack, cards } = tradeAlertPopupClassNames(position, layout); const visible = layout === 'single' ? MOCK_ITEMS.slice(0, 1) : MOCK_ITEMS.slice(0, layout === 'grid' ? gridCols * 2 : 3); const compact = layout === 'grid' || layout === 'strip'; return (
화면
{visible.map(item => ( ))}
{layout === 'single' && MOCK_ITEMS.length > 1 && ( +{MOCK_ITEMS.length - 1}건 )}
); }; export default TradeAlertPopupPreview;