feat(chart): layers panel + selection-first fib
- Adds Layers drawer (visible/lock/opacity) and effective opacity wiring. - Implements selection-first overlay: click selects, drag moves selected, Ctrl-drag edits B, Space-drag always pans. - Routes pointer events via capture and adds Fib opacity support. - Updates .gitignore to keep secrets/local scratch out of git.
This commit is contained in:
@@ -4,8 +4,8 @@ import {
|
||||
IconBrush,
|
||||
IconCrosshair,
|
||||
IconCursor,
|
||||
IconEye,
|
||||
IconFib,
|
||||
IconLayers,
|
||||
IconLock,
|
||||
IconPlus,
|
||||
IconRuler,
|
||||
@@ -24,7 +24,9 @@ type Props = {
|
||||
timeframe: string;
|
||||
activeTool: ActiveTool;
|
||||
hasFib: boolean;
|
||||
isLayersOpen: boolean;
|
||||
onToolChange: (tool: ActiveTool) => void;
|
||||
onToggleLayers: () => void;
|
||||
onZoomIn: () => void;
|
||||
onZoomOut: () => void;
|
||||
onResetView: () => void;
|
||||
@@ -35,7 +37,9 @@ export default function ChartSideToolbar({
|
||||
timeframe,
|
||||
activeTool,
|
||||
hasFib,
|
||||
isLayersOpen,
|
||||
onToolChange,
|
||||
onToggleLayers,
|
||||
onZoomIn,
|
||||
onZoomOut,
|
||||
onResetView,
|
||||
@@ -195,9 +199,15 @@ export default function ChartSideToolbar({
|
||||
</span>
|
||||
</button>
|
||||
|
||||
<button type="button" className="chartToolBtn" title="Visibility" aria-label="Visibility" disabled>
|
||||
<button
|
||||
type="button"
|
||||
className={['chartToolBtn', isLayersOpen ? 'chartToolBtn--active' : ''].filter(Boolean).join(' ')}
|
||||
title="Layers"
|
||||
aria-label="Layers"
|
||||
onClick={onToggleLayers}
|
||||
>
|
||||
<span className="chartToolBtn__icon" aria-hidden="true">
|
||||
<IconEye />
|
||||
<IconLayers />
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user