From 6027bbdf7a7fa94ba3103f580f558b9b80b03cb8 Mon Sep 17 00:00:00 2001
From: Claude
Date: Mon, 3 Aug 2026 16:48:57 +0000
Subject: [PATCH] feat: add server icon, edit link, and permanent tabs to
plugin updater
Restores a few UI refinements from the pre-revert plugin-store work
(fbe520b..71d1368) that never made it back in: each server tab shows its
live favicon (or a Globe fallback) fetched via getServerStatus, tabs
linked to a real Server List listing are marked permanent so they can't
be accidentally deleted, and an external-link button next to linked tabs
opens that server's edit page. Also tightens the export button's padding
to match the rest of the toolbar row.
The external link now points at /serverlist/:slug/edit (the current
server management route) rather than the old /dashboard/servers/:slug
path from before the server list feature settled on its current routes.
---
src/routes/resources/plugins/index.tsx | 44 ++++++++++++++++++++++++--
src/util/serverlist/actions.ts | 34 +++++++++++++++++++-
2 files changed, 74 insertions(+), 4 deletions(-)
diff --git a/src/routes/resources/plugins/index.tsx b/src/routes/resources/plugins/index.tsx
index 1a338289..d4617dde 100644
--- a/src/routes/resources/plugins/index.tsx
+++ b/src/routes/resources/plugins/index.tsx
@@ -24,6 +24,8 @@ import Plus from 'lucide-icons-qwik/icons/Plus';
import RefreshCw from 'lucide-icons-qwik/icons/RefreshCw';
import Trash from 'lucide-icons-qwik/icons/Trash';
import X from 'lucide-icons-qwik/icons/X';
+import { Link } from '@qwik.dev/router';
+import ExternalLink from 'lucide-icons-qwik/icons/ExternalLink';
import { defaultDescription, generateHead } from '~/root';
import { Label, SelectMenu, Tabs } from '@luminescent/ui-qwik';
import PluginCard from '~/components/plugins/PluginCard';
@@ -108,6 +110,7 @@ export default component$(() => {
name: string;
slug: string;
plugins: { [id: string]: PluginType } | null;
+ icon: string | null;
}[]
>([]);
@@ -300,9 +303,10 @@ export default component$(() => {