From 8b33335584afbac74388c4ed16ff1ff7a04e3588 Mon Sep 17 00:00:00 2001 From: Raphael Kabo Date: Mon, 9 Oct 2023 10:48:10 +0100 Subject: Add static page config and handler --- src/lib/config.ts | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'src/lib/config.ts') diff --git a/src/lib/config.ts b/src/lib/config.ts index 7b35b98..7366b59 100644 --- a/src/lib/config.ts +++ b/src/lib/config.ts @@ -2,6 +2,12 @@ import fs from "fs"; import toml from "toml"; import { exitWithError } from "./process.js"; +interface StaticPage { + title: string; + path: string; + filename: string; +} + interface GathioConfig { general: { domain: string; @@ -25,9 +31,21 @@ interface GathioConfig { sendgrid?: { api_key: string; }; + static_pages: StaticPage[]; +} + +interface FrontendConfig { + domain: string; + siteName: string; + isFederated: boolean; + emailLogoUrl: string; + showKofi: boolean; + showInstanceInformation: boolean; + staticPages: StaticPage[]; + version: string; } -export const publicConfig = () => { +export const frontendConfig = (): FrontendConfig => { const config = getConfig(); return { domain: config.general.domain, @@ -35,6 +53,9 @@ export const publicConfig = () => { isFederated: config.general.is_federated, emailLogoUrl: config.general.email_logo_url, showKofi: config.general.show_kofi, + showInstanceInformation: config.static_pages.length > 0, + staticPages: config.static_pages, + version: process.env.npm_package_version || "unknown", }; }; -- cgit v1.2.3 From 6af99ef4c0c3a28a29bad9f4c66e41d0365234cc Mon Sep 17 00:00:00 2001 From: Raphael Kabo Date: Mon, 9 Oct 2023 10:51:17 +0100 Subject: Fix bug when no static pages defined --- src/lib/config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/lib/config.ts') diff --git a/src/lib/config.ts b/src/lib/config.ts index 7366b59..6f142e5 100644 --- a/src/lib/config.ts +++ b/src/lib/config.ts @@ -53,7 +53,7 @@ export const frontendConfig = (): FrontendConfig => { isFederated: config.general.is_federated, emailLogoUrl: config.general.email_logo_url, showKofi: config.general.show_kofi, - showInstanceInformation: config.static_pages.length > 0, + showInstanceInformation: config.static_pages?.length > 0, staticPages: config.static_pages, version: process.env.npm_package_version || "unknown", }; -- cgit v1.2.3