forked from Gitlink/forgeplus-react
Merge pull request '添加一些功能和修复相关问题' (#196) from pre_develop_dev into pre_develop
This commit is contained in:
commit
12f97cce62
|
@ -2,7 +2,7 @@ import React , { useState , useEffect } from 'react';
|
||||||
import { Input , Spin , Menu } from 'antd';
|
import { Input , Spin , Menu } from 'antd';
|
||||||
import { getBranch , getTag } from '../GetData/getData';
|
import { getBranch , getTag } from '../GetData/getData';
|
||||||
|
|
||||||
function SelectOverlay({ changeBranch , tagflag , branchList , projectsId , owner , visible }) {
|
function SelectOverlay({ changeBranch , tagflag , projectsId , owner , visible }) {
|
||||||
const [ inputValue , setInputValue] = useState(undefined);
|
const [ inputValue , setInputValue] = useState(undefined);
|
||||||
const [ nav , setNav ] = useState(0);
|
const [ nav , setNav ] = useState(0);
|
||||||
const [ isSpin , setIsSpin ] = useState(true);
|
const [ isSpin , setIsSpin ] = useState(true);
|
||||||
|
@ -11,21 +11,13 @@ function SelectOverlay({ changeBranch , tagflag , branchList , projectsId , owne
|
||||||
const [ datas , setDatas ] = useState(undefined);
|
const [ datas , setDatas ] = useState(undefined);
|
||||||
const [ keys ,setKeys] = useState("branch");
|
const [ keys ,setKeys] = useState("branch");
|
||||||
|
|
||||||
// useEffect(()=>{
|
|
||||||
// if(visible){
|
|
||||||
// setKeys("branch");
|
|
||||||
// getBranchs(projectsId,owner);
|
|
||||||
// setIsSpin(true);
|
|
||||||
// }
|
|
||||||
// },[visible])
|
|
||||||
|
|
||||||
useEffect(()=>{
|
useEffect(()=>{
|
||||||
if(branchList){
|
if(visible){
|
||||||
setData(branchList);
|
setKeys("branch");
|
||||||
setDatas(branchList);
|
getBranchs(projectsId,owner);
|
||||||
setIsSpin(false);
|
setIsSpin(true);
|
||||||
}
|
}
|
||||||
},[branchList])
|
},[visible])
|
||||||
|
|
||||||
async function getBranchs(id,owner){
|
async function getBranchs(id,owner){
|
||||||
let result = await getBranch(id,owner);
|
let result = await getBranch(id,owner);
|
||||||
|
|
|
@ -12,26 +12,15 @@ function SystemNotice({system_notification,history}){
|
||||||
if(system_notification && !cookie.load('notice_stage')){
|
if(system_notification && !cookie.load('notice_stage')){
|
||||||
setVisible(true);
|
setVisible(true);
|
||||||
}
|
}
|
||||||
},[system_notification])
|
},[system_notification,history.location])
|
||||||
|
|
||||||
function sureContinue() {
|
function sureContinue() {
|
||||||
// if(login && ( system_notification && system_notification.id )){
|
|
||||||
// const url = `/users/${login}/system_notification_histories.json`;
|
|
||||||
// axios.post(url,{
|
|
||||||
// system_notification_id:system_notification.id
|
|
||||||
// }).then(result=>{
|
|
||||||
// if(result && result.status === 0){
|
|
||||||
// setVisible(false);
|
|
||||||
// hideSystemNotice();
|
|
||||||
// }
|
|
||||||
// }).catch(error=>{})
|
|
||||||
// }
|
|
||||||
console.log("cookies before:",cookie.load('notice_stage')) ;
|
|
||||||
cookie.remove('notice_stage');
|
cookie.remove('notice_stage');
|
||||||
|
|
||||||
let inFifteenMinutes = new Date(new Date().getTime() + 24 * 3600 * 1000);//一天
|
let inFifteenMinutes = new Date(new Date().getTime() + 24 * 3600 * 1000);//一天
|
||||||
// let inFifteenMinutes = new Date(new Date().getTime() + 60 * 1000);//一分钟
|
// let inFifteenMinutes = new Date(new Date().getTime() + 60 * 1000);//一分钟
|
||||||
cookie.save('notice_stage', true,{ expires: inFifteenMinutes });
|
cookie.save('notice_stage', true,{ expires: inFifteenMinutes,path:"/" });
|
||||||
console.log("cookies after:",cookie.load('notice_stage')) ;
|
|
||||||
setVisible(false);
|
setVisible(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -407,14 +407,14 @@ function CoderDepot(props){
|
||||||
<Link to={`/${owner}/${projectsId}/branches`} className="iconBtn">
|
<Link to={`/${owner}/${projectsId}/branches`} className="iconBtn">
|
||||||
<i className="iconfont icon-master_icon font-16"></i>
|
<i className="iconfont icon-master_icon font-16"></i>
|
||||||
<span>分支</span>
|
<span>分支</span>
|
||||||
<span>{projectDetail && projectDetail.branches && projectDetail.branches.total_count}</span>
|
<span>{projectDetail && projectDetail.branches_count}</span>
|
||||||
</Link>
|
</Link>
|
||||||
</AlignCenter>
|
</AlignCenter>
|
||||||
<AlignCenter className="mr20">
|
<AlignCenter className="mr20">
|
||||||
<Link to={`/${owner}/${projectsId}/tags`} className="iconBtn">
|
<Link to={`/${owner}/${projectsId}/tags`} className="iconBtn">
|
||||||
<i className="iconfont icon-biaoqianicon font-16"></i>
|
<i className="iconfont icon-biaoqianicon font-16"></i>
|
||||||
<span>标签</span>
|
<span>标签</span>
|
||||||
<span>{projectDetail && projectDetail.tags && projectDetail.tags.total_count}</span>
|
<span>{projectDetail && projectDetail.tags_count}</span>
|
||||||
</Link>
|
</Link>
|
||||||
</AlignCenter>
|
</AlignCenter>
|
||||||
</React.Fragment>
|
</React.Fragment>
|
||||||
|
|
|
@ -734,7 +734,9 @@ a.color-grey-ccc:hover{
|
||||||
border: 1px solid rgba(42, 97, 255, 0.23);
|
border: 1px solid rgba(42, 97, 255, 0.23);
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
margin-left: 16px;
|
margin-left: 16px;
|
||||||
align-items: center;
|
& .treecopy{
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
& .markdown-body table{
|
& .markdown-body table{
|
||||||
background: #FAFCFF;
|
background: #FAFCFF;
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,9 +22,14 @@
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
}
|
}
|
||||||
.treeinfo{
|
.treeinfo{
|
||||||
max-width: 399px;
|
width: 399px;
|
||||||
flex:1;
|
flex:1;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
&>a{
|
||||||
|
display: block;
|
||||||
|
width: 399px;
|
||||||
|
|
||||||
|
}
|
||||||
a:hover{
|
a:hover{
|
||||||
span{
|
span{
|
||||||
color: #466AFF!important;
|
color: #466AFF!important;
|
||||||
|
|
|
@ -367,7 +367,9 @@ class CreateMerge extends Component {
|
||||||
value={pull}
|
value={pull}
|
||||||
onSelect={(e) => this.selectBrach('pull', e)}
|
onSelect={(e) => this.selectBrach('pull', e)}
|
||||||
showSearch
|
showSearch
|
||||||
className="merge-flex1 flex1"
|
className="merge-flex1 flex1 matchwidth"
|
||||||
|
dropdownMatchSelectWidth={false}
|
||||||
|
dropdownClassName="overlihide"
|
||||||
>
|
>
|
||||||
{this.renderBrances(pullBranches)}
|
{this.renderBrances(pullBranches)}
|
||||||
</Select>
|
</Select>
|
||||||
|
@ -393,7 +395,9 @@ class CreateMerge extends Component {
|
||||||
value={merge}
|
value={merge}
|
||||||
onSelect={(e) => this.selectBrach('merge', e)}
|
onSelect={(e) => this.selectBrach('merge', e)}
|
||||||
showSearch
|
showSearch
|
||||||
className="merge-flex1 flex1"
|
className="merge-flex1 flex1 matchwidth"
|
||||||
|
dropdownMatchSelectWidth={false}
|
||||||
|
dropdownClassName="overlihide"
|
||||||
>
|
>
|
||||||
{this.renderBrances(mergeBranches)}
|
{this.renderBrances(mergeBranches)}
|
||||||
</Select>
|
</Select>
|
||||||
|
|
|
@ -110,7 +110,7 @@ class MergeItem extends Component {
|
||||||
<Tag className="pr-branch-tag">
|
<Tag className="pr-branch-tag">
|
||||||
<Link
|
<Link
|
||||||
to={`/${item.is_original ? item.fork_project_user : owner}/${ item.is_original ? item.fork_project_identifier : projectsId }/tree/${turnbar(item.pull_request_head)}`}
|
to={`/${item.is_original ? item.fork_project_user : owner}/${ item.is_original ? item.fork_project_identifier : projectsId }/tree/${turnbar(item.pull_request_head)}`}
|
||||||
className="maxW200px hide-1 ver-middle"
|
className="maxW200px task-hide ver-middle" style={{maxWidth:"200px"}}
|
||||||
>
|
>
|
||||||
{item.is_original
|
{item.is_original
|
||||||
? item.fork_project_user
|
? item.fork_project_user
|
||||||
|
@ -134,7 +134,7 @@ class MergeItem extends Component {
|
||||||
<Tag className="pr-branch-tag">
|
<Tag className="pr-branch-tag">
|
||||||
<Link
|
<Link
|
||||||
to={`/${owner}/${projectsId}/tree/${turnbar(item.pull_request_base)}`}
|
to={`/${owner}/${projectsId}/tree/${turnbar(item.pull_request_base)}`}
|
||||||
className="maxW200px hide-1 ver-middle"
|
className="maxW200px task-hide ver-middle" style={{maxWidth:"200px"}}
|
||||||
>
|
>
|
||||||
{/* {item.is_fork ? item.pull_request_base : `${item.author_name}:${item.pull_request_base}`} */}
|
{/* {item.is_fork ? item.pull_request_base : `${item.author_name}:${item.pull_request_base}`} */}
|
||||||
{project_author_name}:{item.pull_request_base}
|
{project_author_name}:{item.pull_request_base}
|
||||||
|
|
|
@ -366,7 +366,7 @@ class MessageCount extends Component {
|
||||||
<Tag className="pr-branch-tag">
|
<Tag className="pr-branch-tag">
|
||||||
<Link
|
<Link
|
||||||
to={`/${data.pull_request.is_original ? data.pull_request.fork_project_user : data.issue.project_author_name}/${data.pull_request.is_original?data.project_identifier:projectsId}/tree/${turnbar(data.pull_request && data.pull_request.head)}`}
|
to={`/${data.pull_request.is_original ? data.pull_request.fork_project_user : data.issue.project_author_name}/${data.pull_request.is_original?data.project_identifier:projectsId}/tree/${turnbar(data.pull_request && data.pull_request.head)}`}
|
||||||
className="ver-middle"
|
className="ver-middle task-hide" style={{maxWidth:"200px"}} title={`${data.pull_request.is_original ? data.pull_request.fork_project_user : data.issue.project_author_name}: ${data.pull_request && data.pull_request.head}`}
|
||||||
>
|
>
|
||||||
{data.pull_request.is_original ? data.pull_request.fork_project_user : data.issue.project_author_name}: {data.pull_request && data.pull_request.head}
|
{data.pull_request.is_original ? data.pull_request.fork_project_user : data.issue.project_author_name}: {data.pull_request && data.pull_request.head}
|
||||||
</Link>
|
</Link>
|
||||||
|
@ -381,7 +381,7 @@ class MessageCount extends Component {
|
||||||
<Tag className="pr-branch-tag">
|
<Tag className="pr-branch-tag">
|
||||||
<Link
|
<Link
|
||||||
to={`/${owner}/${projectsId}/tree/${data.pull_request.base}`}
|
to={`/${owner}/${projectsId}/tree/${data.pull_request.base}`}
|
||||||
className="ver-middle"
|
className="ver-middle task-hide" style={{maxWidth:"200px"}} title={`${data.issue.project_author_name}:${data.pull_request.base}`}
|
||||||
>
|
>
|
||||||
{data.issue.project_author_name}:{data.pull_request.base}
|
{data.issue.project_author_name}:{data.pull_request.base}
|
||||||
</Link>
|
</Link>
|
||||||
|
|
|
@ -64,12 +64,12 @@ class UpdateMerge extends Component {
|
||||||
<div className="color-grey-3 mb10 fwb">源分支:</div>
|
<div className="color-grey-3 mb10 fwb">源分支:</div>
|
||||||
|
|
||||||
<Input.Group compact className="display-flex">
|
<Input.Group compact className="display-flex">
|
||||||
<Button className="merge-header-button maxW50 hide-1 task-hide">
|
<Button className="merge-header-button flex1 maxW50 hide-1 task-hide" disabled>
|
||||||
{data.is_original ? `${data.fork_project_user_name}/${data.fork_project_identifier}` : `${data.project_author}/${data.project_name}`}
|
{data.is_original ? `${data.fork_project_user_name}/${data.fork_project_identifier}` : `${data.project_author}/${data.project_name}`}
|
||||||
</Button>
|
</Button>
|
||||||
<Select
|
<Select
|
||||||
defaultValue={data.is_original ? `${data.fork_project_user}:${pull}` : `${pull}`}
|
defaultValue={data.is_original ? `${data.fork_project_user}:${pull}` : `${pull}`}
|
||||||
className="minW50 merge-flex1 flex1"
|
className="minW50 merge-flex1 flex1 matchwidth"
|
||||||
disabled
|
disabled
|
||||||
></Select>{" "}
|
></Select>{" "}
|
||||||
</Input.Group>{" "}
|
</Input.Group>{" "}
|
||||||
|
@ -83,12 +83,12 @@ class UpdateMerge extends Component {
|
||||||
<div>
|
<div>
|
||||||
<div className="color-grey-3 mb10 fwb"> 目标分支 : </div>{" "}
|
<div className="color-grey-3 mb10 fwb"> 目标分支 : </div>{" "}
|
||||||
<Input.Group compact className="display-flex">
|
<Input.Group compact className="display-flex">
|
||||||
<Button className="merge-header-button maxW50 hide-1 task-hide">
|
<Button className="merge-header-button flex1 maxW50 hide-1 task-hide" disabled>
|
||||||
{`${data.project_author}/${data.project_name}`}
|
{`${data.project_author}/${data.project_name}`}
|
||||||
</Button>
|
</Button>
|
||||||
<Select
|
<Select
|
||||||
defaultValue={data.is_original ? `${data.project_login}:${merge}` : `${merge}`}
|
defaultValue={data.is_original ? `${data.project_login}:${merge}` : `${merge}`}
|
||||||
className="minW50 merge-flex1 flex1"
|
className="minW50 merge-flex1 flex1 matchwidth"
|
||||||
disabled
|
disabled
|
||||||
></Select>{" "}
|
></Select>{" "}
|
||||||
</Input.Group>{" "}
|
</Input.Group>{" "}
|
||||||
|
|
|
@ -40,6 +40,7 @@ form .ant-cascader-picker, form .ant-select {
|
||||||
}
|
}
|
||||||
.merge-header-button{
|
.merge-header-button{
|
||||||
background:rgba(241,248,255,1);
|
background:rgba(241,248,255,1);
|
||||||
|
text-align: left;
|
||||||
}
|
}
|
||||||
.width70{
|
.width70{
|
||||||
width:70%;
|
width:70%;
|
||||||
|
@ -213,4 +214,12 @@ form .ant-cascader-picker, form .ant-select {
|
||||||
.mergeRequest .folders{
|
.mergeRequest .folders{
|
||||||
/* width: 72rem; */
|
/* width: 72rem; */
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.matchwidth .ant-select-selection__rendered{
|
||||||
|
width: 200px;
|
||||||
|
}
|
||||||
|
.overlihide li{
|
||||||
|
max-width: 450px;
|
||||||
|
|
||||||
|
}
|
|
@ -63,7 +63,7 @@ function Index(props){
|
||||||
{notice_url && <ul className="securityUl ul-border-buttom">
|
{notice_url && <ul className="securityUl ul-border-buttom">
|
||||||
<li>消息通知</li>
|
<li>消息通知</li>
|
||||||
<li className={(pathname.indexOf("/settings/notice")>-1 && pathname.indexOf("/settings/notice/config") == -1) || pathname.indexOf("/settings/notice/privateLetter")>-1 ?"active":""}><Link to={"/settings/notice"}><i className="iconfont icon-wodetongzhi"></i><span className="text-shodow-bold">我的通知</span></Link></li>
|
<li className={(pathname.indexOf("/settings/notice")>-1 && pathname.indexOf("/settings/notice/config") == -1) || pathname.indexOf("/settings/notice/privateLetter")>-1 ?"active":""}><Link to={"/settings/notice"}><i className="iconfont icon-wodetongzhi"></i><span className="text-shodow-bold">我的通知</span></Link></li>
|
||||||
{/* <li className={pathname.indexOf("/settings/notice/config")>-1 ?"active":""}><Link to={'/settings/notice/config'}><i className="iconfont icon-tongzhiguanli"></i><span className="text-shodow-bold">通知管理</span></Link></li> */}
|
<li className={pathname.indexOf("/settings/notice/config")>-1 ?"active":""}><Link to={'/settings/notice/config'}><i className="iconfont icon-tongzhiguanli"></i><span className="text-shodow-bold">通知管理</span></Link></li>
|
||||||
</ul>}
|
</ul>}
|
||||||
<ul className="securityUl">
|
<ul className="securityUl">
|
||||||
<li>安全设置</li>
|
<li>安全设置</li>
|
||||||
|
@ -73,18 +73,24 @@ function Index(props){
|
||||||
<LongWidth>
|
<LongWidth>
|
||||||
<Gap>
|
<Gap>
|
||||||
<Switch>
|
<Switch>
|
||||||
<Route
|
|
||||||
path="/settings/notice"
|
|
||||||
render={(p) => (
|
|
||||||
<MyNoticeIndex {...props} {...p}/>
|
|
||||||
)}
|
|
||||||
></Route>
|
|
||||||
<Route
|
<Route
|
||||||
path="/settings/notice/config"
|
path="/settings/notice/config"
|
||||||
render={(p) => (
|
render={(p) => (
|
||||||
<NoticeManager {...props} {...p}/>
|
<NoticeManager {...props} {...p}/>
|
||||||
)}
|
)}
|
||||||
></Route>
|
></Route>
|
||||||
|
<Route
|
||||||
|
path="/settings/notice/privateLetter"
|
||||||
|
render={(p)=>(
|
||||||
|
<PrivateLetter{...props} {...p}/>
|
||||||
|
)}
|
||||||
|
></Route>
|
||||||
|
<Route
|
||||||
|
path="/settings/notice"
|
||||||
|
render={(p) => (
|
||||||
|
<MyNoticeIndex {...props} {...p}/>
|
||||||
|
)}
|
||||||
|
></Route>
|
||||||
<Route
|
<Route
|
||||||
path="/settings/SSH/new"
|
path="/settings/SSH/new"
|
||||||
render={(p) => (
|
render={(p) => (
|
||||||
|
@ -103,12 +109,6 @@ function Index(props){
|
||||||
<SSHIndex {...props} {...p}/>
|
<SSHIndex {...props} {...p}/>
|
||||||
)}
|
)}
|
||||||
></Route>
|
></Route>
|
||||||
<Route
|
|
||||||
path="/settings/notice/privateLetter"
|
|
||||||
render={(p)=>(
|
|
||||||
<PrivateLetter{...props} {...p}/>
|
|
||||||
)}
|
|
||||||
></Route>
|
|
||||||
</Switch>
|
</Switch>
|
||||||
</Gap>
|
</Gap>
|
||||||
</LongWidth>
|
</LongWidth>
|
||||||
|
|
|
@ -1,9 +1,52 @@
|
||||||
import { Button, Checkbox } from "antd";
|
import { Checkbox } from "antd";
|
||||||
import React from "react";
|
import React, { useEffect, useState } from "react";
|
||||||
|
import axios from 'axios';
|
||||||
import './Index.scss';
|
import './Index.scss';
|
||||||
|
|
||||||
function NoticeManager(props){
|
function NoticeManager(props){
|
||||||
|
const {current_user} = props;
|
||||||
|
|
||||||
|
const [settingTypes, setSettingTypes] = useState();
|
||||||
|
const [userNotification, setUserNotification] = useState();
|
||||||
|
const [userEmail, setUserEmail] = useState();
|
||||||
|
|
||||||
|
function onChange(type,e,setting){
|
||||||
|
let notification_body = userNotification;
|
||||||
|
let email_body = userEmail;
|
||||||
|
if(type){//站内信
|
||||||
|
notification_body[setting] = e.target.checked;
|
||||||
|
}else{//邮件
|
||||||
|
email_body[setting] = e.target.checked;
|
||||||
|
}
|
||||||
|
axios.post(`/users/${current_user.login}/template_message_settings/update_setting.json`,{
|
||||||
|
setting:{
|
||||||
|
notification_body:notification_body,
|
||||||
|
email_body:email_body
|
||||||
|
}
|
||||||
|
}).then(response=>{
|
||||||
|
if(response && response.status === 0){
|
||||||
|
getUserSettings();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function getUserSettings(){
|
||||||
|
axios.get(`/users/${current_user.login}/template_message_settings.json`).then((response)=>{
|
||||||
|
if(response && response.status === 200 ){
|
||||||
|
setUserEmail(response.data.email_body);
|
||||||
|
setUserNotification(response.data.notification_body);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
useEffect(()=>{
|
||||||
|
axios.get("/template_message_settings.json").then(response => {
|
||||||
|
if (response && response.status === 200) {
|
||||||
|
setSettingTypes(response.data.setting_types);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
getUserSettings();
|
||||||
|
},[])
|
||||||
|
|
||||||
return(
|
return(
|
||||||
<div className="notice01">
|
<div className="notice01">
|
||||||
|
@ -12,87 +55,23 @@ function NoticeManager(props){
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span className="notice-manager-tip">您可以通过通知管理来选择接受通知的方式</span>
|
<span className="notice-manager-tip">您可以通过通知管理来选择接受通知的方式</span>
|
||||||
<div className="manager-cont-top">
|
{settingTypes && userNotification && userEmail && settingTypes.map((item,key)=>{
|
||||||
我创建或负责的
|
return(
|
||||||
</div>
|
item.type_name && <div key={key}>
|
||||||
<div className="manager-cont">
|
<div className="manager-cont-top">{item.type_name}</div>
|
||||||
<div className="manager-cont-title">易修状态变更</div>
|
{item.settings.map((i, k) => {
|
||||||
<Checkbox defaultChecked='true' disabled>站内信</Checkbox>
|
const setting = item.type.substring(item.type.indexOf("::")+2)+"::"+i.key;
|
||||||
<Checkbox >邮件</Checkbox>
|
return (
|
||||||
</div>
|
<div className="manager-cont" key={k}>
|
||||||
<div className="manager-cont">
|
<div className="manager-cont-title">{i.name}</div>
|
||||||
<div className="manager-cont-title">易修截止日期到达最后一天</div>
|
<Checkbox disabled = {i.notification_disabled} defaultChecked={userNotification[setting]} onChange={(e)=>{onChange(true,e,setting)}}>站内信</Checkbox>
|
||||||
<Checkbox defaultChecked='true' disabled>站内信</Checkbox>
|
<Checkbox disabled = {i.email_disabled} defaultChecked={userEmail[setting]} onChange={(e)=>{onChange(false,e,setting)}}>邮件</Checkbox>
|
||||||
<Checkbox >邮件</Checkbox>
|
</div>
|
||||||
</div>
|
)
|
||||||
<div className="manager-cont">
|
})}
|
||||||
<div className="manager-cont-title">合并请求状态变更</div>
|
</div>
|
||||||
<Checkbox defaultChecked='true' disabled>站内信</Checkbox>
|
)
|
||||||
<Checkbox >邮件</Checkbox>
|
})}
|
||||||
</div>
|
|
||||||
<div className="manager-cont">
|
|
||||||
<div className="manager-cont-title">易修有新的评论</div>
|
|
||||||
<Checkbox defaultChecked='true'>站内信</Checkbox>
|
|
||||||
<Checkbox >邮件</Checkbox>
|
|
||||||
</div>
|
|
||||||
<div className="manager-cont">
|
|
||||||
<div className="manager-cont-title">合并请求有新的评论</div>
|
|
||||||
<Checkbox defaultChecked='true'>站内信</Checkbox>
|
|
||||||
<Checkbox >邮件</Checkbox>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="manager-cont-top">
|
|
||||||
我管理的仓库
|
|
||||||
</div>
|
|
||||||
<div className="manager-cont">
|
|
||||||
<div className="manager-cont-title">被关注</div>
|
|
||||||
<Checkbox defaultChecked='true'>站内信</Checkbox>
|
|
||||||
<Checkbox >邮件</Checkbox>
|
|
||||||
</div>
|
|
||||||
<div className="manager-cont">
|
|
||||||
<div className="manager-cont-title">被点赞</div>
|
|
||||||
<Checkbox defaultChecked='true'>站内信</Checkbox>
|
|
||||||
<Checkbox >邮件</Checkbox>
|
|
||||||
</div>
|
|
||||||
<div className="manager-cont">
|
|
||||||
<div className="manager-cont-title">被复刻</div>
|
|
||||||
<Checkbox defaultChecked='true'>站内信</Checkbox>
|
|
||||||
<Checkbox >邮件</Checkbox>
|
|
||||||
</div>
|
|
||||||
<div className="manager-cont">
|
|
||||||
<div className="manager-cont-title">有新的里程碑</div>
|
|
||||||
<Checkbox defaultChecked='true'>站内信</Checkbox>
|
|
||||||
<Checkbox >邮件</Checkbox>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="manager-cont-top">
|
|
||||||
我关注的仓库
|
|
||||||
</div>
|
|
||||||
<div className="manager-cont">
|
|
||||||
<div className="manager-cont-title">被删除</div>
|
|
||||||
<Checkbox defaultChecked='true'>站内信</Checkbox>
|
|
||||||
<Checkbox >邮件</Checkbox>
|
|
||||||
</div>
|
|
||||||
<div className="manager-cont">
|
|
||||||
<div className="manager-cont-title">被转移</div>
|
|
||||||
<Checkbox defaultChecked='true'>站内信</Checkbox>
|
|
||||||
<Checkbox >邮件</Checkbox>
|
|
||||||
</div>
|
|
||||||
<div className="manager-cont">
|
|
||||||
<div className="manager-cont-title">有新的易修</div>
|
|
||||||
<Checkbox defaultChecked='true'>站内信</Checkbox>
|
|
||||||
<Checkbox >邮件</Checkbox>
|
|
||||||
</div>
|
|
||||||
<div className="manager-cont">
|
|
||||||
<div className="manager-cont-title">有新的合并请求</div>
|
|
||||||
<Checkbox defaultChecked='true'>站内信</Checkbox>
|
|
||||||
<Checkbox >邮件</Checkbox>
|
|
||||||
</div>
|
|
||||||
<div className="manager-cont">
|
|
||||||
<div className="manager-cont-title">有新的版本发布</div>
|
|
||||||
<Checkbox defaultChecked='true'>站内信</Checkbox>
|
|
||||||
<Checkbox >邮件</Checkbox>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
|
|
|
@ -11,7 +11,6 @@ export default Form.create()(
|
||||||
const { getFieldDecorator, validateFields , setFieldsValue } = props && props.form;
|
const { getFieldDecorator, validateFields , setFieldsValue } = props && props.form;
|
||||||
// const { username } = props && props.match && props.match.params;
|
// const { username } = props && props.match && props.match.params;
|
||||||
const { resetUserInfo , current_user } = props;
|
const { resetUserInfo , current_user } = props;
|
||||||
console.log(props);
|
|
||||||
|
|
||||||
useEffect(()=>{
|
useEffect(()=>{
|
||||||
if(current_user && current_user.login){
|
if(current_user && current_user.login){
|
||||||
|
|
Loading…
Reference in New Issue