refactor: pad block row with extra columns

This commit is contained in:
arc-alex
2025-02-19 15:03:10 +01:00
committed by Carlos Valente
parent e5b30770ce
commit 4a16378786
3 changed files with 36 additions and 4 deletions
@@ -1,4 +1,4 @@
import { memo } from 'react';
import { memo, useRef } from 'react';
import { useCurrentBlockId } from '../../../../common/hooks/useSocket';
@@ -7,21 +7,37 @@ import style from '../CuesheetTable.module.scss';
interface BlockRowProps {
hidePast: boolean;
title: string;
columnCount: number;
}
function BlockRow(props: BlockRowProps) {
const { hidePast, title } = props;
const { hidePast, title, columnCount } = props;
const { currentBlockId } = useCurrentBlockId();
const firstCellRef = useRef<null | HTMLTableCellElement>(null);
if (hidePast && !currentBlockId) {
return null;
}
const paddingRows = new Array(columnCount - 1).fill(null);
return (
<tr className={style.blockRow}>
<td tabIndex={-1} role='cell'>
<td tabIndex={-1} role='cell' ref={firstCellRef}>
{title}
</td>
{paddingRows.map((_value, index) => {
return (
<td
key={index}
tabIndex={-1}
role='cell'
onFocus={() => {
firstCellRef.current?.focus();
}}
/>
);
})}
</tr>
);
}