themes-coffee/schemas/menu_board.schema.json
Alex Dunmow 11c6c8c63e initial: theme plugin coffee
Bootstrapped during the 2026-06-06 BlockNinja consolidation. Was previously
an unversioned directory inside ~/src/blockninja-themes/coffee.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-06 14:11:22 +08:00

71 lines
2.2 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Menu Board",
"description": "Kraft-paper menu card with sections of items (espresso, filter, pastry, etc.)",
"type": "object",
"properties": {
"title": {
"type": "string",
"title": "Title",
"description": "Heading shown at the top of the menu (e.g. \"Menu\", \"Today's Pour\")",
"default": "Menu",
"x-editor": "text"
},
"sections": {
"type": "array",
"title": "Sections",
"description": "Menu sections such as Espresso, Filter, Pastry",
"default": [],
"x-editor": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"title": "Section Name",
"description": "Section heading (e.g. \"Espresso\")",
"x-editor": "text"
},
"items": {
"type": "array",
"title": "Items",
"description": "Items in this section",
"x-editor": "collection",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"title": "Name",
"description": "Item name (e.g. \"Flat White\")",
"x-editor": "text"
},
"price": {
"type": "string",
"title": "Price",
"description": "Price (e.g. \"5.50\")",
"x-editor": "text"
},
"note": {
"type": "string",
"title": "Note",
"description": "Optional descriptive line (e.g. tasting notes)",
"x-editor": "text"
},
"allergens": {
"type": "string",
"title": "Allergens",
"description": "Free-text allergen list (e.g. \"contains dairy, gluten\")",
"x-editor": "text"
}
},
"required": ["name"]
}
}
},
"required": ["name"]
}
}
}
}