const reihenfolge = ["aktiv", "kalt", "erledigt", "gescheitert"];
const titel = {
aktiv: "Aktive Quests",
kalt: "Kalte Spur",
erledigt: "Abgeschlossen",
gescheitert: "Gescheitert",
};
const alle = dv.pages('"Quests"').where(p => p.type === "quest");
for (const status of reihenfolge) {
const gruppe = alle.where(p => p["quest-status"] === status);
if (!gruppe.length) continue;
dv.header(2, titel[status] + " (" + gruppe.length + ")");
dv.table(
["Quest", "Art", "Für", "Auftraggeber"],
gruppe
.sort(p => p["quest-type"])
.map(p => [p.file.link, p["quest-type"], p.owner, p.giver])
);
}
const ohne = alle.where(p => !reihenfolge.includes(p["quest-status"]));
if (ohne.length) {
dv.header(2, "Ohne Status (" + ohne.length + ")");
dv.list(ohne.map(p => p.file.link));
}