import {defineArrayMember, defineField, defineType} from 'sanity' import {UsersIcon} from '@sanity/icons' export const artistType = defineType({ name: 'artist', title: 'Artist', type: 'document', icon: UsersIcon, fieldsets: [{name: 'main', title: 'Main Info', options: {columns: 2}}], fields: [ defineField({ name: 'name', title: 'Name', type: 'string', fieldset: 'main', validation: (Rule) => Rule.required(), }), defineField({ name: 'sortKey', title: 'Sorting Key', type: 'string', fieldset: 'main', validation: (Rule) => Rule.required(), }), defineField({ name: 'slug', title: 'Slug', type: 'slug', fieldset: 'main', options: {source: 'name', maxLength: 96}, validation: (Rule) => Rule.required(), }), defineField({ name: 'role', title: 'Role', type: 'string', fieldset: 'main', }), defineField({ name: 'image', title: 'Image', type: 'image', options: {hotspot: true}, }), defineField({ name: 'bio', title: 'Biography', type: 'array', of: [defineArrayMember({type: 'block'})], }), ], orderings: [ { title: 'First Name (A → Z)', name: 'nameAsc', by: [{field: 'name', direction: 'asc'}], }, { title: 'Last Name (A → Z)', name: 'sortKeyAsc', by: [{field: 'sortKey', direction: 'asc'}], }, ], preview: { select: {title: 'name', subtitle: 'role', media: 'image'}, }, })