Divida en secciones de platillos, cada una con un precio o una etiqueta como MP, una descripción opcional, etiquetas dietéticas y una bandera de agotado. El tablero establece el tipo más grande que cabe: un menú corto se muestra grande y centrado, tres platillos o menos se presentan como una característica, y un menú largo fluye en columnas y cambia de página automáticamente, cada sección continua mantiene su nombre. Los nombres y descripciones se ajustan por palabras, los precios se alinean en una columna a la derecha, y una nota al pie lleva la letra pequeña.
Tarjeta en vivo
Categoría: Comida y bebida. Etiquetas: Restaurantes y cafés, Precios y tarifas, Escuelas y campus, Bares y pubs.
Diseños
Esta tarjeta de pantalla completa llena toda la pantalla en modo horizontal o vertical y no se coloca como esquina, chip o tira.
Diseños: completo. Formularios: horizontal, vertical.
Diseños, temas y publicación de tarjetas. Explorar las tarjetas.
Datos y privacidad
Esta tarjeta usa sus propiedades configuradas y datos en vivo de la tarjeta.
Propiedades
Para tema, fondo, acento y posición, consulte Propiedades comunes.
Establezca las propiedades estáticas en los params de la tarjeta al crearla. Su documento de datos solo contiene propiedades dinámicas. Las filas anidadas describen el contenido de su propiedad principal.
Propiedades estáticas
| Nombre | Tipo | Predeterminado | Valores y límites | Descripción |
|---|---|---|---|---|
title | string | "" | maxLength: 60 | |
currency | string | "$" | maxLength: 4 | |
decimals | número, cadena | "auto" | "auto", 0, 1, 2 | auto muestra precios enteros sin decimales cuando todos son enteros, de lo contrario dos decimales. |
columns | número, cadena | "auto" | "auto", 1, 2, 3 | |
specialLabel | string | "Today's special" | maxLength: 30 | Se mantiene por compatibilidad; la vista completa no muestra introducción. |
pageSeconds | integer | 12 | mínimo: 5; máximo: 120 | Cuando el menú necesita más de una página, las páginas giran según el reloj de pared. |
backgroundColor | cadena, nulo | null | patrón: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$" | Sobrescribe el fondo y la placa de la tarjeta con un color plano ordenado por CSS. #RRGGBBAA suministra opacidad. background none tiene prioridad. |
textColor | cadena, nulo | null | patrón: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$" | Sobrescribe los colores de texto principal y secundario. Los colores de acento y estado semántico mantienen sus roles. |
Propiedades dinámicas
| Nombre | Tipo | Predeterminado | Valores y límites | Descripción |
|---|---|---|---|---|
sections | array | minItems: 1; maxItems: 8; Requerido | ||
sections[].name | string | maxLength: 40; Requerido | ||
sections[].note | string | "" | maxLength: 80 | |
sections[].items | array | minItems: 1; maxItems: 24; Requerido | ||
sections[].items[].name | string | maxLength: 60; Requerido | ||
sections[].items[].description | string | "" | maxLength: 120 | |
sections[].items[].price | número, nulo | null | mínimo: 0 | |
sections[].items[].priceLabel | string | "" | maxLength: 12 | Mostrado en lugar del precio, por ejemplo MP. |
sections[].items[].tags | array | [] | maxItems: 6 | |
sections[].items[].soldOut | boolean | false | ||
footnote | string | "" | maxLength: 140 |
Ejemplo de lienzo
Guarde las propiedades estáticas como params.json y cree la tarjeta. El resultado incluye su id crd_.
{
"theme": "neomustard"
}
screenrig card create --type menu --major 1 --file params.json
Agregue este elemento a los primitives de una página de la lista de reproducción, con ese id en lugar del del ejemplo. Publique la lista de reproducción y asigne una pantalla.
{
"id": "menu",
"primitive": "card",
"card": "crd_01EXAMPLECARD000000000",
"layout": "full",
"content_fit": "fill"
}
Escribir datos en vivo
Escriba el documento en la tarjeta después de crearla y luego reemplácelo para actualizar la pantalla sin republicar. La tarjeta verifica cada escritura contra sus propiedades dinámicas y rechaza un documento que no acepta. Use el mismo proyecto que la lista de reproducción.
Guarde el documento como card-data.json. La CLI lee el documento en sí, sin envoltorio:
{
"sections": [
{
"name": "Example",
"items": [
{
"name": "Example"
}
]
}
],
"footnote": ""
}
screenrig card data put crd_01EXAMPLECARD000000000 --file card-data.json
O llame a la API directamente. La API envuelve el mismo documento en un campo document. Un token de agente ya nombra su proyecto, por lo que no se envía encabezado de proyecto; si envía ScreenRig-Project, debe coincidir con el proyecto del token. Proporcione su autorización API a través del entorno; vea Autenticación API.
curl --request PUT "https://api.screenrig.ai/api/cards/crd_01EXAMPLECARD000000000/data" \
--header "Authorization: Bearer $SCREENRIG_TOKEN" \
--header "Content-Type: application/json" \
--data '{"document":{"sections":[{"name":"Example","items":[{"name":"Example"}]}],"footnote":""}}'