verdnatura-chat/app/containers/markdown/TableRow.tsx

28 lines
765 B
TypeScript
Raw Normal View History

import React from 'react';
2022-03-21 20:44:06 +00:00
import { View, ViewStyle } from 'react-native';
2019-12-04 16:39:53 +00:00
import { themes } from '../../constants/colors';
import styles from './styles';
interface ITableRow {
children: React.ReactElement | null;
isLastRow: boolean;
theme: string;
}
const TableRow = React.memo(({ isLastRow, children: _children, theme }: ITableRow) => {
2022-03-21 20:44:06 +00:00
const rowStyle: ViewStyle[] = [styles.row, { borderColor: themes[theme].borderColor }];
if (!isLastRow) {
rowStyle.push(styles.rowBottomBorder);
}
const children = React.Children.toArray(_children) as React.ReactElement[];
children[children.length - 1] = React.cloneElement(children[children.length - 1], {
isLastCell: true
});
return <View style={rowStyle}>{children}</View>;
});
export default TableRow;