goldenChat base source add

This commit is contained in:
aidev
2026-05-23 15:11:48 +09:00
commit a4ea7762b5
2081 changed files with 1155760 additions and 0 deletions
@@ -0,0 +1,92 @@
/**
* 모바일 차트 화면 하단 고정 도크 — 종목·매매·호가·그리기·차트 도구
*/
import React from 'react';
export type MobileDockPanel = 'none' | 'market' | 'trade' | 'orderbook';
interface Props {
marketOpen: boolean;
rightOpen: boolean;
rightTab: 'trade' | 'orderbook';
drawingTool: string;
onToggleMarket: () => void;
onOpenTrade: () => void;
onOpenOrderbook: () => void;
onClosePanels: () => void;
onTool: (tool: string) => void;
}
const MobileChartDock: React.FC<Props> = ({
marketOpen,
rightOpen,
rightTab,
drawingTool,
onToggleMarket,
onOpenTrade,
onOpenOrderbook,
onClosePanels,
onTool,
}) => {
const tradeActive = rightOpen && rightTab === 'trade';
const obActive = rightOpen && rightTab === 'orderbook';
return (
<nav className="mobile-chart-dock" aria-label="차트 모바일 메뉴">
<button
type="button"
className={`mcd-btn${marketOpen ? ' active' : ''}`}
onClick={onToggleMarket}
aria-pressed={marketOpen}
>
<span className="mcd-icon" aria-hidden>📋</span>
<span className="mcd-label"></span>
</button>
<button
type="button"
className={`mcd-btn${tradeActive ? ' active' : ''}`}
onClick={onOpenTrade}
aria-pressed={tradeActive}
>
<span className="mcd-icon" aria-hidden>💰</span>
<span className="mcd-label"></span>
</button>
<button
type="button"
className={`mcd-btn${obActive ? ' active' : ''}`}
onClick={onOpenOrderbook}
aria-pressed={obActive}
>
<span className="mcd-icon" aria-hidden>📊</span>
<span className="mcd-label"></span>
</button>
<button
type="button"
className={`mcd-btn${drawingTool === 'zoom' ? ' active' : ''}`}
onClick={() => {
onClosePanels();
onTool(drawingTool === 'zoom' ? 'cursor' : 'zoom');
}}
aria-pressed={drawingTool === 'zoom'}
title="영역 드래그로 차트 확대"
>
<span className="mcd-icon" aria-hidden>🔍</span>
<span className="mcd-label"></span>
</button>
<button
type="button"
className={`mcd-btn${drawingTool === 'cursor' ? ' active' : ''}`}
onClick={() => {
onClosePanels();
onTool('cursor');
}}
aria-pressed={drawingTool === 'cursor'}
>
<span className="mcd-icon" aria-hidden>👆</span>
<span className="mcd-label"></span>
</button>
</nav>
);
};
export default MobileChartDock;