Relay 0.5.6: de eigenaars op volgorde van laatst gezien
Meest recent bovenaan, in beide kaders en over de groepen heen. De rijen stonden in de volgorde van het bestand, dus van binnenkomst. De volgorde schuift mee zonder herladen: de ronde van vijf seconden bouwt de lijsten toch al opnieuw op. Alleen de pagina, dus geen nieuwe image. Erbij gevonden en als open taak genoteerd: lastSeen wordt alleen bij de verbinding gezet, niet bij een sync erover. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
cd4c7da0d7
commit
7b3804df89
@@ -1243,13 +1243,33 @@ body {
|
||||
}
|
||||
|
||||
// ── De lijsten ────────────────────────────────────────────────────────────
|
||||
// Meest recent gezien bovenaan, over de groepen heen: in het kader met
|
||||
// geweigerden staat een blokkade van vanmorgen dus boven een afgewezen poging van
|
||||
// vorige week, en niet andersom omdat "blocked" nu eenmaal eerst kwam. Tot 0.5.5
|
||||
// stonden de rijen in de volgorde van het bestand, en dat is de volgorde waarin
|
||||
// eigenaars ooit binnenkwamen; die zegt na een week niets meer. Op verzoek van
|
||||
// de gebruiker, 07-09-2026.
|
||||
//
|
||||
// De volgorde verschuift vanzelf mee: de ronde van vijf seconden bouwt de lijst
|
||||
// elke keer opnieuw op, dus hier hoeft niets voor herladen te worden. Wat
|
||||
// "gezien" hier betekent staat bij het relay-proces: het tijdstip van de laatste
|
||||
// verbinding, niet van de laatste sync erover.
|
||||
function seenAt(entry) {
|
||||
var when = new Date(entry.lastSeen || entry.firstSeen || 0).getTime();
|
||||
return isNaN(when) ? 0 : when;
|
||||
}
|
||||
|
||||
function fillList(id, groups, emptyText) {
|
||||
var holder = el(id);
|
||||
var total = 0;
|
||||
groups.forEach(function (group) { total += group.entries.length; });
|
||||
var rows = [];
|
||||
groups.forEach(function (group) {
|
||||
group.entries.forEach(function (entry) {
|
||||
rows.push({ entry: entry, kind: group.kind });
|
||||
});
|
||||
});
|
||||
|
||||
holder.textContent = '';
|
||||
if (total === 0) {
|
||||
if (rows.length === 0) {
|
||||
var empty = document.createElement('p');
|
||||
empty.className = 'list-empty';
|
||||
empty.textContent = emptyText;
|
||||
@@ -1257,10 +1277,9 @@ body {
|
||||
return;
|
||||
}
|
||||
|
||||
groups.forEach(function (group) {
|
||||
group.entries.forEach(function (entry) {
|
||||
holder.appendChild(ownerRow(entry, group.kind));
|
||||
});
|
||||
rows.sort(function (a, b) { return seenAt(b.entry) - seenAt(a.entry); });
|
||||
rows.forEach(function (row) {
|
||||
holder.appendChild(ownerRow(row.entry, row.kind));
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user