@tractr/qa-feedback-widget
v0.1.2
Published
Embeddable feedback widget that posts to a qa-tracking instance.
Readme
@tractr/qa-feedback-widget
Widget de feedback embarquable qui pousse les retours dans une instance qa-tracking plutôt que dans la base de l'app hôte.
Installation
Le paquet est publié sur le registry npm public sous l'org tractr. Aucune config .npmrc ni token nécessaire :
pnpm add @tractr/qa-feedback-widgetPublication
La CI publie automatiquement sur tag [email protected] (workflow .github/workflows/publish-widget.yml) :
pnpm -C packages/qa-feedback-widget version patch # bump + tag
git push --follow-tagsPublication manuelle (si besoin) :
npm login
pnpm -C packages/qa-feedback-widget build
pnpm -C packages/qa-feedback-widget publishUtilisation
import { FeedbackWidget } from "@tractr/qa-feedback-widget"
<FeedbackWidget
apiUrl="https://qa.tractr.net"
widgetToken={import.meta.env.VITE_QA_WIDGET_TOKEN}
getUserEmail={() => session?.user?.email ?? null}
/>apiUrl— base URL de l'instance qa-tracking (sans slash final).widgetToken— token opaque créé depuis l'admin qa-tracking (onglet Widget d'un projet). Stocké hashé côté serveur, le clair n'apparaît qu'à la création.getUserEmail— callback synchrone qui lit l'email de l'utilisateur connecté dans l'app hôte. Sert à résoudre letester_iddans qa-tracking viatester_accounts.email. Si l'email est inconnu côté qa-tracking, le feedback est quand même créé avectester_id = null.
Configuration côté qa-tracking
Variables d'env :
WIDGET_ALLOWED_ORIGINS: liste d'origines autorisées (séparées par des virgules) pour CORS.*permet tout (dev uniquement).
Remplacement du widget historique Blues Web
Dans apps/web/src/main.tsx et apps/screening/src/components/layout/screening-layout.tsx, remplacer :
-import { FeedbackWidget } from '@repo/feedback';
+import { FeedbackWidget } from '@tractr/qa-feedback-widget';
-<FeedbackWidget config={{ supabaseClient: supabase, profileId: profile?.id }} />
+<FeedbackWidget
+ apiUrl={import.meta.env.VITE_QA_API_URL}
+ widgetToken={import.meta.env.VITE_QA_WIDGET_TOKEN}
+ getUserEmail={() => session?.user?.email ?? null}
+/>Ajouter dans .env.example :
VITE_QA_API_URL=https://qa.tractr.net
VITE_QA_WIDGET_TOKEN=qaw_xxxxxxxxxxxxxxxxL'ancien paquet @repo/feedback et sa table feedbacks locale à Blues Web peuvent être retirés après validation en staging.
