Carta menu board

Una bacheca menu che si imposta da sola: sezioni, prezzi con linee sottili, marchi dietetici e articoli esauriti, distribuiti in tutte le colonne necessarie.

Dividi in sezioni di piatti, ciascuna con un prezzo o un’etichetta come MP, una descrizione opzionale, tag dietetici e un’indicazione di esaurito. Il tabellone imposta il carattere più grande che ci sta: un menu breve è grande e centrato, tre piatti o meno sono in evidenza, un menu lungo scorre in colonne e cambia pagina da solo, mantenendo il nome di ogni sezione. Nomi e descrizioni vanno a capo sulle parole, i prezzi si allineano a destra, e una nota a piè di pagina riporta le condizioni.

Live card

Questa scheda viene disegnata nel browser con lo stesso codice usato dai Player, con dati di esempio.

Categoria: Cibo e bevande. Tag: Ristoranti e caffè, Prezzi e tariffe, Scuole e campus, Bar e pub.

Layout

Questa scheda a schermo intero riempie tutto lo schermo in orizzontale o verticale e non è posizionata come angolo, chip o striscia.

Layout: pieno. Moduli: orizzontale, verticale.

Layout, temi e pubblicazione delle schede. Esplora le schede.

Dati e privacy

Questa scheda usa le proprietà configurate e i dati live della scheda.

Proprietà

Per tema, sfondo, accento e posizione, vedi Proprietà comuni.

Imposta le proprietà statiche nei params della scheda quando la crei. Il suo documento dati contiene solo proprietà dinamiche. Le righe annidate descrivono il contenuto della proprietà genitore.

Proprietà statiche

NomeTipoPredefinitoValori e limitiDescrizione
titlestring""maxLength: 60
currencystring"$"maxLength: 4
decimalsnumero, stringa"auto""auto", 0, 1, 2auto mostra prezzi interi senza decimali quando ogni prezzo è intero, altrimenti due.
columnsnumero, stringa"auto""auto", 1, 2, 3
specialLabelstring"Today's special"maxLength: 30Mantenuto per compatibilità; la vista completa non mostra un’introduzione.
pageSecondsinteger12minimo: 5; massimo: 120Quando il menu necessita più di una pagina, le pagine scorrono sull’orologio a muro.
backgroundColorstringa, nullonullmodello: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Sovrascrive il colore di sfondo e della piastra della scheda con un colore piatto ordinato in CSS. #RRGGBBAA fornisce l’opacità. background none ha la precedenza.
textColorstringa, nullonullmodello: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Sovrascrive i colori del testo principale e secondario. I colori di accento e di stato semantico mantengono i loro ruoli.

Proprietà dinamiche

NomeTipoPredefinitoValori e limitiDescrizione
sectionsarrayminItems: 1; maxItems: 8; Obbligatorio
sections[].namestringmaxLength: 40; Obbligatorio
sections[].notestring""maxLength: 80
sections[].itemsarrayminItems: 1; maxItems: 24; Obbligatorio
sections[].items[].namestringmaxLength: 60; Obbligatorio
sections[].items[].descriptionstring""maxLength: 120
sections[].items[].pricenumero, nullnullminimo: 0
sections[].items[].priceLabelstring""maxLength: 12Mostrato al posto del prezzo, per esempio MP.
sections[].items[].tagsarray[]maxItems: 6
sections[].items[].soldOutbooleanfalse
footnotestring""maxLength: 140

Esempio di canvas

Salva le proprietà statiche come params.json e crea la scheda. Il risultato contiene il suo ID crd_.

{
  "theme": "neomustard"
}
screenrig card create --type menu --major 1 --file params.json

Aggiungi questo elemento ai primitives di una pagina playlist, con quell’ID al posto di quello dell’esempio. Pubblica la playlist e assegna uno schermo.

{
  "id": "menu",
  "primitive": "card",
  "card": "crd_01EXAMPLECARD000000000",
  "layout": "full",
  "content_fit": "fill"
}

Scrivere dati live

Scrivi il documento nella scheda dopo averla creata, poi sostituiscilo per aggiornare lo schermo senza ripubblicare. La scheda controlla ogni scrittura rispetto alle sue proprietà dinamiche e rifiuta un documento che non accetta. Usa lo stesso progetto della playlist.

Salva il documento come card-data.json. Il CLI legge il documento stesso, senza wrapper:

{
  "sections": [
    {
      "name": "Example",
      "items": [
        {
          "name": "Example"
        }
      ]
    }
  ],
  "footnote": ""
}
screenrig card data put crd_01EXAMPLECARD000000000 --file card-data.json

Oppure chiamare direttamente l’API. L’API incapsula lo stesso documento in un campo document. Un token agente nomina già il suo progetto, quindi non viene inviato un header progetto; se invii ScreenRig-Project, deve corrispondere al progetto del token. Fornisci l’autorizzazione API tramite l’ambiente; vedi Autenticazione 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":""}}'