'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)
}}
/>
)}
)
}