@connectycube/chat-widget v0.29.0
WebRTCPeerConnection.ts:134 VideoChat: onSignalingStateHandler: have-remote-offer helpers.ts:7 useCallsLog: {session: e, userID: 13308918, stream: MediaStream} WebRTCPeerConnection.ts:134 VideoChat: setRemoteSessionDescription - success WebRTCPeerConnection.ts:134 VideoChat: onSignalingStateHandler: stable WebRTCPeerConnection.ts:134 VideoChat: Set maxBandwidth success 13308918: 0 kbps WebRTCPeerConnection.ts:134 VideoChat: getAndSetLocalSessionDescription - success
ConnectyCube Chat Widget
A React component that seamlessly integrates ConnectyCube's real-time chat capabilities into your web applications. This widget offers an out-of-the-box solution for embedding chat features—such as instant messaging, user presence, and file sharing—without the overhead of building a complete chat system from scratch.
Overview
The ConnectyCube Web Chat Widget for React is designed to simplify the process of adding chat functionality to your React apps. With a few configuration steps and minimal code, you can quickly enable robust, real-time communication powered by ConnectyCube. Key benefits include:
- Easy Integration: Plug the widget into your existing React projects.
- Customizable Interface: Adjust the look and feel to match your brand.
- Real-Time Messaging: Leverage ConnectyCube's reliable backend for instant communication.
- Responsive Design: Works seamlessly on both desktop and mobile devices.
- Modular and Extensible: Adapt the widget to your unique requirements.
Demo
https://connectycube-chat-widget.onrender.com
Split-view chat widget:
Single-view chat widget:
Documentation
https://developers.connectycube.com/js/chat-widget
Installation
React
npm install @connectycube/chat-widgetor
yarn add @connectycube/chat-widgetVanilla JS
Add the following scripts on your html page somewhere in head element:
<script src="https://unpkg.com/react@18/umd/react.production.min.js" crossorigin></script>
<script src="https://unpkg.com/react-dom@18/umd/react-dom.production.min.js" crossorigin></script>
<script src="https://unpkg.com/connectycube@4/dist/connectycube.min.js"></script>
<script src="https://unpkg.com/@connectycube/chat-widget@latest/dist/index.umd.js"></script>Usage
Before you start
Before you start, make sure:
- You have access to your ConnectyCube account. If you don’t have an account, sign up here.
- An app created in ConnectyCube dashboard. Once logged into your ConnectyCube account, create a new application and make a note of the app credentials (App ID and Authorization Key) that you’ll need for authentication.
Display widget
React
Import and place the following component in your app:
import ConnectyCubeChatWidget from "@connectycube/chat-widget";
...
<ConnectyCubeChatWidget
appId="111"
authKey="11111111-2222-3333-4444-55555555"
config={{ debug: { mode: 1 } }}
userId="112233"
userName="Samuel"
showOnlineUsersTab={false}
splitView={true}
/>
// userName - how other users will see your user name
// userId - a User Id from your systemSee chat widget code samples https://github.com/ConnectyCube/connectycube-chat-widget-samples as a reference for faster integration.
React 19
By default, the widget uses the React 18-compatible build. To use it with React 19, import the dedicated ESM-only build instead:
import ConnectyCubeChatWidget from '@connectycube/chat-widget/react19';Vanilla JS
Place the following script in your app:
<!doctype html>
<html lang="en">
<head>
<!-- ... -->
</head>
<body>
<!-- ... -->
<!-- @connectycube/chat-widget - start -->
<script src="https://unpkg.com/react@18/umd/react.production.min.js" crossorigin></script>
<script src="https://unpkg.com/react-dom@18/umd/react-dom.production.min.js" crossorigin></script>
<script src="https://unpkg.com/connectycube@4/dist/connectycube.min.js"></script>
<script src="https://unpkg.com/@connectycube/chat-widget@latest/dist/index.umd.js"></script>
<script>
const chatWidgetContainer = document.createElement('div');
chatWidgetContainer.id = 'ConnectyCube_chat-widget';
document.body.appendChild(chatWidgetContainer);
const props = {
appId: 111,
authKey: '11111111-2222-3333-4444-55555555',
config: { debug: { mode: 1 } },
userId: '112233', // a User Id from your system
userName: 'Samuel', // how other users will see your user name
showOnlineUsersTab: false,
splitView: true,
hideWidgetButton: false,
onOpenChange: (open) => {
console.log('Chat widget is open:', open);
},
onUnreadCountChange: (count) => {
console.log('Unread messages count:', count);
},
};
ReactDOM.createRoot(chatWidgetContainer).render(React.createElement(ConnectyCubeChatWidget, props));
// use the code below as an example to toggle the chat widget visibility state for custom button
document.getElementById('someCustomButton').addEventListener('click', () => {
ConnectyCubeChatWidget.toggle();
});
</script>
<!-- @connectycube/chat-widget - end -->
</body>
</html>See chat widget code samples https://github.com/ConnectyCube/connectycube-chat-widget-samples as a reference for faster integration.
Props
See all available props https://developers.connectycube.com/js/chat-widget/#props
Recipes
See all available recipes https://developers.connectycube.com/js/chat-widget/#recipes
Have an issue?
Join our Discord for quick answers to your questions
Community
- Blog
- X (twitter)@ConnectyCube
Want to support our team:
Changelog
https://github.com/ConnectyCube/connectycube-chat-widget-samples/blob/main/CHANGELOG.md
6 months ago
6 months ago
7 months ago
7 months ago
7 months ago
8 months ago
8 months ago
8 months ago
9 months ago
9 months ago
9 months ago
9 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago