整理 ConversationContext .

todo: 使用 useContext useReducer 管理事件触发更新状态
dev/chat
Lei OT 1 year ago
parent 3f31656630
commit d8a88be180

@ -62,7 +62,7 @@ export const useConversations = () => {
useEffect(() => {
getConversationsList();
// getTemplates();
getTemplates();
return () => {};
}, []);
@ -90,7 +90,7 @@ export const useConversations = () => {
const [templatesList, setTemplatesList] = useState([]);
const getTemplates = async () => {
const data = await fetchJSON(`${API_HOST}/listtemplates`);
const canUseTemplates = (data?.result?.items || []).filter((_t) => _t.status !== 'REJECTED');
const canUseTemplates = (data?.result?.items || []).filter((_t) => _t.status !== 'REJECTED').map((ele) => ({ ...ele, components: groupBy(ele.components, (_c) => _c.type.toLowerCase()) }));
setTemplatesList(canUseTemplates);
};
@ -163,7 +163,7 @@ export const useConversations = () => {
setMessages((prevMessages) => {
return prevMessages.map(ele => {
if (ele.id === message.id) {
return {...ele, id: message.id, status: message.status};
return {...ele, id: message.id, status: message.status}; // todo: renderId 需要返回
}
return ele;
});
@ -214,8 +214,8 @@ export const useConversations = () => {
sendMessage,
getConversationsList,
switchConversation,
// templates: templatesList, // setTemplates, getTemplates,
templates, // debug: 0
templates: templatesList, // setTemplates, getTemplates,
// templates, // debug: 0
customerOrderProfile,
};
};

@ -7,7 +7,7 @@ import ConversationsList from './Components/ConversationsList';
import CustomerProfile from './Components/CustomerProfile';
import LocalTimeClock from './Components/LocalTimeClock';
import { useConversationContext } from '@/stores/ConversationContext';
import { useConversationContext } from '@/stores/Conversations/ConversationContext';
import './Conversations.css';
import { useAuthContext } from '@/stores/AuthContext.js';

@ -1,7 +1,7 @@
import { useRef, useEffect, useState } from 'react';
import { observer } from 'mobx-react';
import { List, Avatar, Flex } from 'antd';
import { useConversationContext } from '@/stores/ConversationContext';
import { useConversationContext } from '@/stores/Conversations/ConversationContext';
import { ChatItem, ChatList } from 'react-chat-elements';
import { useGetJson } from '@/hooks/userFetch';
/**

@ -1,7 +1,7 @@
import { observer } from 'mobx-react';
import { Card, Flex, Avatar, Typography, Radio, Button, Table } from 'antd';
import { useAuthContext } from '@/stores/AuthContext.js';
import { useConversationContext } from '@/stores/ConversationContext';
import { useConversationContext } from '@/stores/Conversations/ConversationContext';
import {
HomeOutlined,
LoadingOutlined,

@ -2,7 +2,7 @@ import React, { useEffect, useState } from 'react';
import { observer } from 'mobx-react';
import { Input, Button, Tabs, List, Space, Popover, Flex } from 'antd';
// import { Input } from 'react-chat-elements';
import { useConversationContext } from '@/stores/ConversationContext';
import { useConversationContext } from '@/stores/Conversations/ConversationContext';
import { LikeOutlined, MessageOutlined, StarOutlined, SendOutlined, PlusOutlined, PlusCircleOutlined } from '@ant-design/icons';
import { isEmpty } from '@/utils/utils';

@ -1,7 +1,7 @@
import { useEffect, useState } from 'react';
import { observer } from 'mobx-react';
import { Typography } from 'antd';
import { useConversationContext } from '@/stores/ConversationContext';
import { useConversationContext } from '@/stores/Conversations/ConversationContext';
const LocalTimeClock = observer((props) => {
const { customerOrderProfile: orderInfo } = useConversationContext();

@ -2,7 +2,7 @@ import { useEffect, useState, useRef } from 'react';
import { observer } from 'mobx-react';
import { List, Avatar, Timeline, Image } from 'antd';
import { MessageBox } from 'react-chat-elements';
import { useConversationContext } from '@/stores/ConversationContext';
import { useConversationContext } from '@/stores/Conversations/ConversationContext';
const Messages = observer(() => {
const { messages: messagesList } = useConversationContext();

@ -1,4 +1,4 @@
import { ConversationContext, useConversations, } from '@/stores/ConversationContext';
import { ConversationContext, useConversations, } from '@/stores/Conversations/ConversationContext';
export const ConversationProvider = ({ children }) => {

Loading…
Cancel
Save