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

View File

@@ -9,9 +9,9 @@ import {
Loader2,
X,
ListTodo,
Wrench,
AudioWaveform,
Book,
Puzzle,
Server,
Sparkles,
} from 'lucide-react';
import { Button } from '@/components/ui/button';
import {
@@ -35,9 +35,9 @@ const STAGE_ICONS: Record<string, React.ElementType> = {
};
const EXTENSION_TYPE_ICONS: Record<string, React.ElementType> = {
plugin: Wrench,
mcp: AudioWaveform,
skill: Book,
plugin: Puzzle,
mcp: Server,
skill: Sparkles,
};
function TaskQueueItem({
@@ -54,7 +54,7 @@ function TaskQueueItem({
const isError = task.stage === InstallStage.ERROR;
const isRunning = !isDone && !isError;
const StageIcon = STAGE_ICONS[task.stage] || Download;
const TypeIcon = EXTENSION_TYPE_ICONS[task.extensionType] || Wrench;
const TypeIcon = EXTENSION_TYPE_ICONS[task.extensionType] || Puzzle;
const getTypeBadgeClass = () => {
switch (task.extensionType) {