diff --git a/README.md b/README.md index 0a9dbc3..704beb6 100644 --- a/README.md +++ b/README.md @@ -265,6 +265,29 @@ below. Nothing is installed without someone clicking. (gear menu): the top-bar text (placeholders such as `{series} • {part} | {serviceType} • {date}`), colors, text size, and a show/hide checklist for every detail. +- **Slack** — live transcripts of this location's Slack channels, plus + PIN-protected sending as the location. The + picker lists one transcript + tile per configured channel, titled `#channel`, and two send surfaces (one + of each per dashboard): **Send message**, a free-text box with the admin's + quick emojis one press away, and **Quick replies**, a grid of preset + buttons. Both post to the channel of whichever transcript was clicked last + — its bottom edge lights up in the accent color — and to the first + configured channel until one is clicked. Messages arrive with avatars, + names and times, Slack's inline formatting and the workspace's custom + emoji; a right-click on one opens the reaction menu, and text size and + jump-to-latest sit in the title bar. Nothing leaves the machine until the + PIN is entered: one PIN unlocks every Slack tile on that dashboard page + until the auto-lock idles out, a reload asks again, and the lock button on + a send tile's title bar ends it early. + Admin config is in four groups: **Slack account** (the location account's + User OAuth Token — `xoxp-…`, so messages are literally from the campus — + or a bot token plus "Send as"), **Channels** (the joined channels to + follow, one transcript tile each), **Transcript** (refresh interval, + messages kept, thread replies) and **Sending** (the switch on the group's + title row, a 4–8 digit PIN, auto-lock minutes, quick replies one per line + as `Label | Message` — add `| #channel` to bind one to a channel — and up + to eight quick emojis). + Tile settings: avatars, timestamps, names and channel notices. - **Clock** — a big booth clock; also the smallest possible module and the reference for module authors. @@ -272,10 +295,12 @@ To develop modules against mocks instead of real gear: `node tools/prodcom-mock.js` (ProdCom on `127.0.0.1:24480`), `node band-lineup-display/tmp/pp-mock.js 1599` (ProPresenter slides on `127.0.0.1:1599`), `node tools/pp-timers-mock.js 1600` (ProPresenter -timers + timecode on `127.0.0.1:1600`) and `node tools/pco-mock.js` +timers + timecode on `127.0.0.1:1600`), `node tools/pco-mock.js` (Planning Center Services on `127.0.0.1:24700` — run ProdDash with -`PCO_PLAN_API_BASE=http://127.0.0.1:24700`). See the testing section of the -[module guide](docs/MODULE-GUIDE.md). +`PCO_PLAN_API_BASE=http://127.0.0.1:24700`) and +`node tools/slack-mock.js 24716` (the Slack Web API on `127.0.0.1:24716` — +run ProdDash with `SLACK_API_BASE=http://127.0.0.1:24716/api`). See the +testing section of the [module guide](docs/MODULE-GUIDE.md). ## Install as a desktop web app