import type { Particle } from "@/api/types"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "@/components/ui/card"; import { FileIcon, HelpCircleIcon, ScrollTextIcon, BookOpenIcon } from "lucide-react"; const TYPE_META: Record = { quest: { icon: ScrollTextIcon, label: "Quest" }, paper: { icon: BookOpenIcon, label: "Paper" }, file: { icon: FileIcon, label: "File" }, }; interface FallbackParticleViewProps { particle: Particle; } export function FallbackParticleView({ particle }: FallbackParticleViewProps) { const meta = TYPE_META[particle.type] ?? { icon: HelpCircleIcon, label: particle.type, }; const Icon = meta.icon; const title = (() => { switch (particle.type) { case "quest": return particle.properties.title; case "paper": return particle.properties.title; case "file": return particle.properties.filename; case "folder": return particle.properties.name; default: return null; } })(); return (
{meta.label} {title && {title}}

From {particle.created_by_human_id}

); }