export default function BoardRow()

in src/components/agile-row/agile-row.tsx [72:136]


export default function BoardRow(props: Props) {
  const {
    row,
    style,
    collapsedColumnIds,
    onCollapseToggle,
    onTapIssue,
    onTapCreateIssue,
    renderIssueCard,
    zoomedIn,
    columns,
    uiTheme,
  } = props;

  if (!row) {
    return null;
  }

  const isResolved: boolean = !!row?.issue?.resolved;
  return (
    <View testID="agileRow" style={style}>
      <View
        testID="agile-row-header"
        accessibilityLabel="agile-row-header"
        accessible={true}
        style={[styles.rowHeader, !zoomedIn ? styles.rowHeaderZoomedOut : null]}
      >
        <TouchableOpacity
          testID="agileRowCollapseButton"
          style={styles.collapseButton}
          onPress={() => onCollapseToggle(row)}
        >
          <IconAngleDownRight
            style={styles.collapseButtonIcon}
            isDown={!row.collapsed}
            size={19}
            color={uiTheme.colors.$text}
          />
          <Text
            style={[
              styles.rowHeaderText,
              !zoomedIn ? styles.rowHeaderTextZoomedOut : null,
              isResolved && styles.issueIdResolved,
            ]}
          >
            {row.id === 'orphans'
              ? i18n('Uncategorized Cards')
              : (row.issue && row.issue.summary) || row.name}
          </Text>
        </TouchableOpacity>

        {Boolean(row.issue) && (
          <TouchableOpacity onPress={() => onTapIssue(row.issue)}>
            <Text
              testID="agileRowIssueId"
              style={[
                styles.headerIssueId,
                isResolved && styles.issueResolved,
                !zoomedIn ? styles.headerIssueIdZoomedOut : null,
              ]}
            >
              {ApiHelper.getIssueId(row.issue)}
            </Text>
          </TouchableOpacity>
        )}