nuxt-facebook-chat
nuxt-plotly module is thin Nuxt wrapper for Facebook's Customer Chat SDK
Nuxt Facebook Chat
nuxt-facebook-chat
is a specialized Nuxt 3 module designed for effortless integration with Facebook's Customer Chat SDK. Crafted explicitly for Nuxt 3 projects, it simplifies the embedding process, reducing tedious installation steps. By incorporating the Facebook chat UI, user interactions are enriched. Save time and boost user engagement in your Nuxt 3 application with this streamlined module.
Features
- โฐ Effortless Integration: Designed specifically for Nuxt 3, allowing seamless and straightforward integration with minimal setup.
- ๐ Flexible Configuration: Easily customize your chat experience through simple prop-based settings.
- ๐ฒ Client-Side Optimized: Ensures that the chat is rendered client-side to prevent any server-side issues and ensure compatibility.
- ๐ Comprehensive Options: Rich set of options derived from the official Facebook Chat Plugin documentation, giving you full control over the chat experience.
- ๐ TypeScript Support: Leveraging TypeScript for safer code and better developer experience. ๐ Extensive Documentation: Comprehensive guidelines and examples to get you started in no time.
Quick Setup
- Add
nuxt-facebook-chat
dependency to your project
# Using pnpmpnpm add -D nuxt-facebook-chat# Using yarnyarn add --dev nuxt-facebook-chat# Using npmnpm install --save-dev nuxt-facebook-chat
- Add
nuxt-facebook-chat
to themodules
section ofnuxt.config.ts
export default defineNuxtConfig({ modules: ["nuxt-facebook-chat"],});
Usage
To use this module in your Nuxt 3 project, ensure that you only render it on the client side:
<template> <div> <!-- Ensure the chat is rendered client-side --> <client-only> <nuxt-facebook-chat :options="options" /> </client-only> </div></template><script setup lang="ts">import { NuxtFacebookChatOptions } from 'nuxt-facebook-chat';// Define your chat optionsconst options: NuxtFacebookChatOptions = { pageId: "100180625030536", // Your Facebook Page ID locale: "th_TH", // Set the locale for the chat themeColor: "#E04040", // Customize the chat theme color};</script>
Options
For the options prop, you should use the NuxtFacebookChatOptions
interface. Here are the details:
- pageId (required): The ID of your Facebook Page.
- elementId (optional): The ID for the chat element.
- locale (optional): The locale for the chat. Defaults to "en_US".
- version (optional): The version of the Facebook SDK. Defaults to the latest available.
- themeColor (optional): Color of the chat theme. Defaults to "#333333".
- loggedInGreeting (optional): The greeting text for logged-in users.
- loggedOutGreeting (optional): The greeting text for logged-out users.
- greetingDialogDisplay (optional): The way the greeting dialog is displayed. Options: "show", "fade", "hide", or "icon".
- greetingDialogDelay (optional): The delay for the greeting dialog.
- ref (optional): A reference string.
For a more detailed understanding of each prop and its possible values, you can refer to the official Facebook Chat Plugin documentation.
Whitelisting Domains for Facebook's Customer Chat SDK
To ensure the smooth functionality of the Facebook Customer Chat SDK on your website, it's crucial to whitelist your domain. Whitelisting guarantees that the chat plugin will display and operate without any disruptions on your site.
Steps to Whitelist your Domain:
- Navigate to your Facebook Page settings.
- In the left column, click on "Advanced Messaging."
- Under the "Whitelisted Domains" section, enter your website's domain.
- Click "Save."
By following these steps, you've ensured that the Facebook chat plugin will work seamlessly on your site without any potential display or functionality issues.
Contributing
If you want to improve or fix something in the module, feel free to open issues or pull requests.
# Install dependenciesnpm install# Generate type stubsnpm run dev:prepare# Develop with the playgroundnpm run dev# Build the playgroundnpm run dev:build# Run ESLintnpm run lint# Run Vitestnpm run testnpm run test:watch# Release new versionnpm run release
Contributors 1