From fbaff5d8a0fb7420a2e1cd99e505f0e154e29dfd Mon Sep 17 00:00:00 2001 From: Roland <33993199+rolznz@users.noreply.github.com> Date: Thu, 6 Aug 2026 17:21:00 +0700 Subject: [PATCH] fix: show icon and proper name for lightning node backend on about page (#2501) Co-authored-by: Claude Fable 5 --- frontend/src/lib/backendType.ts | 40 -------------- frontend/src/lib/backendType.tsx | 68 ++++++++++++++++++++++++ frontend/src/screens/settings/About.tsx | 10 ++-- frontend/src/screens/setup/SetupNode.tsx | 60 +++------------------ 4 files changed, 82 insertions(+), 96 deletions(-) delete mode 100644 frontend/src/lib/backendType.ts create mode 100644 frontend/src/lib/backendType.tsx diff --git a/frontend/src/lib/backendType.ts b/frontend/src/lib/backendType.ts deleted file mode 100644 index 026a4d62..00000000 --- a/frontend/src/lib/backendType.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { BackendType } from "src/types"; - -type BackendTypeConfig = { - hasMnemonic: boolean; - hasChannelManagement: boolean; - hasNodeBackup: boolean; -}; - -export const backendTypeConfigs: Record = { - LND: { - hasMnemonic: false, - hasChannelManagement: true, - hasNodeBackup: false, - }, - LDK: { - hasMnemonic: true, - hasChannelManagement: true, - hasNodeBackup: true, - }, - PHOENIX: { - hasMnemonic: false, - hasChannelManagement: false, - hasNodeBackup: false, - }, - CASHU: { - hasMnemonic: true, - hasChannelManagement: false, - hasNodeBackup: false, - }, - CLN: { - hasMnemonic: false, - hasChannelManagement: true, - hasNodeBackup: false, - }, - BARK: { - hasMnemonic: true, - hasChannelManagement: false, - hasNodeBackup: false, - }, -}; diff --git a/frontend/src/lib/backendType.tsx b/frontend/src/lib/backendType.tsx new file mode 100644 index 00000000..4d4a8d20 --- /dev/null +++ b/frontend/src/lib/backendType.tsx @@ -0,0 +1,68 @@ +import { ReactElement } from "react"; +import { LDKIcon } from "src/components/icons/LDK"; +import { PhoenixdIcon } from "src/components/icons/Phoenixd"; +import { BackendType } from "src/types"; + +import barkDark from "src/assets/images/node/bark-dark.svg"; +import barkLight from "src/assets/images/node/bark-light.svg"; +import cashu from "src/assets/images/node/cashu.png"; +import cln from "src/assets/images/node/cln.png"; +import lnd from "src/assets/images/node/lnd.png"; + +type BackendTypeConfig = { + title: string; + icon: ReactElement; + hasMnemonic: boolean; + hasChannelManagement: boolean; + hasNodeBackup: boolean; +}; + +export const backendTypeConfigs: Record = { + LDK: { + title: "LDK", + icon: , + hasMnemonic: true, + hasChannelManagement: true, + hasNodeBackup: true, + }, + PHOENIX: { + title: "phoenixd", + icon: , + hasMnemonic: false, + hasChannelManagement: false, + hasNodeBackup: false, + }, + LND: { + title: "LND", + icon: , + hasMnemonic: false, + hasChannelManagement: true, + hasNodeBackup: false, + }, + CASHU: { + title: "Cashu Mint", + icon: , + hasMnemonic: true, + hasChannelManagement: false, + hasNodeBackup: false, + }, + CLN: { + title: "CLN", + icon: , + hasMnemonic: false, + hasChannelManagement: true, + hasNodeBackup: false, + }, + BARK: { + title: "Bark", + icon: ( + <> + + + + ), + hasMnemonic: true, + hasChannelManagement: false, + hasNodeBackup: false, + }, +}; diff --git a/frontend/src/screens/settings/About.tsx b/frontend/src/screens/settings/About.tsx index f503265f..e82f784b 100644 --- a/frontend/src/screens/settings/About.tsx +++ b/frontend/src/screens/settings/About.tsx @@ -5,6 +5,7 @@ import SettingsHeader from "src/components/SettingsHeader"; import { Badge } from "src/components/ui/badge"; import { useAlbyMe } from "src/hooks/useAlbyMe"; import { useNodeDetails } from "src/hooks/useNodeDetails"; +import { backendTypeConfigs } from "src/lib/backendType"; import { useInfo } from "src/hooks/useInfo"; @@ -58,9 +59,12 @@ export function About() {

Lightning Node Backend

-

- {info.backendType} -

+
+
+ {backendTypeConfigs[info.backendType].icon} +
+

{backendTypeConfigs[info.backendType].title}

+
{info.chainDataSourceType && (
diff --git a/frontend/src/screens/setup/SetupNode.tsx b/frontend/src/screens/setup/SetupNode.tsx index 8f229bea..0cd5349e 100644 --- a/frontend/src/screens/setup/SetupNode.tsx +++ b/frontend/src/screens/setup/SetupNode.tsx @@ -1,66 +1,20 @@ -import React, { ReactElement } from "react"; +import React from "react"; import { useNavigate } from "react-router"; import Container from "src/components/Container"; import TwoColumnLayoutHeader from "src/components/TwoColumnLayoutHeader"; -import { LDKIcon } from "src/components/icons/LDK"; -import { PhoenixdIcon } from "src/components/icons/Phoenixd"; import { Button } from "src/components/ui/button"; import { cn } from "src/lib/utils"; import { BackendType } from "src/types"; -import barkDark from "src/assets/images/node/bark-dark.svg"; -import barkLight from "src/assets/images/node/bark-light.svg"; -import cashu from "src/assets/images/node/cashu.png"; -import cln from "src/assets/images/node/cln.png"; -import lnd from "src/assets/images/node/lnd.png"; import { backendTypeConfigs } from "src/lib/backendType"; import useSetupStore from "src/state/SetupStore"; -type BackendTypeDisplayConfig = { - title: string; - icon: ReactElement; -}; - -const backendTypeDisplayConfigs: Partial< - Record -> = { - LDK: { - title: "LDK", - icon: , - }, - PHOENIX: { - title: "phoenixd", - icon: , - }, - LND: { - title: "LND", - icon: , - }, - CASHU: { - title: "Cashu Mint", - icon: , - }, - CLN: { - title: "CLN", - icon: , - }, - BARK: { - title: "Bark", - icon: ( - <> - - - - ), - }, -}; - -const backendTypeDisplayConfigList = Object.entries( - backendTypeDisplayConfigs -).map((entry) => ({ - ...entry[1], - backendType: entry[0] as BackendType, -})); +const backendTypeDisplayConfigList = Object.entries(backendTypeConfigs).map( + (entry) => ({ + ...entry[1], + backendType: entry[0] as BackendType, + }) +); export function SetupNode() { const navigate = useNavigate();