import { ExternalLinkIcon } from "lucide-react";
import ExternalLink from "src/components/ExternalLink";
import Loading from "src/components/Loading";
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";
export function About() {
const { data: info } = useInfo();
const { data: albyMe, error: albyMeError } = useAlbyMe();
const lsps2Source = info?.jitChannelsLiquiditySource;
const lsps2Pubkey = lsps2Source?.includes("@")
? lsps2Source.split("@")[0]
: undefined;
const { data: lsps2NodeDetails } = useNodeDetails(lsps2Pubkey);
const lsps2Label =
lsps2NodeDetails?.alias ||
(lsps2Pubkey ? lsps2Pubkey.slice(0, 8) + "..." : lsps2Source);
const lsps2MinPaymentSizeSat = info?.jitChannelsMinPaymentSizeMsat
? Math.ceil(info.jitChannelsMinPaymentSizeMsat / 1000)
: undefined;
const lsps2MaxPaymentSizeSat = info?.jitChannelsMaxPaymentSizeMsat
? Math.floor(info.jitChannelsMaxPaymentSizeMsat / 1000)
: undefined;
if (!info || (info.albyAccountConnected && !albyMe && !albyMeError)) {
return
Alby Hub Version
{info.version || "dev"}
Lightning Node Backend
{backendTypeConfigs[info.backendType].title}
Database Storage
{info.databaseType === "postgres" ? "PostgreSQL" : info.databaseType === "sqlite" ? "SQLite" : info.databaseType}
VSS
{info.ldkVssEnabled ? `Enabled (${info.ldkVssUrl})` : "Disabled"}
Chain Data Source
{info.chainDataSourceType}
{info.chainDataSourceAddress && ({info.chainDataSourceAddress}
)}Just-in-Time channels Liquidity Source LSPS2
{lsps2Label}
)}{info.jitChannelsLiquiditySource}
{(lsps2MinPaymentSizeSat || lsps2MaxPaymentSizeSat) && (JIT payment size:{" "} {lsps2MinPaymentSizeSat ? new Intl.NumberFormat().format(lsps2MinPaymentSizeSat) : "?"} {" - "} {lsps2MaxPaymentSizeSat ? new Intl.NumberFormat().format(lsps2MaxPaymentSizeSat) : "?"}{" "} sats
)}Nostr Relays
{info.relays.map((relay) => (
{relay.url}
Connected Alby Account
{albyMe.email || albyMe.lightning_address}
Alby Hub Name
{albyMe.hub.name}
Alby Account Plan
{planName}