1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-07-17 08:41:40 +00:00
seahub/frontend/src/components/side-nav-footer.js
Michael An 14ce391007
Fix eslint warnings (#5635)
* 01 fix eslint warnings

* fix code warnings

* fix code warnings

* fix code warnings

* fix code warnings

* fix code warnings
2023-09-13 08:40:50 +08:00

58 lines
2.0 KiB
JavaScript

import React, { Fragment } from 'react';
import { gettext, siteRoot, enableTC, sideNavFooterCustomHtml, additionalAppBottomLinks } from '../utils/constants';
import ModalPortal from './modal-portal';
import AboutDialog from './dialog/about-dialog';
class SideNavFooter extends React.Component {
constructor(props) {
super(props);
this.state = {
isAboutDialogShow: false,
};
}
onAboutDialogToggle = (e) => {
e.preventDefault();
this.setState({isAboutDialogShow: !this.state.isAboutDialogShow});
};
renderExternalAppLinks = () => {
if (additionalAppBottomLinks && (typeof additionalAppBottomLinks) === 'object') {
let keys = Object.keys(additionalAppBottomLinks);
return keys.map((key, index) => {
return <a key={index} className="item" href={additionalAppBottomLinks[key]}>{key}</a>;
});
}
return null;
};
render() {
if (sideNavFooterCustomHtml) {
return (<div className='side-nav-footer' dangerouslySetInnerHTML={{__html: sideNavFooterCustomHtml}}></div>);
}
return (
<Fragment>
<div className="side-nav-footer flex-wrap">
<a href={siteRoot + 'help/'} target="_blank" rel="noopener noreferrer" className="item">{gettext('Help')}</a>
<a href="#" className="item" onClick={this.onAboutDialogToggle}>{gettext('About')}</a>
{enableTC && <a href={`${siteRoot}terms/`} className="item">{gettext('Terms')}</a>}
{this.renderExternalAppLinks()}
<a href={siteRoot + 'download_client_program/'} className={`item ${additionalAppBottomLinks ? '' : 'last-item'}`}>
<span aria-hidden="true" className="sf2-icon-monitor vam"></span>{' '}
<span className="vam">{gettext('Clients')}</span>
</a>
</div>
{this.state.isAboutDialogShow && (
<ModalPortal>
<AboutDialog onCloseAboutDialog={this.onAboutDialogToggle} />
</ModalPortal>
)}
</Fragment>
);
}
}
export default SideNavFooter;