@@ -66,12 +66,12 @@ If using Nuxt, wrap `<ReflagProvider>` in `<ClientOnly>`. `<ReflagProvider>` onl
6666<script setup lang="ts">
6767import { useFlag } from "@reflag/vue-sdk";
6868
69- const { isEnabled } = useFlag("huddle ");
69+ const { isEnabled } = useFlag("huddles ");
7070</script>
7171
7272<template>
7373 <div v-if="isEnabled">
74- <button>Start huddle !</button>
74+ <button>Start huddles !</button>
7575 </div>
7676</template>
7777```
@@ -169,7 +169,7 @@ ReflagProvider lets you define a template to be shown while ReflagProvider is in
169169 :company="{ id: 'acme_inc', plan: 'pro' }"
170170 >
171171 <template #loading>Loading...</template>
172- <StartHuddleButton />
172+ <StartHuddlesButton />
173173 </ReflagProvider>
174174</template>
175175```
@@ -193,7 +193,7 @@ const bootstrappedFlags = {
193193 company: { id: "company456", name: "Acme Inc", plan: "enterprise" },
194194 },
195195 flags: {
196- huddle : {
196+ huddles : {
197197 isEnabled: true,
198198 config: {
199199 key: "enhanced",
@@ -209,7 +209,7 @@ const bootstrappedFlags = {
209209 :publishable-key="publishableKey"
210210 :flags="bootstrappedFlags"
211211 >
212- <StartHuddleButton />
212+ <StartHuddlesButton />
213213 </ReflagBootstrappedProvider>
214214</template>
215215```
@@ -271,14 +271,14 @@ Example:
271271<script setup lang="ts">
272272import { useFlag } from "@reflag/vue-sdk";
273273
274- const { isEnabled, track, requestFeedback, config } = useFlag("huddle ");
274+ const { isEnabled, track, requestFeedback, config } = useFlag("huddles ");
275275</script>
276276
277277<template>
278278 <div v-if="isLoading">Loading...</div>
279279 <div v-else-if="!isEnabled">Flag not available</div>
280280 <div v-else>
281- <button @click="track()">Start huddle !</button>
281+ <button @click="track()">Start huddles !</button>
282282 <button
283283 @click="
284284 (e) =>
@@ -316,8 +316,8 @@ const track = useTrack();
316316
317317<template>
318318 <div>
319- <button @click="track('Huddle Started', { huddleType : 'voice' })">
320- Start voice huddle !
319+ <button @click="track('Huddles Started', { huddlesType : 'voice' })">
320+ Start voice huddles !
321321 </button>
322322 </div>
323323</template>
@@ -344,7 +344,7 @@ const requestFeedback = useRequestFeedback();
344344 @click="
345345 (e) =>
346346 requestFeedback({
347- flagKey: 'huddle-flag ',
347+ flagKey: 'huddles ',
348348 title: 'How satisfied are you with file uploads?',
349349 position: {
350350 type: 'POPOVER',
@@ -452,10 +452,41 @@ import { onMounted } from "vue";
452452
453453const client = useClient();
454454
455- onMounted(() => {
456- client.value.on("check", (evt) => {
457- console.log(`The flag ${evt.key} is ${evt.value} for user.`);
458- });
455+ console.log(client.getContext());
456+ </script>
457+
458+ <template>
459+ <!-- your component content -->
460+ </template>
461+ ```
462+
463+ ### ` useClientEvent() `
464+
465+ Vue composable for listening to Reflag client events. This composable automatically handles mounting and unmounting of event listeners.
466+
467+ Available events include:
468+
469+ - ` flagsUpdated ` : Triggered when flags are updated
470+ - ` track ` : Triggered when tracking events are sent
471+ - ` feedback ` : Triggered when feedback is sent
472+
473+ ``` vue
474+ <script setup lang="ts">
475+ import { useClientEvent } from "@reflag/vue-sdk";
476+
477+ // Listen to flag updates
478+ useClientEvent("flagsUpdated", () => {
479+ console.log("Flags have been updated");
480+ });
481+
482+ // Listen to tracking events
483+ useClientEvent("track", (event) => {
484+ console.log("Tracking event:", event);
485+ });
486+
487+ // Listen to feedback events
488+ useClientEvent("feedback", (event) => {
489+ console.log("Feedback event:", event);
459490});
460491</script>
461492
@@ -464,6 +495,28 @@ onMounted(() => {
464495</template>
465496```
466497
498+ You can also provide a specific client instance if needed:
499+
500+ ``` vue
501+ <script setup lang="ts">
502+ import { ReflagClient } from "@reflag/browser-sdk";
503+
504+ const myReflagClient = new ReflagClient();
505+
506+ useClientEvent(
507+ "flagsUpdated",
508+ () => {
509+ console.log("flags updated");
510+ },
511+ myReflagClient,
512+ );
513+ </script>
514+
515+ <template>
516+ <!-- your component content -->
517+ </template>
518+ ```
519+
467520### ` useIsLoading() `
468521
469522Returns a ` Ref<boolean> ` to indicate if Reflag has finished loading.
0 commit comments