Carte de défi de classe

Classe contre classe : couloirs avec un coureur pour chaque classe courant vers un objectif sur les minutes de lecture, la fréquentation ou une collecte de fonds, avec le leader marqué, le total ensemble et le temps restant.

Carte en direct

Cette carte est dessinée dans votre navigateur par le même code que les lecteurs, avec des données d’exemple.

Catégorie : Écoles. Étiquettes : Écoles et campus, Classements et positions, Reconnaissance.

Mises en page

Cette carte plein écran occupe tout l’écran en mode paysage ou portrait et n’est pas placée en coin, puce ou bande.

Mises en page : pleine. Formes : paysage, portrait.

Mises en page, thèmes et publication des cartes. Parcourir les cartes.

Données et confidentialité

Cette carte utilise ses propriétés configurées et les données de carte en direct.

Une classe est un nom, jamais un étudiant.

Propriétés

Pour le thème, l’arrière-plan, l’accent et la position, voir Propriétés communes.

Définissez les propriétés statiques dans les params de la carte lorsque vous la créez. Son document de données ne contient que des propriétés dynamiques. Les lignes imbriquées décrivent le contenu de leur propriété parente.

Propriétés statiques

NomTypePar défautValeurs et limitesDescription
formatstring"number""number", "percent", "money"Comment les valeurs s’affichent : un nombre avec son unité, un pourcentage ou une somme d’argent.
unitstring""maxLength : 12L’unité après un nombre, par exemple min ou livres.
currencystring"$"maxLength : 3Le symbole avant un montant d’argent.
scaleFromnumber0minimum : 0 ; maximum : 99999999Où commencent les barres, ainsi des valeurs proches (fréquentation de 94 à 98 pour cent) montrent encore une différence.
showTotalbooleantrueAffichez le total de toutes les classes (la moyenne pour les pourcentages) et le compte à rebours.
timeZonechaîne, nulnull
backgroundColorchaîne, nulnullmotif : "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Remplace le fond et la plaque de la carte par une couleur plate ordonnée en CSS. #RRGGBBAA fournit l’opacité. background none a la priorité.
textColorchaîne, nulnullmotif : "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Remplace les couleurs du texte principal et secondaire. Les couleurs d’accentuation et de statut sémantique conservent leur rôle.

Propriétés dynamiques

NomTypePar défautValeurs et limitesDescription
titlestring"Class challenge"maxLength : 40L’en-tête, par exemple Défi de lecture.
classesarray[]minItems : 0 ; maxItems : 10Les classes et leurs valeurs. Le rang, la longueur des barres et le leader proviennent des valeurs. Une classe est un nom, jamais un étudiant.
classes[].namestringminLength : 1 ; maxLength : 48 ; Obligatoire
classes[].valuenumberminimum : 0 ; maximum : 99999999 ; Obligatoire
classes[].colorstringmotif : "^#[0-9A-Fa-f]{6}$"La couleur de la classe en #RRGGBB. Absente, la classe prend une couleur du thème.
classes[].prevValuenumberminimum : 0 ; maximum : 99999999La valeur de la classe avant la dernière mise à jour (Primetime). Jusqu’à updatedAt, le tableau affiche ces valeurs ; à partir de là, les barres courent vers les nouvelles valeurs et un changement de leader est un moment.
goalnumber0minimum : 0 ; maximum : 99999999La cible. 0 n’en a aucune.
goalForstring"each""each", "total"each : chaque classe court vers l’objectif. total : les classes l’atteignent ensemble.
endsAtstring""maxLength : 40Instant ISO 8601 où le défi se termine (une heure sans décalage est l’heure locale dans la zone de l’écran). Vide n’affiche aucun compte à rebours.
updatedAtstring""maxLength : 40Instant ISO 8601 de la dernière mise à jour du score, partagé par chaque écran (Primetime). La course et un changement de leader en découlent. Vide ne joue rien.

Exemple de canevas

Enregistrez les propriétés statiques comme params.json et créez la carte. Le résultat contient son identifiant crd_.

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

Ajoutez cet élément aux primitives d’une page de liste de lecture, en remplaçant l’identifiant de l’exemple par celui de votre carte. Publiez la liste de lecture et assignez un écran.

{
  "id": "class-challenge",
  "primitive": "card",
  "card": "crd_01EXAMPLECARD000000000",
  "layout": "full",
  "content_fit": "fill"
}

Écrire des données en direct

Écrivez le document dans la carte après l’avoir créée, puis remplacez-le pour mettre à jour l’écran sans republier. La carte vérifie chaque écriture par rapport à ses propriétés dynamiques et refuse un document qu’elle rejette. Utilisez le même projet que la liste de lecture.

Enregistrez le document sous card-data.json. La CLI lit le document lui-même, sans enveloppe :

{
  "title": "Class challenge",
  "classes": [],
  "goal": 0,
  "goalFor": "each",
  "endsAt": "",
  "updatedAt": ""
}
screenrig card data put crd_01EXAMPLECARD000000000 --file card-data.json

Ou appelez directement l’API. L’API enveloppe le même document dans un champ document. Un jeton agent nomme déjà son projet, donc aucun en-tête de projet n’est envoyé ; si vous envoyez ScreenRig-Project, il doit correspondre au projet du jeton. Fournissez votre autorisation API via l’environnement ; voir Authentification 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":{"title":"Class challenge","classes":[],"goal":0,"goalFor":"each","endsAt":"","updatedAt":""}}'