|
|
|
@ -12,23 +12,33 @@ dayjs.extend(utc);
|
|
|
|
|
dayjs.extend(timezone);
|
|
|
|
|
dayjs.extend(relativeTime);
|
|
|
|
|
|
|
|
|
|
const ExpireTimeClock = () => {
|
|
|
|
|
const currentConversation = useConversationStore((state) => state.currentConversation);
|
|
|
|
|
const ExpireTimeClock = ({ expireTime }) => {
|
|
|
|
|
// const expireTime = useConversationStore((state) => state.currentConversation.conversation_expiretime);
|
|
|
|
|
|
|
|
|
|
const [customerDateTime, setCustomerDateTime] = useState();
|
|
|
|
|
const [customerDateTime, setCustomerDateTime] = useState('');
|
|
|
|
|
const [isExpired, setIsExpired] = useState(false);
|
|
|
|
|
|
|
|
|
|
useEffect(() => {
|
|
|
|
|
const intervalId = setInterval(() => {
|
|
|
|
|
setCustomerDateTime(dayjs(currentConversation.conversation_expireTime).tz('Asia/Shanghai').fromNow());
|
|
|
|
|
}, 1000); // Update every second
|
|
|
|
|
// .tz('Asia/Shanghai') UTC 时间转换成 Asia/Shanghai 时区时间 GMT+8
|
|
|
|
|
setCustomerDateTime(dayjs(expireTime).add(8, 'hours').fromNow());
|
|
|
|
|
}, 1000);
|
|
|
|
|
return () => clearInterval(intervalId);
|
|
|
|
|
}, []);
|
|
|
|
|
}, [expireTime]);
|
|
|
|
|
|
|
|
|
|
return currentConversation.conversation_expireTime ? (
|
|
|
|
|
useEffect(() => {
|
|
|
|
|
const _ago = customerDateTime.slice(-3) === 'ago';
|
|
|
|
|
setIsExpired(_ago);
|
|
|
|
|
|
|
|
|
|
return () => {};
|
|
|
|
|
}, [customerDateTime]);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return expireTime && !isExpired ? (
|
|
|
|
|
<>
|
|
|
|
|
<Typography.Text className='text-primary'>
|
|
|
|
|
<Typography.Text className={'text-primary'}>
|
|
|
|
|
<ClockCircleOutlined className='px-1' />
|
|
|
|
|
Expire {customerDateTime}
|
|
|
|
|
{isExpired ? 'Expired' : 'Expire'} {customerDateTime}
|
|
|
|
|
</Typography.Text>
|
|
|
|
|
</>
|
|
|
|
|
) : null;
|
|
|
|
|