1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-04 16:31:13 +00:00

fix warnings (#3444)

This commit is contained in:
Michael An
2019-05-13 11:55:49 +08:00
committed by Daniel Pan
parent 2d61cdb0cb
commit 30d7542670
5 changed files with 74 additions and 68 deletions

View File

@@ -3,8 +3,6 @@ import PropTypes from 'prop-types';
import { Link } from '@reach/router'; import { Link } from '@reach/router';
import { UncontrolledTooltip } from 'reactstrap'; import { UncontrolledTooltip } from 'reactstrap';
import { siteRoot, gettext } from '../../utils/constants'; import { siteRoot, gettext } from '../../utils/constants';
import { seafileAPI } from '../../utils/seafile-api';
import FileTag from '../../models/file-tag';
import InternalLinkDialog from '../dialog/internal-link-dialog'; import InternalLinkDialog from '../dialog/internal-link-dialog';
const propTypes = { const propTypes = {
@@ -101,7 +99,7 @@ class DirPath extends React.Component {
{(this.props.isViewFile && fileTags.length !== 0) && {(this.props.isViewFile && fileTags.length !== 0) &&
<span id='column-mode-file-tags' className="tag-list tag-list-stacked align-middle ml-1"> <span id='column-mode-file-tags' className="tag-list tag-list-stacked align-middle ml-1">
{fileTags.map((fileTag, index) => { {fileTags.map((fileTag, index) => {
return (<span className="file-tag" key={fileTag.id} style={{zIndex: index, backgroundColor: fileTag.color}}></span>) return (<span className="file-tag" key={fileTag.id} style={{zIndex: index, backgroundColor: fileTag.color}}></span>);
})} })}
<UncontrolledTooltip target="column-mode-file-tags" placement="bottom"> <UncontrolledTooltip target="column-mode-file-tags" placement="bottom">
{tagTitle} {tagTitle}

View File

@@ -40,6 +40,8 @@ const propTypes = {
isDirentDetailShow: PropTypes.bool.isRequired, isDirentDetailShow: PropTypes.bool.isRequired,
onGridItemClick: PropTypes.func, onGridItemClick: PropTypes.func,
onAddFolder: PropTypes.func.isRequired, onAddFolder: PropTypes.func.isRequired,
showDirentDetail: PropTypes.func,
onItemRename: PropTypes.func,
}; };
class DirentGridView extends React.Component{ class DirentGridView extends React.Component{
@@ -61,7 +63,7 @@ class DirentGridView extends React.Component{
isMutipleOperation: false, isMutipleOperation: false,
isGridItemFreezed: false, isGridItemFreezed: false,
activeDirent: null, activeDirent: null,
} };
this.isRepoOwner = props.currentRepoInfo.owner_email === username; this.isRepoOwner = props.currentRepoInfo.owner_email === username;
} }
@@ -176,7 +178,7 @@ class DirentGridView extends React.Component{
} }
onDetails = (dirent) => { onDetails = (dirent) => {
this.props.onGridItemClick(dirent) this.props.onGridItemClick(dirent);
this.props.showDirentDetail(); this.props.showDirentDetail();
} }
@@ -266,7 +268,7 @@ class DirentGridView extends React.Component{
this.setState({ this.setState({
isRenameDialogShow: !this.state.isRenameDialogShow, isRenameDialogShow: !this.state.isRenameDialogShow,
}); });
this.props.onItemRename(this.state.activeDirent, newName) this.props.onItemRename(this.state.activeDirent, newName);
} }
@@ -310,7 +312,7 @@ class DirentGridView extends React.Component{
} }
closeImagePopup = () => { closeImagePopup = () => {
this.setState({isImagePopupOpen: false}) this.setState({isImagePopupOpen: false});
} }
moveToPrevImage = () => { moveToPrevImage = () => {
@@ -344,7 +346,7 @@ class DirentGridView extends React.Component{
} }
onGridContainerMouseDown = (event) => { onGridContainerMouseDown = (event) => {
this.onMouseDown(event) this.onMouseDown(event);
} }
onGridItemMouseDown = (event) => { onGridItemMouseDown = (event) => {
@@ -358,9 +360,9 @@ class DirentGridView extends React.Component{
} }
onGridContainerContextMenu = (event) => { onGridContainerContextMenu = (event) => {
let id = "dirent-grid-container-menu" let id = 'dirent-grid-container-menu';
let menuList = [TextTranslation.NEW_FOLDER, TextTranslation.NEW_FILE]; let menuList = [TextTranslation.NEW_FOLDER, TextTranslation.NEW_FILE];
this.handleContextClick(event, id, menuList); this.handleContextClick(event, id, menuList);
} }
onGridItemContextMenu = (event, dirent) => { onGridItemContextMenu = (event, dirent) => {
@@ -377,10 +379,10 @@ class DirentGridView extends React.Component{
let y = event.clientY || (event.touches && event.touches[0].pageY); let y = event.clientY || (event.touches && event.touches[0].pageY);
if (this.props.posX) { if (this.props.posX) {
x -= this.props.posX; x -= this.props.posX;
} }
if (this.props.posY) { if (this.props.posY) {
y -= this.props.posY; y -= this.props.posY;
} }
hideMenu(); hideMenu();
@@ -414,7 +416,7 @@ class DirentGridView extends React.Component{
contextmenuList = this.props.showShareBtn ? [SHARE, DOWNLOAD, DELETE, 'Divider'] : [DOWNLOAD, DELETE, 'Divider']; contextmenuList = this.props.showShareBtn ? [SHARE, DOWNLOAD, DELETE, 'Divider'] : [DOWNLOAD, DELETE, 'Divider'];
if (dirent.type === 'file') { if (dirent.type === 'file') {
contextmenuList = canGenerateShareLink ? [SHARE, DOWNLOAD, DELETE, 'Divider'] : [DOWNLOAD, DELETE, 'Divider'] contextmenuList = canGenerateShareLink ? [SHARE, DOWNLOAD, DELETE, 'Divider'] : [DOWNLOAD, DELETE, 'Divider'];
} }
} }
@@ -508,7 +510,7 @@ class DirentGridView extends React.Component{
onGridItemClick={this.onGridItemClick} onGridItemClick={this.onGridItemClick}
activeDirent={this.state.activeDirent} activeDirent={this.state.activeDirent}
/> />
) );
}) })
} }
</ul> </ul>
@@ -609,9 +611,10 @@ class DirentGridView extends React.Component{
</ModalPortal> </ModalPortal>
)} )}
</Fragment> </Fragment>
) );
} }
} }
DirentGridView.propTypes = propTypes; DirentGridView.propTypes = propTypes;
export default DirentGridView; export default DirentGridView;

View File

@@ -6,7 +6,7 @@ function SessionExpiredTip() {
<span className="session-expired-tip">{gettext('You are log out.')}{' '} <span className="session-expired-tip">{gettext('You are log out.')}{' '}
<a className="action-link session-expired-link" href={`${loginUrl}?next=${encodeURIComponent(location.href)}`}>{gettext('Login again.')}</a> <a className="action-link session-expired-link" href={`${loginUrl}?next=${encodeURIComponent(location.href)}`}>{gettext('Login again.')}</a>
</span> </span>
) );
} }
export default SessionExpiredTip export default SessionExpiredTip;

View File

@@ -2,14 +2,14 @@ import React, {Fragment} from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import {gettext, siteRoot} from '../../utils/constants'; import {gettext, siteRoot} from '../../utils/constants';
import InvitationsToolbar from '../../components/toolbar/invitations-toolbar'; import InvitationsToolbar from '../../components/toolbar/invitations-toolbar';
import InvitePeopleDialog from "../../components/dialog/invite-people-dialog"; import InvitePeopleDialog from '../../components/dialog/invite-people-dialog';
import {seafileAPI} from "../../utils/seafile-api"; import {seafileAPI} from '../../utils/seafile-api';
import {Table} from 'reactstrap'; import {Table} from 'reactstrap';
import Loading from "../../components/loading"; import Loading from '../../components/loading';
import moment from 'moment'; import moment from 'moment';
import toaster from '../../components/toast'; import toaster from '../../components/toast';
import "../../css/invitations.css"; import '../../css/invitations.css';
class InvitationsListItem extends React.Component { class InvitationsListItem extends React.Component {
@@ -43,16 +43,14 @@ class InvitationsListItem extends React.Component {
const invitationItem = this.props.invitation; const invitationItem = this.props.invitation;
const acceptIcon = <i className="sf2-icon-tick invite-accept-icon"></i>; const acceptIcon = <i className="sf2-icon-tick invite-accept-icon"></i>;
const deleteOperation = <i className="action-icon sf2-icon-x3" const deleteOperation = <i className="action-icon sf2-icon-x3"
title={gettext('Delete')} title={gettext('Delete')}
style={!this.state.isOperationShow ? {opacity: 0} : {}} style={!this.state.isOperationShow ? {opacity: 0} : {}}
onClick={this.props.onItemDelete.bind(this, invitationItem.token, this.props.index)}></i>; onClick={this.props.onItemDelete.bind(this, invitationItem.token, this.props.index)}></i>;
return ( return (
<tr onMouseEnter={this.onMouseEnter} <tr onMouseEnter={this.onMouseEnter} onMouseOver={this.onMouseOver} onMouseLeave={this.onMouseLeave}>
onMouseOver={this.onMouseOver}
onMouseLeave={this.onMouseLeave}>
<td>{invitationItem.accepter}</td> <td>{invitationItem.accepter}</td>
<td>{moment(invitationItem.invite_time).format("YYYY-MM-DD")}</td> <td>{moment(invitationItem.invite_time).format('YYYY-MM-DD')}</td>
<td>{moment(invitationItem.expire_time).format("YYYY-MM-DD")}</td> <td>{moment(invitationItem.expire_time).format('YYYY-MM-DD')}</td>
<td>{invitationItem.accept_time && acceptIcon}</td> <td>{invitationItem.accept_time && acceptIcon}</td>
<td>{!invitationItem.accept_time && deleteOperation}</td> <td>{!invitationItem.accept_time && deleteOperation}</td>
</tr> </tr>
@@ -94,24 +92,24 @@ class InvitationsListView extends React.Component {
onItemDelete={this.onItemDelete} onItemDelete={this.onItemDelete}
invitation={invitation} invitation={invitation}
index={index} index={index}
/>) />);
}); });
return ( return (
<Table hover> <Table hover>
<thead> <thead>
<tr> <tr>
<th width="25%">{gettext('Email')}</th> <th width="25%">{gettext('Email')}</th>
<th width="20%">{gettext('Invite Time')}</th> <th width="20%">{gettext('Invite Time')}</th>
<th width="20%">{gettext('Expiration')}</th> <th width="20%">{gettext('Expiration')}</th>
<th width="18%">{gettext('Accepted')}</th> <th width="18%">{gettext('Accepted')}</th>
<th width="7%"></th> <th width="7%"></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{invitationsListItems} {invitationsListItems}
</tbody> </tbody>
</Table> </Table>
); );
} }
} }
@@ -191,7 +189,7 @@ class InvitationsView extends React.Component {
<div className="message empty-tip"> <div className="message empty-tip">
<h2>{gettext('You have not invited any people.')}</h2> <h2>{gettext('You have not invited any people.')}</h2>
</div> </div>
) );
} }
handlePermissionDenied = () => { handlePermissionDenied = () => {
@@ -200,7 +198,7 @@ class InvitationsView extends React.Component {
<div className="error mt-6 text-center"> <div className="error mt-6 text-center">
<span>{this.state.permissionDeniedMsg}</span> <span>{this.state.permissionDeniedMsg}</span>
</div> </div>
) );
} }
render() { render() {
@@ -240,4 +238,11 @@ class InvitationsView extends React.Component {
} }
} }
const InvitationsViewPropTypes = {
onShowSidePanel: PropTypes.func.isRequired,
onSearchedClick: PropTypes.func.isRequired,
};
InvitationsView.propTypes = InvitationsViewPropTypes;
export default InvitationsView; export default InvitationsView;

View File

@@ -3,9 +3,9 @@ import PropTypes from 'prop-types';
import { Link } from '@reach/router'; import { Link } from '@reach/router';
import Logo from '../../components/logo'; import Logo from '../../components/logo';
import { gettext, siteRoot, isPro, isDefaultAdmin, canViewSystemInfo, canViewStatistic, import { gettext, siteRoot, isPro, isDefaultAdmin, canViewSystemInfo, canViewStatistic,
canConfigSystem, canManageLibrary, canManageUser, canManageGroup, canViewUserLog, canConfigSystem, canManageLibrary, canManageUser, canManageGroup, canViewUserLog,
canViewAdminLog, constanceEnabled, multiTenancy, multiInstitution, sysadminExtraEnabled, canViewAdminLog, constanceEnabled, multiTenancy, multiInstitution, sysadminExtraEnabled,
enableGuestInvitation, enableTermsAndConditions, enableFileScan } from '../../utils/constants'; enableGuestInvitation, enableTermsAndConditions, enableFileScan } from '../../utils/constants';
const propTypes = { const propTypes = {
isSidePanelClosed: PropTypes.bool.isRequired, isSidePanelClosed: PropTypes.bool.isRequired,
@@ -27,7 +27,7 @@ class SidePanel extends React.Component {
<ul className="nav nav-pills flex-column nav-container"> <ul className="nav nav-pills flex-column nav-container">
{canViewSystemInfo && {canViewSystemInfo &&
<li className="nav-item"> <li className="nav-item">
<a className='nav-link ellipsis' href={siteRoot + "sysadmin/#dashboard/"}> <a className='nav-link ellipsis' href={siteRoot + 'sysadmin/#dashboard/'}>
<span className="sf2-icon-info" aria-hidden="true"></span> <span className="sf2-icon-info" aria-hidden="true"></span>
<span className="nav-text">{gettext('Info')}</span> <span className="nav-text">{gettext('Info')}</span>
</a> </a>
@@ -35,7 +35,7 @@ class SidePanel extends React.Component {
} }
{isPro && canViewStatistic && {isPro && canViewStatistic &&
<li className="nav-item"> <li className="nav-item">
<a className='nav-link ellipsis' href={siteRoot + "sys/statistic/file/"}> <a className='nav-link ellipsis' href={siteRoot + 'sys/statistic/file/'}>
<span className="sf2-icon-histogram" aria-hidden="true"></span> <span className="sf2-icon-histogram" aria-hidden="true"></span>
<span className="nav-text">{gettext('Statistic')}</span> <span className="nav-text">{gettext('Statistic')}</span>
</a> </a>
@@ -43,7 +43,7 @@ class SidePanel extends React.Component {
} }
{isDefaultAdmin && {isDefaultAdmin &&
<li className="nav-item"> <li className="nav-item">
<a className='nav-link ellipsis' href={siteRoot + "sysadmin/#desktop-devices/"}> <a className='nav-link ellipsis' href={siteRoot + 'sysadmin/#desktop-devices/'}>
<span className="sf2-icon-monitor" aria-hidden="true"></span> <span className="sf2-icon-monitor" aria-hidden="true"></span>
<span className="nav-text">{gettext('Devices')}</span> <span className="nav-text">{gettext('Devices')}</span>
</a> </a>
@@ -51,7 +51,7 @@ class SidePanel extends React.Component {
} }
{constanceEnabled && canConfigSystem && {constanceEnabled && canConfigSystem &&
<li className="nav-item"> <li className="nav-item">
<a className='nav-link ellipsis' href={siteRoot + "sys/settings/"}> <a className='nav-link ellipsis' href={siteRoot + 'sys/settings/'}>
<span className="sf2-icon-cog2" aria-hidden="true"></span> <span className="sf2-icon-cog2" aria-hidden="true"></span>
<span className="nav-text">{gettext('Settings')}</span> <span className="nav-text">{gettext('Settings')}</span>
</a> </a>
@@ -59,7 +59,7 @@ class SidePanel extends React.Component {
} }
{canManageLibrary && {canManageLibrary &&
<li className="nav-item"> <li className="nav-item">
<a className='nav-link ellipsis' href={siteRoot + "sysadmin/#all-libs/"}> <a className='nav-link ellipsis' href={siteRoot + 'sysadmin/#all-libs/'}>
<span className="sf2-icon-library" aria-hidden="true"></span> <span className="sf2-icon-library" aria-hidden="true"></span>
<span className="nav-text">{gettext('Libraries')}</span> <span className="nav-text">{gettext('Libraries')}</span>
</a> </a>
@@ -67,7 +67,7 @@ class SidePanel extends React.Component {
} }
{canManageUser && {canManageUser &&
<li className="nav-item"> <li className="nav-item">
<a className='nav-link ellipsis' href={siteRoot + "sys/useradmin/"}> <a className='nav-link ellipsis' href={siteRoot + 'sys/useradmin/'}>
<span className="sf2-icon-user" aria-hidden="true"></span> <span className="sf2-icon-user" aria-hidden="true"></span>
<span className="nav-text">{gettext('Users')}</span> <span className="nav-text">{gettext('Users')}</span>
</a> </a>
@@ -75,7 +75,7 @@ class SidePanel extends React.Component {
} }
{canManageGroup && {canManageGroup &&
<li className="nav-item"> <li className="nav-item">
<a className='nav-link ellipsis' href={siteRoot + "sysadmin/#groups/"}> <a className='nav-link ellipsis' href={siteRoot + 'sysadmin/#groups/'}>
<span className="sf2-icon-group" aria-hidden="true"></span> <span className="sf2-icon-group" aria-hidden="true"></span>
<span className="nav-text">{gettext('Groups')}</span> <span className="nav-text">{gettext('Groups')}</span>
</a> </a>
@@ -83,7 +83,7 @@ class SidePanel extends React.Component {
} }
{isPro && canManageGroup && {isPro && canManageGroup &&
<li className="nav-item"> <li className="nav-item">
<a className='nav-link ellipsis' href={siteRoot + "sysadmin/#address-book/"}> <a className='nav-link ellipsis' href={siteRoot + 'sysadmin/#address-book/'}>
<span className="sf2-icon-organization" aria-hidden="true"></span> <span className="sf2-icon-organization" aria-hidden="true"></span>
<span className="nav-text">{gettext('Departments')}</span> <span className="nav-text">{gettext('Departments')}</span>
</a> </a>
@@ -91,7 +91,7 @@ class SidePanel extends React.Component {
} }
{multiTenancy && isDefaultAdmin && {multiTenancy && isDefaultAdmin &&
<li className="nav-item"> <li className="nav-item">
<a className='nav-link ellipsis' href={siteRoot + "sys/orgadmin/"}> <a className='nav-link ellipsis' href={siteRoot + 'sys/orgadmin/'}>
<span className="sf2-icon-organization" aria-hidden="true"></span> <span className="sf2-icon-organization" aria-hidden="true"></span>
<span className="nav-text">{gettext('Organizations')}</span> <span className="nav-text">{gettext('Organizations')}</span>
</a> </a>
@@ -99,7 +99,7 @@ class SidePanel extends React.Component {
} }
{multiInstitution && isDefaultAdmin && {multiInstitution && isDefaultAdmin &&
<li className="nav-item"> <li className="nav-item">
<a className='nav-link ellipsis' href={siteRoot + "sys/instadmin/"}> <a className='nav-link ellipsis' href={siteRoot + 'sys/instadmin/'}>
<span className="sf2-icon-organization" aria-hidden="true"></span> <span className="sf2-icon-organization" aria-hidden="true"></span>
<span className="nav-text">{gettext('Institutions')}</span> <span className="nav-text">{gettext('Institutions')}</span>
</a> </a>
@@ -107,7 +107,7 @@ class SidePanel extends React.Component {
} }
{isDefaultAdmin && {isDefaultAdmin &&
<li className="nav-item"> <li className="nav-item">
<a className='nav-link ellipsis' href={siteRoot + "sys/notificationadmin/"}> <a className='nav-link ellipsis' href={siteRoot + 'sys/notificationadmin/'}>
<span className="sf2-icon-msgs" aria-hidden="true"></span> <span className="sf2-icon-msgs" aria-hidden="true"></span>
<span className="nav-text">{gettext('Notifications')}</span> <span className="nav-text">{gettext('Notifications')}</span>
</a> </a>
@@ -115,7 +115,7 @@ class SidePanel extends React.Component {
} }
{isDefaultAdmin && {isDefaultAdmin &&
<li className="nav-item"> <li className="nav-item">
<a className='nav-link ellipsis' href={siteRoot + "sys/publinkadmin/"}> <a className='nav-link ellipsis' href={siteRoot + 'sys/publinkadmin/'}>
<span className="sf2-icon-link" aria-hidden="true"></span> <span className="sf2-icon-link" aria-hidden="true"></span>
<span className="nav-text">{gettext('Links')}</span> <span className="nav-text">{gettext('Links')}</span>
</a> </a>
@@ -123,7 +123,7 @@ class SidePanel extends React.Component {
} }
{sysadminExtraEnabled && canViewUserLog && {sysadminExtraEnabled && canViewUserLog &&
<li className="nav-item"> <li className="nav-item">
<a className='nav-link ellipsis' href={siteRoot + "sys/loginadmin/"}> <a className='nav-link ellipsis' href={siteRoot + 'sys/loginadmin/'}>
<span className="sf2-icon-clock" aria-hidden="true"></span> <span className="sf2-icon-clock" aria-hidden="true"></span>
<span className="nav-text">{gettext('Logs')}</span> <span className="nav-text">{gettext('Logs')}</span>
</a> </a>
@@ -131,7 +131,7 @@ class SidePanel extends React.Component {
} }
{isPro && isDefaultAdmin && enableFileScan && {isPro && isDefaultAdmin && enableFileScan &&
<li className="nav-item"> <li className="nav-item">
<Link className='nav-link ellipsis' to={siteRoot + "sys/file-scan-records/"}> <Link className='nav-link ellipsis' to={siteRoot + 'sys/file-scan-records/'}>
<span className="sf2-icon-security" aria-hidden="true"></span> <span className="sf2-icon-security" aria-hidden="true"></span>
<span className="nav-text">{gettext('File Scan')}</span> <span className="nav-text">{gettext('File Scan')}</span>
</Link> </Link>
@@ -139,7 +139,7 @@ class SidePanel extends React.Component {
} }
{isPro && isDefaultAdmin && {isPro && isDefaultAdmin &&
<li className="nav-item"> <li className="nav-item">
<a className='nav-link ellipsis' href={siteRoot + "sys/virus_scan_records/"}> <a className='nav-link ellipsis' href={siteRoot + 'sys/virus_scan_records/'}>
<span className="sf2-icon-security" aria-hidden="true"></span> <span className="sf2-icon-security" aria-hidden="true"></span>
<span className="nav-text">{gettext('Virus Scan')}</span> <span className="nav-text">{gettext('Virus Scan')}</span>
</a> </a>
@@ -147,7 +147,7 @@ class SidePanel extends React.Component {
} }
{enableGuestInvitation && isDefaultAdmin && {enableGuestInvitation && isDefaultAdmin &&
<li className="nav-item"> <li className="nav-item">
<a className='nav-link ellipsis' href={siteRoot + "sys/invitationadmin/"}> <a className='nav-link ellipsis' href={siteRoot + 'sys/invitationadmin/'}>
<span className="sf2-icon-invite" aria-hidden="true"></span> <span className="sf2-icon-invite" aria-hidden="true"></span>
<span className="nav-text">{gettext('Invitations')}</span> <span className="nav-text">{gettext('Invitations')}</span>
</a> </a>
@@ -155,7 +155,7 @@ class SidePanel extends React.Component {
} }
{isDefaultAdmin && enableTermsAndConditions && {isDefaultAdmin && enableTermsAndConditions &&
<li className="nav-item"> <li className="nav-item">
<a className='nav-link ellipsis' href={siteRoot + "sys/termsadmin/"}> <a className='nav-link ellipsis' href={siteRoot + 'sys/termsadmin/'}>
<span className="sf2-icon-wiki" aria-hidden="true"></span> <span className="sf2-icon-wiki" aria-hidden="true"></span>
<span className="nav-text">{gettext('Terms and Conditions')}</span> <span className="nav-text">{gettext('Terms and Conditions')}</span>
</a> </a>
@@ -163,7 +163,7 @@ class SidePanel extends React.Component {
} }
{isPro && canViewAdminLog && {isPro && canViewAdminLog &&
<li className="nav-item"> <li className="nav-item">
<a className='nav-link ellipsis' href={siteRoot + "sysadmin/#admin-operation-logs/"}> <a className='nav-link ellipsis' href={siteRoot + 'sysadmin/#admin-operation-logs/'}>
<span className="sf2-icon-admin-log" aria-hidden="true"></span> <span className="sf2-icon-admin-log" aria-hidden="true"></span>
<span className="nav-text">{gettext('Admin Logs')}</span> <span className="nav-text">{gettext('Admin Logs')}</span>
</a> </a>