diff options
Diffstat (limited to 'src/index.tsx')
| -rwxr-xr-x | src/index.tsx | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/src/index.tsx b/src/index.tsx index 74af918..ed3327f 100755 --- a/src/index.tsx +++ b/src/index.tsx @@ -1,12 +1,13 @@ import {useEffect, useState} from "react"; import {FaClipboardList} from "react-icons/fa"; -import {definePlugin} from "decky-frontend-lib"; import remarkHtml from "remark-html" import remarkParse from "remark-parse" import remarkGfm from "remark-gfm" import {unified} from "unified" import {patchPartnerEventStore} from "./PartnerEventStorePatch"; import {staticClasses} from "@decky/ui"; +import {definePlugin} from "@decky/api" +import {fetchReleases} from "./FetchReleases"; function Content() { const [changelogHtml, setChangelogHtml] = useState<string | null>(null); @@ -14,25 +15,20 @@ function Content() { const [isRefreshing, setIsRefreshing] = useState<boolean>(false); const fetchChangelog = async (signal?: AbortSignal) => { - const url = "https://api.github.com/repos/ublue-os/bazzite/releases/latest"; try { - const response = await fetch(url, { - headers: { - Accept: "application/vnd.github.v3+json", - }, - signal, - }); + const generator = fetchReleases(signal); + const iterator = await generator.next(); - if (!response.ok) { - throw new Error(`Failed to fetch: ${response.statusText}`); + if (!iterator || iterator.done) { + setError("An unknown error occurred while fetching the changelog."); + return; } - const data = await response.json(); const html = await unified() .use(remarkParse) .use(remarkGfm) .use(remarkHtml) - .process(data.body) + .process(iterator.value.body); setChangelogHtml(html.value as string); setError(null); @@ -181,6 +177,7 @@ function Content() { ); } +// noinspection JSUnusedGlobalSymbols export default definePlugin(() => { const patches = patchPartnerEventStore(); |
