Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

chat-frontend-library

Package Overview
Dependencies
Maintainers
0
Versions
94
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

chat-frontend-library

``` npm install chat-frontend-library --save ```

  • 1.0.98
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
269
decreased by-67.11%
Maintainers
0
Weekly downloads
 
Created
Source

Install

npm install chat-frontend-library --save

Usage

Create Redux store:

import { configureStore } from '@reduxjs/toolkit';
import { chatApi, chatAppSlice, holaApi } from 'chat-frontend-library';

 const store = configureStore({
  reducer: {
    [holaApi.reducerPath]: holaApi.reducer,
    [chatApi.reducerPath]: chatApi.reducer,
    [chatAppSlice.name]: chatAppSlice.reducer,
    ...
    //Add your reducers if necessary
  },
  middleware: (getDefaultMiddleware) => getDefaultMiddleware().concat(holaApi.middleware, chatApi.middleware, ...),
});
export default store;

Wrap your root component file in a Provider:

import store from './store';
import { Provider } from "react-redux";

 <Provider store={store}>
   <App />
 </Provider>

Imports

Import the components and constants from the package into the file:

import { Chat, ChatList, LS_TOKEN_KEY } from "chat-frontend-library";
Important

After logging the user into your application, you should set the access token in the local storage of the browser for the chat components:

localStorage.setItem(LS_TOKEN_KEY, access_token)

After calling the function to refresh a token from your app, the new received token must be installed in local storage of the browser under the key LS_TOKEN_KEY and returned from the function.


Chat Component

import { Chat } from "chat-frontend-library";

  <Chat
    opponent_id="opponent_id"
    user_locale="locale"
    isOnlyChat={true}
    cbHandleCloseChat={cbCloseChat}
    handleRefreshToken={cbRefreshToken}
    classHeader="customCSSClass"
    classMessages="customCSSClass"
  />
Chat props
propdefaulttypedescription
opponent_idnonestringUser opponent ID
user_localeru/enstringChat interface language. The browser language is set by default
isOnlyChatnonebooleantrue value is set when only the chat close functionality is used. false allows more chat functionality
cbHandleCloseChatnonefunctionA callback function that is called when the user clicks the close chat button
handleRefreshTokennonefunctionAn asynchronous callback function that is called if the chat API call returns an error. Takes an axios error as an argument. Should return the new user token
classHeader" "stringAdds a custom style class for the Chat header
classMessages" "stringAdds a custom style class for the box with messages

ChatList Component

import { ChatList } from "chat-frontend-library";

  <ChatList
    user_locale="locale"
    isOnlyChatList={true}
    cbHandleCloseChatList={handleCloseList}
    handleRefreshToken={handleRefreshToken}
    classList="customCSSClass"
    cbHandleOpenChat={handleOpenChat}
  />
ChatList props
propdefaulttypedescription
user_localeru/enstringChatList interface language. The browser language is set by default.
isOnlyChatListnonebooleantrue value is set when only the chat list close functionality is used. false allows more chat list functionality.
cbHandleCloseChatListnonefunctionA callback function that is called when the user clicks the close chat button.
cbHandleOpenChatnonefunctionA callback function that is called when the user clicks on a specific chat in the list. Takes an object as a function argument: {chat_id:string; opponent_id:string}
handleRefreshTokennonefunctionAn asynchronous callback function that is called if the chat API call returns an error. Takes an axios error as an argument. Should return the new user token.
classList" "stringAdds a custom style class for the ChatList wrapper

FAQs

Package last updated on 19 Nov 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc