diff --git a/client/src/app/shared/shared-forms/dynamic-form-field.component.html b/client/src/app/shared/shared-forms/dynamic-form-field.component.html
index c358cb119..8e9ef5355 100644
--- a/client/src/app/shared/shared-forms/dynamic-form-field.component.html
+++ b/client/src/app/shared/shared-forms/dynamic-form-field.component.html
@@ -1,10 +1,16 @@
-
+
+
+
+
+
@@ -32,6 +38,8 @@
[labelInnerHTML]="setting.label"
>
+
+
{{ formErrors[setting.name] }}
diff --git a/shared/models/plugins/register-client-form-field.model.ts b/shared/models/plugins/register-client-form-field.model.ts
index 641d7490c..cdcdaa181 100644
--- a/shared/models/plugins/register-client-form-field.model.ts
+++ b/shared/models/plugins/register-client-form-field.model.ts
@@ -1,7 +1,13 @@
-export interface RegisterClientFormFieldOptions {
- name: string
- label: string
- type: 'input' | 'input-checkbox' | 'input-password' | 'input-textarea' | 'markdown-text' | 'markdown-enhanced'
+export type RegisterClientFormFieldOptions = {
+ name?: string
+ label?: string
+ type: 'input' | 'input-checkbox' | 'input-password' | 'input-textarea' | 'markdown-text' | 'markdown-enhanced' | 'select' | 'html'
+
+ // For select type
+ options?: { value: string, label: string }[]
+
+ // For html type
+ html?: string
descriptionHTML?: string
diff --git a/shared/models/plugins/register-server-setting.model.ts b/shared/models/plugins/register-server-setting.model.ts
index 6872dc53e..6bc25b4ae 100644
--- a/shared/models/plugins/register-server-setting.model.ts
+++ b/shared/models/plugins/register-server-setting.model.ts
@@ -1,6 +1,6 @@
import { RegisterClientFormFieldOptions } from './register-client-form-field.model'
-export interface RegisterServerSettingOptions extends RegisterClientFormFieldOptions {
+export type RegisterServerSettingOptions = RegisterClientFormFieldOptions & {
// If the setting is not private, anyone can view its value (client code included)
// If the setting is private, only server-side hooks can access it
// Mainly used by the PeerTube client to get admin config