|
|
|
@ -57,8 +57,9 @@ const InputComposer = ({ mobile }) => {
|
|
|
|
|
const sentOrReceivedNewMessage = useConversationStore((state) => state.sentOrReceivedNewMessage);
|
|
|
|
|
|
|
|
|
|
const talkabled = !isEmpty(currentConversation.sn) && websocketOpened;
|
|
|
|
|
const isExpired = dayjs(currentConversation.conversation_expiretime).add(8, 'hours').isBefore(dayjs());
|
|
|
|
|
const gt24h = currentConversation.last_received_time ? dayjs().diff(dayjs(currentConversation.last_received_time), 'hour') > 24 : true;
|
|
|
|
|
const textabled = talkabled && !gt24h;
|
|
|
|
|
const textabled = talkabled && (!gt24h || !isExpired); // 只要有一个时间没过期, 目前未知明确规则
|
|
|
|
|
|
|
|
|
|
const textInputRef = useRef(null);
|
|
|
|
|
const [textContent, setTextContent] = useState('');
|
|
|
|
@ -252,14 +253,20 @@ const InputComposer = ({ mobile }) => {
|
|
|
|
|
size='large'
|
|
|
|
|
maxLength={2000}
|
|
|
|
|
showCount={textabled}
|
|
|
|
|
placeholder={gt24h ? 'This session has expired. Please send a template message to activate the session' : 'Enter 发送, Shift+Enter 换行\n支持复制粘贴 [截图/文件] 以备发送'}
|
|
|
|
|
placeholder={
|
|
|
|
|
gt24h
|
|
|
|
|
? 'This session has expired. Please send a template message to activate the session'
|
|
|
|
|
: mobile === undefined
|
|
|
|
|
? 'Enter 发送, Shift+Enter 换行\n支持复制粘贴 [截图/文件] 以备发送'
|
|
|
|
|
: 'Enter 换行, 点击 Send 发送'
|
|
|
|
|
}
|
|
|
|
|
rows={2}
|
|
|
|
|
disabled={!textabled}
|
|
|
|
|
value={textContent}
|
|
|
|
|
onChange={(e) => setTextContent(e.target.value)}
|
|
|
|
|
className='rounded-b-none emoji'
|
|
|
|
|
onPressEnter={(e) => {
|
|
|
|
|
if (!e.shiftKey) {
|
|
|
|
|
if (!e.shiftKey && mobile === undefined) {
|
|
|
|
|
e.preventDefault();
|
|
|
|
|
handleSendText();
|
|
|
|
|
}
|
|
|
|
|