Skip to main content

@reloop-sdk/vue

npm install @reloop-sdk/core @reloop-sdk/vue

Plugin

import { createApp } from "vue";
import { ReloopPlugin, FeedbackWidget } from "@reloop-sdk/vue";
import App from "./App.vue";

const app = createApp(App);
app.use(ReloopPlugin, {
apiKey: "rl_pub_...",
endpoint: "https://feedback.example.com",
});
app.component("FeedbackWidget", FeedbackWidget);
app.mount("#app");

You can also pass a pre-built client instead of options.

useFeedback()

<script setup lang="ts">
import { useFeedback } from "@reloop-sdk/vue";

const { submit, status, error } = useFeedback();
</script>

<template>
<button :disabled="status === 'submitting'"
@click="submit({ type: 'idea', message: 'Add dark mode' })">
{{ status === "submitting" ? "Sending…" : "Send idea" }}
</button>
</template>

useReloop()

Returns the underlying @reloop-sdk/core client, e.g. for identify():

import { useReloop } from "@reloop-sdk/vue";

const reloop = useReloop();
reloop.identify({ id: user.id, email: user.email });

FeedbackWidget

Drop-in floating widget. Props: title (string), position ("bottom-right" | "bottom-left").