import { defineField, defineType } from "sanity"; import { Columns3 } from "lucide-react"; export default defineType({ name: "scenariosGrid", title: "Scenarios Comparison Grid", type: "object", icon: Columns3, fields: [ defineField({ name: "items", title: "Scenarios", type: "array", of: [ { type: "object", name: "scenario", fields: [ defineField({ name: "title", title: "Scenario Title", type: "string", validation: (Rule) => Rule.required(), }), defineField({ name: "upside", title: "Advantage / Lợi ích", type: "text", rows: 3, }), defineField({ name: "downside", title: "Trade-off / Risk / Thách thức", type: "text", rows: 3, }), ], preview: { select: { title: "title", subtitle: "upside", }, }, }, ], }), ], preview: { select: { items: "items", }, prepare({ items }) { const count = items?.length || 0; return { title: `Scenarios Grid (${count} scenario${count === 1 ? "" : "s"})`, subtitle: items?.map((i: any) => i.title).join(", "), }; }, }, });