Chat module for Fun Ecosystem - provides messaging, groups, voice messages, and realtime features
npm install @fun-ecosystem1/chatChat module for Fun Ecosystem - provides messaging, group chats, and realtime features.
``bash`
npm install @fun-ecosystem1/chator
pnpm add @fun-ecosystem1/chat
This package requires the following peer dependencies:
- react >= 18.0.0react-dom
- >= 18.0.0@supabase/supabase-js
- >= 2.90.0@tanstack/react-query
- >= 5.0.0date-fns
- >= 4.0.0lucide-react
- >= 0.400.0sonner
- >= 1.0.0
`tsx
import {
ChatProvider,
ConversationList,
MessageThread
} from '@fun-ecosystem1/chat';
import { createClient } from '@supabase/supabase-js';
import { QueryClient } from '@tanstack/react-query';
const supabase = createClient(SUPABASE_URL, SUPABASE_ANON_KEY);
const queryClient = new QueryClient();
function ChatPage() {
const [selectedConversation, setSelectedConversation] = useState(null);
return (
supabase,
queryClient,
currentUserId: 'user-id',
currentUsername: 'username',
uploadMedia: async (file) => {
// Your upload logic
return { url: 'https://...' };
},
}}
>
Components
$3
Wraps your chat components and provides configuration via context.$3
Displays a list of conversations with search and realtime updates.$3
Shows messages in a conversation with reactions, replies, and typing indicators.$3
Message input with media upload, emoji picker, and reply functionality.$3
Individual message display with reactions and read receipts.$3
Shows who is currently typing.$3
Dialog for creating new group conversations.$3
Dialog for managing group settings and members.$3
Dialog for starting a new direct conversation.$3
Search messages within a conversation.$3
User's chat privacy and notification settings.Hooks
$3
Fetch and manage conversation list.$3
Fetch messages with pagination and realtime updates.$3
Send and receive typing indicators.$3
Manage user's chat settings.$3
Create and manage group conversations.$3
Handle chat notifications.Database Schema
This module requires the following tables:
-
conversations
- conversation_participants
- messages
- message_reactions
- message_reads
- chat_settings`See the main repository for migration scripts.
MIT