Use case
We're modelling content where editors need an ordered list of media per entry — e.g. a photo gallery on a past fundraiser, a slideshow on an event page, a stage-by-stage product photo set.
Today the field types in zod-generator (string/text/slug/url/number/integer/boolean/datetime/select/multiSelect/portableText/image/file/reference/json) don't include a multi-item / repeater type:
multiSelect is enum-of-strings only, not media.
image / file are single objects.
portableText allows inline images but the rendering is a story, not a grid; insertion is sequential not curated-as-a-set.
json works as a hand-edited escape hatch, but obviously has no media-picker UX.
What I'd hope to see
Either:
- A new field type like
gallery that stores Array<{ id, src?, alt?, caption?, … }> and renders a media-library multi-select picker in the admin, or
- A
multiple: true modifier on existing image / file / reference fields.
The plugin SDK can't fill this gap — plugin Block Kit elements don't include a media picker, and there's no field-type registration API.
Workaround we're using
Adding a portableText field for the outcome write-up (which gets inline images naturally) plus a single image field for one event photo. We'll come back to a real gallery affordance once a primitive lands upstream.
Related downstream
BHS-P-C/bhspandc-cms#6 — our outcome-report ticket that points back here.
Use case
We're modelling content where editors need an ordered list of media per entry — e.g. a photo gallery on a past fundraiser, a slideshow on an event page, a stage-by-stage product photo set.
Today the field types in zod-generator (string/text/slug/url/number/integer/boolean/datetime/select/multiSelect/portableText/image/file/reference/json) don't include a multi-item / repeater type:
multiSelectis enum-of-strings only, not media.image/fileare single objects.portableTextallows inline images but the rendering is a story, not a grid; insertion is sequential not curated-as-a-set.jsonworks as a hand-edited escape hatch, but obviously has no media-picker UX.What I'd hope to see
Either:
gallerythat storesArray<{ id, src?, alt?, caption?, … }>and renders a media-library multi-select picker in the admin, ormultiple: truemodifier on existingimage/file/referencefields.The plugin SDK can't fill this gap — plugin Block Kit elements don't include a media picker, and there's no field-type registration API.
Workaround we're using
Adding a
portableTextfield for the outcome write-up (which gets inline images naturally) plus a singleimagefield for one event photo. We'll come back to a real gallery affordance once a primitive lands upstream.Related downstream
BHS-P-C/bhspandc-cms#6 — our outcome-report ticket that points back here.