import { defineField, defineType } from "sanity"; import { orderRankField } from "@sanity/orderable-document-list"; export default defineType({ name: "venue", title: "Curated Venue", type: "document", fields: [ defineField({ name: "name", title: "Venue Name", type: "string", validation: (Rule) => Rule.required(), }), defineField({ name: "region", title: "Region", type: "string", description: "e.g. 'Phu Quoc', 'Da Nang', 'Saigon River'", validation: (Rule) => Rule.required(), }), defineField({ name: "logo", title: "Logo Image", type: "image", options: { hotspot: true }, fields: [ { name: "alt", type: "string", title: "Alternative Text", }, ], }), defineField({ name: "logoUrl", title: "Static Logo Fallback URL", type: "string", description: "Fallback static image path (e.g. '/images/venues/intercontinental-phu-quoc.webp')", }), defineField({ name: "url", title: "Website URL", type: "url", validation: (Rule) => Rule.required(), }), defineField({ name: "width", title: "Logo Display Width", type: "number", initialValue: 200, }), defineField({ name: "height", title: "Logo Display Height", type: "number", initialValue: 90, }), orderRankField({ type: "venue" }), ], preview: { select: { title: "name", subtitle: "region", media: "logo", }, }, });