appBskyEmbedGallery top-level constant
app.bsky.embed.gallery
Implementation
const appBskyEmbedGallery = <String, dynamic>{
"lexicon": 1,
"id": "app.bsky.embed.gallery",
"description":
"An assortment of media embedded in a Bluesky record (eg, a post).",
"defs": {
"main": {
"type": "object",
"required": ["items"],
"properties": {
"items": {
"type": "array",
"description":
"The schema-level maxLength of 20 is a future-proof ceiling. Clients should currently enforce a soft limit of 10 items in authoring UIs.",
"items": {
"type": "union",
"description":
"The media items in the gallery. Each item may be of a different type, but all types must be supported by the client.",
"refs": ["#image"],
},
"maxLength": 20,
},
},
},
"image": {
"type": "object",
"required": ["image", "alt", "aspectRatio"],
"properties": {
"image": {
"type": "blob",
"accept": ["image/*"],
"maxSize": 2000000,
},
"alt": {
"type": "string",
"description":
"Alt text description of the image, for accessibility.",
},
"aspectRatio": {
"type": "ref",
"ref": "app.bsky.embed.defs#aspectRatio",
},
},
},
"view": {
"type": "object",
"required": ["items"],
"properties": {
"items": {
"type": "array",
"items": {
"type": "union",
"refs": ["#viewImage"],
},
},
},
},
"viewImage": {
"type": "object",
"required": ["thumbnail", "fullsize", "alt", "aspectRatio"],
"properties": {
"thumbnail": {
"type": "string",
"format": "uri",
"description":
"Fully-qualified URL where a thumbnail of the image can be fetched. For example, CDN location provided by the App View.",
},
"fullsize": {
"type": "string",
"format": "uri",
"description":
"Fully-qualified URL where a large version of the image can be fetched. May or may not be the exact original blob. For example, CDN location provided by the App View.",
},
"alt": {
"type": "string",
"description":
"Alt text description of the image, for accessibility.",
},
"aspectRatio": {
"type": "ref",
"ref": "app.bsky.embed.defs#aspectRatio",
},
},
},
},
};