From 8c58f77afb6e319f537115ca50dd5fa88cd72ed8 Mon Sep 17 00:00:00 2001 From: caishi <1149225589@qq.com> Date: Fri, 9 Apr 2021 14:18:44 +0800 Subject: [PATCH 001/227] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E5=8F=B3=E4=BE=A7?= =?UTF-8?q?=E6=82=AC=E6=B5=AE=E6=89=8B=E5=86=8C=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Index.js | 2 -- src/forge/Settings/Setting.js | 2 +- src/forge/users/Index.jsx | 2 -- 3 files changed, 1 insertion(+), 5 deletions(-) diff --git a/src/forge/Index.js b/src/forge/Index.js index 4874bad3..aa0219aa 100644 --- a/src/forge/Index.js +++ b/src/forge/Index.js @@ -6,7 +6,6 @@ import { withRouter } from "react-router"; import { SnackbarHOC } from "educoder"; import { CNotificationHOC } from "../modules/courses/common/CNotificationHOC"; import { TPMIndexHOC } from "../modules/tpm/TPMIndexHOC"; -import Handbook from './Component/Handbook'; import "./css/index.scss"; import Loadable from "react-loadable"; @@ -35,7 +34,6 @@ class Index extends Component { render() { return (
- import("./Infos"), loading: Loading, @@ -15,7 +14,6 @@ export default withRouter( (CNotificationHOC()(SnackbarHOC()(TPMIndexHOC((props)=>{ return(
- Date: Tue, 20 Apr 2021 10:57:46 +0800 Subject: [PATCH 002/227] =?UTF-8?q?=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Main/sub/DetailBanner.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/forge/Main/sub/DetailBanner.jsx b/src/forge/Main/sub/DetailBanner.jsx index 331790c8..aa801773 100644 --- a/src/forge/Main/sub/DetailBanner.jsx +++ b/src/forge/Main/sub/DetailBanner.jsx @@ -75,7 +75,7 @@ function DetailBanner({ history,list , owner , projectsId , isManager , url , pa :"" } - { + {/* { item.menu_name === "resources" &&
  • @@ -84,7 +84,7 @@ function DetailBanner({ history,list , owner , projectsId , isManager , url , pa {projectDetail && projectDetail.source_count ? {projectDetail.source_count} :""}
  • - } + } */} { item.menu_name === "versions" &&
  • From 49d3db67461ac8d0d5d591994efec56ac4249f52 Mon Sep 17 00:00:00 2001 From: caishi <1149225589@qq.com> Date: Tue, 20 Apr 2021 11:17:54 +0800 Subject: [PATCH 003/227] =?UTF-8?q?=E5=90=88=E5=B9=B6=E8=AF=B7=E6=B1=82-?= =?UTF-8?q?=E6=8F=90=E5=87=BA=E7=94=B3=E8=AF=B7=E8=80=85=E5=A4=B4=E5=83=8F?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Merge/MessageCount.js | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/src/forge/Merge/MessageCount.js b/src/forge/Merge/MessageCount.js index c10742da..85333aaf 100644 --- a/src/forge/Merge/MessageCount.js +++ b/src/forge/Merge/MessageCount.js @@ -331,26 +331,14 @@ class MessageCount extends Component { }
    - - + - + {data.issue.author_name} From 80cd6fbae061a32117290bd15fc625d2318dfec7 Mon Sep 17 00:00:00 2001 From: caishi <1149225589@qq.com> Date: Tue, 20 Apr 2021 15:31:49 +0800 Subject: [PATCH 004/227] =?UTF-8?q?md=E6=96=87=E4=BB=B6=E8=A6=81=E7=94=A8M?= =?UTF-8?q?arkdown=E6=B8=B2=E6=9F=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Main/CoderDepot.jsx | 5 +++++ src/forge/Main/CoderRootFileDetail.js | 4 ++-- src/forge/Main/Index.scss | 1 + src/forge/Main/list.css | 1 - 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/forge/Main/CoderDepot.jsx b/src/forge/Main/CoderDepot.jsx index 15032641..4907c3fc 100644 --- a/src/forge/Main/CoderDepot.jsx +++ b/src/forge/Main/CoderDepot.jsx @@ -230,6 +230,10 @@ function CoderDepot(props){ } }) } + + let n = fileInfo && fileInfo.name; + const mdFlag = n && n.substring(n.length-3,n.length) === ".md"; + return( setOpenModal(false)} onOk={okUpdate}/> @@ -353,6 +357,7 @@ function CoderDepot(props){ {...props} detail={fileInfo} readOnly={readOnly} + md={mdFlag} onEdit={onEdit} currentBranch={branchName || (projectDetail && projectDetail.default_branch)} type={projectDetail.type} diff --git a/src/forge/Main/CoderRootFileDetail.js b/src/forge/Main/CoderRootFileDetail.js index 1455086d..13939981 100644 --- a/src/forge/Main/CoderRootFileDetail.js +++ b/src/forge/Main/CoderRootFileDetail.js @@ -24,7 +24,7 @@ class CoderRootFileDetail extends Component { } componentDidMount = () => { - const { detail } = this.props; + const { detail , mdFlag } = this.props; this.setState({ value: detail.content, }); @@ -176,9 +176,9 @@ class CoderRootFileDetail extends Component { current_user, isManager, isDeveloper, - md, currentBranch, platform, + md, type } = this.props; const { language, languages, description } = this.state; diff --git a/src/forge/Main/Index.scss b/src/forge/Main/Index.scss index 1e9a8967..631d52c9 100644 --- a/src/forge/Main/Index.scss +++ b/src/forge/Main/Index.scss @@ -295,6 +295,7 @@ border-radius: 4px; .ant-dropdown-menu-item{ border-radius: 8px; + text-align: left; a{ width: 350px; overflow: hidden; diff --git a/src/forge/Main/list.css b/src/forge/Main/list.css index 07991f6a..9854a0a3 100644 --- a/src/forge/Main/list.css +++ b/src/forge/Main/list.css @@ -281,7 +281,6 @@ height:100%; } .files-md{ - border:1px solid #eee; padding:20px; } /* 详情-代码 */ From e94cf68cc5feb77979a1468431f8a88173bdff8a Mon Sep 17 00:00:00 2001 From: caishi <1149225589@qq.com> Date: Fri, 23 Apr 2021 18:04:49 +0800 Subject: [PATCH 005/227] =?UTF-8?q?=E6=A0=B7=E5=BC=8F=E8=A6=86=E7=9B=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Main/Index.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/forge/Main/Index.scss b/src/forge/Main/Index.scss index 3bec062f..0af78cfa 100644 --- a/src/forge/Main/Index.scss +++ b/src/forge/Main/Index.scss @@ -298,7 +298,7 @@ border-radius: 4px; .ant-dropdown-menu-item{ border-radius: 8px; - text-align: left; + text-align: left!important; a{ width: 350px; overflow: hidden; From 1af504825cec60ee27b5598f10bd2169be6347c8 Mon Sep 17 00:00:00 2001 From: caishi <1149225589@qq.com> Date: Sun, 25 Apr 2021 17:46:38 +0800 Subject: [PATCH 006/227] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=BA=93=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E6=96=87=E4=BB=B6-=E5=88=87=E6=8D=A2=E5=88=B0?= =?UTF-8?q?=E5=85=B6=E5=AE=83=E7=9B=AE=E5=BD=95=E5=90=8E=E8=A6=81=E9=87=8D?= =?UTF-8?q?=E6=96=B0=E5=B0=86=E7=BC=96=E8=BE=91=E7=8A=B6=E6=80=81=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E6=98=BE=E7=A4=BA=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Main/CoderDepot.jsx | 2 ++ src/forge/Main/Index.scss | 3 +++ 2 files changed, 5 insertions(+) diff --git a/src/forge/Main/CoderDepot.jsx b/src/forge/Main/CoderDepot.jsx index 5a993a45..86a33246 100644 --- a/src/forge/Main/CoderDepot.jsx +++ b/src/forge/Main/CoderDepot.jsx @@ -97,6 +97,7 @@ function CoderDepot(props){ setLastCommit(c && c.commit); setLastCommitAuthor(c && c.committer); setMainFlag(true); + setReadOnly(true); } setTimeout(function(){setIsSpin(false);},500); }).catch(error=>{setIsSpin(false);}) @@ -138,6 +139,7 @@ function CoderDepot(props){ setLastCommit(c && c.commit); setLastCommitAuthor(c && c.committer); setMainFlag(false); + setReadOnly(true); } setTimeout(function(){setIsSpin(false);},500) }).catch(error=>{setIsSpin(false);}) diff --git a/src/forge/Main/Index.scss b/src/forge/Main/Index.scss index 0af78cfa..8d074b65 100644 --- a/src/forge/Main/Index.scss +++ b/src/forge/Main/Index.scss @@ -223,6 +223,9 @@ .listtablebody{ li.listtablepath{ a{color: #40a9ff;} + p{ + margin-bottom: 0px!important; + } } li{ height: 42px; From f65f4c273ad031f0699436d4e61d09f3082017e9 Mon Sep 17 00:00:00 2001 From: caishi <1149225589@qq.com> Date: Mon, 26 Apr 2021 16:31:26 +0800 Subject: [PATCH 007/227] =?UTF-8?q?=E7=BB=84=E7=BB=87=E5=9F=BA=E6=9C=AC?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE-=E6=AD=A3=E5=88=99=E5=92=8C=E6=96=B0?= =?UTF-8?q?=E5=BB=BA=E7=9A=84=E9=A1=B5=E9=9D=A2=E4=B8=8D=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Team/Setting/TeamSettingCommon.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/forge/Team/Setting/TeamSettingCommon.jsx b/src/forge/Team/Setting/TeamSettingCommon.jsx index 1a48c7f7..2aeb0742 100644 --- a/src/forge/Team/Setting/TeamSettingCommon.jsx +++ b/src/forge/Team/Setting/TeamSettingCommon.jsx @@ -99,8 +99,8 @@ export default Form.create()( if(!value){ callback(); } - if(value && !value.match(/^[a-zA-Z][a-zA-Z\d]{3,14}$/)){ - callback("只能使用英文字母和数字,以字母开头,长度为4到15个字符"); + if(value && !value.match(/^[a-zA-Z][a-zA-Z0-9_-]{3,19}$/)){ + callback("只能使用以字母开头,包含字母、数字、下划线、横杠等,长度4到20个字符"); } callback(); } From 6da4dbc165d4ecd08abd20b5edce209214db38e2 Mon Sep 17 00:00:00 2001 From: caishi <1149225589@qq.com> Date: Tue, 27 Apr 2021 09:45:14 +0800 Subject: [PATCH 008/227] =?UTF-8?q?=E7=BB=84=E7=BB=87=E5=9B=A2=E9=98=9F-?= =?UTF-8?q?=E6=97=A0=E6=95=B0=E6=8D=AE=E6=98=BE=E7=A4=BA=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Team/TeamGroupItems.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/forge/Team/TeamGroupItems.jsx b/src/forge/Team/TeamGroupItems.jsx index b3b4a371..e96a310d 100644 --- a/src/forge/Team/TeamGroupItems.jsx +++ b/src/forge/Team/TeamGroupItems.jsx @@ -105,7 +105,7 @@ function TeamGroupItems({organizeDetail,limit, count , history}){ }
    } - { list && list.length > 0 && } + { list && list.length === 0 && } { total > limit &&
    From 4d652d238d9d13c80b255a1e7daef1795947b719 Mon Sep 17 00:00:00 2001 From: caishi <1149225589@qq.com> Date: Tue, 27 Apr 2021 17:23:58 +0800 Subject: [PATCH 009/227] =?UTF-8?q?=E4=B8=8D=E8=83=BD=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E7=BB=84=E7=BB=87=E8=B4=A6=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Team/Setting/TeamSettingCommon.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/forge/Team/Setting/TeamSettingCommon.jsx b/src/forge/Team/Setting/TeamSettingCommon.jsx index 2aeb0742..6a94beb5 100644 --- a/src/forge/Team/Setting/TeamSettingCommon.jsx +++ b/src/forge/Team/Setting/TeamSettingCommon.jsx @@ -119,7 +119,7 @@ export default Form.create()( validator:checkname } ], - ,true + ,true )} {helper( "组织名称:", From 1764fbdb883304636823e0b1e0328cc3a1a8a656 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=AB=A5=E5=B4=87?= <792998983@qq.com> Date: Fri, 3 Sep 2021 21:51:53 +0800 Subject: [PATCH 010/227] =?UTF-8?q?=E9=80=9F=E5=BA=A6=E9=80=9F=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Main/Detail.js | 2 +- src/forge/Main/DetailAdaptor.js | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 src/forge/Main/DetailAdaptor.js diff --git a/src/forge/Main/Detail.js b/src/forge/Main/Detail.js index 3303d42c..803b4c74 100644 --- a/src/forge/Main/Detail.js +++ b/src/forge/Main/Detail.js @@ -142,7 +142,7 @@ const WikiEdit = Loadable({ function checkPathname(projectsId, owner, pathname) { let name = ""; if (pathname && pathname !== `/${owner}/${projectsId}`) { - let url = pathname.split(`/${owner}/${projectsId}`)[1]; + let url = pathname.split(`/${owner}/${projectsId}`)[1] || ''; if (url.indexOf("/about") > -1) { name = "about" } else if (url.indexOf("/issues") > -1 || url.indexOf("Milepost") > 0) { diff --git a/src/forge/Main/DetailAdaptor.js b/src/forge/Main/DetailAdaptor.js new file mode 100644 index 00000000..4f2fba26 --- /dev/null +++ b/src/forge/Main/DetailAdaptor.js @@ -0,0 +1,6 @@ +import Detail from "./Detail"; +import { SnackbarHOC } from "educoder"; +import { CNotificationHOC } from "../../modules/courses/common/CNotificationHOC"; +import { TPMIndexHOC } from "../../modules/tpm/TPMIndexHOC"; + +export default CNotificationHOC()(SnackbarHOC()(TPMIndexHOC(Detail))); \ No newline at end of file From a90eeac318365f000880cdd45fdc4792d5a4d660 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=AB=A5=E5=B4=87?= <792998983@qq.com> Date: Sat, 4 Sep 2021 11:16:08 +0800 Subject: [PATCH 011/227] =?UTF-8?q?=E4=B8=8A=E4=BC=A0PR=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.js | 19 ++++++++++++++++++- src/forge/Main/DetailAdaptor.js | 26 ++++++++++++++++++++++++-- src/forge/Merge/NewMerge.js | 14 +++++++++++--- 3 files changed, 53 insertions(+), 6 deletions(-) diff --git a/src/App.js b/src/App.js index af5532ad..f0fe80b1 100644 --- a/src/App.js +++ b/src/App.js @@ -19,7 +19,7 @@ import moment from 'moment' import { MuiThemeProvider, createMuiTheme } from 'material-ui/styles'; import SiderBar from './forge/Component/SiderBar' -import { SnackbarHOC } from 'educoder' +import { SnackbarHOC } from 'educoder'; import { initAxiosInterceptors } from './AppConfig' import { Provider } from 'react-redux'; import configureStore from './redux/stores/configureStore'; @@ -39,6 +39,11 @@ const Projects = Loadable({ loader: () => import('./forge/Index'), loading: Loading, }) +// forge项目详情 +const ProjectDetail = Loadable({ + loader: () => import("./forge/Main/DetailAdaptor"), + loading: Loading, +}); //forge安全设置 const Security = Loadable({ loader: () => import('./forge/SecuritySetting/Index'), @@ -92,6 +97,11 @@ const ProjectIndex = Loadable({ loading: Loading, }); +const CreateMerge = Loadable({ + loader: () => import('./forge/Merge/NewMerge'), + loading: Loading, +}) + // 此处仅维护前端可能的一级路由,不用进行项目或者组织判断的字段。 const keyWord = ["explore", "settings", "setting", "CCF", "mulan", "wiki", "issues", "setting", "trending", "code", "projects", "pulls", "mine", "login", "register", "email", "export", "nopage", "404", "403", "500", "501", "search"]; @@ -268,6 +278,13 @@ class App extends Component { } } /> + {/* 项目PR */} + () + } + > + {/*项目*/} import("../Main/Detail"), + loading: Loading, +}); +export default withRouter( + (CNotificationHOC()(SnackbarHOC()(TPMIndexHOC((props) => { + return ( + + ( + + )} + > + + ) + })))) +) \ No newline at end of file diff --git a/src/forge/Merge/NewMerge.js b/src/forge/Merge/NewMerge.js index 956be000..7d33028d 100644 --- a/src/forge/Merge/NewMerge.js +++ b/src/forge/Merge/NewMerge.js @@ -48,8 +48,10 @@ class NewMerge extends Component { this.compareProject(this.state.id,pull,"master"); } } + // 页面销毁取消监听 componentWillUnmount () { + console.log('----------destoyed---------'); window.removeEventListener('popstate', this.handleBack, false); }; @@ -60,8 +62,11 @@ class NewMerge extends Component { //获取新建分支数据 getmergelist = (projectsId) => { - this.setState({isSpin: true}) - const { owner } = this.props.match.params; + this.setState({isSpin: true}); + // const { owner } = this.props.match.params; + let owner =this.props.history.location.pathname.split('/')[1]; + console.log('owner:'+owner); + console.log(this.props); const url = `/${owner}/${projectsId}/pulls/new.json`; axios .get(url) @@ -264,7 +269,9 @@ class NewMerge extends Component { show_message, default_message, merge_head, - projects_names,id,comparesData + projects_names, + id, + comparesData } = this.state; const renderBrances = (list, type) => { @@ -298,6 +305,7 @@ class NewMerge extends Component { return
    ; }; let { project } = this.props; + return (
    From 33a669a9403dac0a2919d207b81c0400f6f5e720 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=AB=A5=E5=B4=87?= <792998983@qq.com> Date: Mon, 6 Sep 2021 10:37:06 +0800 Subject: [PATCH 012/227] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=B7=AF=E7=94=B1?= =?UTF-8?q?=E8=B7=B3=E8=BD=AC404=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.js | 5 +++-- src/AppConfig.js | 6 +++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/App.js b/src/App.js index f0fe80b1..442d4f32 100644 --- a/src/App.js +++ b/src/App.js @@ -103,7 +103,7 @@ const CreateMerge = Loadable({ }) // 此处仅维护前端可能的一级路由,不用进行项目或者组织判断的字段。 -const keyWord = ["explore", "settings", "setting", "CCF", "mulan", "wiki", "issues", "setting", "trending", "code", "projects", "pulls", "mine", "login", "register", "email", "export", "nopage", "404", "403", "500", "501", "search"]; +const keyWord = ["explore", "settings", "setting", "mulan", "wiki", "issues", "setting", "trending", "code", "projects", "pulls", "mine", "login", "register", "email", "export", "nopage", "404", "403", "500", "501", "search", "organize"]; class App extends Component { constructor(props) { @@ -365,7 +365,7 @@ class App extends Component { return () } }> - : pathType === '404' ? : + : pathType === '404' ? : ( @@ -377,6 +377,7 @@ class App extends Component { } /> // + // } diff --git a/src/AppConfig.js b/src/AppConfig.js index 825a2a3b..ea85a4e5 100644 --- a/src/AppConfig.js +++ b/src/AppConfig.js @@ -11,9 +11,9 @@ broadcastChannelOnmessage('refreshPage', () => { }) function locationurl(list) { - // if (window.location.port !== "3007") { + if (window.location.port !== "3007") { window.location.href = list - // } + } } // TODO 开发期多个身份切换 let debugType = "" @@ -86,7 +86,7 @@ export function initAxiosInterceptors(props) { if (response.data.status === 404) { let responseURL = response.request ? response.request.responseURL:''; - if (responseURL.indexOf('/api/users/') === -1 && responseURL.indexOf('/api/organizations/') === -1 && responseURL.indexOf('/api/owners/') === -1) { + if (responseURL.indexOf('/api/users/') === -1 && responseURL.indexOf('/api/organizations/') === -1 ) { locationurl('/nopage'); } } From b611308f3c278036d12be17a2c97e9cfe9b5c82c Mon Sep 17 00:00:00 2001 From: hc1913847458 <1422588487@qq.com> Date: Wed, 25 Aug 2021 15:04:16 +0800 Subject: [PATCH 013/227] 'update' --- .idea/workspace.xml | 322 +-------------- public/css/edu-purge.css | 11 +- src/forge/Component/EAccount.css | 9 + src/forge/Component/EAccount.css.map | 1 + src/forge/Main/Index.css | 375 ++++++++++++++++++ src/forge/Main/Index.css.map | 1 + src/forge/Wiki/Index.css | 348 ++++++++++++++++ src/forge/Wiki/Index.css.map | 1 + src/forge/Wiki/Welcome/index.css | 51 +++ src/forge/Wiki/Welcome/index.css.map | 1 + .../Wiki/components/FolderTree/index.css | 32 ++ .../Wiki/components/FolderTree/index.css.map | 1 + src/forge/Wiki/components/Login/index.css | 56 +++ src/forge/Wiki/components/Login/index.css.map | 1 + src/forge/Wiki/components/ModalFun/index.css | 56 +++ .../Wiki/components/ModalFun/index.css.map | 1 + src/forge/users/Index.css | 247 ++++++++++++ src/forge/users/Index.css.map | 1 + 18 files changed, 1192 insertions(+), 323 deletions(-) create mode 100644 src/forge/Component/EAccount.css create mode 100644 src/forge/Component/EAccount.css.map create mode 100644 src/forge/Main/Index.css create mode 100644 src/forge/Main/Index.css.map create mode 100644 src/forge/Wiki/Index.css create mode 100644 src/forge/Wiki/Index.css.map create mode 100644 src/forge/Wiki/Welcome/index.css create mode 100644 src/forge/Wiki/Welcome/index.css.map create mode 100644 src/forge/Wiki/components/FolderTree/index.css create mode 100644 src/forge/Wiki/components/FolderTree/index.css.map create mode 100644 src/forge/Wiki/components/Login/index.css create mode 100644 src/forge/Wiki/components/Login/index.css.map create mode 100644 src/forge/Wiki/components/ModalFun/index.css create mode 100644 src/forge/Wiki/components/ModalFun/index.css.map create mode 100644 src/forge/users/Index.css create mode 100644 src/forge/users/Index.css.map diff --git a/.idea/workspace.xml b/.idea/workspace.xml index f221492f..aed6ebd4 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -1,294 +1,12 @@ + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - @@ -685,22 +393,7 @@ - - - - - + @@ -719,6 +412,7 @@ + diff --git a/public/css/edu-purge.css b/public/css/edu-purge.css index f721824b..4dfc7bb8 100644 --- a/public/css/edu-purge.css +++ b/public/css/edu-purge.css @@ -1363,10 +1363,6 @@ a:visited { color: #05101a; } -a:hover { - color: #459be5; -} - ol, ul, li { @@ -2436,7 +2432,7 @@ a.hoverLine:hover{ .color-grey-9 { - color: #999999 !important; + color: #333333 !important; } .color-grey-98 { @@ -2482,13 +2478,10 @@ a.color-grey-c:hover { } /*蓝色*/ -.color-blue { +.color-blue, .color-green-file{ color: #4CACFF !important; } /* 绿色 */ -.color-green-file{ - color: #28BD6C; -} /*主*/ .color-blue_4C { color: #4CACFF !important; diff --git a/src/forge/Component/EAccount.css b/src/forge/Component/EAccount.css new file mode 100644 index 00000000..e8b83420 --- /dev/null +++ b/src/forge/Component/EAccount.css @@ -0,0 +1,9 @@ +.ant-modal-mask { + z-index: 1001; +} + +.ant-modal-wrap { + z-index: 1002; +} + +/*# sourceMappingURL=EAccount.css.map */ diff --git a/src/forge/Component/EAccount.css.map b/src/forge/Component/EAccount.css.map new file mode 100644 index 00000000..7260caa4 --- /dev/null +++ b/src/forge/Component/EAccount.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["EAccount.scss"],"names":[],"mappings":"AAAA;EACE;;;AAEF;EACE","file":"EAccount.css"} \ No newline at end of file diff --git a/src/forge/Main/Index.css b/src/forge/Main/Index.css new file mode 100644 index 00000000..4cb80f0e --- /dev/null +++ b/src/forge/Main/Index.css @@ -0,0 +1,375 @@ +.recommandOri.slick-slider { + width: 1300px; + margin: 20px auto 40px; +} +.recommandOri.slick-slider .slick-track { + margin-left: 0px; +} +.recommandOri.slick-slider .slick-slide li > a { + display: flex; + align-items: center; + justify-content: center; +} + +/* recommandProjects */ +.recommandProjects.slick-slider { + width: 1230px; + margin: 20px auto 40px; +} +.recommandProjects.slick-slider .slick-track { + margin-left: 0px; +} +.recommandProjects.slick-slider .slick-arrow.slick-prev:before, .recommandProjects.slick-slider .slick-arrow.slick-next:before { + color: #999; +} +.recommandProjects.slick-slider .slick-arrow.slick-prev li.slick-active button:before, .recommandProjects.slick-slider .slick-arrow.slick-next li.slick-active button:before { + color: #999; +} +.recommandProjects.slick-slider .slick-dots { + bottom: -29px; +} +.recommandProjects.slick-slider .slick-dots li button:before { + color: #909090; +} +.recommandProjects.slick-slider .slick-slide { + padding: 0px 15px; + box-sizing: border-box; +} +.recommandProjects.slick-slider .slick-slide > div { + background-color: #fff; + border-radius: 10px; + width: 100%; + cursor: pointer; + border: 1px solid #eee; +} +.recommandProjects.slick-slider .slick-slide > div:hover { + box-shadow: 0px 2px 20px 0px rgba(0, 0, 0, 0.1); +} +.recommandProjects.slick-slider .baseInfo { + padding: 18px 15px; + display: flex; + font-size: 12px; + color: #888; +} +.recommandProjects.slick-slider .baseInfo .look { + margin-right: 10px; +} +.recommandProjects.slick-slider .baseInfo .look i { + margin-right: 5px; +} +.recommandProjects.slick-slider .baseInfo .type { + flex: 1; + width: 0; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + text-align: right; +} +.recommandProjects.slick-slider .mainInfo { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + min-height: 160px; + border-bottom: 1px solid #eee; + padding: 20px; + box-sizing: border-box; +} +.recommandProjects.slick-slider .mainInfo img { + height: 50px; + width: 50px; + border-radius: 50%; +} +.recommandProjects.slick-slider .mainInfo .name { + font-size: 13px; + color: #666; + height: 18px; + line-height: 18px; + margin-top: 12px; +} +.recommandProjects.slick-slider .mainInfo .school { + margin-top: 12px; + color: #333; + font-size: 16px; + height: 22px; + line-height: 22px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + max-width: 100%; +} + +.Panels { + max-width: 1200px; + margin: 0 auto; +} +.Panels .panelmenu { + padding-top: 30px; +} +.Panels .addOptionBtn { + height: 32px; + line-height: 30px; + display: flex; + border: 1px solid #d9d9d9; + border-radius: 2px; +} +.Panels .addOptionBtn a { + padding: 0px 13px; + color: rgba(0, 0, 0, 0.65); + cursor: pointer; +} +.Panels .addOptionBtn > a:first-child { + border-right: 1px solid #d9d9d9; +} +.Panels .addOptionBtn > a:last-child { + border-right: none; +} +.Panels .infoCount { + display: inline-block; + padding: 0px 5px; + height: 16px; + line-height: 16px; + background-color: #eee; + color: #999; + border-radius: 12px; + margin-left: 10px; + font-size: 12px; +} +.Panels .attrPerson { + padding-top: 15px; + display: flex; + flex-wrap: wrap; +} +.Panels .attrPerson a { + margin: 10px 10px 0px 0px; +} +.Panels .attrPerson a img { + border-radius: 50%; + width: 35px; + height: 35px; +} +.Panels .attrPerson a:nth-child(6) { + margin-right: 0px; +} +.Panels .progress { + display: flex; + border-radius: 10px; + height: 7px; + margin-top: 12px; +} +.Panels .progress span:first-child { + border-radius: 10px 0px 0px 10px; +} +.Panels .progress span:last-child { + border-radius: 0px 10px 10px 0px; +} +.Panels .progresstip { + margin-top: 15px; + flex-wrap: wrap; +} +.Panels .progresstip i.zero { + position: absolute; + display: block; + border-radius: 50%; + height: 8px; + width: 8px; + left: 0px; + top: 10px; +} +.Panels .progresstip > span { + padding-left: 15px; + position: relative; + min-width: 33.5%; +} +.Panels .progresstip > span span { + color: #666; +} +.Panels .progresstip > span span:last-child { + color: #999; + margin-left: 5px; +} +.Panels .listtable { + margin-top: 20px; + border: 1px solid #d9d9d9; + border-radius: 4px; +} +.Panels .listtable .listtablehead { + display: flex; + justify-content: space-between; + align-items: flex-start; + border-bottom: 1px solid #d9d9d9; + padding: 7px 20px; + border-radius: 4px 4px 0px 0px; + background-color: #FAFBFC; +} +.Panels .listtable .listtablehead .ellipsistxt { + margin-top: 6px; + margin-left: 13px; + line-height: 18px; + flex: 1; + width: 0; + color: #666; +} +.Panels .listtable .listtablehead .ellipsistxt #ptxt { + margin-bottom: 0px; + word-break: break-all; + overflow: unset; + white-space: pre-wrap; + /* css3.0 */ + white-space: -moz-pre-wrap; + /* Firefox */ + white-space: -pre-wrap; + /* Opera 4-6 */ + white-space: -o-pre-wrap; + /* Opera 7 */ + word-wrap: break-word; +} +.Panels .listtable .listtablehead .ellipsistxt.hidetxt { + height: 18px; + overflow: hidden; + position: relative; + padding-right: 8px; +} +.Panels .listtable .listtablehead .ellipsistxt.hidetxt::after { + position: absolute; + right: 0px; + bottom: 0px; + content: "..."; +} +.Panels .listtable .listtablehead .ellipsis { + margin-left: 8px; + cursor: pointer; + border-radius: 2px; + background-color: #c1c1c1; + padding: 0px 4px; + height: 14px; + line-height: 14px; + margin-top: 9px; +} +.Panels .listtable .listtablehead .ellipsis i { + font-size: 15px !important; + color: #fff; + height: 14px; + line-height: 14px; +} +.Panels .listtable .listtablebody li.listtablepath a { + color: #40a9ff; +} +.Panels .listtable .listtablebody li.listtablepath p { + margin-bottom: 0px !important; +} +.Panels .listtable .listtablebody > li { + height: 42px; + display: flex; + justify-content: space-between; + align-items: center; + border-bottom: 1px solid #d9d9d9; + padding: 0px 20px 0px 24px; +} +.Panels .listtable .listtablebody > li > span:first-child { + width: 30%; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +.Panels .listtable .listtablebody > li > span:nth-child(2) { + width: 60%; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +.Panels .listtable .listtablebody > li > span:nth-child(3) { + width: 10%; + text-align: right; +} +.Panels .listtable .listtablebody > li:last-child { + border-bottom: none; +} + +.drawerBtn { + position: fixed; + left: -13px; + border: 1px solid #cfcddf; + width: 34px; + border-radius: 0px 12px 12px 0px; + height: 70px; + top: 50%; + margin-top: -35px; + cursor: pointer; + display: flex; + flex-direction: column; + align-items: flex-end; + justify-content: center; +} +.drawerBtn:hover { + box-shadow: 1px 0px 7px rgba(0, 0, 0, 0.1); +} +.drawerBtn span { + writing-mode: vertical-lr; + color: #202429; + width: 25px; +} +.drawerBtn i { + color: #24292e; + height: 18px; + line-height: 18px; + width: 18px; +} + +.downMenu { + width: 330px; + box-shadow: 0px 0px 9px rgba(134, 134, 134, 0.4); + background-color: #fff; +} +.downMenu .ant-menu-vertical .ant-menu-item:hover { + background-color: #e6f7ff; +} + +.menuslist { + max-height: 200px; + overflow-y: auto; + padding: 10px 15px; + border-radius: 4px; +} +.menuslist .ant-dropdown-menu-item { + border-radius: 8px; + text-align: left !important; +} +.menuslist .ant-dropdown-menu-item a { + width: 350px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +.menuslist .ant-dropdown-menu-item.active { + background-color: #e6f7ff; +} + +.catelogue { + border: 1px solid lightgray; + font-size: 15px; + font-weight: normal; + border-radius: 5px; + margin-right: 10px; + padding: 0px 10px; + height: 30px; + line-height: 30px; + color: #666 !important; + display: flex; + align-items: center; +} +.catelogue span { + margin-top: 1px; +} + +.submoduleStyle { + cursor: default; +} +.submoduleStyle i { + cursor: default; +} +.submoduleStyle:hover { + color: #05101a; +} + +/*# sourceMappingURL=Index.css.map */ diff --git a/src/forge/Main/Index.css.map b/src/forge/Main/Index.css.map new file mode 100644 index 00000000..35f6a1bf --- /dev/null +++ b/src/forge/Main/Index.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["Index.scss"],"names":[],"mappings":"AAAA;EACE;EACA;;AACA;EACE;;AAGA;EAEE;EACA;EACA;;;AAIN;AACA;EACE;EACA;;AACA;EACE;;AAGA;EACE;;AAEF;EACE;;AAGJ;EACE;;AACA;EACE;;AAGJ;EACE;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;;AAIN;EACE;EACA;EACA;EACA;;AACA;EAIE;;AAHA;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKN;EACE;EACA;;AACA;EACE;;AAEF;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;;AAEF;EACE;;AAEF;EACE;;AAGJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;;AACA;EACE;;AACA;EACE;EACA;EACA;;AAEF;EACE;;AAIN;EACE;EACA;EACA;EACA;;AAEE;EACE;;AAEF;EACE;;AAIN;EACE;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;;AACA;EACE;;AACA;EACE;EACA;;AAKR;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EAWA;EACA;EACA;EACA;EACA;;AAdA;EACE;EACA;EACA;EACA;AAAsB;EACtB;AAA2B;EAC3B;AAAuB;EACvB;AAAyB;EACzB;;AAOF;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AAIN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AAMF;EAAE;;AACF;EACE;;AAGJ;EACE;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;;AAEF;EACE;EACA;;AAGJ;EACE;;;AAKR;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AAEF;EACE;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;;;AAGJ;EACE;EACA;EACA;;AACA;EACE;;;AAIJ;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;;AACA;EACE;EACA;EACA;EACA;;AAGJ;EACE;;;AAGJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;;AAGJ;EACE;;AACA;EACE;;AAEF;EACE","file":"Index.css"} \ No newline at end of file diff --git a/src/forge/Wiki/Index.css b/src/forge/Wiki/Index.css new file mode 100644 index 00000000..9649763a --- /dev/null +++ b/src/forge/Wiki/Index.css @@ -0,0 +1,348 @@ +body { + width: 100% !important; +} + +.ant-spin-nested-loading > div > .ant-spin.opacitySpin { + max-height: 100vh; + background: white; +} + +.wiki-main { + width: 1200px; + min-height: 400px; + margin: 20px auto; +} +.wiki-main .ant-btn-primary { + background-color: #466aff; + border-color: #466aff; +} +.wiki-main .ant-btn-primary:hover, .wiki-main .ant-btn-primary:focus, .wiki-main .ant-btn-primary:active { + background-color: #6482ff; +} +.wiki-main .ant-btn-default:hover, +.wiki-main .ant-btn-default:active, +.wiki-main .ant-btn-default:focus { + background: #f3f4f6; + color: #333; + border-color: #d0d0d0; +} +.wiki-main .wiki-head { + display: flex; + justify-content: space-between; + align-items: center; + padding: 0 20px; + height: 64px; + background: #fafcff; + box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.13); + border-radius: 4px; + border-bottom-left-radius: 0; +} +.wiki-main .wiki-head .ant-btn .anticon { + margin: 0 -3px 0 0; +} +.wiki-main .head-title { + font-size: 20px; + color: #05101a; + line-height: 30px; + font-weight: 500; +} +.wiki-main .head-title .anticon-right { + color: #666; + font-size: 0.9rem; +} +.wiki-main .back-wiki { + color: #466aff; + cursor: pointer; +} +.wiki-main .back-wiki:hover { + color: #6482ff; +} +.wiki-main .head-log-middle { + width: 3rem; + height: 3rem; + margin-right: 0.35rem; + border-radius: 50%; +} +.wiki-main .head-log-small { + width: 1.25rem; + height: 1.25rem; + margin-right: 0.35rem; + border-radius: 50%; +} +.wiki-main .user-box { + font-size: 12px; + font-family: "PingFangSC-Medium"; + color: #466aff; + cursor: pointer; +} +.wiki-main .user-box:hover { + color: #6482ff; +} +.wiki-main .user-box .head-log-small { + position: relative; + top: -2px; +} +.wiki-main .time-ago { + font-size: 12px; + color: #333; + letter-spacing: 0; + line-height: 17px; + font-weight: 400; + font-family: "PingFangSC-Regular"; +} +.wiki-main .has-error .ant-form-explain, +.wiki-main .has-error .ant-form-split { + position: absolute; +} +.wiki-main .wiki-nav { + max-height: 60vh; +} +.wiki-main .wiki-nav .wiki-search { + padding: 0 14px; +} +.wiki-main .wiki-nav .wiki-search .ant-input { + padding-left: 30px; +} +.wiki-main .wiki-nav .wiki-search .ant-input-suffix { + left: 26px; + right: auto; +} +.wiki-main .wiki-nav .wiki-search:hover .ant-input, .wiki-main .wiki-nav .wiki-search:focus .ant-input { + border-color: #466aff !important; +} +.wiki-main .wiki-nav-parent { + width: 260px; + flex: none; +} +.wiki-main .ant-form-item-children .ant-input:hover { + border-color: #466aff !important; +} +.wiki-main .ant-checkbox-checked .ant-checkbox-inner { + background-color: #466aff; + border-color: #466aff; +} +.wiki-main .ant-radio-checked .ant-radio-inner, +.wiki-main .ant-radio-checked::after { + border-color: #466aff; +} +.wiki-main .ant-radio-inner::after { + background-color: #466aff; +} +.wiki-main .ant-radio-group { + display: block; + margin: 10px 0 0 30px; +} +.wiki-main .ant-radio-wrapper:hover .ant-radio, +.wiki-main .ant-radio:hover .ant-radio-inner, +.wiki-main .ant-radio-input:focus + .ant-radio-inner { + border-color: #466aff; +} + +#wikiUrl:focus { + border-right: 1px solid #d9d9d9 !important; +} + +.wiki-body { + display: flex; +} + +.wiki-content { + flex: auto; + width: 75%; +} + +.wiki-content-detail { + padding: 0 20px; + word-break: break-all; +} + +.ant-input-group.ant-input-group-compact.copy-url { + display: flex; + margin-top: 20px; +} +.ant-input-group.ant-input-group-compact.copy-url .ant-select-selection__rendered { + margin: 0 14px 0 5px; + width: 3rem; + font-size: 12px; +} +.ant-input-group.ant-input-group-compact.copy-url .ant-select-arrow { + right: 4px; +} +.ant-input-group.ant-input-group-compact.copy-url .ant-input { + font-size: 12px; + font-family: "PingFangSC-Regular"; + color: #666; + letter-spacing: 0; + font-weight: 400; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + word-break: break-all; +} +.ant-input-group.ant-input-group-compact.copy-url .copy-svg { + display: inline-flex; + align-items: center; + justify-content: center; + padding: 0 5px; + background: #fff; + font-size: 1rem !important; + border: 1px solid #d9d9d9; + border-left: 0; + color: #466aff; + cursor: pointer; +} + +.wiki-url-type .ant-select-dropdown-menu-item { + font-size: 12px; +} + +.wiki-nav { + min-height: 300px; + padding: 20px 0; + background: #ffffff; + border: 1px solid rgba(153, 153, 153, 0.22); + overflow-y: scroll; + flex: none; + color: #333; +} + +.wiki-nav-title { + display: flex; + justify-content: space-between; + align-items: center; + height: 50px; + padding: 0 10px 0 10px; + font-size: 14px; + letter-spacing: 0; + font-weight: 400; + font-family: "PingFangSC-Regular"; + border-bottom: 1px solid #eee; + line-height: 16px; + cursor: pointer; +} +.wiki-nav-title .delete-title-icon { + display: none; +} +.wiki-nav-title:hover { + background-color: #fbfbfb; +} +.wiki-nav-title:hover .delete-title-icon { + display: inline-block; +} + +.wiki-nav-title-parent { + padding: 0 14px; +} +.wiki-nav-title-parent:hover { + background: #fbfbfb; +} + +.wiki-nav-title.active { + color: #466aff; +} + +.wiki-content-head { + margin: 20px 0 20px 20px; + padding: 0 20px 20px 0; + display: flex; + justify-content: space-between; + align-items: center; + border-bottom: 1px solid #eee; +} + +.wiki-content-head-left { + width: 90%; +} + +.nav-title-left { + display: inline-flex; + max-width: 90%; +} +.nav-title-left svg { + margin-right: 0.5rem; + flex: none; +} +.nav-title-left .nav-title-left-text { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.wiki-detail-title { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.wiki-preview { + overflow-y: scroll; + height: 100%; +} +.wiki-preview .wiki-body { + width: 90%; +} +.wiki-preview .ant-btn-primary { + background-color: #466aff; + border-color: #466aff; +} +.wiki-preview .ant-btn-primary:hover, .wiki-preview .ant-btn-primary:focus, .wiki-preview .ant-btn-primary:active { + background-color: #6482ff; +} +.wiki-preview .preview-head { + display: flex; + justify-content: space-between; + align-items: center; + padding: 0 12rem 0 2rem; + width: 100%; + height: 80px; + background: #272f4c; + color: #fff; +} +.wiki-preview .preview-head-left { + display: inline-flex; + align-items: center; + font-size: 24px; + cursor: pointer; +} +.wiki-preview .preview-head-left .icon-wendangyulan_icon { + font-size: 24px !important; + font-weight: 700; +} +.wiki-preview .preview-head-right { + display: flex; +} +.wiki-preview .preview-head-right .copy-url { + margin-top: 0; +} +.wiki-preview .preview-head-right .copy-desc { + width: 6rem; + padding-top: 1px; +} +.wiki-preview .wiki-nav-title { + padding: 0 10px 0 40px; +} +.wiki-preview .wiki-nav-title.active { + background-color: #f3f4f6; +} +.wiki-preview .wiki-content-head { + padding: 10px 20px 10px 20px; +} +.wiki-preview .wiki-nav { + padding: 20px 0; + width: 20vw; + border-bottom: 0; + height: 80vh; +} +.wiki-preview .wiki-content-detail { + padding: 0 40px; +} +.wiki-preview .wiki-content-detail img { + max-width: 100%; +} +.wiki-preview .ant-btn:hover { + background: #f3f4f6; + color: #333; + border-color: #d0d0d0; +} + +/*# sourceMappingURL=Index.css.map */ diff --git a/src/forge/Wiki/Index.css.map b/src/forge/Wiki/Index.css.map new file mode 100644 index 00000000..eaa14087 --- /dev/null +++ b/src/forge/Wiki/Index.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["Index.scss"],"names":[],"mappings":"AAEA;EACE;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;EACA;;AAEA;EACE,kBAfQ;EAgBR,cAhBQ;;AAiBR;EAGE,kBAnBY;;AAuBhB;AAAA;AAAA;EAGE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE,OA5DQ;EA6DR;;AACA;EACE,OA9DY;;AAkEhB;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA,OApFQ;EAqFR;;AACA;EACE,OAtFY;;AAwFd;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;AAAA;EAEE;;AAEF;EACE;;AACA;EACE;;AACA;EACE;;AAEF;EACE;EACA;;AAEF;EAEE;;AAKN;EACE;EACA;;AAGF;EACE;;AAGF;EACE,kBAxIQ;EAyIR,cAzIQ;;AA2IV;AAAA;EAEE,cA7IQ;;AAgJV;EACE,kBAjJQ;;AAoJV;EACE;EACA;;AAGF;AAAA;AAAA;EAGE,cA5JQ;;;AAgKZ;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;AACA;EACE;EACA;EACA;;AAEF;EACE;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OAlNQ;EAmNR;;;AAKF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AACA;EACE;;;AAKN;EACE;;AACA;EACE;;;AAIJ;EACE,OAzQU;;;AA4QZ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;AACA;EACE;EACA;;AAEF;EACE;EACA;EACA;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;;AACA;EACE;;AAEF;EACE,kBApTQ;EAqTR,cArTQ;;AAsTR;EAGE,kBAxTY;;AA2ThB;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;;AAEA;EACE;;AAEF;EACE;EACA;;AAIJ;EACE;;AAEF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;;AAEF;EACE;;AACA;EACE;;AAIJ;EACE;EACA;EACA","file":"Index.css"} \ No newline at end of file diff --git a/src/forge/Wiki/Welcome/index.css b/src/forge/Wiki/Welcome/index.css new file mode 100644 index 00000000..d146549c --- /dev/null +++ b/src/forge/Wiki/Welcome/index.css @@ -0,0 +1,51 @@ +.welcome-main { + display: flex; + flex-flow: column nowrap; + justify-content: center; + align-items: center; + width: 1200px; + min-height: 400px; + padding: 20px; + margin: 20px auto; + background: #fafcff; + font-family: "PingFangSC-Medium"; + border-radius: 4px; + border: 1px solid rgba(42, 97, 255, 0.23); +} +.welcome-main .icon-huanying_icon { + font-size: 48px !important; + font-weight: 700; +} +.welcome-main .welcome-title { + display: inline-flex; + align-items: center; + margin: 10px 0; + font-size: 26px; + color: #333333; + font-weight: 500; +} +.welcome-main .wiki-title { + display: inline-block; + max-width: 20em; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.welcome-main .welcome-content { + font-size: 14px; + color: #333333; + font-weight: 400; +} +.welcome-main .wiki-line { + margin: 50px 0 40px; + width: 400px; + height: 1px; + background: #eeeeee; +} +.welcome-main .welcome-des { + font-size: 16px; + color: #333333; + font-weight: 500; +} + +/*# sourceMappingURL=index.css.map */ diff --git a/src/forge/Wiki/Welcome/index.css.map b/src/forge/Wiki/Welcome/index.css.map new file mode 100644 index 00000000..2dcfff0d --- /dev/null +++ b/src/forge/Wiki/Welcome/index.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["index.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA","file":"index.css"} \ No newline at end of file diff --git a/src/forge/Wiki/components/FolderTree/index.css b/src/forge/Wiki/components/FolderTree/index.css new file mode 100644 index 00000000..58d79c6b --- /dev/null +++ b/src/forge/Wiki/components/FolderTree/index.css @@ -0,0 +1,32 @@ +.hide-file-icon.ant-tree.ant-tree-directory li span.ant-tree-switcher { + display: none !important; +} +.hide-file-icon.ant-tree.ant-tree-directory .ant-tree-node-content-wrapper { + display: inline-flex; + width: 100%; +} +.hide-file-icon.ant-tree.ant-tree-directory .tree-title-icon { + display: none; +} +.hide-file-icon.ant-tree.ant-tree-directory .ant-tree-node-content-wrapper:hover .tree-title-icon { + transition: all 0.3s; + display: inline-block; +} +.hide-file-icon.ant-tree.ant-tree-directory.ant-tree.ant-tree-directory > li.ant-tree-treenode-selected > span.ant-tree-node-content-wrapper::before, .hide-file-icon.ant-tree.ant-tree-directory.ant-tree.ant-tree-directory .ant-tree-child-tree > li.ant-tree-treenode-selected > span.ant-tree-node-content-wrapper::before { + background: #fff; + margin-top: -3px; +} +.hide-file-icon.ant-tree.ant-tree-directory.ant-tree.ant-tree-directory > li span.ant-tree-node-content-wrapper::before, .hide-file-icon.ant-tree.ant-tree-directory.ant-tree.ant-tree-directory .ant-tree-child-tree > li span.ant-tree-node-content-wrapper::before { + margin-top: -3px; +} +.hide-file-icon.ant-tree.ant-tree-directory > li span.ant-tree-node-content-wrapper.ant-tree-node-selected, +.hide-file-icon.ant-tree.ant-tree-directory .ant-tree-child-tree > li span.ant-tree-node-content-wrapper.ant-tree-node-selected { + color: #2a61ff; +} +.hide-file-icon.ant-tree.ant-tree-directory .ant-tree-title { + display: inline-flex; + justify-content: space-between; + flex: auto; +} + +/*# sourceMappingURL=index.css.map */ diff --git a/src/forge/Wiki/components/FolderTree/index.css.map b/src/forge/Wiki/components/FolderTree/index.css.map new file mode 100644 index 00000000..8f0725b1 --- /dev/null +++ b/src/forge/Wiki/components/FolderTree/index.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["index.scss"],"names":[],"mappings":"AACE;EACE;;AASF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EAOE;EACA;;AAGF;EAKE;;AAGF;AAAA;EAIE;;AAKF;EACE;EACA;EACA","file":"index.css"} \ No newline at end of file diff --git a/src/forge/Wiki/components/Login/index.css b/src/forge/Wiki/components/Login/index.css new file mode 100644 index 00000000..448243d6 --- /dev/null +++ b/src/forge/Wiki/components/Login/index.css @@ -0,0 +1,56 @@ +.delete-modal .ant-modal-header { + padding: 9px 24px; + background: #f8f8f8; + border-bottom: 1px solid #eee; +} +.delete-modal .ant-modal-title { + text-align: left; +} +.delete-modal .ant-modal-close { + top: 0px !important; +} +.delete-modal .ant-modal-close-x { + font-size: 24px; +} +.delete-modal .ant-modal-body { + text-align: center; +} +.delete-modal .delete-title { + display: flex; + justify-content: center; + align-items: center; + margin: 2rem 0 1rem !important; + font-size: 16px; + color: #333; + letter-spacing: 0; + line-height: 29px; + font-weight: 400; +} +.delete-modal .red-circle { + align-self: flex-start; + color: #ca0002; + font-size: 1.5rem !important; +} +.delete-modal .delete-descibe { + font-size: 14px; + color: #666; + line-height: 33px; + font-weight: 400; +} +.delete-modal .ant-modal-footer { + padding: 2rem 0; + text-align: center; + border: 0; +} +.delete-modal .ant-modal-footer .ant-btn { + width: 6rem; +} +.delete-modal .foot-submit { + margin-left: 3rem; + color: #df0002; +} +.delete-modal .foot-submit:hover { + border-color: #df0002; +} + +/*# sourceMappingURL=index.css.map */ diff --git a/src/forge/Wiki/components/Login/index.css.map b/src/forge/Wiki/components/Login/index.css.map new file mode 100644 index 00000000..a770694c --- /dev/null +++ b/src/forge/Wiki/components/Login/index.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["index.scss"],"names":[],"mappings":"AACE;EACE;EACA;EACA;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;;AACA;EACE;;AAGJ;EACE;EACA;;AACA;EACE","file":"index.css"} \ No newline at end of file diff --git a/src/forge/Wiki/components/ModalFun/index.css b/src/forge/Wiki/components/ModalFun/index.css new file mode 100644 index 00000000..0f7ef948 --- /dev/null +++ b/src/forge/Wiki/components/ModalFun/index.css @@ -0,0 +1,56 @@ +.myself-modal .ant-modal-header { + padding: 9px 24px; + background: #f8f8f8; + border-bottom: 1px solid #eee; +} +.myself-modal .ant-modal-title { + text-align: left; +} +.myself-modal .ant-modal-close { + top: 0px !important; +} +.myself-modal .ant-modal-close-x { + font-size: 24px; +} +.myself-modal .ant-modal-body { + text-align: center; +} +.myself-modal .delete-title { + display: flex; + justify-content: center; + align-items: center; + margin: 2rem 0 1rem !important; + font-size: 16px; + color: #333; + letter-spacing: 0; + line-height: 29px; + font-weight: 400; +} +.myself-modal .red-circle { + align-self: flex-start; + color: #ca0002; + font-size: 1.5rem !important; +} +.myself-modal .delete-descibe { + font-size: 14px; + color: #666; + line-height: 33px; + font-weight: 400; +} +.myself-modal .ant-modal-footer { + padding: 2rem 0; + text-align: center; + border: 0; +} +.myself-modal .ant-modal-footer .ant-btn { + width: 6rem; +} +.myself-modal .foot-submit { + margin-left: 3rem; + color: #df0002; +} +.myself-modal .foot-submit:hover { + border-color: #df0002; +} + +/*# sourceMappingURL=index.css.map */ diff --git a/src/forge/Wiki/components/ModalFun/index.css.map b/src/forge/Wiki/components/ModalFun/index.css.map new file mode 100644 index 00000000..a770694c --- /dev/null +++ b/src/forge/Wiki/components/ModalFun/index.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["index.scss"],"names":[],"mappings":"AACE;EACE;EACA;EACA;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;;AACA;EACE;;AAGJ;EACE;EACA;;AACA;EACE","file":"index.css"} \ No newline at end of file diff --git a/src/forge/users/Index.css b/src/forge/users/Index.css new file mode 100644 index 00000000..280cce1b --- /dev/null +++ b/src/forge/users/Index.css @@ -0,0 +1,247 @@ +.headerbox { + padding: 20px; + border-bottom: 1px solid #E0E0E0; + display: flex; + align-items: center; + justify-content: space-between; +} +.headerbox > div { + width: 400px; +} +.headerbox > p { + display: flex; + align-items: center; +} +.headerbox > p a { + color: #5091FF; + margin-left: 30px; + font-size: 16px; + display: flex; + align-items: center; +} +.headerbox .ant-btn.ant-input-search-button { + margin-top: -1px; + margin-right: -1px; +} + +.echartBox { + border: 1px solid #DEDEDE; +} +.echartBox > p { + color: #999; + padding: 15px 20px; + text-align: center; +} + +.contentBox { + padding: 20px 20px 0px 20px; +} +.contentBox > div { + margin-bottom: 20px; + display: flex; + align-items: center; + padding: 20px 25px; + background-color: #fafafa; +} +.contentBox > div .imgBox { + width: 190px; + height: 90px; + display: flex; + align-items: center; + justify-content: center; + margin-right: 20px; + background-color: #fff; +} +.contentBox > div .imgBox img { + max-width: 90%; + max-height: 90%; +} +.contentBox .item-news { + display: flex; + justify-content: space-between; + font-size: 12px; + color: #888; + margin-top: 3px; + margin-bottom: 0px; +} +.contentBox .teamdesc { + word-break: break-all; + line-height: 20px; +} + +.infosType { + padding: 20px 30px 0px 20px; + display: flex; + justify-content: space-between; +} +.infosType .infoStatus { + height: 30px; + background: white; + border-radius: 15px; + border: 1px solid #dddddd; + line-height: 30px; + font-size: 12px; + color: #888; + display: flex; +} +.infosType .infoStatus > span { + display: block; + padding: 0px 12px; + border-radius: 15px; + cursor: pointer; +} +.infosType .infoStatus > span.active { + background-color: #5091FF; + color: #fff; + padding: 0px 15px; +} +.infosType .infoStatus .statusDivider { + margin: 8px 0 0 0 !important; +} + +.userDescription { + color: #666666; + line-height: 18px; + text-align: left; + margin: 10px 0px; + word-break: break-all; + text-align: justify; + font-size: 16px; + text-align: center; +} + +.focusBox, .infoBox { + width: 100% !important; + display: inline-block; + margin-top: 30px; + padding-top: 30px; + border-top: 1px solid #f1f1f1; +} + +.infoBox { + padding-bottom: 10px; + text-align: left; + line-height: 28px; + color: #666; + margin-top: 20px; +} +.infoBox > div { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +.infoBox i { + color: #DEDEDE; + font-size: 15px !important; +} +.infoBox span { + margin-left: 10px; +} + +.headimg { + position: relative; + display: block; +} +.headimg img { + width: 110px; + height: 110px; + border-radius: 50%; +} +.headimg span { + position: absolute; + bottom: -6px; + right: 0px; + left: 65px; +} +.headimg span i { + font-size: 25px !important; + border-radius: 50%; + color: #fff; +} +.headimg span i.icon-nan1 { + background-color: #1890FF; +} +.headimg span i.icon-nv1 { + background-color: pink; +} + +ul.ant-menu.menuStyle { + padding: 0px 30px; + font-size: 16px; +} +ul.ant-menu.menuStyle li { + height: 70px; + line-height: 70px; + padding: 0px; + margin-right: 30px !important; + border-bottom: transparent !important; +} + +.disposeInfo { + padding: 0px 30px; + min-height: 400px; +} +.disposeInfo .disposeItem { + display: flex; + justify-content: space-between; + padding: 30px 0px; + border-bottom: 1px solid #eee; +} + +.authTag { + display: inline-block; + padding: 0px 10px; + border-radius: 12px; + font-size: 12px; + height: 22px; + line-height: 22px; +} +.authTag.red { + border: 1px solid #F73030; + color: #F73030; +} +.authTag.green { + border: 1px solid #28BD6C; + color: #28BD6C; +} + +.CIList { + padding: 0px 30px; + min-height: 400px; +} +.CIList li { + display: flex; + justify-content: space-between; + padding: 28px 0px; + border-bottom: 1px solid #eee; +} + +.infosRightMenu .ant-menu-item { + padding: 0px; + margin: 0px 20px !important; + font-size: 17px; + height: 32px; + line-height: 0px; + border-bottom: 2px solid transparent !important; + position: relative; +} +.infosRightMenu .ant-menu-item a > i { + font-size: 15px !important; + margin-right: 8px; +} +.infosRightMenu .ant-menu-item .menuNum { + font-size: 12px; + margin-left: 3px; + color: #FF6E21; +} +.infosRightMenu .ant-menu-item.ant-menu-item-selected::before { + position: absolute; + width: 100%; + bottom: -1px; + height: 2px; + left: 0px; + background-color: #1890ff; + content: ""; +} + +/*# sourceMappingURL=Index.css.map */ diff --git a/src/forge/users/Index.css.map b/src/forge/users/Index.css.map new file mode 100644 index 00000000..356d318b --- /dev/null +++ b/src/forge/users/Index.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["Index.scss"],"names":[],"mappings":"AACA;EACE;EACA;EACA,SAJI;EAKJ;EACA;;AACA;EACE;;AAEF;EACE,SAXE;EAYF;;AAEF;EACE;EACA;EACA;EACA,SAlBE;EAmBF;;AAEF;EACE;EACA;;;AAIJ;EACE;;AACA;EACE;EACA;EACA;;;AAGJ;EACE;;AACA;EACE;EACA,SAvCE;EAwCF;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;;AAIN;EACE,SA1DE;EA2DF;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;;;AAGJ;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;;AAEF;EACE;;;AAIN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;;AAEF;EACE;EACA;;AAEF;EACE;;;AAGJ;EACE;EACA;;AACA;EACE;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;;AACA;EACE;;AAEF;EACE;;;AAKR;EACE;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;;;AAGJ;EACE;EACA;;AACA;EACE;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;;AAEF;EACE;EACA;;;AAGJ;EACE;EACA;;AACA;EACE;EACA;EACA;EACA;;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEE;EACE;EACA;;AAGJ;EACE;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA","file":"Index.css"} \ No newline at end of file From 411b4e9de6728e6578c430009c3639c8adb9a744 Mon Sep 17 00:00:00 2001 From: caishi <1149225589@qq.com> Date: Thu, 12 Aug 2021 11:45:56 +0800 Subject: [PATCH 014/227] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=BA=93=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/css/edu-common.css | 8 -- public/css/edu-main.css | 4 - public/css/edu-purge.css | 27 ++--- public/css/iconfont.js | 2 +- src/college/colleagecss/colleage.css | 2 +- src/common/UrlTool.js | 17 +++ src/common/educoder.js | 2 +- src/forge/Branch/Select.jsx | 106 +++--------------- src/forge/Branch/SelectOverlay.jsx | 84 ++++++++++++++ src/forge/Branch/branch.scss | 66 ++++++----- src/forge/Component/Releases.jsx | 15 +-- src/forge/Main/CoderDepot.jsx | 4 +- src/forge/Main/CoderDepotCatalogue.jsx | 6 +- src/forge/Main/CoderDepotReadme.jsx | 21 ++-- src/forge/Main/CoderRootBranch.js | 2 +- src/forge/Main/CoderRootFileDetail.js | 2 +- src/forge/Main/Detail.js | 3 +- src/forge/Main/Index.js | 2 +- src/forge/Main/Index.scss | 52 ++++----- src/forge/Main/IndexItem.js | 2 +- src/forge/Main/{list.css => list.scss} | 84 ++++++++++---- src/forge/Main/sub/DetailBanner.jsx | 7 +- src/forge/Main/sub/Invite.jsx | 2 +- src/forge/Main/sub/ReadmeCatelogue.jsx | 57 ++++++++++ src/forge/Main/sub/sub.scss | 46 +++++++- src/forge/Team/Setting/TeamSettingCommon.jsx | 12 +- src/forge/css/index.scss | 5 +- .../tpm/challengesnew/tpm-md-editor.js | 12 +- 28 files changed, 401 insertions(+), 251 deletions(-) create mode 100644 src/forge/Branch/SelectOverlay.jsx rename src/forge/Main/{list.css => list.scss} (90%) create mode 100644 src/forge/Main/sub/ReadmeCatelogue.jsx diff --git a/public/css/edu-common.css b/public/css/edu-common.css index 96a8277d..56790f05 100755 --- a/public/css/edu-common.css +++ b/public/css/edu-common.css @@ -114,14 +114,6 @@ a:visited { color: #898989; } -a:hover { - color: #FF7500; -} - -a:hover.fa { - color: #FF7500; -} - input, textarea, select { diff --git a/public/css/edu-main.css b/public/css/edu-main.css index 3cbe5fcb..1d995903 100644 --- a/public/css/edu-main.css +++ b/public/css/edu-main.css @@ -97,10 +97,6 @@ a:visited { color: #05101a; } -a:hover { - color: #459be5; -} - ol, ul, li { diff --git a/public/css/edu-purge.css b/public/css/edu-purge.css index 4dfc7bb8..3e375077 100644 --- a/public/css/edu-purge.css +++ b/public/css/edu-purge.css @@ -1363,6 +1363,10 @@ a:visited { color: #05101a; } +a:hover { + color: #2A61FF!important; +} + ol, ul, li { @@ -1469,7 +1473,7 @@ a.edu-txt-w80, /*隐藏*/ .none { - display: none + display: none!important; } .block { @@ -2467,19 +2471,16 @@ a.hoverLine:hover{ a.color-grey-name:hover, a.color-dark:hover, a.color-grey-6:hover, -a.color-grey-3:hover { - color: #4cacff !important; -} - -a.color-grey-9:hover, -a.color-grey-8:hover, -a.color-grey-c:hover { - color: #111C24 !important; +a.color-grey-3:hover,a.color-ooo:hover { + color: #2A61FF !important; } /*蓝色*/ -.color-blue, .color-green-file{ - color: #4CACFF !important; +.color-blue { + color: #2A61FF !important; +} +.color-blue-file { + color: #0054CC!important; } /* 绿色 */ /*主*/ @@ -2487,10 +2488,6 @@ a.color-grey-c:hover { color: #4CACFF !important; } -a.color-blue:hover, -a.color-blue_4C:hover { - color: #459BE6 !important; -} /*橙色*/ .color-orange { diff --git a/public/css/iconfont.js b/public/css/iconfont.js index 2aaace21..e50f44e1 100644 --- a/public/css/iconfont.js +++ b/public/css/iconfont.js @@ -1 +1 @@ -!function(c){var l,a,h,i,o,z='',t=(t=document.getElementsByTagName("script"))[t.length-1].getAttribute("data-injectcss"),p=function(c,l){l.parentNode.insertBefore(c,l)};if(t&&!c.__iconfont__svg__cssinject__){c.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(c){console&&console.log(c)}}function v(){o||(o=!0,h())}function m(){try{i.documentElement.doScroll("left")}catch(c){return void setTimeout(m,50)}v()}l=function(){var c,l;(l=document.createElement("div")).innerHTML=z,z=null,(c=l.getElementsByTagName("svg")[0])&&(c.setAttribute("aria-hidden","true"),c.style.position="absolute",c.style.width=0,c.style.height=0,c.style.overflow="hidden",l=c,(c=document.body).firstChild?p(l,c.firstChild):c.appendChild(l))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(l,0):(a=function(){document.removeEventListener("DOMContentLoaded",a,!1),l()},document.addEventListener("DOMContentLoaded",a,!1)):document.attachEvent&&(h=l,i=c.document,o=!1,m(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,v())})}(window); \ No newline at end of file +!function(c){var l,a,h,i,o,z='',t=(t=document.getElementsByTagName("script"))[t.length-1].getAttribute("data-injectcss"),p=function(c,l){l.parentNode.insertBefore(c,l)};if(t&&!c.__iconfont__svg__cssinject__){c.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(c){console&&console.log(c)}}function v(){o||(o=!0,h())}function m(){try{i.documentElement.doScroll("left")}catch(c){return void setTimeout(m,50)}v()}l=function(){var c,l;(l=document.createElement("div")).innerHTML=z,z=null,(c=l.getElementsByTagName("svg")[0])&&(c.setAttribute("aria-hidden","true"),c.style.position="absolute",c.style.width=0,c.style.height=0,c.style.overflow="hidden",l=c,(c=document.body).firstChild?p(l,c.firstChild):c.appendChild(l))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(l,0):(a=function(){document.removeEventListener("DOMContentLoaded",a,!1),l()},document.addEventListener("DOMContentLoaded",a,!1)):document.attachEvent&&(h=l,i=c.document,o=!1,m(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,v())})}(window); diff --git a/src/college/colleagecss/colleage.css b/src/college/colleagecss/colleage.css index 9220b8ac..65f32322 100644 --- a/src/college/colleagecss/colleage.css +++ b/src/college/colleagecss/colleage.css @@ -218,7 +218,7 @@ a:hover { } .color-blue { - color: #4CACFF; + color: #2A61FF; } .color-huang { diff --git a/src/common/UrlTool.js b/src/common/UrlTool.js index 07e141eb..f1800a75 100644 --- a/src/common/UrlTool.js +++ b/src/common/UrlTool.js @@ -18,6 +18,23 @@ export function getImageUrl(path) { return `${path}`; } +export function numFormat(num, digits){ + let d = digits || 1; + var si = [ + { value: 1, symbol: "" }, + { value: 1E3, symbol: "k" }, + { value: 1E4, symbol: "W" } + ]; + var rx = /\.0+$|(\.[0-9]*[1-9])0+$/; + var i; + for (i = si.length - 1; i > 0; i--) { + if (num >= si[i].value) { + break; + } + } + return (num / si[i].value).toFixed(d).replace(rx, "$1") + si[i].symbol; +} + export function getImage(path) { // https://www.educoder.net // https://testbdweb.trustie.net diff --git a/src/common/educoder.js b/src/common/educoder.js index c6eaf176..1a063d82 100644 --- a/src/common/educoder.js +++ b/src/common/educoder.js @@ -3,7 +3,7 @@ // export { default as OrderStateUtil } from '../routes/Order/components/OrderStateUtil'; export { - getUploadLogoActionUrl as getUploadLogoActionUrl, + getUploadLogoActionUrl as getUploadLogoActionUrl,numFormat as numFormat, getImageUrl as getImageUrl,getImage as getImage, getmyUrl as getmyUrl, getRandomNumber as getRandomNumber, getUrl as getUrl, publicSearchs as publicSearchs, getRandomcode as getRandomcode, getUrlmys as getUrlmys, getUrl2 as getUrl2, setImagesUrl as setImagesUrl , getUploadActionUrl as getUploadActionUrl, getUploadActionUrltwo as getUploadActionUrltwo, getUploadActionUrlthree as getUploadActionUrlthree, getUploadActionUrlOfAuth as getUploadActionUrlOfAuth , getTaskUrlById as getTaskUrlById, TEST_HOST, htmlEncode as htmlEncode, getupload_git_file as getupload_git_file, getcdnImageUrl as getcdnImageUrl diff --git a/src/forge/Branch/Select.jsx b/src/forge/Branch/Select.jsx index fedd288c..a44584c4 100644 --- a/src/forge/Branch/Select.jsx +++ b/src/forge/Branch/Select.jsx @@ -1,116 +1,36 @@ import React , { useState , useEffect } from 'react'; -import { Popover , Input , Spin } from 'antd'; +import { Popover , Dropdown , Input , Spin } from 'antd'; import './branch.scss'; import { getBranch , getTag } from '../GetData/getData'; +import SelectOverlay from './SelectOverlay'; export default (({ projectsId , branch , owner , changeBranch , branchList , tagflag = true })=>{ const [ showValue , setShowValue ] = useState(branch); - const [ inputValue , setInputValue] = useState(undefined); - const [ nav , setNav ] = useState(0); - const [ isSpin , setIsSpin ] = useState(true); - const [ flag , setFlag ] = useState(false); - - const [ data , setData ] = useState(undefined); - const [ datas , setDatas ] = useState(undefined); useEffect(()=>{ setShowValue(branch); },[branch]) - useEffect(()=>{ - document.body.addEventListener('click', e => { - let name = e.target.className; - let turn = name === "ant-input OptionsInput" || name === "navli active"|| name === "navli" || name === "padding10 bor-bottom-greyE"; - if(turn){ - return; - }else{ - setFlag(false); - } - }) - }) - - useEffect(()=>{ - if(branchList){ - setData(branchList); - setDatas(branchList); - setIsSpin(false); - } - },[branchList]) - - - async function getBranchs(id,owner){ - let result = await getBranch(id,owner); - setData(result); - setDatas(result); - setIsSpin(false); - } - async function getTags(id,owner){ - let result = await getTag(id,owner); - setData(result); - setDatas(result); - setIsSpin(false); - } - - function changeInputValue(e){ - setInputValue(e.target.value); - let filter = e.target.value ? data && data.length>0 && data.filter(item=>item.name.indexOf(e.target.value)>-1) : data; - setDatas(filter); - } - - function changeNav(nav){ - setNav(nav); - setIsSpin(true); - if(nav === 0){ - getBranchs(projectsId,owner); - }else{ - getTags(projectsId,owner); - } - } - function chooseitem(value){ - // setShowValue(value); - changeBranch(value); - } - - const menu = ( -
    -
    - -
      -
    • changeNav(0)}>分支列表
    • - { tagflag &&
    • changeNav(1)}>标签列表
    • } -
    -
    - -
      - { - datas && datas.length>0 ? - datas.map((item,key)=>{ - return( -
    • chooseitem(item.name)}>{item.name}
    • - ) - }): -

      暂无{inputValue}{nav === 0 ?"分支":"标签"}~

      - } -
    -
    -
    + ); return( - setFlag(!flag)} overlayClassName="branch-tagBox-list"> +
    {/* {nav === 0 ?"分支":"标签"} */} - + {showValue} - +
    -
    + ) }) \ No newline at end of file diff --git a/src/forge/Branch/SelectOverlay.jsx b/src/forge/Branch/SelectOverlay.jsx new file mode 100644 index 00000000..d536d1c9 --- /dev/null +++ b/src/forge/Branch/SelectOverlay.jsx @@ -0,0 +1,84 @@ +import React , { useState , useEffect } from 'react'; +import { Input , Spin , Menu } from 'antd'; +import { getBranch , getTag } from '../GetData/getData'; + +function SelectOverlay({ changeBranch , tagflag , branchList , projectsId , owner }) { + const [ inputValue , setInputValue] = useState(undefined); + const [ nav , setNav ] = useState(0); + const [ isSpin , setIsSpin ] = useState(true); + + const [ data , setData ] = useState(undefined); + const [ datas , setDatas ] = useState(undefined); + const [ keys ,setKeys] = useState("branch"); + + useEffect(()=>{ + if(branchList){ + setData(branchList); + setDatas(branchList); + setIsSpin(false); + } + },[branchList]) + + async function getBranchs(id,owner){ + let result = await getBranch(id,owner); + setData(result); + setDatas(result); + setIsSpin(false); + } + async function getTags(id,owner){ + let result = await getTag(id,owner); + setData(result); + setDatas(result); + setIsSpin(false); + } + function chooseitem(value){ + changeBranch(value); + } + function changeInputValue(e){ + setInputValue(e.target.value); + let filter = e.target.value ? data && data.length>0 && data.filter(item=>item.name.indexOf(e.target.value)>-1) : data; + setDatas(filter); + } + + function changeNav(e){ + setKeys(e.key); + setIsSpin(true); + if(e.key === "branch"){ + getBranchs(projectsId,owner); + }else{ + getTags(projectsId,owner); + } + } + + return( +
    +
    + } + placeholder="请输入分支或标签名称搜索" + autocomplete="off" className="OptionsInput" + value={inputValue} + onChange={changeInputValue} + /> +
    + + 分支 + { tagflag && 标签 } + + +
      + { + datas && datas.length>0 ? + datas.map((item,key)=>{ + return( +
    • chooseitem(item.name)}>{item.name}
    • + ) + }): +

      暂无{inputValue}{nav === 0 ?"分支":"标签"}~

      + } +
    +
    +
    + ) +} +export default SelectOverlay; \ No newline at end of file diff --git a/src/forge/Branch/branch.scss b/src/forge/Branch/branch.scss index 0c7e136a..dd9c7b14 100644 --- a/src/forge/Branch/branch.scss +++ b/src/forge/Branch/branch.scss @@ -27,10 +27,11 @@ overflow-y: auto; } .OptionsUl li{ - height: 35px; - line-height: 35px; + height: 30px; + line-height: 30px; cursor: pointer; - padding:0px 10px; + padding:0px 20px; + margin:5px 0px; } .OptionsUl li:hover{ background-color: #F0F0F0; @@ -45,38 +46,49 @@ width: 100%; } .branch-tagBox{ - border:1px solid #eee; + border:1px solid #D0D0D0; border-radius: 3px; height: 40px; display: flex; align-items: center; cursor: pointer; - min-width: 140px; + min-width: 104px; } -.branch-tagBox-list .ant-popover-arrow{ - display: none; +.branch-tagBox:hover{ + background-color: #F3F4F6; } -.branch-tagBox-list.ant-popover.ant-popover-placement-bottom{ - padding-top:0px; +.branch-tagBox-list{ + background: #FFFFFF; + box-shadow: 0px 4px 8px 2px rgba(212, 212, 212, 0.5); + border-radius: 4px; + .ant-popover-arrow{ + display: none; + } + &.ant-popover.ant-popover-placement-bottom{ + padding-top:0px; + } + .branch-tagBox .ant-dropdown-link{ + display: block; + flex:1; + max-width: 105px; + } + .ant-popover-inner-content{ + padding:0px; + } } -.branch-tagBox .ant-dropdown-link{ - display: block; - flex:1; -} -.branch-tagBox-list .ant-popover-inner-content{ - padding:0px; -} -.navUl{ - display: flex; - justify-content: space-between; - align-items: center; - margin-top: 5px; -} -.navUl li{ - cursor: pointer; -} -.navUl li.active{ - color:#5091FF; +.overlayBranch{ + width: 325px; + .navUl{ + margin-top: 8px; + height: 30px; + line-height: 30px; + li{ + height: 30px; + line-height: 30px; + padding:0px 5px; + margin-left: 20px!important; + } + } } .listTips{ padding:20px 0px; diff --git a/src/forge/Component/Releases.jsx b/src/forge/Component/Releases.jsx index bf8caebd..ae794806 100644 --- a/src/forge/Component/Releases.jsx +++ b/src/forge/Component/Releases.jsx @@ -7,14 +7,12 @@ function Releases({owner,projectsId,releaseVersions , baseOperate , projectType} return(
    - 发行版 + 发行版 { releaseVersions && releaseVersions.total_count > 0 && {releaseVersions.total_count}} - { (releaseVersions && releaseVersions.total_count > 0) || projectType ===2 ? - 全部 - : - baseOperate && 新建 - } + {/* { + baseOperate && projectType !==2 && 新建 + } */} { releaseVersions && releaseVersions.total_count>0 ? @@ -32,7 +30,10 @@ function Releases({owner,projectsId,releaseVersions , baseOperate , projectType} ) }) - :"" + : +
    + 您暂未发布任何版本{baseOperate && projectType !==2 && 创建新版本} +
    }
    diff --git a/src/forge/Main/CoderDepot.jsx b/src/forge/Main/CoderDepot.jsx index e2dbc49d..6769528a 100644 --- a/src/forge/Main/CoderDepot.jsx +++ b/src/forge/Main/CoderDepot.jsx @@ -378,7 +378,7 @@ function CoderDepot(props){
    } { fileOperate && - + } @@ -492,7 +492,7 @@ function CoderDepot(props){ inviteCode &&
    - +
    } { diff --git a/src/forge/Main/CoderDepotCatalogue.jsx b/src/forge/Main/CoderDepotCatalogue.jsx index 3aa5ccc8..ad284769 100644 --- a/src/forge/Main/CoderDepotCatalogue.jsx +++ b/src/forge/Main/CoderDepotCatalogue.jsx @@ -4,8 +4,8 @@ import { truncateCommitId } from '../common/util'; const typeIco = { "submodule":"icon-file-submodule font-17", - "file":'icon-wenjia font-15', - "dir":"icon-wenjianjia1 font-15" + "file":'icon-wenjian5 font-15', + "dir":"icon-wenjianjia3 font-15" } function CoderDepotCatalogue({item , goToSubRoot , owner , projectsId }){ @@ -13,7 +13,7 @@ function CoderDepotCatalogue({item , goToSubRoot , owner , projectsId }){
  • goToSubRoot(item.path,item.type,item.name)} className={item.type === "submodule" && "submoduleStyle"}> - {item.name} + {item.name} diff --git a/src/forge/Main/CoderDepotReadme.jsx b/src/forge/Main/CoderDepotReadme.jsx index 1c54663d..526e28d5 100644 --- a/src/forge/Main/CoderDepotReadme.jsx +++ b/src/forge/Main/CoderDepotReadme.jsx @@ -3,6 +3,8 @@ import RenderHtml from '../../components/render-html'; import { AlignCenter } from '../Component/layout'; import { Dropdown , Menu , Spin } from 'antd'; import { Link } from 'react-router-dom'; + +import ReadmeCatelogue from './sub/ReadmeCatelogue'; const $ = window.$; function CoderDepotReadme({ operate , history , readme , ChangeFile }){ @@ -23,34 +25,25 @@ function CoderDepotReadme({ operate , history , readme , ChangeFile }){ const anchor = el.id; const level = el.tagName.replace("H", ""); const href = `#${anchor}`; - return { href:`${path}${href}`,text:el.textContent , level:level } + return { href:`${href}`,text:el.textContent , level:level } }); setMenuList(items); },[content]) function menu(){ if(menuList && menuList.length > 0){ - let hash = history.location.hash; return( - - { - menuList.map((item,key)=>{ - return( - -1 ?"active":""}>{item.text} - ) - }) - } - + ) }else{ return } } return( -
    +
    - + 目录 @@ -61,7 +54,7 @@ function CoderDepotReadme({ operate , history , readme , ChangeFile }){ { operate ? ChangeFile(readme && readme.path, false)}> - + :"" } diff --git a/src/forge/Main/CoderRootBranch.js b/src/forge/Main/CoderRootBranch.js index 3f71d692..4982414a 100644 --- a/src/forge/Main/CoderRootBranch.js +++ b/src/forge/Main/CoderRootBranch.js @@ -4,7 +4,7 @@ import { Dropdown , Menu , Icon , Tooltip , Spin } from 'antd'; import { truncateCommitId } from '../common/util'; import { getBranch } from '../GetData/getData'; import Nodata from '../Nodata'; -import './list.css'; +import './list.scss'; function turnbar(str){ if(str && str.length>0 && str.indexOf("/")>-1){ diff --git a/src/forge/Main/CoderRootFileDetail.js b/src/forge/Main/CoderRootFileDetail.js index fb17098b..d5a9670c 100644 --- a/src/forge/Main/CoderRootFileDetail.js +++ b/src/forge/Main/CoderRootFileDetail.js @@ -1,6 +1,6 @@ import React, { Component } from "react"; import { Popconfirm , Select } from "antd"; -import "./list.css"; +import "./list.scss"; import axios from "axios"; import Meditor from "../Newfile/m_editor"; import RenderHtml from "../../components/render-html"; diff --git a/src/forge/Main/Detail.js b/src/forge/Main/Detail.js index b3262f88..0ddc5706 100644 --- a/src/forge/Main/Detail.js +++ b/src/forge/Main/Detail.js @@ -3,8 +3,9 @@ import { Spin, Tooltip, Button } from 'antd'; import { Link, Route, Switch } from 'react-router-dom'; import { Content, AlignTop } from '../Component/layout'; import DetailBanner from './sub/DetailBanner'; +import { numFormat } from 'educoder'; import '../css/index.scss' -import './list.css'; +import './list.scss'; import Loadable from 'react-loadable'; import Loading from '../../Loading'; diff --git a/src/forge/Main/Index.js b/src/forge/Main/Index.js index a08c3d3b..afe10817 100644 --- a/src/forge/Main/Index.js +++ b/src/forge/Main/Index.js @@ -5,7 +5,7 @@ import { getImageUrl } from 'educoder'; import "slick-carousel/slick/slick.css"; import "slick-carousel/slick/slick-theme.css"; import '../css/index.scss' -import './list.css'; +import './list.scss'; import './Index.scss'; import ListItem from './IndexItem' import axios from 'axios'; diff --git a/src/forge/Main/Index.scss b/src/forge/Main/Index.scss index cb05f1cf..c97185e7 100644 --- a/src/forge/Main/Index.scss +++ b/src/forge/Main/Index.scss @@ -129,13 +129,14 @@ } .infoCount{ display: inline-block; - padding:0px 5px; - height: 16px; - line-height: 16px; - background-color: #eee; - color:#999; + width: 24px; + text-align: center; + height: 24px; + line-height: 24px; + background-color:rgba(153, 153, 153, 0.13);; + color:#666; border-radius: 12px; - margin-left: 10px; + margin-left: 6px; font-size: 12px; } .attrPerson{ @@ -195,16 +196,14 @@ } .listtable{ margin-top: 20px; - border:1px solid #d9d9d9; - border-radius: 4px; .listtablehead{ display: flex; justify-content: space-between; align-items: flex-start; border-bottom: 1px solid #d9d9d9; - padding:7px 20px; + padding:13px 20px; border-radius: 4px 4px 0px 0px; - background-color: #FAFBFC; + border: 1px solid rgba(42, 97, 255, 0.23); .ellipsistxt{ margin-top: 6px; #ptxt{ @@ -239,20 +238,25 @@ margin-left: 8px; cursor: pointer; border-radius: 2px; - background-color: #c1c1c1; + height: 16px; + background: rgba(153, 153, 153, 0.2); + border-radius: 2px; padding:0px 4px; height: 14px; line-height: 14px; margin-top: 9px; i{ font-size: 15px!important; - color: #fff; + color: #333; height: 14px; line-height: 14px; } } } .listtablebody{ + border-radius:0px 0px 4px 4px ; + border: 1px solid #D0D0D0; + border-top: none; li.listtablepath{ a{color: #40a9ff;} p{ @@ -260,12 +264,15 @@ } } & > li{ - height: 42px; + height: 44px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #d9d9d9; padding:0px 20px 0px 24px; + &:hover{ + background-color: #F3F4F6; + } & > span:first-child{ width: 30%; overflow: hidden; @@ -327,25 +334,6 @@ } } -.menuslist{ - max-height: 200px; - overflow-y: auto; - padding:10px 15px; - border-radius: 4px; - .ant-dropdown-menu-item{ - border-radius: 8px; - text-align: left!important; - a{ - width: 350px; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - } - } - .ant-dropdown-menu-item.active{ - background-color: #e6f7ff; - } -} .catelogue{ border:1px solid rgb(211, 211, 211); font-size: 15px; diff --git a/src/forge/Main/IndexItem.js b/src/forge/Main/IndexItem.js index 2265ac20..d2b2c097 100644 --- a/src/forge/Main/IndexItem.js +++ b/src/forge/Main/IndexItem.js @@ -5,7 +5,7 @@ import { AlignCenter } from '../Component/layout'; import { Link } from 'react-router-dom'; import '../css/index.scss'; import Nodata from '../Nodata'; -import './list.css'; +import './list.scss'; import img_parise from '../Images/parise.png'; class IndexItem extends Component { diff --git a/src/forge/Main/list.css b/src/forge/Main/list.scss similarity index 90% rename from src/forge/Main/list.css rename to src/forge/Main/list.scss index 43df25ca..5eaa7992 100644 --- a/src/forge/Main/list.css +++ b/src/forge/Main/list.scss @@ -218,9 +218,9 @@ } /* -----------详情------------ */ .detailHeader-wrapper{ - background-color:#FAFBFC; - /* background: url(../Images/forgeBanner.jpg) no-repeat center; */ - /* background-size:cover; */ + background-color:#FBFCFF; + border-bottom:1px solid #e2e2e2; + /* box-shadow: 0px 2px 11px 0px#D0D0D0; */ } .headerMenu-wrapper{ font-size: 16px; @@ -232,7 +232,7 @@ text-align: center; height: 40px; line-height: 28px; - margin-right: 40px; + padding:0px 20px; } .headerMenu-wrapper li a{ color: #666; @@ -241,34 +241,44 @@ margin-right: 8px; } .headerMenu-wrapper li a > span.num{ - height: 28px; - line-height: 29px; - margin-left: 8px; + line-height: 24px; + margin-left: 5px; + margin-top: 2px; font-size: 12px; - color: #2878FF; float: right; + color: #666!important; + background-color: rgba(153, 153, 153, 0.13);; + border-radius: 50%; + width: 24px; + height: 24px; +} +.headerMenu-wrapper li.active a,.headerMenu-wrapper li.active a i{ + color: #2A61FF!important; } .headerMenu-wrapper li.active::after{ position: absolute; bottom:0px; height:2px; - background-color: #5091FF; + background-color: #2A61FF; content:''; left: 0px; width:100%; } .detail_tag_btn{ - height:26px; - line-height: 26px; + height:34px; + line-height: 32px; border-radius:5px; - border:1px solid #f1f1f1; + border:1px solid #D0D0D0; display: flex; align-items: center; margin-left: 30px; padding:0px; - background-color: transparent; + background-color:#FAFBFC; box-shadow: none; } +.detail_tag_btn:hover{ + background-color: #F3F4F6; +} .ant-tooltip { max-width: fit-content!important; } @@ -280,11 +290,12 @@ margin-right: 10px; } .detail_tag_btn_count{ - padding:0px 10px; + width: 42px; + text-align: center; background: #fff; border-radius: 0px 4px 4px 0px; - font-size: 12px; height:100%; + border-left: 1px solid #D0D0D0; } .files-md{ padding:20px; @@ -499,7 +510,7 @@ } .addFile a{ display: block; - background-color: rgb(76, 172, 255,0.8); + background-color: rgba(76, 172, 255,0.8); color: #fff; cursor: pointer; height: 32px; @@ -514,7 +525,7 @@ border-left: 1px solid rgba(247, 247, 247, 0.3); } .addFile a:active{ - background-color: rgb(76, 172, 255,1); + background-color: rgba(76, 172, 255,1); } @@ -567,14 +578,28 @@ border-bottom: 1px solid #d9d9d9; border-radius: 4px 4px 0px 0px; } +.readBox{ + border:none; + &.commonBox .commonBox-info{ + border:1px solid #D0D0D0; + border-top: none; + border-radius: 0px 0px 4px 4px; + padding:20px 38px; + } +} .commonBox .commonBox-title.boxTitle{ display: flex; justify-content: space-between; + height: 65px; + line-height: 65px; + background: #FAFCFF; + border-radius: 4px 4px 0px 0px; + border: 1px solid rgba(42, 97, 255, 0.23); } .synchronism{ display: block; - height: 26px; - line-height: 26px; + height: 34px; + line-height: 34px; padding:0px 15px; color: #fff!important; background-color: #28BD6C; @@ -583,10 +608,16 @@ .files_info{ cursor: pointer; } -.commonBox .commonBox-info{ - padding:20px 15px; +.commonBox { + .commonBox-info{ + padding:20px 15px; + } +} +.commonBox-title-read{ + vertical-align: middle; + color: #666; + font-size: 14px; } -.commonBox-title-read{vertical-align: middle;color: #666;} @media screen and (max-width: 370px){ .p-r-tags,.p-r-btn{ @@ -732,4 +763,13 @@ a.color-grey-ccc:hover{ text-align: center; display: flex; justify-content: center; +} +.depotNum{ + color: #666!important; + span:last-child{ + color: #333; + } + &:hover span:last-child{ + color: #2A61FF; + } } \ No newline at end of file diff --git a/src/forge/Main/sub/DetailBanner.jsx b/src/forge/Main/sub/DetailBanner.jsx index abce4003..cdfd253d 100644 --- a/src/forge/Main/sub/DetailBanner.jsx +++ b/src/forge/Main/sub/DetailBanner.jsx @@ -1,6 +1,7 @@ import React, { useEffect, useState } from 'react'; import { Skeleton , Tooltip} from 'antd'; import { Link } from 'react-router-dom'; +import { numFormat } from 'educoder'; function DetailBanner({ history,list , owner , projectsId , isManager , url , pathname , state , urlFlag , projectDetail , platform ,open_devops }){ const [ menuName , setMenuName ] = useState(undefined); @@ -50,7 +51,7 @@ function DetailBanner({ history,list , owner , projectsId , isManager , url , pa 易修 - {projectDetail && projectDetail.issues_count ? {projectDetail.issues_count} : ""} + {projectDetail && projectDetail.issues_count ? {numFormat(projectDetail.issues_count)} : ""}
  • @@ -61,7 +62,7 @@ function DetailBanner({ history,list , owner , projectsId , isManager , url , pa 合并请求 - {projectDetail && projectDetail.pull_requests_count ? {projectDetail.pull_requests_count} : ""} + {projectDetail && projectDetail.pull_requests_count ? {numFormat(projectDetail.pull_requests_count)} : ""} :"" } @@ -101,7 +102,7 @@ function DetailBanner({ history,list , owner , projectsId , isManager , url , pa 里程碑 - {projectDetail && projectDetail.versions_count ? {projectDetail.versions_count} :""} + {projectDetail && projectDetail.versions_count ? {numFormat(projectDetail.versions_count)} :""} } diff --git a/src/forge/Main/sub/Invite.jsx b/src/forge/Main/sub/Invite.jsx index 61fb40cf..201cee6d 100644 --- a/src/forge/Main/sub/Invite.jsx +++ b/src/forge/Main/sub/Invite.jsx @@ -6,7 +6,7 @@ function Invite({code,className}) { return(
    - 邀请码 + 邀请码
    可以通过邀请码邀请成员加入项目
    点击复制邀请码。

    } className="ml8 font-16" inputId="devitecode"/> diff --git a/src/forge/Main/sub/ReadmeCatelogue.jsx b/src/forge/Main/sub/ReadmeCatelogue.jsx new file mode 100644 index 00000000..64eb90ba --- /dev/null +++ b/src/forge/Main/sub/ReadmeCatelogue.jsx @@ -0,0 +1,57 @@ +import React , {useState } from 'react'; +import { Anchor , Input } from 'antd'; +import './sub.scss'; + +const { Link } = Anchor; +const { Search } = Input; + +function ReadmeCatelogue({ menuList }) { + const [ goHref , setGoHref ] = useState(""); + const [ value , setValue ] = useState(""); + const [ menu , setMenu] = useState(menuList); + + + function onChange(link){ + setGoHref(link); + }; + + function changeValue(e) { + setValue(e.target.value); + if(e.target.value){ + let m = menu.filter(i=>i.text.indexOf(e.target.value)>-1); + setMenu(m); + }else{ + setMenu(menuList); + } + } + return( +
    +
    + }/> +
    + { + menu && menu.length>0? +
    + + { + menu.map((item,key)=>{ + return( +
    + +
    + ) + }) + } +
    +
    + :"" + } + +
    + ) +} +export default ReadmeCatelogue; \ No newline at end of file diff --git a/src/forge/Main/sub/sub.scss b/src/forge/Main/sub/sub.scss index aa873971..d4db6208 100644 --- a/src/forge/Main/sub/sub.scss +++ b/src/forge/Main/sub/sub.scss @@ -24,7 +24,47 @@ } } -.detailsCode{ - display: flex; - justify-content: space-between; +.menuslist{ + z-index: 100; + width: 297px; + background: #FFFFFF; + box-shadow: 0px 4px 8px 2px rgba(212, 212, 212, 0.5); + border-radius: 4px; + .searchBox{ + padding:15px; + border-bottom: 1px solid #eee; + } + .anchorBox{ + max-height: 255px; + overflow-y: auto; + } + .ant-anchor-wrapper{ + margin-left: 0px; + padding:5px 15px; + .items{ + border-radius: 4px; + margin-bottom: 5px; + cursor: pointer; + .ant-anchor-link-title{ + color: #333333!important; + } + &:hover{ + background-color: #F3F4F6; + } + &.active{ + background-color: #2A61FF; + .ant-anchor-link-title{ + color: #fff!important; + } + } + } + .ant-anchor-link{ + padding:0px; + height: 30px; + line-height: 30px; + } + .ant-anchor-ink::before{ + background-color: #fff; + } + } } \ No newline at end of file diff --git a/src/forge/Team/Setting/TeamSettingCommon.jsx b/src/forge/Team/Setting/TeamSettingCommon.jsx index 5bab8f53..499a00c2 100644 --- a/src/forge/Team/Setting/TeamSettingCommon.jsx +++ b/src/forge/Team/Setting/TeamSettingCommon.jsx @@ -1,5 +1,5 @@ import React, { forwardRef , useCallback , useEffect, useState } from 'react'; -import { Form , Input , Radio ,Checkbox , Divider , Button } from 'antd'; +import { Form , Input , Radio ,Checkbox , Divider , Button , InputNumber } from 'antd'; import { WhiteBack , FlexAJ } from '../../Component/layout'; import Title from '../../Component/Title'; import styled from 'styled-components'; @@ -31,7 +31,8 @@ export default Form.create()( useEffect(()=>{ if(organizeDetail){ setFieldsValue({ - ...organizeDetail + ...organizeDetail, + max_repo_creation:organizeDetail.max_repo_creation===-1 ? "":organizeDetail.max_repo_creation }) setImage(organizeDetail.avatar_url); setDescNum(organizeDetail.description ? organizeDetail.description.length : 0); @@ -39,10 +40,10 @@ export default Form.create()( },[organizeDetail]) const helper = useCallback( - (label, name, rules, widget , isRequired , flag ) => ( + (label, name, rules, widget , isRequired , flag , help ) => (
    {label} - + {getFieldDecorator(name, { rules, validateFirst: true , valuePropName:flag ? "checked":"value" })(widget)}
    @@ -175,7 +176,8 @@ export default Form.create()( '最大仓库数:', "max_repo_creation", [], - + ,false,false, + "当输入栏为空时,默认数量无限制" )}

    选择头像:

    diff --git a/src/forge/css/index.scss b/src/forge/css/index.scss index 00e46b6f..0264c73c 100644 --- a/src/forge/css/index.scss +++ b/src/forge/css/index.scss @@ -11,7 +11,10 @@ ul,ol,dl{ font-size: 22px; font-weight: normal; line-height: 30px; - max-width: 850px; + max-width: 700px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; .projectN{ word-break: break-all; } diff --git a/src/modules/tpm/challengesnew/tpm-md-editor.js b/src/modules/tpm/challengesnew/tpm-md-editor.js index ad25fa9c..01a9a375 100644 --- a/src/modules/tpm/challengesnew/tpm-md-editor.js +++ b/src/modules/tpm/challengesnew/tpm-md-editor.js @@ -8,7 +8,7 @@ import './css/TPMchallengesnew.css'; import 'codemirror/lib/codemirror.css'; const $ = window.$ -const mdIcons = ["bold", "italic", "|", "list-ul", "list-ol", "|", "code", "code-block", "link", "|", "inline-latex", "latex", '|', "image", "table", '|', "line-break", "watch", "clear"]; +const mdIcons = ["bold", "italic", "|", "list-ul", "list-ol", "|", "code", "code-block", "link", "|", "inline-latex", "latex", '|', "image", "table", '|', "line-break", "watch", "clear","fullScreen"]; const NULL_CH = '▁'; @@ -134,6 +134,7 @@ export default ({ mdID, onChange, onCMBeforeChange, onCMBlur, error = false, cla }, toolbarIconsClass: { "line-break": "fa-minus", + "fullScreen":"iconfont icon-fangdaicon font-14" }, toolbarCustomIcons: { "inline-latex": "", @@ -150,6 +151,10 @@ export default ({ mdID, onChange, onCMBeforeChange, onCMBlur, error = false, cla } cm.replaceSelection(NULL_CH) }, + "fullScreen":function(cm,icon,cursor,selection){ + icon.addClass("none"); + console.log(cm,icon) + }, "inline-latex": function (cm, icon, cursor, selection) { cm.replaceSelection("$$" + selection + "$$"); cm.setCursor(cursor.line, cursor.ch + 2); @@ -164,7 +169,8 @@ export default ({ mdID, onChange, onCMBeforeChange, onCMBlur, error = false, cla lang: { toolbar: { "latex": "多行公式", - "line-break": "换行" + "line-break": "换行", + "fullScreen":"开启全屏" } }, onload: function () { @@ -229,7 +235,7 @@ export default ({ mdID, onChange, onCMBeforeChange, onCMBlur, error = false, cla if (resizeBarEl.current) { let el = resizeBarEl.current let dragging = false - let startY = 0 + let startY = 0 function onMouseDown(e) { dragging = true startY = e.pageY From cbfb73d1cb35e1a82c4994770224a87db53447e6 Mon Sep 17 00:00:00 2001 From: caishi <1149225589@qq.com> Date: Thu, 12 Aug 2021 15:24:45 +0800 Subject: [PATCH 015/227] =?UTF-8?q?=E5=90=8C=E4=B8=8A-=E7=BB=86=E8=8A=82?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Main/CoderDepot.jsx | 32 ++++++++++++------------ src/forge/Main/CoderDepotReadme.jsx | 2 +- src/forge/Main/Index.scss | 38 ++++++++++++++++++++++------- 3 files changed, 46 insertions(+), 26 deletions(-) diff --git a/src/forge/Main/CoderDepot.jsx b/src/forge/Main/CoderDepot.jsx index 6769528a..ba215553 100644 --- a/src/forge/Main/CoderDepot.jsx +++ b/src/forge/Main/CoderDepot.jsx @@ -1,6 +1,6 @@ import React , { useEffect , useState } from 'react'; import { WhiteBack , Box , LongWidth , ShortWidth , Gap , AlignCenter , FlexAJ } from '../Component/layout'; -import { Dropdown , Menu , Divider , Spin, Button } from 'antd'; +import { Dropdown , Menu , Divider , Spin, Button , Typography } from 'antd'; import { getImageUrl } from "educoder"; import { Link } from 'react-router-dom'; import CloneAddress from '../Branch/CloneAddress'; @@ -24,7 +24,7 @@ import CheckProfile from '../Component/ProfileModal/Profile'; /** * projectDetail.type:0是托管项目,1是镜像项目,2是同步镜像项目(为2时不支持在线创建、在线上传、在线修改、在线删除、创建合并请求等功能) */ - + const { Paragraph } = Typography; function turnbar(str){ if(str && str.length>0 && str.indexOf("/")>-1){ return str.replaceAll('/','%2F'); @@ -467,25 +467,25 @@ function CoderDepot(props){ {desc &&

    {desc}

    } { website && -

    - - {website} -

    +
    + + {website} +
    } -

    - - README.md -

    -

    - +

    + + README.md +
    +
    + {projectDetail && projectDetail.size} -

    +
    { projectDetail && projectDetail.license_name && -

    +

    - {projectDetail.license_name} -

    + {projectDetail.license_name} +
    }
    { diff --git a/src/forge/Main/CoderDepotReadme.jsx b/src/forge/Main/CoderDepotReadme.jsx index 526e28d5..59a687dd 100644 --- a/src/forge/Main/CoderDepotReadme.jsx +++ b/src/forge/Main/CoderDepotReadme.jsx @@ -45,7 +45,7 @@ function CoderDepotReadme({ operate , history , readme , ChangeFile }){ - + 目录 diff --git a/src/forge/Main/Index.scss b/src/forge/Main/Index.scss index c97185e7..61f67c54 100644 --- a/src/forge/Main/Index.scss +++ b/src/forge/Main/Index.scss @@ -204,6 +204,7 @@ padding:13px 20px; border-radius: 4px 4px 0px 0px; border: 1px solid rgba(42, 97, 255, 0.23); + background-color: #FAFCFF; .ellipsistxt{ margin-top: 6px; #ptxt{ @@ -226,12 +227,12 @@ overflow: hidden; position: relative; padding-right:8px; - &::after{ - position: absolute; - right: 0px; - bottom: 0px; - content:"..."; - } + // &::after{ + // position: absolute; + // right: 0px; + // bottom: 0px; + // content:"..."; + // } } } .ellipsis{ @@ -335,17 +336,22 @@ } .catelogue{ - border:1px solid rgb(211, 211, 211); + cursor: pointer; + background: #FAFBFC; + border-radius: 4px; + border: 1px solid #D0D0D0; font-size: 15px; font-weight: normal; - border-radius: 5px; - margin-right: 10px; + margin-right: 12px; padding:0px 10px; height: 30px; line-height: 30px; color: #666!important; display: flex; align-items: center; + &:hover{ + background-color: #F3F4F6; + } span{ margin-top: 1px; } @@ -358,4 +364,18 @@ &:hover{ color: #05101a; } +} +.pinfos{ + i,a{color: #666;} + &:hover i,&:hover a{ + color: #2A61FF; + } +} +.graph{ + flex:1; + margin:0px 12px; + .ant-typography{ + white-space: pre-wrap; + margin-bottom: 0px; + } } \ No newline at end of file From 984856a29c6513df979576702c8dbcedd6430d8c Mon Sep 17 00:00:00 2001 From: caishi <1149225589@qq.com> Date: Thu, 12 Aug 2021 17:36:37 +0800 Subject: [PATCH 016/227] md fullscreen --- src/modules/tpm/challengesnew/tpm-md-editor.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/tpm/challengesnew/tpm-md-editor.js b/src/modules/tpm/challengesnew/tpm-md-editor.js index 01a9a375..e1c06eda 100644 --- a/src/modules/tpm/challengesnew/tpm-md-editor.js +++ b/src/modules/tpm/challengesnew/tpm-md-editor.js @@ -8,7 +8,7 @@ import './css/TPMchallengesnew.css'; import 'codemirror/lib/codemirror.css'; const $ = window.$ -const mdIcons = ["bold", "italic", "|", "list-ul", "list-ol", "|", "code", "code-block", "link", "|", "inline-latex", "latex", '|', "image", "table", '|', "line-break", "watch", "clear","fullScreen"]; +const mdIcons = ["bold", "italic", "|", "list-ul", "list-ol", "|", "code", "code-block", "link", "|", "inline-latex", "latex", '|', "image", "table", '|', "line-break", "watch", "clear"]; const NULL_CH = '▁'; From 37f608cdb84d2df5b434760f4465fa5b172bd1fe Mon Sep 17 00:00:00 2001 From: caishi <1149225589@qq.com> Date: Fri, 13 Aug 2021 17:12:56 +0800 Subject: [PATCH 017/227] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=BA=93-=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Branch/CloneAddress.js | 2 +- src/forge/Branch/branch.scss | 3 +- src/forge/Component/Component.scss | 82 +++++++++++++--- src/forge/Component/Contributors.jsx | 29 +++--- src/forge/Component/LanguagePower.jsx | 2 +- src/forge/Component/Releases.jsx | 3 +- src/forge/Main/CoderDepot.jsx | 18 ++-- src/forge/Main/CoderDepotCatalogue.jsx | 2 +- src/forge/Main/CoderDepotReadme.jsx | 44 +++++---- src/forge/Main/Detail.js | 12 +++ src/forge/Main/Index.scss | 79 +++++++++++---- src/forge/Main/list.scss | 128 +++++++++++++------------ src/forge/Main/sub/DetailBanner.jsx | 2 +- src/forge/Main/sub/ReadmeCatelogue.jsx | 10 +- src/forge/Main/sub/sub.scss | 5 +- src/forge/css/index.scss | 2 +- 16 files changed, 268 insertions(+), 155 deletions(-) diff --git a/src/forge/Branch/CloneAddress.js b/src/forge/Branch/CloneAddress.js index e936bb70..c2e6dd74 100644 --- a/src/forge/Branch/CloneAddress.js +++ b/src/forge/Branch/CloneAddress.js @@ -7,7 +7,7 @@ function CloneAddress({http_url , ssh_url , zip_url , tar_url}) { const [ key , setKey ] = useState("HTTP"); return (
    -
    +
    {setKey(e.key)}}>HTTP {setKey(e.key)}}>SSH diff --git a/src/forge/Branch/branch.scss b/src/forge/Branch/branch.scss index dd9c7b14..74f52e54 100644 --- a/src/forge/Branch/branch.scss +++ b/src/forge/Branch/branch.scss @@ -48,7 +48,7 @@ .branch-tagBox{ border:1px solid #D0D0D0; border-radius: 3px; - height: 40px; + height: 36px; display: flex; align-items: center; cursor: pointer; @@ -98,6 +98,7 @@ .urlMenu{ line-height: 30px; margin-bottom: 10px; + padding:15px 20px 0px 20px; border-bottom: none; li.ant-menu-item{ height: 30px; diff --git a/src/forge/Component/Component.scss b/src/forge/Component/Component.scss index 3a94c375..627304e1 100644 --- a/src/forge/Component/Component.scss +++ b/src/forge/Component/Component.scss @@ -113,7 +113,14 @@ li.ant-menu-item{ z-index: 10000; } .laterest{ - color: #05690d; + background-color: #EF3131; + color: #fff; + font-size: 12px; + margin-left: 10px; + padding:0px 5px; + border-radius: 2px; + height: 18px; + line-height: 18px; } @media screen and (max-width: 1800px){ @@ -157,39 +164,88 @@ li.ant-menu-item{ } .menuPanels{ - width: 240px; - height: 180px; + width: 295px; + .leftline{ + position: relative; + color: #666; + height: 16px; + &::before{ + position: absolute; + left: -10px; + top:3px; + height: 12px; + width: 1px; + background-color: #666666; + content: ""; + } + } + .ant-btn{ + height: 36px; + line-height: 34px; + width: 83px; + text-align: center; + padding:0px ; + font-weight: 500; + font-size: 14px; + &.currentBtn{ + cursor: default; + color: #333; + &:hover{ + color: #333; + border-color: #d0d0d0; + } + } + } + .ant-btn-default{ + color: #333; + border-color: #d0d0d0; + &:hover{ + background: #F3F4F6; + } + } + .ant-btn-primary{ + color: #fff; + background-color: #2A61FF; + } + .focusPanelHeadInfo{ + padding:14px 16px; + border-bottom: 1px solid #eee; + } .ant-popover-content,.ant-popover-inner{ height: 100%; width: 100%; } + .ant-popover-inner-content{ + padding:0px; + } } .halfs{ margin-top: 24px; padding:24px 0px 0px 0px; border-top: 1px solid #e8e8e8; - .attrPerson{ - padding-bottom: 24px; - } +} +.aboutSubTitle{ + display: flex; + align-items: center; } .menuinfos{ - padding:15px 0px; + padding:10px 20px; &>a{ display: flex; flex-direction: column; align-items: center; - border-right: 1px solid #eee; flex: 1; & >span:first-child{ - font-size: 18px; - font-weight: 400; + font-size: 16px; + font-weight: 500; color: #333; + line-height: 22px; } & >span:last-child{ color: #666; - } - &:last-child{ - border-right: none; + font-weight: 400; + line-height: 20px; + margin-top: 6px; } } } diff --git a/src/forge/Component/Contributors.jsx b/src/forge/Component/Contributors.jsx index 2f67b3ab..f878f672 100644 --- a/src/forge/Component/Contributors.jsx +++ b/src/forge/Component/Contributors.jsx @@ -1,13 +1,13 @@ import React, { useEffect, useState } from 'react'; import { AlignCenter , FlexAJ } from '../Component/layout'; import { Link } from 'react-router-dom'; -import { Popover , Spin } from 'antd'; +import { Popover , Spin , Button } from 'antd'; import { getImageUrl } from 'educoder'; import './Component.scss'; import { getUser } from '../GetData/getData'; import axios from 'axios'; -function Contributors({contributors,owner,projectsId}){ +function Contributors({contributors,owner,projectsId,currentLogin}){ const [ menuList ,setMenuList ]= useState([]); const [ list , setList ]= useState(undefined); const [ total , setTotal ]= useState(0); @@ -73,19 +73,18 @@ function Contributors({contributors,owner,projectsId}){ 关注数 - { - data.organizations && data.organizations.length > 0 ? - - 所属组织: -
    - {renderArray(data.organizations)} -
    -
    - :"" - } - { - data.location && 所在地址:{data.location} - } +
    + { + currentLogin && (currentLogin === data.login) + ? + + : + data.is_watch ? + + : + + } +
    ) setMenu(ele); diff --git a/src/forge/Component/LanguagePower.jsx b/src/forge/Component/LanguagePower.jsx index 3197309c..8d3e361b 100644 --- a/src/forge/Component/LanguagePower.jsx +++ b/src/forge/Component/LanguagePower.jsx @@ -25,7 +25,7 @@ function LanguagePower({languages}){ } return(
    -

    开发语言

    +

    开发语言

    { array && array.map((item,key)=>{ diff --git a/src/forge/Component/Releases.jsx b/src/forge/Component/Releases.jsx index ae794806..4a689f5f 100644 --- a/src/forge/Component/Releases.jsx +++ b/src/forge/Component/Releases.jsx @@ -19,13 +19,12 @@ function Releases({owner,projectsId,releaseVersions , baseOperate , projectType} releaseVersions.list.map((item,key)=>{ return( key === 0 && -

    {item.name} 最新

    -

    {item.created_at}

    +

    {item.created_at}

    ) diff --git a/src/forge/Main/CoderDepot.jsx b/src/forge/Main/CoderDepot.jsx index ba215553..78723601 100644 --- a/src/forge/Main/CoderDepot.jsx +++ b/src/forge/Main/CoderDepot.jsx @@ -321,7 +321,7 @@ function CoderDepot(props){ list = {mainFlag ? dirInfo : undefined} />
    setVisible(true)}> - + 目录
    @@ -334,7 +334,7 @@ function CoderDepot(props){
    -
    +
    { props && props.platform ? - + { baseOperate && ((projectDetail.type !== 2 && pullsFlag) || issuesFlag )&&
    @@ -379,12 +379,12 @@ function CoderDepot(props){ } { fileOperate && - + } - + @@ -464,7 +464,7 @@ function CoderDepot(props){ setOpenModal(true)} className="iconfont icon-anquanshezhi color-grey-9 font-15"> } - {desc &&

    {desc}

    } + {desc &&

    {desc}

    } { website &&
    @@ -473,7 +473,7 @@ function CoderDepot(props){
    }
    - + README.md
    @@ -483,7 +483,7 @@ function CoderDepot(props){ { projectDetail && projectDetail.license_name &&
    - + {projectDetail.license_name}
    } @@ -499,7 +499,7 @@ function CoderDepot(props){ lesson_url &&
    -

    实践课程

    +

    实践课程

    {lesson_url}
    } diff --git a/src/forge/Main/CoderDepotCatalogue.jsx b/src/forge/Main/CoderDepotCatalogue.jsx index ad284769..ff2b576b 100644 --- a/src/forge/Main/CoderDepotCatalogue.jsx +++ b/src/forge/Main/CoderDepotCatalogue.jsx @@ -13,7 +13,7 @@ function CoderDepotCatalogue({item , goToSubRoot , owner , projectsId }){
  • goToSubRoot(item.path,item.type,item.name)} className={item.type === "submodule" && "submoduleStyle"}> - {item.name} + {item.name} diff --git a/src/forge/Main/CoderDepotReadme.jsx b/src/forge/Main/CoderDepotReadme.jsx index 59a687dd..e5f6cbc4 100644 --- a/src/forge/Main/CoderDepotReadme.jsx +++ b/src/forge/Main/CoderDepotReadme.jsx @@ -1,8 +1,7 @@ import React, { useEffect, useState } from 'react'; import RenderHtml from '../../components/render-html'; import { AlignCenter } from '../Component/layout'; -import { Dropdown , Menu , Spin } from 'antd'; -import { Link } from 'react-router-dom'; +import { Dropdown , Anchor , Spin } from 'antd'; import ReadmeCatelogue from './sub/ReadmeCatelogue'; const $ = window.$; @@ -33,32 +32,35 @@ function CoderDepotReadme({ operate , history , readme , ChangeFile }){ function menu(){ if(menuList && menuList.length > 0){ return( - + ) }else{ return } } + return(
    -
    - - - - - 目录 - - - README.md - - { - operate ? - ChangeFile(readme && readme.path, false)}> - - - :"" - } -
    + +
    + + + + + 目录 + + + README.md + + { + operate ? + ChangeFile(readme && readme.path, false)}> + + + :"" + } +
    +
    { content &&
    diff --git a/src/forge/Main/Detail.js b/src/forge/Main/Detail.js index 0ddc5706..bc104ff6 100644 --- a/src/forge/Main/Detail.js +++ b/src/forge/Main/Detail.js @@ -557,6 +557,18 @@ class Detail extends Component { }
    +
    + { + projectDetail && projectDetail.forked_from_project_id && projectDetail.fork_info ? + this.textFunc(projectDetail.forked_from_project_id,projectDetail.fork_info) + :"" + } + { + projectDetail && projectDetail.type && projectDetail.type !== 0 ? + 镜像自 {projectDetail.mirror_url} + :"" + } +
    { firstSync ? "" : img{ - margin-right: 8px; -} -.headerMenu-wrapper li a > span.num{ - line-height: 24px; - margin-left: 5px; - margin-top: 2px; - font-size: 12px; - float: right; - color: #666!important; - background-color: rgba(153, 153, 153, 0.13);; - border-radius: 50%; - width: 24px; - height: 24px; -} -.headerMenu-wrapper li.active a,.headerMenu-wrapper li.active a i{ - color: #2A61FF!important; -} -.headerMenu-wrapper li.active::after{ - position: absolute; - bottom:0px; - height:2px; - background-color: #2A61FF; - content:''; - left: 0px; - width:100%; + cursor: pointer; + li{ + font-size: 14px; + position: relative; + text-align: center; + height: 40px; + line-height: 28px; + padding:0px 20px; + & > a{ + color: #666; + &> img{ + margin-right: 8px; + } + &> span.num{ + line-height: 24px; + margin-left: 5px; + margin-top: 2px; + font-size: 12px; + float: right; + color: #666!important; + background-color: rgba(153, 153, 153, 0.13);; + border-radius: 50%; + width: 24px; + height: 24px; + } + } + &.active a,&.active a i{ + color: #2A61FF!important; + } + &.active::after,&:hover::after{ + position: absolute; + bottom:0px; + height:2px; + background-color: #2A61FF; + content:''; + left: 0px; + width:100%; + } + &:hover::after{ + background-color: rgba(153, 153, 153, 0.2);; + } + } } .detail_tag_btn{ height:34px; @@ -271,32 +274,36 @@ border:1px solid #D0D0D0; display: flex; align-items: center; - margin-left: 30px; + margin-left: 10px; padding:0px; background-color:#FAFBFC; box-shadow: none; -} -.detail_tag_btn:hover{ - background-color: #F3F4F6; + &:hover{ + background-color: #F3F4F6; + } + .detail_tag_btn_name{ + padding:0px 18px; + min-width: 82px; + text-align: center; + &:hover>span{ + color: #333!important; + } + img{ + margin-right: 10px; + } + } + .detail_tag_btn_count{ + width: 42px; + text-align: center; + background: #fff; + border-radius: 0px 4px 4px 0px; + height:100%; + border-left: 1px solid #D0D0D0; + } } .ant-tooltip { max-width: fit-content!important; } -.detail_tag_btn_name{ - padding:0px 10px; - color: #666!important; -} -.detail_tag_btn_name img{ - margin-right: 10px; -} -.detail_tag_btn_count{ - width: 42px; - text-align: center; - background: #fff; - border-radius: 0px 4px 4px 0px; - height:100%; - border-left: 1px solid #D0D0D0; -} .files-md{ padding:20px; } @@ -347,6 +354,7 @@ .gitAddressClone{ + margin:0px 20px 14px 20px!important; display: flex; height: 40px; align-items: center; @@ -658,9 +666,7 @@ .item:last-child{ border-bottom:none; } -.gitAddressClone{ - margin: 0 !important; -} + .item_title small{ font-weight: 400; margin-left: 10px; diff --git a/src/forge/Main/sub/DetailBanner.jsx b/src/forge/Main/sub/DetailBanner.jsx index cdfd253d..1dfec532 100644 --- a/src/forge/Main/sub/DetailBanner.jsx +++ b/src/forge/Main/sub/DetailBanner.jsx @@ -18,7 +18,7 @@ function DetailBanner({ history,list , owner , projectsId , isManager , url , pa } },[list]); return( -
    +
    { menuName && projectDetail ?
      diff --git a/src/forge/Main/sub/ReadmeCatelogue.jsx b/src/forge/Main/sub/ReadmeCatelogue.jsx index 64eb90ba..d1e018bb 100644 --- a/src/forge/Main/sub/ReadmeCatelogue.jsx +++ b/src/forge/Main/sub/ReadmeCatelogue.jsx @@ -1,11 +1,11 @@ -import React , {useState } from 'react'; +import React , { useState , useEffect } from 'react'; import { Anchor , Input } from 'antd'; import './sub.scss'; +import { Base64 } from 'js-base64'; const { Link } = Anchor; -const { Search } = Input; -function ReadmeCatelogue({ menuList }) { +function ReadmeCatelogue({ menuList , hash }) { const [ goHref , setGoHref ] = useState(""); const [ value , setValue ] = useState(""); const [ menu , setMenu] = useState(menuList); @@ -18,7 +18,7 @@ function ReadmeCatelogue({ menuList }) { function changeValue(e) { setValue(e.target.value); if(e.target.value){ - let m = menu.filter(i=>i.text.indexOf(e.target.value)>-1); + let m = menuList.filter(i=>i.text.indexOf(e.target.value)>-1); setMenu(m); }else{ setMenu(menuList); @@ -41,7 +41,7 @@ function ReadmeCatelogue({ menuList }) { menu.map((item,key)=>{ return(
      - +
      ) }) diff --git a/src/forge/Main/sub/sub.scss b/src/forge/Main/sub/sub.scss index d4db6208..4e6a3d8a 100644 --- a/src/forge/Main/sub/sub.scss +++ b/src/forge/Main/sub/sub.scss @@ -34,13 +34,10 @@ padding:15px; border-bottom: 1px solid #eee; } - .anchorBox{ - max-height: 255px; - overflow-y: auto; - } .ant-anchor-wrapper{ margin-left: 0px; padding:5px 15px; + max-height: 255px!important; .items{ border-radius: 4px; margin-bottom: 5px; diff --git a/src/forge/css/index.scss b/src/forge/css/index.scss index 0264c73c..e1986728 100644 --- a/src/forge/css/index.scss +++ b/src/forge/css/index.scss @@ -11,7 +11,7 @@ ul,ol,dl{ font-size: 22px; font-weight: normal; line-height: 30px; - max-width: 700px; + max-width: 690px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; From 2882289267bdfa44e7bfdbe328706ff27abf3df3 Mon Sep 17 00:00:00 2001 From: caishi <1149225589@qq.com> Date: Mon, 23 Aug 2021 10:08:04 +0800 Subject: [PATCH 018/227] =?UTF-8?q?=E9=87=8C=E7=A8=8B=E7=A2=91-=E5=88=87?= =?UTF-8?q?=E6=8D=A2=E5=88=86=E9=A1=B5=E9=9C=80=E8=A6=81=E5=B8=A6=E4=B8=8A?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Order/Milepost.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/forge/Order/Milepost.js b/src/forge/Order/Milepost.js index 5f6efeeb..55c4b7d7 100644 --- a/src/forge/Order/Milepost.js +++ b/src/forge/Order/Milepost.js @@ -13,7 +13,7 @@ class Milepost extends Component { super(props); this.state = { data: undefined, - limit: 15, + limit: 3, page: 1, order_type: undefined, //新建标签区域是否显示 none 隐藏 block 显示 @@ -122,8 +122,8 @@ class Milepost extends Component { this.setState({ page }) - - this.getList(page); + const { status } = this.state; + this.getList( page , status ); } // 排序 @@ -260,7 +260,7 @@ class Milepost extends Component { { data && data.versions_count > limit ?
      - +
      : "" }
    From dcef7e7872a2d84eb68d74ec1001dc29deed3950 Mon Sep 17 00:00:00 2001 From: caishi <1149225589@qq.com> Date: Mon, 23 Aug 2021 10:15:32 +0800 Subject: [PATCH 019/227] reset --- src/forge/Order/Milepost.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/forge/Order/Milepost.js b/src/forge/Order/Milepost.js index 55c4b7d7..48fc286b 100644 --- a/src/forge/Order/Milepost.js +++ b/src/forge/Order/Milepost.js @@ -13,7 +13,7 @@ class Milepost extends Component { super(props); this.state = { data: undefined, - limit: 3, + limit: 15, page: 1, order_type: undefined, //新建标签区域是否显示 none 隐藏 block 显示 @@ -119,6 +119,7 @@ class Milepost extends Component { } ChangePage = (page) => { + document.body.scrollIntoView(); this.setState({ page }) From 478b080d451464b9cd5a20fd75e05060dd6071a2 Mon Sep 17 00:00:00 2001 From: caishi <1149225589@qq.com> Date: Mon, 23 Aug 2021 14:43:09 +0800 Subject: [PATCH 020/227] =?UTF-8?q?issue=2049808=20:tab=E9=A1=B5=E9=BC=A0?= =?UTF-8?q?=E6=A0=87=E6=82=AC=E5=81=9C=E8=A7=84=E8=8C=83=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Main/list.scss | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/forge/Main/list.scss b/src/forge/Main/list.scss index b4a966b2..c5d011c5 100644 --- a/src/forge/Main/list.scss +++ b/src/forge/Main/list.scss @@ -226,13 +226,15 @@ flex-direction: row; cursor: pointer; li{ - font-size: 14px; position: relative; text-align: center; - height: 40px; - line-height: 28px; - padding:0px 20px; + padding:0px; & > a{ + font-size: 14px; + height: 40px; + line-height: 28px; + padding:0px 20px; + display: block; color: #666; &> img{ margin-right: 8px; @@ -257,13 +259,13 @@ position: absolute; bottom:0px; height:2px; - background-color: #2A61FF; + background-color:rgba(153, 153, 153, 0.2); content:''; left: 0px; width:100%; } - &:hover::after{ - background-color: rgba(153, 153, 153, 0.2);; + &.active::after{ + background-color: #2A61FF; } } } From fbe5da101497ea9966b15db6d7aefa0a09fed801 Mon Sep 17 00:00:00 2001 From: caishi <1149225589@qq.com> Date: Thu, 6 May 2021 10:56:09 +0800 Subject: [PATCH 021/227] =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E6=89=80=E6=9C=89?= =?UTF-8?q?=E6=A0=87=E7=AD=BE=E7=9A=84marginbottom=E4=B8=BA0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/css/edu-purge.css | 1 + 1 file changed, 1 insertion(+) diff --git a/public/css/edu-purge.css b/public/css/edu-purge.css index 3e375077..9dafcdd0 100644 --- a/public/css/edu-purge.css +++ b/public/css/edu-purge.css @@ -1307,6 +1307,7 @@ td, span { margin: 0; padding: 0; + margin-bottom: 0px!important; } table, From d5652fba18a0e34879f717e233da00bb3edefc08 Mon Sep 17 00:00:00 2001 From: caishi <1149225589@qq.com> Date: Thu, 6 May 2021 14:59:54 +0800 Subject: [PATCH 022/227] =?UTF-8?q?=E6=96=B0=E5=BB=BA=E9=A1=B9=E7=9B=AE-ma?= =?UTF-8?q?xlength?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index 69d6155f..628e5a3b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4885,7 +4885,7 @@ }, "dom-closest": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-closest/-/dom-closest-0.2.0.tgz", + "resolved": "https://registry.npm.taobao.org/dom-closest/download/dom-closest-0.2.0.tgz", "integrity": "sha1-69n5HRvyLo1vR3h2u80+yQIWwM8=", "requires": { "dom-matches": ">=1.0.1" @@ -4929,7 +4929,7 @@ }, "dom-matches": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-matches/-/dom-matches-2.0.0.tgz", + "resolved": "https://registry.npm.taobao.org/dom-matches/download/dom-matches-2.0.0.tgz", "integrity": "sha1-0nKLQWqHUzmA6wibhI0lPPI6dYw=" }, "dom-scroll-into-view": { @@ -5187,7 +5187,7 @@ }, "enquire.js": { "version": "2.1.6", - "resolved": "https://registry.npmjs.org/enquire.js/-/enquire.js-2.1.6.tgz", + "resolved": "https://registry.npm.taobao.org/enquire.js/download/enquire.js-2.1.6.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fenquire.js%2Fdownload%2Fenquire.js-2.1.6.tgz", "integrity": "sha1-PoeAybi4NQhMP2DhZtvDwqPImBQ=" }, "entities": { @@ -5706,7 +5706,7 @@ }, "eventlistener": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/eventlistener/-/eventlistener-0.0.1.tgz", + "resolved": "https://registry.npm.taobao.org/eventlistener/download/eventlistener-0.0.1.tgz", "integrity": "sha1-7Suqu4UiJ68rz4iRUscsY8pTLrg=" }, "events": { @@ -8040,7 +8040,7 @@ }, "hammerjs": { "version": "2.0.8", - "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz", + "resolved": "https://registry.npm.taobao.org/hammerjs/download/hammerjs-2.0.8.tgz", "integrity": "sha1-BO93hiz/K7edMPdpIJWTAiK/YPE=" }, "handle-thing": { @@ -8881,7 +8881,7 @@ }, "immutable": { "version": "3.7.6", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz", + "resolved": "https://registry.npm.taobao.org/immutable/download/immutable-3.7.6.tgz", "integrity": "sha1-E7TTyxK++hVIKib+Gy665kAHHks=" }, "import-fresh": { @@ -10486,7 +10486,7 @@ }, "lodash.throttle": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "resolved": "https://registry.npm.taobao.org/lodash.throttle/download/lodash.throttle-4.1.1.tgz", "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=" }, "lodash.uniq": { From 194f6af412258c1c2c2e07ac131e19d3d08406e4 Mon Sep 17 00:00:00 2001 From: caishi <1149225589@qq.com> Date: Thu, 6 May 2021 17:12:42 +0800 Subject: [PATCH 023/227] merge develop --- src/forge/Divert/DivertModal.jsx | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/forge/Divert/DivertModal.jsx b/src/forge/Divert/DivertModal.jsx index acf88117..d4c1f201 100644 --- a/src/forge/Divert/DivertModal.jsx +++ b/src/forge/Divert/DivertModal.jsx @@ -46,14 +46,11 @@ function DivertModal({form , visible , onSuccess , onCancel,owner,repo}){ Axios.post(url,{ ...values }).then(result=>{ - if(result){ - if(result.data.status === 0){ - onSuccess(result.data && result.data.owner); - }else{ - onSuccess(); - } + if(result && result.data.id){ + onSuccess(result.data && result.data.owner); + }else{ + onSuccess(); } - }).catch(error=>{}) } }) From 6e849aa80031d012759fd1901f2ca85b754873e7 Mon Sep 17 00:00:00 2001 From: caishi <1149225589@qq.com> Date: Sat, 8 May 2021 17:28:14 +0800 Subject: [PATCH 024/227] install babel-polyfill --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index b58b501d..a78351cb 100644 --- a/package.json +++ b/package.json @@ -193,6 +193,7 @@ "babel-core": "^6.26.0", "babel-plugin-import": "^1.13.0", "babel-plugin-transform-runtime": "^6.23.0", + "babel-polyfill": "^6.26.0", "babel-preset-es2015": "^6.24.1", "babel-preset-react": "^6.24.1", "babel-preset-stage-2": "^6.24.1", From 9d4893eb4931c6742ed3ab02d6ad5018be1966b2 Mon Sep 17 00:00:00 2001 From: hc1913847458 <1422588487@qq.com> Date: Wed, 4 Aug 2021 14:42:08 +0800 Subject: [PATCH 025/227] =?UTF-8?q?=E9=99=90=E5=88=B6=E5=AD=97=E7=AC=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Main/sub/UpdateDescModal.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/forge/Main/sub/UpdateDescModal.jsx b/src/forge/Main/sub/UpdateDescModal.jsx index 5039123a..63e14fcd 100644 --- a/src/forge/Main/sub/UpdateDescModal.jsx +++ b/src/forge/Main/sub/UpdateDescModal.jsx @@ -53,7 +53,7 @@ function UpdateDescModal({form , visible , onCancel , onOk,desc,website,lesson_u {getFieldDecorator("lesson_url",{ rules:[] })( - + )} From 53fa18907dab24fe1bd2fd0050995b87c8906b13 Mon Sep 17 00:00:00 2001 From: caishi <1149225589@qq.com> Date: Mon, 9 Aug 2021 10:36:15 +0800 Subject: [PATCH 026/227] =?UTF-8?q?=E4=BB=A3=E7=A0=81style?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Main/sub/UpdateDescModal.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/forge/Main/sub/UpdateDescModal.jsx b/src/forge/Main/sub/UpdateDescModal.jsx index 63e14fcd..b0291f34 100644 --- a/src/forge/Main/sub/UpdateDescModal.jsx +++ b/src/forge/Main/sub/UpdateDescModal.jsx @@ -53,7 +53,7 @@ function UpdateDescModal({form , visible , onCancel , onOk,desc,website,lesson_u {getFieldDecorator("lesson_url",{ rules:[] })( - + )} From da657e559bb78762a7afdef7eb68b8c066c20ab6 Mon Sep 17 00:00:00 2001 From: hc1913847458 <1422588487@qq.com> Date: Mon, 30 Aug 2021 16:06:02 +0800 Subject: [PATCH 027/227] save files --- src/forge/Team/Group/GroupForm.jsx | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/forge/Team/Group/GroupForm.jsx b/src/forge/Team/Group/GroupForm.jsx index dad9b64b..94825905 100644 --- a/src/forge/Team/Group/GroupForm.jsx +++ b/src/forge/Team/Group/GroupForm.jsx @@ -34,13 +34,6 @@ export default Form.create()( const { getFieldDecorator, validateFields, setFieldsValue } = form; const { OIdentifier, groupId } = match.params; - useEffect(()=>{ - setFieldsValue({ - authorize:"read", - includes_all_project:0 - }) - },[]) - useEffect(() => { if (GroupDetail) { setOnwers(GroupDetail.authorize === "owner"); From 09e9f01f7e3f7c0692e4321201aae7dbeed26e45 Mon Sep 17 00:00:00 2001 From: hc1913847458 <1422588487@qq.com> Date: Mon, 30 Aug 2021 18:11:38 +0800 Subject: [PATCH 028/227] save files --- src/forge/Main/Detail.js | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/src/forge/Main/Detail.js b/src/forge/Main/Detail.js index bc104ff6..0ddc5706 100644 --- a/src/forge/Main/Detail.js +++ b/src/forge/Main/Detail.js @@ -557,18 +557,6 @@ class Detail extends Component { }
    -
    - { - projectDetail && projectDetail.forked_from_project_id && projectDetail.fork_info ? - this.textFunc(projectDetail.forked_from_project_id,projectDetail.fork_info) - :"" - } - { - projectDetail && projectDetail.type && projectDetail.type !== 0 ? - 镜像自 {projectDetail.mirror_url} - :"" - } -
    { firstSync ? "" : Date: Tue, 31 Aug 2021 11:23:05 +0800 Subject: [PATCH 029/227] issue --- src/forge/Notice/UndoEvent.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/forge/Notice/UndoEvent.jsx b/src/forge/Notice/UndoEvent.jsx index 18cb6d4a..919f712c 100644 --- a/src/forge/Notice/UndoEvent.jsx +++ b/src/forge/Notice/UndoEvent.jsx @@ -61,7 +61,7 @@ function UndoEvent(props){ return(
    -
    +
    { list && list.length > 0 ?
    From b3c9eb3c33610e0a2a03c348a34ba7108b55fc56 Mon Sep 17 00:00:00 2001 From: hc1913847458 <1422588487@qq.com> Date: Wed, 8 Sep 2021 17:42:04 +0800 Subject: [PATCH 047/227] issue --- public/css/edu-purge.css | 6 +++++- src/forge/Main/CoderDepotCatalogue.jsx | 4 ++-- src/forge/Main/Index.scss | 6 ++++-- src/forge/Main/list.scss | 8 ++++---- 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/public/css/edu-purge.css b/public/css/edu-purge.css index 6145a0e8..c190955d 100644 --- a/public/css/edu-purge.css +++ b/public/css/edu-purge.css @@ -2436,6 +2436,10 @@ a.hoverLine:hover{ color: #333333 !important; } +a:hover{ + color: #466AFF !important; +} + .color-grey-98 { color: #989898 !important; } @@ -2477,7 +2481,7 @@ a.color-grey-3:hover,a.color-ooo:hover { color: #2A61FF !important; } .color-blue-file { - color: #0054CC!important; + color: #4598FA!important; } /* 绿色 */ /*主*/ diff --git a/src/forge/Main/CoderDepotCatalogue.jsx b/src/forge/Main/CoderDepotCatalogue.jsx index ff2b576b..a2516768 100644 --- a/src/forge/Main/CoderDepotCatalogue.jsx +++ b/src/forge/Main/CoderDepotCatalogue.jsx @@ -4,8 +4,8 @@ import { truncateCommitId } from '../common/util'; const typeIco = { "submodule":"icon-file-submodule font-17", - "file":'icon-wenjian5 font-15', - "dir":"icon-wenjianjia3 font-15" + "file":'icon-wenjian6 font-15', + "dir":"icon-wenjianjia4 font-15" } function CoderDepotCatalogue({item , goToSubRoot , owner , projectsId }){ diff --git a/src/forge/Main/Index.scss b/src/forge/Main/Index.scss index e09b11be..98b938e4 100644 --- a/src/forge/Main/Index.scss +++ b/src/forge/Main/Index.scss @@ -129,8 +129,9 @@ } } .ant-btn-primary{ + width: 88px; color: #fff; - background-color: #2A61FF; + background-color: #466AFF; } } } @@ -224,6 +225,7 @@ .listtable{ margin-top: 20px; .listtablehead{ + height: 55px; display: flex; justify-content: space-between; align-items: flex-start; @@ -292,7 +294,7 @@ } } & > li{ - height: 44px; + height: 38px; display: flex; justify-content: space-between; align-items: center; diff --git a/src/forge/Main/list.scss b/src/forge/Main/list.scss index 98f36d1e..7680f0da 100644 --- a/src/forge/Main/list.scss +++ b/src/forge/Main/list.scss @@ -253,7 +253,7 @@ } } &.active a,&.active a i{ - color: #2A61FF!important; + color: #466AFF!important; } &.active::after,&:hover::after{ position: absolute; @@ -265,7 +265,7 @@ width:100%; } &.active::after{ - background-color: #2A61FF; + background-color: #466AFF; } } } @@ -600,8 +600,8 @@ .commonBox .commonBox-title.boxTitle{ display: flex; justify-content: space-between; - height: 65px; - line-height: 65px; + height: 55px; + line-height: 55px; background: #FAFCFF; border-radius: 4px 4px 0px 0px; border: 1px solid rgba(42, 97, 255, 0.23); From 540553199ad0d91ddbbe44e230ce70bfeb0e48a5 Mon Sep 17 00:00:00 2001 From: hc1913847458 <1422588487@qq.com> Date: Wed, 8 Sep 2021 17:53:21 +0800 Subject: [PATCH 048/227] issue --- public/css/edu-purge.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/css/edu-purge.css b/public/css/edu-purge.css index c190955d..f571a406 100644 --- a/public/css/edu-purge.css +++ b/public/css/edu-purge.css @@ -1362,6 +1362,7 @@ a:link, a:visited { text-decoration: none; color: #05101a; + height: 55px; } ol, @@ -2459,7 +2460,7 @@ a:hover{ .color-grey-B3 { color: #B3B3B3 !important; } - +` .color-grey-B4 { color: #B4B4B4 !important; } From 46e81355856434e9b5896c84d01e8eccde599573 Mon Sep 17 00:00:00 2001 From: caishi Date: Wed, 8 Sep 2021 18:00:51 +0800 Subject: [PATCH 049/227] overflow --- src/forge/Main/CoderDepotReadme.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/forge/Main/CoderDepotReadme.jsx b/src/forge/Main/CoderDepotReadme.jsx index 3b9b9f97..ef434b12 100644 --- a/src/forge/Main/CoderDepotReadme.jsx +++ b/src/forge/Main/CoderDepotReadme.jsx @@ -42,7 +42,7 @@ function CoderDepotReadme({ operate , history , readme , ChangeFile }){ return(
    -
    +
    From 19afa410b1b2f571dd6519836698d81a33cbe4e5 Mon Sep 17 00:00:00 2001 From: hc1913847458 <1422588487@qq.com> Date: Wed, 8 Sep 2021 18:04:53 +0800 Subject: [PATCH 050/227] issue --- public/css/edu-purge.css | 1 - src/forge/Main/CoderDepotReadme.jsx | 6 +++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/public/css/edu-purge.css b/public/css/edu-purge.css index f571a406..3501ab40 100644 --- a/public/css/edu-purge.css +++ b/public/css/edu-purge.css @@ -1362,7 +1362,6 @@ a:link, a:visited { text-decoration: none; color: #05101a; - height: 55px; } ol, diff --git a/src/forge/Main/CoderDepotReadme.jsx b/src/forge/Main/CoderDepotReadme.jsx index 3b9b9f97..315f7080 100644 --- a/src/forge/Main/CoderDepotReadme.jsx +++ b/src/forge/Main/CoderDepotReadme.jsx @@ -50,9 +50,9 @@ function CoderDepotReadme({ operate , history , readme , ChangeFile }){ 目录 - - README.md - + + README.md + { operate ? From 9e1ce515a8027ddf11960228f3d16dc84d26fb7d Mon Sep 17 00:00:00 2001 From: hc1913847458 <1422588487@qq.com> Date: Wed, 8 Sep 2021 18:09:26 +0800 Subject: [PATCH 051/227] issue --- public/css/edu-purge.css | 1 - src/forge/Main/CoderDepotReadme.jsx | 6 +++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/public/css/edu-purge.css b/public/css/edu-purge.css index f571a406..3501ab40 100644 --- a/public/css/edu-purge.css +++ b/public/css/edu-purge.css @@ -1362,7 +1362,6 @@ a:link, a:visited { text-decoration: none; color: #05101a; - height: 55px; } ol, diff --git a/src/forge/Main/CoderDepotReadme.jsx b/src/forge/Main/CoderDepotReadme.jsx index 3b9b9f97..315f7080 100644 --- a/src/forge/Main/CoderDepotReadme.jsx +++ b/src/forge/Main/CoderDepotReadme.jsx @@ -50,9 +50,9 @@ function CoderDepotReadme({ operate , history , readme , ChangeFile }){ 目录 - - README.md - + + README.md + { operate ? From 8e17efb9c6e1b460906bc0066901f232e2d6e8c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Thu, 9 Sep 2021 09:34:51 +0800 Subject: [PATCH 052/227] =?UTF-8?q?=E9=80=9A=E7=9F=A5=E4=B8=AD=E5=BF=83?= =?UTF-8?q?=E9=9D=99=E6=80=81=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Head/Header.js | 55 +++++++---- src/forge/Head/header.scss | 93 +++++++++++++++---- src/forge/SecuritySetting/Index.jsx | 13 ++- .../SecuritySetting/notice/manager/Index.jsx | 21 +++-- .../SecuritySetting/notice/myNotice/Index.jsx | 75 ++++++++------- .../notice/myNotice/Index.scss | 47 ++++++---- 6 files changed, 206 insertions(+), 98 deletions(-) diff --git a/src/forge/Head/Header.js b/src/forge/Head/Header.js index 1dcfdbea..9197f691 100644 --- a/src/forge/Head/Header.js +++ b/src/forge/Head/Header.js @@ -13,6 +13,8 @@ import '../../modules/tpm/TPMIndex.css'; import CheckProfile from '../Component/ProfileModal/Profile'; import './header.scss'; +import '../SecuritySetting/notice/myNotice/Index.scss' +import NoticeContent from './NoticeContent'; const $ = window.$ // TODO 这部分脚本从公共脚本中直接调用 const { Search } = Input; @@ -47,6 +49,7 @@ class NewHeader extends Component { settings: null, visiblemyss: false, openSearch:false, + noticeType:"0", } } componentDidMount() { @@ -256,20 +259,38 @@ class NewHeader extends Component { ) } + click = (e) =>{ + this.setState({ + noticeType: e.key, + }) + } + messageList=()=>{ + let { noticeType } = this.state; return(
    - - 系统通知 - 私信 - @我 - -
    - aaa +
    + + 系统通知 + 私信 + @我 +
    - ) @@ -457,14 +478,14 @@ class NewHeader extends Component { {/* {current_user && current_user.login && notice_url ? */} {current_user && current_user.login ? - - - - - - - - :"" + + + + + + + + : "" }
    {!user || (user && !user.login) ? diff --git a/src/forge/Head/header.scss b/src/forge/Head/header.scss index 7831788c..48de6c2a 100644 --- a/src/forge/Head/header.scss +++ b/src/forge/Head/header.scss @@ -27,21 +27,6 @@ margin-left: 15px; } -.messageHoverDiv{ - padding: 20px 17px 13px; - width: 386px; - min-height: 294px; - background: #FFFFFF; - box-shadow: 0px 4px 8px 2px rgba(212,212,212,0.5); - border-radius: 4px; - border: 1px solid red; - - .buttom{ - display: flex; - justify-content: space-between; - } -} - .currentMenu{ width: 120px; text-align: center; @@ -142,4 +127,80 @@ width: 110px; text-align: right; } -} \ No newline at end of file +} + +//popover小尖尖 +.ant-popover-arrow{ + display: none; +} + +//popover框 +.ant-popover-inner-content { + width: 386px; + height: 446px; + box-shadow: 0px 4px 8px 2px rgba(212, 212, 212, 0.5); + border-radius: 4px; + margin-top: -10px; +} +.hoverNotice-head>.ant-menu-horizontal { + border-bottom: 1px solid #e8e8e8 !important; +} + +.hoverNotice-head .ant-badge{ + font-size: 14px !important; +} + +.hoverNotice-body{ + height: 342px; + overflow-y: scroll; +} + +.hoverNotice-buttom{ + display: flex; + justify-content: space-between; + margin-top: 12px; + + a{ + color: #466AFF; + } +} + +.noticeCont{ + display: flex; + padding:12px 10px 10px 0; + + i{ + font-size: 16px !important; + margin-right: 5px; + } + + .text{ + position: relative; + max-height: 48px; + color:#333333; + .boldSpan{ + font-weight: 600; + } + + .timeSpan{ + position: absolute; + right: 0px; + font-size: 12px; + color: #666666; + } + } +} + +::-webkit-scrollbar { + width: 5px; /*对垂直流动条有效*/ +} +/*定义滑块颜色、内阴影及圆角*/ +::-webkit-scrollbar-thumb { + border-radius: 6px; + box-shadow: inset 0 0 6px #FFF; + background-color: #D4D4D4; +} +::-webkit-scrollbar-track { + box-shadow: inset 0 0 6px #fff; + background-color: #FFF; +} diff --git a/src/forge/SecuritySetting/Index.jsx b/src/forge/SecuritySetting/Index.jsx index edbd763f..550f6f65 100644 --- a/src/forge/SecuritySetting/Index.jsx +++ b/src/forge/SecuritySetting/Index.jsx @@ -36,6 +36,12 @@ const SSHIndex = Loadable({ loader: () => import("./sub/SSH"), loading: Loading, }); + +const PrivateLetter = Loadable({ + loader: () => import("./notice/privateLetter/Index"), + loading: Loading, +}); + function Index(props){ const { current_user } = props; const { pathname } = props.location; @@ -96,12 +102,17 @@ function Index(props){ )} > + ( + + )} + >
    -
    ) } diff --git a/src/forge/SecuritySetting/notice/manager/Index.jsx b/src/forge/SecuritySetting/notice/manager/Index.jsx index 94bac3d2..ea64a439 100644 --- a/src/forge/SecuritySetting/notice/manager/Index.jsx +++ b/src/forge/SecuritySetting/notice/manager/Index.jsx @@ -1,3 +1,4 @@ +import { Button, Checkbox } from "antd"; import React from "react"; import './Index.scss'; @@ -16,18 +17,18 @@ function NoticeManager(props){
    易修状态变更
    - - + 站内信 + 邮件
    易修截止日期到达最后一天
    - - + 站内信 + 邮件
    合并请求状态变更
    - - + 站内信 + 邮件
    @@ -35,13 +36,13 @@ function NoticeManager(props){
    被关注
    - - + 站内信 + 邮件
    被点赞
    - - + 站内信 + 邮件
    diff --git a/src/forge/SecuritySetting/notice/myNotice/Index.jsx b/src/forge/SecuritySetting/notice/myNotice/Index.jsx index 5a9bfff5..0989eb1e 100644 --- a/src/forge/SecuritySetting/notice/myNotice/Index.jsx +++ b/src/forge/SecuritySetting/notice/myNotice/Index.jsx @@ -1,10 +1,11 @@ import React, { useState, useEffect } from 'react'; import { Badge, Button, Menu } from 'antd'; import './Index.scss'; +import DelModal from '../../../Wiki/components/ModalFun'; function MyNotice(props) { - const [noticeType, setNoticeType] = useState("2"); + const [noticeType, setNoticeType] = useState("1"); const [selectedNum, setSelectedNum] = React.useState(0); const [isBatchDelete, setIsBatchDelete] = useState(false); @@ -13,17 +14,6 @@ function MyNotice(props) { if (e.key != "2") { setIsBatchDelete(false); } - // if(e.key==="0"){ - // const contentDiv = document.getElementsByClassName("content"); - // for (var i = 0; i < contentDiv.length; i++) { - // contentDiv[i].className="content baselineDiv"; - // } - // }else{ - // const contentDiv = document.getElementsByClassName("content"); - // for (var i = 0; i < contentDiv.length; i++) { - // contentDiv[i].className="content"; - // } - // } } function onChange() { @@ -45,13 +35,23 @@ function MyNotice(props) { setSelectedNum(e.target.checked ? checkbox.length : 0); } + function deleteNotice() { + DelModal({ + title: noticeType === "1" ? '删除私信' : '删除与我相关', + contentTitle: noticeType === "1" ? '您确定要删除与 xxx 的聊天吗?' : selectedNum === 0 ? '您确定要删除这条@我消息吗?' : '您确定要删除选中的' + selectedNum + '条消息吗?', + content: noticeType === "1" ? '此操作将删除与xxx的聊天框和xxx的所有聊天记录,请进行确认以防数据的丢失' : selectedNum === 0 ? '此操作将删除这条消息,请进行确认以防数据的丢失' : '此操作将删除选中的' + selectedNum + '条消息,请进行确认以防数据的丢失', + onOk: () => { + + } + }); + } return (
    系统通知 - 私信 + 私信 @我 @@ -68,86 +68,89 @@ function MyNotice(props) {
      - 全选   已选择{selectedNum}项 + 全选   已选择 {selectedNum} 项
         - +
    + {noticeType === "1" ? -
    +
    props.history.push('/settings/notice/privateLetter')}> -
    -
    +
    +
    蒋宇航 4分钟前 - 删除 + 删除
    最好的OpenStack控制台,对标OpenStack社区Horizon项目,在易用性、页面性能等方面进行深度优化,提供简单控制台。
    - :
    + :
    {/* 系统通知 */} {noticeType === "0" ? : ""} {noticeType === "0" ? : ""} - {noticeType === "2" ? : ""} + {noticeType === "2" ? : ""} + {noticeType === "2" ? : ""} 蒋宇航在Gitlink/Gitlink新建易修:【Bug】链接地址错误
    4分钟前 - 标记为已读   {noticeType==="0"?"":删除} + 标记为已读   {noticeType === "0" ? "" : 删除}
    } {noticeType === "1" ? -
    +
    -
    -
    +
    +
    段甲生 5分钟前 - 删除 + 删除
    gitlink平台 react 前端代码
    - :
    + :
    {/* 系统通知 */} {noticeType === "0" ? : ""} {noticeType === "0" ? : ""} - {noticeType === "2" ? : ""} - 蒋宇航在蒋宇航/软件工程课程协同开发案例指派给你一个合并请求:请进行合并请求test + {noticeType === "2" ? : ""} + {noticeType === "2" ? : ""} + 蒋宇航在蒋宇航/软件工程课程协同开发案例指派给你一个合并请求:请进行合并请求test请进行合并请求test请进行合并请求test请进行合并请求test请进行合并请求test请进行合并请求test
    10分钟前 - 标记为已读   {noticeType==="0"?"":删除} + 标记为已读   {noticeType === "0" ? "" : 删除}
    } {noticeType === "1" ? -
    +
    -
    -
    +
    +
    巴拉迪维 7分钟前 - 删除 + 删除
    构建卷积神经网络,训练模型,预测模型效果。
    - :
    + :
    {/* 系统通知 */} @@ -158,7 +161,7 @@ function MyNotice(props) {
    1小时前 - 标记为已读   {noticeType==="0"?"":删除} + 标记为已读   {noticeType === "0" ? "" : 删除}
    }
    diff --git a/src/forge/SecuritySetting/notice/myNotice/Index.scss b/src/forge/SecuritySetting/notice/myNotice/Index.scss index d4773048..c784bc88 100644 --- a/src/forge/SecuritySetting/notice/myNotice/Index.scss +++ b/src/forge/SecuritySetting/notice/myNotice/Index.scss @@ -2,23 +2,29 @@ padding:0 10px 0px 0px !important; .ant-badge{ font-size: 16px; - font-weight: 500; + color: #333333; } .ant-menu-item{ padding:0px; - margin-right:50px!important; + // margin-right:34px!important; height: 34px; + width: 64px; + text-align: center; line-height: 0px; position: relative; } + #item{ + margin: 0 34px !important; + } + li.ant-menu-item, .ant-menu-horizontal > .ant-menu-item { border-bottom: 0px; } .ant-menu-item-selected{ color: #333333 !important; - font-weight: 700; + font-weight: 600; border-bottom: 2px solid #2A61FF !important; } @@ -57,15 +63,17 @@ button:active { .deleteBut:hover{ background: #DF0002; + border: 1px solid #DF0002; color:#FFFFFF; } .deleteBut:active{ background: #CE0002; + border: 1px solid #CE0002; color:#FFFFFF; } -.content { +.mynotice-content { display: flex; align-items: center; justify-content: space-between; @@ -107,6 +115,7 @@ button:active { .cont{ display: flex; align-items: center; + padding:0; } } @@ -137,24 +146,26 @@ button:active { line-height: 16px; } -.right { +.private-letter-right { flex: auto; margin: 0px 10px; -} - -.right div { - display: flex; - justify-content: space-between; - - span{ - max-width: 640px; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; + & div{ + display: flex; + justify-content: space-between; } } -.highlightSpan:hover{ - color: #466AFF; +.highlightSpan{ + max-width: 40rem; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + &:hover{ + color: #466AFF; + cursor: pointer; + } } +#numberSpan{ + color: #466AFF; +} \ No newline at end of file From e0aeab0e2029290016a6f10fc0166788e513dc08 Mon Sep 17 00:00:00 2001 From: caishi Date: Thu, 9 Sep 2021 10:10:19 +0800 Subject: [PATCH 053/227] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=97=E8=A1=A8tip?= =?UTF-8?q?=E6=96=87=E6=A1=88-=E5=BE=85=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Main/IndexItem.js | 10 +++++----- src/forge/Team/RightBox.jsx | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/forge/Main/IndexItem.js b/src/forge/Main/IndexItem.js index 2265ac20..4a1dc671 100644 --- a/src/forge/Main/IndexItem.js +++ b/src/forge/Main/IndexItem.js @@ -41,22 +41,22 @@ class IndexItem extends Component { { !item.is_public && 私有 } { item.forked_from_project_id ? - + - + : "" } { item.type && item.type === 2 ? - + :"" } { item.type && item.type === 1 ? - + - :"" + :"" } diff --git a/src/forge/Team/RightBox.jsx b/src/forge/Team/RightBox.jsx index 7616fd6c..5c85ae47 100644 --- a/src/forge/Team/RightBox.jsx +++ b/src/forge/Team/RightBox.jsx @@ -108,7 +108,7 @@ function RightBox({ OIdentifier , history , admin , showCompeleteDialog ,complet
    { (item.is_admin || item.is_member) ? - {item.name} + {item.nickname} : {item.name} } From a4475e995bf443cc3085644421b463a8bbcc3762 Mon Sep 17 00:00:00 2001 From: caishi Date: Thu, 9 Sep 2021 14:11:02 +0800 Subject: [PATCH 054/227] =?UTF-8?q?=E5=90=8C=E4=B8=8A,=E6=96=87=E6=A1=88?= =?UTF-8?q?=E5=B7=B2=E6=94=B9,=E9=A1=B9=E7=9B=AE=E6=96=B0=E5=BB=BA?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E5=89=8D=E7=AB=AF=E4=BF=AE=E6=94=B9,wait?= =?UTF-8?q?=E5=90=8E=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Main/IndexItem.js | 4 +- src/forge/New/Index.js | 299 ++++++++++++++++------------ src/forge/New/{new.css => new.scss} | 30 ++- 3 files changed, 201 insertions(+), 132 deletions(-) rename src/forge/New/{new.css => new.scss} (68%) diff --git a/src/forge/Main/IndexItem.js b/src/forge/Main/IndexItem.js index 4a1dc671..5b84bcb1 100644 --- a/src/forge/Main/IndexItem.js +++ b/src/forge/Main/IndexItem.js @@ -48,13 +48,13 @@ class IndexItem extends Component { } { item.type && item.type === 2 ? - + :"" } { item.type && item.type === 1 ? - + :"" } diff --git a/src/forge/New/Index.js b/src/forge/New/Index.js index 7a9be5a5..f9f80b4d 100644 --- a/src/forge/New/Index.js +++ b/src/forge/New/Index.js @@ -2,9 +2,10 @@ import React, { Component } from 'react'; import { Link } from 'react-router-dom'; import { Input , Form , Select , Checkbox , Button , Spin , AutoComplete, Modal } from 'antd'; import { Base64 } from 'js-base64'; +import { AlignCenter } from '../Component/layout'; import '../css/index.scss'; -import './new.css' +import './new.scss' import axios from 'axios'; const Option = Select.Option; @@ -44,7 +45,12 @@ class Index extends Component { project_category_name: undefined, license_name: undefined, ignore_name: undefined, - descNum:0 + descNum:0, + + categoreFlag:false, + languageFlag:false, + ignoreFlag:false, + licenseFlag:false, } } componentDidMount = () => { @@ -189,6 +195,7 @@ class Index extends Component { subMitFrom = () => { this.props.form.validateFieldsAndScroll((err, values) => { + console.log(err); if (!err) { this.setState({ isSpin: true @@ -313,41 +320,28 @@ class Index extends Component { mirrorCheck, - descNum + descNum, + + ignoreFlag, + licenseFlag, + languageFlag, + categoreFlag } = this.state; return (
    -
    创建{projectsType && projectsType === "mirror" ? "镜像" : "托管"}项目
    +
    {projectsType && projectsType === "mirror" ? "导入" : "新建"}项目
    - - {getFieldDecorator('user_id', { - rules: [{ - required: true, message: '请选择拥有者' - },{ - validator:(rule, value, callback) => this.checkId(rule, value, callback, OwnerList, '拥有者') - }], - })( - this.ChangePlatform(value, e, 'owners', OwnerList)} - className="plateAutoComplete" - onBlur={(value) => this.blurCategory(value, OwnerList, "owners")} - > - {owners_list} - - )} - - { + + { projectsType && projectsType === "mirror" && {getFieldDecorator('clone_addr', { rules: [{ @@ -362,13 +356,13 @@ class Index extends Component { } { projectsType && projectsType === "mirror" && - +

    需要授权验证 - 如果源项目为公有仓库,禁止填写用户名密码。如果源项目为私有仓库,则必须填写正确的用户名和密码!

    + 如果导入项目为私有仓库,则必须填写相应平台正确的用户名和密码

    { mirrorCheck && -
    +
    用户名
    } - +
    } + + + {getFieldDecorator('user_id', { + rules: [{ + required: true, message: '请选择拥有者' + },{ + validator:(rule, value, callback) => this.checkId(rule, value, callback, OwnerList, '拥有者') + }], + })( + this.ChangePlatform(value, e, 'owners', OwnerList)} + className="plateAutoComplete" + onBlur={(value) => this.blurCategory(value, OwnerList, "owners")} + > + {owners_list} + + )} + + / + + {getFieldDecorator('name', { + rules: [{ + required: true, message: '请填写项目名称' + }], + })( + + )} + + 项目标识 (项目url标识部分)} + colon={false} > - {getFieldDecorator('name', { + {getFieldDecorator('repository_name', { rules: [{ - required: true, message: '请填写项目名称' + required: true, message: '请填写项目标识' }], })( - + )}
    {descNum}/200 {getFieldDecorator('description', { - rules: [{ - required: true, message: '请填写项目简介' - }], + rules: [], })( )}
    - - {getFieldDecorator('repository_name', { - rules: [{ - required: true, message: '请填写仓库名称' - }], - })( - - )} - - - {getFieldDecorator('project_category', { - rules: [{ - required: true, message: '请选择大类别', - }, { - validator: (rule, value, callback) => this.checkId(rule, value, callback, CategoryList, '项目类别') - }], - })( - this.ChangePlatform(value, e, 'project_category', CategoryList)} - className="plateAutoComplete" - onBlur={(value) => this.blurCategory(value, CategoryList, "project_category")} - > - {project_category_list} - - )} - - - {getFieldDecorator('project_language', { - rules: [{ - required: true, message: '请选择项目语言' - }, { - validator: (rule, value, callback) => this.checkId(rule, value, callback, LanguageList, '项目语言') - }], - })( - this.ChangePlatform(value, e, 'project_language', LanguageList)} - className="plateAutoComplete" - onBlur={(value) => this.blurCategory(value, LanguageList, "project_language")} - > - {project_language_list} - - )} - + { (projectsType === "deposit" || !projectsType) && - {getFieldDecorator('ignore', { - rules: [{ - required: true, message: '请选择gitignore' - }, { - validator: (rule, value, callback) => this.checkId(rule, value, callback, GitignoreList, 'gitignore') - }], - })( - this.ChangePlatform(value, e, 'ignore', GitignoreList)} - className="plateAutoComplete" - onBlur={(value) => this.blurCategory(value, GitignoreList, "ignore")} - > - {ignore_list} - + {getFieldDecorator('ignoreFlag')( + .gitignore )} + { ignoreFlag && + + {getFieldDecorator('ignore', { + rules: [{ + required: ignoreFlag, message: '请选择gitignore' + }, { + validator: (rule, value, callback) => this.checkId(rule, value, callback, GitignoreList, 'gitignore') + }], + })( + this.ChangePlatform(value, e, 'ignore', GitignoreList)} + className="plateAutoComplete" + onBlur={(value) => this.blurCategory(value, GitignoreList, "ignore")} + > + {ignore_list} + + )} + + } - {getFieldDecorator('license', { - rules: [{ - required: true, message: '请选择开源许可证' - }, { - validator: (rule, value, callback) => this.checkId(rule, value, callback, LicensesList, '开源许可证') - }], - })( - this.ChangePlatform(value, e, 'license', LicensesList)} - className="plateAutoComplete" - onBlur={(value) => this.blurCategory(value, LicensesList, "license")} - > - {license_list} - + {getFieldDecorator('licenseFlag')( + 开源许可证 )} + { licenseFlag && + + {getFieldDecorator('license', { + rules: [{ + required: licenseFlag, message: '请选择开源许可证' + }, { + validator: (rule, value, callback) => this.checkId(rule, value, callback, LicensesList, '开源许可证') + }], + })( + this.ChangePlatform(value, e, 'license', LicensesList)} + className="plateAutoComplete" + onBlur={(value) => this.blurCategory(value, LicensesList, "license")} + > + {license_list} + + )} + + } } {getFieldDecorator('private')( - 将项目设为私有(只有项目所有人或拥有权限的项目成员才能看到) + 将项目设为私有(只有项目所有人或拥有权限的项目成员才能看到) )} { projectsType && projectsType === "mirror" && {getFieldDecorator('is_mirror')( @@ -537,7 +531,62 @@ class Index extends Component { )} } -
    + + {getFieldDecorator('categoreFlag')( + 项目类别 + )} + + {categoreFlag && + + {getFieldDecorator('project_category', { + rules: [{ + required: categoreFlag, message: '请选择大类别', + }, { + validator: (rule, value, callback) => this.checkId(rule, value, callback, CategoryList, '项目类别') + }], + })( + this.ChangePlatform(value, e, 'project_category', CategoryList)} + className="plateAutoComplete" + onBlur={(value) => this.blurCategory(value, CategoryList, "project_category")} + > + {project_category_list} + + )} + + } + + {getFieldDecorator('languageFlag')( + this.setState({languageFlag:e.target.checked})}>项目语言 + )} + + {languageFlag && + + {getFieldDecorator('project_language', { + rules: [{ + required: languageFlag, message: '请选择项目语言' + }, { + validator: (rule, value, callback) => this.checkId(rule, value, callback, LanguageList, '项目语言') + }], + })( + this.ChangePlatform(value, e, 'project_language', LanguageList)} + className="plateAutoComplete" + onBlur={(value) => this.blurCategory(value, LanguageList, "project_language")} + > + {project_language_list} + + )} + + } +
    注: 为必填项,否则为选填
    diff --git a/src/forge/New/new.css b/src/forge/New/new.scss similarity index 68% rename from src/forge/New/new.css rename to src/forge/New/new.scss index fcb6fa8c..daa3c8e5 100644 --- a/src/forge/New/new.css +++ b/src/forge/New/new.scss @@ -12,7 +12,13 @@ border-bottom: 1px solid #f0f0f0 } .newPanel_content{ - padding:1rem 2rem; + padding:2rem; +} +.newPanel_content form .ant-row.ant-form-item{ + margin-bottom: 25px; +} +.newPanel_content .ant-form-item-label label{ + font-size: 16px; } .newPanel_content .ant-form-item-control-wrapper{ flex: 1; @@ -25,7 +31,9 @@ height: 35px; line-height: 35px; } - +.newPanel_content .ant-form-explain{ + position: absolute; +} .newContent_inline{ display: flex; flex-wrap: wrap; @@ -36,13 +44,25 @@ .newContent_inline > .ant-form-item:nth-child(2){ margin-left: 20px; } -.newPanel_content .privatePart .ant-form-item-label{ - margin-left: 0px; +.privatePart{ + margin-bottom: 0px!important; + .ant-form-item-control{ + height: 28px; + line-height: 28px; + margin-top: 10px; + } + .ant-form-item-label{ + margin-left: 0px; + } } .newPanel_content .ant-form-item-label{ line-height: 25px; height: 25px; - margin-left: -0.8rem; +} +.plateAutoComplete{ + .ant-input{ + height: 34px!important; + } } @media screen and (max-width: 750px){ .newPanel_content{ From e07e4355570e77ffc3e3c129d64e58053dfbd63a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Thu, 9 Sep 2021 14:25:04 +0800 Subject: [PATCH 055/227] =?UTF-8?q?=E9=80=9A=E7=9F=A5=E4=B8=AD=E5=BF=83?= =?UTF-8?q?=E9=9D=99=E6=80=81=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/SecuritySetting/Index.jsx | 12 +- src/forge/SecuritySetting/Index.scss | 16 ++- .../SecuritySetting/notice/manager/Index.jsx | 117 +++++++++++++----- .../SecuritySetting/notice/manager/Index.scss | 62 ++++++++-- .../SecuritySetting/notice/myNotice/Index.jsx | 62 +++++----- .../notice/myNotice/Index.scss | 34 +++-- src/forge/SecuritySetting/sub/SSH.jsx | 2 +- src/forge/users/Material/Base.jsx | 2 +- src/forge/users/Material/Index.jsx | 14 ++- src/forge/users/Material/Index.scss | 6 + src/forge/users/Material/Password.jsx | 2 +- 11 files changed, 232 insertions(+), 97 deletions(-) diff --git a/src/forge/SecuritySetting/Index.jsx b/src/forge/SecuritySetting/Index.jsx index 550f6f65..ab50dc72 100644 --- a/src/forge/SecuritySetting/Index.jsx +++ b/src/forge/SecuritySetting/Index.jsx @@ -55,15 +55,15 @@ function Index(props){ {current_user && current_user.username}
    -
      -
    • 消息通知
    • -
    • -1 ?"active":""}>我的通知
    • -
    • -1 ?"active":""}>通知管理
    • -
    -
      +
      • 个人信息
      • -1 ?"active":""}>基本资料
      +
        +
      • 消息通知
      • +
      • -1 || pathname.indexOf("/settings/notice/privateLetter")>-1 ?"active":""}>我的通知
      • +
      • -1 ?"active":""}>通知管理
      • +
      • 安全设置
      • -1 ?"active":""}>SSH密钥
      • diff --git a/src/forge/SecuritySetting/Index.scss b/src/forge/SecuritySetting/Index.scss index 06dadb4d..5dbb77f9 100644 --- a/src/forge/SecuritySetting/Index.scss +++ b/src/forge/SecuritySetting/Index.scss @@ -36,10 +36,11 @@ color: #333; margin-bottom: 0px; padding-bottom: 0px; + padding-top: 5px; li{ font-size: 14px; - margin-top: 8px; - margin-bottom: 8px; + margin-top: 10px; + margin-bottom: 10px; height: 27px; line-height: 27px; position: relative; @@ -66,7 +67,7 @@ width: 3px; border-radius: 2px; content: ""; - background-color: #2A61FF; + background-color: #466AFF; } i{ @@ -75,6 +76,10 @@ } } } + .ul-border-buttom{ + border-bottom: 1px solid rgba(153, 153, 153, 0.22); + padding-bottom: 5px; + } } .sshHead{ display: flex; @@ -86,6 +91,11 @@ &>span{ font-size: 18px; font-weight: 600; + color: #333333; + } + & .add-ssh-but{ + padding:0 12px; + margin-bottom: 5px; } } .ant-list-item{ diff --git a/src/forge/SecuritySetting/notice/manager/Index.jsx b/src/forge/SecuritySetting/notice/manager/Index.jsx index ea64a439..5950f156 100644 --- a/src/forge/SecuritySetting/notice/manager/Index.jsx +++ b/src/forge/SecuritySetting/notice/manager/Index.jsx @@ -6,44 +6,93 @@ import './Index.scss'; function NoticeManager(props){ return( -
        +
        通知管理
        -
        - 您可以通过通知管理来选择接受通知的方式 -
        - 我创建或负责的 -
        -
        -
        易修状态变更
        - 站内信 - 邮件 -
        -
        -
        易修截止日期到达最后一天
        - 站内信 - 邮件 -
        -
        -
        合并请求状态变更
        - 站内信 - 邮件 -
        +
        + 您可以通过通知管理来选择接受通知的方式 +
        + 我创建或负责的 +
        +
        +
        易修状态变更
        + 站内信 + 邮件 +
        +
        +
        易修截止日期到达最后一天
        + 站内信 + 邮件 +
        +
        +
        合并请求状态变更
        + 站内信 + 邮件 +
        +
        +
        易修有新的评论
        + 站内信 + 邮件 +
        +
        +
        合并请求有新的评论
        + 站内信 + 邮件 +
        -
        - 我管理的仓库 -
        -
        -
        被关注
        - 站内信 - 邮件 -
        -
        -
        被点赞
        - 站内信 - 邮件 -
        +
        + 我管理的仓库 +
        +
        +
        被关注
        + 站内信 + 邮件 +
        +
        +
        被点赞
        + 站内信 + 邮件 +
        +
        +
        被复刻
        + 站内信 + 邮件 +
        +
        +
        有新的里程碑
        + 站内信 + 邮件 +
        + +
        + 我关注的仓库 +
        +
        +
        被删除
        + 站内信 + 邮件 +
        +
        +
        被转移
        + 站内信 + 邮件 +
        +
        +
        有新的易修
        + 站内信 + 邮件 +
        +
        +
        有新的合并请求
        + 站内信 + 邮件 +
        +
        +
        有新的版本发布
        + 站内信 + 邮件 +
        ) diff --git a/src/forge/SecuritySetting/notice/manager/Index.scss b/src/forge/SecuritySetting/notice/manager/Index.scss index 987e8111..1b5729ae 100644 --- a/src/forge/SecuritySetting/notice/manager/Index.scss +++ b/src/forge/SecuritySetting/notice/manager/Index.scss @@ -1,5 +1,8 @@ - -.cont-top{ +.notice-manager-tip{ + font-size:16px; + font-weight:400; +} +.manager-cont-top{ font-size: 14px; font-weight: 600; height: 44px; @@ -12,18 +15,63 @@ margin-top: 25px; } -.cont{ +.manager-cont{ padding: 8px 20px 6px; display: flex; align-items: center; font-size: 14px; - .title{ + .manager-cont-title{ width: 320px; } - label{ - margin-left: 6px; - margin-right: 34px; + +} + +.notice01{ + .ant-checkbox-disabled.ant-checkbox-checked .ant-checkbox-inner::after { + border-color: white; + } + .ant-checkbox-disabled .ant-checkbox-inner { + background-color: #999999 !important; + border-color: #999999 !important; + } + + .ant-checkbox-checked .ant-checkbox-inner { + background-color: #466AFF; + border: #466AFF; + } + + .ant-checkbox-checked::after{ + border: 1px solid #466AFF; + } + .ant-checkbox-wrapper:hover .ant-checkbox-inner, .ant-checkbox:hover .ant-checkbox-inner, .ant-checkbox-input:focus + .ant-checkbox-inner,.ant-radio-checked .ant-radio-inner,.ant-radio-wrapper:hover .ant-radio, .ant-radio:hover .ant-radio-inner, .ant-radio-input:focus + .ant-radio-inner { + border-color: #466AFF; + } + + .ant-checkbox + span,.manager-cont-title { + color: #000000; + } + + .ant-radio-inner::after{ + background-color:#466AFF; + } + + // .ant-radio-checked .ant-radio-inner { + // border-color: #466AFF; + // } + + .but25{ + background-color: #466AFF; + color: #fff; + border-color: #466AFF; + &:hover{ + background-color: #4a76f8; + border-color: #4a76f8; + } + &:active{ + background-color: #466AFF; + border-color: #466AFF; + } } } \ No newline at end of file diff --git a/src/forge/SecuritySetting/notice/myNotice/Index.jsx b/src/forge/SecuritySetting/notice/myNotice/Index.jsx index 0989eb1e..3a5eb175 100644 --- a/src/forge/SecuritySetting/notice/myNotice/Index.jsx +++ b/src/forge/SecuritySetting/notice/myNotice/Index.jsx @@ -1,6 +1,7 @@ import React, { useState, useEffect } from 'react'; -import { Badge, Button, Menu } from 'antd'; +import { Badge, Button, Checkbox, Menu } from 'antd'; import './Index.scss'; +import '../manager/Index.scss' import DelModal from '../../../Wiki/components/ModalFun'; function MyNotice(props) { @@ -47,29 +48,30 @@ function MyNotice(props) { } return ( -
        +
        系统通知 私信 @我 - +
        - -   - 仅看未读{noticeType === "1" ? "私信" : "消息"}(12) - +
        + {/*   + 仅看未读{noticeType === "1" ? "私信" : "消息"}(12) */} + 仅看未读{noticeType === "1" ? "私信" : "消息"}(12) +
        {noticeType === "2" ? : ""}
        - +
          全选   已选择 {selectedNum} 项 - +
             @@ -77,7 +79,7 @@ function MyNotice(props) {
        {noticeType === "1" ? -
        props.history.push('/settings/notice/privateLetter')}> +
        props.history.push('/settings/notice/privateLetter')}>
        @@ -86,28 +88,28 @@ function MyNotice(props) { 删除
        - 最好的OpenStack控制台,对标OpenStack社区Horizon项目,在易用性、页面性能等方面进行深度优化,提供简单控制台。 + 最好的OpenStack控制台,对标OpenStack社区Horizon项目,最好的OpenStack控制台,对标OpenStack社区Horizon项目,在易用性、页面性能等方面进行深度优化,提供简单控制台。
        - :
        -
        + :
        +
        {/* 系统通知 */} {noticeType === "0" ? : ""} {noticeType === "0" ? : ""} {noticeType === "2" ? : ""} {noticeType === "2" ? : ""} - 蒋宇航在Gitlink/Gitlink新建易修:【Bug】链接地址错误 + 蒋宇航在Gitlink/Gitlink新建易修:【Bug】链接地址错误
        -
        +
        4分钟前 - 标记为已读   {noticeType === "0" ? "" : 删除} + 标记为已读   {noticeType === "0" ? "" : 删除}
        } {noticeType === "1" ? -
        +
        @@ -116,28 +118,28 @@ function MyNotice(props) { 删除
        - gitlink平台 react 前端代码 + gitlink平台 react 前端代码
        - :
        -
        + :
        +
        {/* 系统通知 */} {noticeType === "0" ? : ""} {noticeType === "0" ? : ""} {noticeType === "2" ? : ""} {noticeType === "2" ? : ""} - 蒋宇航在蒋宇航/软件工程课程协同开发案例指派给你一个合并请求:请进行合并请求test请进行合并请求test请进行合并请求test请进行合并请求test请进行合并请求test请进行合并请求test + 蒋宇航在蒋宇航/软件工程课程协同开发案例指派给你一个合并请求:请进行合并请求test请进行合并请求test请进行合并请求test请进行合并请求test请进行合并请求test请进行合并请求test
        -
        +
        10分钟前 - 标记为已读   {noticeType === "0" ? "" : 删除} + 标记为已读   {noticeType === "0" ? "" : 删除}
        } {noticeType === "1" ? -
        +
        @@ -146,22 +148,22 @@ function MyNotice(props) { 删除
        - 构建卷积神经网络,训练模型,预测模型效果。 + 构建卷积神经网络,训练模型,预测模型效果。
        - :
        -
        + :
        +
        {/* 系统通知 */} {noticeType === "0" ?     : ""} {noticeType === "0" ? : ""} {noticeType === "2" ? : ""} - 你关注的仓库王涛/协同案例分析已被删除 + 你关注的仓库王涛/协同案例分析已被删除
        -
        +
        1小时前 - 标记为已读   {noticeType === "0" ? "" : 删除} + 标记为已读   {noticeType === "0" ? "" : 删除}
        }
        diff --git a/src/forge/SecuritySetting/notice/myNotice/Index.scss b/src/forge/SecuritySetting/notice/myNotice/Index.scss index c784bc88..6b8afdd8 100644 --- a/src/forge/SecuritySetting/notice/myNotice/Index.scss +++ b/src/forge/SecuritySetting/notice/myNotice/Index.scss @@ -49,6 +49,7 @@ button { background: #FAFBFC; border: 1px solid #D0D0D0; border-radius: 4px; + height: 32px; } button:hover { background: #F3F4F6; @@ -74,8 +75,6 @@ button:active { } .mynotice-content { - display: flex; - align-items: center; justify-content: space-between; padding: 15px 0 15px 10px; border-bottom: 1px solid #EEEEEE; @@ -112,9 +111,7 @@ button:active { // margin-right: 10px; } - .cont{ - display: flex; - align-items: center; + .mynotice-cont{ padding:0; } } @@ -156,16 +153,35 @@ button:active { } .highlightSpan{ - max-width: 40rem; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; &:hover{ color: #466AFF; cursor: pointer; } } +.letter-length-limit{ + max-width: 50rem; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.sysNotice-length{ + max-width: 52rem; +} + +.at-length{ + max-width: 48rem; +} #numberSpan{ color: #466AFF; +} + +.vertical-center-style{ + display: flex; + align-items: center; +} + +.float-left-little{ + margin-right: 10px; } \ No newline at end of file diff --git a/src/forge/SecuritySetting/sub/SSH.jsx b/src/forge/SecuritySetting/sub/SSH.jsx index bc004e11..80294b39 100644 --- a/src/forge/SecuritySetting/sub/SSH.jsx +++ b/src/forge/SecuritySetting/sub/SSH.jsx @@ -56,7 +56,7 @@ function SSH(props) { setVisibleDesc(false)} desc={content}/>
        SSH密钥 - +
        { list && list.length > 0 && diff --git a/src/forge/users/Material/Base.jsx b/src/forge/users/Material/Base.jsx index 5f776f8d..f9707ab0 100644 --- a/src/forge/users/Material/Base.jsx +++ b/src/forge/users/Material/Base.jsx @@ -125,7 +125,7 @@ export default Form.create()( - + {/* */} diff --git a/src/forge/users/Material/Index.jsx b/src/forge/users/Material/Index.jsx index 2ea0ecc1..869c1877 100644 --- a/src/forge/users/Material/Index.jsx +++ b/src/forge/users/Material/Index.jsx @@ -1,5 +1,6 @@ import React , { useEffect , useState } from 'react'; import './Index.scss'; +import '../../SecuritySetting/notice/manager/Index.scss' import { Menu } from 'antd'; import { Link } from 'react-router-dom'; import Base from './Base'; @@ -25,11 +26,14 @@ function Index(props){ return( -
        - - 基本资料 - {/* 密码管理 */} - +
        +
        + + 基本资料 + {/* 基本资料 */} + {/* 密码管理 */} + +
        { key === "0" ? diff --git a/src/forge/users/Material/Index.scss b/src/forge/users/Material/Index.scss index b24d3eb1..f4e79a52 100644 --- a/src/forge/users/Material/Index.scss +++ b/src/forge/users/Material/Index.scss @@ -19,6 +19,12 @@ .ant-menu-item{ a{ font-size: 16px; + color: #333333; + position: relative; + bottom: -10px; + } + a:hover{ + color: #333333; } } } \ No newline at end of file diff --git a/src/forge/users/Material/Password.jsx b/src/forge/users/Material/Password.jsx index 12b31ac5..d7a2abc6 100644 --- a/src/forge/users/Material/Password.jsx +++ b/src/forge/users/Material/Password.jsx @@ -89,7 +89,7 @@ export default Form.create()( - + From c477fbe89a7cd6b816418879a8566970b6e674db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Thu, 9 Sep 2021 14:31:31 +0800 Subject: [PATCH 056/227] =?UTF-8?q?=E9=80=9A=E7=9F=A5=E4=B8=AD=E5=BF=83?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=9A=84=E4=B8=89=E4=B8=AA=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Head/NoticeContent.jsx | 19 ++ .../notice/privateLetter/Index.jsx | 82 ++++++++ .../notice/privateLetter/Index.scss | 181 ++++++++++++++++++ 3 files changed, 282 insertions(+) create mode 100644 src/forge/Head/NoticeContent.jsx create mode 100644 src/forge/SecuritySetting/notice/privateLetter/Index.jsx create mode 100644 src/forge/SecuritySetting/notice/privateLetter/Index.scss diff --git a/src/forge/Head/NoticeContent.jsx b/src/forge/Head/NoticeContent.jsx new file mode 100644 index 00000000..ab637f96 --- /dev/null +++ b/src/forge/Head/NoticeContent.jsx @@ -0,0 +1,19 @@ +import React, { useEffect, useState } from 'react'; +import { Badge} from 'antd'; +import './header.scss'; + +function NoticeContent(props) { + const noticeType = props.noticeType; + return( +
        + + {noticeType === "0" ? : ""} +
        + 蒋宇航: + 最好的OpenStack控制台,对标Open社区项目Horizon,在易... + 4分钟前 +
        +
        + ) +} +export default NoticeContent; diff --git a/src/forge/SecuritySetting/notice/privateLetter/Index.jsx b/src/forge/SecuritySetting/notice/privateLetter/Index.jsx new file mode 100644 index 00000000..be5b1bb3 --- /dev/null +++ b/src/forge/SecuritySetting/notice/privateLetter/Index.jsx @@ -0,0 +1,82 @@ +import React, { useState, useEffect } from 'react'; +import './Index.scss' +import '../manager/Index.scss' +import { Button, Input, Icon, Badge } from 'antd'; + +function PrivateLetter(props){ + + const { TextArea,Search } = Input; + + function deleteNotice(){ + alert("删除消息"); + } + + return( +
        +
        +
        + + 蒋宇航 +
        +
        +
        + +
        +
        + 嗨在吗?哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈 + 删除 +
        + 2021-08-29 11:59 +
        + +
        + +
        +
        + 哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈 + 删除 +
        + 2021-08-29 11:59 +
        + +
        +
        +
        + +