Ogni sala aperta mostra la lunghezza della fila, sopra una barra che indica quanto è affollata, poi il pasto servito e fino a quando, e cosa serve ogni stazione. Le sale che aprono più tardi, hanno finito per la giornata o sono chiuse sono elencate con l’orario. Una sala riempie lo schermo; molte diventano righe così tutte si vedono.
Live card
Categoria: Scuole. Tag: Scuole e campus, Orari, Code e attese.
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
Feed: screenrig.dining/v1.
I documenti del feed riportano l’attribuzione della fonte. Il Player fornisce il feed alla scheda.
Conta e menu soltanto, mai chi sta mangiando.
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
| Nome | Tipo | Predefinito | Valori e limiti | Descrizione |
|---|---|---|---|---|
title | string | "Dining halls" | maxLength: 40 | |
sort | string | "status" | "status", "feed" | status elenca prima le sale aperte, poi quelle che aprono dopo, poi chiuse; feed mantiene l’ordine dato. |
busyLow | integer | 40 | minimo: 1; massimo: 90 | Sotto questa percentuale di riempimento una sala legge Silenziosa. |
busyHigh | integer | 75 | minimo: 10; massimo: 100 | Al raggiungimento o superamento di questa percentuale di occupazione, una sala viene considerata Occupata. |
maxStations | integer | 4 | minimo: 0; massimo: 6 | |
showStations | boolean | true | ||
staleMinutes | integer | 30 | minimo: 1; massimo: 1440 | |
hour12 | boolean | false | ||
timeZone | stringa, nullo | null | ||
backgroundColor | stringa, nullo | null | modello: "^#[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. |
textColor | stringa, nullo | null | modello: "^#[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
| Nome | Tipo | Predefinito | Valori e limiti | Descrizione |
|---|---|---|---|---|
halls | array | [] | maxItems: 8 | Le sale. Un feed (screenrig.dining/v1) prevale se presente; altrimenti il data store fornisce le stesse righe. |
halls[].name | string | minLength: 1; maxLength: 40; Obbligatorio | ||
halls[].location | string | maxLength: 40 | ||
halls[].closed | boolean | false | Chiuso tutto il giorno (pausa, festa); la nota spiega il motivo. | |
halls[].note | string | maxLength: 60 | ||
halls[].meals | array | maxItems: 8 | Orari di servizio di oggi. | |
halls[].meals[].kind | string | maxLength: 20; Obbligatorio | colazione, brunch, pranzo, cena, tarda notte o spuntino; altro testo mostrato come scritto. | |
halls[].meals[].start | string | maxLength: 32; Obbligatorio | ISO 8601; con offset o orario locale nella zona dello schermo. | |
halls[].meals[].end | string | maxLength: 32; Obbligatorio | ||
halls[].busyPercent | integer | minimo: 0; massimo: 100 | Quanto è piena la sala ora. | |
halls[].waitMinutes | integer | minimo: 0; massimo: 240 | La riga, in minuti. | |
halls[].stations | array | maxItems: 12 | ||
halls[].stations[].name | string | maxLength: 30; Obbligatorio | ||
halls[].stations[].meal | string | maxLength: 20 | Mostra solo in questo pasto; vuoto mostra ogni pasto. | |
halls[].stations[].items | array | maxItems: 6 | ||
updated | string | "" | maxLength: 32 | Quando le letture sono state prese, ISO 8601 (solo archivio dati; un feed contiene fetchedAt). |
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 dining-halls --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": "dining-halls",
"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:
{
"halls": [],
"updated": ""
}
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":{"halls":[],"updated":""}}'