Skip to content

Commit e08194b

Browse files
chore: use runed to replace manual localstorage utility
1 parent bddd1e4 commit e08194b

File tree

5 files changed

+26
-44
lines changed

5 files changed

+26
-44
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
"prettier-plugin-svelte": "^3.3.3",
5252
"prettier-plugin-tailwindcss": "^0.6.11",
5353
"rehype-raw": "^7.0.0",
54+
"runed": "^0.26.0",
5455
"semver": "^7.7.1",
5556
"shiki": "^3.4.0",
5657
"svelte": "^5.28.2",

pnpm-lock.yaml

Lines changed: 13 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/lib/components/BlinkingBadge.svelte

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<script lang="ts">
22
import { type Snippet } from "svelte";
3-
import { persisted } from "$lib/persisted.svelte";
3+
import { PersistedState } from "runed";
44
55
type Props = {
66
/**
@@ -18,12 +18,13 @@
1818
1919
let shouldShowPulse = $state(false);
2020
21+
let storedDate: PersistedState<string>;
2122
$effect(() => {
2223
if (!storedDateItem) return;
23-
const storedDate = persisted(storedDateItem, "").value;
24+
storedDate = new PersistedState(storedDateItem, "");
2425
const lastVisitItem = localStorage.getItem("lastVisit");
25-
if (storedDate && lastVisitItem) {
26-
shouldShowPulse = new Date(storedDate) > new Date(lastVisitItem);
26+
if (storedDate.current && lastVisitItem) {
27+
shouldShowPulse = new Date(storedDate.current) > new Date(lastVisitItem);
2728
}
2829
});
2930
</script>

src/lib/persisted.svelte.ts

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

src/routes/package/SidePanel.svelte

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,16 @@
33
import { browser } from "$app/environment";
44
import { page } from "$app/state";
55
import { ChevronRight } from "@lucide/svelte";
6+
import { PersistedState } from "runed";
67
import type { GitHubRelease } from "$lib/server/github-cache";
78
import type { CategorizedPackage } from "$lib/server/package-discoverer";
89
import type { Prettify } from "$lib/types";
9-
import { persisted } from "$lib/persisted.svelte";
1010
import { cn } from "$lib/utils";
1111
import { Badge } from "$lib/components/ui/badge";
12+
import * as Card from "$lib/components/ui/card";
1213
import { Checkbox } from "$lib/components/ui/checkbox";
1314
import { Label } from "$lib/components/ui/label";
1415
import { Separator } from "$lib/components/ui/separator";
15-
import * as Card from "$lib/components/ui/card";
1616
1717
type CleanRelease = { cleanName: string; cleanVersion: string } & GitHubRelease;
1818
@@ -55,11 +55,12 @@
5555
}: Props = $props();
5656
let id = $props.id();
5757
58+
let storedPrereleaseState = new PersistedState(
59+
`show-${packageName}-prereleases`,
60+
showPrereleases
61+
);
5862
$effect(() => {
59-
let storedPrereleaseState = persisted(`show-${packageName}-prereleases`, showPrereleases);
60-
$effect(() => {
61-
storedPrereleaseState.value = showPrereleases;
62-
});
63+
storedPrereleaseState.current = showPrereleases;
6364
});
6465
6566
/**

0 commit comments

Comments
 (0)