Skip to content

liteflow-labs/chat

 
 

Repository files navigation

Getting Started

This library aims to provide a component to be integrated into any DApp to let users chat with each other. The chat is fully themeable, thanks to ChakraUI.

You can find examples of integrations in the following:

Installation

Install @nft/chat

npm i @nft/chat

ChatProvider

Wrap your app with the ChatProvider component, passing your ethers signer to it.

import { ChatProvider } from '@nft/chat'

function App() {
  const signer = useSigner()
  return <ChatProvider signer={signer}>{children}</ChatProvider>
}

Props

name type description
signer Signer (@ethersproject/abstract-signer) An ethers signer representing the currently connected wallet
lookupAddress (address: string) => Promise<{ name?: string, avatar?: string }> Optional: Function to resolve an Ethereum address (think about ENS, Lens protocol...)
onUserClick (address: string) => void Optional: Function called every time an address/avatar is clicked within the chat
theme Dict (@chakra-ui/utils) Optional: Theme to customize the look and feel of the chat https://chakra-ui.com/docs/styled-system/customize-theme

Chat

Now that your application is set up with the provider, you can place the chat component anywhere. This component will have a dynamic size depending on the size of your container.

import { Chat } from '@nft/chat'

function Page() {
  return <Chat />
}

Props

name type description
recipient string Optional: Address of the recipient to chat to

You're good to go! Enjoy chatting in web3.

Packages

 
 
 

Languages

  • TypeScript 93.4%
  • JavaScript 6.5%
  • CSS 0.1%