'use client' import type { GridRow } from './types' interface GridTableRowHeaderProps { row: GridRow zoneIndex: number rowCount: number rowH: number onToggleRowHeader: (zoneIndex: number, rowIndex: number) => void onDeleteRow?: (zoneIndex: number, rowIndex: number) => void onAddRow?: (zoneIndex: number, afterRowIndex: number) => void onRowResizeStart: (rowIndex: number, startY: number, currentHeight: number) => void } export function GridTableRowHeader({ row, zoneIndex, rowCount, rowH, onToggleRowHeader, onDeleteRow, onAddRow, onRowResizeStart, }: GridTableRowHeaderProps) { return (
onToggleRowHeader(zoneIndex, row.index)} title={`Zeile ${row.index + 1} — Klick: ${row.is_header ? 'Footer' : row.is_footer ? 'Normal' : 'Header'}`} > {row.index + 1} {row.is_header && H} {row.is_footer && F} {/* Delete row button (visible on hover) */} {onDeleteRow && rowCount > 1 && ( )} {/* Add row button (visible on hover, below this row) */} {onAddRow && ( )} {/* Bottom-edge resize handle */}
{ e.stopPropagation() onRowResizeStart(row.index, e.clientY, rowH) }} />
) }