Feature request: native repeater/array field type (e.g. "gallery" of media) #1769
khoinguyenpham04
announced in
Roadmap
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
This Roadmap discussion mirrors #1369: Feature request: native repeater/array field type (e.g. "gallery" of media).
Use this discussion to upvote the roadmap item and discuss priority, use cases, and product feedback. Keep implementation tracking, reproduction details, and PR-specific feedback on the source issue.
Original Issue
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.
All reactions