diff --git a/src/components/message-chat/base/index.tsx b/src/components/message-chat/base/index.tsx
index 744638e..515877b 100644
--- a/src/components/message-chat/base/index.tsx
+++ b/src/components/message-chat/base/index.tsx
@@ -2,13 +2,13 @@ import { Image } from '@tarojs/components';
import classNames from 'classnames';
import { PropsWithChildren, useEffect, useState, useCallback } from 'react';
-import { MaterialViewSource } from '@/constants/material';
+import { PageUrl } from '@/constants/app';
+import { MaterialViewSource } from '@/constants/material';
import useUserInfo from '@/hooks/use-user-info';
import { IChatMessage } from '@/types/message';
import { getScrollItemId } from '@/utils/common';
import { navigateTo } from '@/utils/route';
-import { PageUrl } from '@/constants/app';
import './index.less';
@@ -19,12 +19,13 @@ export interface IBaseMessageProps {
export interface IUserMessageProps extends PropsWithChildren, IBaseMessageProps {
isRead?: boolean;
+ resumeId?: string;
}
const PREFIX = 'base-message';
function BaseMessage(props: IUserMessageProps) {
- const { id, message, isRead: isReadProps, children } = props;
+ const { id, message, isRead: isReadProps, children, resumeId } = props;
const { userId } = useUserInfo();
const [isRead, setIsRead] = useState(message.isRead);
const isSender = message.senderUserId === userId;
@@ -37,10 +38,12 @@ function BaseMessage(props: IUserMessageProps) {
// const timer = setTimeout(() => setIsRead(true), 1200);
// return () => clearTimeout(timer);
// }, [isSender]);
- const handleClick = useCallback(
- () => navigateTo(PageUrl.MaterialView, { resumeId: message.jobId, source: MaterialViewSource.Chat }),
- [message.jobId]
- );
+ const handleClick = useCallback(() => {
+ if (!resumeId || isSender) {
+ return;
+ }
+ navigateTo(PageUrl.MaterialView, { resumeId: resumeId, source: MaterialViewSource.Chat });
+ }, [resumeId, isSender]);
useEffect(() => {
if (isRead) {
return;
@@ -53,6 +56,7 @@ function BaseMessage(props: IUserMessageProps) {