/** * rBooks applet definitions — Book Card. */ import type { AppletDefinition, AppletLiveData } from "../../shared/applet-types"; const bookCard: AppletDefinition = { id: "book-card", label: "Book Card", icon: "📚", accentColor: "#92400e", ports: [ { name: "query-in", type: "string", direction: "input" }, { name: "book-out", type: "json", direction: "output" }, ], renderCompact(data: AppletLiveData): string { const { snapshot } = data; const title = (snapshot.title as string) || "Book"; const author = (snapshot.author as string) || ""; const progress = (snapshot.progress as number) || 0; const rating = (snapshot.rating as number) || 0; return `