Merge pull request '域名更换增加提示弹框' (#163) from caishi/forgeplus-react:featrue_system_popup_notification into featrue_system_popup_notification
This commit is contained in:
commit
82d8a0d198
|
@ -0,0 +1,91 @@
|
|||
.systemBox{
|
||||
.ant-modal-body{
|
||||
padding:1px 0px 0px 0px;
|
||||
.sysBox{
|
||||
background-image: url('./bg.png');
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 334px;
|
||||
margin-top: -55px;
|
||||
}
|
||||
.sysnoticeBox{
|
||||
width: 100%;
|
||||
padding:80px 0px 34px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 780px;
|
||||
margin: 0px auto;
|
||||
p.ntitle{
|
||||
height: 33px;
|
||||
font-size: 24px;
|
||||
font-weight: 500;
|
||||
color: #31FFF7;
|
||||
line-height: 33px;
|
||||
text-align: center;
|
||||
}
|
||||
p.nSubtitle{
|
||||
height: 25px;
|
||||
line-height: 25px;
|
||||
font-size: 18px;
|
||||
font-weight: 500;
|
||||
color: #FFFFFF;
|
||||
margin-top: 60px;
|
||||
padding-left: 20px;
|
||||
}
|
||||
.markdown-body{
|
||||
box-shadow: 0px 0px 17px rgba(0,0,0,0.2);
|
||||
border-radius: 4px;
|
||||
margin-top: 17px!important;
|
||||
}
|
||||
.nContent{
|
||||
padding:20px 34px;
|
||||
background-color: #fff;
|
||||
.nMaindesc{
|
||||
height: 90px;
|
||||
font-size: 15px;
|
||||
font-weight: 400;
|
||||
color: #000000;
|
||||
line-height: 30px;
|
||||
}
|
||||
.realmName{
|
||||
margin-top: 20px;
|
||||
display: flex;
|
||||
ul{
|
||||
width: 50%;
|
||||
li{
|
||||
font-size: 15px;
|
||||
font-weight: 500;
|
||||
line-height: 32px;
|
||||
text-align: left;
|
||||
color: #000;
|
||||
&:first-child{
|
||||
color: #E65714;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.nSubdesc{
|
||||
font-size: 15px;
|
||||
font-weight: 400;
|
||||
color: #000000;
|
||||
line-height: 31px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.nInfo{
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #333333;
|
||||
text-align: right;
|
||||
margin-top: 25px;
|
||||
p{
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.nBtn{
|
||||
text-align: center;
|
||||
margin-top: 33px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,82 @@
|
|||
import React , { useEffect , useState } from 'react';
|
||||
import { Modal , Button } from 'antd';
|
||||
import './Index.scss';
|
||||
import '../../css/index.scss';
|
||||
import RenderHtml from '../../../components/render-html';
|
||||
import axios from 'axios';
|
||||
|
||||
function SystemNotice({system_notification,history,login,showNotice,hideSystemNotice}){
|
||||
const [ visible , setVisible ] = useState(false);
|
||||
|
||||
useEffect(()=>{
|
||||
if(system_notification && !system_notification.is_read && showNotice){
|
||||
setVisible(true);
|
||||
}
|
||||
},[system_notification])
|
||||
|
||||
function sureContinue() {
|
||||
if(login && ( system_notification && system_notification.id )){
|
||||
const url = `/users/${login}/system_notification_histories.json`;
|
||||
axios.post(url,{
|
||||
system_notification_id:system_notification.id
|
||||
}).then(result=>{
|
||||
if(result && result.status === 0){
|
||||
setVisible(false);
|
||||
hideSystemNotice();
|
||||
}
|
||||
}).catch(error=>{})
|
||||
}
|
||||
setVisible(false);
|
||||
hideSystemNotice();
|
||||
}
|
||||
|
||||
return (
|
||||
<Modal
|
||||
visible = {visible}
|
||||
width="1000px"
|
||||
footer={false}
|
||||
title={false}
|
||||
centered={true}
|
||||
closable={false}
|
||||
wrapClassName={'systemBox'}
|
||||
>
|
||||
<div className="sysBox">
|
||||
<div className="sysnoticeBox">
|
||||
<p className="ntitle">{system_notification && system_notification.subject}</p>
|
||||
<p className="nSubtitle">{system_notification && system_notification.sub_subject}</p>
|
||||
{/* <div className="nContent">
|
||||
<div className="nMaindesc">
|
||||
为了给用户提供更加稳定、优质的服务,我们即将对平台门户首页、平台名称、平台域名进行一次全面升级与变更。原平台名称:Trustie(中文名:确实)将于2021年10月xx日统一更改为Gitlink(中文名:确实开源)。届时平台域名将统一进行更换,更换规则如下
|
||||
</div>
|
||||
<div className="realmName">
|
||||
<ul>
|
||||
<li>原域名:</li>
|
||||
<li>官网顶级域名https://www.trustie.net</li>
|
||||
<li>版本库子域名https://forgeplus.trustie.net</li>
|
||||
<li>论坛子域名https://forum.trustie.net/forums</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>更换后域名:</li>
|
||||
<li>官网顶级域名https://www.gitlink.org.cn</li>
|
||||
<li>版本库子域名https://www.git.gitlink.org.cn</li>
|
||||
<li>论坛子域名https://forum.gitlink.org.cn</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div className="nSubdesc">
|
||||
自2021年10月xx日起,旧域名将停止访问。因平台名称与域名变更给您带来的不便,我们深表歉意!非常感谢您一直以来对本平台的信任与支持,我们将一如既往地为您提供优质的服务。 特此通知!
|
||||
</div>
|
||||
<div className="nInfo">
|
||||
<p>Gitlink运营团队</p>
|
||||
<p>2021年10月xx日</p>
|
||||
</div>
|
||||
</div> */}
|
||||
<RenderHtml className="break_word_comments imageLayerParent" value={system_notification && system_notification.content} url={history.location}/>
|
||||
<div className="nBtn">
|
||||
<Button type="primary" className="btnblue" onClick={sureContinue}>确认并继续</Button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Modal>
|
||||
)
|
||||
}
|
||||
export default SystemNotice;
|
Binary file not shown.
After Width: | Height: | Size: 280 KiB |
|
@ -7,6 +7,7 @@ import './TPMIndex.css';
|
|||
import LoginDialog from '../login/LoginDialog';
|
||||
import EducoderAccount from '../../forge/Component/EducoderAccount';
|
||||
import ProfileModal from '../../forge/Component/ProfileModal/Index';
|
||||
import SystemNotice from '../../forge/Component/NoticeModal/SystemNotice';
|
||||
|
||||
export function TPMIndexHOC(WrappedComponent) {
|
||||
return class II extends React.Component {
|
||||
|
@ -27,7 +28,8 @@ export function TPMIndexHOC(WrappedComponent) {
|
|||
giteaVisible:false,
|
||||
email:undefined,
|
||||
completeProfile:false,
|
||||
showCP:false
|
||||
showCP:false,
|
||||
showNotice:true
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -214,9 +216,15 @@ export function TPMIndexHOC(WrappedComponent) {
|
|||
})
|
||||
}
|
||||
|
||||
hideSystemNotice=()=>{
|
||||
this.setState({
|
||||
showNotice:false
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
render() {
|
||||
let { isRender , current_user , giteaVisible , email , completeProfile , showCP } = this.state;
|
||||
let { isRender , current_user , giteaVisible , email , completeProfile , showCP , showNotice , mygetHelmetapi } = this.state;
|
||||
const common = {
|
||||
showLoginDialog: this.showLoginDialog,
|
||||
checkIfLogin: this.checkIfLogin,
|
||||
|
@ -225,6 +233,13 @@ export function TPMIndexHOC(WrappedComponent) {
|
|||
};
|
||||
return (
|
||||
<div className="indexHOC">
|
||||
<SystemNotice
|
||||
showNotice={showNotice}
|
||||
system_notification={mygetHelmetapi && mygetHelmetapi.system_notification}
|
||||
history={this.props.history}
|
||||
login={current_user && current_user.login}
|
||||
hideSystemNotice={this.hideSystemNotice}
|
||||
/>
|
||||
<EducoderAccount visible={giteaVisible} email={email} onOk={this.onOk}/>
|
||||
<ProfileModal
|
||||
visible={!completeProfile && showCP}
|
||||
|
|
Loading…
Reference in New Issue