Liste los ítems en filas y los tamaños en columnas, y coloque cada precio donde se cruzan. Use la misma cuadrícula clara para café, grifos, vino, pesos de dispensario y combustible, y muestre complementos al lado.
Tarjeta en vivo
Categoría: Comida y bebida. Etiquetas: Restaurantes y cafés, Bares y pubs, Tiendas, Precios y tarifas.
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 | "Coffee" | maxLength: 40 | |
metaLabel | string | "" | maxLength: 16 | El encabezado de la columna extra, por ejemplo ABV. |
glyph | string | "cup" | "none", "cup", "glass" | Una taza o vaso sobre cada tamaño que crece con él. |
currency | string | "$" | maxLength: 3 | |
decimals | número, cadena | "auto" | "auto", 0, 1, 2, 3 | auto usa números enteros cuando todos los precios son enteros. |
perPage | integer | 0 | mínimo: 0; máximo: 20 | Filas en una página. 0 se establece según la habitación. |
pageSeconds | number | 10 | mínimo: 5; máximo: 120 | |
footnote | string | "" | maxLength: 120 | |
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 |
|---|---|---|---|---|
columns | array | ["Small","Medium","Large"] | minItems: 1; maxItems: 6 | Los tamaños en la parte superior: S/M/L, 12/16/20 oz, pinta/mitad, vaso/botella, 1g/3.5g/28g, efectivo/crédito. |
sections | array | [{"name":"Espresso bar","items":[{"name":"Espresso","prices":[3.25,3.75,null],"note":"Double shot"},{"name":"Americano","prices":[3.5,4.0,4.5]},{"name":"Flat white","prices":[4.5,5.0,5.5],"note":"Whole or oat milk","badge":"House"},{"name":"Latte","prices":[4.75,5.25,5.75],"note":"Vanilla, caramel or maple"}]},{"name":"Cold","items":[{"name":"Iced latte","prices":[5.0,5.5,6.0]},{"name":"Cold brew","prices":[4.5,5.0,5.5],"note":"Steeped 18 hours"}]}] | maxItems: 12 | Grupos de elementos a lo largo del lado; el nombre de un grupo encabeza su primera fila. |
sections[].name | string | maxLength: 80 | ||
sections[].items | array | maxItems: 40; Requerido | ||
sections[].items[].name | string | minLength: 1; maxLength: 80; Requerido | ||
sections[].items[].note | string | maxLength: 160 | Una línea debajo del nombre. | |
sections[].items[].meta | string | maxLength: 24 | La columna extra: ABV, THC, origen. | |
sections[].items[].badge | string | maxLength: 16 | ||
sections[].items[].prices | array | maxItems: 6 | Un precio por columna; vacío para un tamaño que no se ofrece. | |
sections[].items[].soldOut | boolean | false | ||
addOns | array | [{"name":"Oat milk","price":0.7},{"name":"Extra shot","price":1},{"name":"Syrup","price":0.5}] | maxItems: 8 | Extras en una fila debajo de la tabla. |
addOns[].name | string | maxLength: 40; Requerido | ||
addOns[].price | número, nulo | |||
featuredItem | string | "" | maxLength: 80 | Nombre exacto de la fila para destacar en Primetime. Vacío usa la primera fila disponible con insignia. |
featuredColumn | integer | 2 | mínimo: 1; máximo: 6 | Columna de tamaño destacado basada en uno en Primetime. |
updatedAt | string | "" | maxLength: 40 | Instante ISO para énfasis sincronizado de cambio de precio. |
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 price-matrix --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": "price-matrix",
"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:
{
"columns": [
"Small",
"Medium",
"Large"
],
"sections": [
{
"name": "Espresso bar",
"items": [
{
"name": "Espresso",
"prices": [
3.25,
3.75,
null
],
"note": "Double shot"
},
{
"name": "Americano",
"prices": [
3.5,
4.0,
4.5
]
},
{
"name": "Flat white",
"prices": [
4.5,
5.0,
5.5
],
"note": "Whole or oat milk",
"badge": "House"
},
{
"name": "Latte",
"prices": [
4.75,
5.25,
5.75
],
"note": "Vanilla, caramel or maple"
}
]
},
{
"name": "Cold",
"items": [
{
"name": "Iced latte",
"prices": [
5.0,
5.5,
6.0
]
},
{
"name": "Cold brew",
"prices": [
4.5,
5.0,
5.5
],
"note": "Steeped 18 hours"
}
]
}
],
"addOns": [
{
"name": "Oat milk",
"price": 0.7
},
{
"name": "Extra shot",
"price": 1
},
{
"name": "Syrup",
"price": 0.5
}
],
"featuredItem": "",
"featuredColumn": 2,
"updatedAt": ""
}
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":{"columns":["Small","Medium","Large"],"sections":[{"name":"Espresso bar","items":[{"name":"Espresso","prices":[3.25,3.75,null],"note":"Double shot"},{"name":"Americano","prices":[3.5,4.0,4.5]},{"name":"Flat white","prices":[4.5,5.0,5.5],"note":"Whole or oat milk","badge":"House"},{"name":"Latte","prices":[4.75,5.25,5.75],"note":"Vanilla, caramel or maple"}]},{"name":"Cold","items":[{"name":"Iced latte","prices":[5.0,5.5,6.0]},{"name":"Cold brew","prices":[4.5,5.0,5.5],"note":"Steeped 18 hours"}]}],"addOns":[{"name":"Oat milk","price":0.7},{"name":"Extra shot","price":1},{"name":"Syrup","price":0.5}],"featuredItem":"","featuredColumn":2,"updatedAt":""}}'