|
@@ -5,9 +5,16 @@ import Assets from '@src/components/Assets';
|
|
|
import Button from '../Button';
|
|
|
import './index.less';
|
|
|
import { User } from '../../stores/user';
|
|
|
+import { formatDate } from '../../../../src/services/Tools';
|
|
|
|
|
|
function Header(props) {
|
|
|
const { tabs = [], active, user } = props;
|
|
|
+ const { info } = user;
|
|
|
+ let inviteStatus = false;
|
|
|
+ if (info.login) {
|
|
|
+ const inviteDate = new Date(info.inviteLatestTime);
|
|
|
+ inviteStatus = (inviteDate.getTime() - new Date().getTime) > 864000000;
|
|
|
+ }
|
|
|
return (
|
|
|
<div id="header">
|
|
|
<div className="body">
|
|
@@ -32,37 +39,47 @@ function Header(props) {
|
|
|
overlayClassName="header-user-overlay"
|
|
|
overlay={
|
|
|
<div className="list">
|
|
|
- <div className="item more">
|
|
|
+ <div className={`item ${info.previewNumber > 0 ? 'more' : ''}`} onClick={() => linkTo('/my/course')}>
|
|
|
<div className="t-1">
|
|
|
<Assets name="course" svg />
|
|
|
课程
|
|
|
</div>
|
|
|
- <div className="t-s-12 nowrap">
|
|
|
- <span className="t-4">3</span> 份作业待完成
|
|
|
- </div>
|
|
|
+ {info.previewNumber > 0 && <div className="t-s-12 nowrap" onClick={(e) => {
|
|
|
+ e.stopPropagation();
|
|
|
+ linkTo('exercise?tab=course');
|
|
|
+ }}>
|
|
|
+ <span className="t-4">{info.previewNumber}</span> 份作业待完成
|
|
|
+ </div>}
|
|
|
</div>
|
|
|
- <div className="item more">
|
|
|
+ <div className={`item ${info.textbook ? 'more' : ''}`} onClick={() => linkTo('/textbook')}>
|
|
|
<div className="t-1">
|
|
|
<Assets name="jijing" svg />
|
|
|
机经
|
|
|
</div>
|
|
|
- <div className="t-s-12 nowrap">最近更新:2019-02-20</div>
|
|
|
+ {info.textbook && <div className="t-s-12 nowrap">最近更新:{formatDate(info.textbook, 'YYYY-MM-DD')}</div>}
|
|
|
</div>
|
|
|
- <div className="item more">
|
|
|
+ <div className={`item ${inviteStatus ? 'more' : ''}`}>
|
|
|
<div className="t-1">
|
|
|
<Assets name="yaoqing" svg />
|
|
|
邀请好友
|
|
|
</div>
|
|
|
- <div className="t-s-12 nowrap">第 1 位好友加入</div>
|
|
|
+ {inviteStatus && <div className="t-s-12 nowrap">第{info.inviteNumber}位好友加入</div>}
|
|
|
</div>
|
|
|
- <div className="item more">
|
|
|
+ <div className={`item ${info.messageNumber > 0 ? 'more' : ''}`} onClick={() => linkTo('/my/message')}>
|
|
|
<div className="t-1">
|
|
|
- <Assets name="message" svg />
|
|
|
+ <Assets name="massage" svg />
|
|
|
消息
|
|
|
</div>
|
|
|
- <div className="t-s-12 nowrap">到期提醒: 内容前6个字…</div>
|
|
|
+ {info.messageNumber > 0 && <div className="t-s-12 nowrap" onClick={(e) => {
|
|
|
+ e.stopPropagation();
|
|
|
+ if (info.messages[0].link) {
|
|
|
+ linkTo(info.messages[0].link);
|
|
|
+ } else {
|
|
|
+ linkTo('/my/message');
|
|
|
+ }
|
|
|
+ }}>{info.messages[0].title}{info.messages[1].content}</div>}
|
|
|
</div>
|
|
|
- <div className="item">
|
|
|
+ <div className="item" onClick={() => User.logout()}>
|
|
|
<div className="t-1">
|
|
|
<Assets name="exit" svg />
|
|
|
退出
|
|
@@ -76,13 +93,11 @@ function Header(props) {
|
|
|
<span className="t-2 f-s-12">{user.info.nickname}</span>
|
|
|
</Link>
|
|
|
</Dropdown>
|
|
|
- ) : (
|
|
|
- <Button
|
|
|
- onClick={() => {
|
|
|
- User.needLogin();
|
|
|
- }}
|
|
|
- >
|
|
|
- 登录
|
|
|
+ ) : (<Button onClick={() => {
|
|
|
+ User.needLogin();
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ 登录
|
|
|
</Button>
|
|
|
)}
|
|
|
</div>
|