From 1b1046bb5c5caf43e55f3bb5915962a05319cc23 Mon Sep 17 00:00:00 2001 From: c0mrade Date: Mon, 1 Jun 2026 14:43:11 +0300 Subject: [PATCH] feat(admin-remnawave): add node/xray version icons like the panel The panel marks each node version with its product logo. Add an XrayIcon (the Xray core brand pinwheel, custom SVG like RemnawaveIcon) and put RemnawaveIcon before the remnanode version + XrayIcon before the xray version, matching the original node rows. Drop the redundant 'xray' word since the logo conveys it. --- src/components/icons/index.tsx | 16 ++++++++++++++++ src/pages/AdminRemnawave.tsx | 17 ++++++++++++++--- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/src/components/icons/index.tsx b/src/components/icons/index.tsx index 0fa9967..1b71d56 100644 --- a/src/components/icons/index.tsx +++ b/src/components/icons/index.tsx @@ -257,6 +257,22 @@ export const ChartIcon = ({ className }: IconProps) => ( ); +// Xray core brand logo (4-blade pinwheel) — matches the panel's node rows. +// Not a Phosphor glyph; kept custom like RemnawaveIcon for brand fidelity. +export const XrayIcon = ({ className }: IconProps) => ( + + + + + + +); + export const GlobeIcon = ({ className }: IconProps) => ( ); diff --git a/src/pages/AdminRemnawave.tsx b/src/pages/AdminRemnawave.tsx index bf9b64d..112a90d 100644 --- a/src/pages/AdminRemnawave.tsx +++ b/src/pages/AdminRemnawave.tsx @@ -47,6 +47,7 @@ import { StopIcon, ArrowPathIcon, RemnawaveIcon, + XrayIcon, DownloadIcon, UploadIcon, SubscriptionIcon, @@ -366,9 +367,19 @@ function NodeCard({ node, providerName, realtime, onAction, isLoading }: NodeCar {(node.versions?.node || node.versions?.xray) && ( - - {node.versions?.node && {node.versions.node}} - {node.versions?.xray && xray {node.versions.xray}} + + {node.versions?.node && ( + + + {node.versions.node} + + )} + {node.versions?.xray && ( + + + {node.versions.xray} + + )} )}