Fix out-of-order antenna note pagination

This commit is contained in:
Laura Hausmann 2023-08-08 00:11:15 +02:00
parent 79471cf450
commit 16702c4d6a
No known key found for this signature in database
GPG key ID: D044E84C5BE01605

View file

@ -126,17 +126,25 @@ export default define(meta, paramDef, async (ps, user) => {
readNote(user.id, notes); readNote(user.id, notes);
} }
const packedNotes = (await Notes.packMany(notes, user)).sort(
(a, b) =>
paginationMap.findIndex((p) => p[0] == a.id) -
paginationMap.findIndex((p) => p[0] == b.id),
);
if (notes.length < ps.limit) { if (notes.length < ps.limit) {
pagination = "-1"; pagination = "-1";
} else { } else {
// I'm so sorry, FIXME: rewrite pagination system // I'm so sorry, FIXME: rewrite pagination system
pagination = paginationMap.find( pagination = paginationMap.find(
(p) => p[0] == notes[notes.length - (notes.length > 1 ? 2 : 1)].id, (p) =>
p[0] ==
packedNotes[packedNotes.length - (packedNotes.length > 1 ? 2 : 1)].id,
)[1]; )[1];
} }
return { return {
pagination: pagination, pagination: pagination,
notes: await Notes.packMany(notes, user), notes: packedNotes,
}; };
}); });