From 42e70f72ffbd378bca1e6efed870c4212f8e48c1 Mon Sep 17 00:00:00 2001 From: c0mrade Date: Thu, 5 Feb 2026 11:42:54 +0300 Subject: [PATCH] fix: restyle app cards to match original RemnaWave UI and debug icons MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Redesign app selector from small pills to card buttons with name left and large SVG icon right matching original RemnaWave subscription page - Remove broken getAppIcon fallback (📦) for unknown apps - Add svgIconKey field to app types for app-level logo from svgLibrary - Use app.svgIconKey for admin apps page icons - Increase subscription page tile opacity to 50% for readability - Add temporary debug log to diagnose missing svgIconKey on apps --- src/pages/Connection.tsx | 37 ++++++++++++++++++++++++++----------- 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/src/pages/Connection.tsx b/src/pages/Connection.tsx index 791fb87..4abd76e 100644 --- a/src/pages/Connection.tsx +++ b/src/pages/Connection.tsx @@ -370,6 +370,25 @@ export default function Connection() { }); }; + // DEBUG: log app data to check svgIconKey presence + if (isRemnawave && appConfig?.platforms) { + const firstPlatformKey = Object.keys(appConfig.platforms)[0]; + if (firstPlatformKey) { + const pd = appConfig.platforms[firstPlatformKey]; + if (pd && !Array.isArray(pd) && 'apps' in pd) { + console.log( + '[DEBUG] RemnaWave apps:', + pd.apps.map((a: RemnawaveAppClient) => ({ + name: a.name, + svgIconKey: a.svgIconKey, + keys: Object.keys(a), + })), + ); + console.log('[DEBUG] svgLibrary keys:', Object.keys(appConfig.svgLibrary || {})); + } + } + } + // Loading if (isLoading) { return ( @@ -477,9 +496,9 @@ export default function Connection() { )} - {/* App chips row */} + {/* App cards row */} {currentPlatformApps.length > 0 && ( -
+
{currentPlatformApps.map((app, idx) => { const isSelected = currentApp?.name === app.name; const appIconSvg = getSvgHtml(app.svgIconKey); @@ -487,24 +506,20 @@ export default function Connection() { ); })}