diff --git a/src/pages/desktop/plugins/index.astro b/src/pages/desktop/plugins/index.astro index 306d221..b6ca109 100644 --- a/src/pages/desktop/plugins/index.astro +++ b/src/pages/desktop/plugins/index.astro @@ -1,5 +1,6 @@ --- import { Image } from "astro:assets"; +import { Icon } from "astro-icon/components"; import { isNil, reverse, sortBy } from "lodash-es"; import Banner from "../../../components/Banner.astro"; import Default from "../../../images/plugins/default-screenshot.jpg"; @@ -8,18 +9,39 @@ import { PluginsFilters } from "../../../components/plugins/PluginsFilters"; import type { Plugin } from "../../../type"; import { pluginElementId } from "../../../components/plugins/utils"; -const pluginsDataRequest = await fetch( - "https://raw.githubusercontent.com/gephi/gephi-plugins/refs/heads/gh-pages/plugins/plugins.json", -); +const pluginsDataUrl = "https://raw.githubusercontent.com/gephi/gephi-plugins/refs/heads/gh-pages/plugins/plugins.json"; +let pluginsData: Plugin[] | null = null; -const pluginsData: Plugin[] | null = pluginsDataRequest.ok - ? reverse(sortBy((await pluginsDataRequest.json()).plugins as Plugin[], (p) => new Date(p.last_update))) - : null; +try { + const pluginsDataRequest = await fetch(pluginsDataUrl); + + if (pluginsDataRequest.ok) { + pluginsData = reverse( + sortBy((await pluginsDataRequest.json()).plugins as Plugin[], (p) => new Date(p.last_update)), + ); + } +} catch (error) { + console.error("Plugins data could not be loaded:", error); +} --- -

Gephi plugins

+
@@ -42,11 +64,11 @@ const pluginsData: Plugin[] | null = pluginsDataRequest.ok > {!isNil(p.images) && p.images[0] !== undefined ? ( - ) : (