diff --git a/components/agents/AgentPresetCard.tsx b/components/agents/AgentPresetCard.tsx index c68c0fe39..7e58056f8 100644 --- a/components/agents/AgentPresetCard.tsx +++ b/components/agents/AgentPresetCard.tsx @@ -4,6 +4,10 @@ import { Copy, Pencil, Sparkles, Trash2, Video } from "lucide-react"; import { Badge } from "@/components/ui/badge"; import { cn } from "@/lib/utils"; import type { AgentPreset } from "@/types/agent"; +import { + AGENT_PRESET_PREVIEW_IMAGE_SIZES, + getAgentPresetPreviewImageUrl, +} from "./agent-preset-preview"; interface AgentPresetCardProps { preset: AgentPreset; @@ -22,11 +26,12 @@ export function AgentPresetCard({ onEdit, onDelete, }: AgentPresetCardProps) { - const previewUrl = + const rawPreviewUrl = preset.avatarUrl || preset.referenceAssets?.[0]?.thumbnailUrl || preset.referenceAssets?.[0]?.originalUrl || ""; + const previewUrl = getAgentPresetPreviewImageUrl(rawPreviewUrl); const ownerName = String(preset.owner?.name || "").trim() || String(preset.owner?.email || "").trim() || @@ -45,7 +50,7 @@ export function AgentPresetCard({ return (
) : ( diff --git a/components/agents/AgentPresetCardDark.tsx b/components/agents/AgentPresetCardDark.tsx index 8dc58eb5d..8ce5b843b 100644 --- a/components/agents/AgentPresetCardDark.tsx +++ b/components/agents/AgentPresetCardDark.tsx @@ -8,6 +8,10 @@ import { normalizeAgentPresetModeConfig, } from "@/lib/agents/preset-mode-config"; import type { AgentPreset } from "@/types/agent"; +import { + AGENT_PRESET_PREVIEW_IMAGE_SIZES, + getAgentPresetPreviewImageUrl, +} from "./agent-preset-preview"; interface AgentPresetCardDarkProps { preset: AgentPreset; @@ -30,11 +34,12 @@ export function AgentPresetCardDark({ index = 0, compact = false, }: AgentPresetCardDarkProps) { - const previewUrl = + const rawPreviewUrl = preset.avatarUrl || preset.referenceAssets?.[0]?.thumbnailUrl || preset.referenceAssets?.[0]?.originalUrl || ""; + const previewUrl = getAgentPresetPreviewImageUrl(rawPreviewUrl); const ownerName = String(preset.owner?.name || "").trim() || @@ -186,6 +191,10 @@ export function AgentPresetCardDark({ {preset.name} ) : ( @@ -260,8 +269,8 @@ export function AgentPresetCardDark({ whileHover={{ y: -8, scale: 1.02 }} whileTap={{ scale: 0.98 }} className={cn( - "group relative cursor-pointer", - "w-full aspect-[4/3]", + "group relative mx-auto cursor-pointer", + "aspect-[4/3] w-full max-w-[230px]", "rounded-2xl overflow-hidden", "bg-zinc-900", "transition-all duration-500", @@ -278,6 +287,10 @@ export function AgentPresetCardDark({ {preset.name} {/* 渐变遮罩 */} diff --git a/components/agents/AgentPresetCardNew.tsx b/components/agents/AgentPresetCardNew.tsx index ede484d4b..f364c045e 100644 --- a/components/agents/AgentPresetCardNew.tsx +++ b/components/agents/AgentPresetCardNew.tsx @@ -5,6 +5,10 @@ import { Copy, Pencil, Sparkles, Trash2, Video, Wand2, FileText } from "lucide-r import { Badge } from "@/components/ui/badge"; import { cn } from "@/lib/utils"; import type { AgentPreset } from "@/types/agent"; +import { + AGENT_PRESET_PREVIEW_IMAGE_SIZES, + getAgentPresetPreviewImageUrl, +} from "./agent-preset-preview"; interface AgentPresetCardNewProps { preset: AgentPreset; @@ -25,11 +29,12 @@ export function AgentPresetCardNew({ onDelete, index = 0, }: AgentPresetCardNewProps) { - const previewUrl = + const rawPreviewUrl = preset.avatarUrl || preset.referenceAssets?.[0]?.thumbnailUrl || preset.referenceAssets?.[0]?.originalUrl || ""; + const previewUrl = getAgentPresetPreviewImageUrl(rawPreviewUrl); const ownerName = String(preset.owner?.name || "").trim() || @@ -67,7 +72,7 @@ export function AgentPresetCardNew({ }} whileHover={{ y: -4 }} className={cn( - "group relative overflow-hidden rounded-2xl bg-white transition-all duration-300", + "group relative mx-auto w-full max-w-[230px] overflow-hidden rounded-2xl bg-white transition-all duration-300", "border border-slate-200/60 dark:border-slate-800/60", "shadow-[0_0_0_1px_rgba(0,0,0,0.02),0_2px_8px_rgba(0,0,0,0.04)]", "hover:shadow-[0_0_0_1px_rgba(0,0,0,0.03),0_12px_32px_rgba(0,0,0,0.08)]", @@ -100,6 +105,10 @@ export function AgentPresetCardNew({
- {step.options.map((option) => { + {step.options.map((option, optionIndex) => { const selected = selections[step.key] === option.key; + const previewUrl = getAgentPresetPreviewImageUrl(option.previewImageUrl || ""); return (