import { appPath } from "@agent-native/core/client/api-path"; import { IconBox, IconBrush, IconLayersIntersect } from "@tabler/icons-react"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; import type { LibraryPreset } from "../../../shared/library-presets"; const PRESET_ICONS = [IconBox, IconBrush, IconLayersIntersect]; export function LibraryPresetGrid({ presets, creatingId, onCreate, compact = false, }: { presets: LibraryPreset[]; creatingId?: string | null; onCreate: (presetId: string) => void; compact?: boolean; }) { if (!presets.length) return null; return (
{presets.map((preset, index) => { const Icon = PRESET_ICONS[index % PRESET_ICONS.length]; const colors = preset.styleBrief.palette ?? []; const loading = creatingId === preset.id; const references = preset.referenceImages ?? []; return (

{preset.title}

{preset.tags.slice(0, compact ? 2 : 3).map((tag) => ( {tag} ))} {references.length ? ( {references.length} refs ) : null}
{colors.slice(0, 4).map((color) => ( ))}

{preset.description}

{references.length ? (
{references.slice(0, 3).map((reference) => ( {reference.title} ))}
) : null} {!compact && preset.samplePrompts[0] ? (

Try: {preset.samplePrompts[0]}

) : null}
); })}
); }