Best way to combine media types in a card layout view?

Hi there!
I’m trying to create a media gallery where users can:

  • Upload image files
  • Add video embeds (YouTube, Vimeo URLs)
  • Reorder both types together
  • Preview everything in a cards/grid layout

So something like this, but where I can mix in text fields for video embeds alongside the uploaded images:

I currently have three workarounds, but none are ideal:

  1. Adding placeholder images to a file gallery and adding the embed link in a field inside it

  1. Blocks (each piece of media takes up too much vertical space, making long galleries hard to navigate)

  1. Structure fields (inefficient use of space. I’d prefer to see just thumbnail previews, rather than all the fields upfront.)

Is there a plugin or approach that would let me achieve something closer to the cards layout but with mixed media types? Or a way to customize the structure field display to be more compact/visual?

Thanks!

But your blocks example only looks like that because you are using preview: fields?

Yes. But without preview: fields, there isn’t any visual indication of what the image is. I’d still like there to be a preview, but just in a more compact cards format, rather than an entire row with all the fields exposed.