fix(web): distinct extension-format icons (plugin/mcp/skill)

The format filter used Wrench/AudioWaveform/Book for plugin/mcp/skill,
which collided with the plugin-component icons (Tool/EventListener/
KnowledgeEngine) shown right below. Switch formats to Puzzle/Server/
Sparkles — matching the canonical getTypeIcon used by the detail badges
— across the market filter, installed filter, install-queue map and
install-progress dialog.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Junyan Qin
2026-06-04 21:34:23 +08:00
parent c967a2aa82
commit 3b4c455813
4 changed files with 23 additions and 17 deletions
@@ -21,8 +21,7 @@ import { extractI18nObject } from '@/i18n/I18nProvider';
import { toast } from 'sonner';
import { useAsyncTask, AsyncTaskStatus } from '@/hooks/useAsyncTask';
import { useSidebarData } from '@/app/home/components/home-sidebar/SidebarDataContext';
import { Loader2, Puzzle } from 'lucide-react';
import { Wrench, AudioWaveform, Book } from 'lucide-react';
import { Loader2, Puzzle, Server, Sparkles } from 'lucide-react';
export interface PluginInstalledComponentRef {
refreshPluginList: () => void;
@@ -44,14 +43,18 @@ export const FilterOptions = [
{
value: 'plugin' as FilterType,
labelKey: 'market.typePlugin',
icon: Wrench,
icon: Puzzle,
},
{
value: 'mcp' as FilterType,
labelKey: 'market.typeMCP',
icon: AudioWaveform,
icon: Server,
},
{
value: 'skill' as FilterType,
labelKey: 'market.typeSkill',
icon: Sparkles,
},
{ value: 'skill' as FilterType, labelKey: 'market.typeSkill', icon: Book },
];
interface PluginInstalledComponentProps {