feat: resume
This commit is contained in:
parent
fd5b3dab97
commit
828497fcd6
@ -31,7 +31,7 @@ import {
|
||||
PostMessageRequest,
|
||||
} from '@/types/message';
|
||||
import { isAnchorMode } from '@/utils/app';
|
||||
import { getScrollItemId, last, logWithPrefix, safeJsonParse } from '@/utils/common';
|
||||
import { getScrollItemId, last, logWithPrefix } from '@/utils/common';
|
||||
import { collectEvent } from '@/utils/event';
|
||||
import {
|
||||
isExchangeMessage,
|
||||
@ -55,7 +55,6 @@ import Toast from '@/utils/toast';
|
||||
import { getUserId } from '@/utils/user';
|
||||
|
||||
import './index.less';
|
||||
import useUserInfo from '@/hooks/use-user-info';
|
||||
|
||||
const PREFIX = 'page-message-chat';
|
||||
const LIST_CONTAINER_CLASS = `${PREFIX}__chat-list`;
|
||||
@ -86,19 +85,8 @@ const getHeaderLeftButtonText = (job?: IJobMessage, material?: IMaterialMessage)
|
||||
return isAnchorMode() ? '不感兴趣' : '标记为不合适';
|
||||
};
|
||||
|
||||
const getResumeId = (messages: IChatMessage[], userId?: string) => {
|
||||
const resumeStr = messages.find(it => it.type === MessageType.Material && it.senderUserId !== userId)?.actionObject;
|
||||
if (resumeStr) {
|
||||
const { id } = safeJsonParse(resumeStr);
|
||||
log('resumeId', id);
|
||||
return id;
|
||||
}
|
||||
return undefined;
|
||||
};
|
||||
|
||||
export default function MessageChat() {
|
||||
const listHeight = useListHeight(CALC_LIST_PROPS);
|
||||
const { userId } = useUserInfo();
|
||||
const [input, setInput] = useState('');
|
||||
const [showMore, setShowMore] = useState(false);
|
||||
const [chat, setChat] = useState<IChatInfo | null>(null);
|
||||
@ -107,8 +95,8 @@ export default function MessageChat() {
|
||||
const [messages, setMessages] = useState<IChatMessage[]>([]);
|
||||
const [messageStatusList, setMessageStatusList] = useState<IMessageStatus[]>([]);
|
||||
const [jobId, setJobId] = useState<string>();
|
||||
const [resumeId, setResumeId] = useState<string>();
|
||||
const [job, setJob] = useState<IJobMessage>();
|
||||
const [resumeId, setResumeId] = useState<string | undefined>();
|
||||
const [material, setMaterial] = useState<IMaterialMessage>();
|
||||
const [scrollItemId, setScrollItemId] = useState<string>();
|
||||
const scrollToLowerRef = useRef(false);
|
||||
@ -265,14 +253,6 @@ export default function MessageChat() {
|
||||
// };
|
||||
// }, []);
|
||||
|
||||
useEffect(() => {
|
||||
if (resumeId) {
|
||||
return;
|
||||
}
|
||||
|
||||
setResumeId(getResumeId(messages, userId));
|
||||
}, [messages, resumeId, userId]);
|
||||
|
||||
useEffect(() => {
|
||||
if (!chat) {
|
||||
return;
|
||||
@ -319,6 +299,7 @@ export default function MessageChat() {
|
||||
const parseMaterial = query.material ? parseQuery<IMaterialMessage>(query.material) : null;
|
||||
// log('requestChatDetail', chatDetail, parseJob, parseMaterial);
|
||||
setChat(chatDetail);
|
||||
setResumeId(chatDetail.participants.find(u => u.userId !== currentUserId)?.resumeId);
|
||||
setJobId(query.jobId);
|
||||
setMessages(chatDetail.messages);
|
||||
setScrollItemId(getScrollItemId(last(chatDetail.messages)?.msgId));
|
||||
|
@ -43,7 +43,9 @@ export interface ILocationMessage {
|
||||
longitude: number;
|
||||
}
|
||||
|
||||
export interface IChatUser extends Pick<UserInfo, 'userId' | 'nickName'> {}
|
||||
export interface IChatUser extends Pick<UserInfo, 'userId' | 'nickName'> {
|
||||
resumeId: string;
|
||||
}
|
||||
|
||||
export interface IChatMessage {
|
||||
msgId: string;
|
||||
|
Loading…
Reference in New Issue
Block a user