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$(() => {
({
+ values={Object.entries(pluginsStore.servers).map(([k, v]) => ({
name: k,
value: k,
+ permanent: !!v.serverId,
}))}
value={
pluginsStore.openServer
@@ -330,7 +334,41 @@ export default component$(() => {
pluginsStore.openServer = serverName;
}
}}
- >
+ >
+ {Object.keys(pluginsStore.servers).map((k, i) => {
+ const s = pluginsStore.servers[k];
+ const linked = userServers.value.find((us) => us.id === s.serverId);
+ return [
+ linked?.icon ? (
+
+ ) : (
+
+ ),
+ ...(linked
+ ? [
+
+
+ ,
+ ]
+ : []),
+ ];
+ })}
+
{Object.keys(pluginsStore.servers).length < 1 && (
{t(
@@ -402,7 +440,7 @@ export default component$(() => {