Media Gallery
The MediaGallery component allows you to display multiple media
items in a grid layout.
Basic usage
src/app/commands/gallery-example.tsx
import {
  type ChatInputCommand,
  MediaGallery,
  MediaGalleryItem,
  TextDisplay,
} from 'commandkit';
import { MessageFlags } from 'discord.js';
export const chatInput: ChatInputCommand = async ({ interaction }) => {
  const images = [
    'https://cdn.discordapp.com/embed/avatars/0.png',
    'https://cdn.discordapp.com/embed/avatars/1.png',
    'https://cdn.discordapp.com/embed/avatars/2.png',
  ];
  const components = [
    <TextDisplay content="# Discord Avatars Gallery" />,
    <MediaGallery>
      {images.map((url, index) => (
        <MediaGalleryItem url={url} description={`Avatar ${index + 1}`} />
      ))}
    </MediaGallery>,
  ];
  await interaction.reply({
    components: components,
    flags: MessageFlags.IsComponentsV2,
  });
};