@sendbird/uikit-chat-hooks 3.5.4 → 3.7.0
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/lib/commonjs/channel/useGroupChannelList/index.js +1 -1
- package/lib/commonjs/channel/useGroupChannelList/index.js.map +1 -1
- package/lib/commonjs/channel/useGroupChannelList/useGroupChannelListWithCollection.js +4 -0
- package/lib/commonjs/channel/useGroupChannelList/useGroupChannelListWithCollection.js.map +1 -1
- package/lib/commonjs/channel/useGroupChannelList/useGroupChannelListWithQuery.js +4 -0
- package/lib/commonjs/channel/useGroupChannelList/useGroupChannelListWithQuery.js.map +1 -1
- package/lib/commonjs/channel/useGroupChannelMessages/index.js +1 -1
- package/lib/commonjs/channel/useGroupChannelMessages/index.js.map +1 -1
- package/lib/commonjs/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.js +4 -0
- package/lib/commonjs/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.js.map +1 -1
- package/lib/commonjs/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.js +4 -0
- package/lib/commonjs/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.js.map +1 -1
- package/lib/commonjs/common/useAppFeatures.js +4 -2
- package/lib/commonjs/common/useAppFeatures.js.map +1 -1
- package/lib/commonjs/handler/useChannelHandler.js +3 -0
- package/lib/commonjs/handler/useChannelHandler.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/module/channel/useGroupChannelList/index.js +1 -1
- package/lib/module/channel/useGroupChannelList/index.js.map +1 -1
- package/lib/module/channel/useGroupChannelList/useGroupChannelListWithCollection.js +4 -0
- package/lib/module/channel/useGroupChannelList/useGroupChannelListWithCollection.js.map +1 -1
- package/lib/module/channel/useGroupChannelList/useGroupChannelListWithQuery.js +4 -0
- package/lib/module/channel/useGroupChannelList/useGroupChannelListWithQuery.js.map +1 -1
- package/lib/module/channel/useGroupChannelMessages/index.js +1 -1
- package/lib/module/channel/useGroupChannelMessages/index.js.map +1 -1
- package/lib/module/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.js +4 -0
- package/lib/module/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.js.map +1 -1
- package/lib/module/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.js +4 -0
- package/lib/module/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.js.map +1 -1
- package/lib/module/common/useAppFeatures.js +4 -2
- package/lib/module/common/useAppFeatures.js.map +1 -1
- package/lib/module/handler/useChannelHandler.js +3 -0
- package/lib/module/handler/useChannelHandler.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/typescript/src/channel/useGroupChannelList/index.d.ts +1 -1
- package/lib/typescript/src/channel/useGroupChannelList/useGroupChannelListWithCollection.d.ts +3 -0
- package/lib/typescript/src/channel/useGroupChannelList/useGroupChannelListWithQuery.d.ts +3 -0
- package/lib/typescript/src/channel/useGroupChannelMessages/index.d.ts +1 -1
- package/lib/typescript/src/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.d.ts +3 -0
- package/lib/typescript/src/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.d.ts +3 -0
- package/lib/typescript/src/common/useAppFeatures.d.ts +1 -0
- package/lib/typescript/src/handler/useChannelHandler.d.ts +3 -0
- package/lib/typescript/src/types.d.ts +2 -2
- package/package.json +6 -6
- package/src/channel/useGroupChannelList/index.ts +1 -1
- package/src/channel/useGroupChannelList/useGroupChannelListWithCollection.ts +3 -0
- package/src/channel/useGroupChannelList/useGroupChannelListWithQuery.ts +3 -0
- package/src/channel/useGroupChannelMessages/index.ts +1 -1
- package/src/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.ts +3 -0
- package/src/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.ts +3 -0
- package/src/common/useAppFeatures.ts +2 -1
- package/src/handler/useChannelHandler.ts +3 -0
- package/src/types.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useLayoutEffect","useRef","GroupChannelHandler","OpenChannelHandler","useChannelHandler","sdk","handlerId","hookHandler","type","arguments","length","undefined","handlerRef","current","handlerMapper","handler","handlerKeys","Object","keys","forEach","key","_handlerRef$current","_handlerRef$current$k","_len","args","Array","_key","call","groupChannel","addGroupChannelHandler","openChannel","addOpenChannelHandler","removeGroupChannelHandler","removeOpenChannelHandler"],"sources":["useChannelHandler.ts"],"sourcesContent":["import { useEffect, useLayoutEffect, useRef } from 'react';\n\nimport { GroupChannelHandler } from '@sendbird/chat/groupChannel';\nimport { OpenChannelHandler } from '@sendbird/chat/openChannel';\nimport type { SendbirdChatSDK } from '@sendbird/uikit-utils';\n\ntype ChannelType = 'open' | 'group';\n\nexport const useChannelHandler = <T extends ChannelType = 'group'>(\n sdk: SendbirdChatSDK,\n handlerId: string,\n hookHandler: Partial<T extends 'group' ? GroupChannelHandler : OpenChannelHandler>,\n type: T = 'group' as T,\n) => {\n const handlerRef = useRef(hookHandler);\n useLayoutEffect(() => {\n handlerRef.current = hookHandler;\n });\n\n useEffect(() => {\n const handlerMapper = <T extends GroupChannelHandler | OpenChannelHandler>(handler: T): T => {\n const handlerKeys = Object.keys(handler) as (keyof T)[];\n handlerKeys.forEach((key) => {\n // @ts-ignore\n handler[key] = (...args: unknown[]) => handlerRef.current?.[key]?.(...args);\n });\n return handler;\n };\n\n if (type === 'group') {\n sdk.groupChannel.addGroupChannelHandler(handlerId, handlerMapper(new GroupChannelHandler()));\n } else if (type === 'open') {\n sdk.openChannel.addOpenChannelHandler(handlerId, handlerMapper(new OpenChannelHandler()));\n }\n\n return () => {\n if (type === 'group') {\n sdk.groupChannel.removeGroupChannelHandler(handlerId);\n } else if (type === 'open') {\n sdk.openChannel.removeOpenChannelHandler(handlerId);\n }\n };\n }, [sdk, handlerId]);\n};\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,eAAe,EAAEC,MAAM,QAAQ,OAAO;AAE1D,SAASC,mBAAmB,QAAQ,6BAA6B;AACjE,SAASC,kBAAkB,QAAQ,4BAA4B;AAK/D,OAAO,MAAMC,iBAAiB,GAAG,SAAAA,CAC/BC,GAAoB,EACpBC,SAAiB,EACjBC,WAAkF,EAE/E;EAAA,IADHC,IAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,OAAO;EAEjB,MAAMG,UAAU,GAAGX,MAAM,CAACM,WAAW,CAAC;EACtCP,eAAe,CAAC,MAAM;IACpBY,UAAU,CAACC,OAAO,GAAGN,WAAW;EAClC,CAAC,CAAC;EAEFR,SAAS,CAAC,MAAM;IACd,MAAMe,aAAa,GAAwDC,OAAU,IAAQ;MAC3F,MAAMC,WAAW,GAAGC,MAAM,CAACC,IAAI,CAACH,OAAO,CAAgB;MACvDC,WAAW,CAACG,OAAO,CAAEC,GAAG,IAAK;QAC3B;QACAL,OAAO,CAACK,GAAG,CAAC,GAAG;UAAA,IAAAC,mBAAA,EAAAC,qBAAA;UAAA,SAAAC,IAAA,GAAAd,SAAA,CAAAC,MAAA,EAAIc,IAAI,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;YAAJF,IAAI,CAAAE,IAAA,IAAAjB,SAAA,CAAAiB,IAAA;UAAA;UAAA,QAAAL,mBAAA,GAAgBT,UAAU,CAACC,OAAO,cAAAQ,mBAAA,wBAAAC,qBAAA,GAAlBD,mBAAA,CAAqBD,GAAG,CAAC,cAAAE,qBAAA,uBAAzBA,qBAAA,CAAAK,IAAA,CAAAN,mBAAA,EAA4B,GAAGG,IAAI,CAAC;QAAA;MAC7E,CAAC,CAAC;MACF,OAAOT,OAAO;IAChB,CAAC;IAED,IAAIP,IAAI,KAAK,OAAO,EAAE;MACpBH,GAAG,CAACuB,YAAY,CAACC,sBAAsB,CAACvB,SAAS,EAAEQ,aAAa,CAAC,IAAIZ,mBAAmB,EAAE,CAAC,CAAC;IAC9F,CAAC,MAAM,IAAIM,IAAI,KAAK,MAAM,EAAE;MAC1BH,GAAG,CAACyB,WAAW,CAACC,qBAAqB,CAACzB,SAAS,EAAEQ,aAAa,CAAC,IAAIX,kBAAkB,EAAE,CAAC,CAAC;IAC3F;IAEA,OAAO,MAAM;MACX,IAAIK,IAAI,KAAK,OAAO,EAAE;QACpBH,GAAG,CAACuB,YAAY,CAACI,yBAAyB,CAAC1B,SAAS,CAAC;MACvD,CAAC,MAAM,IAAIE,IAAI,KAAK,MAAM,EAAE;QAC1BH,GAAG,CAACyB,WAAW,CAACG,wBAAwB,CAAC3B,SAAS,CAAC;MACrD;IACF,CAAC;EACH,CAAC,EAAE,CAACD,GAAG,EAAEC,SAAS,CAAC,CAAC;AACtB,CAAC"}
|
|
1
|
+
{"version":3,"names":["useEffect","useLayoutEffect","useRef","GroupChannelHandler","OpenChannelHandler","useChannelHandler","sdk","handlerId","hookHandler","type","arguments","length","undefined","handlerRef","current","handlerMapper","handler","handlerKeys","Object","keys","forEach","key","_handlerRef$current","_handlerRef$current$k","_len","args","Array","_key","call","groupChannel","addGroupChannelHandler","openChannel","addOpenChannelHandler","removeGroupChannelHandler","removeOpenChannelHandler"],"sources":["useChannelHandler.ts"],"sourcesContent":["import { useEffect, useLayoutEffect, useRef } from 'react';\n\nimport { GroupChannelHandler } from '@sendbird/chat/groupChannel';\nimport { OpenChannelHandler } from '@sendbird/chat/openChannel';\nimport type { SendbirdChatSDK } from '@sendbird/uikit-utils';\n\ntype ChannelType = 'open' | 'group';\n\n/**\n * @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.\n * */\nexport const useChannelHandler = <T extends ChannelType = 'group'>(\n sdk: SendbirdChatSDK,\n handlerId: string,\n hookHandler: Partial<T extends 'group' ? GroupChannelHandler : OpenChannelHandler>,\n type: T = 'group' as T,\n) => {\n const handlerRef = useRef(hookHandler);\n useLayoutEffect(() => {\n handlerRef.current = hookHandler;\n });\n\n useEffect(() => {\n const handlerMapper = <T extends GroupChannelHandler | OpenChannelHandler>(handler: T): T => {\n const handlerKeys = Object.keys(handler) as (keyof T)[];\n handlerKeys.forEach((key) => {\n // @ts-ignore\n handler[key] = (...args: unknown[]) => handlerRef.current?.[key]?.(...args);\n });\n return handler;\n };\n\n if (type === 'group') {\n sdk.groupChannel.addGroupChannelHandler(handlerId, handlerMapper(new GroupChannelHandler()));\n } else if (type === 'open') {\n sdk.openChannel.addOpenChannelHandler(handlerId, handlerMapper(new OpenChannelHandler()));\n }\n\n return () => {\n if (type === 'group') {\n sdk.groupChannel.removeGroupChannelHandler(handlerId);\n } else if (type === 'open') {\n sdk.openChannel.removeOpenChannelHandler(handlerId);\n }\n };\n }, [sdk, handlerId]);\n};\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,eAAe,EAAEC,MAAM,QAAQ,OAAO;AAE1D,SAASC,mBAAmB,QAAQ,6BAA6B;AACjE,SAASC,kBAAkB,QAAQ,4BAA4B;AAK/D;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,GAAG,SAAAA,CAC/BC,GAAoB,EACpBC,SAAiB,EACjBC,WAAkF,EAE/E;EAAA,IADHC,IAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,OAAO;EAEjB,MAAMG,UAAU,GAAGX,MAAM,CAACM,WAAW,CAAC;EACtCP,eAAe,CAAC,MAAM;IACpBY,UAAU,CAACC,OAAO,GAAGN,WAAW;EAClC,CAAC,CAAC;EAEFR,SAAS,CAAC,MAAM;IACd,MAAMe,aAAa,GAAwDC,OAAU,IAAQ;MAC3F,MAAMC,WAAW,GAAGC,MAAM,CAACC,IAAI,CAACH,OAAO,CAAgB;MACvDC,WAAW,CAACG,OAAO,CAAEC,GAAG,IAAK;QAC3B;QACAL,OAAO,CAACK,GAAG,CAAC,GAAG;UAAA,IAAAC,mBAAA,EAAAC,qBAAA;UAAA,SAAAC,IAAA,GAAAd,SAAA,CAAAC,MAAA,EAAIc,IAAI,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;YAAJF,IAAI,CAAAE,IAAA,IAAAjB,SAAA,CAAAiB,IAAA;UAAA;UAAA,QAAAL,mBAAA,GAAgBT,UAAU,CAACC,OAAO,cAAAQ,mBAAA,wBAAAC,qBAAA,GAAlBD,mBAAA,CAAqBD,GAAG,CAAC,cAAAE,qBAAA,uBAAzBA,qBAAA,CAAAK,IAAA,CAAAN,mBAAA,EAA4B,GAAGG,IAAI,CAAC;QAAA;MAC7E,CAAC,CAAC;MACF,OAAOT,OAAO;IAChB,CAAC;IAED,IAAIP,IAAI,KAAK,OAAO,EAAE;MACpBH,GAAG,CAACuB,YAAY,CAACC,sBAAsB,CAACvB,SAAS,EAAEQ,aAAa,CAAC,IAAIZ,mBAAmB,EAAE,CAAC,CAAC;IAC9F,CAAC,MAAM,IAAIM,IAAI,KAAK,MAAM,EAAE;MAC1BH,GAAG,CAACyB,WAAW,CAACC,qBAAqB,CAACzB,SAAS,EAAEQ,aAAa,CAAC,IAAIX,kBAAkB,EAAE,CAAC,CAAC;IAC3F;IAEA,OAAO,MAAM;MACX,IAAIK,IAAI,KAAK,OAAO,EAAE;QACpBH,GAAG,CAACuB,YAAY,CAACI,yBAAyB,CAAC1B,SAAS,CAAC;MACvD,CAAC,MAAM,IAAIE,IAAI,KAAK,MAAM,EAAE;QAC1BH,GAAG,CAACyB,WAAW,CAACG,wBAAwB,CAAC3B,SAAS,CAAC;MACrD;IACF,CAAC;EACH,CAAC,EAAE,CAACD,GAAG,EAAEC,SAAS,CAAC,CAAC;AACtB,CAAC"}
|
package/lib/module/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { ReplyType } from '@sendbird/chat/message';\nimport type {\n SendbirdChatSDK,\n SendbirdError,\n SendbirdFileMessage,\n SendbirdFileMessageCreateParams,\n SendbirdFileMessageUpdateParams,\n SendbirdGroupChannel,\n SendbirdGroupChannelCollection,\n SendbirdGroupChannelListQuery,\n SendbirdMessage,\n SendbirdMessageCollection,\n SendbirdOpenChannel,\n SendbirdOpenChannelListQuery,\n SendbirdPreviousMessageListQuery,\n SendbirdUserMessage,\n SendbirdUserMessageCreateParams,\n SendbirdUserMessageUpdateParams,\n UserStruct,\n} from '@sendbird/uikit-utils';\n\nexport interface CustomQueryInterface<Data> {\n isLoading: boolean;\n next: () => Promise<Data[]>;\n hasNext: boolean;\n}\nexport interface CustomBidirectionalQueryInterface<Data> {\n isLoading: boolean;\n next: () => Promise<Data[]>;\n hasNext: () => boolean;\n prev: () => Promise<Data[]>;\n hasPrev: () => boolean;\n}\n\n/**\n * @deprecated This hook is deprecated and will be replaced by the 'uikit-tools' package.\n *\n * @interface UseGroupChannelList\n * @description interface for group channel list hook\n * */\nexport interface UseGroupChannelList {\n (sdk: SendbirdChatSDK, userId?: string, options?: UseGroupChannelListOptions): {\n /**\n * Loading state, only available on first render\n * */\n loading: boolean;\n\n /**\n * Refreshing state, status is changes when the refresh is called.\n * */\n refreshing: boolean;\n\n /**\n * Refresh, clear and reload messages from latest\n * @return {Promise<void>}\n * */\n refresh: () => Promise<void>;\n\n /**\n * Get group channels state\n * */\n groupChannels: SendbirdGroupChannel[];\n\n /**\n * Fetch next channels to state\n * @return {Promise<void>}\n * */\n next: () => Promise<void>;\n };\n}\nexport type UseGroupChannelListOptions = {\n queryCreator?: () => SendbirdGroupChannelListQuery;\n collectionCreator?: () => SendbirdGroupChannelCollection;\n enableCollectionWithoutLocalCache?: boolean;\n};\n\n/**\n * @deprecated This hook is deprecated and will be replaced by the 'uikit-tools' package.\n *\n * @interface UseGroupChannelMessages\n * @description interface for group channel messages hook\n * - Receive new messages from other users & should count new messages -> append to state(newMessages)\n * - onTopReached -> prev() -> fetch prev messages and append to state(messages)\n * - onBottomReached -> next() -> fetch next messages and append to state(messages)\n * */\nexport interface UseGroupChannelMessages {\n (sdk: SendbirdChatSDK, channel: SendbirdGroupChannel, userId?: string, options?: UseGroupChannelMessagesOptions): {\n /**\n * Loading state, only available on first render\n * */\n loading: boolean;\n\n /**\n * Refreshing state, status is changes when the refresh is called.\n * */\n refreshing: boolean;\n\n /**\n * Refresh, clear and reload messages from latest\n * @return {Promise<void>}\n * */\n refresh: () => Promise<void>;\n\n /**\n * Get messages, this state is for render\n * For example, if a user receives a new messages while searching for an old message\n * for this case, new messages will be included here.\n * @return {SendbirdMessage[]}\n * */\n messages: SendbirdMessage[];\n\n /**\n * Fetch prev messages to state\n * @return {Promise<void>}\n * */\n prev: () => Promise<void>;\n\n /**\n * Check if there are more prev messages to fetch\n * @return {boolean}\n * */\n hasPrev: () => boolean;\n\n /**\n * Fetch next messages to state\n * @return {Promise<void>}\n * */\n next: () => Promise<void>;\n\n /**\n * Check if there are more next messages to fetch\n * @return {boolean}\n * */\n hasNext: () => boolean;\n\n /**\n * A new message means a message that meets the below conditions\n * - Not admin message\n * - Not updated message\n * - Not current user's message\n * */\n newMessages: SendbirdMessage[];\n\n /**\n * reset message list with starting point\n * */\n resetWithStartingPoint: (startingPoint: number, callback?: () => void) => void;\n\n /**\n * Reset new messages\n * */\n resetNewMessages: () => void;\n\n /**\n * Send file message\n * @param params file message params\n * @param callback sent message callback\n * @return pending message\n * */\n sendFileMessage: (\n params: SendbirdFileMessageCreateParams,\n onPending?: (message: SendbirdFileMessage, error?: SendbirdError) => void,\n ) => Promise<SendbirdFileMessage>;\n\n /**\n * Send user message\n * @param params user message params\n * @param callback sent message callback\n * @return pending message\n * */\n sendUserMessage: (\n params: SendbirdUserMessageCreateParams,\n onPending?: (message: SendbirdUserMessage, error?: SendbirdError) => void,\n ) => Promise<SendbirdUserMessage>;\n\n /**\n * Update file message\n * @param messageId\n * @param params file message params\n * @return updated message\n * */\n updateFileMessage: (messageId: number, params: SendbirdFileMessageUpdateParams) => Promise<SendbirdFileMessage>;\n\n /**\n * Update user message\n * @param messageId\n * @param params user message params\n * @return updated message\n * */\n updateUserMessage: (messageId: number, params: SendbirdUserMessageUpdateParams) => Promise<SendbirdUserMessage>;\n\n /**\n * Resend failed message\n * @param failedMessage failed message to resend\n * @return {Promise<void>}\n * */\n resendMessage: (failedMessage: SendbirdFileMessage | SendbirdUserMessage) => Promise<void>;\n\n /**\n * Delete message\n * @param message sent or failed message\n * @return {Promise<void>}\n * */\n deleteMessage: (message: SendbirdFileMessage | SendbirdUserMessage) => Promise<void>;\n };\n}\n\nexport type UseGroupChannelMessagesOptions = {\n replyType?: ReplyType;\n sortComparator?: (a: SendbirdMessage, b: SendbirdMessage) => number;\n queryCreator?: () => SendbirdPreviousMessageListQuery;\n collectionCreator?: (options?: Pick<UseGroupChannelMessagesOptions, 'startingPoint'>) => SendbirdMessageCollection;\n enableCollectionWithoutLocalCache?: boolean;\n onChannelDeleted?: () => void;\n shouldCountNewMessages?: () => boolean;\n startingPoint?: number;\n onMessagesReceived?: (messages: SendbirdMessage[]) => void;\n onMessagesUpdated?: (messages: SendbirdMessage[]) => void;\n};\n\n/**\n * @interface UseOpenChannelList\n * @description interface for open channel list hook\n * */\nexport interface UseOpenChannelList {\n (sdk: SendbirdChatSDK, userId?: string, options?: UseOpenChannelListOptions): {\n /**\n * Loading state, only available on first render\n * */\n loading: boolean;\n\n /**\n * Refreshing state, status is changes when the refresh is called.\n * */\n refreshing: boolean;\n\n /**\n * Refresh, clear and reload messages from latest\n * @return {Promise<void>}\n * */\n refresh: () => Promise<void>;\n\n /**\n * Error state\n * */\n error: unknown | null;\n\n /**\n * Get open channels state\n * */\n openChannels: SendbirdOpenChannel[];\n\n /**\n * Fetch next channels to state\n * @return {Promise<void>}\n * */\n next: () => Promise<void>;\n };\n}\nexport type UseOpenChannelListOptions = {\n queryCreator?: () => SendbirdOpenChannelListQuery;\n};\n\n/**\n * @interface UseOpenChannelMessages\n * @description interface for open channel messages hook\n * - Receive new messages from other users & should count new messages -> append to state(newMessages)\n * - onTopReached -> prev() -> fetch prev messages and append to state(messages)\n * - onBottomReached -> noop\n * */\nexport interface UseOpenChannelMessages {\n (sdk: SendbirdChatSDK, channel: SendbirdOpenChannel, userId?: string, options?: UseOpenChannelMessagesOptions): {\n /**\n * Loading state, only available on first render\n * */\n loading: boolean;\n\n /**\n * Refreshing state, status is changes when the refresh is called.\n * */\n refreshing: boolean;\n\n /**\n * Refresh, clear and reload messages from latest\n * @return {Promise<void>}\n * */\n refresh: () => Promise<void>;\n\n /**\n * Get messages, this state is for render\n * For example, if a user receives a new messages while searching for an old message\n * for this case, new messages will be included here.\n * @return {SendbirdMessage[]}\n * */\n messages: SendbirdMessage[];\n\n /**\n * Fetch prev messages to state\n * @return {Promise<void>}\n * */\n prev: () => Promise<void>;\n\n /**\n * Check if there are more prev messages to fetch\n * @return {boolean}\n * */\n hasPrev: () => boolean;\n\n /**\n * A new message means a message that meets the below conditions\n * - Not admin message\n * - Not updated message\n * - Not current user's message\n * */\n newMessages: SendbirdMessage[];\n\n /**\n * Reset new messages\n * */\n resetNewMessages: () => void;\n\n /**\n * Fetch next messages to state\n * @return {Promise<void>}\n * */\n next: () => Promise<void>;\n\n /**\n * Check if there are more next messages to fetch\n * @return {boolean}\n * */\n hasNext: () => boolean;\n\n /**\n * Send file message\n * @param params file message params\n * @param callback sent message callback\n * @return pending message\n * */\n sendFileMessage: (\n params: SendbirdFileMessageCreateParams,\n onPending?: (message: SendbirdFileMessage, error?: SendbirdError) => void,\n ) => Promise<SendbirdFileMessage>;\n\n /**\n * Send user message\n * @param params user message params\n * @param callback sent message callback\n * @return pending message\n * */\n sendUserMessage: (\n params: SendbirdUserMessageCreateParams,\n onPending?: (message: SendbirdUserMessage, error?: SendbirdError) => void,\n ) => Promise<SendbirdUserMessage>;\n\n /**\n * Update file message\n * @param messageId\n * @param params file message params\n * @return updated message\n * */\n updateFileMessage: (messageId: number, params: SendbirdFileMessageUpdateParams) => Promise<SendbirdFileMessage>;\n\n /**\n * Update user message\n * @param messageId\n * @param params user message params\n * @return updated message\n * */\n updateUserMessage: (messageId: number, params: SendbirdUserMessageUpdateParams) => Promise<SendbirdUserMessage>;\n\n /**\n * Resend failed message\n * @param failedMessage failed message to resend\n * @return {Promise<void>}\n * */\n resendMessage: (failedMessage: SendbirdFileMessage | SendbirdUserMessage) => Promise<void>;\n\n /**\n * Delete message\n * @param message sent or failed message\n * @return {Promise<void>}\n * */\n deleteMessage: (message: SendbirdFileMessage | SendbirdUserMessage) => Promise<void>;\n };\n}\n\nexport type UseOpenChannelMessagesOptions = {\n sortComparator?: (a: SendbirdMessage, b: SendbirdMessage) => number;\n queryCreator?: () => SendbirdPreviousMessageListQuery;\n onChannelDeleted?: () => void;\n onError?: (error?: unknown) => void;\n shouldCountNewMessages?: () => boolean;\n onMessagesReceived?: (messages: SendbirdMessage[]) => void;\n};\n\n/**\n * @interface UseUserListReturn\n * @description interface for user list hook return value\n * */\nexport interface UseUserListReturn<User extends UserStruct> {\n /**\n * Loading state, only available on first render\n * */\n loading: boolean;\n\n /**\n * Refreshing state, status is changes when the refresh is called.\n * */\n refreshing: boolean;\n\n /**\n * Error state\n * */\n error: unknown | null;\n\n /**\n * Refresh, clear and reload messages from latest\n * @return {Promise<void>}\n * */\n refresh: () => Promise<void>;\n\n /**\n * Get users state\n * */\n users: User[];\n\n /**\n * Update or Insert user to list\n * */\n upsertUser: (user: User) => void;\n\n /**\n * Delete user from list\n * */\n deleteUser: (userId: User['userId']) => void;\n\n /**\n * Fetch next users to state\n * @return {Promise<void>}\n * */\n next: () => Promise<void>;\n}\n\nexport type UseUserListOptions<User extends UserStruct> = {\n sortComparator?: (a: User, b: User) => number;\n queryCreator?: () => CustomQueryInterface<User>;\n};\n"],"mappings":""}
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { ReplyType } from '@sendbird/chat/message';\nimport type {\n SendbirdChatSDK,\n SendbirdError,\n SendbirdFileMessage,\n SendbirdFileMessageCreateParams,\n SendbirdFileMessageUpdateParams,\n SendbirdGroupChannel,\n SendbirdGroupChannelCollection,\n SendbirdGroupChannelListQuery,\n SendbirdMessage,\n SendbirdMessageCollection,\n SendbirdOpenChannel,\n SendbirdOpenChannelListQuery,\n SendbirdPreviousMessageListQuery,\n SendbirdUserMessage,\n SendbirdUserMessageCreateParams,\n SendbirdUserMessageUpdateParams,\n UserStruct,\n} from '@sendbird/uikit-utils';\n\nexport interface CustomQueryInterface<Data> {\n isLoading: boolean;\n next: () => Promise<Data[]>;\n hasNext: boolean;\n}\nexport interface CustomBidirectionalQueryInterface<Data> {\n isLoading: boolean;\n next: () => Promise<Data[]>;\n hasNext: () => boolean;\n prev: () => Promise<Data[]>;\n hasPrev: () => boolean;\n}\n\n/**\n * @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.\n *\n * @interface UseGroupChannelList\n * @description interface for group channel list hook\n * */\nexport interface UseGroupChannelList {\n (sdk: SendbirdChatSDK, userId?: string, options?: UseGroupChannelListOptions): {\n /**\n * Loading state, only available on first render\n * */\n loading: boolean;\n\n /**\n * Refreshing state, status is changes when the refresh is called.\n * */\n refreshing: boolean;\n\n /**\n * Refresh, clear and reload messages from latest\n * @return {Promise<void>}\n * */\n refresh: () => Promise<void>;\n\n /**\n * Get group channels state\n * */\n groupChannels: SendbirdGroupChannel[];\n\n /**\n * Fetch next channels to state\n * @return {Promise<void>}\n * */\n next: () => Promise<void>;\n };\n}\nexport type UseGroupChannelListOptions = {\n queryCreator?: () => SendbirdGroupChannelListQuery;\n collectionCreator?: () => SendbirdGroupChannelCollection;\n enableCollectionWithoutLocalCache?: boolean;\n};\n\n/**\n * @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.\n *\n * @interface UseGroupChannelMessages\n * @description interface for group channel messages hook\n * - Receive new messages from other users & should count new messages -> append to state(newMessages)\n * - onTopReached -> prev() -> fetch prev messages and append to state(messages)\n * - onBottomReached -> next() -> fetch next messages and append to state(messages)\n * */\nexport interface UseGroupChannelMessages {\n (sdk: SendbirdChatSDK, channel: SendbirdGroupChannel, userId?: string, options?: UseGroupChannelMessagesOptions): {\n /**\n * Loading state, only available on first render\n * */\n loading: boolean;\n\n /**\n * Refreshing state, status is changes when the refresh is called.\n * */\n refreshing: boolean;\n\n /**\n * Refresh, clear and reload messages from latest\n * @return {Promise<void>}\n * */\n refresh: () => Promise<void>;\n\n /**\n * Get messages, this state is for render\n * For example, if a user receives a new messages while searching for an old message\n * for this case, new messages will be included here.\n * @return {SendbirdMessage[]}\n * */\n messages: SendbirdMessage[];\n\n /**\n * Fetch prev messages to state\n * @return {Promise<void>}\n * */\n prev: () => Promise<void>;\n\n /**\n * Check if there are more prev messages to fetch\n * @return {boolean}\n * */\n hasPrev: () => boolean;\n\n /**\n * Fetch next messages to state\n * @return {Promise<void>}\n * */\n next: () => Promise<void>;\n\n /**\n * Check if there are more next messages to fetch\n * @return {boolean}\n * */\n hasNext: () => boolean;\n\n /**\n * A new message means a message that meets the below conditions\n * - Not admin message\n * - Not updated message\n * - Not current user's message\n * */\n newMessages: SendbirdMessage[];\n\n /**\n * reset message list with starting point\n * */\n resetWithStartingPoint: (startingPoint: number, callback?: () => void) => void;\n\n /**\n * Reset new messages\n * */\n resetNewMessages: () => void;\n\n /**\n * Send file message\n * @param params file message params\n * @param callback sent message callback\n * @return pending message\n * */\n sendFileMessage: (\n params: SendbirdFileMessageCreateParams,\n onPending?: (message: SendbirdFileMessage, error?: SendbirdError) => void,\n ) => Promise<SendbirdFileMessage>;\n\n /**\n * Send user message\n * @param params user message params\n * @param callback sent message callback\n * @return pending message\n * */\n sendUserMessage: (\n params: SendbirdUserMessageCreateParams,\n onPending?: (message: SendbirdUserMessage, error?: SendbirdError) => void,\n ) => Promise<SendbirdUserMessage>;\n\n /**\n * Update file message\n * @param messageId\n * @param params file message params\n * @return updated message\n * */\n updateFileMessage: (messageId: number, params: SendbirdFileMessageUpdateParams) => Promise<SendbirdFileMessage>;\n\n /**\n * Update user message\n * @param messageId\n * @param params user message params\n * @return updated message\n * */\n updateUserMessage: (messageId: number, params: SendbirdUserMessageUpdateParams) => Promise<SendbirdUserMessage>;\n\n /**\n * Resend failed message\n * @param failedMessage failed message to resend\n * @return {Promise<void>}\n * */\n resendMessage: (failedMessage: SendbirdFileMessage | SendbirdUserMessage) => Promise<void>;\n\n /**\n * Delete message\n * @param message sent or failed message\n * @return {Promise<void>}\n * */\n deleteMessage: (message: SendbirdFileMessage | SendbirdUserMessage) => Promise<void>;\n };\n}\n\nexport type UseGroupChannelMessagesOptions = {\n replyType?: ReplyType;\n sortComparator?: (a: SendbirdMessage, b: SendbirdMessage) => number;\n queryCreator?: () => SendbirdPreviousMessageListQuery;\n collectionCreator?: (options?: Pick<UseGroupChannelMessagesOptions, 'startingPoint'>) => SendbirdMessageCollection;\n enableCollectionWithoutLocalCache?: boolean;\n onChannelDeleted?: () => void;\n shouldCountNewMessages?: () => boolean;\n startingPoint?: number;\n onMessagesReceived?: (messages: SendbirdMessage[]) => void;\n onMessagesUpdated?: (messages: SendbirdMessage[]) => void;\n};\n\n/**\n * @interface UseOpenChannelList\n * @description interface for open channel list hook\n * */\nexport interface UseOpenChannelList {\n (sdk: SendbirdChatSDK, userId?: string, options?: UseOpenChannelListOptions): {\n /**\n * Loading state, only available on first render\n * */\n loading: boolean;\n\n /**\n * Refreshing state, status is changes when the refresh is called.\n * */\n refreshing: boolean;\n\n /**\n * Refresh, clear and reload messages from latest\n * @return {Promise<void>}\n * */\n refresh: () => Promise<void>;\n\n /**\n * Error state\n * */\n error: unknown | null;\n\n /**\n * Get open channels state\n * */\n openChannels: SendbirdOpenChannel[];\n\n /**\n * Fetch next channels to state\n * @return {Promise<void>}\n * */\n next: () => Promise<void>;\n };\n}\nexport type UseOpenChannelListOptions = {\n queryCreator?: () => SendbirdOpenChannelListQuery;\n};\n\n/**\n * @interface UseOpenChannelMessages\n * @description interface for open channel messages hook\n * - Receive new messages from other users & should count new messages -> append to state(newMessages)\n * - onTopReached -> prev() -> fetch prev messages and append to state(messages)\n * - onBottomReached -> noop\n * */\nexport interface UseOpenChannelMessages {\n (sdk: SendbirdChatSDK, channel: SendbirdOpenChannel, userId?: string, options?: UseOpenChannelMessagesOptions): {\n /**\n * Loading state, only available on first render\n * */\n loading: boolean;\n\n /**\n * Refreshing state, status is changes when the refresh is called.\n * */\n refreshing: boolean;\n\n /**\n * Refresh, clear and reload messages from latest\n * @return {Promise<void>}\n * */\n refresh: () => Promise<void>;\n\n /**\n * Get messages, this state is for render\n * For example, if a user receives a new messages while searching for an old message\n * for this case, new messages will be included here.\n * @return {SendbirdMessage[]}\n * */\n messages: SendbirdMessage[];\n\n /**\n * Fetch prev messages to state\n * @return {Promise<void>}\n * */\n prev: () => Promise<void>;\n\n /**\n * Check if there are more prev messages to fetch\n * @return {boolean}\n * */\n hasPrev: () => boolean;\n\n /**\n * A new message means a message that meets the below conditions\n * - Not admin message\n * - Not updated message\n * - Not current user's message\n * */\n newMessages: SendbirdMessage[];\n\n /**\n * Reset new messages\n * */\n resetNewMessages: () => void;\n\n /**\n * Fetch next messages to state\n * @return {Promise<void>}\n * */\n next: () => Promise<void>;\n\n /**\n * Check if there are more next messages to fetch\n * @return {boolean}\n * */\n hasNext: () => boolean;\n\n /**\n * Send file message\n * @param params file message params\n * @param callback sent message callback\n * @return pending message\n * */\n sendFileMessage: (\n params: SendbirdFileMessageCreateParams,\n onPending?: (message: SendbirdFileMessage, error?: SendbirdError) => void,\n ) => Promise<SendbirdFileMessage>;\n\n /**\n * Send user message\n * @param params user message params\n * @param callback sent message callback\n * @return pending message\n * */\n sendUserMessage: (\n params: SendbirdUserMessageCreateParams,\n onPending?: (message: SendbirdUserMessage, error?: SendbirdError) => void,\n ) => Promise<SendbirdUserMessage>;\n\n /**\n * Update file message\n * @param messageId\n * @param params file message params\n * @return updated message\n * */\n updateFileMessage: (messageId: number, params: SendbirdFileMessageUpdateParams) => Promise<SendbirdFileMessage>;\n\n /**\n * Update user message\n * @param messageId\n * @param params user message params\n * @return updated message\n * */\n updateUserMessage: (messageId: number, params: SendbirdUserMessageUpdateParams) => Promise<SendbirdUserMessage>;\n\n /**\n * Resend failed message\n * @param failedMessage failed message to resend\n * @return {Promise<void>}\n * */\n resendMessage: (failedMessage: SendbirdFileMessage | SendbirdUserMessage) => Promise<void>;\n\n /**\n * Delete message\n * @param message sent or failed message\n * @return {Promise<void>}\n * */\n deleteMessage: (message: SendbirdFileMessage | SendbirdUserMessage) => Promise<void>;\n };\n}\n\nexport type UseOpenChannelMessagesOptions = {\n sortComparator?: (a: SendbirdMessage, b: SendbirdMessage) => number;\n queryCreator?: () => SendbirdPreviousMessageListQuery;\n onChannelDeleted?: () => void;\n onError?: (error?: unknown) => void;\n shouldCountNewMessages?: () => boolean;\n onMessagesReceived?: (messages: SendbirdMessage[]) => void;\n};\n\n/**\n * @interface UseUserListReturn\n * @description interface for user list hook return value\n * */\nexport interface UseUserListReturn<User extends UserStruct> {\n /**\n * Loading state, only available on first render\n * */\n loading: boolean;\n\n /**\n * Refreshing state, status is changes when the refresh is called.\n * */\n refreshing: boolean;\n\n /**\n * Error state\n * */\n error: unknown | null;\n\n /**\n * Refresh, clear and reload messages from latest\n * @return {Promise<void>}\n * */\n refresh: () => Promise<void>;\n\n /**\n * Get users state\n * */\n users: User[];\n\n /**\n * Update or Insert user to list\n * */\n upsertUser: (user: User) => void;\n\n /**\n * Delete user from list\n * */\n deleteUser: (userId: User['userId']) => void;\n\n /**\n * Fetch next users to state\n * @return {Promise<void>}\n * */\n next: () => Promise<void>;\n}\n\nexport type UseUserListOptions<User extends UserStruct> = {\n sortComparator?: (a: User, b: User) => number;\n queryCreator?: () => CustomQueryInterface<User>;\n};\n"],"mappings":""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { UseGroupChannelList } from '../../types';
|
|
2
2
|
/**
|
|
3
|
-
* @deprecated This hook is deprecated and will be replaced by the 'uikit-tools' package.
|
|
3
|
+
* @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.
|
|
4
4
|
* */
|
|
5
5
|
export declare const useGroupChannelList: UseGroupChannelList;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { UseGroupChannelMessages } from '../../types';
|
|
2
2
|
/**
|
|
3
|
-
* @deprecated This hook is deprecated and will be replaced by the 'uikit-tools' package.
|
|
3
|
+
* @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.
|
|
4
4
|
* */
|
|
5
5
|
export declare const useGroupChannelMessages: UseGroupChannelMessages;
|
|
@@ -2,5 +2,8 @@ import { GroupChannelHandler } from '@sendbird/chat/groupChannel';
|
|
|
2
2
|
import { OpenChannelHandler } from '@sendbird/chat/openChannel';
|
|
3
3
|
import type { SendbirdChatSDK } from '@sendbird/uikit-utils';
|
|
4
4
|
type ChannelType = 'open' | 'group';
|
|
5
|
+
/**
|
|
6
|
+
* @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.
|
|
7
|
+
* */
|
|
5
8
|
export declare const useChannelHandler: <T extends ChannelType = "group">(sdk: SendbirdChatSDK, handlerId: string, hookHandler: Partial<T extends "group" ? GroupChannelHandler : OpenChannelHandler>, type?: T) => void;
|
|
6
9
|
export {};
|
|
@@ -13,7 +13,7 @@ export interface CustomBidirectionalQueryInterface<Data> {
|
|
|
13
13
|
hasPrev: () => boolean;
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
|
-
* @deprecated This hook is deprecated and will be replaced by the 'uikit-tools' package.
|
|
16
|
+
* @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.
|
|
17
17
|
*
|
|
18
18
|
* @interface UseGroupChannelList
|
|
19
19
|
* @description interface for group channel list hook
|
|
@@ -50,7 +50,7 @@ export type UseGroupChannelListOptions = {
|
|
|
50
50
|
enableCollectionWithoutLocalCache?: boolean;
|
|
51
51
|
};
|
|
52
52
|
/**
|
|
53
|
-
* @deprecated This hook is deprecated and will be replaced by the 'uikit-tools' package.
|
|
53
|
+
* @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.
|
|
54
54
|
*
|
|
55
55
|
* @interface UseGroupChannelMessages
|
|
56
56
|
* @description interface for group channel messages hook
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sendbird/uikit-chat-hooks",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.7.0",
|
|
4
4
|
"description": "A set of React hooks for integrating Sendbird chat functionality into your React app.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"sendbird",
|
|
@@ -45,17 +45,17 @@
|
|
|
45
45
|
"access": "public"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@sendbird/uikit-utils": "3.
|
|
48
|
+
"@sendbird/uikit-utils": "3.7.0"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
|
-
"@sendbird/uikit-testing-tools": "3.
|
|
51
|
+
"@sendbird/uikit-testing-tools": "3.7.0",
|
|
52
52
|
"@types/react": "*",
|
|
53
|
-
"react": "
|
|
53
|
+
"react": "18.2.0",
|
|
54
54
|
"react-native-builder-bob": "^0.18.0",
|
|
55
55
|
"typescript": "5.2.2"
|
|
56
56
|
},
|
|
57
57
|
"peerDependencies": {
|
|
58
|
-
"@sendbird/chat": "^4.
|
|
58
|
+
"@sendbird/chat": "^4.12.9",
|
|
59
59
|
"react": ">=16.13.1"
|
|
60
60
|
},
|
|
61
61
|
"react-native-builder-bob": {
|
|
@@ -72,5 +72,5 @@
|
|
|
72
72
|
]
|
|
73
73
|
]
|
|
74
74
|
},
|
|
75
|
-
"gitHead": "
|
|
75
|
+
"gitHead": "51d39985ece857b026d311c621ec3c555cf896a1"
|
|
76
76
|
}
|
|
@@ -5,7 +5,7 @@ import { useGroupChannelListWithCollection } from './useGroupChannelListWithColl
|
|
|
5
5
|
import { useGroupChannelListWithQuery } from './useGroupChannelListWithQuery';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
* @deprecated This hook is deprecated and will be replaced by the 'uikit-tools' package.
|
|
8
|
+
* @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.
|
|
9
9
|
* */
|
|
10
10
|
export const useGroupChannelList: UseGroupChannelList = (sdk, userId, options) => {
|
|
11
11
|
if (sdk.isCacheEnabled || options?.enableCollectionWithoutLocalCache) {
|
|
@@ -26,6 +26,9 @@ const createGroupChannelListCollection = (
|
|
|
26
26
|
});
|
|
27
27
|
};
|
|
28
28
|
|
|
29
|
+
/**
|
|
30
|
+
* @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.
|
|
31
|
+
* */
|
|
29
32
|
export const useGroupChannelListWithCollection: UseGroupChannelList = (sdk, userId, options) => {
|
|
30
33
|
const handlerId = useUniqHandlerId('useGroupChannelListWithCollection');
|
|
31
34
|
const { deliveryReceiptEnabled } = useAppFeatures(sdk);
|
|
@@ -23,6 +23,9 @@ const createGroupChannelListQuery = (
|
|
|
23
23
|
});
|
|
24
24
|
};
|
|
25
25
|
|
|
26
|
+
/**
|
|
27
|
+
* @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.
|
|
28
|
+
* */
|
|
26
29
|
export const useGroupChannelListWithQuery: UseGroupChannelList = (sdk, userId, options) => {
|
|
27
30
|
const { deliveryReceiptEnabled } = useAppFeatures(sdk);
|
|
28
31
|
const queryRef = useRef<SendbirdGroupChannelListQuery>();
|
|
@@ -5,7 +5,7 @@ import { useGroupChannelMessagesWithCollection } from './useGroupChannelMessages
|
|
|
5
5
|
import { useGroupChannelMessagesWithQuery } from './useGroupChannelMessagesWithQuery';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
* @deprecated This hook is deprecated and will be replaced by the 'uikit-tools' package.
|
|
8
|
+
* @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.
|
|
9
9
|
* */
|
|
10
10
|
export const useGroupChannelMessages: UseGroupChannelMessages = (sdk, channel, userId, options) => {
|
|
11
11
|
if (sdk.isCacheEnabled || options?.enableCollectionWithoutLocalCache) {
|
|
@@ -46,6 +46,9 @@ function shouldUseSearchLimit(startingPoint: number) {
|
|
|
46
46
|
return startingPoint < Date.now();
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
+
/**
|
|
50
|
+
* @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.
|
|
51
|
+
* */
|
|
49
52
|
export const useGroupChannelMessagesWithCollection: UseGroupChannelMessages = (sdk, channel, userId, options) => {
|
|
50
53
|
const initialStartingPoint = options?.startingPoint ?? Number.MAX_SAFE_INTEGER;
|
|
51
54
|
const initialLimit = shouldUseSearchLimit(initialStartingPoint) ? MESSAGE_LIMIT.SEARCH : MESSAGE_LIMIT.DEFAULT;
|
|
@@ -31,6 +31,9 @@ const createMessageQuery = (channel: SendbirdGroupChannel, options?: UseGroupCha
|
|
|
31
31
|
return channel.createPreviousMessageListQuery(params);
|
|
32
32
|
};
|
|
33
33
|
|
|
34
|
+
/**
|
|
35
|
+
* @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.
|
|
36
|
+
* */
|
|
34
37
|
export const useGroupChannelMessagesWithQuery: UseGroupChannelMessages = (sdk, channel, userId, options) => {
|
|
35
38
|
const queryRef = useRef<SendbirdPreviousMessageListQuery>();
|
|
36
39
|
const handlerId = useUniqHandlerId('useGroupChannelMessagesWithQuery');
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { ApplicationAttributes, PremiumFeatures, SendbirdChatSDK } from '@sendbird/uikit-utils';
|
|
2
2
|
|
|
3
3
|
export const useAppFeatures = (sdk: SendbirdChatSDK) => {
|
|
4
|
-
const { premiumFeatureList = [], applicationAttributes = [] } = sdk.appInfo ?? {};
|
|
4
|
+
const { premiumFeatureList = [], applicationAttributes = [], uploadSizeLimit } = sdk.appInfo ?? {};
|
|
5
5
|
return {
|
|
6
6
|
deliveryReceiptEnabled: premiumFeatureList.includes(PremiumFeatures.delivery_receipt),
|
|
7
7
|
broadcastChannelEnabled: applicationAttributes.includes(ApplicationAttributes.allow_broadcast_channel),
|
|
8
8
|
superGroupChannelEnabled: applicationAttributes.includes(ApplicationAttributes.allow_super_group_channel),
|
|
9
9
|
reactionEnabled: applicationAttributes.includes(ApplicationAttributes.reactions),
|
|
10
|
+
uploadSizeLimit: uploadSizeLimit,
|
|
10
11
|
};
|
|
11
12
|
};
|
|
@@ -6,6 +6,9 @@ import type { SendbirdChatSDK } from '@sendbird/uikit-utils';
|
|
|
6
6
|
|
|
7
7
|
type ChannelType = 'open' | 'group';
|
|
8
8
|
|
|
9
|
+
/**
|
|
10
|
+
* @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.
|
|
11
|
+
* */
|
|
9
12
|
export const useChannelHandler = <T extends ChannelType = 'group'>(
|
|
10
13
|
sdk: SendbirdChatSDK,
|
|
11
14
|
handlerId: string,
|
package/src/types.ts
CHANGED
|
@@ -33,7 +33,7 @@ export interface CustomBidirectionalQueryInterface<Data> {
|
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
/**
|
|
36
|
-
* @deprecated This hook is deprecated and will be replaced by the 'uikit-tools' package.
|
|
36
|
+
* @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.
|
|
37
37
|
*
|
|
38
38
|
* @interface UseGroupChannelList
|
|
39
39
|
* @description interface for group channel list hook
|
|
@@ -75,7 +75,7 @@ export type UseGroupChannelListOptions = {
|
|
|
75
75
|
};
|
|
76
76
|
|
|
77
77
|
/**
|
|
78
|
-
* @deprecated This hook is deprecated and will be replaced by the 'uikit-tools' package.
|
|
78
|
+
* @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.
|
|
79
79
|
*
|
|
80
80
|
* @interface UseGroupChannelMessages
|
|
81
81
|
* @description interface for group channel messages hook
|