diff --git a/libs/shared/src/i18n/en.json b/libs/shared/src/i18n/en.json
index 0b2d681456..9f0efe6961 100644
--- a/libs/shared/src/i18n/en.json
+++ b/libs/shared/src/i18n/en.json
@@ -1557,6 +1557,21 @@
},
"tooltip": "When submitting a record from the widget, the form will be automatically populated with the record's data after the submission"
},
+ "completionPopup": {
+ "label": "Completion popup",
+ "text": {
+ "label": "Popup message",
+ "placeholder": "Enter the message to show after submission",
+ "tooltip": "Custom text displayed after submission"
+ },
+ "title": "Completion message",
+ "titleField": {
+ "label": "Popup title",
+ "placeholder": "Enter the popup title",
+ "tooltip": "Custom title displayed in the popup"
+ },
+ "tooltip": "Show a popup after the form is submitted"
+ },
"directions": {
"both": "Both changes on the state or the question will be reflected on the other",
"questionToState": "Changes on the question will be reflected on the state",
diff --git a/libs/shared/src/i18n/fr.json b/libs/shared/src/i18n/fr.json
index da23367773..b863d8dd1f 100644
--- a/libs/shared/src/i18n/fr.json
+++ b/libs/shared/src/i18n/fr.json
@@ -1569,6 +1569,21 @@
},
"tooltip": "Lors de la soumission d'un enregistrement à partir du widget, le formulaire sera automatiquement rempli avec les données de l'enregistrement après la soumission"
},
+ "completionPopup": {
+ "label": "Fenêtre de confirmation",
+ "text": {
+ "label": "Message de la fenêtre",
+ "placeholder": "Saisissez le message à afficher après la soumission",
+ "tooltip": "Texte personnalisé affiché après la soumission"
+ },
+ "title": "Message de confirmation",
+ "titleField": {
+ "label": "Titre de la fenêtre",
+ "placeholder": "Saisissez le titre de la fenêtre",
+ "tooltip": "Titre personnalisé affiché dans la fenêtre"
+ },
+ "tooltip": "Afficher une fenêtre après la soumission du formulaire"
+ },
"directions": {
"both": "Les modifications apportées à l'état ou à la question seront répercutées sur l'autre",
"questionToState": "Les modifications apportées à la question seront répercutées sur l'état",
diff --git a/libs/shared/src/i18n/test.json b/libs/shared/src/i18n/test.json
index 6639cf3800..03aa8b9317 100644
--- a/libs/shared/src/i18n/test.json
+++ b/libs/shared/src/i18n/test.json
@@ -1557,6 +1557,21 @@
},
"tooltip": "******"
},
+ "completionPopup": {
+ "label": "******",
+ "text": {
+ "label": "******",
+ "placeholder": "******",
+ "tooltip": "******"
+ },
+ "title": "******",
+ "titleField": {
+ "label": "******",
+ "placeholder": "******",
+ "tooltip": "******"
+ },
+ "tooltip": "******"
+ },
"directions": {
"both": "******",
"questionToState": "******",
diff --git a/libs/shared/src/lib/components/widgets/form-settings/form-settings.forms.ts b/libs/shared/src/lib/components/widgets/form-settings/form-settings.forms.ts
index 5cf56a534c..50544a2c08 100644
--- a/libs/shared/src/lib/components/widgets/form-settings/form-settings.forms.ts
+++ b/libs/shared/src/lib/components/widgets/form-settings/form-settings.forms.ts
@@ -28,6 +28,11 @@ export const createFormWidgetFormGroup = (id: string, configuration: any) => {
autoPopulateOmitQuestions: [
get(configuration, 'autoPopulateOmitQuestions', []),
],
+ completionPopup: fb.group({
+ enabled: [get(configuration, 'completionPopup.enabled', false)],
+ title: [get(configuration, 'completionPopup.title', '')],
+ text: [get(configuration, 'completionPopup.text', '')],
+ }),
floatingActions: [get(configuration, 'floatingActions', false)],
loadRecord: fb.group({
enabled: [get(configuration, 'loadRecord.enabled', false)],
diff --git a/libs/shared/src/lib/components/widgets/form-settings/tab-main/tab-main.component.html b/libs/shared/src/lib/components/widgets/form-settings/tab-main/tab-main.component.html
index acc5f75e95..43fc933a5f 100644
--- a/libs/shared/src/lib/components/widgets/form-settings/tab-main/tab-main.component.html
+++ b/libs/shared/src/lib/components/widgets/form-settings/tab-main/tab-main.component.html
@@ -90,6 +90,81 @@