import { defineConfig } from 'sanity' import { structureTool } from 'sanity/structure' import { visionTool } from '@sanity/vision' import { schemaTypes } from './src/sanity/schemas' export default defineConfig({ projectId: import.meta.env.PUBLIC_SANITY_PROJECT_ID, dataset: import.meta.env.PUBLIC_SANITY_DATASET ?? 'production', document: { // Filter document actions actions: (prev, context) => { // For singleton documents like site settings if (context.schemaType === 'theaterHomepage') { // Only allow publish action (equivalent to ["update", "publish"]) return prev.filter(({action}) => action === 'publish') } return prev }, // Prevent creating new documents of this type newDocumentOptions: (prev, context) => { return prev.filter( (template) => template.templateId !== 'siteSettings' ) } }, plugins: [ structureTool({ structure: (S) => S.list() .title('Content') .items([ S.listItem() .title('Theater Homepage') .child( S.document() .schemaType('theaterHomepage') .documentId('theaterHomepage') ), ]), }), visionTool(), ], schema: { types: schemaTypes }, })