'use client' import type { GridColumn } from './types' interface GridTableColumnHeaderProps { col: GridColumn colIndex: number numCols: number zoneIndex: number onToggleColumnBold: (zoneIndex: number, colIndex: number) => void onDeleteColumn?: (zoneIndex: number, colIndex: number) => void onAddColumn?: (zoneIndex: number, afterColIndex: number) => void onColResizeStart: (colIndex: number, startX: number) => void } export function GridTableColumnHeader({ col, colIndex, numCols, zoneIndex, onToggleColumnBold, onDeleteColumn, onAddColumn, onColResizeStart, }: GridTableColumnHeaderProps) { return (
onToggleColumnBold(zoneIndex, col.index)} title={`Spalte ${col.index + 1} — Klick fuer Fett-Toggle`} >
{col.label} {col.bold && ( B )}
{/* Delete column button (visible on hover) */} {onDeleteColumn && numCols > 1 && ( )} {/* Add column button — small icon at bottom-right, below resize handle */} {onAddColumn && ( )} {/* Right-edge resize handle — wide grab area, highest z-index */} {colIndex < numCols - 1 && (
{ e.stopPropagation() onColResizeStart(colIndex, e.clientX) }} /> )}
) }