From a4b1145605005f14807b53467181e78170fea5a7 Mon Sep 17 00:00:00 2001 From: Louis Delbosc Date: Mon, 28 Nov 2022 21:19:31 +0100 Subject: [PATCH] Add GRIST_HELP_CENTER environment variable (#363) --- README.md | 1 + app/common/gristUrls.ts | 14 +++++++++++++- app/server/lib/sendAppPage.ts | 1 + 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0e7582de..345bad6c 100644 --- a/README.md +++ b/README.md @@ -231,6 +231,7 @@ GRIST_SESSION_DOMAIN | if set, associates the cookie with the given domain - oth GRIST_SESSION_SECRET | a key used to encode sessions GRIST_FORCE_LOGIN | when set to 'true' disables anonymous access GRIST_SINGLE_ORG | set to an org "domain" to pin client to that org +GRIST_HELP_CENTER | set the help center link ref GRIST_SUPPORT_ANON | if set to 'true', show UI for anonymous access (not shown by default) GRIST_SUPPORT_EMAIL | if set, give a user with the specified email support powers. The main extra power is the ability to share sites, workspaces, and docs with all users in a listed way. GRIST_THROTTLE_CPU | if set, CPU throttling is enabled diff --git a/app/common/gristUrls.ts b/app/common/gristUrls.ts index 3e4ff508..49450133 100644 --- a/app/common/gristUrls.ts +++ b/app/common/gristUrls.ts @@ -60,7 +60,7 @@ export const MIN_URLID_PREFIX_LENGTH = 12; */ export const commonUrls = { - help: "https://support.getgrist.com", + help: getHelpCenterUrl(), helpAccessRules: "https://support.getgrist.com/access-rules", helpConditionalFormatting: "https://support.getgrist.com/conditional-formatting", helpLinkingWidgets: "https://support.getgrist.com/linking-widgets", @@ -493,6 +493,9 @@ export interface GristLoadConfig { // In single-org mode, this is the single well-known org. Suppress any org selection UI. singleOrg?: string; + + // Url for support for the browser client to use. + helpCenterUrl?: string; // When set, this directs the client to encode org information in path, not in domain. pathOnly?: boolean; @@ -641,6 +644,15 @@ export function getKnownOrg(): string|null { } } +export function getHelpCenterUrl(): string|null { + if(isClient()) { + const gristConfig: GristLoadConfig = (window as any).gristConfig; + return gristConfig && gristConfig.helpCenterUrl || null; + } else { + return process.env.GRIST_HELP_CENTER || null; + } +} + /** * Like getKnownOrg, but respects singleOrg/GRIST_SINGLE_ORG strictly. * The main difference in behavior would be for orgs with custom domains diff --git a/app/server/lib/sendAppPage.ts b/app/server/lib/sendAppPage.ts index 21740d12..3a1bd0d0 100644 --- a/app/server/lib/sendAppPage.ts +++ b/app/server/lib/sendAppPage.ts @@ -41,6 +41,7 @@ export function makeGristConfig(homeUrl: string|null, extra: Partial