in experimenter/experimenter/nimbus-ui/src/components/PageHome/sortByStatus.ts [13:53]
function sortByStatus(
experiments: getAllExperiments_experiments[] = [],
owner: string,
) {
return experiments.reduce<ExperimentCollector>(
(collector, experiment) => {
const status = getStatus(experiment);
if (status.archived) {
collector.archived.push(experiment);
} else if (status.live) {
collector.live.push(experiment);
} else if (status.complete) {
collector.complete.push(experiment);
} else if (status.draft && !status.idle) {
collector.review.push(experiment);
} else if (status.preview) {
collector.preview.push(experiment);
} else {
collector.draft.push(experiment);
}
if (
experiment.owner.username === owner ||
experiment.subscribers.map((s) => s.username).includes(owner)
) {
collector.owned.push(experiment);
}
return collector;
},
{
draft: [],
preview: [],
review: [],
live: [],
complete: [],
archived: [],
owned: [],
},
);
}