7d900ad1c6
* Reorganize context/states/selectors in dedicated folders * linter
37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
import { useRecoilValue } from 'recoil';
|
|
|
|
import { isNavbarSwitchingSizeState } from '@/ui/layout/states/isNavbarSwitchingSizeState';
|
|
|
|
import { RowIdContext } from '../contexts/RowIdContext';
|
|
import { RowIndexContext } from '../contexts/RowIndexContext';
|
|
import { isFetchingEntityTableDataState } from '../states/isFetchingEntityTableDataState';
|
|
import { tableRowIdsState } from '../states/tableRowIdsState';
|
|
|
|
import { EntityTableRow } from './EntityTableRow';
|
|
|
|
export function EntityTableBody() {
|
|
const rowIds = useRecoilValue(tableRowIdsState);
|
|
|
|
const isNavbarSwitchingSize = useRecoilValue(isNavbarSwitchingSizeState);
|
|
|
|
const isFetchingEntityTableData = useRecoilValue(
|
|
isFetchingEntityTableDataState,
|
|
);
|
|
|
|
if (isFetchingEntityTableData || isNavbarSwitchingSize) {
|
|
return null;
|
|
}
|
|
|
|
return (
|
|
<tbody>
|
|
{rowIds.map((rowId, index) => (
|
|
<RowIdContext.Provider value={rowId} key={rowId}>
|
|
<RowIndexContext.Provider value={index}>
|
|
<EntityTableRow rowId={rowId} />
|
|
</RowIndexContext.Provider>
|
|
</RowIdContext.Provider>
|
|
))}
|
|
</tbody>
|
|
);
|
|
}
|