41 lines
977 B
TypeScript
41 lines
977 B
TypeScript
import {defineField, defineType} from 'sanity'
|
|
|
|
export const releaseType = defineType({
|
|
name: 'release',
|
|
title: 'Release',
|
|
type: 'document',
|
|
fields: [
|
|
defineField({ name: 'catalogNo', type: 'string' }),
|
|
defineField({ name: 'name', type: 'string' }),
|
|
defineField({ name: 'albumArtist', type: 'string' }),
|
|
defineField({ name: 'albumCover', type: 'image' }),
|
|
],
|
|
|
|
orderings: [
|
|
{
|
|
title: 'Catalog No (A → Z)',
|
|
name: 'catalogNoAsc',
|
|
by: [{field: 'catalogNo', direction: 'asc'}],
|
|
},
|
|
{
|
|
title: 'Catalog No (Z → A)',
|
|
name: 'catalogNoDesc',
|
|
by: [{field: 'catalogNo', direction: 'desc'}],
|
|
},
|
|
],
|
|
|
|
preview: {
|
|
select: {
|
|
title: 'name',
|
|
subtitle: 'catalogNo',
|
|
media: 'albumCover',
|
|
},
|
|
prepare({title, subtitle, media}) {
|
|
return {
|
|
title: title || '(Untitled release)',
|
|
subtitle: subtitle ? `Catalog: ${subtitle}` : '',
|
|
media,
|
|
}
|
|
},
|
|
},
|
|
})
|