diff --git a/admin-lehrer/components/grid-editor/GridTable.tsx b/admin-lehrer/components/grid-editor/GridTable.tsx index e395e52..417f197 100644 --- a/admin-lehrer/components/grid-editor/GridTable.tsx +++ b/admin-lehrer/components/grid-editor/GridTable.tsx @@ -417,7 +417,6 @@ export function GridTable({ {/* Cells — spanning header or normal columns */} {isSpanning ? ( <> - {/* Render each spanning cell with its colspan */} {zone.cells .filter((c) => c.row_index === row.index && c.col_type === 'spanning_header') .sort((a, b) => a.col_index - b.col_index) @@ -426,40 +425,31 @@ export function GridTable({ const cellId = spanCell.cell_id const isSelected = selectedCell === cellId const cellColor = getCellColor(spanCell) - // Grid column: starts at col_index+2 (1-based, +1 for row number column) const gridColStart = spanCell.col_index + 2 const gridColEnd = gridColStart + colspan return (
-
- {cellColor && ( - - )} - onCellTextChange(cellId, e.target.value)} - onFocus={() => onSelectCell(cellId)} - onKeyDown={(e) => handleKeyDown(e, cellId)} - className={`w-full px-3 py-1 bg-transparent border-0 outline-none text-center ${ - isSelected ? 'ring-2 ring-teal-500 ring-inset rounded' : '' + className={`border-b border-r border-gray-200 dark:border-gray-700 bg-blue-50/50 dark:bg-blue-900/10 flex items-center ${ + isSelected ? 'ring-2 ring-teal-500 ring-inset z-10' : '' }`} - style={{ color: cellColor || undefined }} - spellCheck={false} - /> -
-
+ style={{ gridColumn: `${gridColStart} / ${gridColEnd}`, height: `${rowH}px` }} + > + {cellColor && ( + + )} + onCellTextChange(cellId, e.target.value)} + onFocus={() => onSelectCell(cellId)} + onKeyDown={(e) => handleKeyDown(e, cellId)} + className="w-full px-3 py-1 bg-transparent border-0 outline-none text-center" + style={{ color: cellColor || undefined }} + spellCheck={false} + /> + ) })}