(addon) add a feedback form link in the footer

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.
This commit is contained in:
lebaudantoine
2026-06-10 14:52:47 +02:00
committed by aleb_the_flash
parent 9522dc72ac
commit 44d3ed8f2e
10 changed files with 55 additions and 5 deletions
+2
View File
@@ -1,9 +1,11 @@
const BASE_URL = window.__APP_CONFIG__?.BASE_URL || "https://meet.127.0.0.1.nip.io"; 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 APP_NAME = window.__APP_CONFIG__?.APP_NAME || "LaSuite Meet";
const ENABLE_SOURCE_TRACKING = window.__APP_CONFIG__?.ENABLE_SOURCE_TRACKING === "true"; const ENABLE_SOURCE_TRACKING = window.__APP_CONFIG__?.ENABLE_SOURCE_TRACKING === "true";
const FEEDBACK_FORM = window.__APP_CONFIG__?.FEEDBACK_FORM || null;
module.exports = { module.exports = {
BASE_URL, BASE_URL,
APP_NAME, APP_NAME,
ENABLE_SOURCE_TRACKING, ENABLE_SOURCE_TRACKING,
FEEDBACK_FORM
}; };
@@ -33,5 +33,8 @@
"phone_only": "Oder per Telefon teilnehmen (nur Audio)", "phone_only": "Oder per Telefon teilnehmen (nur Audio)",
"phone_fr": "(FR) {{phone}}", "phone_fr": "(FR) {{phone}}",
"pin_code": "Code {{pin}}" "pin_code": "Code {{pin}}"
},
"footer": {
"feedback": "Teilen Sie uns Ihr Feedback mit"
} }
} }
@@ -33,5 +33,8 @@
"phone_only": "Or call in (audio only)", "phone_only": "Or call in (audio only)",
"phone_fr": "(FR) {{phone}}", "phone_fr": "(FR) {{phone}}",
"pin_code": "Code {{pin}}" "pin_code": "Code {{pin}}"
},
"footer": {
"feedback": "Share your feedback"
} }
} }
@@ -33,5 +33,8 @@
"phone_only": "Ou appelez (audio uniquement)", "phone_only": "Ou appelez (audio uniquement)",
"phone_fr": "(FR) {{phone}}", "phone_fr": "(FR) {{phone}}",
"pin_code": "Code {{pin}}" "pin_code": "Code {{pin}}"
},
"footer": {
"feedback": "Partagez-nous vos retours"
} }
} }
+23 -2
View File
@@ -143,10 +143,11 @@ button {
#version-tag { #version-tag {
position: fixed; position: fixed;
bottom: 8px; bottom: 8px;
left: 8px;
right: 8px; right: 8px;
display: inline-flex; display: flex;
justify-content: space-between;
align-items: center; align-items: center;
gap: 4px;
font-size: 11px; font-size: 11px;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
color: #6b7280; color: #6b7280;
@@ -154,6 +155,26 @@ button {
pointer-events: none; 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 { .version-badge {
background: #fef3c7; background: #fef3c7;
color: #92400e; color: #92400e;
+10 -2
View File
@@ -50,8 +50,16 @@
</div> </div>
</div> </div>
<footer id="version-tag"> <footer id="version-tag">
<span class="version-badge">beta</span> <a id="feedback-link"
<span class="version-number">0.0.2</span> style="display:none;"
target="_blank"
rel="noopener noreferrer"
data-i18n="footer.feedback"
></a>
<div id="footer-right">
<span class="version-badge">beta</span>
<span class="version-number">0.0.2</span>
</div>
</footer> </footer>
</body> </body>
</html> </html>
+7 -1
View File
@@ -1,5 +1,5 @@
/* global Office */ /* global Office */
const { APP_NAME } = require("../common"); const { APP_NAME, FEEDBACK_FORM } = require("../common");
const { applyAppName } = require("../common/helpers"); const { applyAppName } = require("../common/helpers");
const { initSession, createRoom } = require("../common/api"); const { initSession, createRoom } = require("../common/api");
const { startPolling } = require("../common/polling"); const { startPolling } = require("../common/polling");
@@ -174,6 +174,12 @@ Office.onReady(async (info) => {
await initI18n(); await initI18n();
translateUI(); translateUI();
if (FEEDBACK_FORM) {
const link = document.getElementById("feedback-link");
link.href = FEEDBACK_FORM;
link.style.display = "inline";
}
if (info.host === Office.HostType.Outlook) { if (info.host === Office.HostType.Outlook) {
applyAppName(); applyAppName();
document.getElementById("sideload-msg").style.display = "none"; document.getElementById("sideload-msg").style.display = "none";
@@ -38,5 +38,6 @@ frontend:
enabled: true enabled: true
baseUrl: "https://meet.127.0.0.1.nip.io" baseUrl: "https://meet.127.0.0.1.nip.io"
enableSourceTracking: true enableSourceTracking: true
feedbackForm: "https://tests.com/"
appName: "Visio" appName: "Visio"
id: "a025f0f6-757a-4790-97f3-99c66c4a5795" id: "a025f0f6-757a-4790-97f3-99c66c4a5795"
@@ -10,5 +10,6 @@ data:
BASE_URL: {{ .Values.frontend.outlookAddon.baseUrl | quote }}, BASE_URL: {{ .Values.frontend.outlookAddon.baseUrl | quote }},
APP_NAME: {{ .Values.frontend.outlookAddon.appName | quote }}, APP_NAME: {{ .Values.frontend.outlookAddon.appName | quote }},
ENABLE_SOURCE_TRACKING: {{ .Values.frontend.outlookAddon.enableSourceTracking | quote }}, ENABLE_SOURCE_TRACKING: {{ .Values.frontend.outlookAddon.enableSourceTracking | quote }},
FEEDBACK_FORM: {{ .Values.frontend.outlookAddon.feedbackForm | quote }}
}; };
{{- end }} {{- end }}
+2
View File
@@ -449,11 +449,13 @@ frontend:
## @param frontend.outlookAddon.appName Display name used in the Outlook add-in (manifest + runtime config) ## @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.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.enableSourceTracking Enable appending ?from=outlook-addon to the URL
## @param frontend.outlookAddon.feedbackForm Add a link to the footer opening a feedback form
outlookAddon: outlookAddon:
enabled: false enabled: false
appName: "" appName: ""
baseUrl: "" baseUrl: ""
enableSourceTracking: false enableSourceTracking: false
feedbackForm: ""
id: "" id: ""
## @section posthog ## @section posthog