Skip to content

Commit a3439e1

Browse files
Fix blinking badge not working (pt. 2), improve types
1 parent 53de4fd commit a3439e1

File tree

2 files changed

+14
-14
lines changed

2 files changed

+14
-14
lines changed

src/lib/components/BlinkingBadge.svelte

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<script lang="ts">
2-
import { onMount } from "svelte";
32
import { get } from "svelte/store";
3+
import { browser } from "$app/environment";
44
import { localStorageStore } from "$lib/localStorageStore";
55
66
/**
@@ -10,15 +10,14 @@
1010
1111
let showPulse = false;
1212
13-
onMount(() => {
14-
if (storedDateItem) {
15-
const storedDate = localStorageStore(storedDateItem, "");
16-
const lastVisitItem = localStorage.getItem("lastVisit");
17-
if (storedDate && lastVisitItem) {
18-
showPulse = new Date(get(storedDate)) > new Date(lastVisitItem);
19-
}
13+
$: if (storedDateItem && browser) {
14+
const storedDateStore = localStorageStore(storedDateItem, "");
15+
const storedDate = get(storedDateStore);
16+
const lastVisitItem = localStorage.getItem("lastVisit");
17+
if (storedDate && lastVisitItem) {
18+
showPulse = new Date(storedDate) > new Date(lastVisitItem);
2019
}
21-
});
20+
}
2221
</script>
2322

2423
{#if showPulse}

src/routes/+page.svelte

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,8 @@
9898
}
9999
]
100100
}
101-
} as const;
102-
let currentRepo: keyof typeof repos = "svelte";
101+
};
102+
let currentRepo: Tab = "svelte";
103103
104104
/**
105105
* Fetches releases from GitHub for the given category, for
@@ -108,7 +108,7 @@
108108
* @param category The category of the repos to fetch
109109
* @returns A promise that resolves to an array of flatten releases
110110
*/
111-
async function octokitResponse(category: keyof typeof repos) {
111+
async function octokitResponse(category: Tab) {
112112
return Promise.all(
113113
repos[category].repos.map(({ repoName, dataFilter }) =>
114114
octokit.rest.repos
@@ -134,8 +134,8 @@
134134
}
135135
136136
// Badges
137-
let previousTab: string = currentRepo;
138-
let visitedTabs: string[] = [];
137+
let previousTab: Tab = currentRepo;
138+
let visitedTabs: Tab[] = [];
139139
let loadedTabs: Tab[] = [];
140140
let isLoadingDone = false;
141141
$: if (loadedTabs.length === Object.keys(repos).length) {
@@ -252,6 +252,7 @@
252252

253253
// I have no clue how this can be undefined
254254
if (newValue) {
255+
// @ts-expect-error Svelte 5, please
255256
previousTab = newValue;
256257
}
257258
}}

0 commit comments

Comments
 (0)