@verbumia/feedback
v0.2.1
Published
Verbumia End-User Translation Evaluation widget — let your end users rate and suggest translations. React (web) + React Native / Expo.
Downloads
457
Maintainers
Readme
@verbumia/feedback
Embed a Verbumia End-User Translation Evaluation widget in your app. Your end users accept a short ToS, then rate (5-star) and suggest alternatives for the translations on screen. You moderate everything from the Verbumia dashboard — nothing auto-publishes.
@verbumia/feedback/react— React (web)@verbumia/feedback/native— React Native / Expo@verbumia/feedback/core— framework-agnostic client (advanced)
MIT. Add-on available from the Pro plan upward.
Install
npm i @verbumia/feedbackreact (and react-native for the native entry) are peer deps.
Architecture
@verbumia/feedback is a plugin of your existing @verbumia/*-i18n
provider — not a second context/provider. You add it to the i18n
provider's plugins slot; it reuses that provider's apiBase /
projectUuid / locale (no re-config) and never re-renders your app when
the panel opens. The sessionId is minted server-side — you don't supply
a cohort/session id.
React
import { VerbumiaProvider } from "@verbumia/react-i18next";
import { feedbackPlugin } from "@verbumia/feedback/react";
const feedbackCtl = { current: null };
<VerbumiaProvider
token="vrb_live_…"
projectUuid="<project-uuid>"
defaultLocale="fr"
plugins={[
feedbackPlugin({
tosVersion: "2026-05-18",
keys: [{ namespace: "common", key: "home.title" }], // or omit → i18n registry
controllerRef: feedbackCtl, // imperative handle
}),
]}
>
<App />
</VerbumiaProvider>;
// trigger from your own CTA — no hook, no extra provider:
<button onClick={() => feedbackCtl.current?.open()}>Rate translations</button>;feedbackPlugin also accepts onReady(controller), and optional
apiBase / projectId / language overrides (defaults come from the
i18n provider config).
React Native / Expo
import { feedbackPlugin } from "@verbumia/feedback/native";
// same plugin API; renders a bottom-sheet <Modal> instead of a side panel.
// add it to your @verbumia/react-i18next provider's `plugins` slot.Key discovery
If @verbumia/*-i18n is on the page it exposes a tiny key registry; the
widget reads the on-screen keys from it automatically. The explicit
keys prop always overrides it and is the reliable fallback.
Behaviour
Ratings/suggestions are debounced + batched and sent best-effort — the widget never blocks or breaks your app. See CONTRACT.md for the exact wire shape.
