Skip to content

Commit f94dfae

Browse files
feat(main-page): expand all unseen releases
Improve the expanded selection that will replace the old pulsing badges mechanism: - expand only the releases not seen yet since last visit - if never seen, still default to a week prior - always expand the first release if it's newer that a week prior
1 parent 39e259c commit f94dfae

File tree

2 files changed

+16
-49
lines changed

2 files changed

+16
-49
lines changed

src/lib/components/BlinkingBadge.svelte

Lines changed: 0 additions & 44 deletions
This file was deleted.

src/routes/package/[...package]/+page.svelte

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,16 @@
3333
);
3434
let showPrereleases = $state(true);
3535
36+
let lastUpdateDate: Date | undefined = undefined;
3637
$effect(() => {
37-
localStorage.setItem(`last-visited-${data.currentPackage.pkg.name}`, new Date().toISOString());
38+
const lastVisit = localStorage.getItem(
39+
`last-visited-${data.currentPackage.pkg.name.replace(" ", "-")}`
40+
);
41+
if (lastVisit) lastUpdateDate = new Date(lastVisit);
42+
localStorage.setItem(
43+
`last-visited-${data.currentPackage.pkg.name.replace(" ", "-")}`,
44+
new Date().toISOString()
45+
);
3846
});
3947
</script>
4048

@@ -131,10 +139,13 @@
131139
type="multiple"
132140
value={displayableReleases
133141
// Only expand releases that are less than a week old
134-
.filter(
135-
({ created_at }) =>
136-
new Date(created_at).getTime() > Date.now() - 1000 * 60 * 60 * 24 * 7
137-
)
142+
.filter(({ created_at, published_at }, index) => {
143+
const creationTimestamp = new Date(published_at ?? created_at).getTime();
144+
const aWeekAgo = Date.now() - 1000 * 60 * 60 * 24 * 7;
145+
if (index === 0 && creationTimestamp > aWeekAgo) return true; // always expand the first release if it is recent enough
146+
const maxDate = lastUpdateDate?.getTime() ?? aWeekAgo;
147+
return creationTimestamp > maxDate;
148+
})
138149
.map(({ id }) => id.toString())}
139150
class="w-full space-y-2"
140151
>

0 commit comments

Comments
 (0)