@tencentcloud/chat-uikit-react 2.1.3 → 2.1.4
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/CHANGELOG.md +5 -0
- package/dist/cjs/components/ConversationCreate/hooks/useConversationCreate.js +1 -1
- package/dist/cjs/components/TUIConversation/TUIConversation.js +1 -1
- package/dist/cjs/components/TUIConversationList/hooks/useConversationList.js +1 -1
- package/dist/cjs/components/TUIKit/TUIKit.js +1 -1
- package/dist/cjs/components/TUIKit/hooks/useTUIKit.js +1 -1
- package/dist/cjs/components/TUIProfile/TUIProfile.js +1 -1
- package/dist/cjs/components/TUIProfile/TUIProfileDefault.d.ts +2 -2
- package/dist/cjs/components/TUIProfile/hooks/useMyProfile.js +1 -1
- package/dist/cjs/context/TUIConversationContext.js +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/esm/components/ConversationCreate/hooks/useConversationCreate.js +1 -1
- package/dist/esm/components/TUIConversation/TUIConversation.js +1 -1
- package/dist/esm/components/TUIConversationList/hooks/useConversationList.js +1 -1
- package/dist/esm/components/TUIKit/TUIKit.js +1 -1
- package/dist/esm/components/TUIKit/hooks/useTUIKit.js +1 -1
- package/dist/esm/components/TUIProfile/TUIProfile.js +1 -1
- package/dist/esm/components/TUIProfile/TUIProfileDefault.d.ts +2 -2
- package/dist/esm/components/TUIProfile/hooks/useMyProfile.js +1 -1
- package/dist/esm/context/TUIConversationContext.js +1 -1
- package/dist/esm/index.js +1 -1
- package/package.json +1 -1
- package/src/components/Profile/index.ts +1 -2
- package/src/components/TUIConversationList/hooks/useConversationList.tsx +19 -24
- package/src/components/TUIKit/TUIKit.tsx +30 -11
- package/src/components/TUIKit/hooks/useTUIKit.tsx +10 -6
- package/src/components/TUIProfile/TUIProfileDefault.tsx +2 -2
- package/src/components/TUIProfile/hooks/useMyProfile.tsx +18 -36
- package/dist/cjs/components/TUIProfile/hooks/useMyProfile.d.ts +0 -17
- package/dist/esm/components/TUIProfile/hooks/useMyProfile.d.ts +0 -17
- package/src/components/Profile/hooks/useProfile.tsx +0 -28
package/CHANGELOG.md
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),r=require("react"),t=require("@tencentcloud/chat"),n=require("../static/word.js");require("react/jsx-runtime"),require("../../TUIKit/TUIKit.js"),require("react-i18next"),require("../../../context/TUIMessageContext.js"),require("../../../utils/env.js"),require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),r=require("react"),t=require("@tencentcloud/chat"),n=require("../static/word.js");require("react/jsx-runtime"),require("../../TUIKit/TUIKit.js"),require("@tencentcloud/chat-uikit-engine"),require("react-i18next"),require("../../../context/TUIMessageContext.js"),require("../../../utils/env.js"),require("../../Icon/config.js"),require("../../Icon/type.js"),require("date-fns"),require("date-fns/locale"),require("../ConversationCreate.js"),require("../ConversationGroupTypeInfo.js"),require("../../../constants.js"),require("../../TUIMessage/hooks/useMessageReply.js"),require("../../TUIMessage/MessagePlugins.js"),require("../../TUIMessage/MessageContext.js"),require("../../TUIMessageInput/hooks/useHandleQuoteMessage.js"),require("../../TUIProfile/TUIProfileDefault.js");var i=require("../../../hooks/useProfile.js");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=s(t);exports.useConversationCreate=function(t,s,o){var a=r.useState(),c=a[0],l=a[1],f=function(e){var r=e.trim(),t=r.charCodeAt(0);return t>40869||t<19968?r.charAt(0):n.strChineseFirstPy.charAt(t-19968)},d=function(){return e.__awaiter(void 0,void 0,void 0,(function(){var r,n,i,a;return e.__generator(this,(function(e){switch(e.label){case 0:return s.filter((function(e){return(null==e?void 0:e.type)===u.default.TYPES.CONV_C2C})).slice(0,5).map((function(e){return null==e?void 0:e.userProfile})),[4,t.getFriendList()];case 1:return r=e.sent(),n=r.code,i=r.data,0===n&&(a=v(i.map((function(e){return e.profile}))),l(a),o&&o(a,l)),[2]}}))}))},v=function(e,r){for(var t={"#":[]},n=65;n<=90;n+=1)t[String.fromCharCode(n)]=[];return e.forEach((function(e){var r=e.nick,n=e.userID,i=f(r||n);i>="a"&&i<="z"?t[i.toLocaleUpperCase()].push(e):i<"A"||i>"z"?t["#"].push(e):t[i].push(e)})),Object.keys(t).forEach((function(e){t[e].sort((function(e,r){var t=e.nick,n=e.userID,i=r.nick,s=r.userID;return t||n<i||s||t||n===i||s?1:-1}))})),t},q=i.useProfile(t).getUserProfile;return r.useEffect((function(){d()}),[t]),{getFirstLetter:f,queryFriendList:d,getFriendListSortSearchResult:function(r){return e.__awaiter(void 0,void 0,void 0,(function(){var t,n,i,s;return e.__generator(this,(function(e){switch(e.label){case 0:return r?[4,q([r])]:[2,c];case 1:return t=e.sent().data,n={},i=!1,Object.keys(c).forEach((function(e){n[e]=c[e].filter((function(e){var t,n,s=e.nick,u=e.userID,o=null==s?void 0:s.toLocaleLowerCase(),a=r.toLocaleLowerCase(),c=u.toLocaleLowerCase();return n="TencentCloudDemo"===(null===(t=process.env)||void 0===t?void 0:t.REACT_APP_ONLINE)?o?o.includes(a):c.includes(a):c===a,i=i||n,n}))})),"TencentCloudDemo"===(null===(s=process.env)||void 0===s?void 0:s.REACT_APP_ONLINE)?[2,n]:[2,i?n:v(t)]}}))}))},friendListSortResult:c}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),t=require("react/jsx-runtime"),r=require("react"),n=require("../../context/TUIConversationContext.js"),o=require("../TUIConversationList/TUIConversationList.js");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(i){var s=i.children,a=i.createConversation,u=i.deleteConversation,c=i.filterConversation,v=r.useMemo((function(){return{createConversation:a,deleteConversation:u,filterConversation:c}}),[a,u,c]);return t.jsx(n.TUIConversationProvider,e.__assign({value:v},{children:s||t.jsx(o.TUIConversationList,{})}))}require("@tencentcloud/chat"),require("@tencentcloud/chat-uikit-engine");var a=i(r).default.memo(s);exports.TUIConversation=a,exports.UnMemoizedTUIConversation=s;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("
|
|
1
|
+
"use strict";var t=require("react"),e=require("@tencentcloud/chat"),n=require("@tencentcloud/chat-uikit-engine");function r(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var u=r(e);module.exports=function(e,r,i){var o=t.useState([]),c=o[0],a=o[1],f=function(t){var e=[];e=i?i(t):t.filter((function(t){return t.type!==u.default.TYPES.CONV_SYSTEM})),a(e),r&&r(e,a)};return t.useEffect((function(){n.TUIStore.watch(n.StoreName.CONV,{conversationList:f})}),[e]),{conversationList:c,setConversationList:a}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),t=require("react/jsx-runtime"),a=require("react"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),t=require("react/jsx-runtime"),a=require("react"),n=require("@tencentcloud/chat-uikit-engine"),s=require("@tencentcloud/tui-core"),r=require("react-i18next"),i=require("../../utils/env.js"),o=require("./hooks/useTUIKit.js"),c=require("./hooks/useCreateTUIKitContext.js"),T=require("../../context/TUIKitContext.js"),u=require("../TUIConversation/TUIConversation.js"),l=require("../TUIChat/TUIChat.js"),I=require("../TUIManage/TUIManage.js"),C=require("../TUIProfile/TUIProfile.js");require("../TUIProfile/TUIProfileDefault.js"),require("@tencentcloud/chat"),require("../../context/TUIMessageContext.js"),require("../Icon/config.js"),require("../Icon/type.js");var U=require("../TUIContact/TUIContactInfo/TUIContactInfo.js"),v=require("../TUIContact/TUIContact.js"),d=require("../../constants.js");require("../../locales/index.js");var h=require("../Icon/images/chats.svg.js"),j=require("../Icon/images/chats-selected.svg.js"),A=require("../Icon/images/contacts.svg.js"),m=require("../Icon/images/contacts-selected.svg.js"),g=[{id:1,name:d.TUIKIT_TABBAR.CHATS,icon:h,selectedIcon:j,value:d.TUIKIT_TABBAR.CHATS},{id:2,name:d.TUIKIT_TABBAR.CONTACTS,icon:A,selectedIcon:m,value:d.TUIKIT_TABBAR.CONTACTS}],x={className:"sample-h5-input",isTransmitter:!0};function _(a){var n=a.moduleValue,s=a.tabbarRender,r=a.setModuleValue;return t.jsxs(t.Fragment,{children:[t.jsxs("div",e.__assign({className:"sample-chat-left-container"},{children:[t.jsx(C.TUIProfile,{className:"sample-chat-profile"}),s,n===d.TUIKIT_TABBAR.CHATS&&t.jsx(u.TUIConversation,{}),n===d.TUIKIT_TABBAR.CONTACTS&&t.jsx(v.TUIContact,{})]})),n===d.TUIKIT_TABBAR.CHATS&&t.jsxs(t.Fragment,{children:[t.jsx(l.TUIChat,{}),t.jsx(I.TUIManage,{})]}),n===d.TUIKIT_TABBAR.CONTACTS&&t.jsx(v.TUIContact,{children:t.jsx(U.TUIContactInfo,{showChat:function(){r(d.TUIKIT_TABBAR.CHATS)}})})]})}function f(a){var n=a.moduleValue,s=a.contactData,r=a.tabbarRender,i=a.currentConversationID,o=a.setModuleValue;return t.jsxs(t.Fragment,{children:[!i&&!s&&t.jsxs("div",e.__assign({className:"sample-chat-h5-container"},{children:[t.jsx(C.TUIProfile,{className:"sample-profile"}),r,n===d.TUIKIT_TABBAR.CHATS&&t.jsx(u.TUIConversation,{}),n===d.TUIKIT_TABBAR.CONTACTS&&t.jsx(v.TUIContact,{})]})),n===d.TUIKIT_TABBAR.CHATS&&i&&t.jsxs(t.Fragment,{children:[t.jsx(l.TUIChat,{TUIMessageInputConfig:x}),t.jsx(I.TUIManage,{})]}),n===d.TUIKIT_TABBAR.CONTACTS&&s&&t.jsx(v.TUIContact,{children:t.jsx(U.TUIContactInfo,{showChat:function(){o(d.TUIKIT_TABBAR.CHATS)}})})]})}exports.TUIKit=function(u){var l=a.useState("chats"),I=l[0],C=l[1],U=r.useTranslation().t,v=u.children,d=u.chat,h=void 0===d?s.TUILogin.getContext().chat:d,j=u.customClasses,A=u.activeConversation,m=u.language,x=void 0===m?"en":m;window.tencent_cloud_im_csig_react_uikit_23F_xa=!0;var B=o.useTUIKit({chat:h,activeConversation:A,language:x}),q=B.conversation,S=B.contactData,K=B.setActiveConversation,p=B.myProfile,N=B.TUIManageShow,R=B.setTUIManageShow,M=B.TUIProfileShow,P=B.setTUIProfileShow,b=B.setActiveContact,w=c.useCreateTUIKitContext({chat:h,language:x,conversation:q,contactData:S,setActiveConversation:K,customClasses:j,myProfile:p,TUIManageShow:N,setTUIManageShow:R,TUIProfileShow:M,setTUIProfileShow:P,setActiveContact:b});a.useEffect((function(){return n.TUIStore.watch(n.StoreName.CONV,{currentConversation:V}),function(){n.TUIStore.unwatch(n.StoreName.CONV,{currentConversation:V})}}),[]);var V=function(e){K(null==e?void 0:e.getConversation())},H=t.jsx("div",e.__assign({className:"sample-chat-tab"},{children:g.map((function(a){return t.jsxs("div",e.__assign({className:"sample-chat-tab-container",role:"presentation",onClick:function(){var e;e=a.value,C(e)}},{children:[t.jsx("img",{src:I===a.value?a.selectedIcon:a.icon,alt:""}),t.jsx("p",e.__assign({className:"sample-chat-tab-text ".concat(I===a.value?"sample-chat-tab-active":"")},{children:U(a.name)}))]}),a.id)}))}));return t.jsx(T.TUIKitProvider,e.__assign({value:w},{children:t.jsx("div",e.__assign({className:"tui-kit"},{children:v||i.isPC&&t.jsx(_,{moduleValue:I,tabbarRender:H,setModuleValue:C})||i.isH5&&t.jsx(f,{contactData:S,moduleValue:I,tabbarRender:H,currentConversationID:(null==q?void 0:q.conversationID)||"",setModuleValue:C})}))}))};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("@tencentcloud/chat-uikit-engine"),n=require("react-i18next");exports.useTUIKit=function(a){var o=a.chat,i=a.activeConversation,r=a.language,s=n.useTranslation().i18n,c=e.useState(i),u=c[0],f=c[1],l=e.useState(),v=l[0],S=l[1],I=e.useState(!1),g=I[0],h=I[1],T=e.useState(!1),U=T[0],d=T[1],w=e.useState(),D=w[0],P=w[1];e.useEffect((function(){s.changeLanguage(r),t.TUIStore.watch(t.StoreName.USER,{userProfile:function(e){S(e)}})}),[r]);var C=e.useCallback((function(e){e&&(null==o||o.setMessageRead({conversationID:e.conversationID})),u&&(null==e?void 0:e.conversationID)!==u.conversationID&&h(!1),e&&f(e)}),[o]);return e.useEffect((function(){i&&f(i)}),[i]),{conversation:u,contactData:D,setActiveConversation:C,myProfile:v,TUIManageShow:g,setTUIManageShow:h,TUIProfileShow:U,setTUIProfileShow:d,setActiveContact:function(e){P(e)}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),t=require("../Profile/Profile.js")
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),t=require("../Profile/Profile.js"),o=require("./hooks/useMyProfile.js"),i=require("./TUIProfileDefault.js"),s=require("../../context/TUIKitContext.js");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function l(r){var u=r.className,l=r.TUIProfile,f=o.useMyProfile(),a=f.myProfile,n=f.updateMyProfile,P=s.useTUIKitContext("TUIProfile"),c=P.setTUIProfileShow,j=P.TUIProfileShow,x=l||i.TUIProfileDefault;return e.jsxs(e.Fragment,{children:[e.jsx(t.Profile,{profile:a,handleAvatar:function(){c&&c(!0)}}),j&&e.jsx(x,{className:u,userInfo:a,update:n})]})}require("tslib"),require("../../context/TUIMessageContext.js");var f=u(r).default.memo(l);exports.TUIProfile=f;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Profile } from '@tencentcloud/chat';
|
|
3
|
-
import {
|
|
3
|
+
import { UpdateMyProfileParams } from '@tencentcloud/chat-uikit-engine';
|
|
4
4
|
|
|
5
5
|
interface TUIProfileDefaultProps {
|
|
6
6
|
userInfo?: Profile;
|
|
7
|
-
update?: (option:
|
|
7
|
+
update?: (option: UpdateMyProfileParams) => void;
|
|
8
8
|
className?: string;
|
|
9
9
|
}
|
|
10
10
|
declare function TUIProfileDefault(props: TUIProfileDefaultProps): React.ReactElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),r=require("react"),t=require("@tencentcloud/chat-uikit-engine");exports.useMyProfile=function(){var i=r.useState(),u=i[0],o=i[1];return r.useEffect((function(){t.TUIStore.watch(t.StoreName.USER,{userProfile:function(e){o(e)}})}),[]),{myProfile:u,updateMyProfile:function(r){t.TUIUserService.updateMyProfile(r);var i=e.__assign({},u);o(i)}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),r=require("react/jsx-runtime"),t=require("react");require("../components/TUIKit/TUIKit.js"),require("react-i18next");var s=require("../components/TUIConversationList/TUIConversationList.js");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("@tencentcloud/chat"),require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),r=require("react/jsx-runtime"),t=require("react");require("../components/TUIKit/TUIKit.js"),require("@tencentcloud/chat-uikit-engine"),require("react-i18next");var s=require("../components/TUIConversationList/TUIConversationList.js");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("@tencentcloud/chat"),require("date-fns"),require("date-fns/locale"),require("../components/Icon/config.js"),require("../components/Icon/type.js"),require("./TUIMessageContext.js"),require("../constants.js"),require("../components/TUIMessage/hooks/useMessageReply.js"),require("../components/TUIMessage/MessagePlugins.js"),require("../components/TUIMessage/MessageContext.js"),require("../utils/env.js"),require("../components/TUIMessageInput/hooks/useHandleQuoteMessage.js"),require("../components/TUIProfile/TUIProfileDefault.js");var o=n(t).default.createContext({});exports.TUIConversationContext=o,exports.TUIConversationProvider=function(t){var n=t.children,i=t.value;return r.jsx(o.Provider,e.__assign({value:i},{children:n||r.jsx(s.TUIConversationList,{})}))},exports.useTUIConversationContext=function(e){var r=t.useContext(o);return!r&&e?{}:r};
|
package/dist/cjs/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./server.js"),t=require("./components/TUIKit/TUIKit.js"),o=require("./components/TUIKit/hooks/useTUIKit.js"),n=require("./components/TUIKit/hooks/useCreateTUIKitContext.js"),s=require("./components/TUIConversation/TUIConversation.js"),r=require("./components/TUIConversationList/TUIConversationList.js");require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./server.js"),t=require("./components/TUIKit/TUIKit.js"),o=require("./components/TUIKit/hooks/useTUIKit.js"),n=require("./components/TUIKit/hooks/useCreateTUIKitContext.js"),s=require("./components/TUIConversation/TUIConversation.js"),r=require("./components/TUIConversationList/TUIConversationList.js");require("react"),require("@tencentcloud/chat"),require("@tencentcloud/chat-uikit-engine");var a=require("./components/TUIChat/TUIChat.js");require("tslib");var i=require("./components/ConversationPreview/ConversationPreview.js"),p=require("./components/ConversationPreview/ConversationPreviewContent.js"),u=require("./components/TUIChatHeader/TUIChatHeader.js"),I=require("./components/TUIChatHeader/TUIChatHeaderDefault.js"),C=require("./components/TUIMessageList/TUIMessageList.js"),x=require("./components/TUIMessage/TUIMessage.js"),T=require("./components/TUIMessage/MessagePlugins.js"),U=require("./components/TUIMessage/MessageContext.js"),c=require("./components/TUIMessageInput/TUIMessageInput.js"),v=require("./components/TUIMessageInput/TUIMessageInputDefault.js"),m=require("./components/TUIMessageInput/InputPluginsDefalut.js"),d=require("./components/TUIProfile/TUIProfile.js"),l=require("./components/TUIProfile/TUIProfileDefault.js"),g=require("./components/Avatar/Avatar.js"),M=require("./components/Avatar/default.js"),h=require("./components/ConversationSearch/ConversationSearchInput.js"),j=require("./components/ConversationSearch/ConversationSearchResult.js"),q=require("./components/TUIManage/TUIManage.js"),P=require("./components/Popup/index.js"),f=require("./components/Checkbox/index.js"),S=require("./components/DivWithEdit/DivWithEdit.js"),A=require("./components/Icon/Icon.js"),K=require("./components/Icon/type.js"),w=require("./components/EmptyStateIndicator/EmptyStateIndicator.js"),y=require("./components/Input/Input.js"),D=require("./components/Model/index.js"),b=require("./components/Plugins/index.js"),L=require("./components/Switch/Switch.js"),k=require("./components/Toast/index.js"),E=require("./components/TUIContact/TUIContactList/TUIContactList.js"),G=require("./components/TUIContact/TUIContactInfo/TUIContactInfo.js"),H=require("./components/TUIContact/TUIContact.js"),z=require("./context/TUIKitContext.js"),W=require("./context/TUIChatStateContext.js"),R=require("./context/TUIChatActionContext.js"),O=require("./context/TUIMessageContext.js"),N=require("./context/ComponentContext.js"),V=require("./context/TUIMessageInputContext.js"),_=require("./context/TUIContactContext.js"),B=require("./hooks/useConversation.js"),F=require("./hooks/useProfile.js"),J=require("./locales/index.js");function Q(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var X=Q(require("i18next"));new e,exports.TUIKit=t.TUIKit,exports.useTUIKit=o.useTUIKit,exports.useCreateTUIKitContext=n.useCreateTUIKitContext,exports.TUIConversation=s.TUIConversation,exports.UnMemoizedTUIConversation=s.UnMemoizedTUIConversation,exports.TUIConversationList=r.TUIConversationList,exports.UnMemoTUIConversationList=r.UnMemoTUIConversationList,exports.TUIChat=a.TUIChat,exports.ConversationPreview=i.ConversationPreview,exports.ConversationPreviewContent=p.ConversationPreviewContent,exports.unMemoConversationPreviewContent=p.unMemoConversationPreviewContent,exports.TUIChatHeader=u.TUIChatHeader,exports.TUIChatHeaderDefault=I.TUIChatHeaderDefault,exports.TUIMessageList=C.TUIMessageList,exports.TUIMessage=x.TUIMessage,exports.MessagePlugins=T.MessagePlugins,exports.MessageContext=U.MessageContext,exports.TUIMessageInput=c.TUIMessageInput,exports.TUIMessageInputDefault=v.TUIMessageInputDefault,exports.InputPluginsDefalut=m.InputPluginsDefalut,exports.TUIProfile=d.TUIProfile,exports.TUIProfileDefault=l.TUIProfileDefault,exports.Avatar=g.Avatar,exports.defaultGroupAvatarAVChatRoom=M.defaultGroupAvatarAVChatRoom,exports.defaultGroupAvatarMeeting=M.defaultGroupAvatarMeeting,exports.defaultGroupAvatarPublic=M.defaultGroupAvatarPublic,exports.defaultGroupAvatarWork=M.defaultGroupAvatarWork,exports.defaultUserAvatar=M.defaultUserAvatar,exports.ConversationSearchInput=h.ConversationSearchInput,exports.ConversationSearchResult=j.ConversationSearchResult,exports.TUIManage=q.TUIManage,exports.Popup=P.Popup,exports.Checkbox=f.Checkbox,exports.DivWithEdit=S.DivWithEdit,exports.Icon=A.Icon,exports.changeTypeToIconClassName=A.changeTypeToIconClassName,Object.defineProperty(exports,"IconTypes",{enumerable:!0,get:function(){return K.IconTypes}}),exports.EmptyStateIndicator=w.EmptyStateIndicator,exports.Input=y.Input,exports.Model=D.Model,exports.Plugins=b.Plugins,exports.Switch=L.Switch,exports.Toast=k.Toast,exports.TUIContactList=E.TUIContactList,exports.TUIContactInfo=G.TUIContactInfo,exports.UnMemoizedTUIContactInfo=G.UnMemoizedTUIContactInfo,exports.TUIContact=H.TUIContact,exports.UnMemoizedTUIContact=H.UnMemoizedTUIContact,exports.TUIKitContext=z.TUIKitContext,exports.TUIKitProvider=z.TUIKitProvider,exports.useTUIKitContext=z.useTUIKitContext,exports.TUIChatStateContext=W.TUIChatStateContext,exports.TUIChatStateContextProvider=W.TUIChatStateContextProvider,exports.useTUIChatStateContext=W.useTUIChatStateContext,exports.TUIChatActionContext=R.TUIChatActionContext,exports.TUIChatActionProvider=R.TUIChatActionProvider,exports.useTUIChatActionContext=R.useTUIChatActionContext,exports.TUIMessageContext=O.TUIMessageContext,exports.TUIMessageContextProvider=O.TUIMessageContextProvider,Object.defineProperty(exports,"messageShowType",{enumerable:!0,get:function(){return O.messageShowType}}),exports.useTUIMessageContext=O.useTUIMessageContext,exports.ComponentContext=N.ComponentContext,exports.ComponentProvider=N.ComponentProvider,exports.useComponentContext=N.useComponentContext,exports.TUIMessageInputContext=V.TUIMessageInputContext,exports.TUIMessageInputContextProvider=V.TUIMessageInputContextProvider,exports.useTUIMessageInputContext=V.useTUIMessageInputContext,exports.TUIContactContext=_.TUIContactContext,exports.TUIContactContextProvider=_.TUIContactContextProvider,exports.useTUIContactContext=_.useTUIContactContext,exports.useConversation=B.useConversation,exports.useProfile=F.useProfile,exports.t=J.t,Object.defineProperty(exports,"i18next",{enumerable:!0,get:function(){return X.default}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__awaiter as e,__generator as t}from"tslib";import{useState as r,useEffect as o}from"react";import n from"@tencentcloud/chat";import{strChineseFirstPy as i}from"../static/word.js";import"react/jsx-runtime";import"../../TUIKit/TUIKit.js";import"react-i18next";import"../../../context/TUIMessageContext.js";import"../../../utils/env.js";import"
|
|
1
|
+
import{__awaiter as e,__generator as t}from"tslib";import{useState as r,useEffect as o}from"react";import n from"@tencentcloud/chat";import{strChineseFirstPy as i}from"../static/word.js";import"react/jsx-runtime";import"../../TUIKit/TUIKit.js";import"@tencentcloud/chat-uikit-engine";import"react-i18next";import"../../../context/TUIMessageContext.js";import"../../../utils/env.js";import"../../Icon/config.js";import"../../Icon/type.js";import"date-fns";import"date-fns/locale";import"../ConversationCreate.js";import"../ConversationGroupTypeInfo.js";import"../../../constants.js";import"../../TUIMessage/hooks/useMessageReply.js";import"../../TUIMessage/MessagePlugins.js";import"../../TUIMessage/MessageContext.js";import"../../TUIMessageInput/hooks/useHandleQuoteMessage.js";import"../../TUIProfile/TUIProfileDefault.js";import{useProfile as s}from"../../../hooks/useProfile.js";var u=function(u,c,a){var l=r(),f=l[0],p=l[1],m=function(e){var t=e.trim(),r=t.charCodeAt(0);return r>40869||r<19968?t.charAt(0):i.charAt(r-19968)},d=function(){return e(void 0,void 0,void 0,(function(){var e,r,o,i;return t(this,(function(t){switch(t.label){case 0:return c.filter((function(e){return(null==e?void 0:e.type)===n.TYPES.CONV_C2C})).slice(0,5).map((function(e){return null==e?void 0:e.userProfile})),[4,u.getFriendList()];case 1:return e=t.sent(),r=e.code,o=e.data,0===r&&(i=v(o.map((function(e){return e.profile}))),p(i),a&&a(i,p)),[2]}}))}))},v=function(e,t){for(var r={"#":[]},o=65;o<=90;o+=1)r[String.fromCharCode(o)]=[];return e.forEach((function(e){var t=e.nick,o=e.userID,n=m(t||o);n>="a"&&n<="z"?r[n.toLocaleUpperCase()].push(e):n<"A"||n>"z"?r["#"].push(e):r[n].push(e)})),Object.keys(r).forEach((function(e){r[e].sort((function(e,t){var r=e.nick,o=e.userID,n=t.nick,i=t.userID;return r||o<n||i||r||o===n||i?1:-1}))})),r},h=s(u).getUserProfile;return o((function(){d()}),[u]),{getFirstLetter:m,queryFriendList:d,getFriendListSortSearchResult:function(r){return e(void 0,void 0,void 0,(function(){var e,o,n,i;return t(this,(function(t){switch(t.label){case 0:return r?[4,h([r])]:[2,f];case 1:return e=t.sent().data,o={},n=!1,Object.keys(f).forEach((function(e){o[e]=f[e].filter((function(e){var t,o,i=e.nick,s=e.userID,u=null==i?void 0:i.toLocaleLowerCase(),c=r.toLocaleLowerCase(),a=s.toLocaleLowerCase();return o="TencentCloudDemo"===(null===(t=process.env)||void 0===t?void 0:t.REACT_APP_ONLINE)?u?u.includes(c):a.includes(c):a===c,n=n||o,o}))})),"TencentCloudDemo"===(null===(i=process.env)||void 0===i?void 0:i.REACT_APP_ONLINE)?[2,o]:[2,n?o:v(e)]}}))}))},friendListSortResult:f}};export{u as useConversationCreate};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__assign as t}from"tslib";import{jsx as
|
|
1
|
+
import{__assign as t}from"tslib";import{jsx as e}from"react/jsx-runtime";import o,{useMemo as r}from"react";import{TUIConversationProvider as n}from"../../context/TUIConversationContext.js";import{TUIConversationList as i}from"../TUIConversationList/TUIConversationList.js";import"@tencentcloud/chat";import"@tencentcloud/chat-uikit-engine";function a(o){var a=o.children,c=o.createConversation,m=o.deleteConversation,s=o.filterConversation,v=r((function(){return{createConversation:c,deleteConversation:m,filterConversation:s}}),[c,m,s]);return e(n,t({value:v},{children:a||e(i,{})}))}var c=o.memo(a);export{c as TUIConversation,a as UnMemoizedTUIConversation};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{useState as t,useEffect as n}from"react";import o from"@tencentcloud/chat";import{TUIStore as r,StoreName as e}from"@tencentcloud/chat-uikit-engine";function i(i,c,a){var u=t([]),f=u[0],s=u[1],m=function(t){var n=[];n=a?a(t):t.filter((function(t){return t.type!==o.TYPES.CONV_SYSTEM})),s(n),c&&c(n,s)};return n((function(){r.watch(e.CONV,{conversationList:m})}),[i]),{conversationList:f,setConversationList:s}}export{i as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__assign as t}from"tslib";import{jsx as e,jsxs as o,Fragment as a}from"react/jsx-runtime";import{useState as n,useEffect as r}from"react";import{TUIStore as i,StoreName as c}from"@tencentcloud/chat-uikit-engine";import{
|
|
1
|
+
import{__assign as t}from"tslib";import{jsx as e,jsxs as o,Fragment as a}from"react/jsx-runtime";import{useState as n,useEffect as r}from"react";import{TUIStore as i,StoreName as c}from"@tencentcloud/chat-uikit-engine";import{TUILogin as s}from"@tencentcloud/tui-core";import{useTranslation as l}from"react-i18next";import{isPC as m,isH5 as u}from"../../utils/env.js";import{useTUIKit as C}from"./hooks/useTUIKit.js";import{useCreateTUIKitContext as h}from"./hooks/useCreateTUIKitContext.js";import{TUIKitProvider as d}from"../../context/TUIKitContext.js";import{TUIConversation as f}from"../TUIConversation/TUIConversation.js";import{TUIChat as T}from"../TUIChat/TUIChat.js";import{TUIManage as v}from"../TUIManage/TUIManage.js";import{TUIProfile as p}from"../TUIProfile/TUIProfile.js";import"../TUIProfile/TUIProfileDefault.js";import"@tencentcloud/chat";import"../../context/TUIMessageContext.js";import"../Icon/config.js";import"../Icon/type.js";import{TUIContactInfo as I}from"../TUIContact/TUIContactInfo/TUIContactInfo.js";import{TUIContact as g}from"../TUIContact/TUIContact.js";import{TUIKIT_TABBAR as U}from"../../constants.js";import"../../locales/index.js";import S from"../Icon/images/chats.svg.js";import j from"../Icon/images/chats-selected.svg.js";import A from"../Icon/images/contacts.svg.js";import N from"../Icon/images/contacts-selected.svg.js";var w=[{id:1,name:U.CHATS,icon:S,selectedIcon:j,value:U.CHATS},{id:2,name:U.CONTACTS,icon:A,selectedIcon:N,value:U.CONTACTS}],b={className:"sample-h5-input",isTransmitter:!0};function x(n){var r=n.moduleValue,i=n.tabbarRender,c=n.setModuleValue;return o(a,{children:[o("div",t({className:"sample-chat-left-container"},{children:[e(p,{className:"sample-chat-profile"}),i,r===U.CHATS&&e(f,{}),r===U.CONTACTS&&e(g,{})]})),r===U.CHATS&&o(a,{children:[e(T,{}),e(v,{})]}),r===U.CONTACTS&&e(g,{children:e(I,{showChat:function(){c(U.CHATS)}})})]})}function M(n){var r=n.moduleValue,i=n.contactData,c=n.tabbarRender,s=n.currentConversationID,l=n.setModuleValue;return o(a,{children:[!s&&!i&&o("div",t({className:"sample-chat-h5-container"},{children:[e(p,{className:"sample-profile"}),c,r===U.CHATS&&e(f,{}),r===U.CONTACTS&&e(g,{})]})),r===U.CHATS&&s&&o(a,{children:[e(T,{TUIMessageInputConfig:b}),e(v,{})]}),r===U.CONTACTS&&i&&e(g,{children:e(I,{showChat:function(){l(U.CHATS)}})})]})}function P(a){var f=n("chats"),T=f[0],v=f[1],p=l().t,I=a.children,g=a.chat,U=void 0===g?s.getContext().chat:g,S=a.customClasses,j=a.activeConversation,A=a.language,N=void 0===A?"en":A;window.tencent_cloud_im_csig_react_uikit_23F_xa=!0;var b=C({chat:U,activeConversation:j,language:N}),P=b.conversation,V=b.contactData,D=b.setActiveConversation,H=b.myProfile,O=b.TUIManageShow,_=b.setTUIManageShow,k=b.TUIProfileShow,R=b.setTUIProfileShow,y=b.setActiveContact,K=h({chat:U,language:N,conversation:P,contactData:V,setActiveConversation:D,customClasses:S,myProfile:H,TUIManageShow:O,setTUIManageShow:_,TUIProfileShow:k,setTUIProfileShow:R,setActiveContact:y});r((function(){return i.watch(c.CONV,{currentConversation:F}),function(){i.unwatch(c.CONV,{currentConversation:F})}}),[]);var F=function(t){D(null==t?void 0:t.getConversation())},q=e("div",t({className:"sample-chat-tab"},{children:w.map((function(a){return o("div",t({className:"sample-chat-tab-container",role:"presentation",onClick:function(){var t;t=a.value,v(t)}},{children:[e("img",{src:T===a.value?a.selectedIcon:a.icon,alt:""}),e("p",t({className:"sample-chat-tab-text ".concat(T===a.value?"sample-chat-tab-active":"")},{children:p(a.name)}))]}),a.id)}))}));return e(d,t({value:K},{children:e("div",t({className:"tui-kit"},{children:I||m&&e(x,{moduleValue:T,tabbarRender:q,setModuleValue:v})||u&&e(M,{contactData:V,moduleValue:T,tabbarRender:q,currentConversationID:(null==P?void 0:P.conversationID)||"",setModuleValue:v})}))}))}export{P as TUIKit};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{useState as n,useEffect as t,useCallback as o}from"react";import{TUIStore as e,StoreName as a}from"@tencentcloud/chat-uikit-engine";import{useTranslation as i}from"react-i18next";var r=function(r){var c=r.chat,s=r.activeConversation,u=r.language,v=i().i18n,f=n(s),l=f[0],g=f[1],h=n(),I=h[0],m=h[1],w=n(!1),D=w[0],S=w[1],U=n(!1),p=U[0],P=U[1],T=n(),d=T[0],C=T[1];t((function(){v.changeLanguage(u),e.watch(a.USER,{userProfile:function(n){m(n)}})}),[u]);var M=o((function(n){n&&(null==c||c.setMessageRead({conversationID:n.conversationID})),l&&(null==n?void 0:n.conversationID)!==l.conversationID&&S(!1),n&&g(n)}),[c]);return t((function(){s&&g(s)}),[s]),{conversation:l,contactData:d,setActiveConversation:M,myProfile:I,TUIManageShow:D,setTUIManageShow:S,TUIProfileShow:p,setTUIProfileShow:P,setActiveContact:function(n){C(n)}}};export{r as useTUIKit};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as o,Fragment as r,jsx as e}from"react/jsx-runtime";import t from"react";import{Profile as i}from"../Profile/Profile.js";import
|
|
1
|
+
import{jsxs as o,Fragment as r,jsx as e}from"react/jsx-runtime";import t from"react";import{Profile as i}from"../Profile/Profile.js";import{useMyProfile as f}from"./hooks/useMyProfile.js";import{TUIProfileDefault as m}from"./TUIProfileDefault.js";import{useTUIKitContext as l}from"../../context/TUIKitContext.js";import"tslib";import"../../context/TUIMessageContext.js";function s(t){var s=t.className,a=t.TUIProfile,n=f(),p=n.myProfile,P=n.updateMyProfile,c=l("TUIProfile"),u=c.setTUIProfileShow,I=c.TUIProfileShow,T=a||m;return o(r,{children:[e(i,{profile:p,handleAvatar:function(){u&&u(!0)}}),I&&e(T,{className:s,userInfo:p,update:P})]})}var a=t.memo(s);export{a as TUIProfile};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Profile } from '@tencentcloud/chat';
|
|
3
|
-
import {
|
|
3
|
+
import { UpdateMyProfileParams } from '@tencentcloud/chat-uikit-engine';
|
|
4
4
|
|
|
5
5
|
interface TUIProfileDefaultProps {
|
|
6
6
|
userInfo?: Profile;
|
|
7
|
-
update?: (option:
|
|
7
|
+
update?: (option: UpdateMyProfileParams) => void;
|
|
8
8
|
className?: string;
|
|
9
9
|
}
|
|
10
10
|
declare function TUIProfileDefault(props: TUIProfileDefaultProps): React.ReactElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{__assign as t}from"tslib";import{useState as r,useEffect as o}from"react";import{TUIStore as i,StoreName as e,TUIUserService as n}from"@tencentcloud/chat-uikit-engine";function f(){var f=r(),u=f[0],c=f[1];return o((function(){i.watch(e.USER,{userProfile:function(t){c(t)}})}),[]),{myProfile:u,updateMyProfile:function(r){n.updateMyProfile(r);var o=t({},u);c(o)}}}export{f as useMyProfile};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__assign as t}from"tslib";import{jsx as o}from"react/jsx-runtime";import e,{useContext as s}from"react";import"../components/TUIKit/TUIKit.js";import"react-i18next";import{TUIConversationList as n}from"../components/TUIConversationList/TUIConversationList.js";import"@tencentcloud/chat";import"
|
|
1
|
+
import{__assign as t}from"tslib";import{jsx as o}from"react/jsx-runtime";import e,{useContext as s}from"react";import"../components/TUIKit/TUIKit.js";import"@tencentcloud/chat-uikit-engine";import"react-i18next";import{TUIConversationList as n}from"../components/TUIConversationList/TUIConversationList.js";import"@tencentcloud/chat";import"date-fns";import"date-fns/locale";import"../components/Icon/config.js";import"../components/Icon/type.js";import"./TUIMessageContext.js";import"../constants.js";import"../components/TUIMessage/hooks/useMessageReply.js";import"../components/TUIMessage/MessagePlugins.js";import"../components/TUIMessage/MessageContext.js";import"../utils/env.js";import"../components/TUIMessageInput/hooks/useHandleQuoteMessage.js";import"../components/TUIProfile/TUIProfileDefault.js";var r=e.createContext({});function i(e){var s=e.children,i=e.value;return o(r.Provider,t({value:i},{children:s||o(n,{})}))}var m=function(t){var o=s(r);return!o&&t?{}:o};export{r as TUIConversationContext,i as TUIConversationProvider,m as useTUIConversationContext};
|
package/dist/esm/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import o from"./server.js";export{TUIKit}from"./components/TUIKit/TUIKit.js";export{useTUIKit}from"./components/TUIKit/hooks/useTUIKit.js";export{useCreateTUIKitContext}from"./components/TUIKit/hooks/useCreateTUIKitContext.js";export{TUIConversation,UnMemoizedTUIConversation}from"./components/TUIConversation/TUIConversation.js";export{TUIConversationList,UnMemoTUIConversationList}from"./components/TUIConversationList/TUIConversationList.js";import"
|
|
1
|
+
import o from"./server.js";export{TUIKit}from"./components/TUIKit/TUIKit.js";export{useTUIKit}from"./components/TUIKit/hooks/useTUIKit.js";export{useCreateTUIKitContext}from"./components/TUIKit/hooks/useCreateTUIKitContext.js";export{TUIConversation,UnMemoizedTUIConversation}from"./components/TUIConversation/TUIConversation.js";export{TUIConversationList,UnMemoTUIConversationList}from"./components/TUIConversationList/TUIConversationList.js";import"react";import"@tencentcloud/chat";import"@tencentcloud/chat-uikit-engine";export{TUIChat}from"./components/TUIChat/TUIChat.js";import"tslib";export{ConversationPreview}from"./components/ConversationPreview/ConversationPreview.js";export{ConversationPreviewContent,unMemoConversationPreviewContent}from"./components/ConversationPreview/ConversationPreviewContent.js";export{TUIChatHeader}from"./components/TUIChatHeader/TUIChatHeader.js";export{TUIChatHeaderDefault}from"./components/TUIChatHeader/TUIChatHeaderDefault.js";export{TUIMessageList}from"./components/TUIMessageList/TUIMessageList.js";export{TUIMessage}from"./components/TUIMessage/TUIMessage.js";export{MessagePlugins}from"./components/TUIMessage/MessagePlugins.js";export{MessageContext}from"./components/TUIMessage/MessageContext.js";export{TUIMessageInput}from"./components/TUIMessageInput/TUIMessageInput.js";export{TUIMessageInputDefault}from"./components/TUIMessageInput/TUIMessageInputDefault.js";export{InputPluginsDefalut}from"./components/TUIMessageInput/InputPluginsDefalut.js";export{TUIProfile}from"./components/TUIProfile/TUIProfile.js";export{TUIProfileDefault}from"./components/TUIProfile/TUIProfileDefault.js";export{Avatar}from"./components/Avatar/Avatar.js";export{defaultGroupAvatarAVChatRoom,defaultGroupAvatarMeeting,defaultGroupAvatarPublic,defaultGroupAvatarWork,defaultUserAvatar}from"./components/Avatar/default.js";export{ConversationSearchInput}from"./components/ConversationSearch/ConversationSearchInput.js";export{ConversationSearchResult}from"./components/ConversationSearch/ConversationSearchResult.js";export{TUIManage}from"./components/TUIManage/TUIManage.js";export{Popup}from"./components/Popup/index.js";export{Checkbox}from"./components/Checkbox/index.js";export{DivWithEdit}from"./components/DivWithEdit/DivWithEdit.js";export{Icon,changeTypeToIconClassName}from"./components/Icon/Icon.js";export{IconTypes}from"./components/Icon/type.js";export{EmptyStateIndicator}from"./components/EmptyStateIndicator/EmptyStateIndicator.js";export{Input}from"./components/Input/Input.js";export{Model}from"./components/Model/index.js";export{Plugins}from"./components/Plugins/index.js";export{Switch}from"./components/Switch/Switch.js";export{Toast}from"./components/Toast/index.js";export{TUIContactList}from"./components/TUIContact/TUIContactList/TUIContactList.js";export{TUIContactInfo,UnMemoizedTUIContactInfo}from"./components/TUIContact/TUIContactInfo/TUIContactInfo.js";export{TUIContact,UnMemoizedTUIContact}from"./components/TUIContact/TUIContact.js";export{TUIKitContext,TUIKitProvider,useTUIKitContext}from"./context/TUIKitContext.js";export{TUIChatStateContext,TUIChatStateContextProvider,useTUIChatStateContext}from"./context/TUIChatStateContext.js";export{TUIChatActionContext,TUIChatActionProvider,useTUIChatActionContext}from"./context/TUIChatActionContext.js";export{TUIMessageContext,TUIMessageContextProvider,messageShowType,useTUIMessageContext}from"./context/TUIMessageContext.js";export{ComponentContext,ComponentProvider,useComponentContext}from"./context/ComponentContext.js";export{TUIMessageInputContext,TUIMessageInputContextProvider,useTUIMessageInputContext}from"./context/TUIMessageInputContext.js";export{TUIContactContext,TUIContactContextProvider,useTUIContactContext}from"./context/TUIContactContext.js";export{useConversation}from"./hooks/useConversation.js";export{useProfile}from"./hooks/useProfile.js";export{t}from"./locales/index.js";export{default as i18next}from"i18next";new o;
|
package/package.json
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export * from './Profile';
|
|
2
|
-
export * from './hooks/useProfile';
|
|
1
|
+
export * from './Profile';
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import React, { useEffect, useState } from 'react';
|
|
2
2
|
import TencentCloudChat, { ChatSDK, Conversation } from '@tencentcloud/chat';
|
|
3
|
-
|
|
3
|
+
import {
|
|
4
|
+
TUIStore,
|
|
5
|
+
StoreName,
|
|
6
|
+
} from '@tencentcloud/chat-uikit-engine';
|
|
4
7
|
function useConversationList(
|
|
5
8
|
chat: ChatSDK,
|
|
6
9
|
activeConversationHandler?:(
|
|
@@ -10,33 +13,25 @@ function useConversationList(
|
|
|
10
13
|
filterConversation?:(conversationList: Array<Conversation>) => Array<Conversation>,
|
|
11
14
|
) {
|
|
12
15
|
const [conversationList, setConversationList] = useState<Array<Conversation>>([]);
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
+
const onConversationListUpdated = (list: any) => {
|
|
17
|
+
let resConversationList = [];
|
|
18
|
+
if (filterConversation) {
|
|
19
|
+
resConversationList = filterConversation(list);
|
|
20
|
+
} else {
|
|
21
|
+
resConversationList = list.filter(
|
|
22
|
+
(item: any) => item.type !== TencentCloudChat.TYPES.CONV_SYSTEM,
|
|
23
|
+
);
|
|
16
24
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
if (res?.code === 0) {
|
|
21
|
-
let resConversationList = [];
|
|
22
|
-
if (filterConversation) {
|
|
23
|
-
resConversationList = filterConversation(res.data.conversationList);
|
|
24
|
-
} else {
|
|
25
|
-
resConversationList = res.data.conversationList.filter(
|
|
26
|
-
(item: any) => item.type !== TencentCloudChat.TYPES.CONV_SYSTEM,
|
|
27
|
-
);
|
|
28
|
-
}
|
|
29
|
-
const newConversationList = queryType === 'reload'
|
|
30
|
-
? resConversationList
|
|
31
|
-
: [...conversationList, resConversationList];
|
|
32
|
-
setConversationList(newConversationList);
|
|
33
|
-
if (!offset && activeConversationHandler) {
|
|
34
|
-
activeConversationHandler(newConversationList, setConversationList);
|
|
35
|
-
}
|
|
25
|
+
setConversationList(resConversationList);
|
|
26
|
+
if (activeConversationHandler) {
|
|
27
|
+
activeConversationHandler(resConversationList, setConversationList);
|
|
36
28
|
}
|
|
37
29
|
};
|
|
30
|
+
|
|
38
31
|
useEffect(() => {
|
|
39
|
-
|
|
32
|
+
TUIStore.watch(StoreName.CONV, {
|
|
33
|
+
conversationList: onConversationListUpdated,
|
|
34
|
+
});
|
|
40
35
|
}, [chat]);
|
|
41
36
|
return {
|
|
42
37
|
conversationList,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React, { PropsWithChildren, useState, useEffect } from 'react';
|
|
2
2
|
import { ChatSDK, Conversation } from '@tencentcloud/chat';
|
|
3
|
-
import { TUIStore, StoreName } from '@tencentcloud/chat-uikit-engine';
|
|
3
|
+
import { TUIStore, StoreName, IConversationModel } from '@tencentcloud/chat-uikit-engine';
|
|
4
|
+
import { TUILogin } from '@tencentcloud/tui-core';
|
|
4
5
|
import { useTranslation } from 'react-i18next';
|
|
5
6
|
import { isH5, isPC } from '../../utils/env';
|
|
6
7
|
import { useTUIKit, UseContactParams } from './hooks/useTUIKit';
|
|
@@ -126,13 +127,16 @@ export function TUIKit<
|
|
|
126
127
|
>(
|
|
127
128
|
props:PropsWithChildren<T>,
|
|
128
129
|
):React.ReactElement {
|
|
129
|
-
const [currentConversationID, setCurrentConversationID] = useState<string>('');
|
|
130
130
|
const [moduleValue, setModuleValue] = useState('chats');
|
|
131
131
|
const { t } = useTranslation();
|
|
132
|
-
|
|
133
132
|
const {
|
|
134
|
-
children,
|
|
133
|
+
children,
|
|
134
|
+
chat = TUILogin.getContext().chat,
|
|
135
|
+
customClasses,
|
|
136
|
+
activeConversation,
|
|
137
|
+
language = 'en',
|
|
135
138
|
} = props;
|
|
139
|
+
|
|
136
140
|
(window as any).tencent_cloud_im_csig_react_uikit_23F_xa = true;
|
|
137
141
|
const {
|
|
138
142
|
conversation,
|
|
@@ -161,21 +165,21 @@ export function TUIKit<
|
|
|
161
165
|
});
|
|
162
166
|
useEffect(() => {
|
|
163
167
|
TUIStore.watch(StoreName.CONV, {
|
|
164
|
-
|
|
168
|
+
currentConversation: onCurrentConversation,
|
|
165
169
|
});
|
|
166
170
|
return () => {
|
|
167
171
|
TUIStore.unwatch(StoreName.CONV, {
|
|
168
|
-
|
|
172
|
+
currentConversation: onCurrentConversation,
|
|
169
173
|
});
|
|
170
174
|
};
|
|
171
175
|
}, []);
|
|
172
176
|
|
|
173
|
-
const onCurrentConversationID = (id: string) => {
|
|
174
|
-
setCurrentConversationID(id);
|
|
175
|
-
};
|
|
176
177
|
const switchTabbar = (value: string) => {
|
|
177
178
|
setModuleValue(value);
|
|
178
179
|
};
|
|
180
|
+
const onCurrentConversation = (conversationModel: IConversationModel) => {
|
|
181
|
+
setActiveConversation(conversationModel?.getConversation());
|
|
182
|
+
};
|
|
179
183
|
|
|
180
184
|
const tabbarRender = (
|
|
181
185
|
<div className="sample-chat-tab">
|
|
@@ -200,8 +204,23 @@ export function TUIKit<
|
|
|
200
204
|
return (
|
|
201
205
|
<TUIKitProvider value={chatContextValue}>
|
|
202
206
|
<div className="tui-kit">
|
|
203
|
-
{children ||
|
|
204
|
-
|
|
207
|
+
{children ||
|
|
208
|
+
(isPC && (
|
|
209
|
+
<RenderForPC
|
|
210
|
+
moduleValue={moduleValue}
|
|
211
|
+
tabbarRender={tabbarRender}
|
|
212
|
+
setModuleValue={setModuleValue}
|
|
213
|
+
/>
|
|
214
|
+
)) ||
|
|
215
|
+
(isH5 && (
|
|
216
|
+
<RenderForH5
|
|
217
|
+
contactData={contactData}
|
|
218
|
+
moduleValue={moduleValue}
|
|
219
|
+
tabbarRender={tabbarRender}
|
|
220
|
+
currentConversationID={conversation?.conversationID || ''}
|
|
221
|
+
setModuleValue={setModuleValue}
|
|
222
|
+
/>
|
|
223
|
+
))}
|
|
205
224
|
</div>
|
|
206
225
|
</TUIKitProvider>
|
|
207
226
|
);
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import React, { useState, useCallback, useEffect } from 'react';
|
|
2
|
+
import {
|
|
3
|
+
TUIStore,
|
|
4
|
+
StoreName,
|
|
5
|
+
} from '@tencentcloud/chat-uikit-engine';
|
|
2
6
|
import { useTranslation } from 'react-i18next';
|
|
3
7
|
import {
|
|
4
8
|
ChatSDK,
|
|
@@ -50,12 +54,12 @@ export const useTUIKit = ({
|
|
|
50
54
|
|
|
51
55
|
useEffect(() => {
|
|
52
56
|
i18n.changeLanguage(language);
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}, [
|
|
57
|
+
TUIStore.watch(StoreName.USER, {
|
|
58
|
+
userProfile: (userProfileData: any) => {
|
|
59
|
+
setMyProfile(userProfileData);
|
|
60
|
+
},
|
|
61
|
+
});
|
|
62
|
+
}, [language]);
|
|
59
63
|
const setActiveConversation = useCallback(
|
|
60
64
|
(activeConversation?: Conversation) => {
|
|
61
65
|
if (activeConversation) {
|
|
@@ -2,6 +2,7 @@ import React, { PropsWithChildren, useEffect, useState } from 'react';
|
|
|
2
2
|
import { useTranslation } from 'react-i18next';
|
|
3
3
|
import DatePicker from 'react-date-picker';
|
|
4
4
|
import TencentCloudChat, { Profile } from '@tencentcloud/chat';
|
|
5
|
+
import { UpdateMyProfileParams } from "@tencentcloud/chat-uikit-engine";
|
|
5
6
|
import { isH5 } from '../../utils/env';
|
|
6
7
|
import { useTUIKitContext } from '../../context';
|
|
7
8
|
|
|
@@ -9,7 +10,6 @@ import { Avatar } from '../Avatar';
|
|
|
9
10
|
import { DivWithEdit } from '../DivWithEdit';
|
|
10
11
|
import { Icon, IconTypes } from '../Icon';
|
|
11
12
|
import { handleDisplayAvatar } from '../untils';
|
|
12
|
-
import { ProfileParams } from './hooks';
|
|
13
13
|
|
|
14
14
|
const gender: any = {
|
|
15
15
|
[TencentCloudChat.TYPES.GENDER_UNKNOWN]: 'unknow',
|
|
@@ -59,7 +59,7 @@ const allowTypeList = [
|
|
|
59
59
|
|
|
60
60
|
export interface TUIProfileDefaultProps {
|
|
61
61
|
userInfo?: Profile,
|
|
62
|
-
update?: (option:
|
|
62
|
+
update?: (option: UpdateMyProfileParams) => void,
|
|
63
63
|
className?: string,
|
|
64
64
|
}
|
|
65
65
|
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
|
|
1
|
+
import { useEffect, useState } from 'react';
|
|
2
|
+
import { Profile } from '@tencentcloud/chat';
|
|
3
|
+
import {
|
|
4
|
+
TUIUserService,
|
|
5
|
+
TUIStore,
|
|
6
|
+
StoreName,
|
|
7
|
+
UpdateMyProfileParams,
|
|
8
|
+
} from "@tencentcloud/chat-uikit-engine";
|
|
5
9
|
export interface ProfileParams {
|
|
6
10
|
nick?: string,
|
|
7
11
|
avatar?: string,
|
|
@@ -19,43 +23,21 @@ export interface ProfileParams {
|
|
|
19
23
|
}
|
|
20
24
|
|
|
21
25
|
export function useMyProfile() {
|
|
22
|
-
const [myProfile,
|
|
23
|
-
const { chat, myProfile: contextProfile } = useTUIKitContext('useMyProfile');
|
|
24
|
-
|
|
25
|
-
const getMyProfile = useCallback(async () => {
|
|
26
|
-
if (contextProfile) {
|
|
27
|
-
setMyPofile(contextProfile);
|
|
28
|
-
} else {
|
|
29
|
-
const res = await chat?.getMyProfile();
|
|
30
|
-
setMyPofile(res?.data);
|
|
31
|
-
}
|
|
32
|
-
}, [chat]);
|
|
26
|
+
const [myProfile, setMyProfile] = useState<Profile>();
|
|
33
27
|
|
|
34
|
-
const updateMyProfile =
|
|
35
|
-
|
|
28
|
+
const updateMyProfile = (options: UpdateMyProfileParams) => {
|
|
29
|
+
TUIUserService.updateMyProfile(options);
|
|
36
30
|
const userInfo: any = { ...myProfile };
|
|
37
|
-
|
|
38
|
-
keys.map((name) => {
|
|
39
|
-
userInfo[name] = res.data[name];
|
|
40
|
-
return name;
|
|
41
|
-
});
|
|
42
|
-
setMyPofile(userInfo);
|
|
43
|
-
return res;
|
|
44
|
-
}, [chat]);
|
|
45
|
-
|
|
46
|
-
const onProfileUpdated = (event: any) => {
|
|
47
|
-
console.log('onProfileUpdated', event.data);
|
|
31
|
+
setMyProfile(userInfo);
|
|
48
32
|
};
|
|
49
33
|
|
|
50
34
|
useEffect(() => {
|
|
51
|
-
(
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
};
|
|
58
|
-
}, [chat]);
|
|
35
|
+
TUIStore.watch(StoreName.USER, {
|
|
36
|
+
userProfile: (userProfileData: any) => {
|
|
37
|
+
setMyProfile(userProfileData);
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
}, []);
|
|
59
41
|
|
|
60
42
|
return {
|
|
61
43
|
myProfile,
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
interface ProfileParams {
|
|
2
|
-
nick?: string;
|
|
3
|
-
avatar?: string;
|
|
4
|
-
gender?: string;
|
|
5
|
-
selfSignature?: string;
|
|
6
|
-
allowType?: string;
|
|
7
|
-
birthday?: number;
|
|
8
|
-
location?: string;
|
|
9
|
-
language?: string;
|
|
10
|
-
messageSettings?: number;
|
|
11
|
-
adminForbidType?: string;
|
|
12
|
-
level?: number;
|
|
13
|
-
role?: number;
|
|
14
|
-
profileCustomField?: Array<any>;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export { ProfileParams };
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
interface ProfileParams {
|
|
2
|
-
nick?: string;
|
|
3
|
-
avatar?: string;
|
|
4
|
-
gender?: string;
|
|
5
|
-
selfSignature?: string;
|
|
6
|
-
allowType?: string;
|
|
7
|
-
birthday?: number;
|
|
8
|
-
location?: string;
|
|
9
|
-
language?: string;
|
|
10
|
-
messageSettings?: number;
|
|
11
|
-
adminForbidType?: string;
|
|
12
|
-
level?: number;
|
|
13
|
-
role?: number;
|
|
14
|
-
profileCustomField?: Array<any>;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export { ProfileParams };
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import React, { useState, useEffect } from 'react';
|
|
2
|
-
import { ChatSDK, Profile } from '@tencentcloud/chat';
|
|
3
|
-
|
|
4
|
-
export function useProfile(chat: ChatSDK, profileHandler?: (
|
|
5
|
-
profile: Profile,
|
|
6
|
-
setProfile?: React.Dispatch<React.SetStateAction<Profile>>,
|
|
7
|
-
) => void) {
|
|
8
|
-
const [myProfile, setMyProfile] = useState<Profile>();
|
|
9
|
-
|
|
10
|
-
const getProfile = async (userIDList: Array<string>) => {
|
|
11
|
-
const res = await chat?.getUserProfile({
|
|
12
|
-
userIDList,
|
|
13
|
-
});
|
|
14
|
-
return res.data;
|
|
15
|
-
};
|
|
16
|
-
const getMyProfile = async () => {
|
|
17
|
-
const res = await chat?.getMyProfile();
|
|
18
|
-
setMyProfile(res?.data);
|
|
19
|
-
};
|
|
20
|
-
useEffect(() => {
|
|
21
|
-
getMyProfile();
|
|
22
|
-
}, [chat]);
|
|
23
|
-
return {
|
|
24
|
-
myProfile,
|
|
25
|
-
setMyProfile,
|
|
26
|
-
getProfile,
|
|
27
|
-
};
|
|
28
|
-
}
|