in pages/milestones/[milestone].js [92:164]
function renderRows({ data }) {
const rows = [];
const colSpan = 7;
if (!data) {
return (
<tr>
<td colSpan={colSpan}>Loading...</td>
</tr>
);
}
if (data.length === 0) {
return (
<tr>
<td colSpan={colSpan}>
<p>There are no issues associated with this milestone yet.</p>
</td>
</tr>
);
}
for (let i = 0; i < data.length; i++) {
const issue = data[i] || {};
rows.push(
<tr key={`issue-${i}`}>
<td className="assignee">{renderAssignee(issue)}</td>
<td>
<span className={issue.priority || 'unprioritized'}>
{issue.priority ? issue.priority.toUpperCase() : <AlertIcon />}
</span>
</td>
<td>
<a
className="issueLink"
href={issue.url}
target="_blank"
rel="noopener noreferrer"
>
<strong>#{issue.number}:</strong> {issue.title}{' '}
<LinkIcon verticalAlign="middle" />
</a>
{issue.hasProject ? (
<a
href={issue.projectUrl}
target="_blank"
rel="noopener noreferrer"
className="projectLink"
>
{issue.projectName}
</a>
) : null}
</td>
<td>{issue.repository.name.replace('addons-', '')}</td>
<td>
<TimeAgo date={issue.updatedAt} />
</td>
<td>
<span
className="label"
style={{
backgroundColor: issue.stateLabelColor,
color: issue.stateLabelTextColor,
}}
>
{issue.stateLabel}
</span>
</td>
<td className="reviewers">{renderReviewers(issue)}</td>
</tr>,
);
}
return rows;
}