1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-25 23:02:26 +00:00
Co-authored-by: lian <lian@seafile.com>
This commit is contained in:
lian
2020-03-19 20:15:26 +08:00
committed by GitHub
parent 8ef7d18c15
commit 2de4d4846e
33 changed files with 4756 additions and 7 deletions

View File

@@ -0,0 +1,60 @@
import React from 'react';
import { gettext, siteRoot } from '../../utils/constants';
import ModalPortal from '../modal-portal';
import ConfirmDisconnectDingtalk from '../dialog/confirm-disconnect-dingtalk';
const {
csrfToken,
langCode,
socialConnectedDingtalk,
socialNextPage
} = window.app.pageOptions;
class SocialLoginDintalk extends React.Component {
constructor(props) {
super(props);
this.state = {
isConfirmDialogOpen: false
};
}
confirmDisconnect = (e) => {
e.preventDefault();
this.setState({
isConfirmDialogOpen: true
});
}
toggleDialog = () => {
this.setState({
isConfirmDialogOpen: !this.state.isConfirmDialogOpen
});
}
render() {
return (
<React.Fragment>
<div className="setting-item" id="social-auth">
<h3 className="setting-item-heading">{gettext('Social Login')}</h3>
<p className="mb-2">{langCode == 'zh-cn' ? '钉钉': 'Dingtalk'}</p>
{socialConnectedDingtalk ?
<a href="#" className="btn btn-outline-primary" onClick={this.confirmDisconnect}>{gettext('Disconnect')}</a> :
<a href={`${siteRoot}dingtalk/connect/?next=${encodeURIComponent(socialNextPage)}`} className="btn btn-outline-primary">{gettext('Connect')}</a>
}
</div>
{this.state.isConfirmDialogOpen && (
<ModalPortal>
<ConfirmDisconnectDingtalk
formActionURL={`${siteRoot}dingtalk/disconnect/?next=${encodeURIComponent(socialNextPage)}`}
csrfToken={csrfToken}
toggle={this.toggleDialog}
/>
</ModalPortal>
)}
</React.Fragment>
);
}
}
export default SocialLoginDintalk;