Manual: full participation guide (media/accounts/decisions/safety) + Enter-to-door + provisioner env passthrough

This commit is contained in:
glass beadian 2026-10-12 15:49:25 +00:00
parent 07d2df8c53
commit 6161ac4740
5 changed files with 251 additions and 42 deletions

View file

@ -1,6 +1,4 @@
import {
PARTICIPATION_MANUAL,
onboardingHeader,
onboardingLanguageOrder,
onboardingMessages,
type ManualLanguage,
@ -9,18 +7,17 @@ import {
/**
* Onboarding content adapter.
*
* The bilingual manual copy lives in packages/core/src/participation-manual.ts
* so there is ONE source: the public landing page renders it and the
* provisioner posts the byte-identical text into Matrix onboarding rooms. This
* module only derives the message sequence and its language order.
* The bilingual manual copy — including the table of contents the guide bot
* posts at the top of each language block — lives in
* packages/core/src/participation-manual.ts so there is ONE source: the public
* landing page renders it and the provisioner posts the byte-identical text
* into Matrix onboarding rooms. This module only derives the message sequence
* and its language order.
*/
/** The manual as the guide bot posts it: one m.text message per section. */
/** The manual as the guide bot posts it: contents first, then one m.text message per section. */
export function manualMessages(lang: ManualLanguage): string[] {
return [
onboardingHeader(lang),
...PARTICIPATION_MANUAL.map((section) => `${section.heading[lang]}\n\n${section.body[lang]}`),
];
return onboardingMessages(lang);
}
/**