@college-africa/chat-ui 1.1.1 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/ChatApp.d.ts +1 -5
- package/dist/components/ConversationItem.d.ts +1 -1
- package/dist/components/MessageBubble.d.ts +1 -1
- package/dist/components/MessageList.d.ts +1 -1
- package/dist/components/inputs/UserAutocomplete.d.ts +1 -1
- package/dist/hooks/useSenderNames.d.ts +1 -1
- package/dist/hooks/useUnreadCount.d.ts +12 -0
- package/dist/hooks/useWebSocket.d.ts +19 -0
- package/dist/index.d.ts +4 -3
- package/dist/index.js +14 -78
- package/dist/index.mjs +6612 -12268
- package/dist/summaries-0iZfut4e.cjs +11 -0
- package/dist/summaries-RBBM8btI.js +8122 -0
- package/dist/types/cache.d.ts +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/utils/db.d.ts +1 -1
- package/dist/utils/groups.d.ts +1 -1
- package/dist/utils/messages.d.ts +7 -2
- package/dist/utils/sdk.d.ts +3 -4
- package/dist/utils/summaries.d.ts +4 -2
- package/package.json +21 -21
- package/dist/hooks/useWebSocketMessages.d.ts +0 -23
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
import { ChatClientConfig } from 'sdk';
|
|
2
|
+
import { ChatClientConfig } from '@college-africa/chat-sdk';
|
|
3
3
|
export interface ChatAppProps {
|
|
4
4
|
/** SDK configuration */
|
|
5
5
|
config: ChatClientConfig;
|
|
6
|
-
/** Authentication token (optional, can be set later via SDK) */
|
|
7
|
-
token?: string;
|
|
8
|
-
/** Token fetcher function (alternative to token prop) */
|
|
9
|
-
getToken?: () => Promise<string>;
|
|
10
6
|
/** Child components to render when SDK is ready */
|
|
11
7
|
children: React.ReactNode;
|
|
12
8
|
/** Custom loading component */
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook to reactively compute total unread message count
|
|
3
|
+
*
|
|
4
|
+
* Uses IndexedDB via Dexie as the single source of truth
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* useUnreadCount - Hook for tracking total unread messages across all conversations
|
|
8
|
+
*
|
|
9
|
+
* Returns the total unread message count from the summaries table
|
|
10
|
+
* Updates automatically when unread counts change
|
|
11
|
+
*/
|
|
12
|
+
export declare function useUnreadCount(): number | undefined;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { WSMessage } from '@college-africa/chat-sdk';
|
|
2
|
+
export interface UseWebSocketParams {
|
|
3
|
+
/** Callback when a message is received */
|
|
4
|
+
onMessage?: (message: WSMessage) => void;
|
|
5
|
+
/** Callback when WebSocket connection opens */
|
|
6
|
+
onConnect?: () => void;
|
|
7
|
+
/** Callback when WebSocket connection closes */
|
|
8
|
+
onDisconnect?: () => void;
|
|
9
|
+
/** Callback when WebSocket error occurs */
|
|
10
|
+
onError?: (error: Error) => void;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Hook for tracking WebSocket connection status
|
|
14
|
+
* and for adding events to websocket connection changes
|
|
15
|
+
* Returns connection status for UI indicators
|
|
16
|
+
*/
|
|
17
|
+
export declare function useWebSocket({ onMessage, onConnect, onDisconnect, onError }?: UseWebSocketParams): {
|
|
18
|
+
isConnected: boolean;
|
|
19
|
+
};
|
package/dist/index.d.ts
CHANGED
|
@@ -30,14 +30,15 @@ export { ConversationItemSkeleton } from './components/ConversationItemSkeleton'
|
|
|
30
30
|
export { MessageSkeleton } from './components/MessageSkeleton';
|
|
31
31
|
export type { MessageSkeletonProps } from './components/MessageSkeleton';
|
|
32
32
|
export { initSDK, getSDK, disconnectSDK, isSDKInitialized } from './utils/sdk';
|
|
33
|
-
export {
|
|
33
|
+
export { fetchSummaries } from './utils/summaries';
|
|
34
34
|
export { db } from './utils/db';
|
|
35
35
|
export type { MessageGroup } from './utils/messages';
|
|
36
36
|
export { useMessages } from './hooks/useMessages';
|
|
37
37
|
export type { UseMessagesParams } from './hooks/useMessages';
|
|
38
|
-
export {
|
|
39
|
-
export type {
|
|
38
|
+
export { useWebSocket } from './hooks/useWebSocket';
|
|
39
|
+
export type { UseWebSocketParams } from './hooks/useWebSocket';
|
|
40
40
|
export { useSenderNames } from './hooks/useSenderNames';
|
|
41
|
+
export { useUnreadCount } from './hooks/useUnreadCount';
|
|
41
42
|
export { CACHE_TTL } from './hooks/constants';
|
|
42
43
|
export type { User, Message, Group, ConversationSummary, ChatRole, Cursor, MessagePage, ConnectionState, Conversation } from './types';
|
|
43
44
|
export { theme, getTheme } from './utils/theme';
|