import React from "react"; import type { FaceBlurMethod, Layer, Project } from "@pien-studio/types"; import { FacePanel } from "./face-panel"; import { HistoryPanel } from "./history-panel"; import { LayersPanel } from "./layers-panel"; import type { FaceDetectionOverlay, FacePreview } from "../../hooks/use-face-detection"; type EditorSidebarProps = { isDark: boolean; tool: string; fillColor?: string; fillTolerance?: number; onSetFillColor?: (color: string) => void; onSetFillTolerance?: (tolerance: number) => void; onCreateFillLayer?: () => void; brushColor?: string; brushSize?: number; brushOpacity?: number; brushHardness?: number; onSetBrushColor?: (color: string) => void; onSetBrushSize?: (size: number) => void; onSetBrushOpacity?: (opacity: number) => void; onSetBrushHardness?: (hardness: number) => void; onAddLayer?: () => void; layers: Layer[]; selectedLayerId: string | null; selectedLayer: Layer | null; history: { past: Project[]; future: Project[] }; canUndo: boolean; canRedo: boolean; faceDetections: FaceDetectionOverlay[]; facePreviews: FacePreview[]; faceStatus: "idle" | "detecting" | "unsupported"; blurMethod: FaceBlurMethod; blurAmount: number; censorColor: string; selectedFaceIndices: number[]; onSelectLayer: (layerId: string | null) => void; onSetLayerVisible: (layerId: string, visible: boolean) => void; onSetEffectEnabled: (layerId: string, kind: string, enabled: boolean) => void; // string intentional: UI doesn't need the narrowed union onMoveLayerOrder: (direction: "up" | "down") => void; onRemoveSelectedLayer: () => void; onUndo: () => void; onRedo: () => void; onJumpToPast: (idx: number) => void; onJumpToFuture: (idx: number) => void; onSetBlurMethod: (method: FaceBlurMethod) => void; onSetBlurAmount: (amount: number) => void; onSetCensorColor: (color: string) => void; onToggleFaceIndex: (index: number) => void; onBlur: (indices: number[]) => void; onClearBlur: () => void; }; export function EditorSidebar({ isDark, tool, fillColor, fillTolerance, onSetFillColor, onSetFillTolerance, onCreateFillLayer, brushColor, brushSize, brushOpacity, brushHardness, onSetBrushColor, onSetBrushSize, onSetBrushOpacity, onSetBrushHardness, onAddLayer, layers, selectedLayerId, selectedLayer, history, canUndo, canRedo, faceDetections, facePreviews, faceStatus, blurMethod, blurAmount, censorColor, selectedFaceIndices, onSelectLayer, onSetLayerVisible, onSetEffectEnabled, onMoveLayerOrder, onRemoveSelectedLayer, onUndo, onRedo, onJumpToPast, onJumpToFuture, onSetBlurMethod, onSetBlurAmount, onSetCensorColor, onToggleFaceIndex, onBlur, onClearBlur, }: EditorSidebarProps) { return ( ); }