forgeplus-react/src/forge/Activity/ActivityItem.js

62 lines
2.6 KiB
JavaScript
Raw Normal View History

2020-07-06 16:11:44 +08:00
import React, { Component } from 'react';
import { Link } from 'react-router-dom';
2020-03-16 14:12:11 +08:00
import './activity.css';
import { getImageUrl } from 'educoder';
import { truncateCommitId } from "../common/util";
2020-03-16 14:12:11 +08:00
2020-07-06 16:11:44 +08:00
class ActivityItem extends Component {
render() {
2020-08-12 18:13:18 +08:00
const { projectsId ,owner } = this.props.match.params;
2020-03-16 14:12:11 +08:00
const { item } = this.props;
2020-07-06 16:11:44 +08:00
return (
<div className="activity_item">
<div className="flex1">
2020-03-16 14:12:11 +08:00
{/* 如果是版本发布 */}
2020-07-06 16:11:44 +08:00
{item.trend_type === "VersionRelease" ?
<p className="itemLine">
2021-12-01 18:04:49 +08:00
<Link to={`/${owner}/${projectsId}/releases`} className="font-16">{item.name}</Link>
2020-07-06 16:11:44 +08:00
<span className="activity_type">{item.trend_type}</span>
2020-03-16 14:12:11 +08:00
</p >
:
2020-04-09 18:13:26 +08:00
// 如果是任务
2020-07-06 16:11:44 +08:00
item.trend_type === "Issue" ?
<p className="itemLine">
2021-12-01 18:04:49 +08:00
<Link to={`/${owner}/${projectsId}/issues/${item.trend_id}`} className="font-16">{item.name}</Link>
2020-07-06 16:11:44 +08:00
<span className="activity_type">{item.trend_type}</span>
</p >
:
// 如果是commit--CommitLog
item.trend_type === "CommitLog" ?
<p className="itemLine">
<Link to={`/${owner}/${projectsId}/commits/${item.commit_log && truncateCommitId(item.commit_log.commit_id)}`} className="font-16">{item.name}</Link>
<span className="activity_type">{item.trend_type}</span>
</p >
:
2020-07-06 16:11:44 +08:00
// 如果是合并请求
<p className="itemLine">
<Link to={`/${item.project && item.project.owner&& item.project.owner.login}/${item.project && item.project.identifier}/pulls/${item.trend_id}`} className="font-16">{item.name}</Link>
2020-07-06 16:11:44 +08:00
<span className="activity_type">{item.trend_type}</span>
</p >
2020-03-16 14:12:11 +08:00
}
2020-08-18 16:56:52 +08:00
<p className="itemLine mt10">
{
item && item.user_login ?
<Link to={`/${item.user_login}`} className="show-user-link">
<img alt="" src={getImageUrl(`/${item.user_avatar}`)} className="createImage" />
<span className="mr20">{item.user_name}</span>
</Link>
:
<span className="show-user-link">
<img alt="" src={getImageUrl(`/${item.user_avatar}`)} className="createImage" />
<span className="mr20 color-grey-6">{item.user_name}</span>
</span>
}
2020-07-06 16:11:44 +08:00
{item.created_at && <span className="color-grey-9">创建于<span className="ml2 color-grey-6">{item.created_at}</span></span>}
</p >
</div>
</div>
2020-03-16 14:12:11 +08:00
)
}
}
export default ActivityItem;