From f5c7663767656c232967a2fe342f382c1609f27a Mon Sep 17 00:00:00 2001 From: Mindfreak9100 Date: Wed, 28 Sep 2022 16:36:56 -0400 Subject: [PATCH] Move resolveIcon func to utils for reusability --- src/components/services/group.jsx | 5 +++-- src/components/services/item.jsx | 17 +---------------- src/utils/icon-resolver.js | 15 +++++++++++++++ 3 files changed, 19 insertions(+), 18 deletions(-) create mode 100644 src/utils/icon-resolver.js diff --git a/src/components/services/group.jsx b/src/components/services/group.jsx index 7fc86907..a963181c 100644 --- a/src/components/services/group.jsx +++ b/src/components/services/group.jsx @@ -1,7 +1,8 @@ -import classNames from "classnames"; import Image from "next/future/image"; +import classNames from "classnames"; import List from "components/services/list"; +import { resolveIcon } from "utils/icon-resolver"; export default function ServicesGroup({ services, layout }) { return ( @@ -14,7 +15,7 @@ export default function ServicesGroup({ services, layout }) { >
{services.icon && - logo + logo }

{services.name}

diff --git a/src/components/services/item.jsx b/src/components/services/item.jsx index 82f3741c..9d093bef 100644 --- a/src/components/services/item.jsx +++ b/src/components/services/item.jsx @@ -7,22 +7,7 @@ import Widget from "./widget"; import Docker from "./widgets/service/docker"; import { SettingsContext } from "utils/settings-context"; - -function resolveIcon(icon) { - if (icon.startsWith("http")) { - return `/api/proxy?url=${encodeURIComponent(icon)}`; - } - - if (icon.startsWith("/")) { - return icon; - } - - if (icon.endsWith(".png")) { - return `https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/png/${icon}`; - } - - return `https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/png/${icon}.png`; -} +import { resolveIcon } from "utils/icon-resolver"; export default function Item({ service }) { const hasLink = service.href && service.href !== "#"; diff --git a/src/utils/icon-resolver.js b/src/utils/icon-resolver.js new file mode 100644 index 00000000..0a7f1211 --- /dev/null +++ b/src/utils/icon-resolver.js @@ -0,0 +1,15 @@ +export function resolveIcon(icon) { + if (icon.startsWith("http")) { + return `/api/proxy?url=${encodeURIComponent(icon)}`; + } + + if (icon.startsWith("/")) { + return icon; + } + + if (icon.endsWith(".png")) { + return `https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/png/${icon}`; + } + + return `https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/png/${icon}.png`; +} \ No newline at end of file