From 44d3ed8f2e69aeb7ff18b3321dd74fd831e963c9 Mon Sep 17 00:00:00 2001 From: lebaudantoine Date: Wed, 10 Jun 2026 14:52:47 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8(addon)=20add=20a=20feedback=20form=20?= =?UTF-8?q?link=20in=20the=20footer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add the possibility to display a feedback form link in the footer to help collect feedback from the first users of the plugin. Once the plugin is in production at scale, this will be replaced with a link to the support page. --- src/addons/outlook/src/common/index.js | 2 ++ .../outlook/src/locales/de/translation.json | 3 +++ .../outlook/src/locales/en/translation.json | 3 +++ .../outlook/src/locales/fr/translation.json | 3 +++ src/addons/outlook/src/taskpane/taskpane.css | 25 +++++++++++++++++-- src/addons/outlook/src/taskpane/taskpane.html | 12 +++++++-- src/addons/outlook/src/taskpane/taskpane.js | 8 +++++- .../env.d/dev-dinum/values.meet.yaml.gotmpl | 1 + .../meet/templates/frontend_addons_cm.yml | 1 + src/helm/meet/values.yaml | 2 ++ 10 files changed, 55 insertions(+), 5 deletions(-) diff --git a/src/addons/outlook/src/common/index.js b/src/addons/outlook/src/common/index.js index e89c3850..8df3c2b5 100644 --- a/src/addons/outlook/src/common/index.js +++ b/src/addons/outlook/src/common/index.js @@ -1,9 +1,11 @@ const BASE_URL = window.__APP_CONFIG__?.BASE_URL || "https://meet.127.0.0.1.nip.io"; const APP_NAME = window.__APP_CONFIG__?.APP_NAME || "LaSuite Meet"; const ENABLE_SOURCE_TRACKING = window.__APP_CONFIG__?.ENABLE_SOURCE_TRACKING === "true"; +const FEEDBACK_FORM = window.__APP_CONFIG__?.FEEDBACK_FORM || null; module.exports = { BASE_URL, APP_NAME, ENABLE_SOURCE_TRACKING, + FEEDBACK_FORM }; diff --git a/src/addons/outlook/src/locales/de/translation.json b/src/addons/outlook/src/locales/de/translation.json index 8de0e75f..23244f0f 100644 --- a/src/addons/outlook/src/locales/de/translation.json +++ b/src/addons/outlook/src/locales/de/translation.json @@ -33,5 +33,8 @@ "phone_only": "Oder per Telefon teilnehmen (nur Audio)", "phone_fr": "(FR) {{phone}}", "pin_code": "Code {{pin}}" + }, + "footer": { + "feedback": "Teilen Sie uns Ihr Feedback mit" } } diff --git a/src/addons/outlook/src/locales/en/translation.json b/src/addons/outlook/src/locales/en/translation.json index b433ec03..5769cbcb 100644 --- a/src/addons/outlook/src/locales/en/translation.json +++ b/src/addons/outlook/src/locales/en/translation.json @@ -33,5 +33,8 @@ "phone_only": "Or call in (audio only)", "phone_fr": "(FR) {{phone}}", "pin_code": "Code {{pin}}" + }, + "footer": { + "feedback": "Share your feedback" } } diff --git a/src/addons/outlook/src/locales/fr/translation.json b/src/addons/outlook/src/locales/fr/translation.json index cdb3bb3d..6380c945 100644 --- a/src/addons/outlook/src/locales/fr/translation.json +++ b/src/addons/outlook/src/locales/fr/translation.json @@ -33,5 +33,8 @@ "phone_only": "Ou appelez (audio uniquement)", "phone_fr": "(FR) {{phone}}", "pin_code": "Code {{pin}}" + }, + "footer": { + "feedback": "Partagez-nous vos retours" } } diff --git a/src/addons/outlook/src/taskpane/taskpane.css b/src/addons/outlook/src/taskpane/taskpane.css index fa1b4243..7282acb8 100644 --- a/src/addons/outlook/src/taskpane/taskpane.css +++ b/src/addons/outlook/src/taskpane/taskpane.css @@ -143,10 +143,11 @@ button { #version-tag { position: fixed; bottom: 8px; + left: 8px; right: 8px; - display: inline-flex; + display: flex; + justify-content: space-between; align-items: center; - gap: 4px; font-size: 11px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #6b7280; @@ -154,6 +155,26 @@ button { pointer-events: none; } +#feedback-link { + font-size: 11px; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; + color: #6b7280; + text-decoration: underline; + pointer-events: all; /* override parent's pointer-events: none */ + cursor: pointer; +} + +#feedback-link:hover { + color: #374151; +} + +#footer-right { + display: inline-flex; + align-items: center; + gap: 4px; + margin-left: auto; +} + .version-badge { background: #fef3c7; color: #92400e; diff --git a/src/addons/outlook/src/taskpane/taskpane.html b/src/addons/outlook/src/taskpane/taskpane.html index 31909b12..b8eaa31b 100644 --- a/src/addons/outlook/src/taskpane/taskpane.html +++ b/src/addons/outlook/src/taskpane/taskpane.html @@ -50,8 +50,16 @@ diff --git a/src/addons/outlook/src/taskpane/taskpane.js b/src/addons/outlook/src/taskpane/taskpane.js index 09e0e2a7..f0856cf5 100644 --- a/src/addons/outlook/src/taskpane/taskpane.js +++ b/src/addons/outlook/src/taskpane/taskpane.js @@ -1,5 +1,5 @@ /* global Office */ -const { APP_NAME } = require("../common"); +const { APP_NAME, FEEDBACK_FORM } = require("../common"); const { applyAppName } = require("../common/helpers"); const { initSession, createRoom } = require("../common/api"); const { startPolling } = require("../common/polling"); @@ -174,6 +174,12 @@ Office.onReady(async (info) => { await initI18n(); translateUI(); + if (FEEDBACK_FORM) { + const link = document.getElementById("feedback-link"); + link.href = FEEDBACK_FORM; + link.style.display = "inline"; + } + if (info.host === Office.HostType.Outlook) { applyAppName(); document.getElementById("sideload-msg").style.display = "none"; diff --git a/src/helm/env.d/dev-dinum/values.meet.yaml.gotmpl b/src/helm/env.d/dev-dinum/values.meet.yaml.gotmpl index 886be325..041ff872 100644 --- a/src/helm/env.d/dev-dinum/values.meet.yaml.gotmpl +++ b/src/helm/env.d/dev-dinum/values.meet.yaml.gotmpl @@ -38,5 +38,6 @@ frontend: enabled: true baseUrl: "https://meet.127.0.0.1.nip.io" enableSourceTracking: true + feedbackForm: "https://tests.com/" appName: "Visio" id: "a025f0f6-757a-4790-97f3-99c66c4a5795" diff --git a/src/helm/meet/templates/frontend_addons_cm.yml b/src/helm/meet/templates/frontend_addons_cm.yml index 32d11575..e3dbd0ea 100644 --- a/src/helm/meet/templates/frontend_addons_cm.yml +++ b/src/helm/meet/templates/frontend_addons_cm.yml @@ -10,5 +10,6 @@ data: BASE_URL: {{ .Values.frontend.outlookAddon.baseUrl | quote }}, APP_NAME: {{ .Values.frontend.outlookAddon.appName | quote }}, ENABLE_SOURCE_TRACKING: {{ .Values.frontend.outlookAddon.enableSourceTracking | quote }}, + FEEDBACK_FORM: {{ .Values.frontend.outlookAddon.feedbackForm | quote }} }; {{- end }} diff --git a/src/helm/meet/values.yaml b/src/helm/meet/values.yaml index 692b27ee..db1d0b81 100644 --- a/src/helm/meet/values.yaml +++ b/src/helm/meet/values.yaml @@ -449,11 +449,13 @@ frontend: ## @param frontend.outlookAddon.appName Display name used in the Outlook add-in (manifest + runtime config) ## @param frontend.outlookAddon.baseUrl Public base URL where the add-in is served (no trailing slash) ## @param frontend.outlookAddon.enableSourceTracking Enable appending ?from=outlook-addon to the URL + ## @param frontend.outlookAddon.feedbackForm Add a link to the footer opening a feedback form outlookAddon: enabled: false appName: "" baseUrl: "" enableSourceTracking: false + feedbackForm: "" id: "" ## @section posthog