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.name} + ) : ( + + ), + ...(linked + ? [ + + + , + ] + : []), + ]; + })} + {Object.keys(pluginsStore.servers).length < 1 && (

{t( @@ -402,7 +440,7 @@ export default component$(() => {