diff --git a/schemaTypes/releaseType.ts b/schemaTypes/releaseType.ts index c4025d9..6912978 100644 --- a/schemaTypes/releaseType.ts +++ b/schemaTypes/releaseType.ts @@ -5,21 +5,37 @@ export const releaseType = defineType({ 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', - }), + defineField({ name: 'catalogNo', type: 'string' }), + defineField({ name: 'name', type: 'string' }), + defineField({ name: 'albumArtist', type: 'string' }), + defineField({ name: 'albumCover', type: 'image' }), ], -}) \ No newline at end of file + + 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, + } + }, + }, +})