in pages/projects/[year]/[quarter].js [37:79]
function buildMetaData(projectData) {
const newProjectData = { ...projectData };
if (projectData.data) {
const augmentedProjects =
newProjectData.data.organization.projects.nodes.map((project) => {
const [meta, updatedHTML] = parseProjectMeta(project.bodyHTML);
project.bodyHTML = updatedHTML;
const todoColumn = project.columns.edges.find((column) => {
return column.node.name === 'To do';
});
const inProgressColumn = project.columns.edges.find((column) => {
return column.node.name === 'In progress';
});
const doneColumn = project.columns.edges.find((column) => {
return column.node.name === 'Done';
});
const todoCount =
(todoColumn && parseInt(todoColumn.node.cards.totalCount, 10)) || 0;
const inProgressCount =
(inProgressColumn &&
parseInt(inProgressColumn.node.cards.totalCount, 10)) ||
0;
const doneCount =
(doneColumn && parseInt(doneColumn.node.cards.totalCount, 10)) || 0;
const totalCount = todoCount + inProgressCount + doneCount;
const donePerc = totalCount ? (100 / totalCount) * doneCount : 0;
const inProgressPerc = totalCount
? (100 / totalCount) * inProgressCount
: 0;
project.meta = {
...meta,
todoCount,
inProgressCount,
doneCount,
donePerc,
inProgressPerc,
};
return project;
});
newProjectData.data.organization.projects.nodes = augmentedProjects;
}
return newProjectData;
}