Seven rules join the four in the module guide, as rules 5 to 11: no
explanatory text in a tile's gear and no label over three words; server-side
settings in configSchema only; a tile setting changes that tile alone;
hide-toggles ungrouped when there are four or fewer and in a folded "Show"
group when there are five or more; title-bar controls are icons with
tooltips, never names; anything needing words belongs in the gear; and one
control per action, either place but not both.
Two passages said the opposite and now say the same thing — "keep labels
short and put the explanation there" is scoped to configSchema, and "icon
buttons, short labels" becomes icons with no labels at all. CLAUDE.md
carries the summary.
Then the modules. Nothing here changes a setting key or a default, so saved
layouts, named layouts and every tile already on a wall keep working; group
names, labels, help and fold state are presentation and are not stored.
- pco-plan: sixteen labels cut to three words or fewer ("Tint items by type
(song / media / other)" is now "Tint by type"), "Show / hide" renamed
"Show" and folded. Its one remaining help line stays by request: the top
bar's template needs its separator syntax spelled out, which the variable
chips beside it cannot convey, so rule 5 carves out template fields.
- propresenter-timers: the "Timers ▾" menu was the only named control left
in any title bar. It is a stopwatch icon now, with the count riding
alongside it while some timers are hidden — setLabel() writes over the
button's contents, so the count needed ProdCom's badge treatment rather
than a label. "Show" folds; the Colours help goes.
- propresenter-now-next: "Show" folds, in the manifest and in the Now
entry's own copy.
- prodcom-transcript: "Show channel icons" loses the redundant verb.
slack and clock were already compliant and are untouched.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
48 lines
1.0 KiB
JSON
48 lines
1.0 KiB
JSON
{
|
|
"id": "prodcom-transcript",
|
|
"name": "ProdCom",
|
|
"version": "1.3.2",
|
|
"proddash": ">=1.1.0",
|
|
"description": "Live ProdCom transcript",
|
|
"permissions": [
|
|
{
|
|
"kind": "local-network",
|
|
"reason": "Reaching the ProdCom API on this network"
|
|
}
|
|
],
|
|
"client": "client.js",
|
|
"server": "server.js",
|
|
"style": "style.css",
|
|
"minSize": {
|
|
"w": 3,
|
|
"h": 2
|
|
},
|
|
"defaultSize": {
|
|
"w": 4,
|
|
"h": 4
|
|
},
|
|
"configSchema": {
|
|
"prodcom": {
|
|
"type": "endpoint",
|
|
"label": "ProdCom server",
|
|
"default": {
|
|
"host": "",
|
|
"port": 24480
|
|
},
|
|
"help": "The ProdCom server at THIS location — every campus has its own. Blank until you set it, so a new install never reads another campus's comms."
|
|
},
|
|
"apiKey": {
|
|
"type": "password",
|
|
"label": "API key (only if PSK auth is enabled in ProdCom)",
|
|
"default": ""
|
|
}
|
|
},
|
|
"instanceSchema": {
|
|
"showAvatars": {
|
|
"type": "boolean",
|
|
"label": "Channel icons",
|
|
"default": true
|
|
}
|
|
}
|
|
}
|