diff --git a/client/@types/global.d.ts b/client/@types/global.d.ts
index 8cd07a65..5758cf4c 100644
--- a/client/@types/global.d.ts
+++ b/client/@types/global.d.ts
@@ -104,3 +104,5 @@ declare const LOC_LIVECHAT_EMOJIS_FILE_DESC: string
declare const LOC_ACTION_IMPORT: string
declare const LOC_ACTION_EXPORT: string
declare const LOC_ACTION_IMPORT_EMOJIS_INFO: string
+declare const LOC_ACTION_ADD_ENTRY: string
+declare const LOC_ACTION_REMOVE_ENTRY: string
diff --git a/client/common/lib/elements/dynamic-table-form.ts b/client/common/lib/elements/dynamic-table-form.ts
index e7aef26e..96f303f8 100644
--- a/client/common/lib/elements/dynamic-table-form.ts
+++ b/client/common/lib/elements/dynamic-table-form.ts
@@ -227,8 +227,10 @@ export class DynamicTableFormElement extends LivechatElement {
rowData._originalIndex))}
this._removeRow(rowData._id)}>
+ class="peertube-button-link orange-button dynamic-table-remove-row"
+ .title=${ptTr(LOC_ACTION_REMOVE_ENTRY)}
+ @click=${() => this._removeRow(rowData._id)}
+ >
${unsafeHTML(RemoveSVG)}
@@ -244,8 +246,10 @@ export class DynamicTableFormElement extends LivechatElement {
${Object.values(this.header).map(() => html` `)}
+ class="peertube-button-link orange-button dynamic-table-add-row"
+ .title=${ptTr(LOC_ACTION_ADD_ENTRY)}
+ @click=${this._addRow}
+ >
${unsafeHTML(AddSVG)}
diff --git a/languages/en.yml b/languages/en.yml
index 22824053..a2f87ca4 100644
--- a/languages/en.yml
+++ b/languages/en.yml
@@ -511,3 +511,6 @@ livechat_emojis_file_desc: |
action_import: Import
action_export: Export
action_import_emojis_info: If imported data are okay, don't forgot to save the form.
+
+action_add_entry: Add an entry
+action_remove_entry: Remove this entry