diff --git a/client-vue/src/components/forms/SettingsForm.vue b/client-vue/src/components/forms/SettingsForm.vue
index d594920e..ac4dc99e 100644
--- a/client-vue/src/components/forms/SettingsForm.vue
+++ b/client-vue/src/components/forms/SettingsForm.vue
@@ -118,11 +118,11 @@
- -
-
@@ -183,7 +183,7 @@ library.add(faGlobe, faSave);
interface SettingsGroup {
name: string;
- fields: Record>;
+ fields: Record;
}
// emit
@@ -349,8 +349,9 @@ function doValidateExternalURL() {
});
}
-function templatePreview(data: SettingField, template: string): string {
+function templatePreview(data: SettingField, template: string): string {
// console.debug("templatePreview", data, template);
+ if (data.type !== "template") return "";
if (!data.replacements) return "";
const replaced_string = formatString(template, Object.fromEntries(Object.entries(data.replacements).map(([key, value]) => [key, value.display])));
if (data.context) {
diff --git a/common/Config.ts b/common/Config.ts
index d9b23de9..5ced0f5a 100644
--- a/common/Config.ts
+++ b/common/Config.ts
@@ -115,6 +115,7 @@ export interface ObjectSettingField extends BaseSettingField {
export interface TemplateSettingField extends BaseSettingField {
type: "template";
default?: string;
+ multiline?: boolean;
replacements?: Record<
string,
{ display: string; description?: string; deprecated?: boolean }