'use client'
import type { EditorMode, ReconstructionStatus } from './StepReconstructionTypes'
interface ReconstructionToolbarProps {
editorMode: EditorMode
setEditorMode: (mode: EditorMode) => void
isParentWithBoxes: boolean
cellCount: number
changedCount: number
emptyCellCount: number
showEmptyHighlight: boolean
setShowEmptyHighlight: (v: boolean) => void
showStructure: boolean
setShowStructure: (v: boolean) => void
hasStructureElements: boolean
zoom: number
setZoom: (fn: (z: number) => number) => void
undoCount: number
redoCount: number
onUndo: () => void
onRedo: () => void
status: ReconstructionStatus
onSave: () => void
// Overlay-specific
fontScale: number
setFontScale: (v: number) => void
globalBold: boolean
setGlobalBold: (fn: (b: boolean) => boolean) => void
imageRotation: 0 | 180
setImageRotation: (fn: (r: 0 | 180) => 0 | 180) => void
}
export function ReconstructionToolbar({
editorMode,
setEditorMode,
isParentWithBoxes,
cellCount,
changedCount,
emptyCellCount,
showEmptyHighlight,
setShowEmptyHighlight,
showStructure,
setShowStructure,
hasStructureElements,
zoom,
setZoom,
undoCount,
redoCount,
onUndo,
onRedo,
status,
onSave,
fontScale,
setFontScale,
globalBold,
setGlobalBold,
imageRotation,
setImageRotation,
}: ReconstructionToolbarProps) {
return (
Schritt 7: Rekonstruktion
{/* Mode toggle */}
{isParentWithBoxes && (
)}
{cellCount} Zellen · {changedCount} geaendert
{emptyCellCount > 0 && showEmptyHighlight && (
· {emptyCellCount} leer
)}
{/* Undo/Redo */}
{/* Overlay-specific toolbar */}
{editorMode === 'overlay' && (
<>
{hasStructureElements && (
)}
>
)}
{/* Non-overlay controls */}
{editorMode !== 'overlay' && (
<>
{/* Empty field toggle */}
{/* Structure toggle */}
{hasStructureElements && (
)}
{/* Zoom controls */}
{zoom}%
>
)}
)
}