Inline Feedback Component

A user-friendly tool for collecting feedback, featuring email, message, name, and star ratings for effective user input.

Component Visuals

To unlock early access to the component Get Access

Demo


In this video, you'll learn:

  1. How to set up the QuestProvider with your API credentials.

  2. Configuration of the Feedback component with required props.

  3. Customization options for the Feedback component.

  4. Integration of the component into your React application.


Installation

To install the Quest react-sdk into your project, follow these steps:

  • Open your terminal/command prompt.

  • Navigate to your project's root directory using the cd command if you're not already there.

  • Run the following command to install the quest-sdk package using npm:

npm install @questlabs/react-sdk

This command will download and install the package and its dependencies into your project.

Make sure your project has npm and Node.js installed, and that you have the necessary permissions to install packages in your project directory.


Props of Feedback Component

The Feedback component accepts the following props

Prop NameTypeRequiredDetails

heading

string

required

The title or heading of the tutorial

description

string

required

description for you component

subheading

string

required

A brief description or subheading for the tutorial

itemsPerPage

string

optional

show no. of questions per page

ratingType

string

optional

rating: eg star

userId

string

required

The unique identifier of the user.

questId

string

required

The unique identifier for the tutorial or quest

token

string

required

An authentication token or API key necessary for accessing tutorial or quest data.

supportUrl

string

required

redirect URL for contact support

btnColor

string

optional

The background color of the login button

btnTextColor

string

optional

The text color of the login button.

textColor

string

optional

The text color of other UI elements in the component.

bgColor

string

optional

The background color of the entire component.

font

string

optional

The font style for text in the component.

showFooter

string

optional

true: show quest footer false hide footer

styleConfig

string

optional

An object containing CSS properties for styling various components within the feedback workflow process, including form, headings, descriptions input, label , text area, modal, footer, and buttons.


Usage

To integrate the Feedback component into your React application, follow these steps

  • Import the CSS: In your JavaScript or TypeScript file where you're using the Feedback, import the CSS styles for the component. This ensures that the component's styling is applied correctly.

import '@questlabs/react-sdk/dist/style.css'
  • Import the Feedback Component: Import the Feedbackcomponent from the @questlabs/react-sdk package.

  • Import the QuestProvider Component: Import the QuestProvider component from the @questlabs/react-sdk package.

import { QuestProvider, Feedback } from '@questlabs/react-sdk';
  • Pass the Required Props: Pass the required props to the QuestProvider. The required props are apiKey, apiSecret, and entityId. and required props for the Feedbackcomponent are userId, questId, token, supportUrl, heading and subheading

<QuestProvider
  apiKey="your-api-key"
  entityId="your-entity-id"
>
   <InlineFeedback
            questId="your questId"
            userId={userId}
            token={token}
            type="emoji"
            styleConfig={{
              ActionButton: {},
              ActionContainer: {},
              ActionSelectedButton: {},
              Description: {},
              Footer: {},
              Form: {},
              Heading: {},
              IconStyle: {},
              MainHeading: {},
              SelectedIconStyle: {},
            }}
          />
</QuestProvider>

Replace "your-api-key", "your-api-secret", and "your-entity-id" with your actual Quest API credentials

Replace "your-token", "contact-support", "userid", "your-questId","your-heading", "subheading" with your actual configuration details.


Example Usage

Here's an example of how to use the Feedback component within your React application

import { QuestProvider, Feedback } from '@questlabs/react-sdk';

function App() {
  return (
    <div>
      <QuestProvider
        apiKey="k-xxxxxdc-ac8f-x1-xxx8b-a175xxxxx"
        entityId="e-xxxx-b75b-xxxx-be9a-ee11f0f0xxxx"
      >
       <InlineFeedback
            questId="your questId"
            userId={userId}
            token={token}
            type="emoji"
            styleConfig={{
              ActionButton: {},
              ActionContainer: {},
              ActionSelectedButton: {},
              Description: {},
              Footer: {},
              Form: {},
              Heading: {},
              IconStyle: {},
              MainHeading: {},
              SelectedIconStyle: {},
            }}
          />
      </QuestProvider>
    </div>
  );
}

export default App;

The above example uses all the props.



Last updated