From ac96a15dd6a0e129e46c57443f93013f5af14132 Mon Sep 17 00:00:00 2001 From: Soeren Wegener Date: Tue, 19 Mar 2024 01:56:37 +0100 Subject: [PATCH 1/3] feat(feedback): Configurable "required" label (#11152) --- packages/feedback/src/constants/index.ts | 1 + packages/feedback/src/core/integration.ts | 3 +++ packages/feedback/src/core/sendFeedback.ts | 2 +- packages/feedback/src/modal/components/Form.tsx | 12 +++++++----- packages/feedback/src/modal/createDialog.tsx | 1 + packages/feedback/src/types/config.ts | 5 +++++ 6 files changed, 18 insertions(+), 6 deletions(-) diff --git a/packages/feedback/src/constants/index.ts b/packages/feedback/src/constants/index.ts index 9804fdedf431..218f2e678494 100644 --- a/packages/feedback/src/constants/index.ts +++ b/packages/feedback/src/constants/index.ts @@ -20,6 +20,7 @@ export const MESSAGE_LABEL = 'Description'; export const NAME_PLACEHOLDER = 'Your Name'; export const NAME_LABEL = 'Name'; export const SUCCESS_MESSAGE_TEXT = 'Thank you for your report!'; +export const IS_REQUIRED_TEXT = '(required)'; export const FEEDBACK_WIDGET_SOURCE = 'widget'; export const FEEDBACK_API_SOURCE = 'api'; diff --git a/packages/feedback/src/core/integration.ts b/packages/feedback/src/core/integration.ts index 489bfd32728d..fd673dbf873d 100644 --- a/packages/feedback/src/core/integration.ts +++ b/packages/feedback/src/core/integration.ts @@ -9,6 +9,7 @@ import { EMAIL_LABEL, EMAIL_PLACEHOLDER, FORM_TITLE, + IS_REQUIRED_TEXT, MESSAGE_LABEL, MESSAGE_PLACEHOLDER, NAME_LABEL, @@ -76,6 +77,7 @@ export const _feedbackIntegration = (({ nameLabel = NAME_LABEL, namePlaceholder = NAME_PLACEHOLDER, successMessageText = SUCCESS_MESSAGE_TEXT, + isRequiredText = IS_REQUIRED_TEXT, // FeedbackCallbacks onFormOpen, @@ -116,6 +118,7 @@ export const _feedbackIntegration = (({ nameLabel, namePlaceholder, successMessageText, + isRequiredText, onFormClose, onFormOpen, diff --git a/packages/feedback/src/core/sendFeedback.ts b/packages/feedback/src/core/sendFeedback.ts index f3310303082a..c05eef265e91 100644 --- a/packages/feedback/src/core/sendFeedback.ts +++ b/packages/feedback/src/core/sendFeedback.ts @@ -74,7 +74,7 @@ export async function sendFeedback( } // Require valid status codes, otherwise can assume feedback was not sent successfully - if (typeof response.statusCode === 'number' && (response.statusCode < 200 || response.statusCode >= 300)) { + if (typeof response.statusCode === 'number' && (response.statusCode < 200 || response.statusCode >= 300)) { if (response.statusCode === 0) { throw new Error( 'Unable to send Feedback. This is because of network issues, or because you are using an ad-blocker.', diff --git a/packages/feedback/src/modal/components/Form.tsx b/packages/feedback/src/modal/components/Form.tsx index 0b2b1bb98fb1..9a8a3edaa167 100644 --- a/packages/feedback/src/modal/components/Form.tsx +++ b/packages/feedback/src/modal/components/Form.tsx @@ -29,6 +29,7 @@ export interface Props | 'showEmail' | 'showName' | 'submitButtonLabel' + | 'isRequiredText' > { defaultEmail: string; defaultName: string; @@ -66,6 +67,7 @@ export function Form({ showEmail, showName, submitButtonLabel, + isRequiredText, screenshotInput, }: Props): VNode { // TODO: set a ref on the form, and whenever an input changes call proceessForm() and setError() @@ -145,7 +147,7 @@ export function Form({ {showName ? (