import React from 'react'; import { UndoIcon, RedoIcon, UploadIcon, DownloadIcon, ClearIcon, BrushIcon, EraserIcon, MagicSparkleIcon, SettingsIcon } from './icons'; interface ToolbarProps { penColor: string; onColorChange: (color: string) => void; penSize: number; onSizeChange: (size: number) => void; onUndo: () => void; canUndo: boolean; onRedo: () => void; canRedo: boolean; onLoadImage: (event: React.ChangeEvent) => void; onExportImage: () => void; onClearCanvas: () => void; isEraserMode: boolean; onToggleEraser: () => void; onMagicUpload: () => void; isMagicUploading: boolean; canShare: boolean; onToggleSettings: () => void; // New prop for settings } const Toolbar: React.FC = ({ penColor, onColorChange, penSize, onSizeChange, onUndo, canUndo, onRedo, canRedo, onLoadImage, onExportImage, onClearCanvas, isEraserMode, onToggleEraser, onMagicUpload, isMagicUploading, canShare, onToggleSettings, // New prop }) => { const fileInputRef = React.useRef(null); const handleUploadClick = () => { fileInputRef.current?.click(); }; return (
{/* First Row: Action Buttons */}
{/* Second Row: Drawing Tools & Settings */}
onColorChange(e.target.value)} className={`w-8 h-8 rounded-full cursor-pointer border-2 ${isEraserMode ? 'border-gray-400 opacity-50' : 'border-white shadow-sm'}`} disabled={isEraserMode} aria-label="Select pen color" />
onSizeChange(parseInt(e.target.value, 10))} className="w-24 md:w-32 cursor-pointer accent-blue-600" aria-label={`Pen size ${penSize} pixels`} aria-valuemin={1} aria-valuemax={50} aria-valuenow={penSize} />
); }; export default Toolbar;