1.1.1 • Published 9 months ago

@athome-solution/feedjet-demo v1.1.1

Weekly downloads
-
License
MIT
Repository
-
Last release
9 months ago

Feedjet

Installation

Ajoutez la librairie à votre projet en utilisant npm, yarn ou pnpm :

# npm
npm install @athome-solution/feedjet-demo
# yarn
yarn add @athome-solution/feedjet-demo
# pnpm
pnpm add @athome-solution/feedjet-demo

Feedjet Feedback

Feedjet Feedback est une librairie JavaScript permettant d’intégrer un widget de feedback personnalisé à votre application. Elle permet aux utilisateurs de soumettre des problèmes, des suggestions ou des améliorations via un formulaire interactif.

Fonctionnalités

  • Collecte de feedback utilisateur avec un formulaire personnalisable.
  • Capture d’écran automatique incluse dans les feedbacks.
  • Gestion des erreurs de validation.
  • URL d'API configurable pour s'adapter à votre environnement.

Utilisation

Intégration dans un Framework JS

Ajoutez le widget dans votre projet en initialisant la classe Feedback.

import { Feedback } from '@athome-solution/feedjet-demo'
import '@athome-solution/feedjet-demo/css/feedback.css'

const feedback = new Feedback({
  target: document.getElementById('feedback-widget'),
  projectId: '12345',
  apiUrl: 'https://api.example.com/api/import_feedback',
  user: {
    id: '1',
    fullName: 'John Doe',
  },
})

Ajoutez le conteneur HTML dans votre page :

<div id="feedback-widget"></div>

Le widget sera automatiquement rendu dans le conteneur avec l'ID feedback-widget.

Intégration Nuxt 3/4 (SSR)

import { Feedback } from '@athome-solution/feedjet-demo'
import '@athome-solution/feedjet-demo/css/feedback.css'

const { user } = useAuth()

const feedbackBtn = ref()

watch([feedbackBtn], () => {
  if (!feedbackBtn.value)
    return

  const feedback = new Feedback({
    target: { feedback: feedbackBtn.value.$el },
    projectId: $config.public.feedjetProjectId,
    apiUrl: $config.public.feedjetApiUrl,
    user: () => ({
      id: user.value.id,
      fullName: `${user.value.firstName} ${user.value.lastName}`,
    })
  })
})
<Button ref="feedbackBtn">
  Retour
</Button>

Exemple avec JavaScript Vanilla

Voici un exemple complétement fonctionnel utilisant uniquement du JavaScript Vanilla :

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Feedjet Feedback</title>
  <link rel="stylesheet" href="https://unpkg.com/@athome-solution/feedjet-demo/dist/css/feedback.css">
  <script src="https://unpkg.com/@athome-solution/feedjet-demo"></script>
</head>
<body>
  <div id="feedback-widget"></div>

  <script>
    const feedback = new Feedjet.Feedback({
      target: document.getElementById('feedback-widget'),
      projectId: '12345',
      apiUrl: 'https://api.example.com/api/import_feedback',
      user: {
        id: '1',
        fullName: 'John Doe',
      },
    });
  </script>
</body>
</html>

Options disponibles

Paramètres de Feedback

interface FeedbackOptions {
  target: HTMLElement | null | undefined | {
    feedback?: HTMLElement | null | undefined
  }
  projectId?: string
  apiUrl?: string
  user?: {
    id: string
    fullName?: string
  } | undefined | (() => ({ id: string, fullName?: string } | undefined))
}
ParamètreDescriptionObligatoire
targetL’élément HTML où le widget sera rendu.Oui
projectIdL'identifiant du projet Feedjet.Oui
apiUrlL'URL de l'API pour envoyer les feedbacks.Oui
userLes informations de l'utilisateur qui envoie le feedback.Non

Customisation

Vous pouvez personnaliser le widget en modifiant les variables CSS suivantes :

.fj-feedback-modal.fj-feedback-issue {
  --color: #ff0000; /* Couleur de la bordure haute de la modale */
  --robot-color: #ff0000; /* Couleur du robot dans la modale */
}

.fj-feedback-modal.fj-feedback-amelioration {
  --color: #00ff00; /* Couleur de la bordure haute de la modale */
  --robot-color: #00ff00; /* Couleur du robot dans la modale */
}

Toutes les classes CSS sont préfixées par .fj-feedback- pour éviter les conflits avec d'autres styles.

Feedjet Feedbot

Feedjet Feedbot est une librairie JavaScript permettant d’intégrer un widget de questionnaire Feedbot à votre application. Il permet de collecter des feedbacks utilisateurs à l'aide de questions personnalisées.

Fonctionnalités

  • Gestion des erreurs de validation.
  • URL d'API configurable pour s'adapter à votre environnement.
  • Gestion des questionnaires avec seuil (nombre d'utilisation d'une fonctionnalité avant affichage du questionnaire).

Utilisation

Intégration dans un Framework JS

Ajoutez le widget dans votre projet en initialisant la classe Feedbot.

import { Feedbot } from '@athome-solution/feedjet-demo'
import '@athome-solution/feedjet-demo/css/feedbot.css'

const feedbot = new Feedbot({
  baseApiUrl: 'https://api.example.com',
  surveyId: '12345',
  user: {
    id: '1',
    fullName: 'John Doe',
  },
})

// si votre questionnaire est déclenché via un seuil
document.getElementById('button').addEventListener('click', () => {
  feedbot.increment()
})
<button id="button">Click Me</button>

Intégration Nuxt 3/4 (SSR)

<script setup>
import { Feedback } from '@athome-solution/feedjet-demo'
import '@athome-solution/feedjet-demo/css/feedback.css'

const { user } = useAuth()

const feedbot = new Feedbot({
  baseApiUrl: 'https://api.example.com',
  surveyId: '12345',
  user: () => ({
    id: user.value.id,
    fullName: `${user.value.firstName} ${user.value.lastName}`,
  })
})
</script>

<template>
  <Button @click="feedbot.increment()">
    Anomalie
  </Button>
</template>

Exemple avec JavaScript Vanilla

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Feedjet Feedbot</title>
  <link rel="stylesheet" href="https://unpkg.com/@athome-solution/feedjet-demo/dist/css/feedbot.css">
  <script src="https://unpkg.com/@athome-solution/feedjet-demo"></script>
</head>
<body>
  <button id="button">Click Me</button>

  <script>
    const feedbot = new Feedjet.Feedbot({
      baseApiUrl: 'https://api.example.com',
      surveyId: '12345',
      user: {
        id: '1',
        fullName: 'John Doe',
      },
    });

    document.getElementById('button').addEventListener('click', () => {
      feedbot.increment()
    });
  </script>
</body>
</html>

Options disponibles

interface FeedbotOptions {
  baseApiUrl: string
  surveyId: string
  user?: {
    id: string
    fullName?: string
  } | undefined | (() => ({ id: string, fullName?: string } | undefined))
}
ParamètreDescriptionObligatoire
baseApiUrlL'URL de base de l'API Feedbot.Oui
surveyIdL'identifiant du sondage Feedbot.Oui
userLes informations de l'utilisateur qui envoie le feedback.Non

Customisation

Toutes les classes CSS sont préfixées par .fj-feedbot- pour éviter les conflits avec d'autres styles.

Licence

Cette librairie est sous licence MIT. Consultez le fichier LICENSE pour plus d'informations.

1.1.1

9 months ago

1.1.0

10 months ago

1.0.17

10 months ago

1.0.16

10 months ago

1.0.15

10 months ago

1.0.14

10 months ago

1.0.13

10 months ago

1.0.1

10 months ago